《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 機動車檢測系統(tǒng)中總線設備網(wǎng)絡化改造的實現(xiàn)

機動車檢測系統(tǒng)中總線設備網(wǎng)絡化改造的實現(xiàn)

2008-11-26
作者:王 芳1,2, 劉云卿2, 劉云

??? 摘? 要: 實現(xiàn)了一種機動車檢測系統(tǒng)" title="檢測系統(tǒng)">檢測系統(tǒng)中總線設備網(wǎng)絡化改造的可行方案。利用SST89E564RD單片機與網(wǎng)卡芯片設計的主要接口模塊,既為檢測設備網(wǎng)絡化提供了網(wǎng)關服務,也實現(xiàn)了在線仿真和下載的功能,。?

??? 關鍵詞: 機動車檢測系統(tǒng); 現(xiàn)場總線; 以太網(wǎng); 串口" title="串口">串口; 在線仿真

?

??? 隨著道路交通和汽車工業(yè)的迅速發(fā)展,各地區(qū)急劇上升的機動車擁有量及道路車流量對交通安全造成了很大的壓力,這對機動車管理部門提出了更高的技術要求,對檢測系統(tǒng)進行遠程控制的要求愈加迫切,。目前,機動車檢測系統(tǒng)一般都基于RS232總線,采用專用通信協(xié)議。系統(tǒng)存在可擴展性差,、傳輸距離短,、抗干擾性差等弊端。將以太網(wǎng)技術引入到工業(yè)測控領域,是當前現(xiàn)場總線技術發(fā)展的新趨勢[1-3]。以太網(wǎng)在辦公自動化領域和企業(yè)管理網(wǎng)絡內,由于技術成熟、性能穩(wěn)定,可靠性高而得到了廣泛應用,占據(jù)國內現(xiàn)有局域網(wǎng)的80%,。在測控領域,它以速度快、協(xié)議通用,、可擴展性好、易于與Internet集成等特點而被視為繼集散控制系統(tǒng)DCS(如RS232總線),、基于現(xiàn)場總線的控制系統(tǒng)FCS(如CAN)之后控制網(wǎng)絡中最熱門的研究領域之一,。借鑒工業(yè)測控領域的應用,設計基于以太網(wǎng)的機動車檢測系統(tǒng),不僅免除了不同現(xiàn)場總線水平層之間難以集成的問題,而且大大地降低了外界的干擾,為實現(xiàn)現(xiàn)場設備與互聯(lián)網(wǎng)的直接連接,提供了一種非常便捷的方法,也給總線設備的網(wǎng)絡化提供了低成本、高可靠性,、可移植性的產(chǎn)品和方案,。?

1 串口通信與網(wǎng)絡傳輸?

??? 兩個設備之間交換信息時,必須有一條線路(或是多條線路)將兩者連接,而通過線上電壓的改變來達到交換數(shù)據(jù)的目的,。考慮本系統(tǒng)的數(shù)據(jù)傳輸速度和傳送距離,選擇了RS232通信標準[4],。本文主要是通過串口與外部設備進行通信,實現(xiàn)數(shù)據(jù)傳輸,、在線仿真和網(wǎng)卡參數(shù)配置等功能。?

??? 要實現(xiàn)現(xiàn)場設備網(wǎng)絡化,保證數(shù)據(jù)的可靠傳輸和遠程控制,就必須將可靠的TCP/IP" title="TCP/IP">TCP/IP協(xié)議棧嵌入到單片機中實現(xiàn)數(shù)據(jù)的網(wǎng)絡傳輸,。圖1是目前機動車檢測系統(tǒng)最常用的結構圖[5],它是基于串口傳輸數(shù)據(jù)的,。由于計算機串口有限導致可擴展性差,串口本身又存在傳輸距離短、抗干擾性差等缺點,所以不是一種長遠的方案,。圖2是網(wǎng)絡化改造后的控制結構圖,從圖中可以看出:只需要簡單地接入一個集線器便可大大地提高系統(tǒng)的可擴展性,增強抗干擾性,還可以通過以太網(wǎng)遠程控制機動車檢測并將檢測到的數(shù)據(jù)通過以太網(wǎng)傳送到各個部門,。?

