畢業(yè)設(shè)計--基于can總線的汽車電器網(wǎng)絡(luò)設(shè)計(含外文翻譯)_第1頁
已閱讀1頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  畢業(yè)設(shè)計</b></p><p>  基于CAN總線的汽車電器網(wǎng)絡(luò)設(shè)計</p><p><b>  摘 要</b></p><p>  隨著社會的發(fā)展,汽車逐漸成為人們生活中不可缺少的交通工具。電子裝置在汽車上的使用使汽車的駕駛更加舒適安全。為了滿足人們對于汽車性能越來越高的要求,汽車上裝備

2、的電子裝置、控制單元也在不斷增加,傳統(tǒng)的線束已遠(yuǎn)遠(yuǎn)不能滿足復(fù)雜的控制系統(tǒng)要求。汽車CAN總線技術(shù)的引入給汽車電子控制技術(shù)帶來了新的飛躍。CAN總線技術(shù)不僅滿足了車身控制的功能要求,而且可以降低成本、簡化車身冗余線束。</p><p>  本文提出了一種基于CAN總線的汽車電器網(wǎng)絡(luò)的設(shè)計方案。設(shè)計中采用了ATmega128作為主控制器,CAN模塊電路主要采用了CAN總線控制器SJA1000、總線驅(qū)動器PCA82C2

3、50以及高速光耦6N137,通過ATmega128控制工作在PeliCAN 模式下的SJA1000實現(xiàn)各ECU單元之間的通信。</p><p>  文中完成了系統(tǒng)軟件開發(fā),并在CAN2.0B通信協(xié)議以及車用CAN協(xié)議(SAEJ1939)的基礎(chǔ)上制定了基于車身控制模塊的應(yīng)用層協(xié)議;同時,為保證系統(tǒng)能夠穩(wěn)定、可靠地工作,文中針對系統(tǒng)工作中可能出現(xiàn)的干擾因素進(jìn)行了分析,并進(jìn)行了軟硬件的抗干擾設(shè)計。</p>

4、<p>  通過聯(lián)機(jī)調(diào)試,驗證了整個系統(tǒng)通信的可靠性,該網(wǎng)絡(luò)能夠較好地達(dá)到車內(nèi)總線對于信號傳輸?shù)膶崟r性與穩(wěn)定性的要求。</p><p>  關(guān)鍵詞:CAN總線; 控制網(wǎng)絡(luò);電子控制單元; 數(shù)據(jù)采集;數(shù)據(jù)傳輸</p><p><b>  ABSTRACT</b></p><p>  With the development of so

5、ciety, automobiles play a very important role in people’s daily life, and the electronic devices equipped in the vehicle make the driving more comfortable and safe. With the electronic device in vehicle increasing contin

6、uously, the traditional wiring harnesses can not satisfy the complex functions of the control system. As the CAN bus introduced into vehicle control system, great progress has taken in the areas of vehicle electron. By a

7、dopting CAN bus, the function of v</p><p>  A vehicle electrical network design based on CAN bus is brought forward in this paper to achieve the data transmission of the electric control units (ECU). In this

8、 design, the main controller uses ATmega128. The hardware circuit of CAN bus communication module adopts CAN bus control chip SJA1000, bus driver PCA82C250 and high-speed optical coupler 6N137. ATmega128 completes the da

9、ta transmission of ECU through controlling SJA1000 which works on the PeliCAN mode. </p><p>  Following,the software designs are discussed, and the CAN communication protocol of application layer which match

10、es the vehicle body control system is constructed based on CAN2.0 protocol and SAEJ1939 protocol. Furthermore, some anti-interference measurements are put forward to ensure the stability and reliability of the system.&l

11、t;/p><p>  The experiments confirm the overall system communication is reliable, and the signal transmission inside the CAN bus achieves the requirements of real-time and stability.</p><p>  Key wo

12、rds: CAN-BUS; Control Network; Electric Control Unit; Data acquisition;</p><p>  Data Transmission;</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p>

13、<p><b>  1.1課題背景1</b></p><p>  1.2當(dāng)前國內(nèi)外汽車CAN總線的研究情況1</p><p>  1.3研究汽車CAN總線網(wǎng)絡(luò)的目的和意義1</p><p>  1.4課題主要內(nèi)容2</p><p>  第二章 CAN總線通信原理3</p><p

14、><b>  2.1 引言3</b></p><p>  2.2 CAN 總線協(xié)議的性能特點3</p><p>  2.3 CAN 節(jié)點的分層結(jié)構(gòu)4</p><p>  2.3 報文傳送及其幀類型5</p><p>  2.3.1 數(shù)據(jù)幀6</p><p>  2.3.2 遠(yuǎn)程幀

15、8</p><p>  2.3.3 出錯幀8</p><p>  2.3.4 超載幀9</p><p>  2.4 基于CAN2.0B 應(yīng)用層協(xié)議的制定10</p><p>  2.5本章小結(jié)11</p><p>  第三章 系統(tǒng)整體結(jié)構(gòu)設(shè)計12</p><p>  3.1系統(tǒng)整體框

16、圖12</p><p>  3.2 系統(tǒng)ECU框圖12</p><p>  3.3 CAN控制器SJA100013</p><p>  3.3.1芯片SJA1000概述13</p><p>  3.3.2 SJA1000的內(nèi)部結(jié)構(gòu)以及在系統(tǒng)中的位置14</p><p>  3.3.3 CAN控制器SJA100

17、0的幾個控制模塊15</p><p>  3.4CAN總線驅(qū)動器PCA82C25016</p><p>  3.4.1 CAN總線驅(qū)動器PCA82C250概述16</p><p>  3.4.2 PCA82C250結(jié)構(gòu)框圖及基本功能描述16</p><p>  3.5本章小結(jié)18</p><p>  第四章

18、 CAN總線網(wǎng)絡(luò)硬件設(shè)計19</p><p>  4.1 整體方案確定19</p><p>  4.2 CPU控制電路19</p><p>  4.3 CAN模塊電路21</p><p>  4.4 DS18B20溫度采集模塊22</p><p>  4.5 顯示模塊23</p><p&

19、gt;  4.6電源模塊23</p><p>  4.7系統(tǒng)JTAG調(diào)試24</p><p>  4.8按鍵信號采集接口電路25</p><p>  4.9 液位檢測模塊25</p><p>  4.10汽車車燈控制器設(shè)計26</p><p>  4.11電路板設(shè)計時注意事項27</p>&l

20、t;p>  4.12本章小結(jié)27</p><p>  第五章 CAN總線網(wǎng)絡(luò)軟件設(shè)計29</p><p>  5.1 CAN總線系統(tǒng)智能節(jié)點的軟件設(shè)計29</p><p>  5.1.1初始化過程29</p><p>  5.1.2報文發(fā)送過程30</p><p>  5.1.3報文接收過程32&l

21、t;/p><p>  5.2 系統(tǒng)網(wǎng)絡(luò)控制34</p><p>  5.3 系統(tǒng)整體流程圖34</p><p>  5.3.1 主站流程圖34</p><p>  5.3.2 從站流程圖35</p><p>  5.4 超聲波傳感器檢測液位流程35</p><p>  5.5 溫度采集流程

