ARM設(shè)計(jì)的高速數(shù)據(jù)采集遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)
摘要:簡(jiǎn)要介紹了TCP/IP協(xié)議,給出了基于ARM嵌入式高速數(shù)據(jù)采集裝置的遠(yuǎn)程監(jiān)控系統(tǒng)的實(shí)現(xiàn)方案。系統(tǒng)以下位機(jī)作為客戶端,在A~f91RM9200和嵌入式Linux搭建的軟硬件平臺(tái)上運(yùn)行;將上位機(jī)作為服務(wù)器端,用VB6.0開(kāi)發(fā)監(jiān)控平臺(tái)軟件;兩者通過(guò)TCP/IP實(shí)現(xiàn)了采集數(shù)據(jù)和控制命令的傳輸以及服務(wù)器監(jiān)控模式。
本文引用地址:http://2s4d.com/article/151206.htm隨著信息化的不斷發(fā)展,在工業(yè)自動(dòng)化、電力設(shè)備、通信管理、智能終端、智能小區(qū)等領(lǐng)域,對(duì)數(shù)據(jù)采集的實(shí)時(shí)性、可靠性的要求也不斷地提高。以往傳統(tǒng)的單片機(jī)加采集卡的數(shù)據(jù)采集裝置已經(jīng)不能滿足人們使用的要求。隨著采集卡的采集頻率不斷地提升,其所屬平臺(tái)的工作頻率也應(yīng)跟上時(shí)代的步伐。同時(shí),在某些情況下,裝置的操控人員不可能到工作現(xiàn)場(chǎng)去執(zhí)行,所以有必要對(duì)采集裝置進(jìn)行遠(yuǎn)程監(jiān)察和控制。在各種設(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)對(duì)數(shù)據(jù)的高速采集的同時(shí),能保證數(shù)據(jù)的可靠性和實(shí)時(shí)性,并對(duì)各幀數(shù)據(jù)嵌入時(shí)間標(biāo)志為后續(xù)數(shù)據(jù)處理做好準(zhǔn)備,最后能將數(shù)據(jù)及時(shí)準(zhǔn)確地存儲(chǔ)到移動(dòng)存儲(chǔ)設(shè)備和服務(wù)器上。該裝置包括現(xiàn)場(chǎng)監(jiān)控模式和服務(wù)器監(jiān)控模式。
1 系統(tǒng)簡(jiǎn)介
本裝置由硬件和軟件兩部分組成,如圖1所示。系統(tǒng)硬件由高速數(shù)據(jù)采集平臺(tái)和采集模塊構(gòu)成。采集模塊根據(jù)設(shè)計(jì)要求,采用DMM一32一AT采集板。采集平臺(tái)采用ATMEL公司A791RM9200作為主控芯片,附帶16 kB的SDRAM和128 kB的ROM。該芯片融合了ARM920T ARM Thumb處理器,當(dāng)工作頻率為180 MHz時(shí)性能高達(dá)200 MIPS。帶有10/100 MB Base—T型以太網(wǎng)卡接口,USB 2.0全速(12 Mbps)主機(jī)/設(shè)備接口。內(nèi)含內(nèi)存管理單元MMU,含有調(diào)試通道的內(nèi)部仿真器,便于開(kāi)發(fā)調(diào)試。由于AT91RM9200具有功能全、功耗低和工業(yè)級(jí)等優(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),它既有無(wú)限的開(kāi)放源代碼資源,又有嵌人式操作系統(tǒng)的特性。通過(guò)對(duì)內(nèi)核的重新配置、編譯,即可將其移植到Aqgl RM9200中;再建立BootLoader和文件系統(tǒng),形成基于ARM的嵌入式Linux操作系統(tǒng),最后在此平臺(tái)上開(kāi)發(fā)運(yùn)用程序,實(shí)現(xiàn)裝置的各個(gè)功能。
2 TCP/IP協(xié)議
在因特網(wǎng)上,TCP/IP協(xié)議每時(shí)每刻保證了數(shù)據(jù)的準(zhǔn)確傳輸。參考開(kāi)放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡(jiǎn)化的四層模型,分別為:
① 應(yīng)用層。網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會(huì)話過(guò)程,如通常所說(shuō)的Http、Ftp、Telnet等。在本系統(tǒng)中,下位機(jī)系統(tǒng)傳遞來(lái)自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對(duì)大的數(shù)據(jù)報(bào)進(jìn)行打包拆包處理。
② 傳輸層。傳輸層讓網(wǎng)絡(luò)程序通過(guò)明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號(hào)等,實(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)。
在本系統(tǒng)中,利用TCP/IP協(xié)議中的TCP(傳輸控制協(xié)議)、IP(網(wǎng)絡(luò)報(bào)文協(xié)議)、ARP(地址解析協(xié)議)及簡(jiǎn)單的應(yīng)用層協(xié)議成功地實(shí)現(xiàn)了ARM裝置和服務(wù)端的網(wǎng)絡(luò)互聯(lián)。既提高了數(shù)據(jù)傳輸?shù)乃俣?,又保證了數(shù)據(jù)傳輸?shù)恼_性,同時(shí)也擴(kuò)展了數(shù)據(jù)傳輸?shù)挠行О霃健?/p>
3 下位機(jī)的通信實(shí)現(xiàn)
下位機(jī)作為客戶端,它和服務(wù)器的TCP/IP通信是通過(guò)對(duì)套接字編程實(shí)現(xiàn)的。套接字是網(wǎng)絡(luò)通信的基本操作單元,最早是作為BSD規(guī)范提出來(lái)的,現(xiàn)已成為L(zhǎng)inux操作系統(tǒng)下TCP/IP網(wǎng)絡(luò)編程標(biāo)準(zhǔn)。套接字提供了不同主機(jī)間進(jìn)程雙向通信的端點(diǎn),這些進(jìn)程在通信前各自建立一個(gè)Socket,并通過(guò)對(duì)Socket的 寫操作實(shí)現(xiàn)網(wǎng)絡(luò)通信功能。下文將討論的Winsock也是一個(gè)用于Windows系列操作系統(tǒng)的Sockets版本 。
在Linux提供的3種套接字中,本文選擇流式套接字。流式套接字是最常用的套接字類型,其傳輸特點(diǎn)為:面向鏈接、無(wú)差錯(cuò)、發(fā)送先后順序一致、包長(zhǎng)度不限和非重復(fù)的網(wǎng)絡(luò)信息包。TCP/IP協(xié)議簇中的TCP協(xié)議使用此類接口。下位機(jī)與服務(wù)器通信實(shí)現(xiàn)如圖2所示。
① Socket()函數(shù):用于創(chuàng)建一個(gè)套接字描述符。
#includesys/types.h>
#includesys/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連接請(qǐng)求。
Status=connect(Socket—ID,(struc sockaddr})Server—Addr,sizeof(struct sockaddr));
∥ 一定要指定服務(wù)器的IP地址和端口號(hào),可帶參數(shù)運(yùn)行程序時(shí)指定,也有默認(rèn)的lP和端口號(hào)
if(status!= 一1)∥ 一1:連接過(guò)程出錯(cuò)
{. ..}
③ Write()函數(shù):從套接字緩沖區(qū)寫數(shù)據(jù)。
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論