《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 列車總線控制系統的CAN—485總線網關設計

列車總線控制系統的CAN—485總線網關設計

2008-10-13
作者:張 湘1, 張 弢2

  摘? 要: 介紹了列車總線控制系統" title="控制系統">控制系統中的CAN總線與485總線之間的互聯" title="互聯">互聯網關,CAN總線控制器INTEL82526的基本工作原理和功能,給出了CAN—485總線網關的軟、硬件具體實現方案。

  關鍵詞: CAN總線? 485總線? 互聯? INTEL82526? CAN—485總線網關

?

  隨著現場總線控制技術的發展和成熟,越來越多的集散控制系統采用現場總線來構建控制系統。在大規模、高性能的復雜大系統中存在著大量的被控設備,而且每個被控設備有著不同的實時性" title="實時性">實時性要求。從網絡化控制的角度分析可知,簡單地采用一條現場總線把復雜大系統中的所有被控設備聯接起來會降低整個系統的穩定性和可控性,是性能不好的控制網絡拓撲形式。針對特定的現場總線,在不同的應用環境中,一條網絡段上通訊結點數有一個合理范圍,超出這個范圍將導致網絡控制性能的惡化[1~2]。另外,實時性差異較大的設備共存于一條網絡段也易于造成整個系統不穩定。因而,在一個復雜的網絡化控制系統中,按實時性和功能性分段,構造多個現場總線段是一種較為合理的拓撲形式,利于整個系統的穩定和性能的優化[2]。從性價比角度看,兩段實時性差異較大的網絡段采用相同的現場總線構建是不劃算的,采用合適的兩種現場總線分別構建較為合理??刂凭W絡的分段和網段采用不同的現場總線構建帶來了兩個異種現場總線之間互聯的問題。本文所探討的列車總線中CAN總線與485總線網關為兩個異種現場總線間的互聯提供了一種解決方案。

1 網關硬件設計

1.1 INTEL 82526簡介

  82526是INTEL公司生產的執行CAN總線規范的CAN控制器,它包括CAN總線規范所規定的所有硬件模塊(傳輸層和目標層)。82526與微處理器或微控制器" title="微控制器">微控制器聯接時能夠完成物理層和數據鏈路層的基本功能。82526內部結構原理圖如圖1所示。82526采用分時復用的8位地址/數據總線,可與INTEL系列的微處理器或微控制器協同工作。片內雙口RAM作為CPU和接口管理處理器之間的通信緩存接口,CPU初始化全局的狀態和控制寄存器,并在雙口RAM內建立通信目標用以接收和發送報文。位流處理器控制接口管理處理器和總線之間的數據流。另外,位流處理器也控制收發控制邏輯和錯誤管理邏輯??偩€定時邏輯則通過差分輸入比較器監視總線并確定串行總線的位定時。接口管理處理器執行主控制器命令并控制串行總線上的數據傳送、全局狀態和控制寄存器位。處理器接口單元是82526到CPU的接口。

?

?

1.2 網關的硬件結構

  網關的硬件電路原理圖如圖2所示。整個硬件電路由三部分構成:微控制器及其外圍擴展電路,CAN總線控制器及CAN總線接口電路,異步串行通訊" title="串行通訊">串行通訊控制器和485總線接口電路。

?

?

1.2.1 微控制器及其外圍擴展電路

  網關采用了ATMEL公司的AT89C51型微控制器。AT89C51是與8X51系列微控制器兼容的增強型微控制器,其內部集成了4K字節的FLASH ROM[3]。由于網關的軟件及參數查詢表所占用存儲空間小于4K,網關沒有在AT89C51外擴展程序存儲器。AT89C51是網關處理、控制和轉換總線數據的核心,其主要功能有三個:一是CAN總線控制器82526接收到CAN總線上其它通訊結點的數據后,交給AT89C51處理,將這些數據轉換為預先定義的485總線上傳輸數據的協議格式,由AT89C51控制異步串行通訊控制器通過485總線接口MAXIM485將這些數據發送到485總線上;二是AT89C51將MAXIM485接收到的485總線上的數據進行處理,按照82526數據組織的格式轉換這些數據,將這些數據交給82526,由它將這些數據發送到CAN總線上;三是AT89C51按照預先定義的策略對通訊任務進行合理的任務調度。網關接收CAN或485總線來的數據,應將這些數據緩沖存儲,才可以將這些數據進行處理、轉換和轉發。另外,通過CAN或485總線發送數據時需要緩沖發送的數據,要開辟發送緩沖區?;谏鲜鲂枰?在AT89C51外擴展一片數據存儲器6264作數據暫存、緩沖使用。