22、36</p><p>  5.6軟件的抗干擾分析37</p><p>  5.7本章小結(jié)39</p><p>  第六章 系統(tǒng)調(diào)試40</p><p>  6.1系統(tǒng)硬件調(diào)試流程40</p><p>  6.2系統(tǒng)軟件調(diào)試流程40</p><p>  6.3系統(tǒng)調(diào)試結(jié)果41<

23、;/p><p>  6.3.1 從站1溫度采集41</p><p>  6.3.2 從站4液位測量41</p><p>  6.3.3 CAN通信測試42</p><p>  6.3.4 顯示模塊調(diào)試42</p><p>  6.3.5 CAN通信網(wǎng)絡(luò)聯(lián)機(jī)調(diào)試42</p><p>  第七

24、章 結(jié)論與展望45</p><p>  7.1目前工作總結(jié)45</p><p>  7.2系統(tǒng)整體測試評估45</p><p>  7.3對以后工作的展望46</p><p><b>  參考文獻(xiàn)47</b></p><p>  附錄1 文獻(xiàn)翻譯49</p><p

25、>  附錄2 系統(tǒng)主要源代碼56</p><p>  附錄3 系統(tǒng)電路原理圖66</p><p><b>  謝 辭67</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1課題背景</b></p><

26、p>  現(xiàn)代汽車中所使用的電子控制系統(tǒng)和通訊系統(tǒng)越來越多,如發(fā)動機(jī)電控系統(tǒng)、防抱死系統(tǒng)(ABS)、自動巡航系統(tǒng)(ACC)和車載多媒體系統(tǒng),這些系統(tǒng)之間,系統(tǒng)和汽車顯示儀表之間,系統(tǒng)和汽車故障診斷系統(tǒng)之間均需要進(jìn)行數(shù)據(jù)交換,如此巨大的數(shù)據(jù)交換量,如仍然采用傳統(tǒng)數(shù)據(jù)交換的方法,用導(dǎo)線進(jìn)行點對點連接的傳輸方式將是復(fù)雜的工程,據(jù)統(tǒng)計,如果一個中級轎車需要線束插頭300個以上,插針總數(shù)1800~2200個,線束總長超過1.5~2.0km,裝

27、配復(fù)雜而且故障率很高。傳統(tǒng)的線束已遠(yuǎn)遠(yuǎn)不能滿足復(fù)雜的控制系統(tǒng)要求。CAN總線應(yīng)運(yùn)而生,CAN總線能夠以較低的成本、高級的時實處理能力在強(qiáng)電磁干擾環(huán)境下高安全工作[1]。</p><p>  1.2當(dāng)前國內(nèi)外汽車CAN總線的研究情況</p><p>  早在20世紀(jì)80年代初,Bosch(博世)公司開發(fā)出面向汽車的CAN(Control Area Network)通信協(xié)議。與一般的通信總線相

28、比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。由于其良好的性能及獨(dú)特的設(shè)計,CAN總線越來越受到人們的重視。它在汽車領(lǐng)域上的應(yīng)用是最廣泛的,世界上一些著名的汽車制造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都采用了CAN總線來實現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測和執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)通信[2]-[3]。</p><p>  目前

29、,國外的汽車總線技術(shù)已經(jīng)成熟,并且已經(jīng)成為現(xiàn)代汽車的標(biāo)準(zhǔn)技術(shù),汽車制造業(yè)發(fā)達(dá)的國家基本都在汽車制造工程中應(yīng)用CAN總線技術(shù)[4]-[7]。CAN總線作為汽車制造裝配的高級核心技術(shù),國外汽車制造商與研發(fā)機(jī)構(gòu)對我國是采取的是封鎖政策,即使在中國合資的國外引進(jìn)品牌,也是列入國產(chǎn)化部件外,國外CAN總線進(jìn)口到中國價格相當(dāng)昂貴,在高新技術(shù)上制約著我國汽車制造業(yè)的發(fā)展[8]。</p><p>  我國總線技術(shù)處于試驗和起步階

30、段,絕大部分的汽車還沒有采用自主研發(fā)的汽車總線設(shè)計。但CAN總線技術(shù)已經(jīng)開始引起國內(nèi)一些汽車研發(fā)部門的關(guān)注,如中國汽車技術(shù)研究中心、清華大學(xué)、同濟(jì)大學(xué)等單位在CAN控制局域網(wǎng)絡(luò)方面開展了研究,并取得很多富有成效的結(jié)果[9]-[13]。</p><p>  1.3研究汽車CAN總線網(wǎng)絡(luò)的目的和意義</p><p>  由于傳統(tǒng)線束通信已經(jīng)不能滿足汽車控制網(wǎng)絡(luò)的數(shù)據(jù)傳輸量,而CAN總線網(wǎng)絡(luò)以低

31、成本、高可靠性和極大的靈活性將逐漸取代傳統(tǒng)的并行的數(shù)據(jù)傳輸網(wǎng)絡(luò)。</p><p>  本研究的意義在于簡化現(xiàn)代汽車車身中日益復(fù)雜的電子控制設(shè)備之間的連線,廢除汽車上傳統(tǒng)的主電纜線束系統(tǒng),有效的增強(qiáng)系統(tǒng)的可靠性及降低系統(tǒng)的綜合成本,提高汽車的系統(tǒng)化、智能化程度,并且為汽車性能的高檔次提供技術(shù)平臺,形成新產(chǎn)品和技術(shù)儲備。</p><p><b>  1.4課題主要內(nèi)容</b&g

32、t;</p><p>  本課題研究了基于CAN總線的汽車通信系統(tǒng)的設(shè)計問題, 實現(xiàn)了汽車電器控制單元(ECU)的直接數(shù)據(jù)傳輸。本課題的主要研究內(nèi)容為:</p><p>  (1) 參考通用CAN2.0B協(xié)議和車用CAN協(xié)議(SAEJ1939),制定自己的應(yīng)用層協(xié)議;</p><p>  (2) 汽車電器控制網(wǎng)絡(luò)的模塊設(shè)計;</p><p>

33、  (3) CAN 總線控制系統(tǒng)的硬件電路設(shè)計;</p><p>  (4) CAN 總線控制系統(tǒng)的軟件電路設(shè)計;</p><p>  (5) 軟硬件聯(lián)機(jī)調(diào)試;</p><p>  (6) 對當(dāng)前工作的總結(jié)及對以后工作的展望。</p><p>  第二章 CAN總線通信原理</p><p>  本章主要研究了CAN通

34、信原理,分別對CAN總線協(xié)議的性能特點、CAN節(jié)點的分層結(jié)構(gòu)、數(shù)據(jù)幀結(jié)構(gòu)、遠(yuǎn)程幀結(jié)構(gòu)、出錯幀結(jié)構(gòu)、超載幀結(jié)構(gòu)進(jìn)行了詳細(xì)分析,并且在CAN2.0B協(xié)議的基礎(chǔ)上制定了相應(yīng)的應(yīng)用層協(xié)議的幀信息。</p><p><b>  2.1 引言</b></p><p>  CAN 總線是國際標(biāo)準(zhǔn)的網(wǎng)絡(luò)控制器,是串行通信協(xié)議,一般是使用在汽車電子行業(yè),隨著技術(shù)的發(fā)展,已經(jīng)開始使用在各

