關於STM32F103+CH395Q網絡芯片開發所遇到的問題總結


在一次項目開發中需要使用到CH395Q網絡芯片來連接網口進行數據處理,在設計過程中可謂是問題不斷:

 1、CH395Q初始化問題:該芯片的初始化值得注意的是硬件上的鏈接,本人使用的是SPI通訊方式,在下載官方測試程序后芯片死活無法初始化,

   后經查閱資料發現,在SPI通訊方式下芯片的RSTI引腳和TX引腳都需要與單片機進行連接並執行相關操作(具體可詳見附件文檔)。補齊引腳后

  能夠實現芯片的初始化,但在if(CH395CMDGetPHYStatus() == PHY_DISCONN) 處一致顯示網絡鏈接斷開,排除了軟件問題后,經檢查是網口

  沒有接電壓轉換芯片,以及在四根高頻信號線上接了濾波電容。去除以上故障后PC機與芯片能ping通。

 2、通過例程將CH395設置為服務器模式后,調試發現服務器在客戶端連接一次斷開連接后就無法再次連接。通過查閱官方手冊,發現通過開啟

  多連接的方式可以解決該問題。但由於需求指定要求不能有多台設備連接,因此從這之后開始毫無頭緒。通過CH395TCPDisconnect函數觀察

  TCP斷開時的狀態,發現TCP斷開連接時Socket竟然自動關閉了。於是在斷開中斷中使用CH395SocketInitOpen對Socket重新打開后解決了該問題。

 3、連續發送多個數據幀的時候數據幀丟失:具體情況表現為,連續發送22幀數據,但是能夠接收到的只有第一幀和最后一幀,查閱了手冊后發現連續發送多幀數據時需要等待發送緩沖區空閑

在Socket空閑中斷內對循環數據進行累加,即只有空閑狀態下才會發送數據,此操作后解決了該問題現象

 

 

 

 

 

 

 

 

 

 

資料鏈接:鏈接:https://pan.baidu.com/s/1XCvHOOrycYX3sDiF-xcN2A
提取碼:0trj

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM