<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 無(wú)線(xiàn)實(shí)時(shí)的QQVGA視頻和拍攝系統設計

無(wú)線(xiàn)實(shí)時(shí)的QQVGA視頻和拍攝系統設計

作者: 時(shí)間:2007-07-09 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要 提出一種實(shí)用性較強的數字通信和。該兼顧了高速與低功耗,能在2.4 GHzISM頻段傳輸信號和1.3M像素的圖像數據;擴展性好,有廣闊的應用前景。
關(guān)鍵詞 nRF24L01 DSP

引 言
目前,射頻芯片多數應用于傳輸控制信號或靜態(tài)圖像.數據吞吐量不大,一般情況下未能充分發(fā)揮射頻芯片所具有的高數據傳輸率的特點(diǎn)。隨著(zhù)半導體制造技術(shù)的提高,出現了具備Mbps級的空中數據傳輸率且功耗很低的射頻芯片,使連續傳送多幅圖像成為町能。另外,無(wú)線(xiàn)通信技術(shù)發(fā)展迅速,人們不再滿(mǎn)足于實(shí)現音頻和圖像的無(wú)線(xiàn)傳輸,對無(wú)線(xiàn)視頻的要求也開(kāi)始出現,因而,采用高速射頻芯片的視頻系統將是未來(lái)數字無(wú)線(xiàn)通信的一大熱點(diǎn)。

對于數字視頻(實(shí)際上是每秒包含多幅圖像),國際上已經(jīng)制定了各種顯示標準,如QCIF(176144)、(160120)、QVGA(320240)、CTF(352288)、VGA(640480)、SXGA(1 2801 024)等。目前,高分辨率視頻的無(wú)線(xiàn)傳輸在技術(shù)上還不現實(shí),也沒(méi)有必要,因為高分辨率意味著(zhù)大面積的顯示材質(zhì),通常在便攜式無(wú)線(xiàn)通信設備中只要求達到一定的顯示面積即可,所以低分辨率的QCIF和QQVGA在可拍照手機、數碼相機、PDA等設備中最為流行。

本無(wú)線(xiàn)系統正是基于高速率射頻芯片的視頻通信系統,且具備即時(shí)功能;在視頻(連續)模式下采用QQVGA的分辨率傳輸視頻數據,為160120(@13fps),基本上能達到實(shí)時(shí)視頻的日的。在實(shí)際應用中,用戶(hù)可以在接收端的LCD中觀(guān)看(遠處的)發(fā)送端附近的景物。當見(jiàn)到感興趣的景物時(shí),按下按鈕稍等片刻,即可得到1.3M像素的圖像,方便實(shí)用。為簡(jiǎn)化,該系統只用了8位色深和RGB的數據格式,且未采用CCD攝像芯片,也未使用FPGA芯片進(jìn)行邏輯控制,節省了成本。

下面著(zhù)重講述以TMS320VC5402 DSP為控制核心的無(wú)線(xiàn)視頻通信系統,詳細描述DSP與攝像芯片以及DSP與射頻芯片這兩大部分的接口,分析中的要點(diǎn),最后給出部分DSP匯編代碼。

1 無(wú)線(xiàn)實(shí)時(shí)視頻系統的組成與工作原理
1.1 OV9640攝像芯片簡(jiǎn)介
OV9640是美國OmniVision公司推出的高性能CM0S圖像傳感器芯片.支持130萬(wàn)像素的圖像拍照和多種分辨率,包括l280960、VGA、QQVGA、CIF、QCIF等及多種數據輸出格式,如Raw RGB、YUV(4:2:2)、YcbCr(4:2:2)等;支持8位或16位數據輸出;通過(guò)SC-CB接口對其編程,可實(shí)現圖像處理的各種基本功能,譬如曝光控制、白平衡、色彩飽和、伽馬控制等;芯片電壓要求低,可應用于嵌入式移動(dòng)設備。

1.2 nRF24L01射頻芯片簡(jiǎn)介

