新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式的遠(yuǎn)程測(cè)試控制技術(shù)

基于嵌入式的遠(yuǎn)程測(cè)試控制技術(shù)

——
作者:馬淵 安野 黃佩偉 時(shí)間:2007-05-23 來(lái)源:現(xiàn)代電子技術(shù) 收藏
1 總體方案

本應(yīng)用是在終儀中增加網(wǎng)絡(luò)接口模塊,以互聯(lián)網(wǎng)為傳輸平臺(tái),在遠(yuǎn)端接入診斷PC而實(shí)現(xiàn)遠(yuǎn)程控制及診斷功能的,其框圖如圖1所示。

 



 

故障診斷系統(tǒng)的遠(yuǎn)程應(yīng)用框圖

診斷專(zhuān)家人員可在診斷PC上通過(guò)Internet向異地儀發(fā)送指令,儀接收并按照指令要求完成對(duì)故障設(shè)備的自動(dòng)測(cè)試,將測(cè)試數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳回診斷PC,建立數(shù)據(jù)實(shí)時(shí)交互的傳輸平臺(tái)[1]。

2 基本原理

2.1 互聯(lián)網(wǎng)的基本結(jié)構(gòu)和特征

設(shè)備的遠(yuǎn)程監(jiān)測(cè)診斷是計(jì)算 機(jī)科學(xué)、通訊技術(shù)與故障診斷技術(shù)相結(jié)合的一種新的設(shè)備故障診斷模式。TCP/IP是發(fā)展至今最成功的通信協(xié)議。該協(xié)議分為4層,由上到下依次為應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層。

本應(yīng)用使用的是EM2000網(wǎng)絡(luò)模塊,底下3層的較復(fù)雜的協(xié)議已經(jīng)固化在他的ASIC中,能夠?qū)崿F(xiàn)透明的數(shù)據(jù)通信。這樣,研究工作主要集中在應(yīng)用層的設(shè)計(jì)和功能實(shí)現(xiàn)上。這包括建立在傳輸層上的數(shù)據(jù)幀定義、交換數(shù)據(jù)的定義、應(yīng)用功能的設(shè)計(jì)和人機(jī)交互界面的設(shè)計(jì)等。

本應(yīng)用中使用的是EM2000網(wǎng)關(guān),他是用來(lái)在與互聯(lián)網(wǎng)建立數(shù)據(jù)連接和協(xié)議轉(zhuǎn)換的設(shè)備。

一方面PC端的網(wǎng)絡(luò)應(yīng)用程序?qū)?yīng)用層數(shù)據(jù)打包成為IP包在網(wǎng)絡(luò)上傳送,EM2000將辨識(shí)和解析這些數(shù)據(jù)包,把應(yīng)用層的原始數(shù)據(jù)轉(zhuǎn)發(fā)至RS 232接口。

另一方面EM2000也將RS 232接口的數(shù)據(jù)封裝成為IP包,傳送至PC端的網(wǎng)絡(luò)應(yīng)用程序。支持透明傳輸和簡(jiǎn)單協(xié)議兩種工作方式;EM2002網(wǎng)關(guān)在網(wǎng)絡(luò)接口部分具有WWW接口,用戶(hù)可以通過(guò)瀏覽器在網(wǎng)絡(luò)上實(shí)現(xiàn)對(duì)EM2002及串行設(shè)備的配置和管理。在網(wǎng)絡(luò)中的具體位置如圖2所示。

EM2000網(wǎng)關(guān)在數(shù)據(jù)傳輸路由中的位置

2.2 傳輸幀的定義

下面主要考慮第4層應(yīng)用層的具體使用,即數(shù)據(jù)傳輸?shù)膸袷?、具體的定義等。根據(jù)本測(cè)試設(shè)備的狀態(tài)和顯示的功能,其格式可設(shè)計(jì)成2大類(lèi),即測(cè)試數(shù)據(jù)幀和命令控制幀。格式的設(shè)計(jì)應(yīng)能實(shí)現(xiàn)系統(tǒng)對(duì)端間信息的無(wú)障礙交流、易于識(shí)別和判斷,同時(shí),還應(yīng)保證傳輸?shù)目煽啃?,兼顧信息利用率。?duì)該系統(tǒng),經(jīng)過(guò)實(shí)際信息交互統(tǒng)計(jì),確定使用一個(gè)字節(jié)的長(zhǎng)度,即256種狀態(tài)。

