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