关于W5500/LAN8720与STM32以及与千兆交换机芯片通信的硬件、软件调试不通的问题
這次是滿滿的干貨,從硬件到軟件。
前提是,硬件電路基本是按照官方推薦的來,軟件也是官方的demo移植來的。
1、首先查看晶體是否起振。示波器應該可以看到一個直流偏置是1.5V左右、交流振幅大概在0.5V以內的25MHz的振蕩信號,波形不必太完美的正弦波即可。
2、檢查單片機與W5500之間的引腳是否是與程序中初始化的一致,包括使用的是哪個SPI口。SPI口的三個引腳的模式應該是AF_SPIx。推薦使用SPI1,主頻更高一些。SPI線較長的話,速率不推薦太高,單片機GPIO引腳的速率不宜設置為100MHz(容易導致SPI通信失敗,這是血的教訓),設置為50MHz即可。
3、W5500與千兆以太網芯片之間能不能連接?如何連?
? ? 答案是肯定的!肯定能連。一般千兆交換機芯片都支持引腳電平以及收發口自動翻轉功能,即MDIX。使用千兆交換機的前兩對兒引腳與W5500的TXP/N與RXP/N通信。推薦之間使用網絡變壓器,其實直連也行,但是得判斷是否是同類型的(同是電壓驅動還是電流驅動,如果不一致,兩側的電容隔離和電阻上拉需要根據原來接以太網口時候的匹配電路進行設計),但是穩妥起見,使用一個網絡變壓器即可,無需使用兩個網絡變壓器。
4、使用網絡調試助手接收UDP數據時,無法收到數據,除非先在電腦端發送一次才能行。
這種情況是因為電腦開啟了防火墻。需要將公共網絡的防火墻關掉,結果是立竿見影啊!!
5、調試千兆以太網芯片時,會出現不啟動的情況,排除原理性問題,看看是不是因為有電容電阻焊錯了。筆者就是因為一個2.49K的電阻錯焊成電容,導致MDIREF的電壓錯誤,千兆以太網芯片不動作,害人啊!搞了好幾天,都TM懷疑人生了。
目前,一切工作良好!連接公網也不怕,數據通信杠杠的!
6、當然,除了使用W5500之外,LNA8720也沒問題,就是需要移植LWIP內核,問題也不大。LWIP內核進行UDP通信時,為了和多個UDP的socket字通信,不能綁定目標地址,否則無法與多個套接字通信!!
滿滿的干貨,拿走不謝!如果幫到你了,麻煩回復一下,支持一下筆者。
總結
以上是生活随笔為你收集整理的关于W5500/LAN8720与STM32以及与千兆交换机芯片通信的硬件、软件调试不通的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中测试类的使用(用于更加便捷的测
- 下一篇: java基础--接口