ARM在數(shù)字化遠程視頻監(jiān)控系統(tǒng)的應用
引言
隨著信息技術的發(fā)展,數(shù)字化越來越多的代替了傳統(tǒng)的模擬系統(tǒng),數(shù)字化使得遠程視頻監(jiān)控系統(tǒng)不需要專門架設線路,應用現(xiàn)有通訊線路就可以實現(xiàn)低成本的信息傳遞,與傳統(tǒng)的模擬監(jiān)控系統(tǒng)相比,它的組網(wǎng)成本大大降低、系統(tǒng)體積重量大大減小、運行維護更容易。
所使用的通信線路有很多種,如:以太網(wǎng)、ISDN、xDSL、公共電話網(wǎng)、無線電話網(wǎng)等,根據(jù)線路的帶寬不同,遠程視頻監(jiān)控系統(tǒng)的圖像質量也有很大不同。
本文針對低設備成本、低運行成本和超遠距離的視頻監(jiān)控系統(tǒng)應用提出了解決方案,使用ARM嵌入式處理器和Linux操作系統(tǒng)構建嵌入式系統(tǒng),開發(fā)出可實際應用的遠程視頻監(jiān)控系統(tǒng),適用于低分辨率、低成本、長距離的監(jiān)控應用。
它的特點有:
構建了ARM嵌入式處理器開發(fā)平臺,提出了嵌入式系統(tǒng)的低成本開發(fā)流程;
前端使用便宜的一體化高集成數(shù)字化視頻采集模塊,簡化了系統(tǒng)前端的設計,大大降低了前端成本;
編寫簡單的嵌入式操作系統(tǒng)程序,動態(tài)加載應用程序,加快其執(zhí)行速度;
信號處理使用由高速、高性能的ARM處理器構建的嵌入式系統(tǒng),通過軟件來實現(xiàn)圖像壓縮。
ARM視頻監(jiān)控系統(tǒng)平臺
本課題要求建立低成本的圖像數(shù)據(jù)采集、實時壓縮與遠程傳送系統(tǒng),而且要求容易進行實驗室環(huán)境下的開發(fā)與調試;另外考慮到以后的擴展要求,還需要具備內存管理單元(MMU)與音頻接口。
CirrusLogic公司的EP7312正適合要求。它是基于ARM720T內核的嵌入式微處理器,運行于74MHz時其性能與100MHz的IntelPentium芯片基本相當,且功耗很低,在74MHz工作頻率下,功耗90mW,具有MMU、音頻接口及LCD控制器。
圖1是視頻監(jiān)控應用系統(tǒng)的開發(fā)平臺。ARM的系統(tǒng)擴展槽和設備擴展槽,用于為ARM系統(tǒng)添加如以太網(wǎng)接口、海量數(shù)據(jù)存儲接口和PCMCIA等接口或者用于與其他功能開發(fā)板,為ARM系統(tǒng)擴展了CMOS圖像獲取功能和VGA顯示功能。其中,VGA接口是通過電阻網(wǎng)絡實現(xiàn)320×240×12bits,即4096色彩色顯示。與SRAM訪問相關的寄存器有:SRAM控制寄存器、讀地址低16位、讀地址高16位、讀出數(shù)據(jù)寄存器、寫地址低16位、寫地址高16位、寫入數(shù)據(jù)寄存器;與CMOS圖像采集有關的寄存器有CMOS采集控制寄存器、CMOS采集狀態(tài)寄存器;與VGA顯示有關的是VGA顯示控制寄存器。
圖1 ARM視頻監(jiān)控開發(fā)平臺
ARM控制CMOS圖像采集,然后ARM從圖像緩沖SRAM中讀取圖像數(shù)據(jù)到ARM內部的LCD顯示存儲區(qū),顯示到LCD屏上。這也就打通了整個數(shù)據(jù)前向通道,ARM獲取了圖像后就可以進一步做壓縮處理和傳輸。
ARM程序開發(fā)
ARM視頻監(jiān)控系統(tǒng)配備512KB的FLASHROM,用于程序存儲器,所以應用程序與原始數(shù)據(jù)的總和必須小于512KB。以下是ARM程序開發(fā)流程:
軟件的編寫與調試
針對應用編寫所需的各種程序,使用ADS(ARMDeveloperSuite)建立工程文件,把編寫好的匯編程序*.s文件、C語言程序*.c文件、*.h文件加入到工程中。然后對編譯參數(shù)進行相應設置,編譯工程文件,編譯通過后生成可執(zhí)行二進制代碼。使用ADW調試已編譯工程,軟件調試只能調試ARM指令,無法仿真外圍設備;調試通過后,準備下載可執(zhí)行二進制代碼,進行硬件測試。
程序下載的實現(xiàn)
通過bootloader程序來實現(xiàn)對FLASH程序存儲器的編程,bootloader程序是自己編寫的基于內啟動方式下的小程序。
(1)首先讓EP7312以內啟動方式運行,PC通過串口1(9600bps)接收到"<"標志,
(2)然后PC從串口發(fā)送2KB的bootloader程序到EP7312。
(3)這時bootloader程序開始運行,PC通過串口1(115200bps)發(fā)送"0x79"與EP7312再次建立連接,隨后PC發(fā)送"0xFF0xFA"命令,EP7312返回"Len:",PC再發(fā)送四字節(jié)的要下載的文件長度數(shù)據(jù)。接著PC繼續(xù)發(fā)送整個要下載的程序,發(fā)送完成后將接收到"Ok!",然后編程結束后將接收到"Done!"表明下載編程操作成功完成。
(4)此時重新以外啟動方式啟動EP7312就可以運行剛下載的程序。
以上是以工程方式來進行ARM應用程序開發(fā)的基本流程,在實際使用過程中如果應用到新器件還需要一個硬件調試階段,在硬件調試通過以后才可以進一步開發(fā)應用程序。
有關硬件調試的軟件方法
在沒有硬件開發(fā)工具的情況下,可以通過串口來進行硬件的調試,EP7312與外圍硬件的連接基本上有三種方式:直接總線連接、與EP7312的片內外設專用引腳連接、連接EP7312的通用I/O引腳。
[!--empirenews.page--]以總線方式連接的外設可以通過總線讀寫來訪問;專用外設可以通過內部專門的控制寄存器來訪問;經通用I/O擴展的外設則可以通過對內部通用I/O設置寄存器的控制來訪問。由于內部專用寄存器都對應固定的總線地址,所以這三種方式都可以通過ARM的總線操作對指定地址的訪問來實現(xiàn)調試。
軟件設計
在ARM處理器硬件復位以后,需要運行匯編啟動代碼完成系統(tǒng)初始化,主要包括:中斷向量設置、各種處理器模式下的堆棧設置、系統(tǒng)寄存器設置、SDRAM、LCD等外圍部件的設置。以下是其部分程序代碼:
圖2是ARM主程序流程圖。ARM處理器從獲取圖像信息,執(zhí)行壓縮程序,壓縮后的文件通過公共電話線路傳遞到監(jiān)控主機端。由于系統(tǒng)采用相同的圖像分辨率和常量表,所以文件頭都相同,為了減少傳輸數(shù)據(jù)量,不傳送文件頭,文件頭在監(jiān)控主機端由軟件自動添加。
圖2 ARM主程序流程圖
本系統(tǒng)還使用調制解調器通過公共電話網(wǎng)來建立遠程數(shù)據(jù)連接,在遠程圖像監(jiān)控終端處的調制解調器處于待命狀態(tài),它使用"ATS0=3&D0W&W1"命令設置為自動應答方式,在3次振鈴后自動摘機,經歷"數(shù)據(jù)風暴"以后與主叫方建立連接。監(jiān)控中心的調制解調器由監(jiān)控軟件控制撥號建立連接或者掛斷連接。
數(shù)據(jù)聯(lián)接建立好ARM會接收到“CONNECT”字符串表明通訊線路連接成功,此時就可以像使用普通串口一樣使用調制解調器建立的遠程數(shù)據(jù)連接。ARM接收到從監(jiān)控中心發(fā)來的采集命令后,依次完成圖像采集、壓縮處理,然后通過串口以ASC碼形式直接發(fā)送圖像數(shù)據(jù)到監(jiān)控中心,完成一次操作后等待下一個采集命令。
結語
本文是完全針對低設備成本、低運行成本和超遠距離的圖像監(jiān)控系統(tǒng)應用提出的解決方案,前端使用便宜的一體化高集成數(shù)字化視頻采集模塊,簡化了系統(tǒng)前端的設計,大大降低了前端成本;信號處理使用由高速、高性能的ARM處理器與FPGA芯片構建的嵌入式系統(tǒng),通過軟件來實現(xiàn)圖像壓縮;最后經由公共電話網(wǎng)來實現(xiàn)同城范圍內的全數(shù)字化遠程圖像監(jiān)控。在降低系統(tǒng)成本的同時,提高了系統(tǒng)的靈活性。