

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p> 基于CAN總線的汽車電器網(wǎng)絡(luò)設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 隨著社會(huì)的發(fā)展,汽車逐漸成為人們生活中不可缺少的交通工具。電子裝置在汽車上的使用使汽車的駕駛更加舒適安全。為了滿足人們對(duì)于汽車性能越來越高的要求,汽車上裝備
2、的電子裝置、控制單元也在不斷增加,傳統(tǒng)的線束已遠(yuǎn)遠(yuǎn)不能滿足復(fù)雜的控制系統(tǒng)要求。汽車CAN總線技術(shù)的引入給汽車電子控制技術(shù)帶來了新的飛躍。CAN總線技術(shù)不僅滿足了車身控制的功能要求,而且可以降低成本、簡(jiǎn)化車身冗余線束。</p><p> 本文提出了一種基于CAN總線的汽車電器網(wǎng)絡(luò)的設(shè)計(jì)方案。設(shè)計(jì)中采用了ATmega128作為主控制器,CAN模塊電路主要采用了CAN總線控制器SJA1000、總線驅(qū)動(dòng)器PCA82C2
3、50以及高速光耦6N137,通過ATmega128控制工作在PeliCAN 模式下的SJA1000實(shí)現(xiàn)各ECU單元之間的通信。</p><p> 文中完成了系統(tǒng)軟件開發(fā),并在CAN2.0B通信協(xié)議以及車用CAN協(xié)議(SAEJ1939)的基礎(chǔ)上制定了基于車身控制模塊的應(yīng)用層協(xié)議;同時(shí),為保證系統(tǒng)能夠穩(wěn)定、可靠地工作,文中針對(duì)系統(tǒng)工作中可能出現(xiàn)的干擾因素進(jìn)行了分析,并進(jìn)行了軟硬件的抗干擾設(shè)計(jì)。</p>
4、<p> 通過聯(lián)機(jī)調(diào)試,驗(yàn)證了整個(gè)系統(tǒng)通信的可靠性,該網(wǎng)絡(luò)能夠較好地達(dá)到車內(nèi)總線對(duì)于信號(hào)傳輸?shù)膶?shí)時(shí)性與穩(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)前國(guó)內(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é)議的性能特點(diǎn)3</p><p> 2.3 CAN 節(jié)點(diǎn)的分層結(jié)構(gòu)4</p><p> 2.3 報(bào)文傳送及其幀類型5</p><p> 2.3.1 數(shù)據(jù)幀6</p><p> 2.3.2 遠(yuǎn)程幀
15、8</p><p> 2.3.3 出錯(cuò)幀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è)計(jì)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的幾個(gè)控制模塊15</p><p> 3.4CAN總線驅(qū)動(dòng)器PCA82C25016</p><p> 3.4.1 CAN總線驅(qū)動(dòng)器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è)計(jì)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按鍵信號(hào)采集接口電路25</p><p> 4.9 液位檢測(cè)模塊25</p><p> 4.10汽車車燈控制器設(shè)計(jì)26</p><p> 4.11電路板設(shè)計(jì)時(shí)注意事項(xiàng)27</p>&l
20、t;p> 4.12本章小結(jié)27</p><p> 第五章 CAN總線網(wǎng)絡(luò)軟件設(shè)計(jì)29</p><p> 5.1 CAN總線系統(tǒng)智能節(jié)點(diǎn)的軟件設(shè)計(jì)29</p><p> 5.1.1初始化過程29</p><p> 5.1.2報(bào)文發(fā)送過程30</p><p> 5.1.3報(bào)文接收過程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 超聲波傳感器檢測(cè)液位流程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液位測(cè)量41</p><p> 6.3.3 CAN通信測(cè)試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)整體測(cè)試評(píng)估45</p><p> 7.3對(duì)以后工作的展望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ā)動(dòng)機(jī)電控系統(tǒng)、防抱死系統(tǒng)(ABS)、自動(dòng)巡航系統(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)行點(diǎn)對(duì)點(diǎn)連接的傳輸方式將是復(fù)雜的工程,據(jù)統(tǒng)計(jì),如果一個(gè)中級(jí)轎車需要線束插頭300個(gè)以上,插針總數(shù)1800~2200個(gè),線束總長(zhǎng)超過1.5~2.0km,裝
27、配復(fù)雜而且故障率很高。傳統(tǒng)的線束已遠(yuǎn)遠(yuǎn)不能滿足復(fù)雜的控制系統(tǒng)要求。CAN總線應(yīng)運(yùn)而生,CAN總線能夠以較低的成本、高級(jí)的時(shí)實(shí)處理能力在強(qiáng)電磁干擾環(huán)境下高安全工作[1]。</p><p> 1.2當(dāng)前國(guó)內(nèi)外汽車CAN總線的研究情況</p><p> 早在20世紀(jì)80年代初,Bosch(博世)公司開發(fā)出面向汽車的CAN(Control Area Network)通信協(xié)議。與一般的通信總線相
28、比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。由于其良好的性能及獨(dú)特的設(shè)計(jì),CAN總線越來越受到人們的重視。它在汽車領(lǐng)域上的應(yīng)用是最廣泛的,世界上一些著名的汽車制造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時(shí)捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都采用了CAN總線來實(shí)現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測(cè)和執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)通信[2]-[3]。</p><p> 目前
29、,國(guó)外的汽車總線技術(shù)已經(jīng)成熟,并且已經(jīng)成為現(xiàn)代汽車的標(biāo)準(zhǔn)技術(shù),汽車制造業(yè)發(fā)達(dá)的國(guó)家基本都在汽車制造工程中應(yīng)用CAN總線技術(shù)[4]-[7]。CAN總線作為汽車制造裝配的高級(jí)核心技術(shù),國(guó)外汽車制造商與研發(fā)機(jī)構(gòu)對(duì)我國(guó)是采取的是封鎖政策,即使在中國(guó)合資的國(guó)外引進(jìn)品牌,也是列入國(guó)產(chǎn)化部件外,國(guó)外CAN總線進(jìn)口到中國(guó)價(jià)格相當(dāng)昂貴,在高新技術(shù)上制約著我國(guó)汽車制造業(yè)的發(fā)展[8]。</p><p> 我國(guó)總線技術(shù)處于試驗(yàn)和起步階
30、段,絕大部分的汽車還沒有采用自主研發(fā)的汽車總線設(shè)計(jì)。但CAN總線技術(shù)已經(jīng)開始引起國(guó)內(nèi)一些汽車研發(fā)部門的關(guān)注,如中國(guó)汽車技術(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> 本研究的意義在于簡(jiǎn)化現(xiàn)代汽車車身中日益復(fù)雜的電子控制設(shè)備之間的連線,廢除汽車上傳統(tǒng)的主電纜線束系統(tǒng),有效的增強(qiáng)系統(tǒng)的可靠性及降低系統(tǒng)的綜合成本,提高汽車的系統(tǒng)化、智能化程度,并且為汽車性能的高檔次提供技術(shù)平臺(tái),形成新產(chǎn)品和技術(shù)儲(chǔ)備。</p><p><b> 1.4課題主要內(nèi)容</b&g
32、t;</p><p> 本課題研究了基于CAN總線的汽車通信系統(tǒng)的設(shè)計(jì)問題, 實(shí)現(xiàn)了汽車電器控制單元(ECU)的直接數(shù)據(jù)傳輸。本課題的主要研究?jī)?nèi)容為:</p><p> (1) 參考通用CAN2.0B協(xié)議和車用CAN協(xié)議(SAEJ1939),制定自己的應(yīng)用層協(xié)議;</p><p> (2) 汽車電器控制網(wǎng)絡(luò)的模塊設(shè)計(jì);</p><p>
33、 (3) CAN 總線控制系統(tǒng)的硬件電路設(shè)計(jì);</p><p> (4) CAN 總線控制系統(tǒng)的軟件電路設(shè)計(jì);</p><p> (5) 軟硬件聯(lián)機(jī)調(diào)試;</p><p> (6) 對(duì)當(dāng)前工作的總結(jié)及對(duì)以后工作的展望。</p><p> 第二章 CAN總線通信原理</p><p> 本章主要研究了CAN通
34、信原理,分別對(duì)CAN總線協(xié)議的性能特點(diǎn)、CAN節(jié)點(diǎn)的分層結(jié)構(gòu)、數(shù)據(jù)幀結(jié)構(gòu)、遠(yuǎn)程幀結(jié)構(gòu)、出錯(cuò)幀結(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 總線是國(guó)際標(biāo)準(zhǔn)的網(wǎng)絡(luò)控制器,是串行通信協(xié)議,一般是使用在汽車電子行業(yè),隨著技術(shù)的發(fā)展,已經(jīng)開始使用在各
35、個(gè)領(lǐng)域,醫(yī)療、航海、工業(yè)自動(dòng)化、工控設(shè)備等等領(lǐng)域。本課題也是基于 CAN 總線的一個(gè)新的課題。它的出現(xiàn)使得分布式控制系統(tǒng)的各個(gè)節(jié)點(diǎn)之間的實(shí)時(shí)、穩(wěn)定的數(shù)據(jù)傳輸?shù)玫搅吮U稀?lt;/p><p> CAN 總線是德國(guó) BOSCH 公司在 80 年代的時(shí)候,為解決汽車中存在的眾多問題而設(shè)計(jì),它工作于多主從方式,網(wǎng)絡(luò)中的節(jié)點(diǎn)是根據(jù)優(yōu)先級(jí)來向總線競(jìng)爭(zhēng)發(fā)送數(shù)據(jù)的,采用的是 CSMA/CD(載波偵聽多路訪問/沖突檢測(cè)),無(wú)損結(jié)構(gòu)逐
36、位仲裁技術(shù),廢除了站節(jié)點(diǎn)地址編碼,而使用對(duì)通信數(shù)據(jù)進(jìn)行編碼,使得每個(gè)節(jié)點(diǎn)可以接收相同的數(shù)據(jù)。這樣構(gòu)成的系統(tǒng)通信實(shí)時(shí)性強(qiáng),冗余性好,系統(tǒng)靈活性高。與之相比,以往采用 RS485 結(jié)構(gòu)的系統(tǒng),通信方式不靈活,底層驅(qū)動(dòng)需要自己編寫,可靠性差。</p><p> 由于采用了許多新技術(shù)及獨(dú)特的設(shè)計(jì),如總線自動(dòng)關(guān)閉輸出的功能,完善的通信協(xié)議,降低了開發(fā)的難度,縮短開發(fā)的周期等,是以前的 RS485 系統(tǒng)無(wú)法比擬的[14]。
37、</p><p> 2.2 CAN 總線協(xié)議的性能特點(diǎn)</p><p> 控制器局域網(wǎng)(Controller Area Net)簡(jiǎn)稱CAN 總線,是德國(guó)BOSCH 公司于80 年代初為解決現(xiàn)代汽車中眾多的電控模塊(ECU)之間的數(shù)據(jù)交換而開發(fā)的一種串行通信協(xié)議[2]-[3]。CAN 總線采用了多主競(jìng)爭(zhēng)式總線結(jié)構(gòu),具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn)。CAN 總線上的任意
38、節(jié)點(diǎn)可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。CAN 總線協(xié)議廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11 位或29 位二進(jìn)制數(shù)組成,這樣就可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制。CAN 總線具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實(shí)時(shí)性,而且簡(jiǎn)單實(shí)用,網(wǎng)絡(luò)成本低,特別適用于汽車計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動(dòng)大的工業(yè)環(huán)境。具體來說其主要特點(diǎn)有:</
39、p><p> (1) 采用通訊數(shù)據(jù)塊編碼,可實(shí)現(xiàn)多主工作方式,數(shù)據(jù)收發(fā)方式靈活,可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等多種傳輸方式;</p><p> (2) 采用非破壞性基于優(yōu)先權(quán)的總線仲裁技術(shù),具有暫時(shí)錯(cuò)誤和永久性故障節(jié)點(diǎn)的判別及故障節(jié)點(diǎn)的自動(dòng)脫離功能,使系統(tǒng)其他節(jié)點(diǎn)的通信不受影響;</p><p> (3) CAN 節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)閉總線的功
40、能,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響;</p><p> (4) 采用統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,使各設(shè)備之間具有較好的互操作性和互換性,系統(tǒng)的通用性好;</p><p> (5) 通訊介質(zhì)可采用雙絞線,無(wú)特殊要求;現(xiàn)場(chǎng)布線和安裝簡(jiǎn)單,易于維護(hù),經(jīng)濟(jì)性好。只有2 根線與外部相連,且內(nèi)部含有錯(cuò)誤探測(cè)和管理模塊;</p><p> (6) 網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分
41、成不同的優(yōu)先級(jí),可以滿足不同的實(shí)時(shí)要求;</p><p> (7) CAN 總線通信格式采用短幀格式,每一幀的有效字節(jié)數(shù)為8 個(gè)(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短;</p><p> (8) 采用非破壞性總線仲裁技術(shù)。當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突;
42、</p><p> (9) 直接通信距離最大可達(dá)10km(速率5kb/s 以下),最高通信速率可達(dá)1Mb/s (此時(shí)距離最長(zhǎng)為40m);</p><p> (10) CAN 總線采用CRC 檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。</p><p> 圖 2-1 CAN 總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)</p><p> 按照總線的技術(shù)
43、規(guī)范與總線的電氣特性,一般最多支持 128 個(gè)節(jié)點(diǎn),在差分總線的兩端必須接一個(gè)匹配電阻。各個(gè)節(jié)點(diǎn)之間無(wú)需匹配電阻,而且分支最好越短越好。與其他總線相比,CAN 總線具有通信速率高,實(shí)現(xiàn)容易,性價(jià)比高的,并且已經(jīng)實(shí)現(xiàn)國(guó)際標(biāo)準(zhǔn)的總線,應(yīng)用于各個(gè)領(lǐng)域、航天、工業(yè)、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械,具有廣泛的運(yùn)用前景[15]-[18]。</p><p> 2.3 CAN 節(jié)點(diǎn)的分層結(jié)構(gòu)</p><p>
44、; CAN總線是由不同層次構(gòu)成,CAN2.0A包括目標(biāo)層、傳輸層和物理層。CAN2.0B 包括數(shù)據(jù)鏈路層與物理層,數(shù)據(jù)鏈路層包括邏輯鏈路控制和媒體訪問控制兩層;物理層包括物理信號(hào),物理媒體附屬裝置,媒體相關(guān)接口。CAN2.0A節(jié)點(diǎn)的分層結(jié)構(gòu)如下圖 2-2 所示。</p><p> 圖 2-2 CAN2.0A 節(jié)點(diǎn)的分層結(jié)構(gòu)</p><p> CAN2.0A 技術(shù)規(guī)范,定義了傳輸層以及
45、與 CAN 協(xié)議有關(guān)的外層,目標(biāo)層的功能是確定被接收的報(bào)文實(shí)際是否被使用,以及通過過濾器屏蔽器對(duì)報(bào)文的濾波,確定報(bào)文是否可以被接收進(jìn)來。當(dāng)報(bào)文接收過程中出現(xiàn)了錯(cuò)誤,報(bào)文就會(huì)置位相應(yīng)的狀態(tài)標(biāo)志位。設(shè)計(jì)人員可以根據(jù)這些位來判斷是什么情況組成的這個(gè)錯(cuò)誤。傳輸層主要是報(bào)文的故障界定、檢錯(cuò)、確認(rèn)、應(yīng)答、仲裁、位定時(shí)等等。傳輸層確定新的一幀數(shù)據(jù)的發(fā)送,確定總線是不是開發(fā)或者是不是可以開始接收數(shù)據(jù)了。傳輸層是不存在修改的靈活性的。物理層定義了實(shí)際數(shù)據(jù)
46、發(fā)送,包括物理層定義信號(hào)時(shí)如何發(fā)送的,用什么樣的電平表示高電平,什么電平表示低電平,可以采用雙絞線或者是光電纜等進(jìn)行數(shù)據(jù)的發(fā)送。對(duì)這個(gè)物理層沒有具體定義,用戶可以根據(jù)自己的需要進(jìn)行修改[3]。</p><p> 2.3 報(bào)文傳送及其幀類型</p><p> 在數(shù)據(jù)發(fā)送與接收的過程中,報(bào)文的發(fā)送器就是發(fā)出報(bào)文的單元。在總線空閑或該單元失去仲裁場(chǎng)之前為發(fā)送器。若總線處于空閑狀態(tài),并且節(jié)點(diǎn)并
47、非處于報(bào)文發(fā)送狀態(tài),則該單元稱為接收器。</p><p> 報(bào)文發(fā)送器與接收器的有效時(shí)點(diǎn)是不同的。對(duì)發(fā)送器,一旦總線空閑,報(bào)文立刻發(fā)送,直到報(bào)文結(jié)束。如果出現(xiàn)錯(cuò)誤,總線就會(huì)發(fā)送錯(cuò)誤幀,停止數(shù)據(jù)的發(fā)送,等總線空閑狀態(tài)下,數(shù)據(jù)又開始重新發(fā)送這一幀數(shù)據(jù),按照優(yōu)先級(jí)的高低來發(fā)送數(shù)據(jù),這樣可以保證系統(tǒng)的數(shù)據(jù)的正確性,對(duì)于接收器來說,如果在接收過程中未出現(xiàn)錯(cuò)誤,則數(shù)據(jù)有效,如果出現(xiàn)錯(cuò)誤,那么總線會(huì)重新發(fā)送數(shù)據(jù)給接收器,CA
48、N 總線會(huì)自動(dòng)把暫時(shí)性錯(cuò)誤與永久性錯(cuò)誤區(qū)分開來。這樣就不會(huì)因?yàn)槟硞€(gè)節(jié)點(diǎn)的錯(cuò)誤導(dǎo)致系統(tǒng)的崩潰。</p><p> 幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)和 CRC 序列都是通過對(duì)每一位進(jìn)行填充來編碼的。當(dāng)數(shù)據(jù)中有五個(gè)連續(xù)地相同的電平的時(shí)候,總線就會(huì)在第六個(gè)位電平處插入相反的電平,主要是為了能夠使信號(hào)保持同步。</p><p> 數(shù)據(jù)幀或遠(yuǎn)程幀的 CRC 界定符,應(yīng)答場(chǎng)和幀結(jié)束的形式一般是比較固定
49、,無(wú)需進(jìn)行位填充。出錯(cuò)幀和超載幀也是采用同樣的格式,也不需要位填充。報(bào)文中的位流按照非歸零(NRZ-NON-Return-to-Zero)碼方法編碼,這意味著一個(gè)完整位電平要么是“顯性”,要么是“隱性”的。</p><p> 報(bào)文數(shù)據(jù)一般發(fā)送的話,是按四種不同的幀來表示與控制的。數(shù)據(jù)幀主要是從發(fā)送器到接收器發(fā)送數(shù)據(jù)。遠(yuǎn)程幀主要發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀。出錯(cuò)幀的功能是檢測(cè)總線的錯(cuò)誤,一旦發(fā)現(xiàn)錯(cuò)誤,就會(huì)發(fā)出錯(cuò)誤幀
50、。超載幀主要用于為當(dāng)前與后續(xù)的數(shù)據(jù)幀與遠(yuǎn)程幀之間添加附加的延時(shí)[10]。</p><p><b> 2.3.1 數(shù)據(jù)幀</b></p><p> 數(shù)據(jù)幀是由幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC 場(chǎng)、應(yīng)答場(chǎng)、幀結(jié)束組成的。組成結(jié)構(gòu)如圖 2-3 所示。</p><p> 圖 2-3 數(shù)據(jù)幀的組成</p><p>
51、幀起始標(biāo)志一幀新的數(shù)據(jù)的開始,它是由一個(gè)單獨(dú)的“顯性”位(0)組成,不需要用戶在程序中體現(xiàn),由控制芯片自動(dòng)完成,發(fā)送時(shí),總線必須處于空閑狀態(tài),并且所有的站必須與首先開始發(fā)送的站的幀起始的前沿同步。</p><p> 仲裁場(chǎng)由標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位組成。仲裁場(chǎng)的組成框圖如圖 2-4 所示。</p><p> 圖 2-4 仲裁場(chǎng)組成</p><p> 仲裁場(chǎng)包含標(biāo)
52、識(shí)符 ID(標(biāo)準(zhǔn)為11bits),對(duì)應(yīng)其優(yōu)先級(jí)。每個(gè)站在發(fā)送仲裁場(chǎng)時(shí),將發(fā)送位與線路電平比較,若相同則發(fā)送;若不同則得知優(yōu)先級(jí)低而退出仲裁, 不再發(fā)送。系統(tǒng)響應(yīng)時(shí)間與站點(diǎn)數(shù)無(wú)關(guān),只取決于安排的優(yōu)先權(quán)。RTR 位,在數(shù)據(jù)幀中,是“顯性”電平,而 RTR 位,在遠(yuǎn)程幀中是“隱形”電平[10]。</p><p><b> 控制場(chǎng)</b></p><p> 控制場(chǎng)一般由
53、6 位構(gòu)成,如圖 2-5 所示。</p><p> 圖 2-5 控制場(chǎng)組成</p><p> 控制場(chǎng)是由數(shù)據(jù)長(zhǎng)度碼和保留位組成。數(shù)據(jù)長(zhǎng)度碼表示數(shù)據(jù)發(fā)送的數(shù)目。長(zhǎng)度碼一般是 4 位,如表 2-1 所示,其中:d 代表“顯性”,r 代表“隱性”。</p><p> 表 2-1 數(shù)據(jù)長(zhǎng)度碼中,數(shù)據(jù)字節(jié)數(shù)目編碼</p><p> 數(shù)據(jù)發(fā)送的字
54、節(jié)數(shù)一般都是 0~8 個(gè)字節(jié),不能使用其他數(shù)值。</p><p><b> 數(shù)據(jù)場(chǎng)</b></p><p> 數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)構(gòu)成了數(shù)據(jù)場(chǎng),它可包括從 0 至 8 個(gè)字節(jié),一個(gè)字節(jié)一般包括 8 位,高有效位先發(fā)送。</p><p><b> CRC 場(chǎng)</b></p><p> CRC
55、場(chǎng)包括 CRC 序列,后隨 CRC 界定符,CRC 場(chǎng)組成如圖 2-6 所示</p><p> 圖 2-6 CRC 場(chǎng)組成</p><p><b> 應(yīng)答場(chǎng)</b></p><p> 應(yīng)答場(chǎng)為兩位,包含應(yīng)答間隙和應(yīng)答界定符。應(yīng)答場(chǎng)的組成如圖 2-7 所示。</p><p> 圖 2-7 應(yīng)答場(chǎng)組成</p&g
56、t;<p> 當(dāng)接收器接收到報(bào)文,接收器就會(huì)在應(yīng)答間隙期間向發(fā)送器發(fā)送 “顯性”的位以示應(yīng)答。應(yīng)答場(chǎng)長(zhǎ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ù)場(chǎng)。當(dāng)總線某個(gè)節(jié)點(diǎn)請(qǐng)求其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)的時(shí)候,該節(jié)點(diǎn)就會(huì)給具有相同標(biāo)識(shí)符的目
57、標(biāo)節(jié)點(diǎn)發(fā)送遠(yuǎn)程幀,目標(biāo)節(jié)點(diǎn)接收到總線發(fā)來的遠(yuǎn)程幀后,就會(huì)把數(shù)據(jù)發(fā)送給請(qǐng)求節(jié)點(diǎn)。一般遠(yuǎn)程幀是由 6 個(gè)不同的位場(chǎng)組成的。但是與數(shù)據(jù)幀不同的是,遠(yuǎn)程幀的 RTR位是“隱性”的。DLC 是相對(duì)遠(yuǎn)程幀獨(dú)立的,這個(gè)數(shù)值對(duì)應(yīng)于與數(shù)據(jù)幀的長(zhǎng)度。</p><p> 圖 2-8 遠(yuǎn)程幀的組成</p><p><b> 2.3.3 出錯(cuò)幀</b></p><p&g
58、t; 出錯(cuò)幀是檢測(cè)總線出錯(cuò)的一個(gè)信號(hào)標(biāo)志,由兩個(gè)不同場(chǎng)構(gòu)成。第一場(chǎng)由來自不同節(jié)點(diǎn)的錯(cuò)誤標(biāo)志疊加,第二個(gè)場(chǎng)為錯(cuò)誤界定符。CAN 協(xié)議采用 CRC 檢驗(yàn)并提供相應(yīng)的錯(cuò)誤處理功能,保證數(shù)據(jù)通信的可靠性。</p><p> 圖 2-9 出錯(cuò)幀組成</p><p> 錯(cuò)誤標(biāo)志的形式有兩種:(1) 活動(dòng)錯(cuò)誤標(biāo)志;(2) 認(rèn)可錯(cuò)誤標(biāo)志。一般由 6個(gè)連續(xù)的“顯性”位組成一個(gè)活動(dòng)錯(cuò)誤標(biāo)志, 6 個(gè)連續(xù)
59、的“隱性”位組成一個(gè)認(rèn)可錯(cuò)誤標(biāo)志。在每個(gè) CAN 控制器的內(nèi)部都有兩個(gè)錯(cuò)誤計(jì)數(shù)器:發(fā)送錯(cuò)誤計(jì)數(shù)器和接收錯(cuò)誤計(jì)數(shù)器。按錯(cuò)誤計(jì)數(shù)器數(shù)值的不同,CAN 總線上的節(jié)點(diǎn)可以分為 3 種錯(cuò)誤狀態(tài),分別是錯(cuò)誤活動(dòng)狀態(tài)、錯(cuò)誤認(rèn)可狀態(tài)和總線關(guān)閉狀態(tài)。</p><p> 上電復(fù)位后,兩個(gè)錯(cuò)誤計(jì)數(shù)器的數(shù)值都為 0,表示節(jié)點(diǎn)處于正?;顒?dòng)狀態(tài),可正常地進(jìn)行數(shù)據(jù)通信,檢測(cè)到錯(cuò)誤時(shí),發(fā)送活動(dòng)錯(cuò)誤標(biāo)志。當(dāng)錯(cuò)誤計(jì)數(shù)器中的值超過 127 時(shí),節(jié)點(diǎn)
60、進(jìn)入錯(cuò)誤認(rèn)定狀態(tài)。處于錯(cuò)誤狀態(tài)的節(jié)點(diǎn)仍然可以與總線通信,但出錯(cuò)后,總線會(huì)發(fā)送錯(cuò)誤認(rèn)可標(biāo)志,并且在開始發(fā)送數(shù)據(jù)之前,會(huì)插入一段附加的時(shí)間。</p><p> 當(dāng)錯(cuò)誤計(jì)數(shù)器和接收計(jì)數(shù)器里面的值大于或等于 127 時(shí),節(jié)點(diǎn)的狀態(tài)就從錯(cuò)誤認(rèn)可轉(zhuǎn)變?yōu)殄e(cuò)誤活動(dòng)狀態(tài)。若發(fā)送錯(cuò)誤計(jì)數(shù)器的值超過 255 之后,節(jié)點(diǎn)就會(huì)進(jìn)入關(guān)閉狀態(tài),既不能發(fā)送數(shù)據(jù),也不能接收數(shù)據(jù)。當(dāng)軟件執(zhí)行操作模式請(qǐng)求命令,并等待總線釋放序列(11 位連續(xù)隱性位
61、)后,節(jié)點(diǎn)就會(huì)從總線關(guān)閉狀態(tài)重新回到總線錯(cuò)誤活動(dòng)狀態(tài)[3]。</p><p><b> 2.3.4 超載幀</b></p><p> 超載幀一般由 2 個(gè)位場(chǎng)組成:超載標(biāo)志和超載界定符。超載幀組成結(jié)構(gòu)如圖 2-10 所示</p><p> 圖 2-10 超載幀組成</p><p> 在 CAN 總線系統(tǒng)的某個(gè)節(jié)點(diǎn)
62、處理接收到的數(shù)據(jù)的過程中,由于接收到的數(shù)據(jù)需要經(jīng)過一段時(shí)間的處理,但是第二幀數(shù)據(jù)可能會(huì)在數(shù)據(jù)處理的時(shí)候就會(huì)到達(dá),這樣將導(dǎo)致數(shù)據(jù)出錯(cuò),數(shù)據(jù)丟失,因此,接收數(shù)據(jù)的節(jié)點(diǎn)可以發(fā)送超載幀,用于對(duì)第二次數(shù)據(jù)幀到來的時(shí)間進(jìn)行延時(shí),發(fā)送數(shù)據(jù)的節(jié)點(diǎn)接收到超載幀就會(huì)延時(shí)下一幀數(shù)據(jù)的發(fā)送。第二個(gè)發(fā)送超載的條件是間歇場(chǎng)檢出一個(gè)“顯性”位,后一個(gè)超載條件引起的超載幀在檢測(cè)到“顯性”位的后一位開始發(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è)計(jì)當(dāng)前研究的車內(nèi)信息量較少、實(shí)時(shí)性要求不高,故定波特率為20Kbps。</p><p> 汽車電子控制系統(tǒng)各個(gè)控制器節(jié)點(diǎn)的信息我們從多個(gè)方面進(jìn)行設(shè)定,譬如名稱、英文名稱、信號(hào)走向、信號(hào)類型、發(fā)送類
64、型、出發(fā)方式等。</p><p> (1) 信號(hào)類型:狀態(tài)(AI)、受控(AO)、狀態(tài)且受控(DO)、命令(DI);</p><p> (2) 取得方式:周期方式、請(qǐng)求方式、請(qǐng)求且周期、被動(dòng);</p><p> (3) 優(yōu)先級(jí):1一7;</p><p> (4) 發(fā)送類型:被遠(yuǎn)程幀請(qǐng)求才發(fā)送的幀、被告錯(cuò)誤信息的幀、周期發(fā)送的幀、事件觸
65、發(fā)的幀、主動(dòng)發(fā)送的幀。</p><p> 這里以主站給從站1發(fā)送的輪詢信號(hào)為例。主站需要從站的信息時(shí),主站就給相應(yīng)的從站發(fā)送輪詢信號(hào),這些信息可以在一個(gè)數(shù)據(jù)幀中表示。這個(gè)數(shù)據(jù)幀可以命名為“MOSI”。首先,對(duì)數(shù)據(jù)幀的標(biāo)識(shí)符進(jìn)行設(shè)置,其中有優(yōu)先級(jí)、地址(SA)、數(shù)據(jù)長(zhǎng)度碼(DLC)等相關(guān)位。標(biāo)識(shí)符是一個(gè)數(shù)據(jù)幀中最重要的信息,節(jié)點(diǎn)之間能否通訊主要和標(biāo)識(shí)符位設(shè)置的是否合理,例如優(yōu)先級(jí)、地址等位有很大關(guān)系。把相關(guān)的數(shù)據(jù)
66、參數(shù)按照位的形式填充到數(shù)據(jù)場(chǎng)中,不過數(shù)據(jù)參數(shù)要考慮精度、信號(hào)取得方式、優(yōu)先級(jí)等方面。然后我們把數(shù)據(jù)幀打包從主站CAN單元發(fā)送到總線上,從站單元通過CAN控制器的接收濾波器可以收到它所需要的信息幀。然后將采集到的信息發(fā)回給主站。我們將從站1發(fā)回的數(shù)據(jù)命名為“MISO”。下面就是MOSI和MISO一個(gè)打包后的數(shù)據(jù)幀。</p><p> 名稱:MOSI(主站給從站1發(fā)送的輪詢信號(hào))</p><p&
67、gt;<b> 優(yōu)先級(jí):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ù)信號(hào))</p><p><b> 優(yōu)先級(jí):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)中的特點(diǎn)和優(yōu)勢(shì),分析了CAN總線系統(tǒng)的結(jié)構(gòu)原理和通信方式以及CAN總線的通信協(xié)議。并給出了自己基于CAN2.0B和車用CAN協(xié)議(SAEJ1939)制定的應(yīng)用層協(xié)議,為后續(xù)的硬件選型和軟件設(shè)計(jì)提供了參考。</p><
70、p> 第三章 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)</p><p> 本章設(shè)計(jì)了CAN總線控制系統(tǒng)的整體結(jié)構(gòu),并且對(duì)功能模塊進(jìn)行了詳細(xì)的分析。</p><p><b> 3.1系統(tǒng)整體框圖</b></p><p> 本系統(tǒng)的硬件構(gòu)架由五大部分組成,如圖3-1所示,這五大部分可以實(shí)現(xiàn)主站處理單元、車內(nèi)溫度采集單元、車外溫度采集單元、汽車發(fā)動(dòng)機(jī)轉(zhuǎn)速和油
71、箱液位采集單元、汽車車燈和車窗控制單元直接的數(shù)據(jù)傳輸,其中,主站處理單元和從站處理單元的處理器都采用ATMega128作為系統(tǒng)控制器。整個(gè)網(wǎng)絡(luò)通過總線拓?fù)涞男问叫纬苫ヂ?lián)。</p><p> 在本系統(tǒng)中各個(gè)單元的信號(hào)將通過CAN網(wǎng)絡(luò)傳入主站處理單元中,在主站內(nèi)得到處理后再發(fā)送到相關(guān)單元執(zhí)行。溫度、車速、液位等信號(hào)將通過CAN網(wǎng)絡(luò)及時(shí)地傳送到主站處理單元中;同時(shí),用戶通過主站CPU外接的控制按鍵,將車窗開關(guān)、燈光開
72、關(guān)、轉(zhuǎn)向燈開關(guān)等的控制信號(hào)傳入主站CPU,再通過CAN網(wǎng)絡(luò)傳入從站的電控單元。主站處理單元將車內(nèi)需要顯示的信號(hào)通過外接的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、量較多,要簡(jiǎn)化車身模塊數(shù)量,降低硬件成本,提高控制系統(tǒng)可靠性,需要根據(jù)各電器位置及功能對(duì)汽車電子單元(ECU)模塊進(jìn)行合理劃分。本設(shè)計(jì)將電子單元(ECU)劃分成6個(gè)模塊,即CPU、傳感器、顯示器、CAN控制器、光電隔離、CAN驅(qū)動(dòng)器。如圖3-2所示:</p><p> 圖3-2 系統(tǒng)子節(jié)點(diǎn)框圖</p><p> 系統(tǒng)節(jié)點(diǎn)以ATmega128作為控制核心,CAN控制器選用SJA1000,
74、為了防止干擾,CAN控制器與CAN驅(qū)動(dòng)器間采用光電隔離。</p><p> 3.3 CAN控制器SJA1000</p><p> 3.3.1芯片SJA1000概述</p><p> SJA1000是一種獨(dú)立的CAN控制器,主要用于移動(dòng)目標(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)識(shí)碼;</p><p> ● 通信位速率可達(dá)1Mbps;</p><p> ● 包含PeliCAN模式的擴(kuò)展功能;
77、</p><p> ● 24MHz時(shí)鐘頻率;</p><p> ● 可與不同的微處理器進(jìn)行連接;</p><p> ● 可編程的CAN輸出驅(qū)動(dòng)器配置;</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)場(chǎng)系統(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的幾個(gè)控制模塊</p><p><b> ?、?接口管理邏輯</b></p><p> 接口管理邏輯(IML)解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器(CPU)提供中斷信息和狀態(tài)信息。</p><p><b> ?、?發(fā)送緩沖器</b><
80、;/p><p> 發(fā)送緩沖器(TXB)是CPU和BSP(位流處理器)之間的接口。它能夠存儲(chǔ)要通過CAN網(wǎng)絡(luò)發(fā)送的一條完整報(bào)文。緩沖器長(zhǎng)13字節(jié),由CPU寫入、BSP讀出。</p><p><b> ③ 接收緩沖器</b></p><p> 接收緩沖器(RXB,RXFIFO)是接收濾波器和CPU之間的接口,用來存儲(chǔ)從CAN總線上接收并被確認(rèn)的信
81、息。接收緩沖器(RXB,13個(gè)字節(jié))作為接收FIFO(RXFIFO,長(zhǎng)64字節(jié))的一個(gè)窗口,可被CPU訪問。</p><p> CPU在此FIFO的支持下,可以在處理一條報(bào)文的同時(shí)接收其他報(bào)文。</p><p><b> ④ 驗(yàn)收濾波器</b></p><p> 驗(yàn)收濾波器(ACF)接收到的標(biāo)識(shí)碼與自己的內(nèi)容相比較,以決定是否接收這條報(bào)文
82、。在驗(yàn)收測(cè)試通過后,這條完整的報(bào)文就被保存在RXFIFO中。</p><p><b> ?、?位流處理器</b></p><p> 位流處理器(BSP)是一個(gè)在發(fā)送緩沖器、RXFIFO和CAN總線之間控制數(shù)據(jù)流的隊(duì)列(序列)發(fā)生器。它還執(zhí)行總線上的錯(cuò)誤檢測(cè)、仲裁、填充和錯(cuò)誤處理。</p><p><b> ?、?位時(shí)序邏輯</
83、b></p><p> 位時(shí)序邏輯(BTL)監(jiān)視串行的CAN總線和位時(shí)序。它是在一條報(bào)文開頭,總線傳輸出現(xiàn)從隱性到顯性時(shí)同步于CAN總線上的位流(硬同步),并且在其后接收一條報(bào)文的傳輸過程中再同步(軟同步)。</p><p> BTL還提供了可編程的時(shí)間段來補(bǔ)償傳播延時(shí)、相位偏移(例如,由于振蕩器漂移)和定義采樣點(diǎn)和每一位的采樣次數(shù)。</p><p>&l
84、t;b> ?、?錯(cuò)誤管理邏輯</b></p><p> 錯(cuò)誤管理邏輯(EML)負(fù)責(zé)限制傳輸層模塊的錯(cuò)誤。它接收來自BSP的出錯(cuò)報(bào)告,然后把有關(guān)錯(cuò)誤統(tǒng)計(jì)告訴BSP(位流處理器)和IML(接口管理邏輯)。</p><p> 3.4CAN總線驅(qū)動(dòng)器PCA82C250</p><p> 3.4.1CAN總線驅(qū)動(dòng)器PCA82C250概述</p&g
85、t;<p> 82C250是CAN控制器與物理總線之間的接口,它最初是為汽車中的高速應(yīng)用(達(dá)1Mbps)而設(shè)計(jì)的。器件可以提供對(duì)總線的差動(dòng)發(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é)點(diǎn)不會(huì)干擾總線;</p>
87、;<p> ● 總線至少可連接110個(gè)節(jié)點(diǎn)。</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ū)動(dòng)電路內(nèi)部具有限流電路,可防止發(fā)送輸出級(jí)對(duì)電源、地或負(fù)載短路損壞輸出級(jí)。若結(jié)溫超過大約16℃,則兩個(gè)發(fā)送器輸出端極限電流將減小,由于發(fā)送器是功耗的主要部分,因而限制了芯片的溫升,器件的所有其他部分將繼續(xù)工作。PCA82C250采用雙絞線差分驅(qū)動(dòng),有助于抑制汽車等惡劣電氣環(huán)境下的瞬變干擾。</p><p> 引腳8(Rs)用于選定PCA82C
89、250的工作模式。有3種不同的工作模式可供選擇:高速、斜率控制和待機(jī),如表3-2所列。</p><p> 表3-2 引腳Rs用法</p><p> 對(duì)于高速工作模式,發(fā)送器輸出級(jí)晶體管被盡可能快地啟動(dòng)和關(guān)閉。在這種模式下,不采取任何措施限制上升和下降的斜率。此時(shí),建議采用屏蔽電纜以避免射頻干擾問題的出現(xiàn)。通過把引腳8接地可選擇高速工作模式。</p><p>
90、 對(duì)于較低速度或較短的總線長(zhǎng)度,可使用非屏蔽雙絞線或平行線作總線。為降低射頻干擾,應(yīng)限制上升和下降的斜率。上升和下降的斜率可以通過由引腳8至地連接的電阻進(jìn)行控制,斜率正比于引腳8上的電流輸出。</p><p> 如果引腳8接高電平,則電路進(jìn)入低電平待機(jī)模式。在這種模式下,發(fā)送器被關(guān)閉,接收器轉(zhuǎn)至低電流。如果檢測(cè)到顯性位,RXD將轉(zhuǎn)至低電平。微控制器應(yīng)通過引腳8將驅(qū)動(dòng)器變?yōu)檎9ぷ鳡顟B(tài)來對(duì)這個(gè)條件作出響應(yīng)。由于在
91、待機(jī)模式下接收器是慢速的,因此將丟失第一個(gè)報(bào)文。</p><p><b> 3.5本章小結(jié)</b></p><p> 本章詳細(xì)介紹了CAN總線控制系統(tǒng)整體框圖以及最重要的組成部分總線控制SJA1000在總線系統(tǒng)中的位置和功能,并闡述了總線控制器SJA1000和收發(fā)器PCA82C250的結(jié)構(gòu)、特點(diǎn)及工作原理。并對(duì)它們?cè)贑AN總線控制系統(tǒng)中的應(yīng)用進(jìn)行了敘述,對(duì)本設(shè)計(jì)中
92、控制器和收發(fā)器的合理選擇進(jìn)行了分析。</p><p> 第四章 CAN總線網(wǎng)絡(luò)硬件設(shè)計(jì)</p><p> 本章分別對(duì)系統(tǒng)各個(gè)功能模塊的硬件電路進(jìn)行了詳細(xì)描述,并且提出了系統(tǒng)硬件抗干擾措施。</p><p> 4.1 整體方案確定</p><p> CAN 總線得到了 Intel、Infineon、Motorola、Philips 等
93、眾多大公司的支持,提供了許多可以實(shí)現(xiàn) CAN 總線協(xié)議的芯片。CAN 控制器是節(jié)點(diǎn)實(shí)現(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)點(diǎn)是可以與多種類型的單片機(jī)、微型計(jì)算機(jī)的各類標(biāo)準(zhǔn)總線進(jìn)行接口組合,這種設(shè)計(jì)比較靈活,成本較低,缺點(diǎn)是電路設(shè)計(jì)稍微復(fù)雜。</p><p> 第二種方案優(yōu)點(diǎn)是電路設(shè)計(jì)簡(jiǎn)化和緊湊,缺點(diǎn)是成本高。</p><p> 本課題,采用第一種
95、方案。CAN 總線節(jié)點(diǎn)主要由微處理器 ATMega128+獨(dú)立的 CAN 控制器 SJA1000+CAN 收發(fā)器 PCA82C250 構(gòu)成??紤]到汽車環(huán)境的惡劣性,因此,節(jié)點(diǎn)硬件部分除了能正常實(shí)現(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)核具有以下特點(diǎn)[20]:</p><p> 先進(jìn)的 RISC 結(jié)構(gòu);</p><p> 133 條指令 – 大多數(shù)可以在一個(gè)時(shí)鐘周期內(nèi)完成;</p><p> 32×8 通用工作寄存器 + 外設(shè)控制寄存器;</p&
97、gt;<p><b> 全靜態(tài)工作;</b></p><p> 工作于16 MHz 時(shí)性能高達(dá)16 MIPS;</p><p> 只需兩個(gè)時(shí)鐘周期的硬件乘法器;</p><p> 非易失性的程序和數(shù)據(jù)存儲(chǔ)器;</p><p> 128K 字節(jié)的系統(tǒng)內(nèi)可編程Flash,壽命: 10,000 次寫/
98、擦除周期;</p><p> 圖4-1 系統(tǒng)CPU電路圖</p><p> 具有獨(dú)立鎖定位、可選擇的啟動(dòng)代碼區(qū);</p><p> 通過片內(nèi)的啟動(dòng)程序?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)化的外部存儲(chǔ)器空間;</p><p> 可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)軟件加密;</p><p> 可以通過SPI 實(shí)現(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 接口實(shí)現(xiàn)對(duì)Flash, EEPROM, 熔絲位和鎖定位的編程;</p><p><b> 芯片外設(shè)特點(diǎn): </b></p><p> 兩個(gè)具有獨(dú)立的預(yù)分頻器和比較器功能的8 位定時(shí)器/ 計(jì)數(shù)
101、器;</p><p> 兩個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16 位定時(shí)器/ 計(jì)數(shù)器;</p><p> 具有獨(dú)立預(yù)分頻器的實(shí)時(shí)時(shí)鐘計(jì)數(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 個(gè)單端通道;</b></p><p><b> 7 個(gè)差分通道;</b></p><p> 2 個(gè)具有可編程增益(1x, 10x, 或200x)的差分通道;</p>
103、;<p> 面向字節(jié)的兩線接口;</p><p> 兩個(gè)可編程的串行USART;</p><p> 可工作于主機(jī)/ 從機(jī)模式的SPI 串行接口;</p><p> 具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器;</p><p><b> 片內(nèi)模擬比較器;</b></p><p>
104、 系統(tǒng)設(shè)計(jì)人工按鍵復(fù)位電路,在系統(tǒng)運(yùn)行中出現(xiàn)故障時(shí)可方便地人工按鍵復(fù)位,如圖4-1所示。在掉電情況下,二極管給電容提供了放電通道,使電容迅速放電,這樣可保證在反復(fù)上電的情況下可靠復(fù)位。</p><p> 4.3 CAN模塊電路</p><p> CAN總線的兩個(gè)末端之間必須接有120歐姆的電阻,它的主要作用就是起到阻抗匹配的作用,否則無(wú)法進(jìn)行通信,系統(tǒng)的可靠性與穩(wěn)定性將不能得到保證。
105、</p><p> 在PCA82C250的兩端與地之間可以并接兩個(gè)30pf的小電容,以濾除高頻干擾,防止電磁輻射。在各個(gè)電源與地之間加入100nF的去耦合電容,用以降低干擾。</p><p> 圖4-2CAN模塊電路原理圖</p><p> 從圖中可以看到在PCA82C250與光電耦合器之間,有一個(gè)上拉電阻,這個(gè)電阻,可以保證高速光耦6N137導(dǎo)通的時(shí)候輸出高
106、電平,截止的時(shí)候輸出低電平。在CAN總線系統(tǒng)中,一般處于空閑或者不發(fā)送數(shù)據(jù),或者數(shù)據(jù)異常等情況下,總線是隱性電平。因此從電路中可以看到,當(dāng)正常狀態(tài)的情況下,并且6N137不導(dǎo)通的時(shí)候,PCA82C250的發(fā)送端總是處于高電平(邏輯1)的狀態(tài),因此就可以保證總線在空閑狀態(tài)下是隱性電平。</p><p> PCA82C250是一個(gè)高速CAN總線收發(fā)器,支持1 Mb/s 的運(yùn)行速率,符合ISO-11898 標(biāo)準(zhǔn)物理層
107、要求。具有自動(dòng)檢測(cè)TXD輸入端的接地錯(cuò)誤,短路保護(hù)和高壓瞬態(tài)保護(hù)能力,可以連接112個(gè)節(jié)點(diǎn),具有很強(qiáng)的抗干擾特性。</p><p> 一般情況下,每一個(gè)節(jié)點(diǎn)都必須有一個(gè)器件,把CAN總線控制器生成的數(shù)字信號(hào)轉(zhuǎn)化成適合總線傳輸?shù)牟罘中盘?hào)。它在CAN 控制器和CAN總線上的高壓尖峰信號(hào)之間加入了緩沖器,這些高壓尖峰信號(hào)可能是由外部器件產(chǎn)生(EMI、ESD 和電氣瞬態(tài)等)。</p><p>
108、 PCA82C250具有很強(qiáng)的抗干擾能力,可以免受電池短路和電氣瞬態(tài)的影響,這一特性可以保護(hù)發(fā)送器的輸出端免受錯(cuò)誤的破壞。PCA82C250的CAN輸出可以驅(qū)動(dòng)最小為45Ω的負(fù)載,最多允許連接112個(gè)節(jié)點(diǎn)(假設(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的測(cè)溫分辨率可達(dá)0.0625℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的
110、端口較少,可節(jié)省大量的引線和邏輯電路。DS18B20支持“一線總線”接口,測(cè)量溫度范圍為-55℃—+l25℃,在-10℃—+85℃范圍內(nèi),精度為±0.5℃?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。</p><p><b> 4.5 顯示模塊</b></p>
111、<p> 主站系統(tǒng)采用12864液晶顯示從站傳回的數(shù)據(jù)信息,12864液晶顯示模塊是128×64點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置國(guó)標(biāo)GB2312碼簡(jiǎn)體中文字庫(kù)(16×16點(diǎn)陣)、128個(gè)字符(8×16點(diǎn)陣)及64×256點(diǎn)陣顯示RAM(GDRAM)??膳cCPU直接接口,提供兩種界面來連接微處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模
112、式等。由于從站顯示數(shù)據(jù)量相對(duì)較少,所以系統(tǒng)從站采用1602液晶作為顯示模塊。1602液晶可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、EN三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址麑?duì)比度調(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. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于CAN總線的汽車電器系統(tǒng)網(wǎng)絡(luò)化應(yīng)用研究.pdf
- 汽車減振器的設(shè)計(jì)畢業(yè)設(shè)計(jì)(含外文翻譯)
- 畢業(yè)設(shè)計(jì)--汽車can總線技術(shù)研究
- 畢業(yè)設(shè)計(jì)---汽車造型設(shè)計(jì)(含外文翻譯)
- 網(wǎng)絡(luò)爬蟲畢業(yè)設(shè)計(jì)(含外文翻譯)
- 汽車總布置設(shè)計(jì)畢業(yè)設(shè)計(jì)(含外文翻譯)
- 汽車后視鏡畢業(yè)設(shè)計(jì)論文(含外文翻譯)
- 畢業(yè)設(shè)計(jì)--汽車 安全氣囊設(shè)計(jì)(含外文翻譯)
- 畢業(yè)設(shè)計(jì)---汽車變速器設(shè)計(jì)(含外文翻譯)
- 電器售后服務(wù)系統(tǒng)畢業(yè)設(shè)計(jì) (含外文翻譯)
- 網(wǎng)絡(luò)考試系統(tǒng)畢業(yè)設(shè)計(jì)(含外文翻譯)
- 畢業(yè)設(shè)計(jì)---靜電分選機(jī)的機(jī)械與電器設(shè)計(jì)(含外文翻譯)
- 汽車轉(zhuǎn)向器畢業(yè)設(shè)計(jì)(含外文翻譯)
- 基于can總線的溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于 can 總線應(yīng)用系統(tǒng) --主控機(jī)設(shè)計(jì)
- 汽車畢業(yè)設(shè)計(jì)—制動(dòng)器(含外文翻譯)
- 基于CAN-LIN總線的汽車車身網(wǎng)絡(luò)設(shè)計(jì).pdf
- 基于can總線的三電機(jī)協(xié)同控制畢業(yè)設(shè)計(jì)
- 汽車畢業(yè)設(shè)計(jì)—制動(dòng)器(含外文翻譯).doc
- 基于can總線的汽車儀表設(shè)計(jì)【畢業(yè)優(yōu)秀答辯資料】【全套】
評(píng)論
0/150
提交評(píng)論