基于SIM900A的無線數(shù)據(jù)采集卡設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為實(shí)現(xiàn)數(shù)據(jù)采集卡的無線通訊、有效傳輸,滿足智能化需求,設(shè)計(jì)了一種基于SIM900A的無線數(shù)據(jù)采集卡。數(shù)據(jù)采集卡主要采用SIM900A芯片實(shí)現(xiàn)數(shù)據(jù)GSM/GPRS無線傳輸,將采集到的數(shù)據(jù)傳送至遠(yuǎn)程終端。本設(shè)計(jì)改善了傳統(tǒng)數(shù)據(jù)傳輸模式,提供了更趨向于智能化的功能。經(jīng)驗(yàn)證,系統(tǒng)運(yùn)行可靠穩(wěn)定,具有低成本,低功耗,應(yīng)用范圍廣等特點(diǎn),和很好的應(yīng)用前景。
關(guān)鍵詞:SIM900A;數(shù)據(jù)采集;GSM/GPRS;無線通訊
0 引言
數(shù)據(jù)采集技術(shù)主要指從傳感器輸出的微弱信號(hào),經(jīng)信號(hào)調(diào)理、數(shù)模轉(zhuǎn)換到存儲(chǔ)、記錄這一過程所涉及的技術(shù)。當(dāng)前被廣泛應(yīng)用的數(shù)據(jù)采集卡大部分以電纜或插槽連接,受到插槽數(shù)不足、安裝不便、傳輸距離等眾多因素的限制。伴隨著無線通信技術(shù)的發(fā)展,使用簡單、分布靈活的無線數(shù)據(jù)采集卡慢慢涌現(xiàn)出來,成為數(shù)據(jù)采集卡新的重要發(fā)展方向。目前,無線數(shù)據(jù)采集卡的實(shí)現(xiàn)多以zigbee,nRF905,WI_FI等無線通訊技術(shù)為主。而SIM900A芯片在眾多項(xiàng)目中的成功實(shí)踐,為實(shí)現(xiàn)數(shù)據(jù)采集卡的無線通訊提供了新的思路。因此,設(shè)計(jì)這種低功耗的基于SIM90 0A的無線數(shù)據(jù)采集卡,以滿足用戶越來越多的新要求。
1 無線數(shù)據(jù)采集卡整體設(shè)計(jì)方案
無線數(shù)據(jù)采集卡主要由電源模塊、主控模塊、數(shù)據(jù)采集模塊、無線通訊模塊、外圍接口和遠(yuǎn)程終端6部分組成。數(shù)據(jù)采集模塊采用溫度傳感器DS18B20組成,采集溫度數(shù)據(jù)。主控模塊選用ATMEGA128作為主控芯片,使用其定時(shí)器功能定時(shí)采集溫度、蓄電池電壓等參數(shù)信息,利用主控芯片中的AD轉(zhuǎn)換模塊,將采集到的模擬量轉(zhuǎn)換為數(shù)字量,再經(jīng)主要由SIM900A構(gòu)成的無線通訊模塊傳送給遠(yuǎn)程終端。遠(yuǎn)程終端可以為手機(jī)或上位機(jī)LINUX終端平臺(tái),經(jīng)由處理后存儲(chǔ)到數(shù)據(jù)庫中,以備日后查詢。系統(tǒng)結(jié)構(gòu)圖如圖1所示。數(shù)據(jù)采集卡由電源模塊供電,保證系統(tǒng)正常運(yùn)行。我們設(shè)計(jì)的電源模塊具備太陽能充電功能,從而確保數(shù)據(jù)采集卡的持久供電。此設(shè)計(jì),具有低功耗,方便靈活,易于操作,幾乎不受空間條件的限制等特點(diǎn)。
2 數(shù)據(jù)采集卡硬件設(shè)計(jì)
2.1 電源模塊
電源模塊給無線數(shù)據(jù)采集卡的主控模塊、無線通訊模塊和數(shù)據(jù)采集模塊供電。該電源模塊同時(shí)帶有太陽能充電功能和電池電壓檢測功能,保證系統(tǒng)持久供電。電源模塊硬件電路如圖2所示。因?yàn)閿?shù)據(jù)采集卡中主控模塊電壓要求2.7~5.5V,無線通訊模塊電壓要求3.4~4.5V,所以選用3.7V作為供電電壓。由于無線通訊模塊啟動(dòng)電壓很大,故特意設(shè)計(jì)了一個(gè)感抗值比較大的電感(圖2中L1)。在系統(tǒng)啟動(dòng)時(shí)產(chǎn)生較大瞬時(shí)電動(dòng)勢,使電流達(dá)到2A以上,足以達(dá)到無線通訊模塊的啟動(dòng)要求。
2.2 主控模塊
主控模塊選用ATmega128作為主控芯片。主控模塊硬件實(shí)現(xiàn)電路如圖3所示。ATmega128是ATMEL公司生產(chǎn)的一款基于AVR RISC結(jié)構(gòu)的低功耗CMDS 8位單片機(jī),帶有非易失性的程序和數(shù)據(jù)存儲(chǔ)器,8路10位ADC。AVR核將32個(gè)工作寄存器和豐富的指令集聯(lián)結(jié)在一起,通過一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令同時(shí)訪問兩個(gè)獨(dú)立的寄存器,ATmega8可以取得1 MIPS/MHz的性能,這種結(jié)構(gòu)提高了其性能。ATmega128負(fù)責(zé)把數(shù)據(jù)采集模塊采集回的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量,并組建數(shù)據(jù)報(bào),使用串口通過AT指令操作無線通訊模塊將數(shù)據(jù)報(bào)文發(fā)送出去。
2.3 無線通訊模塊
無線通訊模塊采用SIM900A芯片實(shí)現(xiàn),主要負(fù)責(zé)實(shí)現(xiàn)與遠(yuǎn)程終端的數(shù)據(jù)傳輸功能。SIM900A模塊是一款尺寸緊湊,內(nèi)置TCP/IP協(xié)議棧的GSN/GPRS模塊。利用SIM900A的特性,本設(shè)計(jì)提供兩種數(shù)據(jù)傳輸模式。一是基于GSM的短信傳輸模式,用戶通過手機(jī)短信發(fā)送指令,返回采集的數(shù)據(jù)參數(shù);二是基于GPRS的傳輸模式,用戶經(jīng)由計(jì)算機(jī)LINUX終端界面,控制采集數(shù)據(jù)。無線通訊模塊硬件實(shí)現(xiàn)如圖4所示。通過拉低端口1 PWRKEY開啟和關(guān)閉模塊,52管腳用于指示當(dāng)前網(wǎng)絡(luò)狀態(tài),根據(jù)發(fā)光二極管閃爍的頻率可以判斷手機(jī)卡是否在移動(dòng)控制中心注冊。30~33端口用于接手機(jī)SIM卡。
2.4 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊采用單總線DS18B20溫度傳感器,采集溫度數(shù)據(jù)值,送至主控模塊單片機(jī)的F端口第0位(PF0)。
3 數(shù)據(jù)采集卡軟件設(shè)計(jì)
3.1 底層驅(qū)動(dòng)程序
數(shù)據(jù)采集卡硬件部分,通過對(duì)ATmega128單片機(jī)編程實(shí)現(xiàn)對(duì)溫度、蓄電池電壓等參數(shù)的采集、處理、發(fā)送等功能。
采集卡上電復(fù)位后,驅(qū)動(dòng)軟件先執(zhí)行初始化操作,初始化包括主控芯片的端口,串口波特率(與GSM/GPRS模塊串口波特率一致),EEPROM中的固定參數(shù),以及GSM/GPRS模塊的GSM通道GPRS通道設(shè)置,模塊串口設(shè)置。之后主控芯片定時(shí)判斷是否有來自遠(yuǎn)程終端或手機(jī)短信的預(yù)設(shè)的數(shù)據(jù)請求命令接口。其外部時(shí)鐘電路每分鐘觸發(fā)的一次中斷信號(hào),開始采集傳感器中獲取的數(shù)據(jù)值。當(dāng)有命令傳來時(shí),就組建信息報(bào)文,通過串口將報(bào)文數(shù)據(jù)通過無線發(fā)送模塊傳送出去。串口通訊流程圖如圖5所示。
由于環(huán)境參數(shù)變化緩慢,在外部中斷信號(hào)觸發(fā)后,按照約定的采樣間隔采集數(shù)據(jù)。數(shù)據(jù)保存在全局緩沖區(qū)中,減少多次調(diào)用采集數(shù)據(jù)指令,減輕了采集系統(tǒng)的負(fù)擔(dān)。
3.2 終端平臺(tái)軟件設(shè)計(jì)
終端平臺(tái)軟件運(yùn)行于裝有LINUX系統(tǒng)的具有固定IP的計(jì)算機(jī)上。本設(shè)計(jì)選擇LINUX操作系統(tǒng)作為軟件開發(fā)平臺(tái),LINUX最大的特點(diǎn)就是免費(fèi)開源,支持多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。終端平臺(tái)軟件的設(shè)計(jì),采用了模塊化的設(shè)計(jì)思想,各功能模塊之間功能相互獨(dú)立,其中主程序是整個(gè)終端平臺(tái)軟件的核心,通過主程序有機(jī)地調(diào)用系統(tǒng)各類子程序及模塊,形成一個(gè)聯(lián)系緊密的整體,有條不紊地完成各項(xiàng)預(yù)定的操作指令。
終端軟件平臺(tái)軟件采用多進(jìn)程多線程編制,實(shí)現(xiàn)對(duì)基于GPRS的數(shù)據(jù)傳輸模式的數(shù)據(jù)參數(shù)的接收、顯示、存儲(chǔ)和控制。
3.3 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫對(duì)基于GPRS的數(shù)據(jù)傳輸模式采集回來的數(shù)據(jù)參數(shù)進(jìn)行存儲(chǔ),以備日后查看,為用戶存儲(chǔ)原始數(shù)據(jù)。本設(shè)計(jì)中采用MYSQL數(shù)據(jù)庫,MYSQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),其體積小、速度快、總體擁有成本低,且滿足設(shè)計(jì)需要。
4 測試效果
通過PROTEL完成PCB圖的設(shè)計(jì),發(fā)工廠完成PCB板的制作,完成元器件焊接后,下載程序,通電調(diào)試。經(jīng)多次實(shí)驗(yàn)后,無線數(shù)據(jù)采集卡運(yùn)行穩(wěn)定,效果良好。測試效果如圖6所示。
5 結(jié)論
本文設(shè)計(jì)的基于SIM900A的無線數(shù)據(jù)采集卡是利用SIM900A芯片、ATmega128單片機(jī)等組成的,通過無線通訊模塊GSM/GPRS無線通信方式完成數(shù)據(jù)采集卡到遠(yuǎn)程終端的數(shù)據(jù)傳輸。本設(shè)計(jì)完成了無線數(shù)據(jù)采集卡硬件部分和軟件部分的設(shè)計(jì)與實(shí)現(xiàn),利用SIM900A的特性,改善了傳統(tǒng)數(shù)據(jù)傳輸模式,提供了更加趨向于智能化的功能。本設(shè)計(jì)成本較低,運(yùn)行穩(wěn)定可靠,應(yīng)用范圍廣,可用于遠(yuǎn)程無線數(shù)據(jù)采集、監(jiān)控、存儲(chǔ)等,有很好的推廣價(jià)值。