国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NDK的DSP網(wǎng)絡(luò)通信的設(shè)計(jì)與實(shí)現(xiàn)

2014-04-29 19:52:22杜欣慧蔡春花
電子世界 2014年21期
關(guān)鍵詞:以太網(wǎng)

杜欣慧 蔡春花

【摘要】本文針對(duì)TMS320DM642芯片上集成的以太網(wǎng)通信接口,利用NDK開(kāi)發(fā)套件,設(shè)計(jì)并實(shí)現(xiàn)了圖像數(shù)據(jù)編碼流的網(wǎng)絡(luò)傳輸?shù)墓δ?。詳?xì)介紹了在TI C6000 DSP芯片上進(jìn)行網(wǎng)絡(luò)通信開(kāi)發(fā)的過(guò)程,對(duì)基于NDK套件的DSP網(wǎng)絡(luò)通信功能的開(kāi)發(fā)具有一定的指導(dǎo)作用。

【關(guān)鍵詞】NDK;TCP/IP;以太網(wǎng)

1.引言

隨著嵌入式智能信息終端系統(tǒng)的日漸普及和互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來(lái)越多的嵌入式設(shè)備需要進(jìn)行實(shí)時(shí)網(wǎng)絡(luò)通信,因此對(duì)嵌入式設(shè)備的網(wǎng)絡(luò)通信的研究已成為熱門(mén)研究對(duì)象。TI公司推出的C6000系列DSP芯片在硬件上減少了嵌入式產(chǎn)品的網(wǎng)絡(luò)應(yīng)用成本。而其推出的NDK(Network Development Kit)工具在軟件上加速了網(wǎng)絡(luò)開(kāi)發(fā)的進(jìn)程。NDK可支持常規(guī)的TCP/IP服務(wù),因此很適合目前嵌入式系統(tǒng)的硬件環(huán)境,是實(shí)現(xiàn)C6000 DSP網(wǎng)絡(luò)通信的重要支撐工具。

本系統(tǒng)基于TMS320DM642芯片的以太網(wǎng)通信接口,利用NDK網(wǎng)絡(luò)開(kāi)發(fā)套件,設(shè)計(jì)開(kāi)發(fā)了圖像數(shù)據(jù)經(jīng)編碼以后進(jìn)行網(wǎng)絡(luò)傳輸,完成了基于DM642的網(wǎng)絡(luò)服務(wù)器的功能。本文研究了如何在DM642上進(jìn)行嵌入式網(wǎng)絡(luò)功能的開(kāi)發(fā)。系統(tǒng)使用的硬件平臺(tái)為T(mén)I的TMS320DM642,軟件開(kāi)發(fā)環(huán)境是CCS3.1。

2.DSP網(wǎng)絡(luò)通信的硬件結(jié)構(gòu)

本文以 TI公司的TMS320DM642 DSP 作為信號(hào)處理的主芯片來(lái)構(gòu)建系統(tǒng)?;贒M642芯片的嵌入式網(wǎng)絡(luò)通信系統(tǒng)的主要硬件部分有:視頻輸入模塊、DSP內(nèi)核、以太網(wǎng)模塊、外部存儲(chǔ)模塊、JTAG調(diào)試模塊和電源模塊。

圖1為系統(tǒng)硬件結(jié)構(gòu)圖,系統(tǒng)前端視頻輸入由視頻解碼芯片TVP5150實(shí)現(xiàn),數(shù)據(jù)采集格式為YUV4:2:2,TVP5150通過(guò)數(shù)據(jù)接口與DM642的VP口連接,并向其內(nèi)部的FTFO傳送數(shù)據(jù),當(dāng)FIFO中接收的數(shù)據(jù)達(dá)到所設(shè)定的閾值時(shí),會(huì)觸發(fā)EDMA事件,此時(shí)EDMA將FIFO中的數(shù)據(jù)傳送到SDRAM中,當(dāng)采集完一幀圖像數(shù)據(jù)EDMA產(chǎn)生中斷,在中斷服務(wù)程序中應(yīng)用程序通過(guò)調(diào)用視頻驅(qū)動(dòng)函數(shù)獲取當(dāng)前采集的圖像數(shù)據(jù),并根據(jù)設(shè)定的情況完成數(shù)據(jù)處理。DM642實(shí)時(shí)處理采集的圖像數(shù)據(jù),壓縮編碼后通過(guò)MII接口與物理層設(shè)備相連接,將壓縮的數(shù)據(jù)打包并通過(guò)網(wǎng)絡(luò)發(fā)送到PC機(jī)進(jìn)行解碼和顯示。

圖1 系統(tǒng)硬件框圖

3.系統(tǒng)的軟件設(shè)計(jì)

3.1 系統(tǒng)的軟件流程

