設計了一個以32位ARM微處理器STM32F103C8T6為控制核心,外加振動傳感器和熱釋紅外傳感器的實時安防系統。該系統處于工作狀態時,能實時監控到是否有人進入監控區域,且實現自動發送彩信報警。系統采用微型圖像傳感器OV7670獲取圖像信息,并對圖像進行初步處理,再利用GPRS模塊SIM900發送彩信到指定手機,同時將獲取的圖像數據保存到SD卡內。實驗結果表明,系統工作穩定,實現了設計目標。
最近幾年隨著我國城鎮化的快速推進,人們的居住環境得到了很大的提升,家中的各類貴重物品也越來越多。由于城市的流動人口相對復雜,因此家居防盜已經成為人們非常關注的問題,對于家居安防方面的研究國內外都有不少方案。而這些方案基本都采用了運行嵌入式操作系統的高性能ARM9或者ARM11平臺,外圍搭配多種高端傳感器,這類方案成本都較高。本文介紹一種基于低成本32位ARM平臺為控制核心的家居實時安防系統,以更具實用性的設計和更低的成本,提供了一套實時安防解決方案,能很好地滿足大部分家庭對家居安防的需求。
1 系統結構
從圖1可以看出系統的模塊化設計思想,充分利用成熟的技術和模組產品,有利于降低設計的難度和整體成本。系統采用低紋波高效能的5 V開關電源作為工作電源,電路內部經過多路電源管理單元的穩壓處理后為系統各個模塊供電,以保證系統良好的抗干擾性能。系統的控制核心為STM32F103C8T6,振動傳感器的型號為SW-180,是中斷信息輸入單元,用戶可以安裝在適合的位置,負責檢測振動信號。系統框架圖如圖1所示。
熱釋紅外傳感器的型號為HC-SR501,同樣是單向輸入單元,該傳感器能準確發現100℃時5~7 m范圍內的人體移動信號,實時將信號反饋到系統控制核心。圖像傳感器OV7670經過數據緩存FIFO后與控制核心STM32F103C8T6連接,可降低微處理器的速度要求,減輕系統的負擔。
圖像信息進入微處理器后將會進行初步處理和格式轉換,得到的JPEG格式圖像再通過GPRS模塊SIM900以彩信的方式發送到指定的手機內。一旦有可疑人員進入房屋內,系統將被觸發,并自動抓拍現場照片,發送彩信提醒用戶,然后將照片保存到系統自帶的SD卡內,以備查閱。
2 硬件設計
2.1 系統核心單元
系統核心處理器STM32F103C8T6采用高性能的ARM Cortex—M3 32位RISC內核,工作頻率為72 MHz,內置高速存儲器(64 KB的閃存和20 KB的SRAM),豐富的增強I/O端口和聯接到兩組APB總線的外設。其包含2個12位的ADC、3個通用16位定時器和1個PWM定時器,以及2個I2C總線接口和SPI接口、3個USART接口、一個USB接口和一個CAN總線接口。STM32F103C8T6的工作電壓為2.0~3.6 V,采用LQFP48封裝。系統內使用LDO將5 V電源轉換為3.3V為其供電。
圖2設計了時鐘電路和復位電路,SD卡通過SPI接口與核心處理器通信,振動傳感器和熱釋紅外傳感器則通過中斷I/O口接入,圖像傳感器OV7670的SCCB接口連接核心處理器的I2C總線接口,GPRS模塊SIM900則通過串口1進行通信。
2.2 圖像采集單元
OV7670是OmniVision公司生產的一顆30W像素COMS圖像傳感器,具有體積小、工作電壓低的特點,提供單片VGA攝像頭和影像處理器的所有功能。系統通過I2C總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率8位圖像數據。該產品VGA圖像最高達到30幀/s。用戶可以控制圖像質量、數據格式和傳輸方式。OmniVision圖像傳感器應用獨有的傳感器技術,通過減少或消除光學或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質量,得到清晰穩定的彩色圖像。
圖3的電路中設計了12 MHz有源晶振,用于產生12 MHz時鐘作為OV7670的XCLK輸入信號。PAM3101DAB28用于向OV7670內部的模擬電路提供穩定的2.8 V工作電壓,同時I/O工作電壓也使用這組2.8V電源,這樣OV7670內部自帶的LDO即可正常工作,自動為OV7670的內核部分提供1.8 V電源。
系統設計了一個FIFO芯片AL422B,該FIFO芯片的容量為384 KB,足夠存儲2幀QVGA圖像數據。由于采用了FIFO作為數據緩沖,系統的數據采集負擔大大降低,設計者只需關心如何讀取FIFO數據接口,不必再關心OV7670的數據是如何采集到的,又是如何傳送到FIFO的,這樣就可以減少甚至不用關心CMOS的控制以及時序關系,就能夠實現圖像的采集。
2.3 振動傳感器單元
振動傳感器SW-180是一種彈簧型無方向性振動感應器件,它可以任意角度觸發。在靜止時任何角度都為開路OFF狀態,當受到外力碰撞或者大力晃動時,彈簧變形和中心電極接觸導通使兩個引腳瞬間導通為ON狀態;當外力消失時,電路恢復為開路OFF狀態。為了避免振動傳感器受干擾誤觸發,利用電壓比較器LM393對振動傳感器的開關量信號進行預處理,過濾干擾信號,經過LM393后得到一個邊沿陡峭的觸發信號傳送到核心處理器STM32F103C8T6的中斷口。通過調節可調電阻即可改變振動傳感器的觸發靈敏度,振動傳感器電路如圖4所示。
2.4 GPRS模塊單元
SIM900是SIMCOM公司推出的一款新型四頻GSM/GPRS模塊,支持MMS彩信功能,完全采用SMT封裝形式,同時采用了功能強大的ARM926EJ-S芯片處理器。SIM900的供應電壓范圍為3.2~4.8 V,系統采用LDO器件MIC29302BU為其供電,LDO輸入端設計了π型濾波電路,輸出端加入了EMI器件,還有旁路電容,以保證電源的紋波足夠低,如圖5所示。
SIM900模塊采用單電源供電,模塊射頻發射時會導致電壓跌落,這時電流的峰值最高會達到2 A以上,因此電源供電能力盡可能達到2 A,建議VBAT引腳并接大電容,電容容量可以設置為100~300 μF,并且大電容應盡量靠近GPRS模塊的VBAT引腳。
PCB布局時,VBAT上的旁路電容盡量要放在對應引腳附近,為了減少PCB走線阻抗,VBAT走線應盡量寬、走線盡量短、最好大面積鋪地,以提供一個穩定的電源,保證SIM900正常工作。
當采用的是兩層板設計時,因為PCB板層較厚,50Ω阻抗控制時,射頻線與RF_IN焊盤之間走線采用漸變線,以減少射頻線阻抗的突變。為了減少路徑損耗,SIM900RF_IN Pad和天線饋點的間距盡可能短。
3 系統軟件設計
3.1 系統主程序工作流程
從圖1可以了解到系統各個部分的連接關系,所有系統外圍模塊都會接入核心處理器STM32F103C8T6的相關接口,各個模塊的工作都受到核心處理器的控制。因此核心處理器在上電后必須首先進行一系列的初始化工作,以保證各個模塊的穩定協調下作。STM32F103C8T6內部有一套復雜的時鐘系統,系統上電后,核心處理器首先需要初始化其內部工作時鐘,然后才能設置內部外設的工作模式,這些下作完成后才能通過各個接口初始化核心處理器外圍的各類模塊,例如OV7670和SIM900。
接下來主程序會進入一個無限循環內部,循環判斷振動傳感器和熱釋紅外傳感器的報警信號(該標志信號由中斷函數產生)是否有效觸發,一旦報警信號生效,核心控制器立刻通過OV7670抓拍圖像數據(OV7670初始化時被設置為輸出320×240的QVGA分辨率RGB565格式圖像),然后進行圖像處理。包括白平衡、圖像格式轉換等,得到JPEG格式圖像,再將圖像文件寫入SD卡內保存。最后,利用SIM900接入GPRS網絡,將圖像以彩信方式發送到指定手機上,至此一次完整的防盜報警完成,完整工作流程如圖6所示。
3.2 圖像傳感器OV7670工作流程
核心處理器STM32F103C8T6的I2C總線接口與OV7670的SCCB接口相連接。本系統中,在上電時核心處理器將OV7670配置為320×240分辨率的QVGA模式,輸出數據格式為RGB565。OV7670的部分初始化設置源代碼如下:
由于在OV7670與核心處理器之間增加了FIFO,該FIFO足夠存儲2幀QVGA圖像數據,所以核心處理器只需按照FIFO的通信時序,從FIFO中讀取圖像數據即可。核心處理器通過FIFO讀取一個像素圖像數據的程序流程如圖7所示。圖像傳感器抓取的原始圖像質量符合設計要求,如圖8所示。
結語
ARM和GPRS技術目前已經非常成熟,基于新型Cortex—M3架構的ARM處理器的性價比較高,本系統正是充分利用現有成熟的技術,經過優化搭配,設計了一套實用的家居安防系統。實驗結果證明,系統的設計是科學可行的,振動和紅外傳感器靈敏度較高。
評論
查看更多