公司擁有優秀的銷售團隊和專業的研發部門,不但在品牌、價格、供貨、服務等方面領先業界,而且可為客戶提供及時、可行的技術支持和整體設計服務,滿足不同客戶多層次需求。
如何提高W5100的通信速度
在很多應用領域都需要提高W5100與其它網絡設備(如PC機)的通信速度。理論上講,W5100的最大通信速度可以達到25Mbps,實際應用中,由于網絡的原因、CPU與W5100之間通信速度的原因等等,使W5100的網絡傳輸速度遠遠低于25Mbps。
這里拋開網絡速度的影響,談談如何提高W5100的網絡通信速度。
影響W5100的網絡通信速度的最大因素是CPU與W5100之間的通信速度。因此要提高W5100的網絡通信速度,必須提高CPU與W5100之間的通信速度。CPU與W5100之間的通信方式對W5100的網絡通信速度影響很大。直接總線的速度最快,間接總線的速度次之,SPI總線的速度最慢。
W5100發送數據的速度直接受CPU與W5100之間的通信速度影響。因此提高CPU與W5100之間的速度是提高W5100網絡發送數據的關鍵。
W5100接收數據的速度除了受CPU與W5100之間的通信速度影響外,還可以通過下面的方法提高數據的傳輸速度。
1. 在TCP方式(不管是客戶端還是服務器),將Sn_MR寄存器設置為:S_MR_TCP|S_MR_MC。選擇S_MR_MC的目的是當W5100接收到一個數據包后無延遲地回送一個ACK相應。在UDP模式下無效。
2. 將Socket的數據緩沖區擴大到4k或8k(這樣允許2個Socket工作或1個Socket工作),這樣接收到數據后,先讀取Sn_RX_RSR和Sn_RX_RR,重新計算Sn_RX_RR,然后發送對Sn_CR寄存器S_CR_RECV命令。完成上面的操作后再讀取數據。注意使用這種方法必須快速讀取W5100接收緩沖區的數據,否則W5100接收緩沖區的數據就可能被覆蓋。
通過以上方法的改進,我們在EVB-W5100/Cortex評估板上測試,極限通信速度可以達到23Mbps。(評估板上Cortex與W5100的接口采用間接總線,軟件模擬總線的訪問時序)。如果采用其它更快的CPU,這個速度還可以提高。