35、個領(lǐng)域,醫(yī)療、航海、工業(yè)自動化、工控設(shè)備等等領(lǐng)域。本課題也是基于 CAN 總線的一個新的課題。它的出現(xiàn)使得分布式控制系統(tǒng)的各個節(jié)點之間的實時、穩(wěn)定的數(shù)據(jù)傳輸?shù)玫搅吮U稀?lt;/p><p>  CAN 總線是德國 BOSCH 公司在 80 年代的時候,為解決汽車中存在的眾多問題而設(shè)計,它工作于多主從方式,網(wǎng)絡(luò)中的節(jié)點是根據(jù)優(yōu)先級來向總線競爭發(fā)送數(shù)據(jù)的,采用的是 CSMA/CD(載波偵聽多路訪問/沖突檢測),無損結(jié)構(gòu)逐

36、位仲裁技術(shù),廢除了站節(jié)點地址編碼,而使用對通信數(shù)據(jù)進(jìn)行編碼,使得每個節(jié)點可以接收相同的數(shù)據(jù)。這樣構(gòu)成的系統(tǒng)通信實時性強(qiáng),冗余性好,系統(tǒng)靈活性高。與之相比,以往采用 RS485 結(jié)構(gòu)的系統(tǒng),通信方式不靈活,底層驅(qū)動需要自己編寫,可靠性差。</p><p>  由于采用了許多新技術(shù)及獨(dú)特的設(shè)計,如總線自動關(guān)閉輸出的功能,完善的通信協(xié)議,降低了開發(fā)的難度,縮短開發(fā)的周期等,是以前的 RS485 系統(tǒng)無法比擬的[14]。

37、</p><p>  2.2 CAN 總線協(xié)議的性能特點</p><p>  控制器局域網(wǎng)(Controller Area Net)簡稱CAN 總線,是德國BOSCH 公司于80 年代初為解決現(xiàn)代汽車中眾多的電控模塊(ECU)之間的數(shù)據(jù)交換而開發(fā)的一種串行通信協(xié)議[2]-[3]。CAN 總線采用了多主競爭式總線結(jié)構(gòu),具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點。CAN 總線上的任意

38、節(jié)點可在任意時刻主動地向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息而不分主次,因此可在各節(jié)點之間實現(xiàn)自由通信。CAN 總線協(xié)議廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼,數(shù)據(jù)塊的標(biāo)識碼可由11 位或29 位二進(jìn)制數(shù)組成,這樣就可使網(wǎng)絡(luò)內(nèi)的節(jié)點個數(shù)在理論上不受限制。CAN 總線具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實時性,而且簡單實用,網(wǎng)絡(luò)成本低,特別適用于汽車計算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動大的工業(yè)環(huán)境。具體來說其主要特點有:</

39、p><p>  (1) 采用通訊數(shù)據(jù)塊編碼,可實現(xiàn)多主工作方式,數(shù)據(jù)收發(fā)方式靈活,可實現(xiàn)點對點、一點對多點及全局廣播等多種傳輸方式;</p><p>  (2) 采用非破壞性基于優(yōu)先權(quán)的總線仲裁技術(shù),具有暫時錯誤和永久性故障節(jié)點的判別及故障節(jié)點的自動脫離功能,使系統(tǒng)其他節(jié)點的通信不受影響;</p><p>  (3) CAN 節(jié)點在錯誤嚴(yán)重的情況下,具有自動關(guān)閉總線的功

40、能,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響;</p><p>  (4) 采用統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,使各設(shè)備之間具有較好的互操作性和互換性,系統(tǒng)的通用性好;</p><p>  (5) 通訊介質(zhì)可采用雙絞線,無特殊要求;現(xiàn)場布線和安裝簡單,易于維護(hù),經(jīng)濟(jì)性好。只有2 根線與外部相連,且內(nèi)部含有錯誤探測和管理模塊;</p><p>  (6) 網(wǎng)絡(luò)上的節(jié)點信息可分

41、成不同的優(yōu)先級,可以滿足不同的實時要求;</p><p>  (7) CAN 總線通信格式采用短幀格式,每一幀的有效字節(jié)數(shù)為8 個(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時間短,受干擾的概率低,重新發(fā)送的時間短;</p><p>  (8) 采用非破壞性總線仲裁技術(shù)。當(dāng)兩個節(jié)點同時向網(wǎng)絡(luò)上傳送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突;

42、</p><p>  (9) 直接通信距離最大可達(dá)10km(速率5kb/s 以下),最高通信速率可達(dá)1Mb/s (此時距離最長為40m);</p><p>  (10) CAN 總線采用CRC 檢驗并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。</p><p>  圖 2-1 CAN 總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)</p><p>  按照總線的技術(shù)

43、規(guī)范與總線的電氣特性,一般最多支持 128 個節(jié)點,在差分總線的兩端必須接一個匹配電阻。各個節(jié)點之間無需匹配電阻,而且分支最好越短越好。與其他總線相比,CAN 總線具有通信速率高,實現(xiàn)容易,性價比高的,并且已經(jīng)實現(xiàn)國際標(biāo)準(zhǔn)的總線,應(yīng)用于各個領(lǐng)域、航天、工業(yè)、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械,具有廣泛的運(yùn)用前景[15]-[18]。</p><p>  2.3 CAN 節(jié)點的分層結(jié)構(gòu)</p><p>

44、;  CAN總線是由不同層次構(gòu)成,CAN2.0A包括目標(biāo)層、傳輸層和物理層。CAN2.0B 包括數(shù)據(jù)鏈路層與物理層,數(shù)據(jù)鏈路層包括邏輯鏈路控制和媒體訪問控制兩層;物理層包括物理信號,物理媒體附屬裝置,媒體相關(guān)接口。CAN2.0A節(jié)點的分層結(jié)構(gòu)如下圖 2-2 所示。</p><p>  圖 2-2 CAN2.0A 節(jié)點的分層結(jié)構(gòu)</p><p>  CAN2.0A 技術(shù)規(guī)范,定義了傳輸層以及

45、與 CAN 協(xié)議有關(guān)的外層,目標(biāo)層的功能是確定被接收的報文實際是否被使用,以及通過過濾器屏蔽器對報文的濾波,確定報文是否可以被接收進(jìn)來。當(dāng)報文接收過程中出現(xiàn)了錯誤,報文就會置位相應(yīng)的狀態(tài)標(biāo)志位。設(shè)計人員可以根據(jù)這些位來判斷是什么情況組成的這個錯誤。傳輸層主要是報文的故障界定、檢錯、確認(rèn)、應(yīng)答、仲裁、位定時等等。傳輸層確定新的一幀數(shù)據(jù)的發(fā)送,確定總線是不是開發(fā)或者是不是可以開始接收數(shù)據(jù)了。傳輸層是不存在修改的靈活性的。物理層定義了實際數(shù)據(jù)

46、發(fā)送,包括物理層定義信號時如何發(fā)送的,用什么樣的電平表示高電平,什么電平表示低電平,可以采用雙絞線或者是光電纜等進(jìn)行數(shù)據(jù)的發(fā)送。對這個物理層沒有具體定義,用戶可以根據(jù)自己的需要進(jìn)行修改[3]。</p><p>  2.3 報文傳送及其幀類型</p><p>  在數(shù)據(jù)發(fā)送與接收的過程中,報文的發(fā)送器就是發(fā)出報文的單元。在總線空閑或該單元失去仲裁場之前為發(fā)送器。若總線處于空閑狀態(tài),并且節(jié)點并

