新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM7無線傳輸?shù)臒犭娕歼h(yuǎn)程監(jiān)控系統(tǒng)

基于ARM7無線傳輸?shù)臒犭娕歼h(yuǎn)程監(jiān)控系統(tǒng)

作者: 時間:2010-04-23 來源:網(wǎng)絡(luò) 收藏
引言
目前,很多功能強(qiáng)大的嵌入式處理器都ARM內(nèi)核構(gòu)建。這樣的配置系統(tǒng)性價比高,可擴(kuò)展性能強(qiáng)。
工業(yè)檢測系統(tǒng)應(yīng)用中,作為一種主要的測溫元件,具有結(jié)構(gòu)簡單、制造容易、使用方便、測溫范圍寬、測溫精度高等特點(diǎn),可以廣泛應(yīng)用于工業(yè)溫度控制過程中。但是輸出電勢極其微弱,而且存在冷端溫度誤差和輸出電勢與被測溫度的非線性問題,易引起較大測量誤差,需要極其復(fù)雜的信號處理電路。MAX6675是Maxim公司推出的K型串行模數(shù)轉(zhuǎn)換器,該型號芯片能夠獨(dú)立完成信號放大、冷端補(bǔ)償、線性化、A/D轉(zhuǎn)換及SPI串口數(shù)字化輸出功能,能夠簡化熱電偶測量智能裝置的軟硬件模塊的設(shè)計(jì)。
移動檢測終端可以快速投入現(xiàn)場,系統(tǒng)調(diào)試周期短。隨著3G業(yè)務(wù)的普及,各種通信的成本快速下降,、移動、測溫控制系統(tǒng)將更加普及。國內(nèi)外無線通信的相關(guān)研究也開始變得很熱門,有相關(guān)產(chǎn)品投入市場。本文根據(jù)溫度監(jiān)控領(lǐng)域的發(fā)展趨勢,開發(fā)一套基于處理器和GPRS無線模塊的嵌入式無線熱電偶測溫控制系統(tǒng)。

1 系統(tǒng)的構(gòu)成和工作原理
溫度無線以應(yīng)用為中心,由SPI接口連接MAX6675采集溫度數(shù)據(jù),通過串口發(fā)送到華為GTM900A無線模塊。由于GPRS網(wǎng)絡(luò)(2.5G移動通信技術(shù))支持TCP/IP協(xié)議,這使得無線數(shù)據(jù)傳輸變得更加輕松,而且相對價格比短消息等要便宜許多。為了能夠設(shè)置參數(shù),系統(tǒng)支持通過短信的方式設(shè)置相關(guān)核心參數(shù)。終端設(shè)備系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

本文引用地址:http://2s4d.com/article/151902.htm


本系統(tǒng)的終端設(shè)備采用模塊化的結(jié)構(gòu)設(shè)計(jì)思想,將終端設(shè)備分為主控模塊和各個功能模塊。主控模塊和各功能模塊之間有統(tǒng)一的或者特定的接口形式,用戶可根據(jù)實(shí)際情況選用不同的功能模塊。各種類型的數(shù)據(jù)可以在系統(tǒng)中同時傳輸而不相互干擾,同時也可根據(jù)市場變換的需求繼續(xù)擴(kuò)展其他功能模塊。
溫度遠(yuǎn)程無線的幾個主要模塊功能如下:
①傳感器數(shù)據(jù)處理模塊。根據(jù)實(shí)際需要,采集熱電偶溫度傳感器數(shù)據(jù)。當(dāng)采集到的數(shù)據(jù)值高于或者低于報(bào)警值時,啟動自動報(bào)警模塊,提醒巡查人員注意。
②LCD顯示模塊。顯示檢測到的溫度數(shù)據(jù)及相關(guān)的系統(tǒng)核心參數(shù),以便相關(guān)工作人員觀測數(shù)據(jù)。
③自動報(bào)警模塊。在系統(tǒng)檢查到有效報(bào)警信息后,該模塊馬上使嵌入式設(shè)備上的蜂鳴器發(fā)出警報(bào)聲,與此同時發(fā)送報(bào)警信息。該信息通過GPRS網(wǎng)絡(luò)及時傳回遠(yuǎn)端的監(jiān)控管理中心,以便工作人員及時發(fā)現(xiàn)并采取相應(yīng)的處理措施。
④參數(shù)配置模塊。系統(tǒng)的核心參數(shù)配置通過I2C總線保存在Atmel AT24C01芯片里,系統(tǒng)啟動時讀取相關(guān)參數(shù)。參數(shù)的設(shè)置可以通過多種方式(串口、短信和網(wǎng)絡(luò))實(shí)現(xiàn)。
核心控制模塊。采用低功耗、高性能嵌入式SoC芯片Samsung S3C4480X以及8MB RAM和2 MBFlash ROM。
⑥熱電偶溫度采集處理模塊。通用I/O口用軟件來模擬SPI操作,實(shí)現(xiàn)與MAX6675的通信。
⑦GPRS無線數(shù)據(jù)傳輸模塊??紤]到系統(tǒng)的實(shí)際需求,采用華為GTM900A模塊。該模塊支持AT指令,模塊的控制、數(shù)據(jù)的傳輸可以通過AT指令發(fā)送或者讀取該設(shè)備的串口。
⑧遠(yuǎn)程監(jiān)控軟件模塊。遠(yuǎn)程監(jiān)控軟件采集端和控制端。采集端需要連接到Internet上,有固定的IP地址,負(fù)責(zé)遠(yuǎn)程終端數(shù)據(jù)的接收和發(fā)送。控制端由操作人員使用,在界面上顯示各個終端的運(yùn)行情況、當(dāng)前的實(shí)時溫度數(shù)據(jù),操作人員的指令通過控制端下發(fā)到采集端,最后通過采集端發(fā)送到各個對應(yīng)的終端。

