《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于NDK的DSP網絡設計
基于NDK的DSP網絡設計
來源:微型機與應用2013年第2期
周恒國,黃 方
(電子科技大學 資源與環境學院,四川 成都611731)
摘要: 針對TI的TMS320C6000系列DSP芯片網絡系統進行設計,對比OSI模型闡述了NDK的TCP/IP模型,并給出了網絡硬件接口設計。根據NDK結構模型,設計網絡軟件編程。對從事DSP網絡設計的人員有一定指導作用。
關鍵詞: DSP NDK TCP/IP STACK TMS320C6748
Abstract:
Key words :

摘  要: 針對TI的TMS320C6000系列DSP芯片網絡系統進行設計,對比OSI模型闡述了NDKTCP/IP模型,并給出了網絡硬件接口設計。根據NDK結構模型,設計網絡軟件編程。對從事DSP網絡設計的人員有一定指導作用。
關鍵詞: DSP;NDK;TCP/IP;STACK

    由于網絡的高速發展,嵌入式平臺上的網絡通信已經成為一個必要的通信模塊。TI公司( Texas Instruments)的C6000系列DSP芯片有很多都在其片上集成了以太網接口,如TMS320C6747、TMS320C6748等。結合配套的TCP/IP協議棧,可使基于數字信號處理技術的因特網終端的網絡連接成本降低50%以上。而此協議棧與NDK(Network Developer's Kit)結合在一起使用,可以縮短軟件開發周期。
    本文針對TMS320C6748芯片,對其網絡硬件進行設計,并基于NDK進行網絡軟件設計。
1 網絡模型
    國際標準化組織(ISO)于20世紀70年代提出了開放式通信系統互聯參考模型OSI(Open System Interconnection Reference Model),旨在使各種計算機在世界范圍內互聯的網絡標準框架。它劃分為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層7個層次。物理層定義了所有電子及物理設備的規范,其中特別定義了設備與物理媒介之間的關系,包括了針腳、電壓、線纜規范、集線器、中繼器、網卡、主機適配器(在SAN中使用的主機適配器)以及其他設備的設計定義; 數據鏈路層的功能在于管理物理層的比特數據,并且將正確的數據傳送到沒有傳輸錯誤的路線中;網絡層為數據傳送的目的地尋址,再選擇出傳送數據的最佳路線;傳輸層用于控制數據流量,并且進行調試及錯誤處理,以確保通信順利。而傳送端的傳輸層會為分組加上序號,方便接收端把分組重組為有用的數據或文件;會話層用于為通信雙方制定通信方式,并創建、注銷會話(雙方通信);表示層能為不同的客戶端提供數據和信息的語法轉換內碼,使系統能解讀成正確的數據。同時,也能提供壓縮解壓、加密解密;應用層能與應用程序界面溝通,以達到展示給用戶的目的,常見的協定有HTTP、HTTPS、FTP、TELNET、SSH、SMTP和POP3等。
    OSI是一個定義良好的協議規范集,但過于龐大復雜。因此,DARPA(Defense Advanced Research Projects Agency)開發了TCP/IP模型,它采用更少的層(主要是把應用層、表示層、會話層合并為應用層),更適應現實的協議。OSI模型與TCP/IP模型對比如圖1所示。

2 硬件設計
2.1 模塊介紹

    TMS320C6748的網絡模塊主要包括EMAC控制模塊、EMAC模塊和MDIO模塊,其網絡功能模塊圖如圖2所示。

    EMAC控制模塊是設備處理器與EMAC、MDIO模塊之間的主要接口,它控制網絡設備的中斷并采用8 KB的內部RAM來容納EMAC緩沖區描述符(CPPIRAM)。
    MDIO模塊的全稱是數據輸入/輸出管理模塊(Management Data Input/Output Module),采用802.3串行管理接口來查詢和控制多達32個使用共享雙總線的以太網PHY設備。主機軟件通過MDIO模塊配置每個基于EMAC模塊的物理層自適應參數,檢索自適應參數的值,并且配置使EMAC模塊正常運作的參數。概括地說,MDIO模塊負責管理與EMAC相連的所有PHY芯片,包括對PHY芯片進行枚舉、配置和器件狀態檢測等。
    EMAC模塊的全稱是以太網媒體訪問控制模塊(Ethernet Media Access Controller Module),它提供處理器與網絡之間的高效接口,負責以太網數據的發送與接收。TMS320C6748上的EMAC模塊支持10 Mb/s和100 Mb/s模式,工作在半雙工或全雙工模式下,同時具有硬件流控制及服務質量保證(QoS)支持。
2.2 通信接口硬件電路
    TMS320C6748支持媒體獨立接口MII(Media Independent Interface)與簡化媒體獨立接口RMII(Reduced Media Independent Interface)。以MII為例,其接口電路設計如圖3所示。

    MII接口信號線定義為:
    (1)MII_TXCLK:發送時鐘信號。所發送的時鐘是一個連續的信號,作為發送操作的定時基準,MII_TXD和MII_
TXEN信號依賴于這個時鐘信號。它由PHY產生,在10/100 Mb/s模式下啟用,當系統工作在10 Mb/s時為2.5 MHz,工作在100 Mb/s時為25 MHz。
    (2)MII_TXD[3-0]:發送數據線。包含4條數據線,是4位數據的集合。其中MTDX0是最低有效位(LSB)。信號根據MII_TXCLK同步,并且只有當MII_TXEN使能時才有效。
    (3)MII_TXEN:發送使能信號。發送使能信號表示MII_TXD生成半字節的數據可發送給PHY,由MII_TXCLK信號線驅動。
    (4)MII_COL:網絡沖突監測信號。在半雙工模式下,當檢測到網絡上的沖突時該位被置位,它會一直保持直到沖突消除,并且該信號不一定與MII_TXCLK和MII_
RXCLK同步。在全雙工模式下,該位被用于硬件流量傳輸的控制。當該位有效時,停止數據的傳輸,如果數據包正在傳輸的過程中,將完成本次傳輸。如果該位被設置為低電平,將不啟用硬件流量傳輸控制。
    (5)MII_CRS:載波感應信號。在半雙工模式下,如果PHY正在發送或者接收數據,該位會被置位。同樣它與MII_TXCLK、 MII_RXCLK不同步。在全雙工模式下,MII_CRS應保持低電平。
    (6)MII_RXCLK:接收時鐘信號。接收時鐘也是一個連續的信號,作為接收操作的定時基準,MII_RXD和MII_RXEN信號都依賴于這個時鐘信號。它是由PHY產生,在10/100 Mb/s模式下啟用,當系統工作在10 Mb/s時為2.5 MHz,工作在100 Mb/s時為25 MHz。
    (7)MII_RXD[3-0]:接收數據線。
    (8)MII_RXDV:接收數據使能。
    (9)MII_RXER:接收出錯信號。
    (10)MDIO_CLK:MDIO時鐘。MDIO的數據源于系統模塊MDIO。該時鐘頻率由MDIO控制寄存器的CLKDIV位來設置。
    (11)MDIO_D:管理數據輸入輸出。
3 軟件設計
3.1 NDK結構介紹

    網絡開發者套件(NDK)是一個開發TI嵌入式處理器網絡應用平臺,但目前僅限于TMS320C6000 DSP系列和ARM處理器。NDK的設計目的是為開發者提供一個完整的TCP/IP功能環境,縮短開發周期,降低開發難度。NDK通過編程接口與本地操作系統(DSP/BIOS)和底層硬件相互隔離,如圖4所示[1]。本地操作系統(DSP/BIOS)被抽象成一個操作系統適應層(OS Adaptation Layer),底層硬件被抽象成一個硬件抽象層(Hardware Abstraction Layer),兩個抽象層的函數庫分別為OS.LIB 和HAL.LIB,它們是NDK與本地操作系統和底層硬件的接口[2]。圖5為TCP/IP協議棧的結構[3]。

 

 

    STACK庫是主要的TCP/IP網絡功能庫,它包括了從底層鏈路層到上層套接口層的所有功能,該庫基于DSP/BIOS操作系統。NETCTRL庫在整個協議棧中起關鍵作用,協調操作系統和底層硬件驅動,管理所有網絡事件。NETTOOL庫提供配置網絡的各種服務[4]。
3.2 NDK編程設計
    在網絡程序執行之前,需對開發平臺進行板極初始化,并對網絡寄存器進行配置,將其作為一個鉤子函數,在DSP啟動時加載。而TCP/IP協議棧需要設置成一個主線程,并設置較高的優先級等級(可設置成等級5)。初始化及線程任務設置需要在DSP/BIOS中添加。要調用NDK庫中函數,需要添加以下庫:stack.lib、hal_timer_
bios5.lib、hal_ser_stub.lib、 hal_userled_stub.lib、os_bios5.lib、nettool.lib、netctrl.lib、miniPrintf.lib以及板極驅動庫[3]。
    在主線程中,TCP/IP協議棧需要首先進行配置并初始化,具體步驟如下:
    (1)分配一個網絡參數配置,主要包括主機名、IP地址、網關、子網掩碼、域名和DNS服務器地址等。
    (2)調用NETCTRL 庫函數NC_SystemOpen( ),并用Cfg-
New( )函數創建一個新的配置。
    (3)調用一個配置入口函數,將第一步中分配的網絡參數添加進去。如:
    CfgAddEntry(hCfg,CFGTAG_SYSINFO,CFGITEM_DHCP_
HOSTNAME,0,strlen(HostName),(UINT8 *)HostName,0);
    經過以上步驟,TCP/IP協議棧配置完成,然后調用NC_NetStart( )函數啟動網絡程序。注意,它的返回值是一個關閉代碼。通常該系統的關閉方式會決定協議棧是否重新啟動(例如改變配置后需要自動重啟),一般有以下代碼:
   do
   {
    rc=NC_NetStart(hCfg,NetworkOpen,NetworkClose,
NetworkIPAddr);
   } while(rc>0);
    如果返回值大于0就重新啟動網絡。其中NetworkOpen函數的功能是設置網絡協議、連接端口號、連接數以及網絡連接時的回調函數。可配置如下:
   static void NetworkOpen()
   {
    hdsp_tcp=DaemonNew(SOCK_STREAMNC,0,3350,
dtask_tcp,OS_TASKPRINORM,OS_TASKSTKNORM,0,3);
   }
    在工程設計中,如果需要多線程使用網絡收發數據,需要在線程中共享網絡文件描述符,這樣在新線程中可以像在網絡主線程中一樣使用recv( )和send( )函數來收發數據。一般來說可以使用如下代碼:
    fdOpenSession(TaskSelf() );
    fdShare(s);
    另外,TI提供了recvnc( )和recvncfrom( )函數,不需要拷貝數據就能直接接收,使得網絡接收數據速率大大提高,特別是網絡吞吐量比較大的應用中效果尤為顯著。如果對發送和接收緩存區有要求,需要在網絡回調函數中調用setsockopt( )函數進行設置[5]。
    經過測試,基于NDK的DSP網絡運行非常穩定、速度快、占用系統資源較少,對于需要在DSP上發送大量數據的場合非常方便。雖然采用NDK開發DSP網絡有很多優點,但必定要占用一定的系統資源,并且優先級比較高,因此實時性要求非常高的項目中,應采用其他方案。
參考文獻
[1] Texas Instruments.Getting started with the C6000 network development kit.SPRAAX4[A].2008.
[2] 劉釗江,鄭紅,吳興華,等.基于TIC6000系列DSP的網絡開發研究[J].儀器儀表用戶,2010,30(3):60-62.
[3] Texas Instruments.TI network developer′s kit(NDK) v2.21 User′s Guide.SPRU523H[A].2012.
[4] 梁迅.基于NDK的DSP網絡編程[J].計算技術與自動化,2005,24(9):79-81.
[5] Texas Instruments.TI network developer′s kit(NDK) v2.21 API Reference Guide.SPRU524H[A].2012.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品久久久久9999| 欧美国产综合视频| 欧美精品尤物在线| 欧美精品一区二区蜜臀亚洲| 久久久人人人| 在线成人性视频| 久久久亚洲国产天美传媒修理工| 99精品福利视频| 亚洲视频电影图片偷拍一区| 欧美韩日视频| 美女视频黄a大片欧美| 亚洲欧美在线高清| 亚洲欧美日韩精品综合在线观看| 亚洲性视频网站| 国产精品乱码一区二三区小蝌蚪| 亚洲神马久久| 久久人人爽国产| 亚洲免费影视第一页| 欧美成人免费一级人片100| 久久精品国产精品亚洲综合| 久久综合一区二区三区| 国产精品久久久久一区二区三区| 亚洲欧美日韩成人| 国产精品自拍在线| 亚洲精品色图| 欧美日韩成人一区| 亚洲精品一区二区三区不| 亚洲一区免费视频| 免费成人黄色片| 久久一区二区精品| 久久黄金**| 亚洲欧美国产毛片在线| 99国产精品久久久久久久久久| 99精品视频一区二区三区| 久久精品夜色噜噜亚洲a∨| 欧美日韩综合在线| 欧美一区二区三区在线| 欧美人妖另类| 亚洲高清久久| 国产综合欧美| 国产日韩精品在线观看| 欧美一区二区性| 亚洲一本视频| 一本到高清视频免费精品| 亚洲一区免费在线观看| 欧美在线视频a| 欧美精品一线| 国产精品亚洲欧美| 亚洲精品乱码久久久久久久久| 欧美日韩喷水| 欧美成人综合网站| 亚洲私人影吧| 午夜在线视频观看日韩17c| 欧美日韩国产二区| 欧美日韩成人一区二区| 欧美aa在线视频| 一区二区三区无毛| 好吊视频一区二区三区四区| 一区二区三区久久| 欧美激情视频一区二区三区在线播放| 国产欧美日韩三区| 亚洲午夜激情在线| 国产亚洲精品7777| 久久久久久亚洲精品杨幂换脸| 欧美在线免费看| 欧美日韩一区国产| 激情婷婷亚洲| 欧美日韩国产成人在线免费| 亚洲一区二区三区中文字幕在线| 亚洲精品久久| 亚洲视频中文| 国产精品美女xx| 亚洲欧美综合精品久久成人| 久久久久久久一区二区三区| 亚洲精品乱码久久久久久按摩观| 欧美日韩国产91| 激情五月婷婷综合| 国产精品久久久久久亚洲毛片| 国产精品亚洲美女av网站| 久久亚洲二区| 亚洲经典在线| 久久精品国产欧美激情| 国产精品99久久久久久白浆小说| 欧美三级电影网| 国产精品午夜国产小视频| 性伦欧美刺激片在线观看| 欧美视频在线观看视频极品| 国语对白精品一区二区| 欧美精品性视频| 一区二区高清视频在线观看| 欧美三级不卡| 国产麻豆一精品一av一免费| 欧美另类高清视频在线| 一区一区视频| 国产精品久久婷婷六月丁香| 99国产成+人+综合+亚洲欧美| 在线视频精品| 一本色道精品久久一区二区三区| 美女国产一区| 1000精品久久久久久久久| 在线看片第一页欧美| 久久久免费精品| 国产精品亚洲综合一区在线观看| 老司机免费视频一区二区| 久久经典综合| 亚洲高清在线精品| 国产精品久久久一区二区三区| 久久综合图片| 亚洲一区美女视频在线观看免费| 久久国产精品99国产精| 激情综合电影网| 欧美日韩国产高清视频| 亚洲国产精品久久久久秋霞不卡| 欧美亚洲成人免费| 免费高清在线视频一区·| 美女精品国产| 久久高清免费观看| 欧美劲爆第一页| 精久久久久久久久久久| 亚洲婷婷国产精品电影人久久| 欧美二区不卡| 久久国产一区二区| 久久免费的精品国产v∧| 激情综合网址| 国产精品国产a| 亚洲视频axxx| 一区二区三区高清视频在线观看| 夜夜嗨av一区二区三区网页| 久久精品国产综合| 亚洲综合视频网| 在线亚洲成人| 欧美三级乱人伦电影| 亚洲视频免费在线| 国产专区欧美精品| 久久亚洲精品伦理| 亚洲欧洲一二三| 国模套图日韩精品一区二区| 国产一区 二区 三区一级| 亚洲成人原创| 91久久在线视频| 欧美一级片在线播放| 欧美人妖另类| 亚洲国产精品毛片| 一区二区精品国产| 亚洲日本中文| 黄色日韩在线| 黄色免费成人| 久热成人在线视频| 国产精品久久久久久亚洲毛片| 欧美成人一区二区三区| 久久久久久久性| 亚洲电影中文字幕| 欧美激情精品久久久久久免费印度| 午夜精品视频| av成人免费在线观看| 麻豆精品传媒视频| 国产欧美日韩一区二区三区在线| 国产精品国码视频| 欧美一级在线视频| 欧美日韩中文字幕综合视频| 一区二区三区在线免费观看| 久久国产精品高清| 香蕉视频成人在线观看| 好吊色欧美一区二区三区视频| 一区二区三区高清视频在线观看| 国产喷白浆一区二区三区| 久久国产精品一区二区三区| 国产欧美日韩亚洲| 香蕉久久一区二区不卡无毒影院| 国产一区免费视频| 欧美一区激情视频在线观看| 亚洲精品乱码久久久久久日本蜜臀| 国产亚洲人成网站在线观看| 欧美激情一区在线| 欧美日韩美女在线观看| 欧美激情第一页xxx| 在线精品一区| 91久久国产自产拍夜夜嗨| 欧美 亚欧 日韩视频在线| 国产欧美日韩一区二区三区在线观看| 国产精品海角社区在线观看| 欧美一区亚洲二区| 国产一区在线播放| 欧美日韩mv| 欧美日韩妖精视频| 乱人伦精品视频在线观看| 樱桃视频在线观看一区| 在线看国产一区| 国产视频在线观看一区二区三区| 亚洲日本欧美日韩高观看| 亚洲影视综合| 亚洲精品乱码久久久久久蜜桃91| 欧美午夜免费| 久久精品亚洲一区二区| 精品69视频一区二区三区| 美女黄色成人网| 日韩亚洲不卡在线| 一色屋精品亚洲香蕉网站| 在线成人亚洲| 国产麻豆一精品一av一免费| 久久男人资源视频| 美女国内精品自产拍在线播放| 日韩一区二区精品在线观看| 欧美一级二级三级蜜桃| 欧美成人精品在线视频| 久久久久久69| 久久亚洲春色中文字幕| 国产精品欧美日韩久久| 欧美777四色影视在线| 午夜久久tv| 国产一二精品视频| 激情亚洲一区二区三区四区| 欧美激情精品久久久| 一区二区三区在线观看国产| 亚洲精品综合久久中文字幕| 一本久久综合亚洲鲁鲁| 久久裸体视频| 国产午夜精品在线| 在线精品亚洲一区二区| 亚洲国产日韩欧美综合久久| 久久久久久网址| av不卡在线| 久久久久久69| 狠狠色伊人亚洲综合网站色| 欧美日韩视频第一区| 亚洲电影免费观看高清完整版在线| 亚洲一区国产一区| 国产精品综合色区在线观看| 亚洲精品一品区二品区三品区| 久久综合电影| 欧美视频不卡中文| 在线播放中文字幕一区| 久久三级视频| 欧美精品亚洲精品| 激情欧美一区二区三区| 欧美一区二区三区男人的天堂| 国产精品毛片高清在线完整版| 国产色产综合色产在线视频| 国产日韩欧美综合一区| 欧美一区二区三区视频免费| 激情久久一区| 国产欧美一区二区三区另类精品| 美女视频黄a大片欧美| 精品盗摄一区二区三区| 快she精品国产999| 欧美一级理论片| 国产精品电影网站| 在线视频中文亚洲| 亚洲国产精品久久久久秋霞影院| 亚洲另类春色国产| 免费在线欧美黄色| 亚洲欧美另类久久久精品2019| 一区二区成人精品| 国产日韩欧美不卡在线| 亚洲国产精品一区二区三区| 久久久久网站| 国产精品一区在线观看你懂的| 欧美国产精品专区| 亚洲国产精品女人久久久| 国产精品一区二区三区成人| 欧美一区二区三区在线观看| 亚洲欧美国产精品va在线观看| 亚洲第一狼人社区| 国产精品羞羞答答xxdd| 亚洲国产精品久久久久| 欧美亚洲视频在线观看| 先锋影音网一区二区| 欧美日韩在线精品| 国产精品theporn| 久久久亚洲一区| 欧美日韩人人澡狠狠躁视频| 久久久久久97三级| 欧美韩国日本综合| 久久久久久自在自线| 黄色欧美成人| 在线不卡中文字幕播放| 亚洲摸下面视频| 91久久精品国产91性色| 在线亚洲伦理| 欧美黄色视屏| 久久久精品一区二区三区| 亚洲黄色性网站| 99热在这里有精品免费| 欧美精品激情在线观看| 国产精品久久久久久亚洲毛片| 亚洲精品影院| 亚洲高清不卡在线观看| 国产视频在线观看一区二区| 亚洲欧美国产视频| 亚洲综合日韩| 午夜视频一区在线观看| 国产手机视频精品| 午夜精品一区二区三区在线视| 欧美91福利在线观看| 亚洲精品一区二区在线观看| 亚洲午夜精品17c| 亚洲一区二区三区视频播放| 久久精品成人欧美大片古装| 国产在线观看一区| 久久午夜电影| 免费视频久久| 欧美小视频在线| 日韩视频在线观看一区二区| 国产在线播精品第三| 欧美日韩伦理在线| 麻豆国产精品va在线观看不卡| 亚洲综合色视频| 久久久久一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲国产欧美一区二区三区丁香婷| 欧美一区二区在线免费观看| 亚洲精品少妇网址| 国产精品一区二区欧美| 久久九九有精品国产23| 亚洲国产片色| 国产亚洲精品aa午夜观看| 欧美性生交xxxxx久久久| 欧美综合国产精品久久丁香| 久久久久久久久蜜桃| 国产精品网站在线| 欧美人妖另类| 欧美激情精品久久久久久免费印度| 欧美久久久久久久| 亚洲欧美日韩综合一区| 亚洲一区二区三| 国产主播一区二区三区四区| 欧美—级a级欧美特级ar全黄| 一区二区三区蜜桃网|