47、非處于報文發(fā)送狀態(tài),則該單元稱為接收器。</p><p>  報文發(fā)送器與接收器的有效時點是不同的。對發(fā)送器,一旦總線空閑,報文立刻發(fā)送,直到報文結(jié)束。如果出現(xiàn)錯誤,總線就會發(fā)送錯誤幀,停止數(shù)據(jù)的發(fā)送,等總線空閑狀態(tài)下,數(shù)據(jù)又開始重新發(fā)送這一幀數(shù)據(jù),按照優(yōu)先級的高低來發(fā)送數(shù)據(jù),這樣可以保證系統(tǒng)的數(shù)據(jù)的正確性,對于接收器來說,如果在接收過程中未出現(xiàn)錯誤,則數(shù)據(jù)有效,如果出現(xiàn)錯誤,那么總線會重新發(fā)送數(shù)據(jù)給接收器,CA

48、N 總線會自動把暫時性錯誤與永久性錯誤區(qū)分開來。這樣就不會因為某個節(jié)點的錯誤導(dǎo)致系統(tǒng)的崩潰。</p><p>  幀起始、仲裁場、控制場、數(shù)據(jù)場和 CRC 序列都是通過對每一位進(jìn)行填充來編碼的。當(dāng)數(shù)據(jù)中有五個連續(xù)地相同的電平的時候,總線就會在第六個位電平處插入相反的電平,主要是為了能夠使信號保持同步。</p><p>  數(shù)據(jù)幀或遠(yuǎn)程幀的 CRC 界定符,應(yīng)答場和幀結(jié)束的形式一般是比較固定

49、,無需進(jìn)行位填充。出錯幀和超載幀也是采用同樣的格式,也不需要位填充。報文中的位流按照非歸零(NRZ-NON-Return-to-Zero)碼方法編碼,這意味著一個完整位電平要么是“顯性”,要么是“隱性”的。</p><p>  報文數(shù)據(jù)一般發(fā)送的話,是按四種不同的幀來表示與控制的。數(shù)據(jù)幀主要是從發(fā)送器到接收器發(fā)送數(shù)據(jù)。遠(yuǎn)程幀主要發(fā)送具有相同標(biāo)識符的數(shù)據(jù)幀。出錯幀的功能是檢測總線的錯誤,一旦發(fā)現(xiàn)錯誤,就會發(fā)出錯誤幀

50、。超載幀主要用于為當(dāng)前與后續(xù)的數(shù)據(jù)幀與遠(yuǎn)程幀之間添加附加的延時[10]。</p><p><b>  2.3.1 數(shù)據(jù)幀</b></p><p>  數(shù)據(jù)幀是由幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC 場、應(yīng)答場、幀結(jié)束組成的。組成結(jié)構(gòu)如圖 2-3 所示。</p><p>  圖 2-3 數(shù)據(jù)幀的組成</p><p>  

51、幀起始標(biāo)志一幀新的數(shù)據(jù)的開始,它是由一個單獨(dú)的“顯性”位(0)組成,不需要用戶在程序中體現(xiàn),由控制芯片自動完成,發(fā)送時,總線必須處于空閑狀態(tài),并且所有的站必須與首先開始發(fā)送的站的幀起始的前沿同步。</p><p>  仲裁場由標(biāo)識符和遠(yuǎn)程發(fā)送請求位組成。仲裁場的組成框圖如圖 2-4 所示。</p><p>  圖 2-4 仲裁場組成</p><p>  仲裁場包含標(biāo)

52、識符 ID(標(biāo)準(zhǔn)為11bits),對應(yīng)其優(yōu)先級。每個站在發(fā)送仲裁場時,將發(fā)送位與線路電平比較,若相同則發(fā)送;若不同則得知優(yōu)先級低而退出仲裁, 不再發(fā)送。系統(tǒng)響應(yīng)時間與站點數(shù)無關(guān),只取決于安排的優(yōu)先權(quán)。RTR 位,在數(shù)據(jù)幀中,是“顯性”電平,而 RTR 位,在遠(yuǎn)程幀中是“隱形”電平[10]。</p><p><b>  控制場</b></p><p>  控制場一般由

53、6 位構(gòu)成,如圖 2-5 所示。</p><p>  圖 2-5 控制場組成</p><p>  控制場是由數(shù)據(jù)長度碼和保留位組成。數(shù)據(jù)長度碼表示數(shù)據(jù)發(fā)送的數(shù)目。長度碼一般是 4 位,如表 2-1 所示,其中:d 代表“顯性”,r 代表“隱性”。</p><p>  表 2-1 數(shù)據(jù)長度碼中,數(shù)據(jù)字節(jié)數(shù)目編碼</p><p>  數(shù)據(jù)發(fā)送的字

54、節(jié)數(shù)一般都是 0~8 個字節(jié),不能使用其他數(shù)值。</p><p><b>  數(shù)據(jù)場</b></p><p>  數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)構(gòu)成了數(shù)據(jù)場,它可包括從 0 至 8 個字節(jié),一個字節(jié)一般包括 8 位,高有效位先發(fā)送。</p><p><b>  CRC 場</b></p><p>  CRC

55、場包括 CRC 序列,后隨 CRC 界定符,CRC 場組成如圖 2-6 所示</p><p>  圖 2-6 CRC 場組成</p><p><b>  應(yīng)答場</b></p><p>  應(yīng)答場為兩位,包含應(yīng)答間隙和應(yīng)答界定符。應(yīng)答場的組成如圖 2-7 所示。</p><p>  圖 2-7 應(yīng)答場組成</p&g

56、t;<p>  當(dāng)接收器接收到報文,接收器就會在應(yīng)答間隙期間向發(fā)送器發(fā)送 “顯性”的位以示應(yīng)答。應(yīng)答場長度為 2 位,包含應(yīng)答間隙和應(yīng)答界定符。</p><p><b>  2.3.2 遠(yuǎn)程幀</b></p><p>  遠(yuǎn)程幀如圖 2-8 所示,遠(yuǎn)程幀與數(shù)據(jù)幀的區(qū)別就是沒有數(shù)據(jù)場。當(dāng)總線某個節(jié)點請求其它節(jié)點發(fā)送數(shù)據(jù)的時候,該節(jié)點就會給具有相同標(biāo)識符的目

57、標(biāo)節(jié)點發(fā)送遠(yuǎn)程幀,目標(biāo)節(jié)點接收到總線發(fā)來的遠(yuǎn)程幀后,就會把數(shù)據(jù)發(fā)送給請求節(jié)點。一般遠(yuǎn)程幀是由 6 個不同的位場組成的。但是與數(shù)據(jù)幀不同的是,遠(yuǎn)程幀的 RTR位是“隱性”的。DLC 是相對遠(yuǎn)程幀獨(dú)立的,這個數(shù)值對應(yīng)于與數(shù)據(jù)幀的長度。</p><p>  圖 2-8 遠(yuǎn)程幀的組成</p><p><b>  2.3.3 出錯幀</b></p><p&g

58、t;  出錯幀是檢測總線出錯的一個信號標(biāo)志,由兩個不同場構(gòu)成。第一場由來自不同節(jié)點的錯誤標(biāo)志疊加,第二個場為錯誤界定符。CAN 協(xié)議采用 CRC 檢驗并提供相應(yīng)的錯誤處理功能,保證數(shù)據(jù)通信的可靠性。</p><p>  圖 2-9 出錯幀組成</p><p>  錯誤標(biāo)志的形式有兩種:(1) 活動錯誤標(biāo)志;(2) 認(rèn)可錯誤標(biāo)志。一般由 6個連續(xù)的“顯性”位組成一個活動錯誤標(biāo)志, 6 個連續(xù)

59、的“隱性”位組成一個認(rèn)可錯誤標(biāo)志。在每個 CAN 控制器的內(nèi)部都有兩個錯誤計數(shù)器:發(fā)送錯誤計數(shù)器和接收錯誤計數(shù)器。按錯誤計數(shù)器數(shù)值的不同,CAN 總線上的節(jié)點可以分為 3 種錯誤狀態(tài),分別是錯誤活動狀態(tài)、錯誤認(rèn)可狀態(tài)和總線關(guān)閉狀態(tài)。</p><p>  上電復(fù)位后,兩個錯誤計數(shù)器的數(shù)值都為 0,表示節(jié)點處于正?;顒訝顟B(tài),可正常地進(jìn)行數(shù)據(jù)通信,檢測到錯誤時,發(fā)送活動錯誤標(biāo)志。當(dāng)錯誤計數(shù)器中的值超過 127 時,節(jié)點

60、進(jìn)入錯誤認(rèn)定狀態(tài)。處于錯誤狀態(tài)的節(jié)點仍然可以與總線通信,但出錯后,總線會發(fā)送錯誤認(rèn)可標(biāo)志,并且在開始發(fā)送數(shù)據(jù)之前,會插入一段附加的時間。</p><p>  當(dāng)錯誤計數(shù)器和接收計數(shù)器里面的值大于或等于 127 時,節(jié)點的狀態(tài)就從錯誤認(rèn)可轉(zhuǎn)變?yōu)殄e誤活動狀態(tài)。若發(fā)送錯誤計數(shù)器的值超過 255 之后,節(jié)點就會進(jìn)入關(guān)閉狀態(tài),既不能發(fā)送數(shù)據(jù),也不能接收數(shù)據(jù)。當(dāng)軟件執(zhí)行操作模式請求命令,并等待總線釋放序列(11 位連續(xù)隱性位

61、)后,節(jié)點就會從總線關(guān)閉狀態(tài)重新回到總線錯誤活動狀態(tài)[3]。</p><p><b>  2.3.4 超載幀</b></p><p>  超載幀一般由 2 個位場組成:超載標(biāo)志和超載界定符。超載幀組成結(jié)構(gòu)如圖 2-10 所示</p><p>  圖 2-10 超載幀組成</p><p>  在 CAN 總線系統(tǒng)的某個節(jié)點

62、處理接收到的數(shù)據(jù)的過程中,由于接收到的數(shù)據(jù)需要經(jīng)過一段時間的處理,但是第二幀數(shù)據(jù)可能會在數(shù)據(jù)處理的時候就會到達(dá),這樣將導(dǎo)致數(shù)據(jù)出錯,數(shù)據(jù)丟失,因此,接收數(shù)據(jù)的節(jié)點可以發(fā)送超載幀,用于對第二次數(shù)據(jù)幀到來的時間進(jìn)行延時,發(fā)送數(shù)據(jù)的節(jié)點接收到超載幀就會延時下一幀數(shù)據(jù)的發(fā)送。第二個發(fā)送超載的條件是間歇場檢出一個“顯性”位,后一個超載條件引起的超載幀在檢測到“顯性”位的后一位開始發(fā)送,在很多情況下,為延遲下一次數(shù)據(jù)幀或遠(yuǎn)程幀,均可產(chǎn)生這兩種超載幀

63、[3]。</p><p>  2.4 基于CAN2.0B 應(yīng)用層協(xié)議的制定</p><p>  波特率的確定可根據(jù)通信內(nèi)容的多少確定,通常采用5Kbps—1Mbps。本設(shè)計當(dāng)前研究的車內(nèi)信息量較少、實時性要求不高,故定波特率為20Kbps。</p><p>  汽車電子控制系統(tǒng)各個控制器節(jié)點的信息我們從多個方面進(jìn)行設(shè)定,譬如名稱、英文名稱、信號走向、信號類型、發(fā)送類

64、型、出發(fā)方式等。</p><p>  (1) 信號類型:狀態(tài)(AI)、受控(AO)、狀態(tài)且受控(DO)、命令(DI);</p><p>  (2) 取得方式:周期方式、請求方式、請求且周期、被動;</p><p>  (3) 優(yōu)先級:1一7;</p><p>  (4) 發(fā)送類型:被遠(yuǎn)程幀請求才發(fā)送的幀、被告錯誤信息的幀、周期發(fā)送的幀、事件觸

65、發(fā)的幀、主動發(fā)送的幀。</p><p>  這里以主站給從站1發(fā)送的輪詢信號為例。主站需要從站的信息時,主站就給相應(yīng)的從站發(fā)送輪詢信號,這些信息可以在一個數(shù)據(jù)幀中表示。這個數(shù)據(jù)幀可以命名為“MOSI”。首先,對數(shù)據(jù)幀的標(biāo)識符進(jìn)行設(shè)置,其中有優(yōu)先級、地址(SA)、數(shù)據(jù)長度碼(DLC)等相關(guān)位。標(biāo)識符是一個數(shù)據(jù)幀中最重要的信息,節(jié)點之間能否通訊主要和標(biāo)識符位設(shè)置的是否合理,例如優(yōu)先級、地址等位有很大關(guān)系。把相關(guān)的數(shù)據(jù)

66、參數(shù)按照位的形式填充到數(shù)據(jù)場中,不過數(shù)據(jù)參數(shù)要考慮精度、信號取得方式、優(yōu)先級等方面。然后我們把數(shù)據(jù)幀打包從主站CAN單元發(fā)送到總線上,從站單元通過CAN控制器的接收濾波器可以收到它所需要的信息幀。然后將采集到的信息發(fā)回給主站。我們將從站1發(fā)回的數(shù)據(jù)命名為“MISO”。下面就是MOSI和MISO一個打包后的數(shù)據(jù)幀。</p><p>  名稱:MOSI(主站給從站1發(fā)送的輪詢信號)</p><p&

67、gt;<b>  優(yōu)先級:1</b></p><p><b>  地址:0x00</b></p><p><b>  DLC:0x04</b></p><p>  字節(jié):1-數(shù)據(jù)源地址 0x00;2-目標(biāo)地址 0x01;3-數(shù)據(jù)類型;4-保留。</p><p>  名稱:MIS

68、O(從站1給主站返回的數(shù)據(jù)信號)</p><p><b>  優(yōu)先級:2</b></p><p><b>  地址:0x01</b></p><p><b>  DLC:0x04</b></p><p>  字節(jié):1-數(shù)據(jù)源地址 0x01;2-目標(biāo)地址 0x00;3-溫度整數(shù)部

