基于CAN總線的智能車的設計與實現
控制器局域網絡CAN(Controller Area Network)是德國BOSCH公司為解決現代汽車中眾多電子設備之間的數據交換而開發的一種串行數據通信協議,它具有高可靠性和良好的錯誤檢測能力。汽車上主要有高速(500 kb/s)和低速(125 kb/s)兩種CAN總線,這兩種總線通過網關連接,實現兩個局域網間的數據共享。
目前,隨著對系統復雜化、精細化的要求越來越高,傳統的集中控制從實時性和可靠性上越來越不能滿足要求,分布控制逐漸得到了廣泛應用。分布控制就是系統由一個主控制器和若干個分控制器組成,分控制器分別處理一部分系統功能,以并行或串行的方式與主控制器進行數據和信息的交互。
1 系統的總體設計
本設計主要完成了智能車在預先鋪貼的道路上行駛。整個系統硬件組成框圖如圖1所示,包括采集節點和控制節點,它們之間通過CAN總線完成數據的交互。采集節點通過傳感器采集道路信息,經過信號調理電路傳送到微控制器,微控制器對信息進行處理后把數據發送到CAN總線上。控制節點讀取總線上的數據并轉換成控制命令,控制執行機構以確保智能車不偏離道路并且保持較高的速度。
2 節點的硬件接口設計
2.1 采集節點SST89E564RD與CAN總線接口
SST89E564RD自身不具有CAN模塊,因此擴展了CAN總線控制器,通過CAN總線收發器接入總線。本設計采用的CAN控制器是SJA1000,其兼容CAN2.0B協議,通過單片機對其進行初始化,主要實現數據的接收和發送等通信任務。收發器選用PCA82C250,它是一種應用廣泛的CAN控制器與物理總線間的接口芯片,能夠對總線的信息進行差動發送和接收。為了進一步提高系統的抗干擾能力,在PCA82C250和SJA1000之間用高速光耦6N137進行隔離,以降低由于不同節點的高共模電壓引起的串擾甚至對器件的損壞,提高系統的可靠性,其通信速率高達10 Mb/s,完全能滿足CAN總線需要。SST89E564RD與CAN總線的硬件接口如圖2所示。
2.2 控制節點DSP 與CAN 總線接口
TMS320F2812 DSP 芯片內部集成了一個完整的增強型CAN 控制器, 稱之為eCAN, 在硬件設計中,不需要再加入獨立的CAN 控制器來實現[FS:PAGE]CAN 總線的底層協議, 直接通過收發器PCA82C250 連接總線。DSP 與CAN總線接口設計如圖3 所示。
3 CAN節點軟件設計
3.1 CAN總線通信數據格式
CAN協議通信格式中有數據幀、遠程幀、出錯幀和超載幀4種幀格式。其中,數據幀和遠程幀的發送需要在CPU控制下進行,而出錯幀和超載幀的發送則是在錯誤發生和超載發生時自動進行的。一個有效的CAN的數據幀由起始幀、仲裁域、控制域、數據域、應答域和結束幀組成。一幀信息除仲裁域、控制域和數據域外,其他信息都是CAN控制器發送數據時自動加上去的,而仲裁域、控制域和數據域則必須由CPU給出。TMS320F2812的CAN控制器支持標準格式和擴展格式兩種不同的幀格式,本設計采用標準格式。標識符作為報文的名稱,在仲裁過程期間,它首先被發送到總線,在接收器的驗收判斷中和仲裁過程確定訪問優先權中都要用到。遠程發送請求位RTR決定發送的是遠程幀還是數據幀。數據長度碼DLC用來確定每幀發送幾個字節的數據,最多8 B。SJA1000可以工作在標準CAN模式和增強型CAN模式兩種模式。標準CAN模式提供11 bit標識符的識別,而增強型CAN模式支持29 bit標識符識別。本設計選擇SJA1000工作在標準CAN模式,與DSP的CAN模塊選擇的數據格式相吻合。
3.2 SST89E564RD軟件設計
SST89E564RD軟件的設計是在KeilC下完成的,主要由初始化模塊、采集模塊和通信模塊組成。
(1)初始化模塊。單片機在SJA1000的復位模式下完成對CAN控制器的初始化,向其控制寄存器寫入控制字,確定CAN控制器的工作方式。
(2)采集模塊。攝像頭傳感器采集到的信息經信號調理電路處理后傳輸到單片機,單片機采用圖像濾波算法對所有信息進行預處理。
(3)通信模塊。把采集模塊處理完的信息通過CAN總線與其他節點進行信息交互。
3.3 TMS320F2812軟件設計
TMS320F2812的eCAN模塊主要由CAN協議內核和消息控制器構成。協議內核主要完成消息解碼并向接收緩沖器發送解碼后的消息,同時根據CAN協議向總線發送消息,消息控制器決定對接收到的消息的取舍。TMS320[FS:PAGE]F2812軟件主要由初始化模塊、通信模塊和驅動模塊組成。
(1)初始化模塊。其完成對CAN控制層中的寄存器進行初始化,包括時鐘使能、引腳定義、波特率的設定和收發郵箱的配置等。初始化模塊流程圖如圖4所示。
(2)通信模塊。它包括報文發送模塊、報文接收模塊和CAN出錯管理模塊。
(3)驅動模塊。它包括轉向控制模塊和速度控制模塊。由于智能車處于彎道和直道的轉向模型不同,本系統在轉向控制模塊中采用了分段比例控制算法,而對智能車速度的調整既要快速又要準確,還不能頻繁波動,本系統在速度控制模塊中采用了PID控制算法。
系統采用SST89E564RD微處理器實時采集道路信息,采用TMS320F2812進行數據的綜合處理,輸出相應命令給執行機構,所有數據通過CAN總線交互,方便功能拓展。通過模擬測試和大量環境試驗,以及對記錄、實時檢測、數據分析的整理,該智能車目前運行可靠。后續將增添無線模塊節點,為該智能車添加遙控功能。
相關文章
基于GSM的智能車牌防盜報警裝置的設計
隨著人們生活水平的提高,城市中汽車的數量劇增,從而帶動了很多相關行業的發展,然而很多的不法分子也打起了偷盜車牌的主意,用來敲詐車主,這讓車主很是頭疼,也嚴重地影響了社會的和諧發展。
智能車載儀表系統結構及硬件設計
隨著高性能電子顯示技術的發展,汽車儀表電子化的程度越來越高。國內外已開發出了多功能全電子顯示儀表、平視顯示儀表、汽車導航系統、行車記錄儀等高技術產品。
智能車載設備或成道路安全隱患
在美國每年有3000多人因分心駕駛而意外死亡,這個數字占交通死亡事故人視點10%。這還不包括因開車擺弄手機和瀏覽導航系統而喪生的人數。但這并不要緊。政府稱正在通過“終極解決方案”來遏制開車時使用移動設備。