版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 本設(shè)計致力于汽車CAN總線儀表系統(tǒng)的研究,深入討論了系統(tǒng)的設(shè)計思想與實現(xiàn)方法,實現(xiàn)了在LabVIEW開發(fā)平臺上建立基于CAN總線的虛擬儀表系統(tǒng)。</p><p> 整個設(shè)計分為硬件系統(tǒng)和軟件系統(tǒng)兩部分。其中硬件系統(tǒng)是以飛思卡爾公司的MC9S12XS128 作為微處理器的核心。軟件系統(tǒng)是利用C 語言編
2、寫程序?qū)崿F(xiàn)兩個CAN節(jié)點之間的通訊以及利用LABVIEW編程實現(xiàn)單片機與虛擬儀表之間的通訊。</p><p> 系統(tǒng)首先構(gòu)建了一個由兩個CAN節(jié)點組成的最簡單的CAN網(wǎng)絡(luò)。對兩個節(jié)點進行軟件設(shè)計后,來實現(xiàn)相互之間的通訊和數(shù)據(jù)收發(fā),同時在汽車的CAN 應用層協(xié)議基礎(chǔ)上,上位機節(jié)點對接收的CAN報文進行處理,得到虛擬儀表各控件所對應的數(shù)據(jù)。其中,基于LabVIEW的虛擬儀表系統(tǒng)開發(fā)和單片機的C語言編程是本設(shè)計的重點
3、和難點。</p><p> 關(guān)鍵詞:CAN總線;汽車儀表;LabVIEW;C語言;單片機</p><p><b> ABSTRACT</b></p><p> This paper researches automotive instrument based on CAN bus, deeply discusses the idea an
4、d the method of system design and brings forward the approach of design the automotive emulational virtual instrument system on the platform of LabVIEW software.</p><p> The whole design of hardware system
5、and software system is divided into two parts. One of the hardware system is the MC9S12XS128 as freescale's company core microprocessor. A software system is using written in C language program realization of the com
6、munication between two CAN node using G language preparation and MCU and virtual instrument LABVIEW realization of the communication between.</p><p> To construct a system first composed by two CAN node of
7、the most simple CAN network. Two nodes software design, to realize mutual communication and data transceiver, meanwhile in automobile CAN application-layer protocol basis, PC node to receive message processing, CAN get v
8、irtual instrument corresponding each control the data. Among them, the LabVIEW virtual instrument based on SCM system development and the C programming language is the design of the key and difficult.</p><p>
9、; Key words: CAN Bus;Automotive Instrument;LabVIEW;C Language;SCM</p><p><b> 目 錄</b></p><p><b> 摘要Ⅰ</b></p><p> AbstractⅡ</p><p><b&
10、gt; 第1章 緒論1</b></p><p> 1.1課題研究的目的和意義1</p><p> 1.2汽車儀表的發(fā)展2</p><p> 1.3 CAN總線技術(shù)推動汽車儀表的升級換代2</p><p> 1.4研究的基本內(nèi)容3</p><p> 第2章 CAN總線原理5</p
11、><p><b> 2.1汽車總線5</b></p><p> 2.2 CAN總線5</p><p> 2.2.1 CAN總線簡介5</p><p> 2.2.2 CAN總線基本特點7</p><p> 2.2.3 CAN總線通訊介質(zhì)訪問控制方式7</p><p
12、> 2.2.4 CAN總線的物理層設(shè)計8</p><p> 2.2.5 CAN應用軟件設(shè)計原則8</p><p> 2.3汽車的其他總線8</p><p> 2.3.1 LIN總線簡介8</p><p> 2.3.2 FLEXRAY總線簡介9</p><p> 2.3.3 MOST總線簡介
13、10</p><p> 2.3.4汽車總線比較11</p><p> 2.4汽車通訊協(xié)議11</p><p> 2.4.1 SAE J1939通訊協(xié)議11 </p><p> 2.4.2 CAN總線協(xié)議12</p><p> 2.5本章小結(jié)15</p><p> 第3章 汽
14、車智能儀表系統(tǒng)的硬件設(shè)計16</p><p> 3.1硬件系統(tǒng)的組成16</p><p> 3.2微處理器的選擇17</p><p> 3.3微處理器的介紹17</p><p> 3.4 MSCAN總線模塊18</p><p> 3.5 CAN總線節(jié)點的搭建21</p><p&
15、gt; 3.6串行接口電路的設(shè)計22</p><p> 3.7按鍵電路設(shè)計22</p><p> 3.8電位計電路設(shè)計22</p><p> 3.9本章小結(jié)24</p><p> 第4章 汽車智能儀表系統(tǒng)的軟件設(shè)計25</p><p> 4.1 LABVIEW簡介25</p>&l
16、t;p> 4.2下位機主程序流程圖28</p><p> 4.3上位機流程圖29</p><p> 4.4 按鍵中斷函數(shù)流程圖29</p><p> 4.5 CAN總線程序30 </p><p> 4.6 本章小結(jié)44</p><p> 第5章 系統(tǒng)測試45</p><
17、;p> 5.1 整體概述45 </p><p><b> 5.2 測試46</b></p><p> 5.3 本章小結(jié)53</p><p><b> 結(jié)論54</b></p><p><b> 參考文獻55</b></p><p&
18、gt;<b> 致謝56</b></p><p> 附錄A 英文原文57</p><p> 附錄B 英文翻譯64</p><p> 買文檔送全套CAD圖紙,扣扣414951605 </p><p><b> 第1章 緒論</b></p><p> 1.1課
19、題研究的目的和意義</p><p> 傳統(tǒng)的汽車儀表只能為駕駛員提供汽車運行中必要而又少量的數(shù)據(jù)信息。然而隨著汽車電子技術(shù)的發(fā)展,它已經(jīng)漸漸不能滿足現(xiàn)代汽車對于汽車儀表的功能需要。因為目前對汽車儀表的要求,已經(jīng)不僅僅滿足于單純的完成指示工作了,而且還要求汽車儀表能夠?qū)崿F(xiàn)對汽車各部件參數(shù)的監(jiān)測,而達到控制汽車各種運行工況的目的。在未來,自動導航和定位系統(tǒng)會漸漸成為汽車儀表的必不可少的配置,而且多媒體等娛樂技術(shù)也
20、會嵌入到汽車儀表當中。所以說,汽車儀表的發(fā)展趨勢一定是向著全數(shù)字儀表的方向去發(fā)展的。</p><p> 儀表是汽車工作狀態(tài)的信息顯示中心,是駕駛員與汽車進行信息交流的平臺,是保證汽車安全行駛的關(guān)鍵零部件之一。近年來隨著微電子技術(shù)、控制技術(shù)、網(wǎng)絡(luò)通信技術(shù)的發(fā)展,CAN總線協(xié)議在車載電控系統(tǒng)中得到了廣泛應用,因此汽車儀表可通過CAN總線直接在總線網(wǎng)絡(luò)上讀取所需的輸入信號,無須專門布置傳感器,從而可使汽車儀表系統(tǒng)得到
21、大大簡化,同時也顯著降低了儀表的成本。因此,將CAN總線通信應用于汽車儀表已成為發(fā)展的必然趨勢。</p><p> 本設(shè)計選用16位微控制器MC9S12XS128,將儀表與微處理器、CAN總線技術(shù)融合,基于CAN總線網(wǎng)絡(luò)的汽車儀表將代替原有的機械式儀表、電氣式儀表和模擬電路電子儀表,把各參數(shù)的測量數(shù)字化,有利于和汽車其它的電子集中控制系統(tǒng)進行數(shù)據(jù)交換,有利于汽車集中控制系統(tǒng)的發(fā)展和實現(xiàn),此外還使得汽車儀表的功耗
22、、安全性、可靠性、舒適性得到更好的提高。通過調(diào)整電路參數(shù)還可適應不同種類和量程的產(chǎn)品需求,使得汽車儀表在結(jié)構(gòu)的通用化、模塊化、標準化、系列化程度大大提高,進而簡化了生產(chǎn)工藝和制造設(shè)備。</p><p> 1.2汽車儀表的發(fā)展</p><p> 根據(jù)儀表的工作原理、內(nèi)部結(jié)構(gòu)和顯示方式,汽車儀表的發(fā)展過程可以分為以下四個階段[1]:</p><p> 1.傳統(tǒng)儀表
23、階段。這一階段是從20世紀初到20世紀30年代,在此階段中汽車開始安裝各種儀表,如車速里程表、水溫表、燃油表、機油壓力表、電流表(電壓表)和發(fā)動機轉(zhuǎn)速表等,這些確定了現(xiàn)代汽車儀表板的基本結(jié)構(gòu)。</p><p> 這一階段汽車上的傳感器和儀表基本上都是機械式/電磁機械式的,是基于機械作用力而工作的機械式儀表,所以也稱機械機芯表。這種汽車儀表功能單一,僅僅顯示傳感器的信息以向駕駛員提供自身的狀態(tài)參數(shù),更多的是為安全
24、性著想,信息量少,整個儀表系統(tǒng)的精度低,可靠性較差,體積較大,容易使駕駛員疲勞。</p><p> 2.電氣式儀表階段。這一階段從20世紀40年代到50年代,儀表功能實現(xiàn)不再僅僅依靠機械作用力,而是基于電測原理,即通過各類傳感器將被測的非電量變換成電信號加以測量,稱之為電氣式儀表。</p><p> 電氣式儀表中常用的是磁電式儀表,其作用原理是永久磁鐵在氣隙中產(chǎn)生的磁場和可動線圈通入電
25、流后,相互作用而產(chǎn)生的旋轉(zhuǎn)力矩。磁電式儀表多用于測量電流和電壓,加上變換器可以進行多種非電量的測量,如溫度、壓力等。磁電式儀表的性能穩(wěn)定,讀數(shù)精確,量限多,使用方便,適應于直流電路的精密測量和實驗室中的標準測量儀表。但是其存在的最大缺陷就是隨著環(huán)境溫度的改變,測量誤差變大。</p><p> 3.現(xiàn)代電子儀表階段,也稱模擬電路電子式儀表。第3代汽車用儀表工作原理與電氣式儀表基本相同,只不過是用電子器件取代原來的
26、電氣器件,其出現(xiàn)的時間大致在20世紀50~60年代。</p><p> 隨著集成電路技術(shù)突飛猛進的發(fā)展,這種儀表現(xiàn)在均采用汽車儀表專用集成電路,是國內(nèi)汽車儀表目前主流產(chǎn)品,目前國內(nèi)大多數(shù)汽車還是采用這種結(jié)構(gòu)的儀表。經(jīng)過多年的發(fā)展,其結(jié)構(gòu)形式經(jīng)歷了動圈式機心和動磁式機心階段,圍繞著提高指示精度和指針平穩(wěn)性,動磁式代替了動圈式[2]。</p><p> 4.步進電機式全數(shù)字汽車儀表。全數(shù)字
27、式汽車儀表在國外從80年代末就己經(jīng)開始研究,在國內(nèi)直到最近才開始對其重視。從其應用技術(shù)手段上看,還是電子技術(shù)范疇,也屬于電子式儀表,但是信號傳輸方式己經(jīng)從模擬信號變成數(shù)字信號,并朝著數(shù)字化、智能化、網(wǎng)絡(luò)化、虛擬化方向發(fā)展。其應用特點是單片機與微處理器的廣泛應用,同時軟件程序在系統(tǒng)設(shè)計方案中占的比重也越來越大,內(nèi)部程序的編寫取代了外圍電路的連接閉。與傳統(tǒng)的模擬儀表相比較具有:使用壽命長、精度高、可靠性好、抗干擾性強等特點。</p&g
28、t;<p> 1.3 CAN總線技術(shù)推動汽車儀表的升級換代</p><p> 隨著汽車電子技術(shù)的飛速發(fā)展,將汽車工業(yè)推入了一個全新的時代。由于汽車排放、節(jié)能、安全和舒適性等使用性能不斷提高,使得汽車電子控制程度也越來越高。汽車電子裝置發(fā)展的一個重要趨勢,是大量使用微型計算機來提高汽車的性能。目前,平均每輛車上汽車電子裝置的費用約占整車成本的 20%,而且越是高檔的轎車電子化程度越高。有的豪華轎車
29、已經(jīng)使用了48個單片微型計算機。汽車電子控制裝置的增多,</p><p> 使得連接汽車電子控制裝置之間導線也變得更為復雜[3]。因此,解決現(xiàn)代汽車中眾多控制裝置和電子儀表之間的數(shù)據(jù)交換問題,以及車載電子裝置之間的數(shù)據(jù)通信問題變得越來越重要,汽車儀表技術(shù)網(wǎng)絡(luò)化已經(jīng)成為汽車工業(yè)發(fā)展的必然趨勢。</p><p> 為解決該問題,德國 Bosch 公司在 80 年代初開發(fā)了一種串行數(shù)據(jù)總線,
30、CAN 總線。CAN總線是一種現(xiàn)場總線,通訊線可以是一根雙絞線、同軸電纜或光導纖維,將各種汽車電子裝置連接成為一個網(wǎng)絡(luò)[4]。它可以有效地支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。在這個系統(tǒng)中,各控制裝置獨立運行,控制和改善汽車某一方面的性能,同時可為其他控制裝置提供數(shù)據(jù)服務。以分布式控制系統(tǒng)為基礎(chǔ)構(gòu)造的汽車車載電子網(wǎng)絡(luò)系統(tǒng),由于 CAN 總線具有通信速率高、可靠性好、連接方便、多主站點、通訊協(xié)議簡單和性能價格比高等突出的優(yōu)點。如今,CA
31、N總線已成為汽車電子控制裝置之間通信的標準總線,在汽車分布式控制系統(tǒng)中得到了廣泛的應用。</p><p> 為使不同廠家生產(chǎn)的零部件能在同一輛汽車中協(xié)調(diào)工作,1993 年 11 月,ISO在充分考慮工業(yè)現(xiàn)場環(huán)境的背景下,正式頒布了CAN國際標準,為控制器局域網(wǎng)標準化、規(guī)范化推廣鋪平了道路。同時,CAN總線得到 Motorola、Intel、Philips 等著名半導體器件生產(chǎn)廠家的廣泛支持,他們紛紛推出了CAN
32、接口芯片與直接帶有CAN 控制器的微控制器(MCU)芯片,如 Intel 公司的82527,Philips公司的SJA1000,82C250 等。因此在接口芯片技術(shù)方面,CAN已遙遙領(lǐng)先于其它的現(xiàn)場總線,正逐步形成系列。到目前為至,世界上已擁有 20 多家 CAN總線控制器芯片生產(chǎn)商,110 多種 CAN 總線協(xié)議控制器芯片和集成CAN總線協(xié)議控制器的微控制器芯片。在儀表中的CAN應用,主要使用低速通訊接收汽車信息數(shù)據(jù),可以從其他ECU
33、接收實時的車速、轉(zhuǎn)速、剩余油量以及發(fā)動機水溫信號進行模擬指示;另外也可以接收如ABS、油壓等報警信息提示駕駛員。CAN在汽車中另外一個重要應用是診斷(Diagnosis),有專門利用CAN通訊的診斷儀提供給維修廠,汽車各電子控制部分的診斷信息,也可以通過</p><p> CAN總線是一種非常適于汽車環(huán)境的汽車局域網(wǎng),在現(xiàn)代汽車設(shè)計中,CAN已經(jīng)成為了必須采用的裝置,奔馳、寶馬、大眾、雷諾汽車都將 CAN 總線
34、作為控制器聯(lián)網(wǎng)的手段。在國內(nèi)汽車工業(yè)中,一些引進車型,如大眾的帕薩特和POLO、豐田“花冠”,福特嘉年華等中檔車中 CAN總線技術(shù)得到了廣泛的應用。由于我國中高級車以歐洲車型為主,因此隨著CAN總線技術(shù)的飛速發(fā)展,汽車儀表會進入一個全新的時代。</p><p> 1.4 研究的基本內(nèi)容</p><p> 1.基于LABVIEW軟件的汽車儀表設(shè)計。</p><p>
35、; 2.對汽車儀表的硬件部分進行設(shè)計。本文選用飛思卡爾MC9S12XS128單片機為微處理器。</p><p> 3.通過C語言編程和LABVIEW編程實現(xiàn)兩個CAN節(jié)點之間的通信以及單片機和PC機之間的通訊。</p><p> 4.對所設(shè)計的系統(tǒng)進行試驗。</p><p> 第2章 CAN總線原理</p><p><b>
36、; 2.1汽車總線</b></p><p> 汽車總線控制是汽車發(fā)展的趨勢,現(xiàn)代汽車的功能日新月異,而每增加一項功能都要增加相應的電氣連接,使得分布車體各處的電纜趨于龐大和昂貴,且導致設(shè)計、安裝、調(diào)試和維護的困難。傳統(tǒng)的電氣控制系統(tǒng)設(shè)計已不能滿足汽車對安全性、性能和便利性的要求這種技術(shù)進展,現(xiàn)場總線技術(shù)的應用就是這種進展導致的必然結(jié)果。</p><p> 汽車總線控制是汽
37、車產(chǎn)業(yè)的發(fā)展方向,要想進行總線控制,必須從軟件和硬件兩個方面著手,而使用嵌入式操作系統(tǒng)對軟硬件進行管理,不論是實時性還是從可靠性來講,都具有無可比擬的優(yōu)勢?,F(xiàn)在在汽車上使用的主要總線,CAN總線、LIN總線、FLEXRAY總線以及MOST總線[5]。</p><p><b> 2.2 CAN總線</b></p><p> 2.2.1 CAN總線簡介</p&g
38、t;<p> CAN是一種汽車產(chǎn)業(yè)中得到廣泛使用的數(shù)據(jù)與控制通信網(wǎng)絡(luò),是一種極具強韌性的電氣規(guī)范和協(xié)議,專門設(shè)計用于轎車或卡車中危險、常常無法預料的惡劣環(huán)境,而這種環(huán)境中有許多應用需要極高的可靠性和容錯能力。1986年2月,RobertBosch公司在SAE年會上介紹了一種新型的串行總線系統(tǒng)—CAN(Controller Area Network)。根據(jù)這個CAN協(xié)議,在1987年中期,Intel開發(fā)了首個CAN控制器—
39、82526。不久,Philips半導體也推出了82C200。這兩種CAN控制器在報文過濾和控制上有許多的不同。Philips半導體的方式叫BasicCAN;Intel的方式叫FullCAN,由此后的不斷發(fā)展,從而形成了FullCAN和BasicCAN兩大陣營。</p><p> 在20世紀90年代初,Bosch CAN規(guī)范(CAN 2.0)被提交給了國際標準化組織。經(jīng)過討論,應一些法國主要汽車商的要求,包含了吸
40、收一些VAN網(wǎng)(Vehicle Area Network)的內(nèi)容。并于1993年11月出版了正式的CAN國際標準ISO11898[6]。從此CAN協(xié)議被廣泛的用于各類自動化控制領(lǐng)域。在1992年,奔馳公司首先在他們的高級轎車上使用了CAN技術(shù)。這是CAN技術(shù)在車載網(wǎng)絡(luò)系統(tǒng)中的首次實際使用。</p><p> CAN網(wǎng)絡(luò)是現(xiàn)場總線技術(shù)的一種,它是一種架構(gòu)開放、廣播式的新一代網(wǎng)絡(luò)通信協(xié)議,稱為控制器局域網(wǎng)現(xiàn)場總線,
41、是國際上應用最廣泛的現(xiàn)場總線之一。隨著汽車電子技術(shù)的不斷發(fā)展,汽車上各種電子控制單元的數(shù)目不斷增加,連接導線顯著增加,因而提高控制單元間通訊可靠性和降低導線成本已成為迫切需要解決的問題。CAN推出之初是用于汽車內(nèi)部測量和執(zhí)行部件之間的數(shù)據(jù)通信。例如汽車剎車、防抱死系統(tǒng)、安全氣囊等。機動車輛總線和對現(xiàn)場總線的需求有許多相似之處,即能夠以較低的成本、較高的實時處理能力在強電磁干擾環(huán)境下可靠地工作。CAN總線可廣泛應用于離散控制領(lǐng)域中的過程監(jiān)
42、測和控制,特別是工業(yè)自動化的底層監(jiān)控,以解決控制與測試之間的可靠和實時數(shù)據(jù)交換。CAN總線能有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),具有抗干擾性強和使用可靠等優(yōu)點,現(xiàn)在廣泛應用于汽車工業(yè)、航空工業(yè)和工業(yè)控制等自動化領(lǐng)域,如分布式環(huán)境監(jiān)測系統(tǒng)、溫室環(huán)境監(jiān)控系統(tǒng)、變電站變監(jiān)測系統(tǒng)等,CAN總線可在同一網(wǎng)絡(luò)上連接多種不同功能的傳感器(如位置,溫度或壓力等)。</p><p> 總線上的每個CAN組件都分配有一個軟
43、件賦值的ID??偩€在邏輯上等效于線與功能,可以被任意一個試圖發(fā)送數(shù)據(jù)的組件拉低。發(fā)送時脈是由發(fā)送組件產(chǎn)生的,因此所有接收組件必須重建時脈和數(shù)據(jù)位。組件之間傳送的數(shù)據(jù)遵循標準的CAN通訊格式,其中包括目的組件ID、控制和數(shù)據(jù)信息負荷以及CRC。最終指定的接收器將把總線拉低以確認收到一個完整的、CRC正確的訊框,然后釋放總線使之回到空閑狀態(tài)。每個試圖發(fā)送的組件在發(fā)送之前首先要檢查總線是否處于空閑狀態(tài)。如果出現(xiàn)多個組件試圖同時發(fā)送的情況,并且
44、總線上數(shù)據(jù)出錯時它們必須相互偵聽,先后退一段時間然后再嘗試發(fā)送。</p><p> CAN總線是一種串行多主站控制器局域網(wǎng)總線,是一種有效支持分布式控制或?qū)崟r控制的串性通訊網(wǎng)絡(luò)。CAN總線的通信介質(zhì)可以是雙絞線,同軸電纜或光導纖維,通信速率可達1Mbps/40m,通信距離可達10Km/40Kbps。由于其通信速率高,可靠性好以及價格低廉等特點,使其特別適合中小規(guī)模的工業(yè)過程監(jiān)控設(shè)備的互連和交通運載工具電氣系統(tǒng)中
45、?,F(xiàn)代汽車典型的控制單元有電控燃油噴射系統(tǒng),電控傳動系統(tǒng),防抱死制動系統(tǒng)(ABS),防滑控制系統(tǒng)(ASR),廢氣再循環(huán)系統(tǒng),巡航系統(tǒng)和空調(diào)系統(tǒng),車身電子控制系統(tǒng)(包括照明指示和車窗,刮雨器等)。</p><p> 2.2.2 CAN總線基本特點</p><p> CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對數(shù)據(jù)的成幀處理,用戶可在其基
46、礎(chǔ)上開發(fā)適應系統(tǒng)實際需要的應用層通信協(xié)議[7]。</p><p> CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊編碼,采用這種方法可使網(wǎng)絡(luò)內(nèi)節(jié)點個數(shù)在理論上不受限制,還可使不同的節(jié)點同時收到相同的數(shù)據(jù)。CAN采用非破壞性仲裁技術(shù),當兩個節(jié)點同時向網(wǎng)絡(luò)上傳送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突,節(jié)省了總線沖突仲裁時間;CAN
47、采用短幀結(jié)構(gòu),數(shù)據(jù)段長度最多為8個字節(jié),每一幀的有效字節(jié)數(shù)為8個(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時間短,受干擾的概率低,重新發(fā)送的時間短,8個字節(jié)不會占用總線時間過長,從而保證了通信的實時性。CAN的每幀數(shù)據(jù)都有CRC效驗及其他檢錯措施,保證了數(shù)據(jù)傳輸?shù)母呖煽啃?,適于在高干擾環(huán)境中使用;CAN節(jié)點在錯誤嚴重的情況下,具有自動關(guān)閉總線的功能,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響;CAN是一種多主總線,即每個節(jié)點機均可成為主機
48、,且節(jié)點機之間也可進行。</p><p> 通信網(wǎng)絡(luò)上任意節(jié)點均可以在任意時刻主動地向總線上其它節(jié)點發(fā)送信息,可以點對點、一點對多點(成組)及全局廣播集中方式傳送和接受數(shù)據(jù);CAN總線提供高速數(shù)據(jù)傳送,通信介質(zhì)可以是雙絞線、同軸電纜或光導纖維,在短距離(40m)條件下具有高速(1Mbit/s)數(shù)據(jù)傳輸能力,而在最大距離10000m時具有低速(5kbits/s)傳輸能力,采用不歸零碼(NRZ-Non-Return
49、-to-Zero)編碼/解碼方式,并采用位填充(插入)技術(shù)。</p><p> 2.2.3 CAN總線介質(zhì)通訊訪問方式</p><p> CAN采用了的3層模型:物理層、數(shù)據(jù)鏈路層和應用層。CAN支持的拓撲結(jié)構(gòu)為總線型。傳輸介質(zhì)為雙絞線、同軸電纜和光纖等。采用雙絞線通信時,速率為1Mbps/40m,50Kbps/10Km,結(jié)點數(shù)可達110個。CAN的通信介質(zhì)訪問為帶有優(yōu)先級的CS-MA
50、/CA。采用多主競爭方式結(jié)構(gòu),網(wǎng)絡(luò)上任意節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息,而不分主從,即當發(fā)現(xiàn)總線空閑時,各個節(jié)點都有權(quán)使用網(wǎng)絡(luò)。在發(fā)生沖突時,采用非破壞性總線優(yōu)先仲裁技術(shù),當幾個節(jié)點同時向網(wǎng)絡(luò)發(fā)送消息時,運用逐位仲裁原則,借助幀中開始部分的表示符,優(yōu)先級低的節(jié)點主動停止發(fā)送數(shù)據(jù),而優(yōu)先級高的節(jié)點可不受影響的繼續(xù)發(fā)送信息,從而有效地避免了總線沖突,使信息和時間均無損失。例如,規(guī)定0的優(yōu)先級高,在節(jié)點發(fā)送信息時,CAN總
51、線作與運算。每個節(jié)點都是邊發(fā)送信息邊檢測網(wǎng)絡(luò)狀態(tài),當某一個節(jié)點發(fā)送1而檢測到0時,此節(jié)點知道有更高優(yōu)先級的信息在發(fā)送,它就停止發(fā)送信息,直到再一次檢測到網(wǎng)絡(luò)空閑。</p><p> CAN的傳輸信號采用短幀結(jié)構(gòu)(有效數(shù)據(jù)最多為8個字節(jié))和帶優(yōu)先級的CS-MA/CA通信介質(zhì)訪問控制方式,對高優(yōu)先級的通信請求來說,在1Mbps通信速率時,最長的等待時間為0.15ms,完全可以滿足現(xiàn)場控制的實時性要求。CAN突出的差
52、錯檢驗機理,如5種錯誤檢測、出錯標定和故障界定;CAN傳輸信號為短幀結(jié)構(gòu),因而傳輸時間短,受干擾概率低,這些保證了出錯率極低。另外,CAN節(jié)點在嚴重錯誤的情況下,具有自動關(guān)閉輸出的功能,以使總線上其它節(jié)點的操作不受其影響。</p><p> CAN的通信協(xié)議主要有CAN總線控制器完成。CAN控制器主要由實現(xiàn)CAN總線協(xié)議部分和微控制器接口部分電路組成。通過簡單的連接即可完成CAN協(xié)議的物理層和數(shù)據(jù)鏈路層的所有功
53、能,應用層功能由微控制器完成。CAN總線上的節(jié)點即可以是基于微控制器的智能節(jié)點,也可以是具有CAN接口的I/O器件[8]。</p><p> 2.2.4 CAN總線物理層設(shè)計 </p><p> CAN總線協(xié)議對物理層沒有嚴格定義,給使用者較大的靈活性,同時也給設(shè)計者帶來了困難。CAN總線物理層的設(shè)計原則是:針對CTXO的輸出狀態(tài)顯性、隱性,總線應具有兩種不同電平,接收端呈現(xiàn)(顯性和隱
54、性)兩種狀態(tài)。不要求總線必須是數(shù)字邏輯電平,只要是能夠呈現(xiàn)兩種電平(顯性和隱性)的模擬量,滿足上述設(shè)計原則就可以。</p><p> CAN控制器芯片的片內(nèi)輸出驅(qū)動器和輸入比較器可編程,它可方便地提供多種發(fā)送類型,諸如:單線總線、雙線總線(差分)和光纜總線。它可以直接驅(qū)動總線,若網(wǎng)絡(luò)的規(guī)模比較大,節(jié)點數(shù)比較多,需要外加總線驅(qū)動元件,以增大輸出電流。用CAN收發(fā)器作為CAN控制器和物理總線之間的接口,提供向總線的
55、差動發(fā)送能力和對CAN控制器的差動接收能力。一般在驅(qū)動芯片和CAN控制器之間加入光電耦合器,增加抗干擾能力。CAN總線的速度將由光電耦合器的速度決定。比如:用4N27光耦,因為它的響應速度比較慢,CAN網(wǎng)絡(luò)的位速度只能達到幾十Kbit/S。如果采用6N137高速光電耦合器,CAN網(wǎng)絡(luò)速度可以達到和電阻網(wǎng)絡(luò)驅(qū)動時的速度一樣。</p><p> 2.2.5 CAN應用軟件設(shè)計原則</p><p&
56、gt; CAN控制器其內(nèi)部硬件實現(xiàn)CAN總線物理層和數(shù)據(jù)鏈路層的所有協(xié)議內(nèi)容,有關(guān)CAN總線的通信功能均由CAN控制器自動管理執(zhí)行。CAN控制器對于CPU來說,是以確保雙方獨立工作的存儲影像外圍設(shè)備出現(xiàn)的。CAN控制器的地址域由控制段和報文緩存器組成,在初始化向下加載期間,控制段可被編程以配置通信參數(shù)。CAN總線上的通信也通過此段由CPU控制,被發(fā)送的報文必須寫入發(fā)送緩存器,成功接收后,CPU可以從接收緩存器讀取報文,然后釋放它,以備
57、下次使用。對于在片的CAN控制器,它與CPU之間的接口一般借助于4個特殊寄存器:CAN地址寄存器、數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器。對于單獨的CAN控制器,MCU可以通過其地址總線對其寄存器直接尋址,就像MCU對一般外部RAM尋址一樣。通過對這些寄存器編程操作,可很方便控制CAN控制器完成通訊功能。</p><p><b> 2.3汽車其他總線</b></p><p&
58、gt; 2.3.1 LIN總線簡介</p><p> LIN總線是用于車體控制應用的新興標準,用于汽車中分布電子系統(tǒng)的新型低成本串行通訊系統(tǒng),它是現(xiàn)有汽車多重傳輸網(wǎng)絡(luò)的補充。LIN瞄準一些低端應用,在這些應用中每個節(jié)點的通訊成本都必須大大低于CAN而且不需要CAN的高性能、高帶寬和多功能。LIN相對于CAN的成本節(jié)省主要是由于采用單線傳輸、硅片中硬件或軟件的低實現(xiàn)成本和無需在從屬節(jié)點中使用石英或陶瓷諧振器。L
59、IN總線是一種串行通信網(wǎng)絡(luò),可以將開關(guān)、顯示器、傳感器和執(zhí)行器等簡單控制設(shè)備連接起來,主要用于汽車中的分布式電子控制系統(tǒng)。LIN采用單主機/多從機的總線拓撲結(jié)構(gòu)(沒有總線仲裁),僅使用一根12V信號總線。主節(jié)點包含主任務和從任務,從節(jié)點只包含從任務。它不需要專門的片上通訊模塊,采用標準串行通信接口USART,速率可達20kbps,總線長度不大于40m。</p><p> LIN總線作為一種輔助的總線網(wǎng)絡(luò),在不需
60、要CAN總線的優(yōu)越性能的場合,相比于CAN總線具有更高的性價比LIN瞄準一些低端應用,在這些應用中每個節(jié)點的通訊成本都必須大大低于CAN而且不需要CAN的高性能、高帶寬和多功能。LIN是關(guān)于汽車本地互連網(wǎng)絡(luò)的一個總體通訊概念。該規(guī)范包含協(xié)議的定義、物理層以及用于開發(fā)工具和應用軟件的接口定義。對于不需要控制器局域網(wǎng)絡(luò)的高帶寬和多種功能的應用,LIN實現(xiàn)了一種具有成本效益的智能傳感器和執(zhí)行器的通訊方式。這種通訊是基于串行通訊接口(SCI)、
61、數(shù)據(jù)格式、單宿主/多從概念、單線12V總線和沒有穩(wěn)定時間基的節(jié)點的時鐘同步。低端多路通訊的汽車標準不久前才出現(xiàn)。LIN協(xié)會開發(fā)了一個串行低成本通訊概念和開發(fā)環(huán)境的標準,采用這個標準,汽車制造商及其供應商能以非常經(jīng)濟的方式創(chuàng)建、實現(xiàn)和處理復雜的分層化多路復用系統(tǒng)。</p><p> LIN規(guī)范包含傳輸協(xié)議、傳輸介質(zhì)以及用于開發(fā)工具和應用軟件的接口。LIN在硬件和軟件方面支持網(wǎng)絡(luò)節(jié)點的互操作性并具有可預測的電磁兼容
62、(EMC)行為。這個概念可以實現(xiàn)無縫的開發(fā)和設(shè)計工具鏈并提高了開發(fā)速度和網(wǎng)絡(luò)的可靠性。LIN瞄準一些低端應用,在這些應用中每個節(jié)點的通訊成本都必須大大低于CAN而且不需要CAN的高性能、高帶寬和多功能。LIN相對于CAN的成本節(jié)省主要是由于采用單線傳輸、硅片中硬件或軟件的低實現(xiàn)成本和無需在從屬節(jié)點中使用石英或陶瓷諧振器。這些優(yōu)點是以較低的帶寬和受局限的單宿主總線訪問方法為代價的。</p><p> 2.3.2
63、FLEXRAY總線簡介</p><p> FlexRay標準在車內(nèi)通信網(wǎng)絡(luò)中具有較大優(yōu)勢和廣泛的潛在應用機會。在FlexRay協(xié)議制定5年后,該協(xié)議規(guī)范的第二版(V2.1)在2005年春季發(fā)布。由于新技術(shù)能實現(xiàn)經(jīng)濟高效的新應用,整個行業(yè)對這個標準產(chǎn)生了濃厚的興趣,F(xiàn)lexRay提供了傳統(tǒng)車內(nèi)通信協(xié)議所不具備的大量特性,包括:2×10Mbps的數(shù)據(jù)速率,F(xiàn)lexRay支持兩個通信信道,每個信道的速度達到
64、10Mbps。與CAN協(xié)議相比,將可用帶寬提高10-40倍,具體大小取決于配置和對比模式的不同。FlexRay中使用的訪問方法是基于同步時基的。該時基通過協(xié)議自動建立和同步,并提供給應用。時基的精確度介于0.5us和10us之間(通常為1-2us)。知道消息的到達時間,通信是在不斷循環(huán)的周期中進行的,特定消息在通信周期中擁有固定位置,因此接收器已經(jīng)提前知道了消息到達的時間。到達時間的臨時偏差幅度會非常小,并能得到保證。</p>
65、;<p> 冗余和非冗余通信為了增強系統(tǒng)的可用性,F(xiàn)lexRay提供了冗余傳輸消息的選項。消息能夠冗余傳輸,但并不是所有消息都必須冗余傳輸,否則會導致帶寬的過多損耗。在FlexRay協(xié)議的開發(fā)過程中,關(guān)注的主要問題是靈活性。不僅提供消息冗余傳輸或非冗余傳輸兩種選擇,系統(tǒng)還可以進行優(yōu)化,以提高可用性(靜態(tài)帶寬分配)或吞吐量(動態(tài)帶寬分配)。用戶還可以擴展系統(tǒng),而無需調(diào)整現(xiàn)有節(jié)點中的軟件。同時,還支持總線或星型拓撲。Flex
66、Ray提供了大量配置參數(shù),可以支持對系統(tǒng)進行調(diào)整,如通信周期的持續(xù)時間、消息長度等,以滿足特定應用的需求。</p><p> FlexRay適合于很多應用領(lǐng)域,替代CAN總線在數(shù)據(jù)速率要求超過CAN的應用中,人們現(xiàn)在同時使用了兩條或多條CAN總線。FlexRay是替代這種多總線解決方案的理想技術(shù)。骨干網(wǎng)絡(luò)FlexRay具有很高的數(shù)據(jù)速率,因而非常適合于汽車骨干網(wǎng)絡(luò),用于連接多個獨立網(wǎng)絡(luò)。實時應用,分布式控制系統(tǒng)
67、用戶可以提前知道消息到達時間,消息周期偏差非常小,這使得FlexRay成為具有嚴格實時要求的分布式控制系統(tǒng)的首選技術(shù)。面向安全的系統(tǒng)FlexRay本身不能確保系統(tǒng)安全,但它具備大量功能,可以支持面向安全的系統(tǒng)(如線控系統(tǒng))設(shè)計。</p><p> 2.3.3 MOST總線簡介</p><p> MOST是汽車業(yè)合作的成果,是車內(nèi)多媒體通訊的一個協(xié)議,但是不具備正式的標準,最初構(gòu)想始于9
68、0年代中期,作為寶馬公司、戴姆勒克萊斯勒(DaimlerChrysler)公司、Harman/Becker公司(音響系統(tǒng)制造商)和OasisSilicon Systems公司之間的一項聯(lián)合。(1998年),參與各方建立了一個自主的實體,即MOST公司,由它控制總線的定義工作。MOST定義標準OSI模型的所有七層,對汽車多媒體環(huán)境作了高度的優(yōu)化,對要處理的主要流量類型規(guī)定了信號類別。</p><p> 在物理層上
69、傳輸介質(zhì)本身是有塑料保護套、內(nèi)芯為1mm的PMMA(聚甲基丙烯酸甲酯)光纖,OEM供應商可將一束光纖像電線一樣捆成光纜。光纖傳輸采用650nm(紅色)的LED發(fā)射器。</p><p> MOST的定義是非常普通的,允許采用多種拓撲結(jié)構(gòu),包括星形和環(huán)形,大多數(shù)汽車裝置都采用環(huán)形布局。一個MOST網(wǎng)絡(luò)中最多可以有64個結(jié)點。一旦汽車接通電源,網(wǎng)絡(luò)中的所有MOST結(jié)點就全部激活。MOST結(jié)點在通電時的默認狀態(tài)是直通(
70、Pass-throught),即進入的數(shù)據(jù)從接收器直接傳送至發(fā)器,以保持環(huán)路的暢通。MOST的數(shù)據(jù)傳送使用512b的幀,以及16個幀的塊。幀的重復率為44.1kHz每幀22.67ms,每個幀內(nèi)除了前導碼和其它內(nèi)部管理位以外,還包含有同步、異步和控制數(shù)據(jù)。總線是完全同步的,可將網(wǎng)絡(luò)內(nèi)的任何設(shè)備指定為主設(shè)備,其它所有結(jié)點都從主設(shè)備處獲得自己的時鐘。網(wǎng)絡(luò)完全是即插即用的,當上電或有連接改變時,主結(jié)點上保持著一個所連設(shè)備的中心注冊處。</
71、p><p> 2.3.4 汽車總線比較</p><p> LIN為CAN的補充,兩者一般結(jié)合使用,與CAN總線相比,LIN總線控制方式的成本較低是最大的優(yōu)勢;從高容錯性的比較而言,CAN總線的目標應用是汽車的高速和多路數(shù)據(jù)通信。目前,CAN仍然是汽車電子控制中可靠性最高的總線,F(xiàn)lexray是它的升級,但是目前成本還很高,不能實際應用。MOST主要用于音視頻流傳輸?shù)幕诠饫w的總線,不能用于
72、控制[9]。</p><p> LIN專門應用于低端系統(tǒng),作為CAN的輔助網(wǎng)絡(luò)或子網(wǎng)絡(luò)。在不需要CAN總線的帶寬和多功能的場合,比如智能傳感器和制動裝置之間的通信,使用LIN總線可以大大節(jié)省成本。未來整個網(wǎng)絡(luò)將是CAN、LIN、MOST三網(wǎng)合一的整體。MOST負責音視頻,CAN負責重要的電子控制單元,如發(fā)動機、ABS、安全氣囊等,LIN負責次要的電子控制單元,如門窗、車燈等。FlexRay能夠把所有系統(tǒng)連接在一
73、起,同時為汽車系統(tǒng)以一個整體而不是分散的多個系統(tǒng)工作提供了機會。使用FlexRay后,汽車的安全系統(tǒng)將從這一全新的整合中獲益,從而顯著提高汽車的安全性能。FlexRay將會逐漸取代CAN而成為未來車內(nèi)網(wǎng)絡(luò)的主流技術(shù)。</p><p> 2.4 汽車通訊協(xié)議</p><p> 2.4.1 SAE J1939通訊協(xié)議</p><p> SAE J1939通信協(xié)議使
74、汽車電子產(chǎn)品的開發(fā)變得簡捷、快速。所有在SAEJ1939規(guī)范中定義的通訊裝置都可用該軟件來實現(xiàn),從而使汽車電子產(chǎn)品開發(fā)者能夠集中精力進行自己應用軟件的開發(fā)。這種基于OSI層模型的協(xié)議軟件具有標準組件的結(jié)構(gòu),這種結(jié)構(gòu)最適于移植到特殊的目標系統(tǒng)。例如,訪問CAN控制器通過一個適當?shù)腃AN接口來實現(xiàn),該接口的功能包含在一個單獨的模塊之中。如果需要的話,該軟件能夠很容易地移植到不被支持的CAN控制器中。另外,通過配置文件,SAE J1939通信
75、協(xié)議棧能夠被精確地移植,完全適合特定應用的需要,因此要求這種通信協(xié)議棧完全由C源代碼編寫。所提供的源代碼、文檔、例子程序使用戶能夠很快地應用SAE J1939軟件進行工作。所有的源代碼、例子程序都能夠在參考平臺上直接運行(重型車和客車組合儀表)。通常接入目標硬件能夠在幾天內(nèi)實現(xiàn),而借鑒例子程序,汽車電子產(chǎn)品開發(fā)者很容易完成自己的應用程序。</p><p> J1939協(xié)議棧完全實現(xiàn)SAE J1939協(xié)議,協(xié)議棧
76、處理了J1939網(wǎng)絡(luò)中涉及到的所有低端細節(jié),汽車電子產(chǎn)品開發(fā)只需要從應用層的角度實現(xiàn)應用即可。J1939協(xié)議棧實現(xiàn)OSI標準中定義的數(shù)據(jù)鏈路層及傳輸層,實現(xiàn)J1939協(xié)議為傳輸報文所附加的兩層[10]。協(xié)議棧的源代碼采用標準C語言編寫。通信協(xié)議棧配套有完整的開發(fā)文檔,可幫助汽車電子產(chǎn)品開發(fā)者迅速理解整套代碼。</p><p> 協(xié)議棧包括數(shù)據(jù)鏈路層、傳輸層、網(wǎng)絡(luò)管理層、過濾層。數(shù)據(jù)鏈路層:CAN控制芯片實現(xiàn)了幾
77、乎全部的數(shù)據(jù)鏈路層內(nèi)容,但J1939對該層進行了一些修改,如對ID號重新進行了定義,J1939只支持擴展幀模式。傳輸層:這是最復雜的一層,需要根據(jù)J1939協(xié)議實現(xiàn)接收和發(fā)送報文的算法規(guī)則。本層有兩種傳輸模式,廣播通訊(TP-BAM)及連接管理(TP-CM)。J1939通信協(xié)議棧需要完全支持這兩種傳輸模式。網(wǎng)絡(luò)管理層:該層不屬于OSI標準的一部分,但對于采用J1939協(xié)議通訊的設(shè)備很重要。網(wǎng)絡(luò)管理層支持所有的J1939網(wǎng)絡(luò)管理功能,如地
78、址聲明及地址請求。用戶所要實現(xiàn)的J1939設(shè)備類型對這一層的具體實現(xiàn)方法是有影響的,J1939協(xié)議定義了不同的設(shè)備類型以及該類型設(shè)備與網(wǎng)絡(luò)連接的具體操作標準。過濾層:該層允許用戶應用程序根據(jù)報文的PGN或目的地址進行接收濾波。將J1939協(xié)議棧轉(zhuǎn)換到應用硬件平臺,將J1939協(xié)議棧成功應用在需要的硬件平臺上,汽車電子產(chǎn)品開發(fā)只需要完成硬件抽象層(HAL)程序的編寫,該程序由用戶采用的CAN物理器件決定[11]。協(xié)議棧將向目標重型車和客車
79、組合儀表提供完善的文檔信息,以幫助用</p><p> 議棧的主要功能:傳送和接收特殊的請求信息(已知的和未知的),處理大規(guī)模數(shù)據(jù)塊的傳輸協(xié)議(面向信息和用戶的),同時通訊到若干個可能的節(jié)點,支持結(jié)點地址動態(tài)定義的"地址需求"處理目標硬件所需資源為一個自由定時器中斷,以實現(xiàn)協(xié)議的時間控制和CAN控制器的中斷控制。通過配置文件,SAE J1939協(xié)議軟件能夠被精確地向多種MCU硬件移植,完全適
80、合特定應用的需要。通信協(xié)議棧源代碼完全由標準ANSIC代碼編寫,可以和多種商業(yè)用實時操作系統(tǒng)配套使用。CAN控制器的編程和激活,啟動時地址聲明(Address Claiming)的傳輸,在啟動和以后操作過程中對地址聲明報文的響應,支持命令地址(Commanded Address)參數(shù)群(Parameter group),支持請求(Reques)參數(shù)群,聯(lián)接節(jié)點數(shù)據(jù)傳輸塊的獨立處理,廣播報文塊的獨立處理,自動傳輸和接收應用特定PG(app
81、lication-specific PGs)循環(huán)接收的超時監(jiān)控。</p><p> 2.4.2 CAN總線協(xié)議</p><p> CAN總線協(xié)議最早是由Bosch公司在20世紀80年代初為汽車應用而開發(fā)的。在CAN的概念形成之后,CAN所帶來的收益很快吸引了很多其它工業(yè)領(lǐng)域的應用,使之成為小型分布式實時系統(tǒng)所需的聯(lián)網(wǎng)方法之一。</p><p> 最新的CAN協(xié)
82、議2.0版有兩個不同的部分[12]:A部分(標準格式)和B部分(擴展格式)。A部分由以下三層組成:(1)對象層;(2)傳輸層;(3)物理層。對象層負責處理信息,比如選擇傳輸或接收信息,作為傳輸層和CPU上運行的應用程序之間的接口。傳輸層確保消息符合協(xié)議,而物理層實際發(fā)送和接收消息。B部分包括數(shù)據(jù)鏈路層和物理層。數(shù)據(jù)鏈路層依次由邏輯鏈路(LLC)子層和中間訪問子層(即MAC子層)組成。LLC子層、MAC子層以及物理層與CAN 2.0版A部
83、分中的對象層、傳輸層和物理層一一對應。圖2.1顯示了CAN 2.0中A、B部分的協(xié)議層。</p><p> 圖2.1 CAN 2.0A&B協(xié)議的ISO/OSI參考模型</p><p> CAN協(xié)議中獨有的特點是缺少消息的起始和目標地址,而是使用了內(nèi)嵌在每個消息中的標識符。這意味著一個節(jié)點可以在不改變網(wǎng)絡(luò)上任何已有軟件和硬件的情況下可連接到網(wǎng)絡(luò)上,并能使多個節(jié)點可以執(zhí)行同一個消息
84、,這樣就提供了多信道廣播(multicasting)的能力。</p><p> 網(wǎng)絡(luò)上的任何一個成員都可以在網(wǎng)絡(luò)上傳輸和請求消息。協(xié)議包括了一個直接仲裁技術(shù)和復雜的錯誤檢測機制。為了節(jié)約能源,協(xié)議同時支持睡眠模式和喚醒模式的節(jié)點操作。</p><p> 在CAN網(wǎng)絡(luò)總線上有四種不同的消息(幀):(1)數(shù)據(jù)幀;(2)遠程幀;(3)錯誤幀;(4)過載幀。數(shù)據(jù)幀包括多個子域,如圖2.2所示。
85、</p><p> 圖2.2 CAN數(shù)據(jù)幀</p><p> 開始域由一個單獨的支配位(邏輯0)組成。接收節(jié)點用這個位來同步數(shù)據(jù)的接收。仲裁域包括一個消息標識數(shù)字,接收節(jié)點用這個標識數(shù)字來決定接受或者拒絕一個特定的數(shù)據(jù)幀,這個標識有11位或者29位,前者對應于標準格式,后者對應于擴展格式。仲裁域也包括一個遠程傳輸請求(RTR)位來區(qū)別一個數(shù)據(jù)幀和遠程幀。對于數(shù)據(jù)幀,這個位必須為支配(邏
86、輯低),而遠程幀則必須為退讓(邏輯高)??刂朴蛴靡宰止?jié)為單位的四個位指定數(shù)據(jù)的長度。數(shù)據(jù)的長度用4個不同的位表示,允許數(shù)據(jù)長度為1~8個字節(jié)。數(shù)據(jù)域包含實際的傳輸信息。對于每個字節(jié),最高位先傳。循環(huán)冗余校驗(CRC)域用來測試接收數(shù)據(jù)的有效性。CRC域以CRC分隔符(退讓位)結(jié)束。應答域(ACK)包含了一個ACK槽發(fā)送一個支配位表示。ACK分隔符位是一個單獨的退讓位。幀的最后一個域由7個退讓位組成。</p><p&g
87、t; 接收點用遠程幀來請求重新傳輸一個數(shù)據(jù)幀。除了沒有數(shù)據(jù)域,遠程幀很像數(shù)據(jù)幀。仲裁域中的RTR位把遠程幀和數(shù)據(jù)幀區(qū)別開來,遠程幀的RTR域是退讓位,而數(shù)據(jù)幀是支配位。</p><p> 錯誤幀表明了CAN總線上發(fā)生了錯誤,如圖2.3所示。每個錯誤幀由一個錯誤標記和一個錯誤分隔符組成。錯誤標記域包含主動錯誤標記,即6個支配“0”位(由于CAN總線上的其它節(jié)點也能發(fā)送錯誤位,支配位的數(shù)量能最多達到12位);或包
88、含被動錯誤標記,即6個退讓“1”。錯誤分隔域由8個退讓位組成。</p><p> 圖2.3 CAN錯誤幀</p><p> 過載幀和錯誤幀格式相似,如圖2.4所示,過載標記由6個支配位組成。過載標記位產(chǎn)生的條件是:</p><p> (1)接收點不能在分配的時間內(nèi)處理有效幀而需要額外的時間;</p><p> (2)在幀間空間發(fā)現(xiàn)了支
89、配位。通過至少三個退讓位的幀間空間把CAN總線上的數(shù)據(jù)幀和遠程幀與其它幀分隔開來。過載分隔符由8個退讓位組成。</p><p> 圖2.4 CAN過載幀</p><p> 錯誤處理在消息傳輸過程中可能發(fā)生錯誤。當一個主動(發(fā)送消息)或者被動(接受消息)節(jié)點探測到錯誤,相應的節(jié)點就會發(fā)送前文描述的錯誤幀。若一個主動節(jié)點發(fā)送一個錯誤消息,錯誤標記成為主動錯誤標記;若一個被動節(jié)點發(fā)送一個錯誤
90、標記,相應的錯誤標記就成為被動錯誤標記。有5種可能的錯誤會造成發(fā)送錯誤幀:(1)位錯誤;(2)填充錯誤;(3)CRC錯誤;(4)構(gòu)成錯誤;(5)應答錯誤。</p><p> 當一個傳輸節(jié)點探測到一個傳輸?shù)娇偩€上的位和受監(jiān)控的同一位不一致時就會發(fā)生位錯誤。當一個消息域中6個連續(xù)的支配位或者6個連續(xù)的退讓位中包含錯誤時發(fā)生位填充錯誤。當接收方計算的CRC值和收到的CRC值不相符時發(fā)生CRC錯誤。當一個幀的子域包含無
91、效應位時發(fā)生構(gòu)成錯誤。最后,當ACK槽中的支配位不存在時發(fā)生應答錯誤。</p><p> 位定時如圖2.5所示,CAN總線中的每個位時間段分為4個部分:(1)同步段;(2)傳播時間段;(3)相位緩沖段1;(4)相位緩沖段2。</p><p> 一個位的邏輯狀態(tài)在相位緩沖段1之后采樣。同步段包含了一個上升沿跳變電壓,用來與總線上的節(jié)點同步。傳播時間段協(xié)調(diào)總線上的發(fā)送/接收延遲和信號傳播時
92、間。相位段1和相位段2可以變長或變短,用于總線上的位協(xié)調(diào)。</p><p> 圖2.5 標稱比特時間段</p><p><b> 2.5本章小結(jié)</b></p><p> 本章介紹了CAN總線汽車儀表的相關(guān)理論知識和協(xié)議規(guī)范。其中詳細描述了CAN總線協(xié)議以及在應用時應重點注意的事項,為后續(xù)進行CAN總線儀表硬件電路的開發(fā)設(shè)計奠定了基礎(chǔ)。
93、 </p><p> 第3章 汽車儀表系統(tǒng)的硬件設(shè)計</p><p> 在數(shù)字電子式的汽車儀表中,單片機是最主要的器件。汽車儀表的絕大部分外圍器件都是為單片機服務的。所以,單片機的功能決定了汽車儀表的功能?,F(xiàn)在,世界上有很多大公司為汽車儀表提供專用芯片。本文選用飛司卡爾公司的MC9S12XS128芯片作為主芯片,同時汽車儀表上除了主芯片之
94、外還有很多電子器件和功能芯片。本章將重點闡述這款芯片在應用到汽車儀表上時所涉及到的具體用法,以及電子器件與主芯片的電路連接方法以及功能芯片的外圍電路設(shè)計。</p><p> 3.1硬件系統(tǒng)的組成</p><p><b> CAN總線</b></p><p> 圖3.1 硬件系統(tǒng)組成</p><p> 3.2微處理
95、器的選擇</p><p> 因為單片機的片上資源非常寶貴,所以汽車儀表的芯片大都是專用芯片。針對汽車儀表的使用環(huán)境,世界上各大芯片生產(chǎn)商都爭相推出功能強大、價格合理的汽車儀表專用芯片。為汽車儀表提供芯片的供應商很多,有美國飛司卡爾(Freescale)公司的16位MC9S12系列芯片;美國Micronas公司的16位CDC16xyF系列芯片;富士通公司的16位MB90F428芯片;NEC電子公司的32位V850
96、E/Dx3芯片;德州儀器(TI)的32位TMS470芯片;瑞薩公司的基本型H8S/2282以及高端的H8SX/1544系列芯片;意法半導體(ST)公司的M29W320芯片[13]。</p><p> 從上面的介紹中可以知道,在整個裝置的硬件系統(tǒng)中,微處理器是最為核心的部分,所以它的選擇工作就顯得十分重要。在本設(shè)計中,選用了美國飛思卡爾(Freescale)生產(chǎn)的 MC9S12 系列的微處理器。</p>
97、;<p> 飛思卡爾半導體是全球領(lǐng)先的半導體公司,它的產(chǎn)品在汽車半導體產(chǎn)品市場占有量位居世界領(lǐng)先地位,并且已經(jīng)廣泛應用在了奔馳、寶馬、福特、現(xiàn)代和通用汽車之中。顯然,飛思卡爾的微處理器已經(jīng)經(jīng)過了市場檢驗,所以這款芯片對于完成本論文所需要的任務來說,更加顯得綽綽有余,所以更無需為它的工作性能、可靠性等因素提出擔心。</p><p> 從另一方面來講,要選擇一款芯片,就必須考慮它的經(jīng)濟性和實用性。由
98、于飛思卡爾公司的芯片功能強大,說明文擋豐富,而且價格適中,所以最終選中MC9S12XS128芯片作為本文設(shè)計用的主芯片。</p><p> 3.3 微處理器的介紹</p><p> 本次設(shè)計采用的微控制器為MC9S12XS128。MC9S12XS128是Freescale公司推出的S12系列微控制器中的一款增強型16位微控制器。其集成度高,片內(nèi)資源豐富,接口模塊包括SPI、SCI、II
99、C、A/D、PWM等,它不僅在汽車電子、工業(yè)控制、中高擋機電產(chǎn)品等應用領(lǐng)域具有廣泛的用途,而且在FLASH存儲控制及加密方面也有很強的功能[14]。</p><p> MC9S12XS128微控制器采用增強型16位S12CPU,片內(nèi)總線時鐘最高可達40MHz片內(nèi)資源包括8K RAM、128K Flash、6K EEPROM。SCI、SPI、PWM串行接口模塊。脈寬調(diào)制(PWM)模塊可設(shè)置成8路8位,可寬范圍的選
100、擇邏輯時鐘頻率。它還提供兩個8路10位精度A/D轉(zhuǎn)換器,控制器局域網(wǎng)模塊(CAN),增強型捕捉定時器,并支持背景調(diào)試模式。</p><p> 如圖3.2所示,MC9S12XS128系統(tǒng)結(jié)構(gòu)大致可以分為MCU核心和MCU外設(shè)兩部分。</p><p> 圖3.2 MC9S12XS128系統(tǒng)結(jié)構(gòu)圖</p><p><b> 1.MCU核心</b>
101、;</p><p> 該部分包括MCU的的三種內(nèi)存(FLASH、RAM、EEPROM);多電壓調(diào)整器,包括數(shù)字電路和模擬電路電源電壓;具有單線背景調(diào)試接口(BDM)和運行監(jiān)視功能的增強S12CPU;程序內(nèi)存的頁面模式控制;具有終端識別、讀寫控制、工作模式等。</p><p><b> 2.MCU外設(shè)</b></p><p> S12外設(shè)部
102、分包括:A/D轉(zhuǎn)換器,增強型定時與捕捉模塊(ECT),串行接口SPI、CAN等接口是許多微控制器所沒有的。</p><p> 3.4 msCAN總線模塊</p><p> msCAN 模塊是飛思卡爾 MC9S12 系列單片機中直接集成的 CAN 總線控制器。它是完全按照 CAN2.0A/B 的協(xié)議標準所設(shè)計開發(fā)的,支持標準幀和擴展幀格式數(shù)據(jù)的發(fā)送,同時也支持遠程幀的傳送。對于CAN總線
103、的通訊速率可以允許用戶編程設(shè)置,最大可以達到 1Mbps。msCAN 模塊設(shè)計了3個具有局部優(yōu)先級的發(fā)送緩沖器和5個擁有FIFO(先入先出)機制的接收緩沖器。在接受數(shù)據(jù)的時候,用戶可以靈活的對接受信息進行數(shù)據(jù)選擇過濾。當msCAN模塊做出發(fā)送,接受等一系列操作的時候,允許引起相應的中斷。</p><p> 圖3.3是msCAN模塊的系統(tǒng)結(jié)構(gòu)圖,從直接用戶的角度,并不需要了解其內(nèi)部工作的詳細機理,只需要從應用的角
104、度上去理解其詳細功能即可。從圖3.3中,對msCAN模塊直觀的感覺就是:它可以直接應用系統(tǒng)總線時鐘,也可以外接振蕩器時鐘。它一共可以引起 4 種類型的中斷,而且與外界聯(lián)系的引腳有兩個:RxCAN(接受信息)和TxCAN(發(fā)送信息)。</p><p> 圖3.3 MSCAN模塊結(jié)構(gòu)圖</p><p><b> 1.傳輸單元</b></p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于can總線的汽車儀表設(shè)計【畢業(yè)優(yōu)秀答辯資料】【全套】
- 【zs精品】基于can總線的汽車儀表設(shè)計【畢業(yè)優(yōu)秀答辯資料】【全套】
- 基于CAN總線的汽車儀表研究.pdf
- 基于CAN總線的汽車儀表設(shè)計開題報告.doc
- 基于CAN總線的汽車數(shù)字儀表系統(tǒng)設(shè)計.pdf
- 基于CAN總線的汽車智能儀表設(shè)計.pdf
- 基于ARM和CAN總線的汽車儀表設(shè)計.pdf
- 基于CAN總線的汽車儀表設(shè)計開題報告.doc
- 基于CAN總線的汽車組合儀表的設(shè)計.pdf
- 基于CAN總線的汽車儀表的研究與設(shè)計.pdf
- 基于can總線的汽車儀表設(shè)計【汽車類】【電路圖】【優(yōu)秀】
- 汽車can總線組合儀表設(shè)計開發(fā)的分析
- 基于can總線的汽車儀表設(shè)計【汽車類】【電路圖】【優(yōu)秀】
- 基于FPGA和CAN總線汽車數(shù)字儀表的ECU設(shè)計.pdf
- 基于CAN總線的汽車儀表設(shè)計說明書.doc
- 基于CAN總線的汽車儀表設(shè)計說明書.doc
- 基于CAN總線的新型汽車儀表系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于CAN總線的汽車智能儀表的開發(fā).pdf
- 基于CAN總線的汽車虛擬儀表系統(tǒng)研究與設(shè)計.pdf
- 基于CAN總線的混合動力汽車LCD儀表系統(tǒng).pdf
評論
0/150
提交評論