(1)幀類(lèi)型定義

傳輸幀格式的定義如表1所示。第7位為類(lèi)型定義位,“1”表示為數(shù)據(jù)幀;“0”為命令控制幀。

傳輸幀格式的定義

(2)數(shù)據(jù)幀

數(shù)據(jù)幀格式的定義如表2所示,主要用來(lái)傳送檢測(cè)的數(shù)據(jù)結(jié)果。根據(jù)需檢測(cè)信道數(shù)量和檢測(cè)項(xiàng)目來(lái)設(shè)置數(shù)據(jù)幀的字節(jié)。本系統(tǒng)設(shè)置8個(gè)數(shù)據(jù)信道,8個(gè)測(cè)試項(xiàng)目和“正常”/“故障”2個(gè)參數(shù)。

數(shù)據(jù)幀格式的定義

對(duì)于數(shù)據(jù)幀,考慮到本設(shè)備測(cè)試信道的數(shù)量和測(cè)試項(xiàng)目的多少,兼顧處理速度的快慢和復(fù)雜程度,最后確定信道號(hào)范圍為0~7,占用數(shù)據(jù)幀的第6位至第4位,以二進(jìn)制表示,高位在前,低位在后;測(cè)試項(xiàng)目范圍為0~7,占用數(shù)據(jù)幀的第3位到第1位,表示方式同上(根據(jù)需要,以后擴(kuò)容時(shí),適當(dāng)增加字節(jié)即可)。數(shù)據(jù)幀的最后一位定義為測(cè)試結(jié)果,“0”表示正確無(wú)誤,“1”表示故障。這里沒(méi)有采用通常的校驗(yàn)位,主要是因?yàn)樵撏ㄐ潘俾瘦^低,目前網(wǎng)絡(luò)傳輸?shù)目煽啃苑浅8?,這方面可以忽略,以提高處理效率,簡(jiǎn)化程序編寫(xiě)難度。

(3)命令控制幀

命令控制幀的格式定義如表3所示。字節(jié)的最高位固定為“0”,主要用來(lái)傳輸測(cè)試終端和遠(yuǎn)端診斷終端的控制命令和設(shè)備狀態(tài)信息。

命令控制幀的格式定義

命令控制幀按傳送方向不同,可分為命令控制字和狀態(tài)表示字2種。對(duì)于命令控制字,第6位到第4位為“101”,是命令識(shí)別位;后4位為命令代碼,表示不同種類(lèi)的測(cè)試進(jìn)程。測(cè)試平臺(tái)將自動(dòng)返回相應(yīng)的信息,其幀格式為第6至4位為“001”,這是信息數(shù)據(jù)的識(shí)別位,其余位為不同類(lèi)型的定義。對(duì)于硬件復(fù)位命令,測(cè)試端返回1EH;鏈路檢測(cè)為1F H。

3 具體實(shí)現(xiàn)

3.1 網(wǎng)絡(luò)接口設(shè)計(jì)

和微型計(jì)算機(jī)系統(tǒng)一樣,必須通過(guò)TCP/IP協(xié)議轉(zhuǎn)換才能接入Internet。在這里數(shù)據(jù)通信的設(shè)計(jì)主要體現(xiàn)在串口的設(shè)計(jì)[2],將MCU的數(shù)據(jù)按照預(yù)先定義的格式通過(guò)與轉(zhuǎn)換芯片連接的串行接口發(fā)送或接收即可。設(shè)計(jì)中只要MCU的串口和EM2000網(wǎng)關(guān)的交換速率匹配即可,按照字節(jié)方式逐字發(fā)送和接收。另外,EM2000網(wǎng)關(guān)的接口電平與TTL兼容,這就省略了電平變換電路,使得設(shè)計(jì)實(shí)現(xiàn)起來(lái)更簡(jiǎn)便。

