◎周迎勤 侯晨祥
(作者單位:漯河技師學院)
進入到二十一世紀以后,計算機的高速發展帶動著科技的發展。時至今日,科技也逐漸在影響著生活,改變著生活。智能產品逐漸進入到人們的家庭生活當中去,文中給出了一種基于S3C2410 硬件架構,結合GPS 與GSM 技術實現車輛防盜與遠程無線報警的設計方案,通過借鑒Linux 系統和MiniGUI 到S3C2410 的案例,并在此基礎上開發GPS 與GSM模塊驅動程序以及,上層應用程序,實現系統的軟件架構。本次設計的基于STM32 的智能車載防盜定位系統,以STM32F103C8T6 為控制核心,配合內置 GPS 模塊,GSM 通訊模塊,紅外人體檢測模塊,倒車測距模塊,OLED 顯示模塊,實現車輛定位,與車主發送定位信息,檢測人體,和倒車距離和定位信息的顯示功能。在監控模式下,當有人以非常手段強行打開車門時,紅外人體檢測到人時會通過GSM 通訊模塊把車輛位置信息發送到車主手機,實現對車輛的保護;當車輛被盜走后,系統將間隔一段時間把車主汽車的實時位置以短信形式發送
本系統設計為監控模式,當有人強行打開車門時,本系統通過GSM 模塊把定位信息發送到車主手機,實現對汽車的保護;當汽車被盜走后,系統將車輛的位置以短信形式發送給車主,并且經過一段時間更新一次定位坐標,讓車主及時掌握汽車的位置。
本系統主要設計的是以紅外檢測人體,判斷是否強行啟動汽車。如果汽車被強行啟動,通過GPS/BD 鎖定汽車位置,再通過GSM 發送短信給車主。同時具備倒車測距的功能,方便停車。該系統由紅外人體檢測、GPS/BD 定位、倒車測距、OLED 顯示、GSM 組成和圖中部分對應,具體系統框圖如下圖1 所示。