1.2.2 CAN總線控制器及CAN總線接口電路

  CAN總線控制器82526具有256個8位寄存器,只需8根地址線。網關將82526寄存器組配置在AT89C51片外數據存儲區的最高256個地址區域。82526兼容INTEL方式,其引腳AD0~AD7是分時復用的地址/數據總線,不需要通過地址鎖存器分離地址和數據,只要直接將AD0~AD7聯接到AT89C51的P0.0~P0.7引腳,將ALE引腳與AT89C51的ALE引腳相聯,就可分時得到正確的地址和數據。8輸入與非門74LS30的輸入端聯接到AT89C51的P2.0~P2.7高8位地址線引腳,輸出端聯接到82526的片選CS端,就將82526的寄存器組配置在AT89C51片外數據存儲區的最高256個地址區域。82526的INT引腳聯接到AT89C51的P3.2引腳,將82526的通訊事件配置為AT89C51的外部中斷0的事件。82526在處理通訊事件和數據的過程中,不能被訪問和存取數據,通過RDY引腳上電平的高低來告知外界其是否處于可訪問狀態,將RDY引腳聯接到AT89C51的P1.1引腳來控制AT89C51對82526的訪問。82C250是82526與實際物理總線間的接口。將82526的TX0引腳和RX0引腳分別與82C250的TXD引腳和RXD引腳相聯,將82C250的RS引腳接地,使82C250在高速方式下工作。

1.2.3 串行通訊控制器和485總線接口電路

  AT89C51片內集成了異步串行通訊模塊,不需在AT89C51片外擴展串行通訊控制器。網關中的485總線接口采用了MAXIM485。MAXIM485工作在半雙工方式下,因而需要對它處于接收狀態或發送狀態進行控制,將AT89C51的P1.0引腳與MAXIM485的DE引腳和RE引腳相聯,可控制狀態的轉換。

2 網關軟件設計

  網關軟件主要由四部分功能模塊構成:初始化模塊、通訊任務調度模塊、CAN總線通訊模塊和485總線通訊模塊。軟件由Franclin C51實現。

2.1 網關初始化

  網關在正常工作前需對相關的參數進行設置,包括AT89C51的異步串行通訊控制器及其它部分的初始化和82526的初始化。網關將串行通訊設置為工作方式2,串行通訊的波特率設為9600bps,開放外部中斷0并選擇電平觸發中斷方式;設置82526的控制寄存器,置位復位請求、出錯中斷、傳送中斷、同步和運行位;復位82526狀態寄存器,設置82526總線定時寄存器,CAN總線的波特率設為1Mbps;設置82526的TX0、TX1引腳為常態方式輸出。

2.2 通訊任務調度

  網關是485總線上的主設備,其余的設備均為從設備,所有的通訊任務都由網關發起。網關不斷地輪詢485總線上的從設備,獲得從設備的運行狀態數據,通過CAN總線將這些數據轉發給列車控制器。在輪詢過程中,監視是否有列車控制器發來的控制命令,優先將控制命令發送給相應的從設備。網關采用帶優先級的輪詢策略。設某一設備的優先級為m級,則所有設備至少被訪問一次后該設備被訪問m次,且這m次平均分布在總的訪問次數中。網關采用4級優先級,建立缺省的設備—優先級表并存儲在AT89C51的FLASH ROM中。根據設備—優先級表建立設備輪詢環并存儲在6264中。列車控制器可發修改設備優先級的命令給網關,在線修改設備—優先級表并重建設備輪詢環。當82526接收到CAN總線的數據時就觸發AT89C51的外部中斷0,外部中斷0的中斷服務程序置有控制命令標志,讀取82526中的數據并存儲在6264中開辟的控制命令FIFO隊列中,這就實現了對CAN總線上數據的監控。通訊任務調度的流程如圖3和圖4所示。

?

?

2.3? CAN總線通訊

  82526是一種執行CAN規范的CAN控制器,其內部采用硬件實現了數據鏈路層的全部功能,因而這部分的程序只需將82526中的數據讀出和將數據寫入82526。對于發送報文部分,首先將485總線上設備的運行狀態數據按照在CAN總線傳輸數據的應用層協議進行組裝;然后將82526的IMP訪問位鎖定并檢查82526的CPU訪問位是否鎖定,若未鎖定則將組裝好的數據寫到選擇的82526的通信目標數據段;最后復位82526的發送狀態位和置位發送請求位并釋放IMP訪問位。由于網關選擇了82526接收到總線數據后給AT89C51一個外部中斷,因而對于接收報文部分,首先讀取82526的中斷指針,判斷中斷指針值與82526狀態寄存器的值是否相同,若不同則讀取82526中通信目標數據段中數據,最后復位82526的傳送狀態位并清除中斷指針。

