基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)_第1頁
基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)_第2頁
基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)_第3頁
基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)_第4頁
基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于Hi3510 和無線發(fā)送模塊的視頻傳輸設(shè)計與實現(xiàn)    摘 要:為了在嵌入式系統(tǒng)中增加無線通信的功能,建立嵌入式系統(tǒng)的無線網(wǎng)絡(luò),可以使用3G無線發(fā)送模塊。本文介紹了在海思Hi3510 嵌入式linux 系統(tǒng)下添加聯(lián)芯科技DTM6211 無線發(fā)送模塊用以發(fā)送視頻數(shù)據(jù)的設(shè)計,分析了系統(tǒng)各組成部分的功能與實現(xiàn)方法,給出了系統(tǒng)的整體結(jié)構(gòu)框圖,程序流程圖和嵌入式Linux 下無線發(fā)送模塊設(shè)備驅(qū)動解決辦法。關(guān)鍵詞:Hi3510;無線發(fā)送模塊;嵌入式linux中圖分類號:TN919.811引言近幾年,國內(nèi)在嵌入式無線聯(lián)網(wǎng)領(lǐng)域發(fā)送數(shù)據(jù)大都基于802.x 或WI-FI

2、 技術(shù),帶以表現(xiàn)的是無限網(wǎng)卡或無線路由器。目前也出現(xiàn)了基于手機(jī)無線發(fā)送數(shù)據(jù)的嵌入式相關(guān)設(shè)計,但大都是基于2.5G 技術(shù)的短信方式的監(jiān)控的設(shè)計。本文在此基礎(chǔ)上設(shè)計了一個嵌入式linux 系統(tǒng)下利用3G 無線發(fā)送模塊在移動網(wǎng)絡(luò)上發(fā)送視頻圖像的系統(tǒng)1。本文涉及海思公司推出的一款SOC 高性能視頻編解碼芯片Hi3510,其具備強(qiáng)大的視頻處理功能,可實現(xiàn)D1 畫質(zhì)的實時編碼及傳輸。隨著中國3G 時代的到來,高寬帶及多媒體技術(shù)獲得高速發(fā)展,手機(jī)上語音視頻數(shù)據(jù)的傳輸成為了人們了解外界事物的一條重要渠道,本文正是基于該芯片的優(yōu)越性,從軟件和硬件上設(shè)計實現(xiàn)了一個在3G 網(wǎng)絡(luò)上傳輸視頻的系統(tǒng)。2系統(tǒng)總體設(shè)計本文選

3、用海思公司Hi3510 作為對視頻數(shù)據(jù)的編碼處理,選用聯(lián)芯科技科技DTM6211無線模塊作為對視頻數(shù)據(jù)的發(fā)送處理。其整體工作原理是:攝像頭采集的數(shù)據(jù)通過PAL 制的CVBS 信號輸入工作在主模式TW2834 芯片中,經(jīng)A/D 轉(zhuǎn)換后,由BT.656 接口接收轉(zhuǎn)換后為圖1 系統(tǒng)工作原理CIF 格式的信號,并通過AHB 總線把接收到得圖像數(shù)據(jù)存入到外存中(SDROM);Hi3510讀取外存中視頻數(shù)據(jù),進(jìn)行H.264 編碼,包括幀內(nèi)預(yù)測、幀間預(yù)測、DCT 變換、量化、熵編碼等,得到編碼后裸碼流存儲到外設(shè)中;將外設(shè)中視頻數(shù)據(jù)通過USB 端口經(jīng)測試版發(fā)送到無線模塊中,其中關(guān)于無線模塊的UDP 數(shù)據(jù)傳輸設(shè)