nRF24L01是挪威Nordic公司的單片無(wú)線(xiàn)GFSK收發(fā)芯片,工作于2.4~2.5 GHz的ISM頻段,無(wú)線(xiàn)傳輸率最大為2Mbps,與MCU采用SPI接口進(jìn)行控制和數據傳輸。相比其上一代產(chǎn)品nRF2401,nRF24LOl的性能更為優(yōu)越,功耗更低。它最多能支持6路數據通道,且每條通道均支持Enhanced ShockBurst(ESB)技術(shù),具備自動(dòng)應糟(AACK)和自動(dòng)重發(fā)(ART)功能,減輕了MCU的負擔,降低了無(wú)線(xiàn)數據的丟包率,提高了雙向傳輸的效率。在開(kāi)啟ESB的情況下,nRF24L0l發(fā)送完數據包后將自動(dòng)切換到接收模式以等待對方的應答.并會(huì )根據寄存器的設定來(lái)實(shí)施自動(dòng)重發(fā)。

1.3 系統硬件電路

硬件電路由發(fā)送(獲取)端和接收(存儲顯示)端兩大部分組成,通過(guò)高速RF芯片實(shí)現在2.4 GHz頻段的無(wú)線(xiàn)鏈接。發(fā)送端以TMS320VC5402 DSP作為控制核心,OV9610攝像頭芯片作為視頻(或圖像)獲取前端,AT29LV1024 Flash ROM作為DSP自舉程序存儲芯片,K4S161622H IMB容量的SDRAM作為程序運行空間以及視頻數據緩沖,視頻數據最終通過(guò)射頻芯片nRF24LOl發(fā)射出去;接收端的硬件結構基本上與發(fā)送端一致,將前端的OV9640改換成后端的LCD顯示即可。整個(gè)系統的總體結構框圖如圖1所示。

1.4 系統工作原理和流程
1.4.1 發(fā)送端工作于視頻流模式

發(fā)送端由DSP作為核心控制芯片。DSP上電初始化,通過(guò)BootLoader把Flash ROM中的代碼加載到SDRAM中,實(shí)現系統的高速運行以加快數據的處理速度,并將HPI接口設定為通用I/O。然后,通過(guò)McBSPO緩沖串口將nRF24L0l設定為發(fā)送模式,把含有預定地址的數據包發(fā)送出占以檢測接收端,nRF24L01會(huì )自動(dòng)切換到等待應答信號的模式。若存在正確的接收端(地址相符),則nRF24L01通過(guò)INTO中斷通知DSP,使DSP重新將nRF24L01設定為發(fā)送模式,并立即對OV9640初始化,通過(guò)McBSPl緩沖串口來(lái)實(shí)現SCCB總線(xiàn),啟動(dòng)攝像頭并設定為連續幀模式。此時(shí)的分辨率為標準QQVGA,即160120(@8bit),最后,DSP把從D[7:O]獲得的8位并行數據轉化為串行格式,通過(guò)SDRAM緩沖和McBSP0送給nRF24L01,將視頻數據發(fā)射出去。若沒(méi)有檢測到正確的接收端(沒(méi)有INTO中斷發(fā)生),則DSP會(huì )一直等待INTO發(fā)生或直到用戶(hù)關(guān)閉電源。

1.4.2 發(fā)送端工作于拍攝模式
在視頻流傳輸過(guò)程中,nRF24LOl可以同時(shí)監聽(tīng)空中信號并自動(dòng)應答。若收到來(lái)自接收端的拍照通知(按下按鈕),則把OV9640設定為標準拍攝模式,分辨率為l280960(@8bit)。然后,DSP將nRF24L01設定為發(fā)送模式,并將此時(shí)的幀數據發(fā)送出去。圖像數據發(fā)送完成并等到接收確認信號后,系統將重新回到視頻流模式。若接收不成功,則nRF24LOl的自動(dòng)重發(fā)功能將確保數據傳輸的完整性。

1.4.3 接收端的工作流程
接收端上電初始化的情況基本與發(fā)送端一致,但要將nRF2dL01(按預定地址)設定為接收模式以接收檢測信號。檢測到相符的地址后,nRF24L0l的自動(dòng)應答功能會(huì )發(fā)送應答信號給發(fā)送端以確認收到信號,此時(shí)雙方“握手”成功。接著(zhù),通過(guò)INTO中斷通知DSP,使得DSP重新將nRF24LOl設定為接收模式以接收來(lái)自發(fā)送端的連續視頻流,并且打開(kāi)LCD模塊準備顯示視頻。最后DSP通過(guò)SDRAM緩沖視頻流,送給LCD顯示(若LCD等其他后端模塊為并行接口,則需要將數據轉化成并行數據格式)。至此,系統已經(jīng)能實(shí)現實(shí)時(shí)視頻數據的無(wú)線(xiàn)傳輸,實(shí)時(shí)視頻流的分辨率為QQVGAl60120(@13fps)。

