摘要:文章設(shè)計(jì)了一種以ARM單片機(jī)為核心、采用GPRS作為無(wú)線傳輸方式的數(shù)據(jù)采集傳輸儀,此設(shè)備通過(guò)串口與傳感器進(jìn)行通信實(shí)現(xiàn)采集數(shù)據(jù),然后通過(guò)GPRS模塊把傳感器數(shù)據(jù)發(fā)送到控制中心。文章首先介紹了ARM處理器的優(yōu)點(diǎn)和GPRS無(wú)線傳輸?shù)奶攸c(diǎn),然后重點(diǎn)介紹了數(shù)據(jù)采集傳輸儀的硬件系統(tǒng),并對(duì)設(shè)計(jì)重點(diǎn)做了詳細(xì)分析,最后對(duì)此數(shù)據(jù)采集儀的技術(shù)優(yōu)勢(shì)和潛在應(yīng)用做了分析和展望。
關(guān)鍵詞:ARM;單片機(jī);GPRS;數(shù)據(jù)采集;串口通信
0 引言
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,在分散的、環(huán)境惡劣的作業(yè)點(diǎn),特別是存在突發(fā)、小數(shù)據(jù)量傳輸?shù)膱?chǎng)合,以有線傳輸作為通信媒介已不太合適。物聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用迅速推動(dòng)了無(wú)線通信技術(shù)在工業(yè)控制領(lǐng)域的發(fā)展,無(wú)線傳感器終端逐漸成為主流。
GPRS是通用分組無(wú)線服務(wù)技術(shù)的簡(jiǎn)稱(chēng),它是GSM移動(dòng)電話用戶可用的一種移動(dòng)數(shù)據(jù)業(yè)務(wù)。它的出現(xiàn),使低成本無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)建成為可能,具有資費(fèi)低、覆蓋區(qū)域大、實(shí)時(shí)在線、傳輸率高、呼叫建立時(shí)間短等優(yōu)勢(shì),因此采用GPRS方式設(shè)計(jì)無(wú)線傳感器終端的數(shù)據(jù)采集儀是當(dāng)今比較好的解決方案。
ARM(Advaneed RISC Machines)微處理器是32位、高性能、廉價(jià)、耗能低的RISC處理器,F(xiàn)已廣泛應(yīng)用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類(lèi)多媒體和移動(dòng)式應(yīng)用等。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)主要由GPRS通訊模塊、MCU控制模塊、數(shù)據(jù)采集模塊和電源管理模塊4部分組成,軟件部分由單片機(jī)驅(qū)動(dòng)、數(shù)據(jù)采集、GPRS無(wú)線通信、系統(tǒng)監(jiān)控等部分組成,硬件部分由電源管理、微處理器、GPRS模塊、SIM卡座、串行通信接口和數(shù)據(jù)存儲(chǔ)器等部分組成。微處理器用于控制GPRS模塊的信息接收和發(fā)送,通過(guò)串行通信口和外部傳感器進(jìn)行數(shù)據(jù)通訊,數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)通過(guò)GPRS傳輸?shù)臄?shù)據(jù),以備GPRS數(shù)據(jù)傳輸丟失時(shí)可以補(bǔ)傳。本數(shù)據(jù)采集傳輸系統(tǒng)原理結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計(jì)
本系統(tǒng)硬件使用ARM處理器作為核心控制器,以西門(mén)子公司的MC52i模塊作為GPRS無(wú)線通信模塊,使系統(tǒng)具有低功耗、高效率、實(shí)時(shí)在線的特點(diǎn)。
2.1 嵌入式微處理器單元
本硬件平臺(tái)的MCU采用ST公司的STM32F105RCT6,該單片機(jī)使用當(dāng)前最流行的Cortex-M3內(nèi)核,采用64腳封裝,擁有獨(dú)立的256 kBflash和 64k的RAM,最高允許頻率可達(dá)72MHz,同時(shí)具有5路UART、12路DMA控制器、片內(nèi)RTC、51個(gè)I/O口、片內(nèi)16通道12位ADC、2個(gè)IIC接口、3個(gè)SPI接口和2個(gè)CAN總線接口。本系統(tǒng)通過(guò)合理利用片內(nèi)集成的多種功能模塊,大大降低了設(shè)計(jì)的復(fù)雜性,也降低了系統(tǒng)成本。該MCU在本設(shè)計(jì)中的設(shè)計(jì)管腳應(yīng)用如圖2所示。
如圖1所示,系統(tǒng)具有兩個(gè)晶振,其中8MHz晶振為主晶振,通過(guò)MCU內(nèi)部倍頻到72MHz為系統(tǒng)提供運(yùn)行頻率;32.768kHz為系統(tǒng)的RTC提供運(yùn)行時(shí)鐘。當(dāng)單片機(jī)的1腳也就是VBAT腳接使用電池供電時(shí),RTC在系統(tǒng)斷電情況下可以由電池供電,從而可以保證RTC在斷電情況下繼續(xù)正常運(yùn)行。
本設(shè)計(jì)針對(duì)工業(yè)應(yīng)用場(chǎng)合設(shè)計(jì),為確保系統(tǒng)在任何環(huán)境均能正常上電復(fù)位并啟動(dòng),電源監(jiān)視芯片采用了CATALYST公司的CATS09s芯片,該芯片門(mén)檻電壓為2.93V,監(jiān)視電壓為3.3V。本設(shè)計(jì)將CAT809s的輸出串聯(lián)上一個(gè)阻值較小的電阻,這不僅減小了灌電流,還可以在電源電壓下降的狀況下對(duì)MCU進(jìn)行有效的復(fù)位,通過(guò)實(shí)驗(yàn)證明,該方法是切實(shí)可行的。
電容C11、C12、C13、C14、C15和C54為MCU專(zhuān)用去耦電容,L5為磁珠,可以減少系統(tǒng)其它部分電源產(chǎn)生的高頻干擾信號(hào),從而保證EMCU在穩(wěn)定的電源狀態(tài)下工作,增強(qiáng)系統(tǒng)的抗干擾性。
JP1四芯接頭為SW接口,可以通過(guò)JLINK或者其它支持SW調(diào)試接口的在線調(diào)試器對(duì)系統(tǒng)進(jìn)行跟蹤調(diào)試。使用SW調(diào)試接口查找系統(tǒng)軟件方面的問(wèn)題非常方便。
2.2 GPRS模塊MC52i
MC52i是Cinterion公司(原西門(mén)子)生產(chǎn)的內(nèi)部帶有TCP/IP協(xié)議棧的模塊,不僅支持SOCKET連接下的TCP/UDP數(shù)據(jù)傳輸,還支持HTTP、FTP、SMTP、POP3等上層應(yīng)用協(xié)議。它支持標(biāo)準(zhǔn)ITU-T的AT命令集,可以通過(guò)串口對(duì)其進(jìn)行控制。該模塊是工業(yè)級(jí)別的模塊,目前廣泛運(yùn)用于智能公交、無(wú)線數(shù)傳(DTU)、遠(yuǎn)程無(wú)線抄表等系統(tǒng)應(yīng)用中,可在-40℃和+80℃的環(huán)境下正常工作,功耗低、可靠性高、性價(jià)比高。MC52i的接口為50芯雙排接口,由于系統(tǒng)采用串口方式與MC52i通信,并且僅僅GPRS功能,所以系統(tǒng)僅使用9針串口的RXD0和TXD0,本系統(tǒng)的應(yīng)用接口如圖3所示。
其中D16和D17為串口通信指示燈,當(dāng)MCU和MC52i有數(shù)據(jù)通信時(shí),通過(guò)該指示燈可以看到通信狀態(tài)是否正常。
U10為SIM卡插座,SIM卡的電源、時(shí)鐘、數(shù)據(jù)線均按照上面電路所示連接,其中CCIN為SIM卡插入檢測(cè)管腳。
MC52i正常啟動(dòng)工作還需兩個(gè)控制信號(hào),分別是OFF和IGT,這兩個(gè)控制信號(hào)的電平和MCU的3.3V不一致,所以需要通過(guò)MOS管進(jìn)行電平轉(zhuǎn)換。模塊正常工作時(shí)有兩個(gè)狀態(tài)指示信號(hào),具體電路圖如圖4所示。
IGT控制信號(hào)用于啟動(dòng)模塊上電啟動(dòng),該控制信號(hào)必須使用開(kāi)漏或者集電極開(kāi)路電路拉低至少100ms才能使用模塊正常上電啟動(dòng)。
OFF控制信號(hào)也必須使用開(kāi)口或者集電極開(kāi)路電路驅(qū)動(dòng),用于斷電情況緊急關(guān)斷模塊電源,該信號(hào)通常為高,使用時(shí)需要拉低至少10ms。當(dāng)緊急關(guān)機(jī)信號(hào)使用后如果啟動(dòng)IGT信號(hào)可以使模塊復(fù)位。
GPRS_ACTIVE信號(hào)通過(guò)MOS管驅(qū)動(dòng)D14 LED指示燈,當(dāng)MC52i模塊正常上電時(shí)該信號(hào)為高,MOS管導(dǎo)通,驅(qū)動(dòng)D14指示燈點(diǎn)亮。
GPRS_SYNC為無(wú)線數(shù)據(jù)通信狀態(tài)指示信號(hào),當(dāng)數(shù)據(jù)鏈路正常通信時(shí)該信號(hào)指示燈閃爍顯示。
3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)主要分為系統(tǒng)初始化、GPRS模塊初始化、無(wú)線通信、數(shù)據(jù)采集和數(shù)據(jù)存儲(chǔ)5個(gè)模塊,其中無(wú)線模塊初始化和無(wú)線通信的算法流程如圖5所示。
如圖5所示,系統(tǒng)上電后首先通過(guò)控制IGT信號(hào)控制GPRS模塊正常上電啟動(dòng),GPRS模塊正常啟動(dòng)工作后,通過(guò)AT指令分別創(chuàng)建GPRS服務(wù)和連接,在創(chuàng)建連接時(shí)需要設(shè)定GPRS通信所需的終端IP地址和端口號(hào),如果端口號(hào)設(shè)置不對(duì)或者不支持外部連接則創(chuàng)建連接會(huì)失敗。連接創(chuàng)建成功后,系統(tǒng)的發(fā)送和接收狀態(tài)變量狀態(tài),分別執(zhí)行GPRS發(fā)送和接收功能,在GPRS發(fā)送過(guò)程中會(huì)由于網(wǎng)絡(luò)系統(tǒng)的不穩(wěn)定等原因?qū)е掳l(fā)送失敗,此時(shí)需要重新創(chuàng)建GPRS服務(wù)和連接。
本設(shè)計(jì)對(duì)GPRS模塊的所有操作均通過(guò)AT命令實(shí)現(xiàn),其中MC52i主要的AT命令如下:
·AT^SICS;……網(wǎng)絡(luò)連接參數(shù)設(shè)置
·AT^SISS;……網(wǎng)絡(luò)服務(wù)參數(shù)設(shè)置
·AT^SISO;……打開(kāi)網(wǎng)絡(luò)服務(wù)
·AT^SISC;……關(guān)閉網(wǎng)絡(luò)服務(wù)
·AT^SISR;……從GPRS模塊中讀取服務(wù)器發(fā)來(lái)的數(shù)據(jù)
·AT^SISW;……把數(shù)據(jù)寫(xiě)入到GPRS模塊,然后由GPRS模塊發(fā)送到指定的IP端口
4 應(yīng)用和發(fā)展前景
本設(shè)計(jì)將無(wú)線通信技術(shù)與當(dāng)前主流ARM單片機(jī)嵌入式技術(shù)有機(jī)融合在一起,可使傳感器終端通過(guò)低廉、快速、可靠的方式連入GPRS網(wǎng)絡(luò)和互聯(lián)網(wǎng),并可使傳感器終端的數(shù)據(jù)信息可靠、實(shí)時(shí)地進(jìn)行無(wú)線傳輸,從而為無(wú)人值守傳感器終端設(shè)備的安全穩(wěn)定運(yùn)行和數(shù)據(jù)采集提供了可靠的保證。實(shí)際使用效果證明,本系統(tǒng)能夠長(zhǎng)時(shí)間穩(wěn)定地向上位機(jī)控制終端發(fā)送數(shù)據(jù),在數(shù)據(jù)量較小和數(shù)據(jù)傳輸速度要求不高的場(chǎng)合,最能體現(xiàn)性價(jià)比,同時(shí)也可以滿足實(shí)時(shí)性應(yīng)用需求。
作者:徐良芝 來(lái)源:現(xiàn)代電子技術(shù)