RF5是TI公司推出的DSP軟件開(kāi)發(fā)的起步代碼參考框架[1],它以DSP/BIOS為基礎(chǔ),很適合在C6000系列DSP芯片上開(kāi)發(fā)較復(fù)雜的應(yīng)用。

本系統(tǒng)的軟件架構(gòu)利用RF5模塊運(yùn)行了四個(gè)任務(wù)線程:輸入任務(wù)、控制任務(wù)、處理任務(wù)和網(wǎng)絡(luò)任務(wù)。四個(gè)任務(wù)之間通過(guò)SCOM消息隊(duì)列和郵箱(MBX)進(jìn)行通信。系統(tǒng)的軟件流程如圖2所示。

3.2 網(wǎng)絡(luò)通信的軟件設(shè)計(jì)

以太網(wǎng)通信的軟件實(shí)現(xiàn)主要分為三部分工作:首先編制好底層硬件驅(qū)動(dòng)程序,然后在DSP/BIOS操作系統(tǒng)平臺(tái)上配置和運(yùn)行NDK的TCP/IP協(xié)議棧,最后開(kāi)發(fā)用戶定制的網(wǎng)絡(luò)應(yīng)用程序。

網(wǎng)絡(luò)通信的軟件結(jié)構(gòu)基于嵌入式操作DSP/BIOS和網(wǎng)絡(luò)開(kāi)發(fā)包NDK工具等設(shè)計(jì)而成。如圖3所示,NDK開(kāi)發(fā)套件主要是由五個(gè)部分組成[2],對(duì)應(yīng)的函數(shù)庫(kù)分別是:NETTOOL.LIB、STACK.LIB、HAL.LIB、OS.LIB 和NETCRTL.LIB。

圖2 系統(tǒng)的軟件流程

圖3 NDK開(kāi)發(fā)套件組成框圖

其中NETT OOL.LIB包含NDK提供的所有基于套接字的網(wǎng)絡(luò)功能和一些開(kāi)發(fā)網(wǎng)絡(luò)程序序的其他工具。STACK.LIB是主要的TCP/IP網(wǎng)絡(luò)功能庫(kù),它包括了從頂層套接字到底層鏈路層的所有功能。HAL.LIB庫(kù)是底層硬件驅(qū)動(dòng)的抽象,它負(fù)責(zé)向TCP/IP協(xié)議棧提供具體的操作接口,來(lái)控制這些外圍設(shè)備的運(yùn)行。OS.LIB庫(kù)是DSP/BIOS操作系統(tǒng)的抽象,提供與操作系統(tǒng)DSP/BIOS的接口。NETCTRL.LIB庫(kù)是協(xié)議棧的核心,它控制著TCP/IP與外界的聯(lián)系和互動(dòng),初始化TCP/IP協(xié)議棧和底層設(shè)備驅(qū)動(dòng);與底層設(shè)備驅(qū)動(dòng)之間有接口并調(diào)度底層驅(qū)動(dòng)事件進(jìn)入TCP/IP協(xié)議棧;退出時(shí)將系統(tǒng)配置卸載并清理驅(qū)動(dòng)。

3.2.1 以太網(wǎng)硬件驅(qū)動(dòng)程序的設(shè)計(jì)

基于NDK開(kāi)發(fā)套件的以太網(wǎng)底層驅(qū)動(dòng)主要由三個(gè)部分組成[3]:網(wǎng)絡(luò)接口管理單元特定層,以太網(wǎng)微型驅(qū)動(dòng)層和通用EMAC/MDIO片上支持庫(kù)層。以太網(wǎng)底層硬件的體系結(jié)構(gòu)如圖4所示。

圖4 以太網(wǎng)驅(qū)動(dòng)層體系結(jié)構(gòu)

網(wǎng)絡(luò)接口管理特定層主要是作為NDK協(xié)議棧與以太網(wǎng)驅(qū)動(dòng)層之間的接口。通用EMAC/MDIO片上支持庫(kù)定義了一些數(shù)據(jù)結(jié)構(gòu)和API函數(shù),用于底層驅(qū)動(dòng)配置時(shí)進(jìn)行調(diào)用。以太網(wǎng)微型驅(qū)動(dòng)層與具體的硬件平臺(tái)有關(guān),其功能就是根據(jù)系統(tǒng)的需要,使用通用EMAC/MDIO片上支持庫(kù)中的API函數(shù)和相關(guān)的數(shù)據(jù)結(jié)構(gòu)對(duì)EMAC和MDIO模塊進(jìn)行相應(yīng)的參數(shù)配置和功能控制。

在網(wǎng)絡(luò)通信中,以太網(wǎng)驅(qū)動(dòng)程序負(fù)責(zé)向TCP/IP協(xié)議棧提供具體的操作接口,用以控制太網(wǎng)器件的配置和運(yùn)行。