69、分;4-溫度小數(shù)部分。</p><p><b>  2.5本章小結(jié)</b></p><p>  本章介紹了CAN總線技術(shù)在汽車控制系統(tǒng)中的特點和優(yōu)勢,分析了CAN總線系統(tǒng)的結(jié)構(gòu)原理和通信方式以及CAN總線的通信協(xié)議。并給出了自己基于CAN2.0B和車用CAN協(xié)議(SAEJ1939)制定的應(yīng)用層協(xié)議,為后續(xù)的硬件選型和軟件設(shè)計提供了參考。</p><

70、p>  第三章 系統(tǒng)整體結(jié)構(gòu)設(shè)計</p><p>  本章設(shè)計了CAN總線控制系統(tǒng)的整體結(jié)構(gòu),并且對功能模塊進(jìn)行了詳細(xì)的分析。</p><p><b>  3.1系統(tǒng)整體框圖</b></p><p>  本系統(tǒng)的硬件構(gòu)架由五大部分組成,如圖3-1所示,這五大部分可以實現(xiàn)主站處理單元、車內(nèi)溫度采集單元、車外溫度采集單元、汽車發(fā)動機(jī)轉(zhuǎn)速和油

71、箱液位采集單元、汽車車燈和車窗控制單元直接的數(shù)據(jù)傳輸,其中,主站處理單元和從站處理單元的處理器都采用ATMega128作為系統(tǒng)控制器。整個網(wǎng)絡(luò)通過總線拓?fù)涞男问叫纬苫ヂ?lián)。</p><p>  在本系統(tǒng)中各個單元的信號將通過CAN網(wǎng)絡(luò)傳入主站處理單元中,在主站內(nèi)得到處理后再發(fā)送到相關(guān)單元執(zhí)行。溫度、車速、液位等信號將通過CAN網(wǎng)絡(luò)及時地傳送到主站處理單元中;同時,用戶通過主站CPU外接的控制按鍵,將車窗開關(guān)、燈光開

72、關(guān)、轉(zhuǎn)向燈開關(guān)等的控制信號傳入主站CPU,再通過CAN網(wǎng)絡(luò)傳入從站的電控單元。主站處理單元將車內(nèi)需要顯示的信號通過外接的12864液晶顯示出來。</p><p>  圖3-1 汽車CAN總線網(wǎng)絡(luò)整體框圖</p><p>  3.2 系統(tǒng)ECU框圖</p><p>  本課題的控制系統(tǒng)為低速CAN,速度為100Kbps,主要完成ECU單元之間的數(shù)據(jù)傳遞,由于汽車電器數(shù)

73、量較多,要簡化車身模塊數(shù)量,降低硬件成本,提高控制系統(tǒng)可靠性,需要根據(jù)各電器位置及功能對汽車電子單元(ECU)模塊進(jìn)行合理劃分。本設(shè)計將電子單元(ECU)劃分成6個模塊,即CPU、傳感器、顯示器、CAN控制器、光電隔離、CAN驅(qū)動器。如圖3-2所示:</p><p>  圖3-2 系統(tǒng)子節(jié)點框圖</p><p>  系統(tǒng)節(jié)點以ATmega128作為控制核心,CAN控制器選用SJA1000,

74、為了防止干擾,CAN控制器與CAN驅(qū)動器間采用光電隔離。</p><p>  3.3 CAN控制器SJA1000</p><p>  3.3.1芯片SJA1000概述</p><p>  SJA1000是一種獨(dú)立的CAN控制器,主要用于移動目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。它是Philips半導(dǎo)體公司PCA82C200 CAN控制器(BasicCAN)的替代產(chǎn)品,

75、而且它增加了一種新的操作模式——PeliCAN,這種模式支持具有很多新特性的CAN2.0B協(xié)議[18]。</p><p>  SJA1000的基本特性如下:</p><p>  ● 引腳與PCA82C200獨(dú)立CAN控制器兼容;</p><p>  ● 電氣參數(shù)與PCA82C200獨(dú)立CAN控制器兼容;</p><p>  ● 具有PCA82

76、C200模式;</p><p>  ● 有64字節(jié)的擴(kuò)展接收緩沖區(qū),先進(jìn)先出(FIFO);</p><p>  ● 支持CAN2.0A和CAN2.0B協(xié)議;</p><p>  ● 支持11位和29位標(biāo)識碼;</p><p>  ● 通信位速率可達(dá)1Mbps;</p><p>  ● 包含PeliCAN模式的擴(kuò)展功能;

77、</p><p>  ● 24MHz時鐘頻率;</p><p>  ● 可與不同的微處理器進(jìn)行連接;</p><p>  ● 可編程的CAN輸出驅(qū)動器配置;</p><p>  ● 溫度適應(yīng)范圍大(-40℃~+125℃)[18]。</p><p>  3.3.2SJA1000的內(nèi)部結(jié)構(gòu)以及在系統(tǒng)中的位置</p&g

78、t;<p>  SJA1000的內(nèi)部結(jié)構(gòu)如圖3-3所示,CAN控制器在現(xiàn)場系統(tǒng)中的位置和所起的作用如圖3-4和3-5所示[18]。</p><p>  圖3-3 SJA1000的內(nèi)部結(jié)構(gòu)方框圖</p><p>  圖3-4 CAN控制器SJA1000在系統(tǒng)中的位置</p><p>  圖3-5 CAN控制器SJA1000的模塊結(jié)構(gòu)</p>

79、;<p>  3.3.3CAN控制器SJA1000的幾個控制模塊</p><p><b> ?、?接口管理邏輯</b></p><p>  接口管理邏輯(IML)解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器(CPU)提供中斷信息和狀態(tài)信息。</p><p><b>  ② 發(fā)送緩沖器</b><

80、;/p><p>  發(fā)送緩沖器(TXB)是CPU和BSP(位流處理器)之間的接口。它能夠存儲要通過CAN網(wǎng)絡(luò)發(fā)送的一條完整報文。緩沖器長13字節(jié),由CPU寫入、BSP讀出。</p><p><b>  ③ 接收緩沖器</b></p><p>  接收緩沖器(RXB,RXFIFO)是接收濾波器和CPU之間的接口,用來存儲從CAN總線上接收并被確認(rèn)的信

81、息。接收緩沖器(RXB,13個字節(jié))作為接收FIFO(RXFIFO,長64字節(jié))的一個窗口,可被CPU訪問。</p><p>  CPU在此FIFO的支持下,可以在處理一條報文的同時接收其他報文。</p><p><b> ?、?驗收濾波器</b></p><p>  驗收濾波器(ACF)接收到的標(biāo)識碼與自己的內(nèi)容相比較,以決定是否接收這條報文

82、。在驗收測試通過后,這條完整的報文就被保存在RXFIFO中。</p><p><b>  ⑤ 位流處理器</b></p><p>  位流處理器(BSP)是一個在發(fā)送緩沖器、RXFIFO和CAN總線之間控制數(shù)據(jù)流的隊列(序列)發(fā)生器。它還執(zhí)行總線上的錯誤檢測、仲裁、填充和錯誤處理。</p><p><b> ?、?位時序邏輯</

83、b></p><p>  位時序邏輯(BTL)監(jiān)視串行的CAN總線和位時序。它是在一條報文開頭,總線傳輸出現(xiàn)從隱性到顯性時同步于CAN總線上的位流(硬同步),并且在其后接收一條報文的傳輸過程中再同步(軟同步)。</p><p>  BTL還提供了可編程的時間段來補(bǔ)償傳播延時、相位偏移(例如,由于振蕩器漂移)和定義采樣點和每一位的采樣次數(shù)。</p><p>&l