2 系統(tǒng)的軟件設(shè)計(jì)流程
系統(tǒng)啟動時,為支持通過串口設(shè)置相關(guān)參數(shù),按照順序提示用戶輸入相關(guān)配置參數(shù)。如果用戶超過了一定的時間不操作,系統(tǒng)就進(jìn)入初始化模塊,啟動GPRS模塊,對短信命令進(jìn)行處理(初始化自有點(diǎn)到點(diǎn)協(xié)議模塊)。主應(yīng)用程序的流程如圖2所示。


系統(tǒng)運(yùn)行中,TimerO的中斷處理程序處理自有的點(diǎn)到點(diǎn)協(xié)議,包括處理“登陸”、“心跳”和“退出”命令。在系統(tǒng)的發(fā)送數(shù)據(jù)緩沖隊(duì)列中讀取數(shù)據(jù),將數(shù)據(jù)打包成“數(shù)據(jù)”命令,通過串口發(fā)送到GPRS模塊。如果GPRS模塊有數(shù)據(jù),再在串口中讀出遠(yuǎn)程監(jiān)控中心發(fā)送過來自有協(xié)議的各種命令,只將“數(shù)據(jù)”命令解析后存入接收數(shù)據(jù)緩沖隊(duì)列中,其他協(xié)議維持命令由相應(yīng)的子程序進(jìn)行處理。
主應(yīng)用程序通過少數(shù)幾個系統(tǒng)狀態(tài)全局變量、發(fā)送數(shù)據(jù)緩沖隊(duì)列和接收數(shù)據(jù)緩沖隊(duì)列與數(shù)據(jù)通信模塊進(jìn)行交互,也就是與TimerO的中斷處理程序進(jìn)行交互。主應(yīng)用程序不需要了解自有點(diǎn)到點(diǎn)協(xié)議的編解碼過程以及數(shù)據(jù)鏈路的維護(hù)工作,使模塊直接的耦合度降低。主應(yīng)用程序通過SPI總線實(shí)時地讀取MAX6675采集到的熱電偶溫度數(shù)據(jù),實(shí)時檢查GPRS模塊狀態(tài)(如果GPRS模塊錯誤超過規(guī)定次數(shù),重新啟動GPRS模塊),實(shí)時地將報(bào)警數(shù)據(jù)存入發(fā)送數(shù)據(jù)緩沖隊(duì)列中并同時啟動報(bào)警模塊,實(shí)時地處理接收數(shù)據(jù)緩沖隊(duì)列中的數(shù)據(jù),實(shí)時處理GPRS模塊短信命令數(shù)據(jù),實(shí)時顯示系統(tǒng)采集的溫度數(shù)據(jù)和狀態(tài)信息,定時地將采集到的數(shù)據(jù)存入發(fā)送數(shù)據(jù)緩沖隊(duì)列中。