在DM642中,將EMAC控制模塊、MDIO模塊、EMAC模塊的控制寄存器通過(guò)DSP的配置總線映射到DSP存儲(chǔ)空間,可以通過(guò)對(duì)EMAC/MDIO模塊的寄存器組的設(shè)置、查詢等操作,實(shí)現(xiàn)約定的驅(qū)動(dòng)函數(shù)的功能。

3.2.2 基于NDK的TCP/IP協(xié)議棧的配置與初始化

NDK套件的核心是TCP/IP協(xié)議棧,它也是一個(gè)分層的體系結(jié)構(gòu)。NDK網(wǎng)絡(luò)模型中的NDK/EMAC層行使了原來(lái)TCP/IP模型中的傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層的功能[5]。與常規(guī)的TCP/IP開(kāi)發(fā)不同,在開(kāi)發(fā)嵌入式網(wǎng)絡(luò)應(yīng)用程序時(shí),TCP/IP協(xié)議棧必須首先進(jìn)行正確的配置和初始化。NDK提供的網(wǎng)絡(luò)控制庫(kù)是TCP/IP協(xié)議棧配置、初始化和事件調(diào)度的核心。在進(jìn)行協(xié)議棧的配置和初始化之前,首先要?jiǎng)?chuàng)建一個(gè)網(wǎng)絡(luò)調(diào)度的主線程,它是網(wǎng)絡(luò)程序的入口,協(xié)議棧的配置與初始化,以及所有的網(wǎng)絡(luò)控制活動(dòng)都發(fā)生在該線程中[1]。

3.2.3 網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)

網(wǎng)絡(luò)通信任務(wù)的開(kāi)發(fā)采用客戶端/服務(wù)器(Client/Server)模式來(lái)實(shí)現(xiàn),本系統(tǒng)將開(kāi)發(fā)板DM642作為網(wǎng)絡(luò)通信的服務(wù)器端,將另一臺(tái)PC機(jī)作為客戶端,客戶端和服務(wù)器端都采用套接字編程。為了進(jìn)行圖像數(shù)據(jù)的可靠傳輸,采用可靠的面向連接的TCP協(xié)議進(jìn)行編程。開(kāi)發(fā)網(wǎng)絡(luò)通信程序的過(guò)程如下:首先在網(wǎng)絡(luò)的主線程---TCP/IP調(diào)度線程中定義一個(gè)句柄對(duì)象,并在主線程中通過(guò)NDK提供的API函數(shù)TaskCreate()創(chuàng)建一個(gè)新的網(wǎng)絡(luò)任務(wù)線程即網(wǎng)絡(luò)服務(wù)器任務(wù)。當(dāng)網(wǎng)絡(luò)事件啟動(dòng)后就會(huì)執(zhí)行和調(diào)度新的網(wǎng)絡(luò)服務(wù)器線程。網(wǎng)絡(luò)服務(wù)器任務(wù)與另一PC機(jī)的客戶端之間的通信過(guò)程如圖5所示:

圖5 DM642服務(wù)器端與客戶端通信的過(guò)程

首先在服務(wù)器端創(chuàng)建一個(gè)TCP型的SOCKET,通過(guò)bind()函數(shù)將創(chuàng)建的SOCKET與本地IP地址和端口號(hào)進(jìn)行綁定。然后通過(guò)listen()函數(shù)監(jiān)聽(tīng)來(lái)自客戶端的連接請(qǐng)求。相應(yīng)地客戶端程序也會(huì)創(chuàng)建一個(gè)SOCKET,并用connect()函數(shù)向服務(wù)器請(qǐng)求建立連接,此時(shí)服務(wù)器端的listen函數(shù)就會(huì)監(jiān)聽(tīng)到來(lái)自客戶端的連接請(qǐng)求,服務(wù)器端用accept()函數(shù)接受來(lái)自客戶端的連接請(qǐng)求,連接成功后就通過(guò)send()函數(shù)開(kāi)始向客戶端發(fā)送編碼后的圖像數(shù)據(jù),此時(shí)客戶端就通過(guò)socket接收來(lái)自服務(wù)器端發(fā)送過(guò)來(lái)的數(shù)據(jù),當(dāng)數(shù)據(jù)接收完畢后就會(huì)客戶端返回應(yīng)答消息給服務(wù)器端,這樣就完成了編碼后圖像數(shù)據(jù)的傳輸。

4.實(shí)驗(yàn)結(jié)果

根據(jù)以上設(shè)計(jì),通過(guò)采集圖片進(jìn)行服務(wù)器端與客戶端的通信。攝像頭為PAL制,采集的是標(biāo)清圖片,以DM642作為服務(wù)器,以PC機(jī)運(yùn)行客戶端,套接字接口緩沖區(qū)大小為5120Bytes,通過(guò)TCP模式來(lái)傳輸所采集的圖片,實(shí)驗(yàn)結(jié)果如表1所示。