84、t;b> ?、?錯誤管理邏輯</b></p><p>  錯誤管理邏輯(EML)負(fù)責(zé)限制傳輸層模塊的錯誤。它接收來自BSP的出錯報告,然后把有關(guān)錯誤統(tǒng)計告訴BSP(位流處理器)和IML(接口管理邏輯)。</p><p>  3.4CAN總線驅(qū)動器PCA82C250</p><p>  3.4.1CAN總線驅(qū)動器PCA82C250概述</p&g

85、t;<p>  82C250是CAN控制器與物理總線之間的接口,它最初是為汽車中的高速應(yīng)用(達(dá)1Mbps)而設(shè)計的。器件可以提供對總線的差動發(fā)送和接收功能。PCA82C250的主要特性如下[19]:</p><p>  ● 與ISO11898標(biāo)準(zhǔn)完全兼容;</p><p>  ● 高速率(最高可達(dá)1Mbps);</p><p>  ● 具有抗汽車環(huán)境下

86、的瞬間干擾,保護(hù)總線能力;</p><p>  ● 采用斜率控制,降低射頻干擾;</p><p><b>  ● 過熱保護(hù);</b></p><p>  ● 總線與電源及地之間的短路保護(hù);</p><p>  ● 低電流待機(jī)模式;</p><p>  ● 未上電節(jié)點不會干擾總線;</p>

87、;<p>  ● 總線至少可連接110個節(jié)點。</p><p>  3.4.2 PCA82C250結(jié)構(gòu)框圖及基本功能描述</p><p>  PCA82C250的內(nèi)部結(jié)構(gòu)及引腳功能如圖3-6和表3-1所示。</p><p>  圖3-6 PCA82C250的內(nèi)部結(jié)構(gòu)功能圖</p><p>  表3-1 PCA82C250的引

88、腳功能</p><p>  PCA82C250驅(qū)動電路內(nèi)部具有限流電路,可防止發(fā)送輸出級對電源、地或負(fù)載短路損壞輸出級。若結(jié)溫超過大約16℃,則兩個發(fā)送器輸出端極限電流將減小,由于發(fā)送器是功耗的主要部分,因而限制了芯片的溫升,器件的所有其他部分將繼續(xù)工作。PCA82C250采用雙絞線差分驅(qū)動,有助于抑制汽車等惡劣電氣環(huán)境下的瞬變干擾。</p><p>  引腳8(Rs)用于選定PCA82C

89、250的工作模式。有3種不同的工作模式可供選擇:高速、斜率控制和待機(jī),如表3-2所列。</p><p>  表3-2 引腳Rs用法</p><p>  對于高速工作模式,發(fā)送器輸出級晶體管被盡可能快地啟動和關(guān)閉。在這種模式下,不采取任何措施限制上升和下降的斜率。此時,建議采用屏蔽電纜以避免射頻干擾問題的出現(xiàn)。通過把引腳8接地可選擇高速工作模式。</p><p> 

90、 對于較低速度或較短的總線長度,可使用非屏蔽雙絞線或平行線作總線。為降低射頻干擾,應(yīng)限制上升和下降的斜率。上升和下降的斜率可以通過由引腳8至地連接的電阻進(jìn)行控制,斜率正比于引腳8上的電流輸出。</p><p>  如果引腳8接高電平,則電路進(jìn)入低電平待機(jī)模式。在這種模式下,發(fā)送器被關(guān)閉,接收器轉(zhuǎn)至低電流。如果檢測到顯性位,RXD將轉(zhuǎn)至低電平。微控制器應(yīng)通過引腳8將驅(qū)動器變?yōu)檎9ぷ鳡顟B(tài)來對這個條件作出響應(yīng)。由于在

91、待機(jī)模式下接收器是慢速的,因此將丟失第一個報文。</p><p><b>  3.5本章小結(jié)</b></p><p>  本章詳細(xì)介紹了CAN總線控制系統(tǒng)整體框圖以及最重要的組成部分總線控制SJA1000在總線系統(tǒng)中的位置和功能,并闡述了總線控制器SJA1000和收發(fā)器PCA82C250的結(jié)構(gòu)、特點及工作原理。并對它們在CAN總線控制系統(tǒng)中的應(yīng)用進(jìn)行了敘述,對本設(shè)計中

92、控制器和收發(fā)器的合理選擇進(jìn)行了分析。</p><p>  第四章 CAN總線網(wǎng)絡(luò)硬件設(shè)計</p><p>  本章分別對系統(tǒng)各個功能模塊的硬件電路進(jìn)行了詳細(xì)描述,并且提出了系統(tǒng)硬件抗干擾措施。</p><p>  4.1 整體方案確定</p><p>  CAN 總線得到了 Intel、Infineon、Motorola、Philips 等

93、眾多大公司的支持,提供了許多可以實現(xiàn) CAN 總線協(xié)議的芯片。CAN 控制器是節(jié)點實現(xiàn) CAN 總線通信的關(guān)鍵器件,它具有完成高性能通信協(xié)議所要求的全部特性,可以完成物理層和數(shù)據(jù)鏈路層的所有功能。目前 CAN 控制器芯片有獨(dú)立的,也有集成在微處理器里面的。</p><p>  CAN 總線應(yīng)用模塊在搭建上一般有兩種方案:</p><p>  (1) 微控制器+CAN 控制器+CAN 收發(fā)器

94、。</p><p>  (2) 集成 CAN 控制器的微控制器+ CAN 收發(fā)器</p><p>  第一種方案優(yōu)點是可以與多種類型的單片機(jī)、微型計算機(jī)的各類標(biāo)準(zhǔn)總線進(jìn)行接口組合,這種設(shè)計比較靈活,成本較低,缺點是電路設(shè)計稍微復(fù)雜。</p><p>  第二種方案優(yōu)點是電路設(shè)計簡化和緊湊,缺點是成本高。</p><p>  本課題,采用第一種

95、方案。CAN 總線節(jié)點主要由微處理器 ATMega128+獨(dú)立的 CAN 控制器 SJA1000+CAN 收發(fā)器 PCA82C250 構(gòu)成。考慮到汽車環(huán)境的惡劣性,因此,節(jié)點硬件部分除了能正常實現(xiàn) CAN 通信功能外,還應(yīng)該具有較強(qiáng)的抗干擾能力。</p><p>  4.2 CPU控制電路</p><p>  本系統(tǒng)采用ATmega128作為控制處理器, ATmega128是一款高性能、低

96、功耗的 AVR 8 位微處理器,系統(tǒng)CPU電路圖如圖4-1所示。</p><p>  本系統(tǒng)使用的CPU的內(nèi)核具有以下特點[20]:</p><p>  先進(jìn)的 RISC 結(jié)構(gòu);</p><p>  133 條指令 – 大多數(shù)可以在一個時鐘周期內(nèi)完成;</p><p>  32×8 通用工作寄存器 + 外設(shè)控制寄存器;</p&

