《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于LPC2194的4路CAN網(wǎng)橋設(shè)計
基于LPC2194的4路CAN網(wǎng)橋設(shè)計
中國礦業(yè)大學(xué) 金勇 趙宗平 于寧寧 杜存功
摘要: 4路CAN網(wǎng)橋可以延長CAN傳輸距離,,擴展CAN通信網(wǎng)絡(luò),;同時具有路由功能,,可實現(xiàn)不同CAN網(wǎng)絡(luò)之間的不同路由,、不同通信速率的轉(zhuǎn)換,,能夠在大型CAN網(wǎng)絡(luò)中起到關(guān)鍵作用,。
Abstract:
Key words :

         CAN總線以其設(shè)計獨特,、成本低,、可靠性高,、實時性和抗干擾能力強等特點,,在汽車工業(yè),、機械工業(yè)、紡織工業(yè),、機器人,、數(shù)控機床、醫(yī)療器械等領(lǐng)域得到了廣泛的應(yīng)用,。從高速網(wǎng)絡(luò)到低速的多路接線網(wǎng)絡(luò)都可以使用CAN總線,,其最高傳輸速率可以達到1 Mbps,最遠傳輸距離可達10 km(傳輸速率在5 kbps以下時),。但是當要求傳輸速率較高且傳輸距離較遠時,,單條總線就無法完成;而且在大型的網(wǎng)絡(luò)中,,經(jīng)常需要多條總線的接入,。這就需要同時有中繼與路由功能的CAN網(wǎng)橋來實現(xiàn)以上功能。

 
  本文設(shè)計的4路CAN網(wǎng)橋可以延長CAN傳輸距離,,擴展CAN通信網(wǎng)絡(luò),;同時具有路由功能,可實現(xiàn)不同CAN網(wǎng)絡(luò)之間的不同路由,、不同通信速率的轉(zhuǎn)換,,能夠在大型CAN網(wǎng)絡(luò)中起到關(guān)鍵作用。
 
  1 4路CAN網(wǎng)橋的設(shè)計方案
 
  1.1 CAN網(wǎng)橋的優(yōu)點
 
  使用4路CAN網(wǎng)橋?qū)W(wǎng)絡(luò)性能的改善有著很大的幫助,,在大型網(wǎng)絡(luò)的組網(wǎng)中有以下優(yōu)點:
 
 ?、倏梢匝娱L網(wǎng)絡(luò)的傳輸距離,特別是經(jīng)過幾個CAN網(wǎng)橋的中繼之后,,可以極大地延長傳輸距離,,能夠達到幾千米甚至幾十千米。
 
 ?、诳梢栽龃驝AN網(wǎng)絡(luò)的規(guī)模,,4路CAN網(wǎng)橋有4個CAN支路,每條支路又可以增加新的CAN網(wǎng)橋,,因此可以組成大規(guī)模的CAN網(wǎng)絡(luò),。
 
  ③可以實現(xiàn)不同網(wǎng)絡(luò)之間不同路由的選擇,,增強了CAN網(wǎng)絡(luò)的可靠性,。
 
  1.2 設(shè)計方案
 
  CAN網(wǎng)橋的設(shè)計方案一般分為單MCU和多MCU兩種。單MCU速度較慢,,不適用于高速網(wǎng)絡(luò),;多MCU方案結(jié)構(gòu)復(fù)雜,穩(wěn)定性較差。針對以上情況,,本設(shè)計采用了自帶4路CAN控制器的ARM微控制器LPC2194,,同時避免了MCU速度慢和多MCU網(wǎng)絡(luò)復(fù)雜的情況。
 
  LPC2194的特點如下:
 
 ?、倬哂?2位的ARM7微控制器,,帶有256 KB的嵌入式高速Flash存儲器。32位代碼能夠在最高時鐘頻率下運行,,且功耗極低,,處理速度極快。
 
 ?、谧詭?路互聯(lián)的CAN控制器,,完全支持CAN2.0B和ISO1198-1的標準,,每個CAN控制器均可以實現(xiàn)1Mbps的速率,。其全局驗收濾波器可識別所有總線的11位和29位Rx標識符,相對于SJA1000的CAN控制器有著明顯的優(yōu)勢,。
 
  2 4路CAN網(wǎng)橋的硬件設(shè)計
 
  2.1 總體設(shè)計
 
  由于LPC2194集成4路CAN控制器,,因此能夠方便地實現(xiàn)4路CAN總線接口,既減小了系統(tǒng)的規(guī)模,,又提高了系統(tǒng)的穩(wěn)定性,。本設(shè)計采用LPC2194作為主控芯片,具有隔離和保護的CTM8251T作為CAN收發(fā)器,。系統(tǒng)的整體結(jié)構(gòu)如圖1所示,。
 
 
  2.2 微控制器與CTM8251T的接口設(shè)計
 
  CTM8251T是一款帶隔離的通用CAN收發(fā)器模塊。該模塊內(nèi)部集成了所有必需的CAN隔離及CAN收發(fā)器件,,具有2 500 V的隔離功能和CAN-bus總線過壓保護作用,。該模塊符合ISO11898標準,因此可以與其他遵從ISO11898標準的CAN收發(fā)器相互操作,。由于微控制器LPC2194集成的4路CAN控制器完全相同,,因此本設(shè)計中只給出1路CAN控制器與CTM8251T的連接圖,如圖2所示,。
 
 
  3 4路CAN網(wǎng)橋的軟件設(shè)計
 
  4路CAN網(wǎng)橋不同于一般的CAN中繼器,,可以選擇不同的路由和不同的通信速率。本設(shè)計中,,4路CAN接口均可以實現(xiàn)與其他3路之間不同路由的選擇和不同通信速率之間的轉(zhuǎn)換,,極大地增強了網(wǎng)絡(luò)的可擴展性。4路CAN網(wǎng)橋的工作模式分為兩種:配置模式,,可以選擇路由和不同支路的CAN通信速率,;正常工作模式,根據(jù)所配置的狀態(tài)來進行工作。
 
  3.1 配置模式
 
  配置模式的主要工作是將配置信息寫入EEPROM中,,在正常工作時可以讀取配置的信息,。配置模式的程序流程如圖3所示。
 