?

?

?

2 系統(tǒng)主要模塊硬件結構設計?

??? 模塊硬件設計電路結構如圖3所示。模塊主要包括單片機SST89E564RD,、網(wǎng)卡芯片RTL8019AS,、外擴的EEPROM X5045、外擴的RAM HM62256,、串口通信,、網(wǎng)口通信等單元。為檢測設備的網(wǎng)絡化提供了串口轉以太網(wǎng)的網(wǎng)關服務,。模塊既可以作為服務器端又可以作為客戶端" title="客戶端">客戶端接口來使用。由于SST89E564RD具有在線仿真和下載功能,Flash(內部Flash擦寫次數(shù)為1 000 000次以上)存儲器取代了原來的ROM(一次性寫入),為開發(fā)工程中的調試提供了最大的方便,大大節(jié)約了開發(fā)成本,。?

?

?

??? 采用SST89E564RD單片機作為主處理器控制以太網(wǎng)卡芯片來實現(xiàn)與以太網(wǎng)的數(shù)據(jù)交換,。SST89E564RD的工作頻率為40MHz,從而具有了更快的計算速度,內部程序Flash 64KB,達到51內核單片機尋址最大范圍,能夠滿足容納裁剪后的TCP/IP協(xié)議的需求。由于需要處理網(wǎng)絡數(shù)據(jù)包,一個最大網(wǎng)絡數(shù)據(jù)包有1 514B,而SST89E564RD內部的RAM只有256B,所以需要考慮外擴RAM,。同時TCP/IP協(xié)議棧需要考慮數(shù)據(jù)阻塞,、超時重發(fā)等,需要比較大的數(shù)據(jù)空間作為數(shù)據(jù)緩存,因此選擇HM62256 32K×8bit 動態(tài)RAM作為數(shù)據(jù)緩存。?

??? 在系統(tǒng)中還使用X5045 作為外部擴展的EEPROM,用來存儲IP地址,、物理地址以及網(wǎng)卡的其他配置信息,。同時X5045還具有電壓監(jiān)控、看門狗定時器,、上電復位三種功能,使用X5045監(jiān)控系統(tǒng)的運行過程,當系統(tǒng)不穩(wěn)定時可以進行有效的復位,。?

??? 由于單片機的高低電平與串行口的高低電平不同,二者之間需要進行電平轉換,在本設計中使用MAX232作為串口電平轉換芯片,負責單片機與PC機的電平轉換。數(shù)據(jù)可從串口輸入到單片機,單片機把數(shù)據(jù)送到RTL8019AS后傳出,。反之,從RTL8019AS接收到的數(shù)據(jù)通過單片機可從串口發(fā)出,。?

??? 網(wǎng)卡芯片采用Realtek公司生產(chǎn)的10M的RTL8019AS以太網(wǎng)卡[6]控制器,價格低廉,與NE2000兼容。RTL8019AS符合ETHERNETⅡ和IEEE802.3標準;內置16KB SRAM,用于收發(fā)緩沖,降低了對主處理器的要求;支持8/16位數(shù)據(jù)總線,、8個中斷申請,、16個I/O基地址選擇等許多特性,在本設計中選用8位數(shù)據(jù)總線。網(wǎng)卡控制器與以太網(wǎng)是不能直接相連的,中間要通過網(wǎng)絡隔離變壓器才能連接到以太網(wǎng)上,。網(wǎng)絡隔離變壓器的作用是隔直通交,避免雙絞線上的直流電平干擾芯片RTL8019AS的工作點;同時,利用變壓器自身的通頻帶限制高頻干擾,。?

3 系統(tǒng)軟件設計?

