劉 鑫,宋光磊,溫 靖,祝海江,李 茂
(1.北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029;2.中國空間技術(shù)研究院 513所北京研發(fā)中心,北京 100191;3.北京系統(tǒng)工程研究所,北京 100076)
用于星載圖像高速傳輸?shù)那д滓蕴W(wǎng)接口設(shè)計(jì)
劉 鑫1,宋光磊2,溫 靖2,祝海江1,李 茂3
(1.北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029;2.中國空間技術(shù)研究院 513所北京研發(fā)中心,北京 100191;3.北京系統(tǒng)工程研究所,北京 100076)
基于TI公司的TMS320C6455芯片及外圍PHY芯片設(shè)計(jì)并實(shí)現(xiàn)了DSP的千兆以太網(wǎng)接口,為演示樣機(jī)的性能檢測提供了通道。設(shè)計(jì)采用的PHY芯片為低功耗CMOS工藝的ET1011芯片,在DSP/BIOS嵌入式操作系統(tǒng)上通過調(diào)用TI公司提供的NDK開發(fā)套件完成TCP/IP協(xié)議棧,最終實(shí)現(xiàn)數(shù)字信號(hào)的以太網(wǎng)傳輸。在DSP千兆以太網(wǎng)軟件設(shè)計(jì)時(shí)還編制了底層http協(xié)議和相應(yīng)的網(wǎng)絡(luò)訪問線程,可以通過PC機(jī)直接訪問所建立的千兆網(wǎng)平臺(tái)主頁面。
TMS320C6455;千兆以太網(wǎng)接口;DSP/BIOS;NDK
【本文獻(xiàn)信息】劉鑫,宋光磊,溫靖,等.用于星載圖像高速傳輸?shù)那д滓蕴W(wǎng)接口設(shè)計(jì)[J].電視技術(shù),2013,37(3).
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)的網(wǎng)絡(luò)化也是大勢所趨,如何實(shí)現(xiàn)嵌入式系統(tǒng)的高速率和高準(zhǔn)確率數(shù)據(jù)傳輸逐漸成為近年嵌入式系統(tǒng)的研究熱點(diǎn)。由于千兆以太網(wǎng)容易集成而且具有速率快、距離遠(yuǎn)和向下兼容10 M/100 M以太網(wǎng)等特性,因此研究DSP千兆以太網(wǎng)對(duì)于實(shí)現(xiàn)系統(tǒng)網(wǎng)絡(luò)化具有重要的實(shí)際意義[1]。目前,基于TMS320C6455的百兆以太網(wǎng)傳輸效率高達(dá)98%(98 Mbit/s)左右,而普通千兆以太網(wǎng)傳輸效率僅為25%(250 Mbit/s),因此基于該芯片的千兆以太網(wǎng)接口的傳輸效率還有很大的提升空間。
本課題設(shè)計(jì)用于演示驗(yàn)證星載高速圖像并行處理器,由于衛(wèi)星遙感圖像的信息量巨大,采用并行處理架構(gòu)時(shí),處理器模塊間需要很高的傳輸速率進(jìn)行數(shù)據(jù)交互,一般高于1 Gbit/s,這就要求硬件平臺(tái)能夠提供穩(wěn)定高速率的工作環(huán)境。本文結(jié)合智能性、時(shí)效性和快速響應(yīng)性的應(yīng)用需求,采用TI公司推出的TMS320C6455芯片和ET1011芯片設(shè)計(jì)并實(shí)現(xiàn)了DSP的千兆以太網(wǎng)接口,為星載海量圖像處理系統(tǒng)提供演示驗(yàn)證的數(shù)據(jù)傳輸通道,實(shí)現(xiàn)并行處理模塊間的高速數(shù)據(jù)傳輸,并通過速率測試驗(yàn)證了設(shè)計(jì)的可行性。該接口保證演示樣機(jī)所搭建的整個(gè)并行處理系統(tǒng)可以進(jìn)行穩(wěn)定且高速率的圖像處理和數(shù)據(jù)傳輸,并且提供了演示樣機(jī)性能的檢測通道,為下一步研制星載功能樣機(jī)實(shí)現(xiàn)奠定了基礎(chǔ)。
TI公司推出的TMS320C6455芯片是一款高性能、定點(diǎn)數(shù)字信號(hào)處理器,其最高工作頻率為1.2 GHz。由于該芯片內(nèi)部集成了千兆以太網(wǎng)接口模塊,因此可以結(jié)合PHY芯片及外圍電路實(shí)現(xiàn)系統(tǒng)的千兆以太網(wǎng)通信功能。
ET1011芯片采用的過采樣架構(gòu)與傳統(tǒng)架構(gòu)相比具有更強(qiáng)的從信道獲取信號(hào)能力。這些獲取的額外信號(hào)使得它能夠提供更加穩(wěn)定的工作平臺(tái),節(jié)約成本并且降低了整體功耗。與此同時(shí),這種過采樣架構(gòu)實(shí)現(xiàn)了更優(yōu)的均衡使得芯片具有更強(qiáng)的抗時(shí)鐘抖動(dòng)能力,從而改善了誤碼率。
TMS320C6455與 ET1011芯片都提供了 RGMII,GMII,MII接口,兩者之間可以在IEEE802.3標(biāo)準(zhǔn)基礎(chǔ)上實(shí)現(xiàn)無縫連接。本方案EMAC模塊連接框圖如圖1所示[2-3]。
圖1 千兆以太網(wǎng)接口框圖
方案設(shè)計(jì)中DSP和ET1011都工作在GMII模式。設(shè)計(jì)充分考慮到過沖、欠沖、串?dāng)_等對(duì)系統(tǒng)時(shí)序的影響,故通過Cadence軟件對(duì)系統(tǒng)信號(hào)完整性和時(shí)序進(jìn)行仿真。方案設(shè)計(jì)要求盡量減小傳輸線效應(yīng),縮小PCB面積,然而高密度的設(shè)計(jì)將會(huì)延長開發(fā)周期并給調(diào)試增加難度,故方案最終在以上兩個(gè)方面做了折中。
DSP上的軟件設(shè)計(jì)主要包括:接口驅(qū)動(dòng)程序、配置運(yùn)行TCP/IP協(xié)議棧以及用戶應(yīng)用測試程序3個(gè)部分。接口驅(qū)動(dòng)程序主要完成對(duì)EMAC模塊以及MDIO模塊的配置,包括復(fù)位、中斷使能、部分寄存器的初始化等,并且完成硬件模塊與TCP/IP協(xié)議棧通信需要的操作接口。配置TCP/IP協(xié)議棧主要是基于CCS3.3中提供的DSP/BIOS操作系統(tǒng),通過調(diào)用TI公司提供的NDK開發(fā)套件實(shí)現(xiàn)。整體結(jié)構(gòu)框圖如圖2所示。
圖2 千兆以太網(wǎng)軟件結(jié)構(gòu)
DSP/BIOS是一個(gè)尺寸可伸縮的實(shí)時(shí)內(nèi)核。它可以滿足實(shí)際應(yīng)用中的實(shí)時(shí)線程調(diào)度與同步、主機(jī)與目標(biāo)DSP之間通信及實(shí)時(shí)監(jiān)測等要求。與此同時(shí),DSP/BIOS還提供了搶占式多(RTOS)線程、硬件抽象、實(shí)時(shí)分析和配置工具等。在搶占式任務(wù)切換中,始終保證優(yōu)先級(jí)最高的任務(wù)立即執(zhí)行[4]。
本方案設(shè)計(jì)中編寫了數(shù)據(jù)發(fā)送線程和網(wǎng)頁訪問線程,為了保證傳輸速率不受影響,設(shè)置數(shù)據(jù)發(fā)送線程優(yōu)先級(jí)高于網(wǎng)頁訪問線程,即只有當(dāng)數(shù)據(jù)發(fā)送線程處于終止態(tài)時(shí)才可以進(jìn)入網(wǎng)頁訪問線程。
NDK套件主要包括:支持TCP/IP協(xié)議棧程序庫、示范程序以及支持用戶文檔3個(gè)部分。僅用200~250 kbyte程序空間和95 kbyte數(shù)據(jù)空間即可支持常規(guī)的TCP/IP服務(wù),包括應(yīng)用層的 Telnet,DHCP,HTTP 等[5]。
考慮到NDK對(duì)CCS中鏈接目標(biāo)函數(shù)和庫文件的順序非常敏感,故程序設(shè)計(jì)時(shí)盡量按照推薦的順序添加NETCTRL.LIB和STACK.LIB等文件。其中NETCTRL.LIB管理所有網(wǎng)絡(luò)事件、協(xié)調(diào)操作系統(tǒng)與硬件驅(qū)動(dòng);HAL.LIB提供對(duì)硬件的支持;NETTOOL.LIB提供網(wǎng)絡(luò)服務(wù);STACK.LIB提供了頂層至底層的所有功能;OS.LIB提供與DSP/BIOS操作系統(tǒng)的接口,可以根據(jù)需要打開和關(guān)閉OS網(wǎng)絡(luò)接口功能。
當(dāng)成功建立GMII端口后,綁定本地IP地址和端口,初始化底層的http協(xié)議并編制簡單的網(wǎng)絡(luò)頁面,程序則開始監(jiān)測有無網(wǎng)絡(luò)傳輸線程和網(wǎng)頁訪問線程。當(dāng)有傳輸線程接入,則進(jìn)入該線程開始發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)線程結(jié)束后可以響應(yīng)訪問頁面線程,此時(shí)通過PC機(jī)可以訪問平臺(tái)界面。整個(gè)程序在DSP/BIOS操作系統(tǒng)上采用C語言及匯編語言編寫,結(jié)合調(diào)用DSP/BIOS的功能函數(shù)實(shí)現(xiàn)。具體程序流程圖如圖3所示。
電路設(shè)計(jì)中采用的NOR Flash型號(hào)為S29ALD32D。處于Flash引導(dǎo)模式下的TMS320C6455上電時(shí)其內(nèi)部ROM中固化的“bootloader”將自動(dòng)完成Flash的第一次引導(dǎo)。由于上述DSP自動(dòng)引導(dǎo)的內(nèi)容僅僅包含F(xiàn)lash ROM的前1 kbit地址空間,而本方案所設(shè)計(jì)的DSP千兆以太網(wǎng)接口代碼包含bios段(支持DSP/BIOS內(nèi)核的運(yùn)行)、cinit段(C語言的運(yùn)行環(huán)境)、text段(可執(zhí)行二進(jìn)制代碼)等共16段代碼,其大小遠(yuǎn)遠(yuǎn)超過1 kbit。因此,需要在DSP的第一次引導(dǎo)基礎(chǔ)上進(jìn)行NOR Flash的二次加載,該二次加載完成程序中16段代碼的搬移工作并最后跳轉(zhuǎn)至程序入口,最終完成DSP千兆以太網(wǎng)接口程序上電自啟動(dòng)。整個(gè)加載過程如圖4所示。
通過添加了二次bootloader代碼并且修改了cmd文件后的工程在CCS3.3下生成out文件,此out文件中含有一些只能被仿真器識(shí)別的頭文件以及定位信息等,而NOR Flash則不能識(shí)別這些內(nèi)容,因此還需要利用TI公司提供的十六進(jìn)制轉(zhuǎn)換工具將所生成的out文件轉(zhuǎn)換成Flash可以識(shí)別的二進(jìn)制hex文件。最后通過TI的第三方軟件Flashburn完成該hex文件的燒寫。
DSP與PC機(jī)之間通過網(wǎng)線連接,PC機(jī)端的IP地址應(yīng)設(shè)置成與DSP端所建立的網(wǎng)口IP地址在同一網(wǎng)段內(nèi)。PC機(jī)操作系統(tǒng)為Windows XP,網(wǎng)卡是Broadcom NetLink(TM)Gigabit Ethernet。傳輸線程中設(shè)定DSP向PC機(jī)發(fā)送100 000包數(shù)據(jù),每包包含32 kbyte純數(shù)據(jù)。多次數(shù)據(jù)傳輸速率測試結(jié)果如表1所示。
表1 數(shù)據(jù)傳輸測試結(jié)果 Mbyte/s
通過表中測試結(jié)果可知所建立的千兆以太網(wǎng)口傳輸速率在45 Mbyte/s左右,峰值速率可達(dá)50 Mbyte/s(400 Mbit/s),峰值傳輸效率達(dá)到40%。根據(jù)智能化在軌數(shù)據(jù)處理系統(tǒng)技術(shù)指標(biāo)要求,將遙感圖像通過千兆以太網(wǎng)接口分發(fā)至兩個(gè)處理模塊進(jìn)行并行處理,傳輸速率可以滿足圖像處理幀周期為2.9 s、每幀700 Mbit像素的圖像處理需求,故本方案所搭建的千兆以太網(wǎng)接口能夠支持演示樣機(jī)的驗(yàn)證工作。
結(jié)合TI公司提供的DSP/BIOS操作系統(tǒng)以及NDK開發(fā)套件設(shè)計(jì)并實(shí)現(xiàn)了TMS320C6455的千兆以太網(wǎng)接口,并且通過最終測試所建立的千兆以太網(wǎng)口能夠進(jìn)行穩(wěn)定且高速率的工作,從而為模擬樣機(jī)與上位機(jī)Internet實(shí)現(xiàn)高速大數(shù)據(jù)量傳輸?shù)於嘶A(chǔ),擴(kuò)展了系統(tǒng)的網(wǎng)絡(luò)通信功能,為模擬樣機(jī)的性能檢測提供了測試通道。
:
[1]IEEE 802.3-2005_COR1-2006,IEEE Standard for Information technology-Part 3:Carrier Sense Multiple Access With Collision Detection(CSMA/CD)Access Method and Physical:Layer Specifications[S].2006.
[2]ET1011C Gigabit Ethernet Transceiver[EB/OL].[2012-05-10].http://www.lsi.com/products/networkingcomponents/Pages/ET1011C.aspx.
[3]TMS320C64x 定點(diǎn) DSP[EB/OL].[2012-05-10].http://www.ti.com.cn/lsds/ti_zh/dsp/c6000_dsp/c64x/products.page.
[4]TMS320C6000 DSP/BIOS 5.31 Application Programming Interface(API)Reference Guide[EB/OL].[2012-05-10].http://www.doc88.com/p-491988328884.html.
[5]TMS320C6000 Network Develop’s Kit(NDK)Software User’s Guide[EB/OL].[2012-05-10]. http://wenku.baidu.com/view/a74d6dc24028915f804dc27d.html.
[6]羅軍舟,黎波濤,楊明,等.TCP/IP協(xié)議及網(wǎng)絡(luò)編程技術(shù)[M].北京:清華大學(xué)出版社,2006.
宋光磊(1979— ),高級(jí)工程師,主研星載計(jì)算機(jī)衛(wèi)星測控系統(tǒng);
溫 靖(1981— ),工程師,主研雷達(dá)信號(hào)處理;
祝海江(1971— ),副教授,主研計(jì)算機(jī)視覺,信號(hào)處理及檢測;
李 茂(1980— ),工程師,主研運(yùn)載火箭信息應(yīng)用與網(wǎng)絡(luò)控制。
Design of Gigabit Ethernet Interface Used on Highspeed Transmission of Spaceborne Images
LIU Xin1,SONG Guanglei2,WEN Jing2,ZHU Haijiang1,LI Mao3
(1.College of Information Science&Technology,Beijing University of Chemical Technology,Beijing 100029,China;2.Beijing R&D Center,No.513 Institute,China Academy of Space Technology Corporation,Beijing 100191,China;3.Beijing Institute of Systems Engineering,Beijing 100076,China)
The Gigabit Ethernet interface based on TI chip TMS320C6455 and PHY chip is designed and implemented in this paper,which provided a channel for the performance testing of the demonstrator.Based on DSP/BIOS embedded system and cooperating with TI Network Developer’s Kit(NDK),the chip with low power consumption CMOS technology ET1011 PHY is used to complete TCP/IP protocol stack and finally transports digital signal through Ethernet.When designing software of DSP Gigabit Ethernet,the bottom HTTP protocol and its corresponding network access thread is written,through which it can access the mainpage of gigabit platform with PC.
TMS320C6455;Gigabit Ethernet interface;DSP/BIOS;NDK
TP393
A
劉 鑫(1989— ),碩士生,主研DSP圖像處理系統(tǒng)及圖像處理算法;
責(zé)任編輯:魏雨博
2012-06-13