3.2 正常工作模式
 
  在配置模式下配置好各信息后,,系統(tǒng)重新上電可以進入正常工作模式,。根據(jù)配置模式配置的狀態(tài),4路網(wǎng)橋?qū)W(wǎng)絡(luò)中的信息進行存儲轉(zhuǎn)發(fā),。在LPC2194中,,4路CAN控制器是同時工作的,因此能夠提高系統(tǒng)的速度和實時性,。每一路的結(jié)構(gòu)和程序是相同的,,因此本設(shè)計僅給出1路CAN控制器正常工作的程序設(shè)計。
 
  為了提高系統(tǒng)的轉(zhuǎn)換速度和穩(wěn)定性,,本設(shè)計采用了中斷接收和查詢發(fā)送的方式,。系統(tǒng)中斷接收CAN總線上的數(shù)據(jù),并根據(jù)路由選擇和標識符的分配選擇發(fā)送到其他3路,,從而完成網(wǎng)橋的工作,。系統(tǒng)主程序和中斷程序流程分別如圖4和圖5所示。
 
 
  4 實驗結(jié)果
 
  為了驗證系統(tǒng)的可靠性,,設(shè)計了一個通信收包率的實驗,。通過PC機間隔一定的時間,向CAN網(wǎng)橋一條支路發(fā)送8字節(jié)的數(shù)據(jù),,網(wǎng)橋的另一條支路向PC機回復(fù)接收到的8字節(jié)數(shù)據(jù),。通過對比發(fā)送和接收的字節(jié)數(shù)來驗證收包率。分別以100 ms,、10 ms,、5 ms、1 ms的間隔來發(fā)送8字節(jié)的數(shù)據(jù),,發(fā)送和接收到的字節(jié)數(shù)為:
 
 ?、匍g隔100 ms時,發(fā)送1 336個字節(jié),,接收1 336個字節(jié),,收包率為100%;
 
 
 ?、陂g隔10 ms時,,發(fā)送3 376個字節(jié),接收3 376個字節(jié),,收包率為100%,;
 
 ?、坶g隔5 ms時,發(fā)送4 056個字節(jié),,接收4 056個字節(jié),,收包率為100%;
 
 ?、荛g隔1 ms時,,發(fā)送5 336個字節(jié),接收5 336個字節(jié),,收包率為100%,。
 
  其中,間隔1 ms時的發(fā)送和接收圖如圖6所示,。
 
 
  實驗結(jié)果表明,,在以不同間隔發(fā)送數(shù)據(jù)時,網(wǎng)橋都能很好地完成工作,,可滿足實際應(yīng)用的需要,。
 
  結(jié) 語
 
  本文設(shè)計的4路CAN網(wǎng)橋采用功能強大的ARM芯片LPC2194作為主控芯片,因此能夠及時地處理4路CAN總線的數(shù)據(jù)傳輸,。通過具體實驗證明,,該網(wǎng)橋工作穩(wěn)定、可靠,、使用方便,完全滿足現(xiàn)場的需求,。
 
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。