圖1 系統整體方案圖
STM32F103C8T6 作為本系統的控制平臺,這個系列的控制器是一個主頻高達72MHZ 的MCU,對于傳感器的數據處理運算能夠強,對比STC89C52 系列的8 位單片機,此系列是一個32 位的ARM 內核的MCU,也是目前市面上比較流行的一種控制器。
SIM900A 模塊。此模塊供電要求:5V 供電,電腦調試初期電腦USB 供電可以滿足要求。因為我們加了1000UF 的大電容。長時間傳輸數據用電量大推薦1A 以上的直流,TTL 電平串口自適應兼容3.3V 和5V 單片機??梢灾苯舆B接單片機。待機在80MA 左右,可以設置休眠狀態在10MA 左右低功耗。
1.3 寸OLED 屏幕。OLED 又稱為有機電激光顯示、有機發光半導體。由鄧青云教授于九十年代末期在實驗室中發現。OLED 顯示技術具有自發光、廣視角、高對比度、較低耗電、極高反應速度等優點。作為高端顯示屏,價格上也會比液晶電視要貴。
HC-SR501 人體紅外感應模塊。全自動感應:當有人進入其感應范圍則輸入高電平,人離開感應范圍則自動延時關閉高電平。輸出低電平。光敏控制(可選):模塊預留有位置,可設置光敏控制,白天或光線強時不感應。光敏控制為可選功能,出廠時未安裝光敏電阻。感應模塊在每一次感應輸出后(高電平變為低電平),可以緊跟著設置一個封鎖時間,在此時間段內感應器不接收任何感應信號。此功能可以實現(感應輸出時間和封鎖時間)兩者的間隔工作,可應用于間隔探測產品;同時此功能可有效抑制負載切換過程中產生的各種干擾。
ATKS1216F8-BD 模塊。模塊采用SI216F8-BD 模組,體積小巧,性能優異。模塊可通過串口調試助手進行各種參數設置,保存在內部FLASH,方便使用。模塊自帶天線接口,可以連接各種天線,建議連接GPS/北斗雙模有源天線。模塊兼容3.3V/5V 電平,方便連接各種單片機系統。
SR04M 一體化超聲波測距模塊。本產品采工業級一體化超聲波探頭設計,全部采用原裝進口低功耗芯片保證產品的穩定性和一至性,防水型探頭,性能穩定。采用工業方案設計,高達8 米遠距離測量范圍,盲區20cm,高穩定靈敏性能。一體化封閉式防水帶線探頭,適用于潮濕,惡劣的各種測量場合,多種模式選擇適合不同的場合測試使用。超低功耗20uA 低功耗電流,更寬工作電壓3.0-5.5V,兼容更多環境使用,電池低功耗供電不二之選、多種模式以及功耗選擇,適合不同場合的測試,以及教學試驗。產品采用防水型超聲波探頭,防止因為水灰塵引起探頭故障
STM32F103C8T6 是一種72M 主頻的M3 內核控制器,內部資源很豐富里面集成了包括時鐘、flash、TIM、ADC、SPI、IIC 等單元或通信接口。
1.電源電路部分:雖然控制器采用3.3V 供電方式供電,但是本系統采用的STM32F103C8T6 核心模塊自帶有1117 芯片降壓,由5V 降到3.3V。而我們的適配器是5V 的,這里需要將外部的電壓給到單片機的5V 電源引腳,電源部分最好加入一定0.1uf 的電容來起到去耦濾波的作用。
2.時鐘源電路部分:晶振的作用是為最小系統提供最基本的時鐘信號,電容的作用是保證晶振輸出的震蕩頻率更加穩定。起振電容一般選擇20pF、30pF 即可。在選用晶振的時候最好使用8MHZ 的,系統內部PLL 方便進行倍頻。
3.復位電路部分:STM32 有三種復位方式:系統復位、電源復位和后備域復位。我們這里采用電源復位的方式,當RST 引腳被拉低產生外部復位時,產生復位脈沖,從而使系統復位。
4.BOOT 啟動電路:STM32 有三種對應的啟動模式,用戶可以通過設置BOOT0 BOOT1 來設置對應的模式,我們一般使用JTAG 或者SWD 調試下載程序,會下載到閃存里,所以可以直接將BOOT0 引腳和BOOT1 引腳置為低電平。
5.調試接口電路:常用的調試下載方式有JTAG 和SWD,現在采用 SWD 調試接口,直接將 SWCLK、SWDIO、GND、3.3V引腳引出即可。
GSM 模塊與單片機之間采用異步串行的方式進行通信僅需用到四線,除去電源線,只需用到兩根線,RXT 接收線、TXD 發送線與單片機進行通訊。
OLED 的分辨率為128*64,就是說一共128*64 的點,沒一個點就是一個發光二極管,每一個漢字的正常顯示都需要16*16個發光二極管,字母和符號只需要16*8個發光二極管,因為OLED 是無字庫顯示屏,所以需要先生成用到的字符的字庫,并把字庫用IIC 通訊下載到單片機內,通過單片機來控制OLED 顯示相應的內容。
顯示電路使用IIC 通訊時需要在SCL 與SDA 引腳上加4.7K 上拉電阻,否則無法進行通訊。芯片供電為3.3V,進行電容濾波后給到芯片內部。
紅外人體檢測電路主要是為了檢測是否有非車主人員要強行使用車輛。當人進入車輛時,傳感器會檢測到人體,并輸出一個數字量信號,送給單片機,并通過兩個可變電阻可以調節檢測人體的范圍和延時關閉的時間長度。
ATKS1216F8-BD 模塊是一款高性能的雙模定位模塊,支持多種波特率通信,使用方便。模塊電路包含PPS 引腳連接在S1216FB-BD 模組的1PPS 端口,具有兩種狀態,分別為常亮和閃爍。常亮代表模塊正常工作,指示燈閃爍時表示定位成功。圖中的IPX 接口,用來外接天線,我們可以把模塊放在室內,天線放在室外,從而可以實現室內定位。
HC-SR04 超聲波測距模塊默認軟件與硬件尺寸完全兼容原版本HC-SR04。采用升級控制芯片,預留串口模式,支持9600 波特率UART 通信。驅動芯片內置60V 耐壓LDO,使工作電壓更寬(3-40V);解決老款盲區隨電壓有差異問題,全電壓可達2CM 超小盲區,4.5M 典型最遠測距,3mA 超低工作電流。采用升級解調芯片,使其外圍更加簡潔。
1. 提前配置好模塊所要使用的底層程序如UART、GPIO、IIC 等;
2.OLED 模塊的軟件調試,正常刷新GPS,測距數據;
3.GPS 模塊的軟件調試,單片機正常采集到經緯度、車速等數據;
4.GSM 模塊的軟件調試,單片機可以控制GSM 模塊發送數據;
5.倒車測距模塊的軟件調試,通過串口采集到模塊發送的距離數據;
6.紅外人體檢測模塊的軟件調試,通過人體檢測單片機接收數據是否準確;
7.整機聯調,測試整體功能的實現及修改軟件中存在的問題。
系統上電后首先進行程序初始化,初始化包括時鐘初始化和GPIO 初始化以及串口等一些驅動程序以及GSM、GPS等模塊的初始化,通過IIC 配置寄存器里面的ID 地址和數據以及INT 管腳的中斷初始化,利用OLED 顯示定位坐標,車速,時間,倒車距離等數據。通過switch 語句來實現各個模塊的相互調用,以及雙模塊或多模塊功能的實現。
程序通過模塊化編程的思路將各個功能進行整合后,最終構成了整個軟件生態系統。
測試儀器:5V/1A 直流電源適配器,萬用表,示波器。
測試軟件:串口調試助手,GPS 通訊軟件,keil5,Altium Designer。
系統測試主要包括以下幾個方面:
1.整個系統的供電電壓是否穩定,電源與地間是否存在短路;
2.單片機最小系統是否能夠正常工作,JTAG 是否可以正常的燒寫和擦除數據;
3.GPS 能否正常定位;
4.GSM 能否發送短信;
5.OLED 液晶顯示屏的調試數據是否正常顯示;
6.倒車測距模塊能否正常檢測距離;
7.紅外人體檢測模塊能否檢測到人體;
8.檢測到人體時能否成功發送短信。
1.測試數據。
首先通過對GPS 定位模塊進行測試,對比測試在開啟定位時OLED 顯示的經緯度等數據,如表1。

表1 GPS 定位/OLED 顯示狀態統計表
倒車測距模塊檢測各個手勢時的正確率分析記錄,如表2。

表2 使用各距離判定的顯示一致成功率統計表
紅外人體檢測與GSM 短信一致成功率測試,如表3。

表3 紅外人體檢測與GSM 短信一致成功率測試對比分析表
2.測試結論。
依據上述的測量數據,可以總結如下:
(1)系統可以實現用定位坐標顯示,和倒車測距顯示。
(2)檢測到人體顯示發送短信界面。
(3)顯示發送界面后接收到發送的定位信息。
(4)系統整體功能調試,已經滿足開題報告要求,可以實現車輛定位與倒車測距行顯示,檢測到人體后發送車輛定位信息。
本系統是采用STM32 單片機作為主控制器,系統主要由電源電路部分,傳感器數據采集,顯示部分,主控制器數據處理部分,短信發送部分,倒車測距部分,紅外人體檢測部分組成。其中GPS 定位和GSM 是整個系統的核心,可以用來確定車輛位置,發送坐標到車主手機上。從整個系統的方案制定仍有優化的空間,后續會進一步改進。