97、gt;<p><b>  全靜態(tài)工作;</b></p><p>  工作于16 MHz 時性能高達(dá)16 MIPS;</p><p>  只需兩個時鐘周期的硬件乘法器;</p><p>  非易失性的程序和數(shù)據(jù)存儲器;</p><p>  128K 字節(jié)的系統(tǒng)內(nèi)可編程Flash,壽命: 10,000 次寫/

98、擦除周期;</p><p>  圖4-1 系統(tǒng)CPU電路圖</p><p>  具有獨(dú)立鎖定位、可選擇的啟動代碼區(qū);</p><p>  通過片內(nèi)的啟動程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程;</p><p>  真正的讀- 修改- 寫操作;</p><p>  4K字節(jié)的EEPROM ,壽命:100,000 次寫/ 擦除周期;</

99、p><p>  4K 字節(jié)的內(nèi)部SRAM;</p><p>  多達(dá)64K 字節(jié)的優(yōu)化的外部存儲器空間;</p><p>  可以對鎖定位進(jìn)行編程以實現(xiàn)軟件加密;</p><p>  可以通過SPI 實現(xiàn)系統(tǒng)內(nèi)編程;</p><p>  JTAG 接口( 與IEEE 1149.1 標(biāo)準(zhǔn)兼容);</p><

100、;p>  遵循JTAG 標(biāo)準(zhǔn)的邊界掃描功能;</p><p>  支持?jǐn)U展的片內(nèi)調(diào)試;</p><p>  通過JTAG 接口實現(xiàn)對Flash, EEPROM, 熔絲位和鎖定位的編程;</p><p><b>  芯片外設(shè)特點: </b></p><p>  兩個具有獨(dú)立的預(yù)分頻器和比較器功能的8 位定時器/ 計數(shù)

101、器;</p><p>  兩個具有預(yù)分頻器、比較功能和捕捉功能的16 位定時器/ 計數(shù)器;</p><p>  具有獨(dú)立預(yù)分頻器的實時時鐘計數(shù)器;</p><p><b>  兩路8 位PWM;</b></p><p>  6路分辨率可編程(2 到16 位)的PWM;</p><p><b&

102、gt;  輸出比較調(diào)制器;</b></p><p>  8路10 位ADC;</p><p><b>  8 個單端通道;</b></p><p><b>  7 個差分通道;</b></p><p>  2 個具有可編程增益(1x, 10x, 或200x)的差分通道;</p>

103、;<p>  面向字節(jié)的兩線接口;</p><p>  兩個可編程的串行USART;</p><p>  可工作于主機(jī)/ 從機(jī)模式的SPI 串行接口;</p><p>  具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時器;</p><p><b>  片內(nèi)模擬比較器;</b></p><p>

104、  系統(tǒng)設(shè)計人工按鍵復(fù)位電路,在系統(tǒng)運(yùn)行中出現(xiàn)故障時可方便地人工按鍵復(fù)位,如圖4-1所示。在掉電情況下,二極管給電容提供了放電通道,使電容迅速放電,這樣可保證在反復(fù)上電的情況下可靠復(fù)位。</p><p>  4.3 CAN模塊電路</p><p>  CAN總線的兩個末端之間必須接有120歐姆的電阻,它的主要作用就是起到阻抗匹配的作用,否則無法進(jìn)行通信,系統(tǒng)的可靠性與穩(wěn)定性將不能得到保證。

105、</p><p>  在PCA82C250的兩端與地之間可以并接兩個30pf的小電容,以濾除高頻干擾,防止電磁輻射。在各個電源與地之間加入100nF的去耦合電容,用以降低干擾。</p><p>  圖4-2CAN模塊電路原理圖</p><p>  從圖中可以看到在PCA82C250與光電耦合器之間,有一個上拉電阻,這個電阻,可以保證高速光耦6N137導(dǎo)通的時候輸出高

106、電平,截止的時候輸出低電平。在CAN總線系統(tǒng)中,一般處于空閑或者不發(fā)送數(shù)據(jù),或者數(shù)據(jù)異常等情況下,總線是隱性電平。因此從電路中可以看到,當(dāng)正常狀態(tài)的情況下,并且6N137不導(dǎo)通的時候,PCA82C250的發(fā)送端總是處于高電平(邏輯1)的狀態(tài),因此就可以保證總線在空閑狀態(tài)下是隱性電平。</p><p>  PCA82C250是一個高速CAN總線收發(fā)器,支持1 Mb/s 的運(yùn)行速率,符合ISO-11898 標(biāo)準(zhǔn)物理層

107、要求。具有自動檢測TXD輸入端的接地錯誤,短路保護(hù)和高壓瞬態(tài)保護(hù)能力,可以連接112個節(jié)點,具有很強(qiáng)的抗干擾特性。</p><p>  一般情況下,每一個節(jié)點都必須有一個器件,把CAN總線控制器生成的數(shù)字信號轉(zhuǎn)化成適合總線傳輸?shù)牟罘中盘?。它在CAN 控制器和CAN總線上的高壓尖峰信號之間加入了緩沖器,這些高壓尖峰信號可能是由外部器件產(chǎn)生(EMI、ESD 和電氣瞬態(tài)等)。</p><p> 

108、 PCA82C250具有很強(qiáng)的抗干擾能力,可以免受電池短路和電氣瞬態(tài)的影響,這一特性可以保護(hù)發(fā)送器的輸出端免受錯誤的破壞。PCA82C250的CAN輸出可以驅(qū)動最小為45Ω的負(fù)載,最多允許連接112個節(jié)點(假設(shè)最小差分輸入阻抗為20 kΩ和標(biāo)稱終端電阻為120Ω)[19]。</p><p>  4.4 DS18B20溫度采集模塊</p><p>  系統(tǒng)溫度采集使用溫度芯片DS18B20。

109、DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO—92小體積封裝形式。如圖4-3所示。</p><p>  圖4-3 DS18B20模塊</p><p>  DS18B20的測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的

110、端口較少,可節(jié)省大量的引線和邏輯電路。DS18B20支持“一線總線”接口,測量溫度范圍為-55℃—+l25℃,在-10℃—+85℃范圍內(nèi),精度為±0.5℃。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。</p><p><b>  4.5 顯示模塊</b></p>

111、<p>  主站系統(tǒng)采用12864液晶顯示從站傳回的數(shù)據(jù)信息,12864液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置國標(biāo)GB2312碼簡體中文字庫(16×16點陣)、128個字符(8×16點陣)及64×256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模

112、式等。由于從站顯示數(shù)據(jù)量相對較少,所以系統(tǒng)從站采用1602液晶作為顯示模塊。1602液晶可以顯示2行16個字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、EN三個控制端口,工作電壓為5V,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光。工作電路圖如圖4-4所示[21]。</p><p>  圖4-4 顯示模塊電路原理圖</p><p><b>  4.6電源模塊</b></p&g

113、t;<p>  系統(tǒng)電源模塊由3部分組成:①CPU及CAN模塊電源;② TC35模塊電源;③工業(yè)以太網(wǎng)模塊電源。</p><p>  主控制器ATmega128工作電壓為+4.5V—+5.5V,圖4-5中,三端穩(wěn)壓管LM7805將前端輸入的+9V電壓穩(wěn)成+5V給系統(tǒng)CPU以及CAN模塊供電,C204、C205、C206、C208為濾波電容,主要能濾掉電源電路中的中高頻尖峰干擾;D200為保護(hù)二極管,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論