數(shù)字無線視頻通信系統(tǒng)的設(shè)計(jì)
關(guān)鍵詞:nRF2401 無線視頻信號(hào) AT89C52 攝像頭7260
目前,國(guó)內(nèi)安裝的可視門鈴多數(shù)是有線的,或是通過類似于電視系統(tǒng)的調(diào)幅或調(diào)頻方式來發(fā)送圖像的。出于成本的考慮,這些可視門鈴系統(tǒng)傳輸距離受限制,信號(hào)質(zhì)量不高,抗干擾性差。隨著用戶要求的提高,尤其是在大型別墅中,門鈴和圖像接收端相距較遠(yuǎn),這就需要將有線變?yōu)闊o線,模擬信號(hào)調(diào)幅或調(diào)頻無線傳輸變?yōu)閿?shù)字信號(hào)調(diào)制(FSK,QFSK,GFSK)無線傳輸。FSK(Frequency Shift Keying)即鍵控頻移,QFSK(Quadrature Frequency Shift Keying)即正交鍵控頻移,GFSK(Guassian Frequency Shift Keying)即高斯鍵控頻移。通過系統(tǒng)的數(shù)字化,圖像信號(hào)質(zhì)量得到提高,抗干擾性得到大大加強(qiáng);同時(shí),整個(gè)系統(tǒng)的體積相比其它的傳輸方式將會(huì)減小很多,因此,具有廣泛的商業(yè)應(yīng)用價(jià)值和發(fā)展前景。
由于我們的系統(tǒng)用于別墅單用戶的可視門鈴,因此對(duì)圖像的連續(xù)性要求不高。設(shè)想一直,在戶主聽到門鈴響,再到門口查看監(jiān)視器的畫面最少需要3s。只需要傳輸1幀圖像到監(jiān)視終端,讓戶主看到來訪者是誰就可以了。因此由于成本的原因,我們會(huì)把采集到的圖像直接傳輸出去而中間不會(huì)加上昂貴的圖像壓縮解壓縮芯片。
整個(gè)數(shù)字無線視頻通信系統(tǒng)主要由三個(gè)模塊構(gòu)成:圖像采集模塊、數(shù)據(jù)傳輸模塊、圖像接收顯示模塊,如圖1所示。
1 圖像采集模塊
該模塊的硬件框圖如圖2所示。
攝像頭7620是256色30萬像素的CMOS攝像頭。它輸出并行16位圖像信號(hào),包括8位的色度信號(hào)、8位的亮度信號(hào)以及場(chǎng)同步與行同步信號(hào)。1幀圖像(640×480)的尺寸是640×480×16=4 915 200(位)
如果以RF發(fā)送模塊nRF2401的最大速度1Mbps來計(jì)算,發(fā)送1幀圖像所要的時(shí)間為
4 915 200/1 000 000=4.9152(s)
這顯然太長(zhǎng)了。不過,7620還有一種工作模式就是,通過降低分辨率來減少圖像尺寸。這種模式提供了320×240的圖像。這樣,圖像數(shù)據(jù)不到3s就可以到達(dá)接收端,滿足可視門鈴的要求。
圖3
8位色度信號(hào)、8位亮度信號(hào)以及場(chǎng)同步與行同步信號(hào)先通過FPGA緩存到RAM,同時(shí)轉(zhuǎn)換為異步串行數(shù)據(jù),通過RF模塊發(fā)送。圖3是7620的工作時(shí)序。
圖3中,Y信號(hào)是8位亮度信號(hào),UV是8位色度信號(hào)。VSYNC是場(chǎng)同步信號(hào),HREF是行同步信號(hào)。
FPGA的工作是完成圖像數(shù)據(jù)的緩存控制以及啟動(dòng)RF模塊發(fā)送圖像數(shù)據(jù)。這里,采用Altera公司的EPF6016。它是一顆16000門的FPGA。圖4為FPGA與攝像頭7260、MCU以及RF模塊的連接示意圖。
圖4中,U1為EPF6016ATC100,J1是FPGA與攝像頭7260的連接插座。Y、UV、VSYNC和HREF的定義如前,READY是MCU對(duì)FPGA的控制信號(hào),DATA是FPGA與RF模塊之間的串行數(shù)據(jù)線。
當(dāng)用戶按下門鈴,MCU收到命令開啟照明燈,同時(shí)初始化攝像頭7260,并發(fā)送READY信號(hào)給FPGA,通知其準(zhǔn)備接收?qǐng)D像信號(hào)。由7260的工作時(shí)序可以看到,當(dāng)攝像頭采集到一幀圖像后,VSYNC便發(fā)送1個(gè)高電平,F(xiàn)PGA準(zhǔn)備接收信號(hào)。1幀圖像由很多行組成。這些行在場(chǎng)同步信號(hào)VSYNC的兩個(gè)高電平之間傳送。而每一行的信號(hào)傳輸現(xiàn)時(shí)由HREF同步。當(dāng)HREF的上升沿來到后,F(xiàn)PGA開始接收?qǐng)D像數(shù)據(jù)。在PCLK的上升沿,每一行的圖像數(shù)據(jù)通過Y口和UV口送出,從時(shí)序圖可以看到1行包括640個(gè)點(diǎn)。
FPGA需要將收到的圖像緩存到512KB的RAM,需要有20位的地址信號(hào)線和8位的數(shù)據(jù)信號(hào)線。
FPGA采集到的圖像信號(hào)是并長(zhǎng)的數(shù)字信號(hào)。要將這些信號(hào)發(fā)射出去,還需要轉(zhuǎn)化為異步串行數(shù)據(jù),這個(gè)工作由FPGA來完成。我們所規(guī)定的異步串行通信協(xié)議和通用的RS232協(xié)議類似:
沒有信號(hào)時(shí),DATA線為高電平;要傳送數(shù)據(jù)的時(shí)候,先發(fā)送1個(gè)低電平脈沖(起始位),緊接著2個(gè)字節(jié)的數(shù)據(jù)(Y[7:0],UV[7:0],然后再發(fā)送1個(gè)高電平脈沖(停止位)。1幀有效的串行數(shù)據(jù)就由這幾部分構(gòu)成。
微控制器MCU主要完成以下幾個(gè)任務(wù):
①初始化數(shù)字?jǐn)z像頭7620;
②控制其它外設(shè),接收和處理鍵盤命令,控制照明設(shè)備的開啟等;
③與FPGA協(xié)同工作,并提供人機(jī)接口。
MCU采用常用的AT89C52。圖像采集模塊的工作流程如圖5所示。
2 圖像傳輸模塊
圖像傳輸模塊(RF module)由一塊單片無線收發(fā)芯片nRF2401完成。NRF2401工作在2.4~2.5G ISM頻帶,集成了頻率綜合器、功率放大器、晶體振蕩器和調(diào)制器。由于nRF902使用了晶體振蕩器和穩(wěn)定的頻率合成器,因此頻率漂移很低。電源電壓范圍為2.4~3.6~,輸出功率為10dBm,電流消耗僅9mA。輸出功率和頻偏可通過外接電阻進(jìn)行編程。輸出信號(hào)為調(diào)制的GFSK(高斯鍵控頻率信號(hào)),很容易通過8線串行I/O口進(jìn)行收發(fā)。圖6為nRF2401在無線通信中擴(kuò)展的外圍電路。
通過PWR-UP、CE、CS引腳的選擇,nRF2401可以工作在激活/等待/節(jié)能模式。這里,使nRF2401工作在激活的突發(fā)脈沖(shock burst)模式。該模式使用片上FIFO。在不使用MCU控制數(shù)據(jù)操作情況下,能以極低的功耗運(yùn)行數(shù)字部分而又以極快的速度(最高為1Mbps)傳輸數(shù)據(jù),從而大大減少了電流消耗,降低了系統(tǒng)成本并且減少了傳輸時(shí)的“空中沖突”冒險(xiǎn)。
FPGA送來的異步串行數(shù)據(jù)經(jīng)過nRF2401內(nèi)部的RF帶通濾波、低噪聲放大、頻率綜合和脈沖放大,被調(diào)制成2.4GHz上的GFSK信號(hào),完成圖像信號(hào)的傳輸。
3 圖像接收顯示模塊
圖像接收顯示模塊主要由三部分組成:圖像接收、圖像轉(zhuǎn)換和暫存、圖像顯示。如圖7所示。
(1)圖像接收
圖像接收部分也是由無線收發(fā)芯片nRF2401完成。nRF2401可以同時(shí)發(fā)射1組、接收2組信號(hào)。在突發(fā)脈沖模式下,將RX和CE置高,200μs的建立時(shí)間后,nRF2401開始監(jiān)測(cè)空中,接收到有效的數(shù)據(jù)包后解調(diào)為原來的數(shù)字信號(hào),送以端頭、地址和CRC位,MCU發(fā)出中斷命令,DR1拉高。MCU也可以置CE為低來中止RF字的接收,同時(shí)為載入數(shù)據(jù)輸出適當(dāng)頻率的時(shí)鐘。當(dāng)所有的數(shù)據(jù)載入后,將DR1拉低,準(zhǔn)備接收下一個(gè)數(shù)據(jù)包。
圖6
(2)圖像轉(zhuǎn)換和暫存
nRF2401傳輸給FPGA的異步串行數(shù)據(jù),經(jīng)過FPGA轉(zhuǎn)換為并行數(shù)據(jù)并暫存到緩沖區(qū)(512KB的外部RAM),收到MCU的命令后將RAM內(nèi)部的數(shù)據(jù)送到LCD顯示。當(dāng)整幅圖像都被接收以后,F(xiàn)PGA將存儲(chǔ)的視頻發(fā)送到LCD控制器SED1353。出于安全性的考慮,系統(tǒng)同時(shí)還外掛有2MB的內(nèi)存事保存視頻歷史記錄。圖像轉(zhuǎn)換和暫存的過程,其實(shí)是前面圖像采集的逆過程。接收部分FPGA的設(shè)計(jì)與發(fā)送部分類似,這里不再詳述。
(3)圖像顯示
圖像顯示由LCD控制器SED1353和LCD顯示模塊MCT-G320240DNCW-15N組成。SED1353是一種點(diǎn)陣LCD控制器,支持的分辨率高達(dá)1024×1024(單色顯示),能同多種微控制器接口。圖8為SED1353與LCD顯示模塊和MCU等設(shè)備的連接圖。
SED1353的控制信號(hào)和圖像顯示的地址信號(hào)由MCU提供。FPGA從RAM獲得待顯示的圖像數(shù)據(jù),得到MCU命令后將數(shù)據(jù)傳送到SED1353,由它將一幅圖像的數(shù)據(jù)暫存緩存到存儲(chǔ)器。當(dāng)戶主按下應(yīng)答鍵,MCU傳達(dá)顯示命令,SED1353就從存儲(chǔ)器取出數(shù)據(jù)傳送給LCD,戶主就能見到來訪者了。
4 印制板設(shè)計(jì)要點(diǎn)
為了獲得好的射頻性能,印制板(PCB)的設(shè)計(jì)是非常重要的。發(fā)射和接收端電路使用兩層的PCB板,窗余部分大面積連續(xù)接地(在天線底下不應(yīng)有接地面)。設(shè)計(jì)時(shí),應(yīng)使用高性能的射頻電容(大容量電容與小容量電容并聯(lián))來緊密地靠近VDD端,以完成DC電源去耦。電源電壓也應(yīng)在濾波后,從電源分別發(fā)送到各數(shù)字電路。所有器件地、VDD連接、VDD旁路電容都必須盡可能地靠近芯片。數(shù)字信號(hào)和控制信號(hào)通道不能靠近晶振和XTAL端。