4、置控制工作是通過Hi3510 的RS232接口經(jīng)測試版發(fā)送AT 指令控制,然后無線模塊將數(shù)據(jù)封裝成符合UDP 格式的IP 數(shù)據(jù)包,最后利用PS 業(yè)務(wù)發(fā)送到網(wǎng)絡(luò)。3系統(tǒng)硬件設(shè)計3.1 視頻處理模塊視頻處理模塊采用Hi3510,是海思公司推出的一款基于H.264 BP 算法的視頻壓縮芯片,該芯片采用ARM+DSP+硬件加速引擎的多核高集成度的SoC 構(gòu)架,具備強(qiáng)大的視頻處理功能??蓪崿F(xiàn)DVD 畫質(zhì)的實時編碼,能自適應(yīng)各種網(wǎng)絡(luò)環(huán)境,確保畫面的清晰度和實時性,低碼率的H.264 編碼技術(shù)極大減少了網(wǎng)絡(luò)存儲空間,并通過集成DES/3DES 加解密硬件引擎確保網(wǎng)絡(luò)安全2。圖 2 Hi3510 邏輯框圖Hi

5、3510 采用0.13m 工藝、LFBGA400 封裝,大小為19×19mm,引腳間距為0.8mm,片內(nèi)集成了包括數(shù)字視頻接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR等接口,滿足各種應(yīng)用場景設(shè)備開發(fā)的同時能大大降低設(shè)備的BOM 成本。3.2 視頻發(fā)送模塊DTM6211 60 0.5mm 間距的板對板連接器和一個天線連接器,與天線連接器相匹配的線纜可實現(xiàn)與天線MHF Plug Cable Assembly 的連接。串口通信采用RS232,可以與Hi3510串口相連接,模塊采用5 線制接法,默認(rèn)開啟硬件流控。USB 接口可以作為通訊口和調(diào)試口,作為

6、USB Device 設(shè)備,遵循USB2.0 協(xié)議規(guī)范,最高速率支持FULL SPEED(12Mbps)。發(fā)送部分采用SMA(FEMALE)接口饋入天線,外接天線可以采用棒狀或吸盤天線。3圖3 無線發(fā)送模塊內(nèi)部原理圖3.3 模塊硬件連接Hi3510 和DTM6211 之間通過測試板進(jìn)行連接,測試板主要作用是連接Hi3510 和DTM6211 之間的USB 和UART 之間的信號作用,起到一個物理接口轉(zhuǎn)換作用。同時也是起到存放USIM 卡的作用。USB 和UART 之間的連接,只需把Hi3510 板的USB 口和RS232接口連接到測試板對應(yīng)接口,DTM6211 插針接口直接插到測試板上。其中測

7、試板中USIM卡的硬件電路圖如圖4:圖 4 USIM 卡硬件電路圖DTM6211 模塊的射頻接口包括一個天線連接器,通過線纜可實現(xiàn)與外部天線的連接,天線連接器采用I-PEX 公司的20279-001E-01 , 連接線纜采用蘇州萬旭電子HM5A-12289-A1DE 的50mm的長雙端子線纜,天線連接器端Plug Cable Assembly 使用MHF Plug Cable Assembly。4系統(tǒng)軟件設(shè)計4.1 操作系統(tǒng)與驅(qū)動設(shè)計本文選用 Hi3510 自帶嵌入式Linux-2.6.14 內(nèi)核操作系統(tǒng),開發(fā)前需要搭建開發(fā)環(huán)境,可以安裝一款Fedoral 9.0 服務(wù)器,同時建立交叉編譯器、

8、安裝SDK 包。SDK 是基于Hi3510視頻評估板的軟件開發(fā)工具,包含了在Linux 相關(guān)應(yīng)用開發(fā)時使用的各種工具及其源代碼,是用戶開發(fā)中最基本的平臺軟件。通過make menuconfig 配置內(nèi)核可實現(xiàn)系統(tǒng)的量身定做,去除本系統(tǒng)無關(guān)部分,縮減內(nèi)核,最后將配置后的內(nèi)核使用mkimage 工具做成映像文件,通過網(wǎng)口下載到Hi3510 中。無線發(fā)送通過重新配置內(nèi)核Usb Serial Driver 可實現(xiàn)其在內(nèi)核的驅(qū)動部分,但需要把UsbDriver 的PID 和VID 設(shè)置成本模塊的ID,即需要把PID 和VID 號增加到文件driversusbserial option.c 的結(jié)構(gòu)體sta

