-
Notifications
You must be signed in to change notification settings - Fork 35
Maximum SPI clock support #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Looks like 8MHz is set here:
|
I set the baudrate from 8Mhz to 30Mhz. But it works at the same speed. |
How are you measuring the speed? |
In theory, the W5500 SPI max is 80 MHz. The Pico SPI max (as master) is 66.5MHz. But there are likely a variety of system constraints. For example, RAM is limited, so even if you get fast small bursts, it will be difficult to push much data through. On top of that, Python libraries and core C code handle several layers of the network stack and each will introduce their own performance constraints. Do you have a link to the loopback test code? |
sure, I tested it with this. |
What size packets is the client sending? I think you're just encountering system constraints. With overall ~50kHz using 8MHz SPI, it doesn't seem that SPI is the bottleneck. You could try instrumenting the sends and receives, vary the packet size, etc. You may find some combination that gives incremental improvement. But given 264kB of RAM, I think it would be difficult to take advantage of substantially higher speed - in an operational example, the data needs to be processed or saved to slower storage. |
The Client sends 100kbytes of packet and returns to receive data. |
Looking at the Pico SDK datasheet, SPI clock can be up to 100Mhz.

WIZnet5k_Lib uses 8Mhz, I want to operate at 30Mhz in Pico.
How to do this?
The text was updated successfully, but these errors were encountered: