《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CAN總線的智能車的設計
基于CAN總線的智能車的設計
來源:微型機與應用2012年第9期
尹占芳,,張 瑩
(中國人民解放軍94270部隊,,山東 濟南 250117)
摘要: 主要介紹了基于CAN總線的智能車的設計,,詳細描述了基于SST89E564RD微處理器的采集節(jié)點以及基于TMS320F2812 DSP的控制節(jié)點,并給出了整個系統(tǒng)的軟硬件設計及實現(xiàn)結果,。
Abstract:
Key words :

摘  要: 主要介紹了基于CAN總線智能車的設計,,詳細描述了基于SST89E564RD微處理器的采集節(jié)點以及基于TMS320F2812 DSP的控制節(jié)點,并給出了整個系統(tǒng)的軟硬件設計及實現(xiàn)結果,。
關鍵詞: CAN總線,;SST89E564RD,;TMS320F2812,;智能車

 控制器局域網(wǎng)絡CAN(Controller Area Network)是德國BOSCH公司為解決現(xiàn)代汽車中眾多電子設備之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它具有高可靠性和良好的錯誤檢測能力,。汽車上主要有高速(500 kb/s)和低速(125 kb/s)兩種CAN總線,,這兩種總線通過網(wǎng)關連接,實現(xiàn)兩個局域網(wǎng)間的數(shù)據(jù)共享,。
 目前,,隨著對系統(tǒng)復雜化、精細化的要求越來越高,傳統(tǒng)的集中控制從實時性和可靠性上越來越不能滿足要求,,分布控制逐漸得到了廣泛應用,。分布控制就是系統(tǒng)由一個主控制器和若干個分控制器組成,分控制器分別處理一部分系統(tǒng)功能,,以并行或串行的方式與主控制器進行數(shù)據(jù)和信息的交互,。
1 系統(tǒng)的總體設計
 本設計主要完成了智能車在預先鋪貼的道路上行駛。整個系統(tǒng)硬件組成框圖如圖1所示,,包括采集節(jié)點和控制節(jié)點,,它們之間通過CAN總線完成數(shù)據(jù)的交互。采集節(jié)點通過傳感器采集道路信息,,經(jīng)過信號調(diào)理電路傳送到微控制器,,微控制器對信息進行處理后把數(shù)據(jù)發(fā)送到CAN總線上??刂乒?jié)點讀取總線上的數(shù)據(jù)并轉(zhuǎn)換成控制命令,,控制執(zhí)行機構以確保智能車不偏離道路并且保持較高的速度。

2 節(jié)點的硬件接口設計
2.1 采集節(jié)點SST89E564RD與CAN總線接口

 SST89E564RD自身不具有CAN模塊,,因此擴展了CAN總線控制器,,通過CAN總線收發(fā)器接入總線。本設計采用的CAN控制器是SJA1000,,其兼容CAN2.0B協(xié)議,,通過單片機對其進行初始化,主要實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務,。收發(fā)器選用PCA82C250,,它是一種應用廣泛的CAN控制器與物理總線間的接口芯片,能夠?qū)偩€的信息進行差動發(fā)送和接收,。為了進一步提高系統(tǒng)的抗干擾能力,,在PCA82C250和SJA1000之間用高速光耦6N137進行隔離,以降低由于不同節(jié)點的高共模電壓引起的串擾甚至對器件的損壞,,提高系統(tǒng)的可靠性,,其通信速率高達10 Mb/s,完全能滿足CAN總線需要,。SST89E564RD與CAN總線的硬件接口如圖2所示,。

3 CAN節(jié)點軟件設計
3.1 CAN總線通信數(shù)據(jù)格式

 CAN協(xié)議通信格式中有數(shù)據(jù)幀、遠程幀,、出錯幀和超載幀4種幀格式,。其中,數(shù)據(jù)幀和遠程幀的發(fā)送需要在CPU控制下進行,,而出錯幀和超載幀的發(fā)送則是在錯誤發(fā)生和超載發(fā)生時自動進行的,。一個有效的CAN的數(shù)據(jù)幀由起始幀,、仲裁域、控制域,、數(shù)據(jù)域,、應答域和結束幀組成。一幀信息除仲裁域,、控制域和數(shù)據(jù)域外,,其他信息都是CAN控制器發(fā)送數(shù)據(jù)時自動加上去的,而仲裁域,、控制域和數(shù)據(jù)域則必須由CPU給出,。TMS320F2812的CAN控制器支持標準格式和擴展格式兩種不同的幀格式,本設計采用標準格式,。標識符作為報文的名稱,,在仲裁過程期間,它首先被發(fā)送到總線,,在接收器的驗收判斷中和仲裁過程確定訪問優(yōu)先權中都要用到,。遠程發(fā)送請求位RTR決定發(fā)送的是遠程幀還是數(shù)據(jù)幀。數(shù)據(jù)長度碼DLC用來確定每幀發(fā)送幾個字節(jié)的數(shù)據(jù),,最多8 B,。SJA1000可以工作在標準CAN模式和增強型CAN模式兩種模式。標準CAN模式提供11 bit標識符的識別,,而增強型CAN模式支持29 bit標識符識別,。本設計選擇SJA1000工作在標準CAN模式,與DSP的CAN模塊選擇的數(shù)據(jù)格式相吻合,。
3.2 SST89E564RD軟件設計
 SST89E564RD軟件的設計是在KeilC下完成的,,主要由初始化模塊、采集模塊和通信模塊組成,。
?。?)初始化模塊。單片機在SJA1000的復位模式下完成對CAN控制器的初始化,,向其控制寄存器寫入控制字,,確定CAN控制器的工作方式。
?。?)采集模塊,。攝像頭傳感器采集到的信息經(jīng)信號調(diào)理電路處理后傳輸?shù)絾纹瑱C,單片機采用圖像濾波算法對所有信息進行預處理,。
?。?)通信模塊。把采集模塊處理完的信息通過CAN總線與其他節(jié)點進行信息交互,。
3.3 TMS320F2812軟件設計
 TMS320F2812的eCAN模塊主要由CAN協(xié)議內(nèi)核和消息控制器構成,。協(xié)議內(nèi)核主要完成消息解碼并向接收緩沖器發(fā)送解碼后的消息,同時根據(jù)CAN協(xié)議向總線發(fā)送消息,,消息控制器決定對接收到的消息的取舍,。TMS320F2812軟件主要由初始化模塊、通信模塊和驅(qū)動模塊組成,。
?。?)初始化模塊。其完成對CAN控制層中的寄存器進行初始化,,包括時鐘使能,、引腳定義、波特率的設定和收發(fā)郵箱的配置等,。初始化模塊流程圖如圖4所示,。

 

 

 (2)通信模塊,。它包括報文發(fā)送模塊,、報文接收模塊和CAN出錯管理模塊。
?。?)驅(qū)動模塊,。它包括轉(zhuǎn)向控制模塊和速度控制模塊。由于智能車處于彎道和直道的轉(zhuǎn)向模型不同,,本系統(tǒng)在轉(zhuǎn)向控制模塊中采用了分段比例控制算法,,而對智能車速度的調(diào)整既要快速又要準確,還不能頻繁波動,,本系統(tǒng)在速度控制模塊中采用了PID控制算法,。
 系統(tǒng)采用SST89E564RD微處理器實時采集道路信息,采用TMS320F2812進行數(shù)據(jù)的綜合處理,,輸出相應命令給執(zhí)行機構,,所有數(shù)據(jù)通過CAN總線交互,方便功能拓展,。通過模擬測試和大量環(huán)境試驗,,以及對記錄、實時檢測,、數(shù)據(jù)分析的整理,,該智能車目前運行可靠。后續(xù)將增添無線模塊節(jié)點,,為該智能車添加遙控功能,。
參考文獻
[1] 謝青紅.TMS320F2812 DSP原理及其在運動控制系統(tǒng)中的應用[M].北京:電子工業(yè)出版社,2010.
[2] 張瑋,,陳丁.基于TMS320F2812的CAN-Bus通訊系統(tǒng)的設計[J].硅谷,,2011(10):71.
[3] 趙富全,,胡易平,吳曉波.CAN總線測控系統(tǒng)智能傳感器節(jié)點硬件設計[J].國外電子測量技術,,2005,,24(7):34-36.
[4] 趙文博.單片機語言C51程序設計[M].北京:人民郵電出版社,2005.
[5] 羅雪梅.基于SJA1000的CAN總線接口電路的設計與實現(xiàn)[J].貴州工業(yè)大學學報(自然科學版),,2003,,32(4):42-44.
[6] 岑雪松,朱丹.SJA1000在CAN總線系統(tǒng)節(jié)點的應用[J].單片機與嵌入式系統(tǒng)應用,,2002(1):50-54.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載。