9、tic struct usb_device_id 中,重新編譯后便可支持無線發(fā)送模塊4。ID 更改步驟如下:path:linux-2.6.14driversusbserialfile:option.c結(jié)構(gòu)體:定義兩個宏(DTM6211 的VID:0x1AB7 PID:0x6000):#define DTM6211_OPTION_VENDOR_ID 0x1AB7#define DTM6211_ OPTION_PRODUCT_COLT 0x6000增加到結(jié)構(gòu)體中static struct usb_device_id option_ids = USB_DEVICE(OPTION_VENDOR_ID,

10、 OPTION_PRODUCT_COLT) , USB_DEVICEDTM6211_OPTION_VENDOR_I , DTM6211_OPTION_PRODUCT_COLT) ,4.2 視頻處理軟件設(shè)計視頻處理軟件主要是對采集過來的視頻數(shù)據(jù)進(jìn)行H.264 壓縮,編碼中涉及的參數(shù)需調(diào)用SDK 提供的API 進(jìn)行配置,其中包括圖像組長度(GOP)、編碼幀率(fps)、量化參數(shù)(maxqp)、比特率(bps)和用戶數(shù)據(jù)的插入等5,然后將壓縮過的裸流,發(fā)送到USB 端口。其設(shè)計總流程如圖5:圖5 視頻處理總流程其中關(guān)于配置攝像頭部分,完成normal 為PAL 制式,mode 為GIF 格式的選擇,

11、其主要程序為:step 1:fd = open("/dev/misc/tw2834dev",O_RDWR); /*: Open the A/D device, and config it.Default is TW2834*/step 2:if (mode != QVGA) && (mode != VGA) && (mode != SXGA)/*: config thd A/D devide normal(PAL/NTSC)*/step 3:switch (mode) /*: config VI mode(D1/CIF.)*/case CIF

12、:hiRet = ioctl(fd,TW2834_SET_4CIF,&val);break;配置輸入公共屬性部分,主要完成工作模式為從模式,VIU 與A/D 芯片的接口類型BT656,通道分布模式四路CIF,BT656 為場模式等工作,其主要程序為:/*step 1: Open video encoder*/hiRet = HI_VENC_Open(&venc_init);/*step 2: Overlay must be close ,before VI pulic attribute is configed*/for (i = 0; i < 4; i+ ) HI_VI

13、_DisableOverlay(i);/*step 3: VI chnnel must be disable, before VI public attribute is configed*/for (i = 0; i < 4; i+ )HI_VI_DisableVIChn(i);/*step 4: VI must be disable, before VI public attribute is configed*/hiRet = HI_VI_DisableVI();/*step 5: config public attribute for different mode*/struPu

14、bAttr.enMaster = VIDEO_CONTROL_MODE_SLAVER;struPubAttr.enInputNorm = VIDEO_ENCODING_MODE_PAL;struPubAttr.enInputMode = VI_MODE_BT656 ;struPubAttr.u32CapSel = VI_CAP_BOTH; /場模式選擇*/struPubAttr.u32Bufsize = 10 * 1024 * 1024; /*視頻輸入消耗的內(nèi)存*/struPubAttr.bDownScaling = HI_FALSE; /*輸入圖像水平壓縮*/struPubAttr.u32I

15、nputOption = VI_IA_L24; /*四路CIF 輸入*/*step 6: enable VI public attribute*/HI_VI_EnableVI();VSTART 輸入通道號之后需要創(chuàng)建一個線程,使用pthread_create()函數(shù),隨后執(zhí)行線程venc_start(),其核心程序如下6:while ( 1 )/*get stream with BLOCK way*/hiRet = HI_VENC_GetStream(venc_chn, &venc_stream, HI_TRUE);/* send data to usb device DTM6211*

16、/for ( i = 0 ; i < venc_stream.u32DataNum ; i+ )aucWriteLen = fwrite(venc_stream.struDatai.pAddr,venc_stream.struDatai.u32Len, 1, pfile); /*指針pfile 指向DTM6211 所代的USB 接口文件/dev/ttyUSB*/*step 5: release stream buffer*/hiRet = HI_VENC_ReleaseStream(venc_chn, &venc_stream);4.3 無線模塊控制設(shè)計無線模塊 DTM6211

