Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 2 of 2

Thread: Questions about W5500 and Wiz850io

  1. #1

    Questions about W5500 and Wiz850io


    I'm working on creating an artnet controller based on teensy 3.2 and Wiz850io for ws2813 leds.

    Since the packets artnet send can be huge, I'd like to increase the buffer size of the W5500 to it's maximum when using a single socket.
    So I tried to do the same as what have been done here:

    E.g. set MAX_SOCK_NUM to 1 and #define W5200_16K_BUFFERS with the according branching.

    The modifications are done here
    #define W5500_16K_BUFFERS
    // ...
    } else if (isW5500()) {
    	CH_BASE = 0x1000;
    	#ifdef W5500_16K_BUFFERS
    	SSIZE = 16384;     // 16K buffers and MAX_SOCK_NUM = 1
    	#ifdef W5500_4K_BUFFERS
    	SSIZE = 4096;    // 4K buffers
    	SMASK = SSIZE-1;
    	TXBUF_BASE = 0x8000;
    	RXBUF_BASE = 0xC000;
    	for (i=0; i<MAX_SOCK_NUM; i++) {
    		writeSnRX_SIZE(i, SSIZE >> 10);
    		writeSnTX_SIZE(i, SSIZE >> 10);
    	for (; i<8; i++) {
    		writeSnRX_SIZE(i, 0);
    		writeSnTX_SIZE(i, 0);
    But the performances are pretty bad (worse than 4K buffer).

    I also set the speed of the SPI clock to 30MHz. (see:

    I tried with a Wiz820io (W5200 based) and the modification of the pull request is working OK.

    So what would be the code to handle 16K buffers with the W5500?

    And I also see on the W5500 docs, that it is able to handle SPI at 80MHz, is it feasible with teensy?


    You can see my custom artnet controler in action with madmapper here


  2. #2
    Senior Member+ manitou's Avatar
    Join Date
    Jan 2013
    Last edited by manitou; 12-19-2017 at 08:10 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts