我們從2016年開始零星使用395Q,當時是D版,做服務器時UDP丟包率超過50%(連發(fā)5個SNTP包),網(wǎng)絡端不定期失聯(lián)(SPI端沒問題),大約7天左右會出一次,斷電重啟才能恢復,基本沒法用,反應給貴司后回應可能2端數(shù)據(jù)處理沖突,正在想辦法解決。
?
2018年又撿起來試驗,目前版本F版,做UDP服務器時丟包率大約還有15%,有所改善,湊合能用,期間做了個維修用的設(shè)備,MACRAW方式LLC協(xié)議只發(fā)不收,現(xiàn)場24小時運行3個多月來挺好;
?
2019年繼續(xù)測試,這次同時使用socket 0和socket 3.
socket 3使用UDP協(xié)議客戶端發(fā)送SNTP包獲取時間,芯片硬復位后第一個發(fā)送的包必定丟失,返回超時,抓包軟件什么都看不到,后面正常,但是每次收發(fā)后都會多一個空中斷,就是全局中斷0x80套接字中斷0x00;
socket 0使用TCP長連接給服務器提供數(shù)據(jù),只發(fā)現(xiàn)每次收發(fā)有空中斷。
測試中發(fā)現(xiàn)網(wǎng)絡端仍然有失聯(lián)現(xiàn)象,發(fā)作時間最短10小時,最長15天,發(fā)作后收不到任何東西,恢復方法:1.斷電重啟 2.RESET腳復位 3.拔一下網(wǎng)線
?
以上都是實際應用中積累的記錄,不是特意建立的試驗環(huán)境。
國產(chǎn)通用協(xié)議棧目前只找到貴司有生產(chǎn),CH395比較適合我們小數(shù)據(jù)量使用,希望能完善發(fā)現(xiàn)的問題。
貼一些調(diào)試期間的狀態(tài)數(shù)據(jù),其中G是全局中斷寄存器,S是套接字中斷寄存器,S0/S1是套接字狀態(tài)寄存器。
CH395 Hardware Version = 46
IP = 192.168.1.177
IP Gateway = 192.168.1.1
IP Mask = 255.255.255.0
MAC = 84.C2.E4.F8.34.C1
G=80,S=41,TCP ready, S0=00, S1=00
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 18
TCP send len = 10
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 10
TCP send len = 34
G=10,S=01,G=10,S=00,G=10,S=02,G=10,S=04,TCP receive len = 18
TCP send len = 10
G=10,S=01,G=10,S=00,G=10,S=02,G=80,S=03,G=80,S=04,SNTP receive len = 48G=80,S=00,