新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM微處理器TCP/IP協(xié)議棧LwlP實(shí)現(xiàn)

基于ARM微處理器TCP/IP協(xié)議棧LwlP實(shí)現(xiàn)

作者: 時(shí)間:2014-01-08 來源:網(wǎng)絡(luò) 收藏


  CS8900A初始化部分的主要內(nèi)容如下:

  軟件復(fù)位,并檢查復(fù)位完成標(biāo)志是否置位;
  設(shè)定Memory工作模式,使其4K內(nèi)存地址映射到主機(jī)內(nèi)存中;
  設(shè)定臨時(shí)使用的以太網(wǎng)物理地址,真實(shí)地址需要向權(quán)威機(jī)構(gòu)申請;
  設(shè)定接收幀的類型,至少要能接收廣播;
  確定數(shù)據(jù)的傳送方向,一般設(shè)為全雙工方式;
  中斷使能允許;
  使能接收中斷;
  確定CS8900A的中斷管腳號,根據(jù)硬件線路使用情況來確定;
  接收發(fā)送使能。
  其中需要說明的是由于TCP/IP通信非常頻繁,在ARM中接收發(fā)送數(shù)據(jù)采用中斷模式占用資源太多,因此本文采用的是查詢方式,也可以保證數(shù)據(jù)的基本通信。

  CS8900A的數(shù)據(jù)發(fā)送基本流程如下:在收到由主機(jī)發(fā)來的數(shù)據(jù)報(bào)后,偵聽網(wǎng)絡(luò)線路。如果線路忙,它就等到線路空閑為止,否則,立即發(fā)送該數(shù)據(jù)幀。發(fā)送過程中,首先,它添加以太網(wǎng)幀頭(包括先導(dǎo)字段和幀開始標(biāo)志),然后,生成CRC校驗(yàn)碼,最后,將此數(shù)據(jù)幀發(fā)送到以太網(wǎng)上。數(shù)據(jù)發(fā)送流程圖如圖3所示。

  數(shù)據(jù)接收時(shí),它將從以太網(wǎng)收到的數(shù)據(jù)幀在經(jīng)過解碼、去掉幀頭和地址檢驗(yàn)等步驟后緩存在片內(nèi)。在CRC校驗(yàn)通過后,它會(huì)根據(jù)初始化配置情況,通知主機(jī)CS8900A收到了數(shù)據(jù)幀,然后傳到主機(jī)的存儲(chǔ)區(qū)中。數(shù)據(jù)接收流程圖如圖4所示。

基于ARM微處理器TCP/IP協(xié)議棧LwlP實(shí)現(xiàn)

  4 上層Socket基本通信實(shí)現(xiàn)

  LwIP已經(jīng)實(shí)現(xiàn)了大部分的Socket網(wǎng)絡(luò)連接函數(shù),我們要實(shí)現(xiàn)Socket,的基本通信,只需要在此基礎(chǔ)上通過調(diào)用其Socket網(wǎng)絡(luò)連接函數(shù)實(shí)現(xiàn)簡單的客戶機(jī)/服務(wù)器模式即可。儀器作為服務(wù)器方,主機(jī)作為客戶機(jī)進(jìn)行連接。實(shí)現(xiàn)結(jié)果如圖5所示,發(fā)送程控命令FREQ 300,返回FREQ 300.000000MHzOK表示設(shè)置成功。

基于ARM微處理器TCP/IP協(xié)議棧LwlP實(shí)現(xiàn)

  5 結(jié)束語

  本系統(tǒng)已經(jīng)在場強(qiáng)儀AV3942中使用,能夠通過網(wǎng)絡(luò)對其進(jìn)行遠(yuǎn)程控制,實(shí)踐證明,該系統(tǒng)簡便實(shí)用,能夠方便、靈活的實(shí)現(xiàn)各種通信系統(tǒng)的互聯(lián)。

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