999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DM9000網口芯片的DSP6713B網口擴展

2012-06-25 03:31:30文張斌陳志華
電視技術 2012年4期

文張斌,陳志華

(暨南大學 信息技術研究所,廣東 廣州 510075)

目前,設備網絡化已經成為業內所達成共識的、必然的趨勢,隨著硬件接入網絡被廣泛重視,大量高端的硬件板基本上都具備自帶的網口功能,很多成熟的開發板都已具備了網口功能。然而,DSP6713B沒有自帶的以太網功能,所以需要擴展網口來實現以太網的連接?,F在被廣泛用作網口擴展的芯片有DM9000,RTL8019等,相關資料也非常多。該設計為了解決DSP6713B沒有自帶網口的問題,結合DM9000廣泛使用于網口擴展的情況,提出一種采用DM9000網口驅動芯片作為網口的底層硬件來實現TCP/IP物理層的方案,并且使用LWIP協議作為網口通信協議,最終實現了DSP網口功能擴展[1-2]。

1 DM9000網口芯片介紹

1.1 DM9000功能簡介

DM9000是一款完全集成并符合成本效益單芯片快速以太網MAC控制器與一般處理接口,1個10/100 M自適應的PHY和4 K DWORD值的SRAM。

DM9000支持8位、16位和32位接口訪問內部存儲器,以支持不同的處理器。DM9000物理協議層接口完全支持使用10 Mbit/s下3類、4類、5類非屏蔽雙絞線和100 Mbit/s下5類非屏蔽雙絞線。這是完全符合IEEE 802.3u規格。它的自動協調功能將自動完成配置以最大限度地適合其線路帶寬。

1.2 DM9000與DSP6713B硬件連接

DM9000與DSP連接如圖1所示。DM9000需要控制的主要引腳有:IOR、IOW、AEN、CMD(SA2)、INT、RST,數據線SD0~SD15(此處數據以16位傳輸)和地址線SA4~SA9。IOR和IOW分別為讀寫引腳,低電平可以讀寫;AEN為DM9000選通引腳,此處只用到1個DM9000芯片,直接將AEN管腳接低電平,DM9000工作的默認基地址為0x300,按照默認地址選擇,將SA9與SA8接高電平,SA7~SA4接低電平,從而直接選通了DM9000芯片;CMD為命令/數據切換引腳,低電平時讀寫命令操作,高電平時讀寫數據操作,將CMD與DSP的EA2地址線連接;INT為中斷信號輸出引腳,與DSP的INT5中斷信號線連接,低電平時有中斷信號;IOR為讀命令控制線,與DSP的AOE讀命令控制線連接;IOW為寫命令控制線,與DSP的AWE寫命令控制線連接;RST為復位信號引腳,與DSP的GP[0]管腳連接;SD0~SD15數據線與DSP的數據線ED0~ED15連接。

1.3 DM9000初始化

首先,將DM9000控制讀寫命令基地址ADDR_BASE在DSP地址空間映射為0xB0000300,由于DSP的EA2地址管腳控制CMD,所以DM9000控制讀寫數據基址DA?TA_BASE在DSP地址空間映射為0xB0000302。確定了DM9000控制讀寫數據和命令的基址之后,接下來就是編寫DM9000的驅動程序,有2個函數需要完成,讀寄存器數據函數REG_read(uint8 reg)和寫寄存器函數REG_write(uint8 reg,uint16 writedata),其中reg為相對于ADDR_BASE的偏移量,要寫入ADDR_BASE地址中去,writedata是寄存器要寫入的數據,要寫入DATA_BASE數據基址中去。

DM9000初始化第一步就是要使DM9000的硬件初始化,DSP的GP[0]控制DM9000的RST,RST低電平可以使硬件復位,要求保持RST低電平時間大于20 μs。第二步,DM9000還需要2次軟復位,往DM9000的NCR寄存器寫入要求值即可實現DM9000軟復位。第三步,設置DM9000收發模式和開中斷,最后設置DM9000的MAC地址,從而整個DM9000的初始化完成,進行收發數據。

1.4 DM9000發送和接收數據控制

DM9000是發送和接收數據的底層硬件,因此,要實現數據與網絡接口的傳輸,就必須實現發送和接收函數的編寫,而發送和接收函數也是底層硬件與上層應用程序的接口。

1.4.1 發送函數sendpacket()流程圖

DM9000發送函數流程圖如圖2所示。

1.4.2 接收函數recepacket()流程圖

