基于A(yíng)RM微處理器TCP/IP協(xié)議棧LwlP實(shí)現
CS8900A初始化部分的主要內容如下:
軟件復位,并檢查復位完成標志是否置位;
設定Memory工作模式,使其4K內存地址映射到主機內存中;
設定臨時(shí)使用的以太網(wǎng)物理地址,真實(shí)地址需要向權威機構申請;
設定接收幀的類(lèi)型,至少要能接收廣播;
確定數據的傳送方向,一般設為全雙工方式;
中斷使能允許;
使能接收中斷;
確定CS8900A的中斷管腳號,根據硬件線(xiàn)路使用情況來(lái)確定;
接收發(fā)送使能。
其中需要說(shuō)明的是由于TCP/IP通信非常頻繁,在A(yíng)RM中接收發(fā)送數據采用中斷模式占用資源太多,因此本文采用的是查詢(xún)方式,也可以保證數據的基本通信。
CS8900A的數據發(fā)送基本流程如下:在收到由主機發(fā)來(lái)的數據報后,偵聽(tīng)網(wǎng)絡(luò )線(xiàn)路。如果線(xiàn)路忙,它就等到線(xiàn)路空閑為止,否則,立即發(fā)送該數據幀。發(fā)送過(guò)程中,首先,它添加以太網(wǎng)幀頭(包括先導字段和幀開(kāi)始標志),然后,生成CRC校驗碼,最后,將此數據幀發(fā)送到以太網(wǎng)上。數據發(fā)送流程圖如圖3所示。
數據接收時(shí),它將從以太網(wǎng)收到的數據幀在經(jīng)過(guò)解碼、去掉幀頭和地址檢驗等步驟后緩存在片內。在CRC校驗通過(guò)后,它會(huì )根據初始化配置情況,通知主機CS8900A收到了數據幀,然后傳到主機的存儲區中。數據接收流程圖如圖4所示。
LwIP已經(jīng)實(shí)現了大部分的Socket網(wǎng)絡(luò )連接函數,我們要實(shí)現Socket,的基本通信,只需要在此基礎上通過(guò)調用其Socket網(wǎng)絡(luò )連接函數實(shí)現簡(jiǎn)單的客戶(hù)機/服務(wù)器模式即可。儀器作為服務(wù)器方,主機作為客戶(hù)機進(jìn)行連接。實(shí)現結果如圖5所示,發(fā)送程控命令FREQ 300,返回FREQ 300.000000MHzOK表示設置成功。
本系統已經(jīng)在場(chǎng)強儀AV3942中使用,能夠通過(guò)網(wǎng)絡(luò )對其進(jìn)行遠程控制,實(shí)踐證明,該系統簡(jiǎn)便實(shí)用,能夠方便、靈活的實(shí)現各種通信系統的互聯(lián)。
tcp/ip相關(guān)文章:tcp/ip是什么
評論