• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SpaceWire總線的網(wǎng)絡(luò)圖像傳輸演示系統(tǒng)的設(shè)計

      2013-02-13 09:57:12宋光磊柳增運(yùn)
      電視技術(shù) 2013年17期
      關(guān)鍵詞:服務(wù)程序數(shù)傳驅(qū)動程序

      李 新,宋光磊,溫 靖,柳增運(yùn)

      (1.北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京100029;2.中國空間技術(shù)研究院513所北京研發(fā)中心,北京100191)

      責(zé)任編輯:任健男

      近年來,隨著空間探測技術(shù)的快速發(fā)展,星上空間探測載荷設(shè)備種類日益增多,使得星載設(shè)備產(chǎn)生和處理的數(shù)據(jù)量迅速增長,各載荷設(shè)備間差異很大,有必要采用統(tǒng)一標(biāo)準(zhǔn)規(guī)范載荷設(shè)備的對外接口,使新設(shè)備更快地融入到新型號任務(wù)中,因此對星載設(shè)備的數(shù)據(jù)傳輸總線提出了更高的要求。SpaceWire總線是一種更好滿足現(xiàn)代星上設(shè)備間高速數(shù)據(jù)傳輸需求的傳輸標(biāo)準(zhǔn),已成為歐美等發(fā)達(dá)國家星載高速通信的首選方案。目前在國內(nèi)開展該技術(shù)研究較少,而且還沒有星上應(yīng)用實例。因此盡快大力研究此項技術(shù),對于提升國防航天實力具有重要意義。

      本文設(shè)計由模擬綜管設(shè)備、模擬相機(jī)設(shè)備、模擬數(shù)傳設(shè)備和SpaceWire路由器組成的基于SpaceWire總線網(wǎng)絡(luò)圖像傳輸演示系統(tǒng),其中設(shè)備中采用FPGA和ARM處理器分別實現(xiàn)SpaceWire總線的底層協(xié)議和對系統(tǒng)的傳輸控制。經(jīng)驗證該演示系統(tǒng)可以進(jìn)行穩(wěn)定且高速的圖像數(shù)據(jù)傳輸,并且具有良好的可擴(kuò)展性,為下一步研制星載功能樣機(jī)奠定了基礎(chǔ)。

      1 SpaceWire概述

      SpaceWire總線是國際上迄今為止第一個專為航天任務(wù)設(shè)計的協(xié)議標(biāo)準(zhǔn),由歐洲航天標(biāo)準(zhǔn)合作組織(ECSS)發(fā)布,該協(xié)議以IEEE1355—1995協(xié)議和LVDS標(biāo)準(zhǔn)為基礎(chǔ),提供通用接口標(biāo)準(zhǔn),簡化和規(guī)范了不同載荷設(shè)備的連接。SpaceWire總線的特點(diǎn)如下[1]:

      1)全雙工、串行、點(diǎn)對點(diǎn)的數(shù)據(jù)總線,速碼率為2~400 Mbit/s,采用LVDS接口技術(shù);

      2)電纜最長為10 m,連接器采用專為航天應(yīng)用開發(fā)設(shè)計的微型9針D型連接器;

      3)節(jié)點(diǎn)內(nèi)部編碼方式采用數(shù)據(jù)—濾波(Data Strobe)編碼;

      4)網(wǎng)絡(luò)通過SpaceWire路由器連接一定數(shù)量的SpaceWire結(jié)點(diǎn),節(jié)點(diǎn)可以通過SpaceWire電纜直接相連或通過SpaceWire路由器與其他SpaceWire節(jié)點(diǎn)或路由器相連;

      5)SpaceWire總線標(biāo)準(zhǔn)ECSS-E-50-ST-12C涉及物理層、信號層、字符層、交換層、數(shù)據(jù)包層、網(wǎng)絡(luò)層共6層協(xié)議,對應(yīng)OSI模型中的物理層和數(shù)據(jù)鏈路層。

      2 演示系統(tǒng)組成及結(jié)構(gòu)

      2.1 系統(tǒng)組成

      基于SpaceWire總線網(wǎng)絡(luò)圖像傳輸演示系統(tǒng)如圖1所示,主要包括4個星上模擬設(shè)備、1個監(jiān)控平臺、1個數(shù)據(jù)顯示平臺。4個模擬設(shè)備分別是模擬綜管設(shè)備、模擬相機(jī)設(shè)備、模擬數(shù)傳設(shè)備、SpaceWire路由器;監(jiān)控平臺用于向模擬綜管設(shè)備發(fā)送指令并接收模擬綜管設(shè)備的響應(yīng)數(shù)據(jù);數(shù)據(jù)顯示平臺用于接收顯示模擬數(shù)傳設(shè)備發(fā)送的數(shù)據(jù)。

      圖1 系統(tǒng)總體組成

      2.2 系統(tǒng)設(shè)備硬件結(jié)構(gòu)

      設(shè)備采用三星公司的ARM9內(nèi)核處理器S3C2440[2],工作頻率最高達(dá)到400 MHz,具有低功耗、高速的處理計算能力,根據(jù)演示系統(tǒng)功能配置以下外設(shè)資源,設(shè)備的基本硬件框圖如圖2所示。

      圖2 模擬設(shè)備硬件基本框圖

      FPGA采用Xilinx Spartan系列的XC3S1000芯片,封裝支持SpaceWire總線的IP核,實現(xiàn)了SpaceWire總線的底層協(xié)議。

      NAND Flash采用K9F2G08芯片,該存儲芯片存儲容量高達(dá)256 Mbyte,而且具有價格低、讀寫速度快及可靠的耐用性。主要存儲u-boot引導(dǎo)代碼、Linux內(nèi)核以及文件系統(tǒng)。

      SDRAM選用H57V2562GTR芯片,為內(nèi)核運(yùn)行提供運(yùn)行空間。

      以太網(wǎng)接口電路使用DM9000網(wǎng)絡(luò)控制芯片,用于NFS服務(wù)和數(shù)據(jù)UDP協(xié)議傳輸。

      在相機(jī)設(shè)備中的USB接口上外接ZC0301芯片的USB接口攝像頭實現(xiàn)圖像采集。

      2.3 系統(tǒng)設(shè)備軟件架構(gòu)

      系統(tǒng)軟件在Linux操作系統(tǒng)基礎(chǔ)上構(gòu)建,系統(tǒng)軟件架構(gòu)如圖3所示,從底向上依次為u-boot,Linux操作系統(tǒng),設(shè)備驅(qū)動程序和SpaceWire網(wǎng)絡(luò)服務(wù)程序。系統(tǒng)上電后,u-boot初始化硬件設(shè)備,加載Linux內(nèi)核;SpaceWire網(wǎng)絡(luò)服務(wù)程序可以實現(xiàn)采集的圖像數(shù)據(jù)在SpaceWire網(wǎng)絡(luò)各節(jié)點(diǎn)間的傳輸。

      圖3 系統(tǒng)軟件架構(gòu)

      3 演示系統(tǒng)軟件移植

      3.1 Linux操作系統(tǒng)移植

      Bootloader引導(dǎo)程序選取u-boot-2010.09版本,該版本能夠很好地支持S3C2410處理器的架構(gòu)。S3C2440和S3C2410具有的相似性簡化了移植過程,提高了移植效率,在移植過程中添加了S3C2440配置、NAND Flash的啟動支持和DM9000的支持[3]。

      系統(tǒng)內(nèi)核采用linux-2.6.33版本,支持V4L2驅(qū)動框架,集成USB和ZC0301攝像頭驅(qū)動,方便了移植工作。通過給linux-2.6.33版本內(nèi)核文件打補(bǔ)丁使其支持Yaffs2文件格式,在內(nèi)核選項圖像選單中,系統(tǒng)選擇ARM920T,CPU類型選擇S3C2440,驅(qū)動程序選中NAND Flash,DM9000,ZC0301P Camera。

      文件系統(tǒng)采用Yaffs2文件系統(tǒng),該系統(tǒng)是針對NAND Flash設(shè)計的嵌入式文件系統(tǒng),適用于大容量存儲設(shè)備,內(nèi)存空間占用小、讀/寫速度快,性能優(yōu)越且易于移植。

      3.2 MJPG-streamer視頻服務(wù)器的移植

      MJPG-streamer是一款基于IP地址的視頻流服務(wù)器,綁定了一個輸入插件和多個輸出插件,通過插件實現(xiàn)從網(wǎng)絡(luò)攝像頭獲取JPEG格式的圖像并傳輸至客戶端[4]。系統(tǒng)移植MJPG-streamer視頻流服務(wù)器主要調(diào)用了input_uvc輸入組件和out_http輸出組件,程序流程如圖4所示。

      4 Linux下FPGA設(shè)備驅(qū)動設(shè)計

      4.1 Linux設(shè)備驅(qū)動工作原理

      Linux 中設(shè)備被當(dāng)作文件進(jìn)行處理,應(yīng)用層只需要獲得設(shè)備的文件描述符,通過系統(tǒng)調(diào)用就可完成對硬件設(shè)備的操作。這些由驅(qū)動程序完成從而使應(yīng)用程序不必關(guān)心過多的硬件細(xì)節(jié)。應(yīng)用程序發(fā)出系統(tǒng)調(diào)用指令后,會從用戶態(tài)轉(zhuǎn)換到內(nèi)核態(tài),通過內(nèi)核將系統(tǒng)調(diào)用轉(zhuǎn)換為對物理設(shè)備的操作[5]。

      圖4 MJPG-streamer程序流程圖

      用戶進(jìn)程通過設(shè)備文件同硬件設(shè)備打交道,對設(shè)備文件的操作就是一些系統(tǒng)調(diào)用,對于FPGA驅(qū)動來說,需要一個非常重要的數(shù)據(jù)結(jié)構(gòu)(file_operations)將系統(tǒng)調(diào)用與驅(qū)動程序關(guān)聯(lián)起來。數(shù)據(jù)結(jié)構(gòu)中包括了對FPGA進(jìn)行各種操作的函數(shù)指針,如open(),read(),write(),ioctl()等。

      4.2 系統(tǒng)FPGA設(shè)備驅(qū)動開發(fā)

      在SpaceWire總線網(wǎng)絡(luò)圖像傳輸系統(tǒng)的各個設(shè)備設(shè)計中,采用S3C2440作為主處理器,使用Xilinx公司的XC3S1000對其進(jìn)行FPGA擴(kuò)展,使系統(tǒng)支持SpaceWire總線傳輸功能。FPGA與ARM連接如圖5所示,S3C2440提供的主要連接有32位寬數(shù)據(jù)總線和27位寬地址總線,以及讀、寫、中斷和片選控制線等。

      圖5 FPGA與ARM接口電路

      1)設(shè)備驅(qū)動的初始化

      初始化模塊在內(nèi)核啟動時主要負(fù)責(zé)初始化FPGA,由函數(shù)module_init()和module_exit()兩部分實現(xiàn)。系統(tǒng)中XC3S1000位于nGCS3上,對應(yīng)的物理地址為0x18000000-0x20000000,共128 Mbyte靜態(tài)地址空間。將FPGA主設(shè)備號定義為零,使操作系統(tǒng)隨機(jī)為該設(shè)備分配主設(shè)備號。

      2)設(shè)備驅(qū)動地址的映射

      驅(qū)動程序不能直接通過物理地址訪問FPGA的I/O內(nèi)存資源,需將物理地址映射到虛擬地址空間進(jìn)而實現(xiàn)訪問這些I/O內(nèi)存資源。FPGA初始化通過ioremap()完成物理地址到內(nèi)核空間的映射。本系統(tǒng)FPGA的片選使能控制信號為nGCS3,對應(yīng)的起始地址為0x18000000。

      3)驅(qū)動程序控制接口函數(shù)

      ioctl()用來設(shè)置FPGA內(nèi)部參數(shù),其中部分設(shè)置命令如表1所示,不同的命令對應(yīng)不同的cmd參數(shù),在ioctl()中采用switch(cmd)實現(xiàn)對FPGA參數(shù)的設(shè)置及狀態(tài)的讀取。

      表1 ioctl命令字

      5 SpaceWire網(wǎng)絡(luò)服務(wù)程序設(shè)計

      演示系統(tǒng)將模擬綜管設(shè)備設(shè)計為主控設(shè)備,將模擬相機(jī)設(shè)備、模擬數(shù)傳設(shè)備設(shè)計為從控設(shè)備。系統(tǒng)SpaceWire網(wǎng)絡(luò)服務(wù)程序分為主控SpaceWire網(wǎng)絡(luò)服務(wù)程序和從控SpaceWire網(wǎng)絡(luò)服務(wù)程序兩部分。

      5.1 從控SpaceWire網(wǎng)絡(luò)服務(wù)程序?qū)崿F(xiàn)功能

      1)通過移植MJPG-streamer視頻服務(wù)器軟件完成網(wǎng)絡(luò)圖像的采集并傳輸JPEG格式的圖像至客戶端程序,其中模擬相機(jī)設(shè)備調(diào)用input_uvc組件,模擬數(shù)傳設(shè)備調(diào)用out_http輸出組件。

      2)完成從控設(shè)備間的信息交互以及SpaceWire網(wǎng)路各結(jié)點(diǎn)間的數(shù)據(jù)傳輸。

      5.2 主控SpaceWire網(wǎng)絡(luò)服務(wù)程序?qū)崿F(xiàn)功能

      1)通過收發(fā)線程完成主控設(shè)備與從控設(shè)備的信息交互。主控設(shè)備通過SpaceWire傳輸協(xié)議可以快速獲取新接入設(shè)備的信息,完成對新接入設(shè)備的識別。同時從控設(shè)備也可以獲取主控設(shè)備的相關(guān)設(shè)備參數(shù)。

      2)接收UDP接口服務(wù)程序的轉(zhuǎn)發(fā)命令[6],完成對SpaceWire網(wǎng)絡(luò)中設(shè)備的數(shù)據(jù)傳輸控制。主控設(shè)備在對所有網(wǎng)絡(luò)設(shè)備進(jìn)行信息交互的基礎(chǔ)上,為從控設(shè)備分配SpaceWire網(wǎng)絡(luò)中的參數(shù),包括網(wǎng)絡(luò)地址、通信速率、發(fā)起數(shù)據(jù)傳輸?shù)葏?shù),從而控制從控設(shè)備的數(shù)據(jù)傳輸。程序流程如圖6所示。

      圖6 主控SpaceWire網(wǎng)絡(luò)服務(wù)程序流程

      6 系統(tǒng)測試

      將系統(tǒng)設(shè)備連接并上電(如圖7所示),監(jiān)控平臺完成對插入設(shè)備的識別顯示后,設(shè)置載荷數(shù)據(jù)傳輸路徑配置指令,圖像數(shù)據(jù)從端口1通過SpaceWire路由器發(fā)送到端口5,端口5上的模擬數(shù)傳設(shè)備將接收到的模擬相機(jī)設(shè)備拍攝的圖像轉(zhuǎn)發(fā)至數(shù)傳顯示平臺。在數(shù)傳顯示平臺打開MJPG-streamer文件夾中的viewer軟件,輸入對應(yīng)的IP地址和端口號,點(diǎn)擊connect可以看到流暢的視頻圖像(如圖8所示)。示波器在SpaceWire鏈路建立時采集的數(shù)據(jù)波形如圖9所示,最小時寬為5 ns時,數(shù)據(jù)脈沖為200 MHz,即數(shù)據(jù)傳輸速率可達(dá)200 Mbit/s,高于1553B或CAN總線的傳輸速率(一般不超過2 Mbit/s)。

      7 小結(jié)

      目前,SpaceWire總線技術(shù)已被歐空局、美國航天局在多個航天任務(wù)中使用。文中搭建了一種基于SpaceWire總線網(wǎng)絡(luò)圖像傳輸系統(tǒng),模擬了圖像數(shù)據(jù)在SpaceWire網(wǎng)絡(luò)高速可靠的傳輸,簡化了設(shè)備的連接,并具有良好的可擴(kuò)展性。

      [1]European Cooperation for Space Standardization.(Standard ECSS-E-50-12A)SpaceWire,Links,Nodes,Routers and Networks(Issue 1)[S].2003.

      [2]S3C2440X RISC MICROPROCESSOR date sheet[EB/OL].[2012-10-20].http://www.alldatasheet.com/datasheet-pdf/pdf/93102/SAMSUNG/S3C2440X.html.

      [3]YAGHMOUR K.Building embedded Linux system[M].New York:O’Reilly & Associates,2003.

      [4]陳書益,黃永慧.開源視頻服務(wù)器軟件MJPG-streamer的研究和應(yīng)用[J].電子設(shè)計工程,2012,20(5):172-176.

      [5]李俊.嵌入式Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2008.

      [6]劉暢,彭楚武.Linux下的UDP協(xié)議編程[J].儀表技術(shù),2005(4):62-64.

      猜你喜歡
      服務(wù)程序數(shù)傳驅(qū)動程序
      基于移動終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計
      基于移動終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計
      基于數(shù)傳電臺的靶彈測控系統(tǒng)設(shè)計
      基于C#的進(jìn)程守護(hù)程序的設(shè)計
      視聽(2020年3期)2020-06-11 14:28:18
      嫦娥衛(wèi)星數(shù)傳副瓣信號的干涉測量研究與精度驗證
      載人航天(2019年1期)2019-03-07 01:41:02
      高速數(shù)傳電纜散射參數(shù)的測試及半實物仿真的分析與研究
      電子器件(2015年5期)2015-12-29 08:43:30
      水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
      頻率偏置對Ka頻段圓極化頻率復(fù)用數(shù)傳鏈路的影響
      航天器工程(2014年5期)2014-03-11 16:35:56
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      贡山| 济阳县| 宜宾市| 盐边县| 资溪县| 五家渠市| 长岛县| 海盐县| 镇宁| 道真| 徐闻县| 台江县| 桃园市| 竹北市| 南安市| 敖汉旗| 安庆市| 沁源县| 康定县| 泾阳县| 邓州市| 二连浩特市| 邵阳市| 板桥市| 龙海市| 新营市| 陕西省| 乐山市| 孟州市| 商丘市| 陆河县| 方城县| 莫力| 册亨县| 大厂| 宿松县| 宣恩县| 德惠市| 晋宁县| 腾冲县| 长汀县|