基于ADSP-BF533的家庭安全系統(tǒng)設計
3.1 視頻采集及壓縮程序
DSP通過I2C接口完成對P03030K圖像傳感器的初始化,并設置相應的寄存器完成對工作模式、數據輸出格式、分辨率、亮度和色度等的設置。P03030K與DSP的PPI口相連,輸出圖像數據以DMA方式傳輸到SDRAM中存儲,本系統(tǒng)采用乒乓緩沖區(qū)的方法傳輸數據,在內存中開辟兩個緩沖區(qū),使用兩個頭尾相連的描述符鏈表控制PPI DMA一次傳輸數據到兩個緩沖區(qū)中。DMA每采集完一行圖像數據之后就產生一次中斷,在中斷服務程序中使用存儲器DMA將數據搬移到片外SDRAM,等待DSP對其進行MPEG-4壓縮處理。視頻采集流程圖,如圖5所示。
DSP對視頻數據進行壓縮編碼時采用MPEG-4標準,由于CMOS圖像采集模塊輸出YUV4:2:2圖像,而編碼模型的輸入為YUV4:2:0圖像,故需要對采集到的圖像進行色度重采樣。DCT和IDCT是編碼過程中被頻繁調用的兩個函數,故采用匯編語言實現且使用Chen的快速算法,此外根據BF533的硬件和編譯系統(tǒng)的特點,運用各種方法對MPEG-4編碼程序代碼進行大量的優(yōu)化工作,利用循環(huán)緩沖技術和DSP提供的各種像素操作指令和向量操作指令對PADDING算法、運動矢量預測、SAD最小搜索算法和半像素內插等需要反復執(zhí)行的過程進行匯編優(yōu)化,充分發(fā)揮BF533的并行處理能力。在內存分配方面,在SDRAM中開辟了4個幀緩沖器,分別用于保存當前編碼幀、當前參考幀、下一編碼幀和下一參考幀數據。DSP的片內RAM容量較小,但是訪問速度較快,而MPEG-4的最小編碼單元是宏塊,所以可以將宏塊從片外SDRAM轉移到片內RAM中進行處理,處理結束后再存到SDRAM中。另外為了加快數據塊搬移速度,充分利用BF533強大的DMA能力完成數據傳輸操作,同時將CPU頻繁訪問的程序和數據放在片上緩存中,并充分利用乒乓緩沖結構,提高編碼效率。
MPEG-4編碼流程,如圖6所示。
3.2 GSM短信報警程序
在紅外探測器檢測到有人入侵時,DSP將立即向戶主發(fā)送短信報警信息,以便用戶采取措施。BF533通過UART口發(fā)送AT指令,實現對TC35模塊的控制,發(fā)送“AT+CMGF=1”設置短信發(fā)送模式為文本模式,發(fā)送“AT+CREG?”查詢網絡注冊情況,發(fā)送“AT+CMGS=13572472507”再加上短信內容,即可以實現向目標手機發(fā)送報警信息的目的。由于采用文本發(fā)送模式,故不能發(fā)送中文文字,本系統(tǒng)選擇發(fā)送英文字符“Danger”。
3.3 圖像存儲程序
壓縮后的視頻流數據將以文件的形式寫入SD卡中。在進行寫卡操作前,先要對SD卡初始化,設置其為SPI工作模式。SD卡的尋址方式是按字節(jié)尋址的,為加快速度,將其設置為扇區(qū)尋址,每個扇區(qū)512 bit,寫一個扇區(qū)的函數部分程序段如下:
其中,sector為要寫的扇區(qū)號,buff指向需要保存的數據流,SPI_transfer_byte為通過SPI口向SD卡傳輸l bit的函數,SD_write_block為SD卡寫命令的編碼。
4 結束語
本系統(tǒng)依托目前覆蓋率較高的GSM公共網絡,利用現有的無線通信業(yè)務和短消息服務業(yè)務,實現了遠程報警功能,且不受地域和時間的限制,并采用CMOS攝像頭采集現場圖像,提高了警情處理的效率。經測試證明,該系統(tǒng)穩(wěn)定、可靠,報警準確、及時,圖像采集的幀率為15 f?s-1,單幀圖像的分辨率為320×240,能夠滿足用戶需求。
評論