3 MAX6675與S3C4480X的接口實(shí)現(xiàn)
MAX6675芯片內(nèi)部集成了冷端補(bǔ)償電路。該芯片有簡單的3位串行SPI接口,可將溫度信號轉(zhuǎn)換成12位的數(shù)字量,溫度分辨率達(dá)O.25℃。芯片內(nèi)部含有熱電偶斷線檢測電路。其冷端補(bǔ)償溫度范圍為-20~80℃,應(yīng)用的環(huán)境溫度范圍比較寬,可以測量0~1 023.75℃的被測溫度,基本符合工業(yè)溫度測量的實(shí)際需要。當(dāng)MAX6675的CS引腳從高電平變?yōu)榈碗娖綍r,芯片將停止任何信號轉(zhuǎn)換并在時鐘SCK的作用下通過S0引腳向外輸出已轉(zhuǎn)化的數(shù)據(jù),此數(shù)據(jù)是經(jīng)過放大了的A/D轉(zhuǎn)換后的數(shù)字量與冷端補(bǔ)償之和;相反,當(dāng)芯片的CS引腳從低電平變回高電平時,MAX-6675芯片將進(jìn)行新的溫度數(shù)字化工作。CS引腳從高電平變?yōu)榈碗娖綍r,第1個字節(jié)D15出現(xiàn)在引腳SO上。該系列芯片的1個完整的數(shù)據(jù)讀過程需要16個時鐘周期,數(shù)據(jù)的讀取通常在SCK的下降沿完成。需要指出的是,此芯片的A/D轉(zhuǎn)換耗時在O.17~0.22 s之間,比一般的A/D轉(zhuǎn)換芯片μs級的轉(zhuǎn)換時間要長許多,相應(yīng)的溫度轉(zhuǎn)換模塊需要進(jìn)行相應(yīng)的優(yōu)化設(shè)計(jì),不能占用太多CPU資源。
MAlX6675采用標(biāo)準(zhǔn)的SPI串行外設(shè)總線與ARM7進(jìn)行對接,因此該芯片只能作為從設(shè)備(即串行接口芯片)。SPI(SeriaI Peripheral Int-erface)總線系統(tǒng)是一種同步串行外設(shè)接口,是Motorola公司推出的總線標(biāo)準(zhǔn),它可以使ARM7單片機(jī)與各種外圍設(shè)備以串行方式進(jìn)行通信。由于S3C44BOX單片機(jī)不具有SPI串行總線接口,在芯片對接時可以使用通用I/O口,用軟件來模擬SPI操作,包括串行時鐘、數(shù)據(jù)輸入/輸出。

4 GPRS無線數(shù)據(jù)傳輸模塊
溫度采集處理模塊采集到的數(shù)據(jù)通過SPI總線傳送到處理器,經(jīng)過串口AT指令傳輸?shù)紾PRS模塊,然后由GPRS模塊通過GPRS網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)將數(shù)據(jù)傳送到遠(yuǎn)端接在互聯(lián)網(wǎng)上的控制中心主機(jī),在控制中心的網(wǎng)絡(luò)上可以通過組態(tài)軟件建立小型集散控制系統(tǒng)。至于組態(tài)軟件的選擇,可以根據(jù)需要選用商業(yè)組態(tài)軟件,或者像筆者碩士畢業(yè)論文所做的小型集散控制系統(tǒng)控制軟件。
有關(guān)利用AT命令操作GPRS模塊在相關(guān)文獻(xiàn)中已有描述,這里以華為GTM900A模塊為例說明相關(guān)操作。表1描述了華為GPRS模塊AT指令基本功能指令集,通過對這些指令的運(yùn)用就可以進(jìn)行GPRS模塊的初始化、打開鏈路、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉鏈路等一些常用的操作。
基于ARM系列的32位單片機(jī)RAM資源比較豐富,利用C、C++等高級語言就能夠編寫應(yīng)用軟件。在這里選用C語言開發(fā)GPRS模塊功能程序。利用ARM7S3C4480X芯片上提供的16字節(jié)的FIFO串口,向串口傳送AT命令對GPRS模塊進(jìn)行操作。下面是一段用C語言編寫的打開TCP連接的模塊程序:


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