基于ARM的嵌入式監(jiān)測系統(tǒng)設(shè)計
摘要: 設(shè)計了一種利用ARM微處理器進行設(shè)備狀態(tài)監(jiān)測的方案,,并對方案的設(shè)計實現(xiàn)方法作了具體的論述,,利用圖形界面開發(fā)環(huán)境Qt/Embedded 2.3.7 編寫了圖形控制界面,,并通過網(wǎng)絡(luò)進行實時數(shù)據(jù)傳輸,。
Abstract:
Key words :
ARM具備體積小,、接口豐富,、高度集成性和擴展性強等優(yōu)點,,加之隨著Linux在服務(wù)器領(lǐng)域和桌面系統(tǒng)獲得的成功,,Linux 以其良好的移植性能,、優(yōu)秀的網(wǎng)絡(luò)功能,、對各種文件系統(tǒng)完備的支持、具有軟件代碼小,、高度自動化,、響應(yīng)速度快、特別適合于要求實時和多任務(wù)的體系等特點[1]在嵌入式系統(tǒng)中獲得了越來越廣泛的應(yīng)用,。這使得基于ARM的嵌入式監(jiān)測系統(tǒng)具有成本低,、功耗低、實時性能好及智能程度高等優(yōu)點,在工業(yè)監(jiān)測與控制領(lǐng)域具有較為廣闊的應(yīng)用前景[2],。本文設(shè)計了基于ARM的嵌入式監(jiān)測系統(tǒng),。
1系統(tǒng)總體設(shè)計
一個嵌入式監(jiān)測系統(tǒng),其基本目的控制硬件設(shè)備采集信號,,并對信號進行一定的分析,,其過程是獲取設(shè)備的運行狀態(tài)的模擬量信號,并且能夠?qū)⑦@些模擬量轉(zhuǎn)化為數(shù)字量輸出,。在此基礎(chǔ)上,,設(shè)計了基于ARM嵌入式監(jiān)測系統(tǒng)。ARM微處理器的上選擇基于ARM920T內(nèi)核的S3C2410A芯片,。
圖1系統(tǒng)結(jié)構(gòu)框圖
整個系統(tǒng)監(jiān)測方案如圖1所示,,整個采集過程是由ARM微處理器控制的,ARM監(jiān)測系統(tǒng)主要由以下三部分組成:
?。?)信號采集:傳感器采集反映設(shè)備運行狀態(tài)的現(xiàn)場信號,。被采集的模擬信號通過傳感器拾取,再經(jīng)過濾波,、放大信號調(diào)理,,然后模擬信號則經(jīng)過A/D(模/數(shù))轉(zhuǎn)換器轉(zhuǎn)換成計算機可識別數(shù)字量,通過ARM微處理器控制放大器的增益和濾波器的截止頻率,。
?。?)人機界面:采用圖形界面控制數(shù)據(jù)采集,并在界面上進行數(shù)據(jù)分析,,將數(shù)據(jù)處理結(jié)果在顯示屏上以良好直觀的界面動態(tài)顯示,,便于現(xiàn)場工作人員判斷故障。
?。?)數(shù)據(jù)傳輸:數(shù)據(jù)傳輸是將數(shù)據(jù)上傳至上位機(計算機),,以進行進一步的分析處理。
2系統(tǒng)硬件結(jié)構(gòu)
振動傳感器傳來的振動信號在進入后端處理系統(tǒng)之前也需要對信號進行一定的調(diào)理,,以滿足后端信號處理的要求,,為了簡化設(shè)計,節(jié)省設(shè)計時間,,信號的前端信號調(diào)理模塊使用設(shè)計好的模塊,,包括恒流源、傳感檢測,、信號放大,、低通濾波,程控放大器放大倍數(shù)的設(shè)定通過S3C2410A設(shè)定,。圖2顯示了系統(tǒng)硬件框圖,。
圖2 系統(tǒng)硬件框圖
2.1程控抗混疊低通濾波器設(shè)計
傳感器采集的的模擬信號中往往混有一些其它信號如噪聲信號,因此在A/D轉(zhuǎn)換之前對信號進行濾波是很有必要的,同時選擇合適的濾波器還可以起到抗混疊的功能,。本系統(tǒng)設(shè)計采用MAX263低通濾波器,,MAX263是有源開關(guān)電容濾波器,其中心頻率,,Q值和工作模式可通過引腳編程設(shè)置,其硬件連接電路如圖3.
圖3 低通濾波電路
選擇濾波器工作模式1,,將M0,,M1設(shè)置低電平,Q值設(shè)置為1,,查表得NQ=64,,則Q6~Q0引腳值為100000。MAX263的引腳與S3C2410芯片直接相連以實現(xiàn)程控濾波器,,F(xiàn)0~F4分別連接GPB5~GPB9,。在ARM上即可控制對應(yīng)引腳實現(xiàn)對MAX263截止頻率的設(shè)定。
2.2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換器作用是把一個模擬信號轉(zhuǎn)換為數(shù)字信號,。風電機組的狀態(tài)信號是一個連續(xù)的值,。利用傳感器可以檢測到一個連續(xù)的電壓值,但在ARM和計算機上不能夠直接處理模擬信號數(shù)據(jù),。A/D轉(zhuǎn)換器就是把傳感器檢測到的電壓模擬信號轉(zhuǎn)換為系統(tǒng)可識別的數(shù)字信號的器件,。根據(jù)系統(tǒng)的條件及精度的要求下,采用12位的A/D轉(zhuǎn)換器已經(jīng)能夠滿足本系統(tǒng)的要求,。在經(jīng)過A/D的轉(zhuǎn)換后,。就把連續(xù)的模擬信號轉(zhuǎn)變成了不連續(xù)的離散的數(shù)值,以便于數(shù)據(jù)分析,。A/D轉(zhuǎn)換芯片采用TI公司的TLC2543,。TLC2543是12位開關(guān)電容逐次逼近模數(shù)轉(zhuǎn)換器,其電路連接如圖4,。
圖4 TLC2543與S3C2410的連接圖
數(shù)據(jù)采集時,,首先向AD轉(zhuǎn)換器發(fā)送要采集的通道號,AD轉(zhuǎn)換器讀取對應(yīng)通道的數(shù)據(jù),,并將數(shù)據(jù)傳遞給S3C2410A,,實現(xiàn)數(shù)據(jù)的采集,其流程如圖5,。
圖5 A/D采集流程圖
嵌入式監(jiān)測系統(tǒng)的ARM端應(yīng)用程序軟件的核心是人機交互用戶圖形界面,,它是用戶和系統(tǒng)交互的窗口。
本文將Qt/Embedded應(yīng)用于以ARM+Linux為平臺的嵌入式監(jiān)測系統(tǒng)人機界面的開發(fā),。構(gòu)建Qt /Embedded交叉編譯環(huán)境需要構(gòu)建3個QT開發(fā)環(huán)境[3],。其中一個QT/X11是環(huán)境;一個是QT/Embedded(x86)環(huán)境;最后一個才是QT/Embedded(ARM)交叉編譯環(huán)境,在QT/Embedded(x86)環(huán)境下調(diào)試通過的程序需要在此環(huán)境下重新編譯后才能移植到目標機上運行。
QtDesigner是Qt/Embedded下的集成開發(fā)工具,,它支持信號和槽機制,,使部件間能夠進行有效的通信,省略了許多重復(fù)性的工作,,可以大大縮減程序的開發(fā)周期[4],。在命令行下,根據(jù)設(shè)計器保存的界面文件(.ui文件)使用uic命令生成.h頭文件和.cpp源文件,。
uic -o mainfile.h mainfile.ui
uic –o mainfile.cpp –impl mainfile.h mainfile.ui
根據(jù)實際需要修改頭文件和源文件,,使其實現(xiàn)具體功能,各種初始數(shù)值和配置都在相應(yīng)類的構(gòu)造函數(shù)中初始化,,如實現(xiàn)界面類之間的調(diào)用關(guān)系等,。下圖6為使用QtDesigner設(shè)計的風電機組監(jiān)測系統(tǒng)主界面圖。
圖6 監(jiān)測系統(tǒng)主界面
4數(shù)據(jù)傳輸
ARM與上位機的數(shù)據(jù)的實時傳輸采用基于TCP/IP的socket網(wǎng)絡(luò)傳輸[5],。本文設(shè)計的通訊系統(tǒng)的軟件在結(jié)構(gòu)上采用客戶端/服務(wù)器模式,,它具有編程簡單、容易控制,、使用方便靈活等特點,。
服務(wù)器端與客戶端程序設(shè)計流程如圖7
圖7 Socket網(wǎng)絡(luò)傳輸數(shù)據(jù)流程圖
1 打開Socket 描述符、建立綁定
sockfd=socket(AF_INET,SOCK_STREAM, 0); //建立Socket
bind(sockfd, (struct sockaddr *)&my_addr,sizeof(struct sockaddr); //綁定端口
2 建立連接
connect(sockfd,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr) ;
//發(fā)起連接
在服務(wù)器程序中, 當Socket 與某一端口綁定以后, 就需要*該端口
listen(sockfd,8); //*連接
當客戶請求與服務(wù)器*的端口連接時, 該連接請求等待服務(wù)器接收它,。隨后服務(wù)器程序調(diào)用accept( ) 函數(shù)為該請求建立一個連接,。
3 數(shù)據(jù)的發(fā)送和接收
send(sockfd, buff ,1024,0); //向服務(wù)器發(fā)送數(shù)據(jù)
recv(client_fd,buff,1024,0); //接收服務(wù)器發(fā)送的數(shù)據(jù)
4 關(guān)閉Socket
結(jié)束語
本文介紹了一種采用ARM的設(shè)計實現(xiàn)適用于振動信號采集及分析的設(shè)備監(jiān)測系統(tǒng),使用S3C2410作為主控芯片,,設(shè)計了低通濾波電路和A/D電路,,并采用人機控制界面,采用Socket網(wǎng)絡(luò)編程實時將采集信號傳輸?shù)接嬎銠C,,傳輸數(shù)據(jù)不易丟失,,不失真,起到了良好的設(shè)備狀態(tài)監(jiān)測作用,。(
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。