17、內(nèi)提供TCP/IP 協(xié)議棧,可利用PS 業(yè)務(wù)通道發(fā)送IP 包,以AT 指令配置和控制TCP/IP 協(xié)議棧7。利用APP 處理器配置TCP/IP 相關(guān)環(huán)境,注冊UDP 端口,APP 處理器將要發(fā)送的數(shù)據(jù)直接發(fā)給模塊,由模塊將數(shù)據(jù)封裝成符合UDP 格式的IP 包,然后利用PS 業(yè)務(wù)通道發(fā)送給3G 網(wǎng)絡(luò)。其控制流程如下圖6:圖6 無線模塊控制流程開機(jī)初始化部分,主要完成激活SIM 卡、TCP/IP 協(xié)議棧和注冊網(wǎng)絡(luò)工作,其主要代碼如下:AT+CFUN=5 /激活SIM/USIM 卡,可以根據(jù)這條指令檢測SIM/USIM 卡是否在位DUSIMU:1OKAT+CFUN=1 /激活協(xié)議棧OKDACTI:2

18、        +CREG:2+CREG:1.”0012”.”0044”+CIEV:2,3+CIEV:8,0AT+COPS=0 /注冊網(wǎng)絡(luò)OK激活場景移動部分完成主要完成PDP 和context 參數(shù)設(shè)置,以建立用戶面的分組傳輸路由,其主要程序如下:AT+CGDCONT=1,"IP",0,0 /設(shè)置PDP 參數(shù)和OKAT+CGEQREQ=1,2,64,64,0,0,0,0,"0E0","0E0",0,0 /設(shè)置ContexOKATDSTT=1 /啟動TCP

19、 任務(wù)OKATDIICR /激活移動場景OK建立監(jiān)聽端口號,指定UDP 模式下要發(fā)往數(shù)據(jù)的目的地址和端口,最后還需要指定發(fā)送的字節(jié)數(shù),其主要代碼如下:ATDLPORT=1,3000 /設(shè)置UDP 模式下本地監(jiān)聽端口號OKATDIPSTART=2,<IPOKAddress>,<Port> /指定UDP 模式下要發(fā)送數(shù)據(jù)的目/的SocketOKATDIPSEND=<length> /指定要發(fā)送的數(shù)據(jù)>SEND OK傳輸完成后需使用命令A(yù)T+DSHUT=1 撤銷UDP 監(jiān)聽端口并去激活PDP。5結(jié)論采用 Hi3510+Linux 方案,其自帶的SDK 開發(fā)包

20、使得應(yīng)用程序開發(fā)的難度降低,同時Hi3510 本身采用了ARM+DSP+硬件加速引擎的技術(shù),具備強(qiáng)大的視頻處理功能,具有低成本,低開發(fā)難度優(yōu)點。配合DTM6211 無線發(fā)送模塊,通過AT 指令對數(shù)據(jù)進(jìn)行UDP 打包,最終流暢的將視頻數(shù)據(jù)包發(fā)送到3G 網(wǎng)絡(luò)上。參考文獻(xiàn)【1】 李文仲 ARM9 微控器與嵌入式無線網(wǎng)絡(luò)實戰(zhàn)M,北京:北京航空航天大學(xué)出版社,2008【2】 海思Hi3510 處理器用戶手冊MRevision132.海恩公司,2006【3】 DTM6211 模塊開發(fā)板使用手冊M聯(lián)芯科技科技,2009【4】 宋寶華設(shè)備驅(qū)動開發(fā)詳解M,北京:人民郵電出版社,2009【5】 畢厚杰,王健主編新

21、一代視頻壓縮編碼標(biāo)準(zhǔn)H.264/AVC(第二版)M,北京:人民郵電出版社,2009【6】 W.Richard Stevens,Stephen A.RagoAdvanced Programming in the UNIX EnviromentM.北京:人民郵電出版社, 2003【7】 王迎孟,衛(wèi)國 LC6311 AT Command Set User ManualZ,上海:聯(lián)芯科技有限公司,2009Design and implementation of video transmission based onHi3510 and wireless transmission moduleWang Shaolei, Cheng Yongqiang, Wang PengCollege of Information Engineering, Taiyuan University of Tech

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論