1 引言
隨著信息化,智能化,網(wǎng)絡化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。進入20 世紀90 年代,嵌入式技術(shù)全面展開,目前已成為通信和消費類產(chǎn)品的共同發(fā)展方向。在通信領(lǐng)域,數(shù)字技術(shù)正在全面取代模擬技術(shù)。毫無疑問,模擬圖像采集系統(tǒng)必將被數(shù)字圖像采集系統(tǒng)所代替,其中的嵌入式圖像采集系統(tǒng)由于其優(yōu)越的性能越來越受到人們的關(guān)注。同時,在技術(shù)進步推動信息傳遞日趨無線化的背景下,無線圖像傳輸也就成為了圖像傳輸?shù)那把仡I(lǐng)域。對于邊遠的和可移動的系統(tǒng),無線網(wǎng)絡接入傳輸數(shù)據(jù)方式顯得十分重要。本文介紹了采用nRF2401 作為傳輸手段的無線圖像傳輸系統(tǒng)。該系統(tǒng)由無線照相機和圖片接收器兩部分組成,具有視頻圖像采集、壓縮、傳輸和存儲等功能。
2 系統(tǒng)總體設(shè)計方案
整個圖像傳輸系統(tǒng)包括無線照相機和圖片接收器兩大部分。無線照相機主要由CMOS 攝像頭、JPEG壓縮編碼和無線發(fā)射部分組成,圖像采集部分用嵌入式處理器控制CMOS 攝像頭采集圖像數(shù)據(jù)并進行JPEG 壓縮,再利用nRF2401 來傳送處理過的圖像信息。圖片接收器接受完圖片信息后,通過軟件將圖片文件存儲在硬盤中,并將其顯示在LCD 上。整個無線實時圖像傳輸系統(tǒng)的結(jié)構(gòu)如圖1 所示。
圖1 無線實時圖像傳輸系統(tǒng)結(jié)構(gòu)圖
3 無線照相機的設(shè)計
本文所設(shè)計的無線照相機采用了基于linux 2.6內(nèi)核的嵌入式系統(tǒng)[1],它出色地完成了圖像的采集、壓縮及無線傳輸?shù)裙δ堋?/p>
3.1 硬件設(shè)計
嵌入式無線照相機由CMOS 攝像頭,USB2.0 控制器CY7C68013A、nRF2401發(fā)射部分、S3C2440A嵌入式系統(tǒng)組成,如圖2 所示。
圖2 嵌入式無線照相機系統(tǒng)硬件結(jié)構(gòu)。
3.1.1 CMOS 攝像頭
系統(tǒng)采用的CMOS 攝像頭是網(wǎng)眼公司生產(chǎn)的網(wǎng)眼2000B,它采用的是OV511+7260 的攝像頭方案,由于linux 2.6 源碼中這兩款芯片的驅(qū)動,給我們的設(shè)計帶來了很大的方便。該攝像頭的視像解像度為640(水平) x 480(垂直)像素,清晰度可以滿足大部分的應用,它還具有良好的電源管理功能、完善的自動亮度、白平衡控制,并提供色彩飽和度、對比度、邊緣增強、伽馬表等高級數(shù)碼影像控制功能。
3.1.2 無線收發(fā)芯片nRF2401
nRF2401 芯片和藍牙芯片一樣,都工作在2.4GHz 自由頻段,有125 個頻道,可滿足多頻及跳頻需要。跳頻通信具有抗干擾能力強,安全保密性好等特點。跳頻信號譜密度低,淹沒在噪聲之中,加之跳頻碼的保密性,因而不易被竊聽、破譯。nRF2401支持多點間通信,最高傳輸速率超過1Mbit/s,而且比藍牙具有更高的傳輸速度。它采用SoC 方法設(shè)計,只需少量外圍元件便可組成射頻收發(fā)電路。與藍牙不同的是,nRF2401 沒有復雜的通信協(xié)議,它完全對用戶透明,同種產(chǎn)品之間可以自由通信。更重要的是,nRF2401 比藍牙產(chǎn)品更便宜。所以nRF2401 是業(yè)界體積較小、功耗較少、外圍元件最少的低成本射頻系統(tǒng)級芯片。
3.1.3 USB2.0 控制器CY7C68013A
CYPRESS 公司推出的USB2.0 控制器CY7C68013A 是USB2.0 的完整解決方案。它既負責USB 事務處理也兼具微處理器的控制功能,也可作為USB 外部芯片的主控芯片。該芯片包括帶8KB 片上RAM 的高速8051 單片機、4KB FIFO 存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發(fā)器,6 條可編程控制輸出線,9 條地址輸出線和6條通用目的地準備輸入線;數(shù)據(jù)線寬度可為8 位或16位,其小巧的體積及較高的性價比使得該芯片在海量存儲器、打印機、掃描儀和PCMCIA 等各種USB 設(shè)備上得到了廣泛的應用。
3.1.4 嵌入式處理器S3C2440A
由于本系統(tǒng)采用的圖像壓縮是軟件壓縮,所以在選擇嵌入式處理器的時候,需要衡量處理器的性能是否能勝任JPEG 壓縮程序以及USB 數(shù)據(jù)的傳送。在本系統(tǒng)中,嵌入式處理器采用韓國三星公司的基于ARM920T 內(nèi)核的16/32 位RISC 嵌入式微處理器S3C2440A,主頻高達400MHz,適合于圖像、視頻處理,主要面向高性價比、低功耗的應用。S3C2440內(nèi)置有豐富的外設(shè)資源,其中包括:存儲器、LCD、Camera、串口、IIC、IIS 和USB 等接口控制電路。
3.2 軟件設(shè)計
我們選用嵌入式linux 操作系統(tǒng),版本號為:2.6.12.
它是本地圖像采集程序、壓縮程序、USB2.0 控制器CY7C68013A 驅(qū)動程序及其應用程序的運行平臺。
圖3 主程序流程圖
3.2.1 系統(tǒng)初始化
系統(tǒng)初始化包括對芯片OV511、OV7260,USB2.0 控制器CY7C68013A , 無線收發(fā)芯片nRF2401 的初始化以及l(fā)inux 系統(tǒng)的初始化。linux系統(tǒng)的初始化主要完成對CPU、SDRAM 等芯片的初始化,加載攝像頭和USB2.0 控制器的驅(qū)動程序[5],為應用程序的執(zhí)行做好準備。其它芯片的初始化主要對一些數(shù)據(jù)寄存器、地址寄存器、中斷服務寄存器進行相應的操作。
3.2.2 實時圖像傳輸流程
系統(tǒng)初始化完成之后,我們編寫的應用程序控制攝像頭驅(qū)動程序拍攝一幅圖像信號,并保存在flash盤中,程序流程如圖4 所示,此時的圖片文件是未壓縮的PPM 格式,接著JPEG 壓縮程序?qū)PM 格式的圖片壓縮成圖片,如圖5 所示,一幅分辨率為320*240的圖片文件大小平均只有8KB,完全可以滿足無線傳輸?shù)男枰?,壓縮完成之后,讀取JPG 格式的圖片文件,并將圖像數(shù)據(jù)發(fā)送給USB2.0 控制器CY7C68013A的驅(qū)動程序,然后驅(qū)動程序再將數(shù)據(jù)寫入USB2.0 控制器的端點緩沖器, 最后, USB2.0 控制器CY7C68013A 控制nRF2401 將端點緩沖器中的圖像數(shù)據(jù)無線發(fā)送出去,程序流程如圖6 所示。
圖4 圖像采集程序流程圖。
圖5 JPEG 壓縮編碼程序流程圖
圖6 nRF2401 無線發(fā)送程序流程圖
整個系統(tǒng)中,由linux 操作系統(tǒng)完成對各個芯片的初始化、協(xié)調(diào)CPU 與其他芯片之間的工作,完成圖像數(shù)據(jù)的讀取、壓縮及發(fā)送(如圖3)。
4 圖片接收器的設(shè)計
我們設(shè)計的圖片接收器是基于PC 機的一種類似無線網(wǎng)卡的無線接收設(shè)備,完成圖片信息的接收和顯示,硬件結(jié)構(gòu)和nRF2401 無線發(fā)射模塊一樣,都是用USB2.0 控制器CY7C68013A 控制nRF2401 進行無線傳輸,如圖7 所示。
圖7 圖片接收器結(jié)構(gòu)
USB2.0 控制器CY7C68013A 控制nRF2401 無線接收圖像數(shù)據(jù),程序流程如圖8 所示,然后PC 機上的應用程序調(diào)用USB2.0控制器驅(qū)動中的讀取函數(shù)接收圖片數(shù)據(jù)并保存,最后將圖片顯示出來。如圖9,10.
圖8 nRF2401 無線接收程序流程圖。
圖9 像素:320×240.
圖10 像素:640×480 無線照相機。
5 結(jié)論
本系統(tǒng)的無線照相機采用32 位的高性能ARM 處理器S3C2440A 搭載2.6 內(nèi)核的linux 嵌入式操作系統(tǒng)進行核心控制,出色地完成了圖片的拍攝,壓縮和無線傳送。接收端將圖片信息接收并保存在PC 機硬盤中,有必要的話也可以傳到服務器上,進行遠程監(jiān)控??蓱糜谄嚪辣I監(jiān)控、無繩可視電話以及礦井作業(yè)監(jiān)控等。因此,研制成功的無線實時圖像傳輸系統(tǒng)具有廣泛的應用前景和市場。