基于ARM11和MMS的遠(yuǎn)程監(jiān)控系統(tǒng)研究
3 系統(tǒng)硬件設(shè)計(jì)
3.1 控制模塊的設(shè)計(jì)
為了使遠(yuǎn)程監(jiān)控系統(tǒng)可以穩(wěn)定、持續(xù)、高效地工作,并能對(duì)突發(fā)事件做出迅速反應(yīng),控制模塊采用嵌入式微處理器S3C6410。該處理器是基于16/32位ARM11版本內(nèi)核的低成本、低功耗、高性能微處理器,廣泛應(yīng)用于移動(dòng)電話和其他便攜式應(yīng)用。為了給2.5G和3G移動(dòng)通信業(yè)務(wù)提供最佳的硬件性能,S3C6410采用64/32位內(nèi)部總線結(jié)構(gòu),內(nèi)部集成了多個(gè)功能強(qiáng)大的硬件加速器,如移動(dòng)圖像處理、顯示控制和圖像縮放。其內(nèi)部集成的JPEG編解碼器,支持對(duì)YCbCr4:2:2/YCbCr4:2:0格式的圖像進(jìn)行編碼,輸出的圖像文件尺寸可滿足MMS信息對(duì)圖片大小的要求。除此之外,S3C6410還具備相機(jī)接口,該接口支持ITU R BT-656/601 8位模式,最大輸入尺寸可為4096×4096像素,支持YCbCr4:2:2格式的數(shù)據(jù)作為輸入,可生成RGB 16/18/24位格式和YCbCr4:2:2/YCbCr4:2:0格式的圖像,這一特點(diǎn)可降低系統(tǒng)對(duì)圖像采集模塊的要求。
3.2 傳感器模塊的設(shè)計(jì)
系統(tǒng)的傳感器模塊由兩部分組成,分別是溫濕度傳感器和煙霧濃度傳感器。溫濕度傳感器采用廣州奧松公司的高性能AM2301電容式數(shù)字溫濕度傳感器。該傳感器具有超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高、溫濕度測(cè)量范圍大、分辨率高等優(yōu)點(diǎn),可應(yīng)用于各類環(huán)境中,甚至在條件極為惡劣的場(chǎng)合也可正常工作。AM2301是一種單總線器件,其數(shù)據(jù)格式:40位數(shù)據(jù)=16位濕度數(shù)據(jù)+16位溫度數(shù)據(jù)+8位校驗(yàn)和。在本系統(tǒng)中,通過(guò)S3C6410的引腳GPE1并加上拉電阻與控制模塊進(jìn)行通信,使系統(tǒng)集成變得更為簡(jiǎn)易快捷,節(jié)省了引線數(shù)量,降低了產(chǎn)品成本。
煙霧濃度傳感器采用MQ-2作為感應(yīng)器件。MQ-2是一種電阻性的傳感器,對(duì)天然氣、液化石油氣、氫氣等煙霧具有很高的靈敏度,可長(zhǎng)期穩(wěn)定地工作,抗干擾性強(qiáng)。通過(guò)測(cè)量其輸出電阻,可以檢測(cè)現(xiàn)場(chǎng)的煙霧濃度。
3.3 圖像采集模塊的設(shè)計(jì)
圖像采集模塊采用美國(guó)Omnivision公司生產(chǎn)的OV7650。它是一款高集成度、高分辨率的CMOS圖像傳感器,支持YCbCr4:2:2數(shù)據(jù)輸出格式,可完全滿足系統(tǒng)的設(shè)計(jì)要求。其輸入輸出接口與S3C6410的相機(jī)接口具備良好的兼容性,為系統(tǒng)的開發(fā)提供極大的便利。
3.4 GPRS模塊的設(shè)計(jì)
系統(tǒng)采用Simcom公司的SIM300z作為GPRS模塊。它利用GPRS技術(shù)與GSM移動(dòng)通信網(wǎng)絡(luò)作為傳輸介質(zhì),可為用戶提供快速的無(wú)線GPRS連接以及較高的數(shù)據(jù)傳輸速率。該模塊有較寬的工作溫度范圍,可滿足監(jiān)控系統(tǒng)對(duì)惡劣條件的要求。SIM300z與S3C6410通過(guò)串口通信,能及時(shí)處理S3C6410發(fā)出的AT指令。對(duì)于S3C6410傳遞的數(shù)據(jù),SIM300z也可及時(shí)轉(zhuǎn)發(fā),滿足監(jiān)控系統(tǒng)對(duì)數(shù)據(jù)傳送的要求。
4 系統(tǒng)軟件設(shè)計(jì)
完成硬件的設(shè)計(jì)只是實(shí)現(xiàn)系統(tǒng)功能的第一步,良好的軟件設(shè)計(jì)才是系統(tǒng)能夠穩(wěn)定運(yùn)行的關(guān)鍵,下面將詳細(xì)介紹監(jiān)控系統(tǒng)的軟件結(jié)構(gòu)和重要的軟件模塊。
4.1 嵌入式操作系統(tǒng)的移植
嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,負(fù)責(zé)遠(yuǎn)程監(jiān)控系統(tǒng)的全部軟件硬件資源的分配、調(diào)度等工作,是整個(gè)系統(tǒng)的基礎(chǔ)。Linux因其內(nèi)核完全開放、可以靈活配置等特性,被選為本系統(tǒng)的操作系統(tǒng)。其移植過(guò)程如下:
①在PC機(jī)上利用虛擬機(jī),建立交叉編譯環(huán)境GNU;
②根據(jù)系統(tǒng)需要選擇TCP/IP等模塊,編譯生成Linux內(nèi)核;
③編譯生成根文件系統(tǒng)rootdisk;
④向底層硬件下載Bootloader映像,Bootloader的主要作用是初始化硬件,引導(dǎo)Linux內(nèi)核啟動(dòng);
⑤燒寫Linux內(nèi)核和rootdisk映像。
4.2 GPRS連網(wǎng)模塊的設(shè)計(jì)
在Linux下通過(guò)GPRS上網(wǎng),必須使用PPP協(xié)議進(jìn)行撥號(hào),而移植到ARM中的Linux沒有提供PPP協(xié)議,需要在內(nèi)核編譯時(shí)配置網(wǎng)絡(luò)設(shè)備支持PPP協(xié)議。在此基礎(chǔ)上,利用pppd源碼包,使用“ATD*99***1#”進(jìn)行撥號(hào)連接,即可登錄中國(guó)移動(dòng)的GPRS網(wǎng)絡(luò)。在撥號(hào)過(guò)程中,需要進(jìn)行如下設(shè)置:
①設(shè)置串口速率為115 200 bps,校驗(yàn)位為NONE,數(shù)據(jù)位為8,停止位為1,并取消硬件流控制;
②用戶名與密碼為空;
③使用“AT+CGDCONT=1,“IP”,“CMNET””指令,設(shè)置接入點(diǎn)為CMNET。
4.3 信息采集模塊的設(shè)計(jì)
信息的采集包括兩部分:一部分是圖像信息的采集,另一部分是溫濕度、煙霧濃度的采集。由于S3C6410具備相機(jī)接口和強(qiáng)大的JPEG編解碼器作為硬件支持,可直接調(diào)用Linux函數(shù)完成圖像的采集和編碼工作,極大地縮短了開發(fā)周期。
溫濕度的采集通過(guò)AM2301模塊進(jìn)行,在其上電后,需等待1s以越過(guò)不穩(wěn)定狀態(tài),在此期間不能發(fā)送任何指令。AM2301與S3C6410之間采用單總線數(shù)據(jù)格式進(jìn)行通信和同步,一次通信時(shí)間大約5 ms。
微控制器S3C6410采集溫濕度流程如下:通信開始時(shí)S3C6410拉低總線DATA,500μs后釋放總線,延時(shí)20~40 μs后S3C6410開始檢測(cè)AM230 1的響應(yīng)信號(hào)。AM2301的響應(yīng)信號(hào)是一個(gè)80μs左右的低電平,隨后AM2301再拉高總線80μs左右代表其即將進(jìn)入數(shù)據(jù)傳送狀態(tài)。而后AM2301傳遞40位的有效數(shù)據(jù),當(dāng)最后一位數(shù)據(jù)傳送完畢后,AM2301將再次拉低總線50μs左右,最后釋放總線,并由上拉電阻拉高。
評(píng)論