基于DSP的圖像壓縮無(wú)線(xiàn)傳輸系統設計方案
1 引言
本文引用地址:http://dyxdggzs.com/article/257474.htm隨著(zhù)航空航天技術(shù)的發(fā)展,圖像無(wú)線(xiàn)傳輸技術(shù)日趨成熟。而嵌入式圖像無(wú)線(xiàn)傳輸技術(shù)以其安裝方便、靈活、適合廣泛普及等優(yōu)點(diǎn)在廣大領(lǐng)域備受關(guān)注。本文介紹一種基于DSP的無(wú)線(xiàn)圖像傳輸系統的設計方案與實(shí)現方法。
2 系統總體設計方案
圖1為該系統設計框圖。該系統分為圖像采集、圖像數據處理及無(wú)線(xiàn)通信3個(gè)模塊。圖像采集完成圖像數據的采集;圖像處理實(shí)現圖像數據的壓縮及相關(guān)處理:無(wú)線(xiàn)通信傳輸壓縮數據。該系統選用TMS320VC5509A型DSP作為主處理器。
3 系統硬件設計
3.1圖像采集模塊
圖像信號采集電路的基本工作方法分為獨立和處理器兩種采集法。前者采用專(zhuān)用圖像采集器件,自動(dòng)完成圖像采集、存儲器地址生成以及圖像數據的存儲和刷新,除設定采集模式外,處理器不參與采集過(guò)程,該方法采集過(guò)程不占用CPU時(shí)間,實(shí)時(shí)性好,適合采集活動(dòng)圖像,但電路較復雜;后者采用普通視頻A/D轉換器和幀存儲器實(shí)現圖像采集。CPU控制完成采集過(guò)程,需占用CPU時(shí)間,實(shí)時(shí)性差,不適合實(shí)時(shí)采集視頻圖像,但電路簡(jiǎn)單。因此,本系統采用第1種獨立采集方案。由專(zhuān)用圖像傳感器OV9650,CPLD和相應的外接電路等組成。OV9650是Omnision公司生產(chǎn)的CMOS圖像傳感器,其內部集成有MD轉換器,可提供SXGA(1 280x1 024)分辨率的圖像攝入和處理功能;采集圖像以全圖方式、局部方式或抽樣子圖方式輸出,并且可提供多種輸出格式。該系統通過(guò)SCCB總線(xiàn)配置 OV9650,從而形成8位ITU-R BT.656格式的數字碼流。CPLD選用XC95144XL10TQ144C,其最高主頻可達178 MHz,144個(gè)宏單元和3 200個(gè)可用門(mén)電路,其TQFP封裝有117個(gè)可用I/O引腳,滿(mǎn)足各種采集設計需要;實(shí)現異步存儲器Flash擴展;完成對BT.656格式的數字碼流解碼,包括提取碼流中的同步信號、行起始和結束信號、取出亮度(Y)信息、色度信息,進(jìn)行地址譯碼;實(shí)現SCCB總線(xiàn)接口;在DSF需要讀取狀態(tài)和圖像數據時(shí),產(chǎn)生必要的邏輯控制和時(shí)序,通過(guò)DMA將數據從緩存區讀取SDRAM等。
數據采集時(shí),圖像采集模塊產(chǎn)生高速數字碼流,而DSP對外圍設備讀取速度較慢。為了解決圖像采集模塊與圖像處理模塊的速度匹配問(wèn)題,在這兩模塊之間加入數據緩沖區,可采用FIFO或SRAM,本系統采用ISSI公司的64 Kx16 bit存儲空間的高速SRAM存儲器IS61LV6416作為緩存存儲解碼BT.656碼流得到的圖像亮度數據。
3.2 圖像數據處理模塊
TMS320VC5509A內部?jì)H有256 KB的RAM和64 KB的ROM,無(wú)法滿(mǎn)足處理大量圖像數據的需求,必須通過(guò)EMIF擴展外部存儲器存放原始圖像數據和應用程序。該系統外接Hynix公司 HY57V641620EP SDRAM,其8 MB的存儲空間用于存儲圖像數據;外接Spansion公司的S29AL008D Flash,其1 MB的存儲空間用于存儲應用程序和Boofloader。EMIF可與SDRAM無(wú)縫連接,接口連接如圖2所示。由于TMS320VC5509A最大只能外擴16 KB的異步存儲器,因此訪(fǎng)問(wèn)1 MB Flash需按分頁(yè)方式訪(fǎng)問(wèn),連接示意圖如圖3所示。
3.3 無(wú)線(xiàn)收發(fā)模塊
nRF24L01是一款2.4 GHz單片無(wú)線(xiàn)收發(fā)器,全球開(kāi)放ISM頻段免許可證使用,126頻道,滿(mǎn)足多點(diǎn)通信和跳頻通信需要,內置硬件CRC檢錯和點(diǎn)對多點(diǎn)通信地址控制,最高工作速率2 Mb/s,高效GFSK調制,抗干擾能力強,只需少量外圍元件便可組成射頻收發(fā)電路,適用于工業(yè)控制場(chǎng)合。
4 系統軟件設計
由于圖像數據量大,若在接收端實(shí)時(shí)顯示采集端圖像,必須提高DSP的工作效率。圖像采集時(shí),通過(guò)DMA完成圖像數據從采集模塊到圖像處理模塊的傳輸;圖像壓縮利用DMA完成JPEG壓縮過(guò)程中的分塊操作,避免CPU對外圍存儲器的讀寫(xiě)操作。無(wú)線(xiàn)通信時(shí),將McBSP(多通道緩沖串口)配置成SPI接口與無(wú)線(xiàn)通信模塊nRF24L01進(jìn)行連接,需要傳輸的壓縮數據由DMA送到McBSP緩沖區,最終完成圖像數據傳輸。DMA具有傳輸快速、高效的特性,并且數據傳輸丁作無(wú)需CPU參與,從而極大減小CPU的負擔,提高系統效率。
4.1 采用DMA讀取采集模塊的數據
圖像采集模塊由CPLD控制,CPLD對OV9650解碼器產(chǎn)生的數據進(jìn)行相應的譯碼并順序存儲到圖像采集模塊的緩沖區。采集圖像大小為320x200的 8位灰度圖像,為擴展需要,緩沖區采用具有64 K×16 bit存儲空間的高速SRAM存儲器IS61LV6416-10T,存儲一幅完整圖像。一幅圖像采集完后,DMA與CPLD將緩沖區中的圖像數據轉存到 DSP的外部存儲器。DMA的主要寄存器配置參考圖像壓縮的DMA配置。
4.2 DMA在JPEG算法中的應用
該系統采用JPEG壓縮算法,該算法是將圖像數據分成8x8的矩陣塊、離散余弦變換、量化、Z(Zigzag)形掃描和Huffman編碼,圖像數據 JPEG壓縮時(shí)。需要分塊處理DSP外圍存儲器中的圖像數據。CPU對外圍存儲器的讀寫(xiě)操作要慢于內部DRAM存儲區。為提高圖像壓縮速度,在算法移植時(shí),內部DARAM建立兩個(gè)8x8的矩陣單元,DMA將外部存儲器的圖像數據以8x8的矩陣塊為單元傳輸到到內部DARAM中的一個(gè)數組中,同時(shí)實(shí)現 JPEG算法的分塊操作。利用DMA與CPU并行工作的特性,在CPU操作一個(gè)塊時(shí),另一分塊傳輸數據,兩個(gè)數組交替進(jìn)行,構成乒乓結構。圖像壓縮過(guò)程中需多次配置DMA,才能實(shí)現整個(gè)圖像數據從外存到內存的傳輸和數據分塊。數據塊依次經(jīng)離散余弦變換、量化、Z變換及哈夫曼編碼,形成JPEG碼流。圖4為圖像壓縮的程序流程。
4.3 McBSP端口與無(wú)線(xiàn)模塊的連接
無(wú)線(xiàn)通信模塊nRF24L01通過(guò)SPI接口實(shí)現與DSP的數據通信,只需占用4根數據線(xiàn)且傳播速度快。DSP的MeBSP的時(shí)鐘停止模式與SPI協(xié)議兼容。當McBSF設置成時(shí)鐘停止模式時(shí),發(fā)送器和應答器內部同步,McBSP就作為一個(gè)SPI主/從設備使用。系統中DSP的McBSP作為SPI的主設備,主要的McBSP控制寄存器位設置如下:
RPHASE=XPHASE=0,∥單相幀
RFRLEN1=XFRLEN=0,/每幀一個(gè)數據單元
RWDLEN1=XWDLEN1=000b,//數據單元字長(cháng)8位
CLKRP=CLKXP=O,//時(shí)鐘下降沿接收數據。在上升沿處發(fā)送數據
FSRP=FSXP=0,//幀同步信號高有效
RDATDLY=XDATDLY=01b,//1位數據延遲
通過(guò)此種方式實(shí)現與nRF24L01串行通信。DMA的寄存器配置和圖像數據傳輸的DMA配置可以參考圖像壓縮DMA的配置。
4.4 nRF24L01無(wú)線(xiàn)通信模塊
數據發(fā)送端首先配置nRF24L01寄存器,包括設置工作模式、使能自動(dòng)應答等功能。發(fā)送數據時(shí),將發(fā)送的數據塊按時(shí)序由SPI接口寫(xiě)入nRF24L01 緩存區,然后設置發(fā)送控制引腳為高電平并至少保持10 μs,延時(shí)130μs后發(fā)射數據,發(fā)射的數據自動(dòng)打包并按寄存器的設置加入1個(gè)字節或2個(gè)CRC校驗碼;若開(kāi)啟自動(dòng)應答,nRF24L01在發(fā)射數據后立即進(jìn)入接收模式,接收應答信號。如果收到應答信號,則認為發(fā)射成功;若在設定時(shí)間內沒(méi)有接收到應答信號,則自動(dòng)重新發(fā)射數據,直到重發(fā)次數超過(guò)設定閾值,以上操作都影響狀態(tài)寄存器中的相應標志位。
圖5(a)為數據無(wú)線(xiàn)發(fā)射的程序流程。在數據接收端接收數據,同樣先配置相關(guān)寄存器,設置為接收模式,延時(shí)130μs后進(jìn)入接收狀態(tài)等待接收數據。當接收方檢測到有效地址和CRC校驗碼時(shí),自動(dòng)去除數據包頭和CRC校驗碼,存儲數據至接收堆棧中,更改狀態(tài)寄存器相應位,通知CPU讀取數據。若開(kāi)啟自動(dòng)應答,接收端進(jìn)入發(fā)射狀態(tài)發(fā)射應答信號。圖5(b)為數據無(wú)線(xiàn)收發(fā)的程序流程。
4.5 與上位機的通信
接收端采用DSP與無(wú)線(xiàn)模塊連接,通過(guò)DSP的USB接口與PC機連接。圖像數據傳輸的開(kāi)始與結束由JPEG協(xié)議的文件結束關(guān)鍵字OXFFD9標識,一幅圖像傳輸的接收標志也是下一幅圖像的開(kāi)始標志。由于采集圖像不同,生成壓縮碼流長(cháng)度也不同,所以在發(fā)送端圖像傳輸的最后一組數據空位用0X00填充;接收端讀取圖像結束標識后省去后續數據,并通過(guò)USB接口將數據傳輸至PC機。
5 系統測試結果及分析
該系統設計已成功測試,測試結果達到預期要求,并對其進(jìn)一步改進(jìn)優(yōu)化。圖6為系統采集的圖像和壓縮16倍后室內有阻隔傳輸30 m的結果。
6 結束語(yǔ)
本系統設計實(shí)現多點(diǎn)監控,便于安裝,可應用于廠(chǎng)房、化學(xué)實(shí)驗室等短距離監控及對突發(fā)事件現場(chǎng)的臨時(shí)監控。采用該系統設計思路為無(wú)線(xiàn)監控領(lǐng)域設計一套低成本的無(wú)線(xiàn)視頻監控系統,使得視頻監控系統具有更廣闊的應用領(lǐng)域,若采用更高壓縮比的圖像壓縮算法,系統性能將會(huì )得到進(jìn)一步改善。
評論