??? 系統(tǒng)軟件設計主要包括客戶端和服務器端軟件的設計,在TCP/IP網(wǎng)絡應用中,通信的兩個進程之間相互作用的主要模式是客戶模式和服務器模式[7-8],。在面向連接的TCP協(xié)議中,服務器和客戶機開始通信之前必須首先建立連接。在連接之前,服務器程序必須正在運行并處于監(jiān)聽模式,等待客戶端的連接,。TCP的連接是通過三次握手協(xié)議來完成的,。同樣,終止一條TCP連接實際上也是三次握手。?

3.1 初始化 ?

??? 整個系統(tǒng)的初始化工作主要包括:串口及串口緩沖區(qū)初始化,定時器初始化,初始化PING表,、ARP表,初始化TCP,RTL8019AS的初始化等,。?

??? RTL8019AS的初始化主要包括網(wǎng)卡的復位和網(wǎng)卡寄存器的初始化。復位方式有硬件復位和軟件復位兩種,本模塊所采用的是硬件復位方式,使RTL8019AS的硬件復位引腳RSTDRV與單片機的P1.6相連,單片機向P1.6腳輸出大于800ns的高電平,完成RTL8019AS的硬件復位,。?

3.2 數(shù)據(jù)包的發(fā)送和接收?

??? 數(shù)據(jù)包的發(fā)送過程包括三個步驟:主處理器將數(shù)據(jù)包按照RTL8019AS發(fā)送數(shù)據(jù)幀格式進行封裝;封裝完后通過遠程DMA通道將數(shù)據(jù)包送到RTL8019AS的發(fā)送緩沖區(qū);最后通過本地DMA將數(shù)據(jù)送到FIFO,通過設置寄存器CR啟動發(fā)送,。RTL8019AS完成上一幀的發(fā)送,再開始下一幀的發(fā)送。發(fā)送前需要設置以太網(wǎng)目的地址,、以太網(wǎng)源地址,、協(xié)議類型,再按所設置的協(xié)議類型來設置數(shù)據(jù)段。為提高發(fā)送效率,將12頁的發(fā)送緩存區(qū)分為兩個6頁的發(fā)送緩存區(qū),一個用于數(shù)據(jù)包發(fā)送,另一個用于構造發(fā)送端的數(shù)據(jù)包,交替使用,。 ?

??? 接收數(shù)據(jù)是通過本地DMA 從網(wǎng)卡接口接收,RTL8019AS對接收到的數(shù)據(jù)包通過MAC比較,、CRC校驗,由FIFO存到網(wǎng)卡接收緩沖區(qū),收滿一幀后以寄存器標志方式通知主處理器,主處理器通過遠程DMA將緩沖區(qū)的數(shù)據(jù)讀到自己的內存中。幀的接收工作是由網(wǎng)卡自動完成的,當網(wǎng)卡接收到一幀數(shù)據(jù)并存入內存后,就會開始對這幀數(shù)據(jù)進行處理, 具體處理步驟如圖4所示,。?

?

?

4 實驗用例?

4.1 實驗環(huán)境?

??? 應用VB開發(fā)的接口小程序[9],設置網(wǎng)卡的配置參數(shù)并實現(xiàn)數(shù)據(jù)的發(fā)送與接收;在完成串口數(shù)據(jù)到以太網(wǎng)數(shù)據(jù)轉發(fā)的過程中,RTL8019AS具有10Mb/s的傳輸率,遠遠高于原有系統(tǒng)的串口傳輸率,可以很好地滿足檢測數(shù)據(jù)的傳輸要求,而且運行穩(wěn)定,。?

4.2實驗內容?

4.2.1修改系統(tǒng)參數(shù)?

