基于ARM9的遠(yuǎn)程圖像無線監(jiān)控系統(tǒng)的設(shè)計(jì)
對(duì)圖像監(jiān)控系統(tǒng),用戶常常提出這樣的功能需求:希望能夠監(jiān)控距離較遠(yuǎn)的對(duì)象。這些對(duì)象有可能分布在郊區(qū)、深山,荒原或者其他無人值守的場合;另外,希望能夠獲取比較清晰的監(jiān)控圖像,但對(duì)圖像傳輸?shù)膶?shí)時(shí)性要求并不高,很明顯,用傳統(tǒng)的PC機(jī)加圖像采集卡的方式很難滿足這樣的需求。
本文引用地址:http://m.butianyuan.cn/article/151048.htm在嵌入式領(lǐng)域,ARM9系列微處理器在高性能和低功耗方面提供了最佳的性能,因此選用ARM9嵌入式處理器S3C2440設(shè)計(jì)實(shí)現(xiàn)了一個(gè)遠(yuǎn)程圖像光線監(jiān)控系統(tǒng)通過這個(gè)系統(tǒng),可以遠(yuǎn)在千里之外控制一個(gè)攝像機(jī)進(jìn)行圖像采集并回傳。如果這個(gè)攝像機(jī)有一個(gè)485接口的云臺(tái),還可以通過互聯(lián)網(wǎng)遠(yuǎn)程控制攝像機(jī)的取景角度、鏡頭拉伸、聚焦等功能.
除了獲取圖像數(shù)據(jù).系統(tǒng)還提供了多路開關(guān)控制和數(shù)據(jù)采集功能,可以連接溫度、濕度等各類傳感器和控制紅外夜視燈等其他外部設(shè)備的開關(guān)狀態(tài)。最后,通過GPRS或CDMA無線通信模塊及Internel互聯(lián)網(wǎng)將數(shù)據(jù)傳至任何地方
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)采用三星公司的S3C2440嵌入式處理器和arm-linux2.4.26操作系統(tǒng);S3C2440使用ARM920T內(nèi)核,主頻是400MHz;除了集成通用的串口控制器、USB控制器、A/D轉(zhuǎn)換器和GPIO等功能之外,還集成了一個(gè)攝像頭接門(CAMIF)(這個(gè)接口是遠(yuǎn)程圖像采集的核心部分)。系統(tǒng)在S3C2440處理器的控制下,從CCD攝像機(jī)采集模擬視頻信號(hào),然后經(jīng)過編碼、DMA傳輸?shù)絻?nèi)存緩沖,接著由軟件對(duì)內(nèi)存中的數(shù)字視頻數(shù)據(jù)進(jìn)行壓縮和打包.最后通過通信單元將圖像以IP包的方式發(fā)送到監(jiān)控中心的服務(wù)器。整個(gè)系統(tǒng)的硬件結(jié)構(gòu)原理如圖1所示
1.1 圖像采樣接口
S3C2440的攝像頭接口(CAMIF)支持ITU-R BT.601/656 YCbCr8比特標(biāo)準(zhǔn)的圖像數(shù)據(jù)輸入,最大可采樣4096×4096像素的圖像。攝像頭接口可以有兩種模式與DMA控制器進(jìn)行數(shù)據(jù)傳輸:一種是P端口模式,把從攝像頭接口采樣到的圖像數(shù)據(jù)轉(zhuǎn)為RGB數(shù)據(jù),并在DMA控制下傳輸?shù)絊DRAM(一般這種模式用來提供圖像預(yù)覽功能);另一種是C端口模式,把圖像數(shù)據(jù)按照YCbCr4:2:0或4:2:2的格式傳輸?shù)絊DRAM(這種模式主要為MPEG-4、H.263等編碼器提供圖像數(shù)據(jù)的輸入)。上述兩種工作模式都允許設(shè)置一個(gè)剪輯窗口,只有進(jìn)入這個(gè)窗口的圖像數(shù)據(jù)才能夠傳輸?shù)絊DRAM。上述過程可用圖2說明。
S3C2440的攝像機(jī)接口接收ITU標(biāo)準(zhǔn)的圖像數(shù)據(jù),不能直接接收CCD攝像機(jī)輸出的模擬視頻信號(hào),因此還需要1片SAA7113視頻解碼芯片。SAA7113可以輸入4路模擬視頻信號(hào),通過內(nèi)部寄存器的不同配置可以對(duì)4路輸入進(jìn)行轉(zhuǎn)換,輸入可以為4路CVBS或2路S視頻(Y/C)信號(hào),輸出8位“VPO”總線,為標(biāo)準(zhǔn)的ITU656、YUV 4:2:2格式。對(duì)SAA7113初始化需要通過I2C 總線進(jìn)行,而S3C2440內(nèi)部集成的I2C控制器正好可以實(shí)現(xiàn)這個(gè)過程。S3C2440的攝像機(jī)接口與SAA7113的連接原理如圖3所示。
SAA7113 的CE 引腳與S3C2440 的一個(gè)GPIO 引腳相連,這樣可以控制SAA7113的工作狀態(tài)。當(dāng)無須采集圖像時(shí),將該GPIO口輸出低電平,使SAA7113芯片處于低功耗狀態(tài),節(jié)省電能的消耗。對(duì)照?qǐng)D2和圖3可以看出,SAA7113芯片就是圖2的“外部圖像傳感器”。它向嵌入式系統(tǒng)的攝像機(jī)接口提供了采樣到的標(biāo)準(zhǔn)ITU視頻數(shù)據(jù)。這些數(shù)據(jù)經(jīng)過DMA的P端口或C端口控制傳輸?shù)搅藘?nèi)存,這樣就可以在內(nèi)存中對(duì)圖像數(shù)據(jù)作進(jìn)一步的加工處理。
1.2 采樣接口驅(qū)動(dòng)
圖像采樣接口的驅(qū)動(dòng)按照Linux視頻設(shè)備驅(qū)動(dòng)的模型V4L(video for Linux)編寫了SAA7113與S3C2440攝像機(jī)接口的驅(qū)動(dòng)。驅(qū)動(dòng)使用C端口模式與DMA進(jìn)行通信。采樣1幀圖像之前,首先設(shè)置采樣圖像的分辨率和剪輯窗口大小等參數(shù),然后設(shè)置DMA控制器訪問的視頻采樣輸出緩沖的內(nèi)存地址,接著就可以通過設(shè)置S3C2440的CAMIF接口控制寄存器啟動(dòng)1幀圖像的采集。當(dāng)采集完1幀圖像時(shí),CAMIF接口會(huì)自動(dòng)啟動(dòng)1次C端口的DMA通信,把采集的圖像數(shù)據(jù)傳到內(nèi)存。傳輸結(jié)束后,會(huì)產(chǎn)生一個(gè)C端口的中斷,通知驅(qū)動(dòng)1幀數(shù)據(jù)采樣和傳輸結(jié)束。具體來說,這個(gè)驅(qū)動(dòng)需要實(shí)現(xiàn)以下功能:
評(píng)論