3.2 MCU的軟件設(shè)計(jì)

嵌入式MCU系統(tǒng)軟件主要由MCS-51匯編程序編寫(xiě)。為了實(shí)現(xiàn)本地鍵盤(pán)控制與異地遠(yuǎn)端控制同步工作,需要對(duì)部分軟件進(jìn)行重新編寫(xiě)。主要包括初始化程序、掃描程序、執(zhí)行程序、串口中斷調(diào)用程序、協(xié)議翻譯程序等。

(1)存儲(chǔ)單元初始化的特殊要求

眾所周知,測(cè)試主程序首先對(duì)系統(tǒng)所用變量進(jìn)行初始化,包含堆棧棧底的指針設(shè)定、寄存器、狀態(tài)字的初始值設(shè)定、串口模式/狀態(tài)字的初始設(shè)置等,但在這里由于遠(yuǎn)程通信的特殊情況,具有特殊要求。雖然部分存儲(chǔ)單元在從加電到復(fù)位完成時(shí),單元值已經(jīng)被置位,但是仍需再置位。這主要考慮當(dāng)在平臺(tái)運(yùn)行期間,各個(gè)寄存器和存儲(chǔ)單元都會(huì)有不斷變化的新值存入,這樣,當(dāng)進(jìn)行遠(yuǎn)端復(fù)位操作時(shí),有些存儲(chǔ)單元的值不會(huì)自動(dòng)復(fù)位,如果按原程序執(zhí)行就會(huì)發(fā)生不確定的問(wèn)題。為保證存儲(chǔ)單元內(nèi)容的一致性和可控性,對(duì)寄存器空間進(jìn)行初始化是必不可少的。

(2)子程序間的通信機(jī)制

在處理鍵盤(pán)控制和遠(yuǎn)端控制同步運(yùn)行時(shí),嵌入式實(shí)時(shí)操作系統(tǒng)常采用郵箱查詢(xún)方式。首先掃描及防抖程序[3]負(fù)責(zé)對(duì)鍵盤(pán)的操作進(jìn)行掃描,經(jīng)消除抖動(dòng)和干擾影響后,將鍵盤(pán)值放入35H,并向郵箱發(fā)送“鍵盤(pán)動(dòng)作事件”的信件;同時(shí),串口通信程序不間斷掃描端口數(shù)據(jù),如果判斷有命令數(shù)據(jù)注入,則將命令值放入36H內(nèi),同時(shí)向郵箱發(fā)送。串口命令發(fā)生事件”的信件。這樣通過(guò)對(duì)主程序信箱的查詢(xún),如果發(fā)現(xiàn)有信件存在,則對(duì)信件進(jìn)行相應(yīng)翻譯,變成機(jī)器可以執(zhí)行的代碼,對(duì)設(shè)備進(jìn)行動(dòng)作調(diào)度和相關(guān)信息處理。

3.3 TCP/IP端口配置

TCP/IP端口相當(dāng)于掛在Internet網(wǎng)上的一塊標(biāo)準(zhǔn)網(wǎng)絡(luò)設(shè)備,具有惟一的全球識(shí)別MAC地址,可以接入任意的網(wǎng)段而不受限制。在配置網(wǎng)絡(luò)參數(shù)時(shí),只要知道通信雙方的網(wǎng)絡(luò)IP和路由,即可以輕松實(shí)現(xiàn)網(wǎng)絡(luò)連接。該模塊設(shè)置了1 B的緩沖區(qū),通信速率為2 400 b/s,提高了IP包傳輸效率。

3.4 遠(yuǎn)端診斷終端的設(shè)計(jì)

遠(yuǎn)程診斷終端主要為軟件程序設(shè)計(jì),該部分采用Visual Basic,HTML等語(yǔ)言進(jìn)行編寫(xiě),主要分為2個(gè)部分。