DM9000從網絡中接到1個數據包后,會在數據包前面加上4個字節,分別為“01H”(同MRCMDX的值)、“status”(同RSR寄存器的值)、“LENL”(數據包長度低8位)、“LENH”(數據包長度高8位)。整個接收過程如圖3所示。

圖2 DM9000發送函數流程圖

圖3 DM9000接收函數流程圖

2 LWIP協議的移植

LWIP協議是1個開源的TCP/IP協議,它把整個TCP/IP協議封裝好,并且提供用戶移植需要的操作系統模擬層接口和用戶使用LWIP協議的API接口,該協議代碼占用內存空間小,提供明確的操作系統模擬層移植說明,已經被廣泛運用,且該協議支持不帶操作系統直接使用,大大降低了移植難度。

LWIP協議移植必須完成底層操作系統模擬層與底層硬件的接口,這樣才能讓LWIP協議真正運行起來。然而要完成LWIP協議模擬層與硬件的通信,就必須實現4個重要函數:網口芯片的初始化函數,數據接收函數,發送函數和網口中斷函數。

該設計使用DM9000作為網口芯片,上文已經詳細介紹了DM9000網口芯片的初始化、發送和接收函數的實現。需要把發送函數sendpacket()和接收函數進行部分改動recepacket()。首先,對于發送函數,LWIP中的發送數據存放在pbuf*p的p->payload中,所以發送的數據就是p->payload,而且發送數據p->payload是已經封裝好的MAC幀,然后把生成的MAC幀發送出去;對于接收函數,也是先把接收到得數據存放在p->payload,然后LWIP會自動處理這些數據。

初始化函數ethernetinit()。首先,需要初始化LWIP,然后初始化DM9000芯片。LWIP初始化需要netif->state數據狀態,netif->name以太網名,netif->output輸出函數,netif->linkoutput連接函數。

網口中斷函數需要處理的有發送中斷處理、接收中斷處理和出錯處理,一般出錯的時候直接丟包不做處理,發送時調用發送函數,接收時調用接收函數。

3 系統仿真測試

3.1 ARP測試

ARP分組格式圖如圖4所示。

ARP協議是地址解析協議,主要是通過目標IP查詢得到目標MAC地址的協議。首先,已知目標IP,然后向網絡發送1個ARP分組報文,如果目標IP收到報文,則發送1個ARP回文,從回文中便可得到目標IP的MAC地址。

現在直接把ARP請求報文放在1個數組中,然后調用sendpacket()發送函數,直接把ARP報文發送出去,然后等待ARP回文,收到回文就會調用中斷函數,并把接收到的ARP回報存放在0x20001000地址開始的地址空間。仿真結果如圖5所示。仿真結果顯示,回文中的目標IP地址192.168.1.25,對應的MAC地址為0x00,0x14,0x97,0xf0,0x07,0x24,該回文是從 MAC 地址為 0x6c,0xf0,0x49,0x92,0xb4,0x32,對 應 IP 地 址 為192.168.1.26,整個ARP地址解析過程說明DM9000芯片初始化正確,接收和發送函數也能夠正常工作。

3.2 LWIP協議TCP/IP通信測試

整個系統設計流程圖如圖6所示。首先,DSP6713B初始化,DSP的初始化主要是完成PLL時鐘,EMIF外部存儲器接口初始化和中斷初始化,PLL時鐘為DSP內核和外部存儲器接口提供工作時鐘,EMIF外部存儲器接口的初始化主要是設定外部存儲器的類型、工作模式和讀寫時序;其次,DM9000初始化,主要是設置DM9000的復位,工作模式和中斷的初始化;LWIP的初始化,主要是初始化LWIP的操作系統模擬層接口,實現LWIP與底層硬件的通信。整個系統的初始化完成。

建立1個TCP連接用來測試系統設計的效果。首先設置好本機的MAC地址,MAC地址在DM9000上面有標明,這個是DM9000的固定MAC地址,不能自己更改;然后設置IP地址,網關和子網掩碼,這幾個參數應依據使用的局域網設置;開啟1個TCP通道,綁定到本地端口60023,端口號就代表著1個TCP線程,然后偵聽TCP連接,與DSP建立TCP連接后,PC機向DSP發送字符串“LWIP”,如果PBUF的payload中成功接收該字符串,則DSP向PC機發送字符串“TCP TEST IS OK”。實驗仿真結果如圖7和圖8所示。

