本站小編為你精心準(zhǔn)備了千兆以太網(wǎng)接口設(shè)計(jì)論文參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
本方案中,千兆以太網(wǎng)通信接口的軟件設(shè)計(jì)主要是基于TI公司提供的嵌入式操作系統(tǒng)SYS/BIOS和TCP/IP網(wǎng)絡(luò)開發(fā)包NDK(NetworkDevelopment′sKit)來實(shí)現(xiàn)的。網(wǎng)絡(luò)開發(fā)包NDK是TI公司為本公司DSP的網(wǎng)絡(luò)程序開發(fā)提供的平臺,采用自頂向下、分層、模塊化的設(shè)計(jì)方法來支持TCP/IP協(xié)議,并占用較少的系統(tǒng)資源(對于常規(guī)的TCP/IP服務(wù),程序空間僅需200KB~250KB的程序空間,數(shù)據(jù)空間僅需95KB)。TCP/IP協(xié)議的體系結(jié)構(gòu)包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層以及物理層,對于NDK模型,網(wǎng)絡(luò)開發(fā)包NDK就實(shí)現(xiàn)了5層體系結(jié)構(gòu)中的傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層。圖3為TCP/IP模型與NDK模型的對比示意圖。
NDK通過編程接口與嵌入式操作系統(tǒng)SYS/BIOS以及底層硬件相互隔離。對于NDK而言,SYS/BIOS被抽象成一個操作系統(tǒng)適應(yīng)層(OSAdaptationLayer),底層硬件被抽象成一個硬件適應(yīng)層(HardwareAdaptationLay-er),它們的函數(shù)庫OS.LIB、HAL.LIB成為了NDK與SYS/BIOS以及底層硬件的接口。圖4為基于NDK與SYS/BIOS的通信接口軟件架構(gòu)圖。由圖4可以看出,NDK主要包含NETTOOL.LIB、STACK.LIB、OS.LIB、HAL.LIB、NETCTRL.LIB五個部分。(1)NETTOOL.LIB提供網(wǎng)絡(luò)服務(wù),包含NDK提供的基于網(wǎng)絡(luò)服務(wù)的所有套接字以及一些用于網(wǎng)絡(luò)應(yīng)用開發(fā)的附加工具。(2)STACK.LIB是主要的TCP/IP協(xié)議棧,提供了頂層(套接字層)至底層(以太網(wǎng)和PPP層)的所有功能。(3)OS.LIB提供與SYS/BIOS操作系統(tǒng)的接口。(4)HAL.LIB提供與底層硬件的接口。(5)NETCTRL.LIB控制TCP/IP協(xié)議棧與外界的交互,管理所有網(wǎng)絡(luò)事件、協(xié)調(diào)操作系統(tǒng)與硬件驅(qū)動,主要包括:①初始化TCP/IP協(xié)議棧和底層設(shè)備驅(qū)動;②啟動和維護(hù)系統(tǒng)配置(通過配置服務(wù)提供者的回調(diào)函數(shù));③連接底層設(shè)備驅(qū)動和安排驅(qū)動事件呼叫TCP/IP協(xié)議棧;④卸載系統(tǒng)配置和清除底層驅(qū)動。對于基于NDK與SYS/BIOS的通信接口的軟件架構(gòu),其實(shí)現(xiàn)主要分為三部分工作:(1)編制底層驅(qū)動程序。底層硬件驅(qū)動負(fù)責(zé)向TCP/IP協(xié)議棧提供具體的操作接口,用以控制以太網(wǎng)器件的配置和運(yùn)行,主要包括:初始化驅(qū)動環(huán)境,包括器件復(fù)位、中斷使能、存儲區(qū)數(shù)據(jù)訪問優(yōu)先級設(shè)定、器件枚舉和配置等;以太網(wǎng)數(shù)據(jù)包的接收和發(fā)送;監(jiān)測底層網(wǎng)絡(luò)器件狀態(tài),將事件信息反饋給協(xié)議棧;關(guān)閉驅(qū)動環(huán)境,并收回占用的系統(tǒng)資源。(2)在SYS/BIOS操作系統(tǒng)平臺上配置和運(yùn)行NDK的TCP/IP協(xié)議棧。CCS5.3提供了配置工具XGCONF來實(shí)現(xiàn)圖形化界面配置NDK,如圖5所示,傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層分別選用TCP、IP、EMAC協(xié)議,并對其作相關(guān)必要的配置,主要包括發(fā)送/接收窗口大小、IP地址、生存時間等內(nèi)容的配置。(3)開發(fā)用戶定制的網(wǎng)絡(luò)應(yīng)用程序。本方案中主要是完成接收上位機(jī)控制信息和發(fā)送結(jié)果信息這些操作,采用流式套接字(Socket)來實(shí)現(xiàn)。Socket是應(yīng)用層與TCP/IP協(xié)議簇通信的中間軟件抽象層,它是一組接口,把復(fù)雜的TCP/IP協(xié)議簇隱藏在其后面。對于用戶來說,一組簡單的Socket接口就是全部通信過程,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。
本設(shè)計(jì)中,選取DSP作為服務(wù)器,上位機(jī)作為客戶端。對于DSP端,先初始化一個監(jiān)聽Socket,然后與端口綁定(bind),并對端口進(jìn)行監(jiān)聽(listen),再調(diào)用accept阻塞,等待PC端連接。對于PC端,先初始化一個Sock-et,然后請求連接DSP端(connect),若此時DSP端正處于等待PC端連接狀態(tài),則DSP端接受此連接請求,于是,PC端與DSP端就成功建立起了連接。PC端發(fā)送數(shù)據(jù)請求,DSP端接收請求并處理請求,再把回應(yīng)數(shù)據(jù)發(fā)送給PC端,PC端讀取數(shù)據(jù),最后關(guān)閉連接,一次交互結(jié)束。DSP與上位機(jī)進(jìn)行Socket通信的具體過程如圖6所示。
2功能測試
為了測試本文設(shè)計(jì)的千兆以太網(wǎng)接口的可行性,PC端采用VC++的MFC來設(shè)計(jì)測試程序,測試程序主要實(shí)現(xiàn)對單通道正弦信號的采集、處理以及顯示等操作,測試界面如圖7所示。根據(jù)具體的設(shè)計(jì)需求,測試程序分為數(shù)據(jù)發(fā)送/接收和數(shù)據(jù)處理/顯示這兩個部分。其中,數(shù)據(jù)發(fā)送/接收部分通過Socket編程完成與DSP的收發(fā)數(shù)據(jù)包等通信過程,數(shù)據(jù)處理/顯示部分不僅能夠支持用戶對服務(wù)器端參數(shù)和控制參數(shù)的可配置,而且通過顯示接收到的正弦信號時域波形與頻譜圖,實(shí)現(xiàn)對PC端與DSP端通信的直觀體驗(yàn),同時更增加了本接口程序的可移植性與可擴(kuò)展性。通過測試可以發(fā)現(xiàn),正弦信號的時域波形圖與頻譜圖較為流暢,且穩(wěn)定性較高,能夠支持長時間穩(wěn)定可靠傳輸及顯示。
3結(jié)論
本文利用TMS320C6657內(nèi)部集成了千兆以太網(wǎng)接口模塊(EMAC、MDIO與SGMII),結(jié)合片外的PHY芯片88E1112以及簡單的外圍電路,提出了千兆以太網(wǎng)通信接口的軟硬件設(shè)計(jì)方案,實(shí)現(xiàn)了DSP與PC的網(wǎng)絡(luò)通信功能。測試結(jié)果顯示,該設(shè)計(jì)方案能夠?qū)崿F(xiàn)長時間穩(wěn)定可靠傳輸,同時,由于使用TI公司提供的NDK,降低了開發(fā)難度、縮短了開發(fā)周期,更便于擴(kuò)展與維護(hù)。目前,本設(shè)計(jì)方案已成功應(yīng)用到了無線電頻譜監(jiān)測接收機(jī)中,運(yùn)行狀況良好。
作者:吳向旭馮曉東王貴冬陳晶晶單位:重慶郵電大學(xué)3G動員中心通信技術(shù)創(chuàng)新團(tuán)隊(duì)