在視頻流的顯示過(guò)程中,若用戶(hù)按下拍照按鈕,則產(chǎn)生INTl中斷通知DSP,DSP會(huì )將nRF24LOl設定為發(fā)送模式并發(fā)送拍照通知信號。收到應答信號后,nRP24L0l返回接收模式準備接收圖像數據,接收完成后會(huì )自動(dòng)發(fā)送確認信號以表示圖像數據接收成功。最后,DSP將圖像數據交由后端模塊處理。至此.系統實(shí)現了圖像的無(wú)線(xiàn)拍攝功能,拍照效果為1280960(@130萬(wàn)像素),基本上能滿(mǎn)足拍照要求。

視頻系統接收端和發(fā)送端的工作流程如圖2所示。

2 DSP的接口設計
2.1 DSP與OV9640的接口設計

該芯片使用OmniVision公司自主開(kāi)發(fā)的SCCB總線(xiàn)進(jìn)行控制,使用三線(xiàn)連接。其中SCCB_E為串口允許/禁止信號線(xiàn),SIO_C和SIO_D分別為串口時(shí)鐘線(xiàn)和數據線(xiàn)。系統中僅對OV9640進(jìn)行控制而不需要獲知其狀態(tài),采用DSP的McBSPO端口進(jìn)行連接,其中HD3用于打開(kāi)串口,BCLKX0和HDX0分別用于發(fā)送時(shí)鐘信號和控制數據。具體的硬件連線(xiàn)如圖3所示。

值得注意的是:
①使用DSP的HPI接口連接OV9640時(shí),為了獲得場(chǎng)頻、行頻和8位視頻輸出等信號,DSP的HPIENA引腳必須下拉,使得HD[7:0]能配置為通用I/o接口,才能實(shí)現對OV9640的啟?;蚬ぷ髂J娇刂?。
②通過(guò)修改OV9640的寄存器COMC,將輸出大小設定為1280960或者QQVGA。
③修改寄存器COMH,將輸出格式設定為8位的RGB格式,并設定為Master方式。
④FREX為連續幀模式的允許/禁止信號,但默認為禁止。應配置DSP的HD4引腳,將其電平拉高,然后再用HD3將EXPSTB引腳置高以實(shí)現連續幀的數據輸出;將FREX置低即可返回到(單幀)拍攝模式。
⑤計算數據傳輸率。該芯片輸出并行8位圖像信號以及場(chǎng)頻、行頻同步信號,視頻中的l幀圖像(160120)的大小是:
1601208=153600位/幀
如果以nRF24L01最大的發(fā)送速度2Mbps計算,則每秒可發(fā)送
2000000/153600≈13幀
即本系統能以160120(@13 fps)的速度傳輸視頻信號。
⑥輸出數據的并一串轉換。
OV9640輸出8位并行數據,而nRF24L01為串行接口,因而需要將并行數據串行化。8位并行數據格式為HREF、Bll、G2l、B22、G12……,HREF、G21、R22、G23、R24……。通過(guò)編程約定發(fā)送端與接收端的時(shí)序,可將從HD[2:0]得到的PCLK、HREF和VSYNC信號略去而無(wú)須計入無(wú)線(xiàn)傳輸之列。所以串行化時(shí),將每次從D[7:O]讀入的8位數據由高位到低位依次按順序放進(jìn)SDRAM緩沖中,再傳給nRF24LOl發(fā)送出去即可。

2.2 DSP與nRF24L01的接口設計
2.2.1 設計要點(diǎn)