DSP硬件板作為服務器,服務器IP地址為192.168.1.25,服務器端口為60023,PC機作為客戶端,打開網絡調試助手,如圖8設置,然后單擊連接,就能夠把PC機和DSP硬件板連接上,往發送區填入發送數據LWIP(16進制為0x5049574c)。從圖7可以看到LWIP數據存儲PBUF中的payload已經接收到了0x5049574c,在確定接收數據為0x5049574c后,DSP向PC發送字符串“TCP TEST IS OK”,在圖8網絡調試助手的接收區可以看到顯示接收到來自IP地址192.168.1.25的數據“TCP TEST IS OK”,TCP通信測試成功,表示DSP網口擴展成功[3-4]。

4 結束語

針對DSP6713B沒有自帶網口功能,提出了基于DM9000網口擴展芯片擴展網口的方法。該設計詳細地分析了DM9000初始化過程,指出DM9000發送和接收函數需要解決的問題和實現的具體過程,并且把DM9000網口芯片作為LWIP網口通信協議的驅動底層,實現了LWIP協議操作系統模擬層接口并最終實現LWIP協議的移植。采用TCP通信測試整個系統的功能,并最終實現了DSP與PC機的TCP通信,整個設計穩定、可靠,能夠有效地運用在現實的網口功能上,具有很好的市場前景。

[1]張翠,鄧志良.LWIP協議棧在μC/OS-II上的移植和應用[J].微計算機信息,2010,26(3):84-86.

[2]李國輝,范科峰.基于ARM+DM9000的TCP/IP協議棧的移植與實現[J].電子科技,2008,21(6):66-69.

[3]袁安富,夏生鳳.基于ARM和Linux的DM9000網絡接口設計及驅動實現[J].計算機工程與科學,2011,33(2):27-31.

[4]胡俐蕊.基于LWIP的μC/OS-II網絡應用程序設計方法[J].計算機應用與軟件,2010,19(1):145-148.

主站蜘蛛池模板: 国产精品久久精品| 毛片免费在线| 一级毛片免费播放视频| 首页亚洲国产丝袜长腿综合| 九色综合伊人久久富二代| 亚洲欧美在线看片AI| 成人韩免费网站| 亚洲精品高清视频| 国产福利在线免费观看| 99爱在线| 日韩国产无码一区| 国产精品xxx| 国产欧美日韩在线一区| 精品国产自在在线在线观看| 国产成人毛片| 亚洲日本中文综合在线| 日韩国产 在线| 九九免费观看全部免费视频| 久久久久亚洲Av片无码观看| 在线va视频| 国产一区亚洲一区| 亚洲视频色图| 亚洲一区二区三区在线视频| 在线免费a视频| 直接黄91麻豆网站| 无码精油按摩潮喷在线播放 | 九九九精品成人免费视频7| 亚洲视频黄| 亚洲侵犯无码网址在线观看| 久久99国产乱子伦精品免| 波多野结衣一区二区三区四区视频 | 91欧洲国产日韩在线人成| 精品视频91| 伊人久久综在合线亚洲91| 亚洲黄色激情网站| 精品国产香蕉伊思人在线| 亚洲综合中文字幕国产精品欧美 | 欧美一区中文字幕| 极品私人尤物在线精品首页| 999精品色在线观看| 亚洲高清在线播放| 欧美日韩另类在线| 中文字幕免费视频| 超清无码熟妇人妻AV在线绿巨人| 国产门事件在线| 毛片手机在线看| 国产av无码日韩av无码网站| 51国产偷自视频区视频手机观看| 国产超薄肉色丝袜网站| 99这里精品| 2048国产精品原创综合在线| 狠狠做深爱婷婷久久一区| 97久久人人超碰国产精品| 日韩欧美在线观看| 97国产精品视频人人做人人爱| 亚洲无码视频喷水| 99热线精品大全在线观看| 国产成人精品在线| 亚洲国产精品VA在线看黑人| A级毛片无码久久精品免费| 日本成人精品视频| 中文字幕乱妇无码AV在线| 欧美成人午夜视频免看| 欧美黄网在线| 久久久精品久久久久三级| 亚洲AV免费一区二区三区| 欧美性天天| 91福利一区二区三区| 国产99视频在线| 亚洲美女AV免费一区| 天天综合天天综合| 亚洲AⅤ波多系列中文字幕| 国产一在线| 亚洲国模精品一区| 欧美色综合网站| 国产丝袜无码一区二区视频| 一级做a爰片久久毛片毛片| 伊大人香蕉久久网欧美| 免费精品一区二区h| 秋霞一区二区三区| 国产九九精品视频| 九九九久久国产精品|