《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 機動車檢測系統中總線設備網絡化改造的實現

機動車檢測系統中總線設備網絡化改造的實現

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

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

??? 關鍵詞: 機動車檢測系統; 現場總線; 以太網; 串口" title="串口">串口; 在線仿真

?

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

1 串口通信與網絡傳輸?

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

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

?

?

?

2 系統主要模塊硬件結構設計?

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

?

?

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

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

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

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

3 系統軟件設計?

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

3.1 初始化 ?

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

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

3.2 數據包的發送和接收?

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

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

?

?

4 實驗用例?

4.1 實驗環境?

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

4.2實驗內容?

4.2.1修改系統參數?

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

?

?

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

4.2.2 計算機模擬測試?

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

?

?

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

?

?

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

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

參考文獻?

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

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

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

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

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

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

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

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

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲日本中文字幕天天更新 | 亚洲天堂久久久 | 看免费黄色大片 | a成人毛片免费观看 | 小 视频 黄 | 又色又爽又黄的视频女女高清 | 亚洲精品视频在线免费 | 欧美日韩 国产区 在线观看 | 97夜夜操 | 国产精品久久久久久夜夜夜夜 | 91精品国产自产在线观看高清 | 欧美手机在线 | 中国又粗又大又爽的毛片 | 最近免费中文字幕视频高清在线看 | 欧美视频性| 黄色软件香蕉视频 | 国产欧美成人一区二区三区 | 国产日韩欧美综合 | 波多野结衣资源在线观看 | 好色站 | 国产福利免费观看 | 国内精品久久影视免费 | 美女鲜嫩bbbb | 免费观看国产精品 | 亚洲爽 | 中文国产成人精品久久一区 | 欧美日韩精品一区二区三区四区 | 一区二区三区国产 | 天天干夜夜爽天天操夜夜爽视频 | 一级片免费的 | 中文字幕第7页 | 国产日本欧美在线观看乱码 | 日本一本久道 | 亚洲日本中文字幕 | 伦理剧网址在线播放 | 97人人揉人人捏人人添 | 中文字幕欧美日韩高清 | 偷偷操99 | 欧美人成网站免费大全 | 亚洲黄网站wwwwww | 在线好吊色视频98gao |