實(shí)驗(yàn)表明,TI公司的 NDK開(kāi)發(fā)套件是十分方便的,性能也十分優(yōu)良、可靠,可以最大限度的節(jié)省開(kāi)發(fā)時(shí)間和成本,是嵌入式 DSP 網(wǎng)絡(luò)開(kāi)發(fā)的上等之選。

表1 DM642 NDK網(wǎng)絡(luò)性能測(cè)試結(jié)果

5.總結(jié)

本文介紹了基于NDK的DSP網(wǎng)絡(luò)通信的硬件結(jié)構(gòu)和軟件開(kāi)發(fā)流程,詳細(xì)說(shuō)明了在TI C6000系列芯片上進(jìn)行網(wǎng)絡(luò)功能開(kāi)發(fā)的一般過(guò)程。此網(wǎng)絡(luò)傳輸方案在DM642上進(jìn)行調(diào)試、運(yùn)行通過(guò),實(shí)現(xiàn)了實(shí)時(shí)圖像數(shù)據(jù)的壓縮和圖片數(shù)據(jù)編碼流的網(wǎng)絡(luò)傳輸?shù)墓δ堋?/p>

該模型也可作為基于NDK套件網(wǎng)絡(luò)開(kāi)發(fā)的一個(gè)通用模型,利用此模型可以很方便地實(shí)現(xiàn)H.264、MPEG4等多種視頻編碼/解碼算法及數(shù)據(jù)流的網(wǎng)絡(luò)傳輸。

實(shí)踐表明,TI公司推出的NDK網(wǎng)絡(luò)開(kāi)發(fā)套件可以使技術(shù)人員快速開(kāi)發(fā)基于DSP的網(wǎng)絡(luò)應(yīng)用程序,而且隨著電子警察,數(shù)字機(jī)頂盒等網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膹V泛應(yīng)用,集成了網(wǎng)絡(luò)模塊的視頻處理芯片將會(huì)擁有更廣闊的應(yīng)用前景。在研究TI C6000 DSP系列芯片的網(wǎng)絡(luò)通信功能的開(kāi)發(fā)時(shí),本文具有很好的指導(dǎo)意義。

參考文獻(xiàn)

[1]Todd Mullanix, Davor Magdic.Reference Frameworks for express DSP Software:RF5,An Extensive High Density System[DB/OL].Dallas,Texas Instrument Incorporated,2003.SPRA795A:16-18.

[2]Texas Instruments Incorporated.TMS320C6000 TCP/IP Network Developers Kit Users Guide[CP/DK].Dallas,Texas Instrument Incorporated,2004.SPRU39:45-47.

[3]Texas Instrument Incorporated.TMS320C6000 Network Developers Kit(NDK)Support Package Ethernet Driver Design Guide[CP/DK].Dallas,Texas Instrument Incorporated, 2009.9. SPRUFP2:23-26.

作者簡(jiǎn)介:

杜欣慧(1985—),女,碩士研究生,主要研究方向:網(wǎng)絡(luò)安全及信息處理。

蔡春花(1987—),女,碩士研究生,主要研究方向:智能信息處理。

猜你喜歡
以太網(wǎng)
NWCS' 23新一代車(chē)載以太網(wǎng)傳輸技術(shù)研討會(huì)成功召開(kāi)
基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
三大因素驅(qū)動(dòng)創(chuàng)新提速以太網(wǎng)快步邁入“靈活”時(shí)代
三大因素驅(qū)動(dòng)創(chuàng)新提速 以太網(wǎng)快步邁入“靈活”時(shí)代
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
基于以太網(wǎng)傳輸?shù)母咚?2通道數(shù)據(jù)采集系統(tǒng)
一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
基于SOPC的工業(yè)嵌入式以太網(wǎng)接口設(shè)計(jì)
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
萬(wàn)兆以太網(wǎng)在連徐高速公路通信系統(tǒng)改造中的應(yīng)用
彰武县| 股票| 昆山市| 开平市| 宁陵县| 穆棱市| 包头市| 大悟县| 桐梓县| 松阳县| 南宁市| 仁布县| 临夏市| 奉贤区| 定襄县| 香港 | 佛冈县| 浦江县| 苏州市| 铜梁县| 长沙市| 乌兰县| 高雄市| 福贡县| 安塞县| 崇义县| 昌吉市| 广东省| 敦化市| 通辽市| 博爱县| 塔城市| 宿迁市| 于田县| 双城市| 蒲城县| 武汉市| 镇雄县| 盐池县| 隆子县| 四会市|