(1)通信模塊配置網(wǎng)頁(yè)的設(shè)計(jì)及上傳

之前,需要對(duì)通信模塊相關(guān)參數(shù)進(jìn)行網(wǎng)絡(luò)配置,使遠(yuǎn)程軟件能夠?qū)y(cè)試終端進(jìn)行訪問(wèn)和控制操作。本設(shè)計(jì)采用HTML語(yǔ)言編寫(xiě)了Web網(wǎng)頁(yè)風(fēng)格的界面,上載至模塊FLASH存儲(chǔ)器,用戶(hù)可通過(guò)瀏覽器對(duì)硬件訪問(wèn)和網(wǎng)絡(luò)配置。為加強(qiáng)保密安全,還增添了Password入口參數(shù)的設(shè)置。

(2)遠(yuǎn)端終端主程序的設(shè)計(jì)

主程序采用Microsoft Visual Basic語(yǔ)言編寫(xiě),主要功能包括控制和測(cè)試2部分。測(cè)試前,先輸入分配到的IP地址與要偵聽(tīng)的端口號(hào),然后根據(jù)網(wǎng)絡(luò)狀況,利用VB語(yǔ)言中WinSock插件的Connect方法在本地計(jì)算機(jī)與測(cè)試平臺(tái)之間建立一個(gè)Socket,以便完成控制等數(shù)據(jù)的傳送和接收。各項(xiàng)操作的運(yùn)行狀態(tài)和操作結(jié)果都將由當(dāng)前狀態(tài)框?qū)崟r(shí)顯示。當(dāng)本地計(jì)算機(jī)與平臺(tái)連接正常之后,便可以開(kāi)始測(cè)試。

4 應(yīng)用驗(yàn)證

首先測(cè)試通信模塊,在單臺(tái)計(jì)算機(jī)上建立2個(gè)超級(jí)終端,一個(gè)與串口建立連接,另一個(gè)與Socket建立連接。在超級(jí)終端的一窗口內(nèi)輸入數(shù)據(jù),另一窗口即時(shí)響應(yīng),說(shuō)明網(wǎng)絡(luò)接口模塊功能正常。其次測(cè)試MCU串行通信性能,通過(guò)電平轉(zhuǎn)換電路建立與計(jì)算機(jī)的串口連接,用超級(jí)終端進(jìn)行數(shù)據(jù)傳輸驗(yàn)證。完成后,對(duì)全系統(tǒng)進(jìn)行聯(lián)調(diào),先進(jìn)行直連試驗(yàn),即將測(cè)試終端與診斷終端通過(guò)交叉網(wǎng)線直連,驗(yàn)證功能的正確性;然后將測(cè)試平臺(tái)接入Internet網(wǎng),通過(guò)異地連接,驗(yàn)證功能的正確性。目前,經(jīng)過(guò)多項(xiàng)調(diào)試驗(yàn)證,能夠建立診斷終端與測(cè)試終端的連接,并可進(jìn)行異地的各項(xiàng)狀態(tài)顯示、控制測(cè)試、復(fù)位等功能,實(shí)現(xiàn)了原設(shè)計(jì)目標(biāo)。

診斷終端程序測(cè)試界面

5 結(jié) 論

本文介紹的方法,能夠非常容易地實(shí)現(xiàn)將與互聯(lián)網(wǎng)相連。研發(fā)人員不用精通TCP/IP協(xié)議和具體的網(wǎng)絡(luò)知識(shí),即可以設(shè)計(jì)出具有網(wǎng)絡(luò)功能的電子產(chǎn)品,大大縮短開(kāi)發(fā)周期。該方法在遠(yuǎn)程監(jiān)測(cè)、網(wǎng)絡(luò)監(jiān)控、遠(yuǎn)程診斷等方面具有很大的應(yīng)用空間。目前,該項(xiàng)技術(shù)正在向單位相關(guān)領(lǐng)域推廣。

tcp/ip相關(guān)文章:tcp/ip是什么




評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