2.4 485總線通訊

  485總線只定義了物理層通訊協議,因而基本的數據鏈路層協議由使用者來定義并由軟件實現。由于沖突檢測和同步通信功能無法由軟件實現,因而485總線通常采用主從、異步式通信方式。要實現485總線可靠的多機通訊,應實現站點識別和錯誤校驗這兩項數據鏈路層的功能。網關采用握手協議實現站點識別,采用CRC校驗實現錯誤校驗。具體地說,對于站點識別采用地址握手,即對于51系列微控制器,在通訊方式設為多機通訊時,通過對串行控制器SCON的TB8置位或清零表示是地址幀還是數據幀。在數據通信前先進行地址通信,網關置位SCON的SM2和TB8,將欲與數據通信的從設備的地址發送出去,從設備接收到這個地址,與本機地址比較,若相同則將地址發送,作為對網關的應答,隨后將本機中SCON的SM2清零,若不同則保持不動作。網關收到相應從設備的應答后對本機中SCON的TB8清零,隨后就可以與相應的從設備進行數據通信,它們之間的數據通信不會影響其余的從設備,這樣就實現了站點識別。對于錯誤檢驗,采用了CRC—CCITT標準,校驗本原多項式為X16+X12+X5+1??紤]到采用基于微控制器的軟件實現,不采用直接CRC模2除法算法,而采用串行通訊中XMODEM協議所使用的CRC查詢算法,這樣大大地提高了數據校驗的速度。CRC查詢算法要求構造查詢表,可預先在微機上采用高級語言編制直接CRC模2除法的程序,分別對最低兩個字節為0、最高字節為0~255的三字節數模2除校驗本原多項式計算余數,這些余數構成一個256個雙字節的查詢表,然后將這個查詢表固化在AT89C51中的FLASH ROM中。上述方法實現了錯誤校驗。網關的485總線通訊流程如圖5所示。

?

?

  在列車控制系統中,采用了本文的CAN-485總線網關,實現了列車中CAN總線與485總線的互聯。在實際應用中,網關有效地控制了CAN總線與485總線之間的數據流;針對實時性要求高的設備與實時性要求一般的設備對主干網絡的帶寬和吞吐量需求不同,實現了按數據的實時性級別動態地分配網絡資源和調度通信任務,有效地解決了列車總線控制系統的穩定性問題,提高了系統的控制性能。

?

參考文獻

1 Gregory C.Walsh,Hong Ye.Scheduling of Networked Control?Systems. IEEE Control Systems Magazine, 2001(2)

2 Feng-Li Lian,James R.Moyne,Dawn M.Tilbury. Performance Evaluation of Control Networks: Ethernet,ControlNet and? DeviceNet. IEEE Control Systems Magazine, 2001(2)

3 余永權. ATMEL 89 系列(MCS-51兼容)Flash單片機原理及應用.北京:電子工業出版社,1997

4 鄔寬明.CAN總線原理和應用系統設計. 北京:北京航空航天大學出版社,1996

5 陽憲惠.現場總線技術及其應用. 北京:清華大學出版社, 1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精品喷水在线观看 | 欧美激情综合色综合啪啪五月 | 日本一视频一区视频二区 | 成年人视频在线免费播放 | 甜性涩爱免费看 | 午夜日本理论 | 成人黄色小视频在线观看 | 中国国产一级毛片视频 | 激情五月综合 | 毛片免费播放 | 欧美黑人巨大xxxx猛交 | 一级毛片免费毛片一级毛片免费 | 男人下面桶女人视频免费 | 色图综合 | 国产制服丝袜视频 | 欧美亚洲桃花综合 | 在线有码| 国产精品天天看特色大片不卡 | 福利久草 | jizz国产丝袜18老师美女 | 欧美综合在线观看 | 亚洲欧美在线观看首页 | 日本欧美一区二区三区视频 | 久久五月天婷婷 | 偷偷操99| 极品色在线精品视频 | 老年人一级毛片 | 天天爱天天干天天 | 男人看片资源 | 欧美va免费大片 | 精品国产欧美另类一区 | 亚洲欧美一区二区三区二厂 | 色综合色综合 | 一级片在线免费播放 | 国产激情视频在线 | 一区二区三区在线 | 日本 | 射射射综合网 | 一级黄色片一 | www.丁香| 怡红院成人在线 | 成人男女网18免费91 |