??? 用串口線把系統(tǒng)中的TCP/IP模塊與電腦連接起來,選擇好串口號,然后按“連接單片機”按鈕,當連接狀態(tài)工具欄里出現(xiàn)“已經(jīng)連接”,說明與電腦已經(jīng)連接上,然后就可以修改配置參數(shù)了。在參數(shù)設置欄中填寫正確的參數(shù)值后,按“設定”按鈕,接收狀態(tài)欄中會提示參數(shù)設置成功,然后按模塊上的復位鍵,網(wǎng)卡的參數(shù)配置就被寫到了X5045中,。參數(shù)設置界面如圖5所示,。所有配置參數(shù)(包括本地IP地址、服務器端IP地址,、端口號" title="端口號">端口號,、網(wǎng)卡物理地址、ping的IP地址,、串口號等)都能通過串口動態(tài)地更改,。?

?

?

??? 串口波特率是通過硬件上跳線完成的,串口波特率支持300b/s、600b/s,、1 200b/s,、2 400b/s、4 800b/s,、9 600b/s,、19 200b/s。?

4.2.2 計算機模擬測試?

??? 如果系統(tǒng)中的TCP/IP模塊為TCP客戶端,則圖6所示的程序就作為服務器端使用,在主機端口號(這里設置端口號為3330,要與客戶端所設端口號一致)中輸入要監(jiān)聽的端口號,設置好端口號后按“開啟主機”按鈕進入監(jiān)聽狀態(tài), 模塊會每隔1秒鐘連接一次該服務器程序,直到連上為止,如果超過10次都沒有連上,則放棄連接,。?

?

?

??? 如果系統(tǒng)中的TCP/IP模塊作為TCP服務器端,則圖7所示的程序就作為客戶端使用,在連接端口號(這里設置端口號為3330,要與服務器端監(jiān)聽的端口號一致)中輸入要連接的服務器端的端口號,設置好端口號后再設置要連接的IP地址(為服務器端的IP地址),然后按“連接主機”按鈕直到提示成功登錄通信系統(tǒng)為止,連接期間模塊作為服務器端一直處于監(jiān)聽狀態(tài),。?

?

?

??? 連接上以后就可以進行正常的數(shù)據(jù)收發(fā)了,檢測現(xiàn)場工作人員不僅可以通過以太網(wǎng)遠程控制機動車檢測,還可以將檢測到的煙度、廢氣等數(shù)據(jù)通過以太網(wǎng)傳送到各個部門,。?

??? 本文實現(xiàn)了一種總線設備網(wǎng)絡化改造的可行方案,并解決了數(shù)據(jù)包的超時重發(fā),、定時?;睢?shù)配置,、硬件看門狗復位等一系列問題,。實驗表明,整套程序已經(jīng)比較穩(wěn)定,收發(fā)數(shù)據(jù)正常,TCP超時重傳效果很好。經(jīng)過四周,每天連續(xù)12個小時的測試,沒有出現(xiàn)任何丟包和堵塞的現(xiàn)象,設備實際運行狀態(tài)正常,目前已經(jīng)投入到北京部分機動車檢測現(xiàn)場使用,。?

參考文獻?

[1] 張飛舟,鄧旭明,王豪.嵌入式工業(yè)以太網(wǎng)接口開發(fā)與應用.計算機工程,2003,29(16):154-156,194.?

[2] 尚晨旭,邢化鋒,柴燕,等.用單片機實現(xiàn)以太網(wǎng)卡通信的設計. 電子工程師,2006,32(2):53-54,57.?

[3] 陳翠,田捷,王金剛.嵌入式軟件開發(fā)技術[M]. 北京:國防工業(yè)出版社,2003.?

[4] 馬忠梅,籍順心,張凱,等.單片機C語言應用程序設計[M]. 第3版.北京: 北京航空航天大學出版社, 2006.?

[5] 劉云卿.機動車檢測復合推進式控制方法及其系統(tǒng):中國,1664541[P]. 2005-09-07.?

[6] RTL8019AS specification. Realtek Semi-conductor CO.Ltd., 1999.?

[7] COMER D E. 用TCP/IP進行網(wǎng)際互連(第1卷,第2卷). 北京: 電子工業(yè)出版社,1998. ?

[8] 周明天,汪文勇.TCP/IP網(wǎng)絡原理與技術.北京:清華大學出版社,1994.?

[9] 鄭阿奇,曹戈.Visual Basic 實用教程.北京:電子工業(yè)出版社, 2003.

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]