高速數(shù)據(jù)采集遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)設(shè)計(jì)和應(yīng)用
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 16:47:33
隨著信息化的不斷發(fā)展,在工業(yè)自動化、電力設(shè)備、通信管理、智能終端、智能小區(qū)等領(lǐng)域,對數(shù)據(jù)采集的實(shí)時(shí)性、可靠性的要求也不斷地提高。隨著采集卡的采集頻率不斷地提升,其所屬平臺的工作頻率也應(yīng)跟上時(shí)代的步伐。在各種設(shè)備的通信方式中,由于以太網(wǎng)具有速度快、通用性好、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),已13漸成為設(shè)備之間進(jìn)行通信的主要方式。本文提出了基于ARM的高速數(shù)據(jù)采集裝置遠(yuǎn)程監(jiān)控系統(tǒng),在實(shí)現(xiàn)對數(shù)據(jù)的高速采集的同時(shí),能保證數(shù)據(jù)的可靠性和實(shí)時(shí)性,并對各幀數(shù)據(jù)嵌入時(shí)間標(biāo)志為后續(xù)數(shù)據(jù)處理做好準(zhǔn)備,能將數(shù)據(jù)及時(shí)準(zhǔn)確地存儲到移動存儲設(shè)備和服務(wù)器上。
遠(yuǎn)程視頻監(jiān)控系統(tǒng)是以維護(hù)社會公共安全和預(yù)防災(zāi)害事故為目的的一項(xiàng)系統(tǒng)工程,在銀行、智能小區(qū)、金融系統(tǒng)、大型商場中都有廣泛地應(yīng)用。把監(jiān)控系統(tǒng)中存儲的圖片傳輸?shù)竭h(yuǎn)程的PC機(jī),以前是通過Modem串口傳輸。串口傳輸有一個(gè)缺點(diǎn)是速率太慢,而且傳輸?shù)臄?shù)據(jù)容易出錯(cuò)。相對于串口傳輸來說,TCP/IP網(wǎng)絡(luò)傳輸速度快,傳輸?shù)臄?shù)據(jù)出錯(cuò)幾率低,因?yàn)樗哂屑m錯(cuò)機(jī)制。
ARM(Advanced RISC Machines)是,設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動式應(yīng)用等。ARM公司以及ARM芯片的現(xiàn)狀和發(fā)展,從應(yīng)用的角度介紹了ARM芯片的選擇方法,并介紹了具有多芯核結(jié)構(gòu)的ARM芯片。列舉了目前的主要ARM芯片供應(yīng)商,其產(chǎn)品以及應(yīng)用領(lǐng)域。舉例說明了幾種嵌入式產(chǎn)品的ARM芯片選擇方案。
系統(tǒng)簡介
本裝置由硬件和軟件兩部分組成,如圖1所示。系統(tǒng)硬件由高速數(shù)據(jù)采集平臺和采集模塊構(gòu)成。采集模塊根據(jù)設(shè)計(jì)要求,采用DMM一32一AT采集板。帶有10/100 MB Base—T型以太網(wǎng)卡接口,USB 2.0全速(12 Mbps)主機(jī)/設(shè)備接口。內(nèi)含內(nèi)存管理單元MMU,含有調(diào)試通道的內(nèi)部仿真器,便于開發(fā)調(diào)試。由于AT91RM9200具有功能全、功耗低和工業(yè)級等優(yōu)點(diǎn),可以使系統(tǒng)能運(yùn)用到各種環(huán)境中。
系統(tǒng)的下位機(jī)軟件選擇嵌入式Linux操作系統(tǒng)。嵌入式Linux是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計(jì)算機(jī)系統(tǒng)運(yùn)行的一種操作系統(tǒng),它既有無限的開放源代碼資源,又有嵌人式操作系統(tǒng)的特性。通過對內(nèi)核的重新配置、編譯,即可將其移植到Aqgl RM9200中;再建立BootLoader和文件系統(tǒng),形成基于ARM的嵌入式Linux操作系統(tǒng),在此平臺上開發(fā)運(yùn)用程序,實(shí)現(xiàn)裝置的各個(gè)功能。
系統(tǒng)聯(lián)調(diào)
聯(lián)調(diào)工具:萬用表,信號發(fā)生器,數(shù)字示波器,仿真軟件,ARM小系統(tǒng),計(jì)算機(jī)
硬件測試:檢查電路板是否有虛焊,短路,短路,無誤后通電,萬用表檢測電源是否正常,示波器檢測FPGA和ARM的時(shí)鐘信號。
MAXPLUS 2 ,Quartus 2
TCP/IP協(xié)議
在因特網(wǎng)上,TCP/IP協(xié)議每時(shí)每刻保證了數(shù)據(jù)的準(zhǔn)確傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:
應(yīng)用層。網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。在本系統(tǒng)中,下位機(jī)系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對大的數(shù)據(jù)報(bào)進(jìn)行打包拆包處理。
傳輸層。傳輸層讓網(wǎng)絡(luò)程序通過明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。TCP服務(wù)提供了數(shù)據(jù)流傳輸、可靠性、有效流控制、全雙工操作和多路復(fù)用技術(shù)等,在本系統(tǒng)中使用TCP數(shù)據(jù)報(bào)協(xié)議。
網(wǎng)絡(luò)層。網(wǎng)絡(luò)層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡(luò)上的任一主機(jī)上,IP協(xié)議就是該層傳送數(shù)據(jù)的機(jī)制。同時(shí)建立網(wǎng)絡(luò)間的互連,提供ARP地址解析協(xié)議,從而實(shí)現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。
鏈路層。由控制同一物理網(wǎng)絡(luò)上的不同機(jī)器間數(shù)據(jù)傳送的底層協(xié)議組成,實(shí)現(xiàn)這一層的協(xié)議并屬于TCP/IP協(xié)議組。在本系統(tǒng)中這部分功能由ARM控制網(wǎng)卡芯片DM9161E實(shí)現(xiàn)。
下位機(jī)的通信實(shí)現(xiàn)
下位機(jī)作為客戶端,它和服務(wù)器的TCP/IP通信是通過對套接字編程實(shí)現(xiàn)的。套接字是網(wǎng)絡(luò)通信的基本操作單元,早是作為BSD規(guī)范提出來的,現(xiàn)已成為Linux操作系統(tǒng)下TCP/IP網(wǎng)絡(luò)編程標(biāo)準(zhǔn)。套接字提供了不同主機(jī)間進(jìn)程雙向通信的端點(diǎn),這些進(jìn)程在通信前各自建立一個(gè)Socket,并通過對Socket的 寫操作實(shí)現(xiàn)網(wǎng)絡(luò)通信功能。下文將討論的Winsock也是一個(gè)用于Windows系列操作系統(tǒng)的Sockets版本 。TCP/IP協(xié)議簇中的TCP協(xié)議使用此類接口。
在Linux提供的3種套接字中,本文選擇流式套接字。流式套接字是常用的套接字類型,其傳輸特點(diǎn)為:面向鏈接、無差錯(cuò)、發(fā)送先后順序一致、包長度不限和非重復(fù)的網(wǎng)絡(luò)信息包。TCP/IP協(xié)議簇中的TCP協(xié)議使用此類接口。下位機(jī)與服務(wù)器通信實(shí)現(xiàn)如圖2所示。
Socket()函數(shù):用于創(chuàng)建一個(gè)套接字描述符。
#include<sys/types.h>
#include<sys/soc ket.h>
Socket
— ID=socket(AF_INET,SOCK_STREAM,0);
ff PF—INET OR AF—INET Intemet IP Protocal SOCK—STREAM選擇流式套接字
Connect()函數(shù):用于與遠(yuǎn)端服務(wù)器建立一個(gè)TCP連接請求。
Status=connect(Socket—ID,(struc sockaddr})&Server—Addr,sizeof(struct sockaddr));
∥ 一定要指定服務(wù)器的IP地址和端口號,可帶參數(shù)運(yùn)行程序時(shí)指定,也有默認(rèn)的lP和端口號
if(status!= 一1)∥ 一1:連接過程出錯(cuò)
{.? }
Write()函數(shù):從套接字緩沖區(qū)寫數(shù)據(jù)。
int Net— Send— SysConfig(int Conn—ID,char Cmdname)
∥向服務(wù)器反饋工作狀態(tài)即執(zhí)行服務(wù)器下達(dá)的命令情況
∥Conn—ID為已經(jīng)建立的套接字描述符
{
status=write(Conn—ID,sendbuff,len);
}
Read()函數(shù):從套接字緩沖區(qū)讀取數(shù)據(jù)
int Receive_ Command(int Conn—ID)
{?
return len=read(Conn—ID,NetBuf,REC—BUFF_SIZE);
∥成功返回實(shí)際收到的字節(jié)總數(shù),出錯(cuò)返回一1
}
Close()函數(shù):用于關(guān)閉一個(gè)套接字描述符。
close(Socket—ID); //關(guān)閉連接下位機(jī)的開發(fā)都是在Linux環(huán)境下用交叉編譯器ARM.Linux—gcc編譯通過。
上位機(jī)的通信實(shí)現(xiàn)
服務(wù)器監(jiān)控軟件是用Visual Basic 6.0來編寫的。在Visual Basic(以下簡稱VB)中,進(jìn)行網(wǎng)絡(luò)通信開發(fā)是非常方便的。VB除了提供豐富的控件外,還提供了各種API來進(jìn)行更為的運(yùn)用程序的開發(fā)。在編寫客戶或服務(wù)器運(yùn)用程序時(shí),不必了解TCP的細(xì)節(jié)或低級的Win—sock API。通過設(shè)置控件的屬性并調(diào)用其方法就可連接到一個(gè)遠(yuǎn)程客戶/服務(wù)器端,并且雙向交換數(shù)據(jù)。
Protocol屬性。返回或設(shè)置Winsock控件所使用的協(xié)議(TCP或UDP)。
UDPFrmMain.Winsock— Server.Protocol:sckTCPProtocol
∥選擇TCP協(xié)議,提高數(shù)據(jù)傳輸?shù)目煽啃?/P>
LocalPort屬性。返回或設(shè)置所用到的本地端口。對客戶來說,該屬性指定發(fā)送數(shù)據(jù)的本地端口;對于服務(wù)器來說,是指定偵聽的本地端口。
FrmMain.W insock— Server.LocalPort=LocalPort— ID∥服務(wù)器端口號,大于1 000
State屬性。返回控件的狀態(tài),設(shè)計(jì)時(shí)只讀。用在判斷監(jiān)控網(wǎng)絡(luò)狀態(tài),根據(jù)狀態(tài)改變各個(gè)按鍵指示
燈的狀態(tài),提高操作安全性。其設(shè)置如下:
Connected— State=FrmMain.W insock— Server.State
Select Case Connected— State
Case 0 StatusBar1.Panels(3)。Text= “關(guān)閉”
Case 1 StalusBar1.Panels(3)。Text=“打開”
Case 2 StatusBar1.Panels(3)。Text=“偵聽”
Winsoek控件事件
Winsock控件事件分為以下2種。
DataArrival事件:該事件是通信的部分。當(dāng)給客戶端發(fā)送完命令后,接收客戶端返回的命令執(zhí)行情況,實(shí)現(xiàn)對客戶機(jī)運(yùn)行狀態(tài)的監(jiān)察。如果是數(shù)據(jù)轉(zhuǎn)存命令時(shí),還要完成接收客戶機(jī)上傳的采集數(shù)據(jù)和對數(shù)據(jù)的服務(wù)器存儲,進(jìn)一步提高系統(tǒng)的可靠性。其流程如圖3所示。接收到FTP頭數(shù)據(jù)包后, P傳輸數(shù)據(jù)的格式定義如圖4所示。


Private Sub W insock— Server_
Eror(ByVal Number As Inte.
ger,Description As String,ByVal Se ode As Long,ByValSource As String,ByVal HelpFile As String,ByVal Help—Context As Long,CancelDisplay As Boolean
MsgBox“網(wǎng)絡(luò)運(yùn)行出錯(cuò)!代碼=”+CStr(Err)+“:”
+Error,vbCritical,“錯(cuò)誤信息”
Exit Sub
End Sub
結(jié)束語
基于ARM的高速數(shù)據(jù)采集裝置的遠(yuǎn)程監(jiān)控的設(shè)計(jì),從硬件和軟件兩方面看是可行的,實(shí)際制板調(diào)試結(jié)果很好地完成了遠(yuǎn)程通信任務(wù)。對工業(yè)現(xiàn)場的遠(yuǎn)程監(jiān)控提供了新的解決方案。隨著以太網(wǎng)的日益普及,該方案有著很強(qiáng)的實(shí)踐意義。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號鏈中的濾波與功耗管理