DSP使用McBSPl與該芯片直接連接。其中CSN為SPI片選引腳,低電平有效,用DSP的XF引腳與CSN引腳連接;CE為收發(fā)模式選擇引腳,用HD7進(jìn)行高低電平控制。其他引腳的連線(xiàn)如圖3所示。在編程時(shí)需要注意:
①每次通過(guò)SPI向nRF24L01發(fā)送指令前,必須使CSN得到一次由高到低的電平跳
變,即每次執行指令后,都要將CSN置高才能繼續發(fā)送下一條指令。
②nRF24L01的SPI為下降沿鎖存數據,故應將McBSPl配置成“有延時(shí)的下降沿”。
③IRQ引腳為低電平有效,每次產(chǎn)生到DSP的中斷必須寫(xiě)“l(fā)”來(lái)清除。
④若發(fā)送端需要接收應答,則應當配置數據通道O來(lái)接收應答信號,且接收地址(RX_ADDR_PO)應當與發(fā)送地址(TX_ADDR)一致。
⑤芯片必須經(jīng)過(guò)Standby模式才能進(jìn)入TX或RX模式,故在TX和RX模式之間切換時(shí)應先將CE拉低以進(jìn)入Standby模式。
⑥寫(xiě)寄存器的指令只能在Powerdown或Standby模式下執行,故在修改寄存器值前也應當將CE拉低。
⑦以下的2.2.2和2.2.3均未開(kāi)啟AACK和ART功能。因為系統在連續視頻流方式運行時(shí),只要求得到高數據傳輸率以滿(mǎn)足實(shí)時(shí)性,而并不需要糾錯重發(fā)。但在拍攝方式下,則應該打開(kāi)這兩項功能,以確保圖像數據的完整性。

2.2.2 ESB發(fā)送數據
①將配置位PRIM_RX置低;
②保持CSN為低電平,送入接收端的地址(TX_ADDR)和數據(TX_PLD);
③將CE置高,開(kāi)啟數據發(fā)送;
④數據發(fā)送完畢,產(chǎn)生TX_DS中斷;
⑤CE置低,可進(jìn)入Standby模式。

2.2.3 ESB接收數據
①配置位PRIM_RX置高,CE置高,則130μs后,nRF24L01開(kāi)始監聽(tīng)空中信號;
②收到合法的數據包后RX_DR產(chǎn)生中斷;
③狀態(tài)寄存器中的RX_P_NO記錄所接收的數據通道;
④CE置低可進(jìn)入Standby模式;
⑤MCU通過(guò)SPI得到數據。

2.2.4 部分程序示例

(1)寫(xiě)nRF24L01寄存器


(2)讀nRF24L01寄存器

(3)初始化nRF24L01(示倒)
在(1)和(2)中定義了寄存器存取指令,即可用“寫(xiě)”指令對該芯片進(jìn)行初始化。

(4)發(fā)送數據
假設在(3)中已經(jīng)將數據寬度定為32字節,則W_TX_PAYLOAD.macro tx_start_byte

(5)接收數據
同樣假設在(3)中已經(jīng)將數據寬度定為32字節,則R_RX_PAYLOAD.macro rx_start_byte


結語(yǔ)
以DSP為核心的無(wú)線(xiàn)通信系統,在硬件上采用了高速低功耗的無(wú)線(xiàn)射頻芯片nRF24L01、高性能的TMS320VC5402數字信號處理芯片以及多功能的攝像芯片OV9640,使其能夠實(shí)現強大的視頻通信功能,并且在軟件層次上優(yōu)化設計,以縮短等待延遲和降低功耗。本系統的擴展性很強,例如,加裝語(yǔ)音編解碼芯片即可實(shí)現無(wú)線(xiàn)音頻和視頻的同步傳輸;加裝視頻壓縮芯片可以提高幀速率;同時(shí)使用兩片(或兩片以上)的無(wú)線(xiàn)收發(fā)芯片能實(shí)現全雙工,更能提高空中數據傳輸率;改用高分辨率的攝像芯片即可獲得更優(yōu)質(zhì)的視頻和圖像效果等,但也提高了硬件連線(xiàn)和軟件設計的難度。

總之,無(wú)線(xiàn)視頻和無(wú)線(xiàn)圖像通信是未來(lái)無(wú)線(xiàn)領(lǐng)域的重點(diǎn)發(fā)展方向。本設計實(shí)現
了在一定幀速率下的實(shí)時(shí)QQVGA視頻傳輸,對今后同類(lèi)系統的設汁有一定的參考價(jià)值。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>