基于can總線的電池?cái)?shù)據(jù)傳輸【畢業(yè)設(shè)計(jì)】_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  基于CAN總線的電池?cái)?shù)據(jù)傳輸</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí) 機(jī)械設(shè)計(jì)制造及其自動(dòng)化

2、 </p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘要</b></p>

3、<p>  摘要:隨著能源消耗、環(huán)境惡化等問題的日益嚴(yán)重,電動(dòng)汽車和混合動(dòng)力汽車自身具有排放低、節(jié)約能源等優(yōu)點(diǎn),得到大家更多的重視,電池是發(fā)展電動(dòng)汽車的關(guān)鍵,怎樣更好的管理電池系統(tǒng)是電動(dòng)汽車的關(guān)鍵技術(shù)。對于電池管理系統(tǒng)不同的控制單元,它們控制周期也不同,同時(shí)數(shù)據(jù)轉(zhuǎn)換的速度、符控制命令的優(yōu)先級(jí)也不同,因此,就需要一種具有優(yōu)先權(quán)競爭模式的數(shù)據(jù)交換網(wǎng)絡(luò),并且本身也要具有極高的通信速率。控制器局域網(wǎng)(CAN)總線優(yōu)越的容錯(cuò)性和可靠性

4、能夠滿足這種實(shí)時(shí)控制網(wǎng)絡(luò)的要求。</p><p>  本文設(shè)計(jì)了一種的電池信息管理和監(jiān)控的數(shù)據(jù)傳輸模式,以STM32F103R芯片為控制器,通過CAN總線將采集到的電壓和溫度數(shù)據(jù)傳送到PC上。此過程由兩步完成,首先將采集到的電壓和溫度數(shù)據(jù)通過CAN總線進(jìn)行傳輸;由于CAN總線不能與PC直接進(jìn)行通信,因而通過串口RS232將CAN總線獲取的電池?cái)?shù)據(jù)轉(zhuǎn)發(fā)給PC進(jìn)行數(shù)據(jù)處理,同時(shí)也接收PC發(fā)來的數(shù)據(jù),使該系統(tǒng)能夠?qū)崟r(shí)反

5、饋電池的電壓和溫度數(shù)據(jù),準(zhǔn)確掌握電池的工作狀況。</p><p>  關(guān)鍵詞:CAN總線;單片機(jī);電動(dòng)汽車;電池?cái)?shù)據(jù);串口</p><p>  Data transmission based on CAN Bus Battery</p><p>  Abstract:With energy consumption, environmental degradation

6、 and other issues have become increasingly serious, electric cars and hybrid vehicles with low emissions in its energy conservation benefits to get more attention, the development of electric vehicle battery is the prima

7、ry key, how to better manage battery System has become common of all types of key technology of electric vehicles. Battery management system for the control unit to control different cycles are different, data conversion

8、 </p><p>  This paper presents a battery of information management and monitoring of data transfer mode to STM32F103R chip controller, will be collected through the CAN bus, the voltage and temperature data

9、to a PC. This process consists of two steps, first of all the collected voltage and temperature data is transmitted through the CAN bus; the CAN bus can not communicate directly with the PC, so the CAN bus, RS232 serial

10、port for data transmitted to the PC battery for data processing, PC also receives in</p><p><b>  朗讀</b></p><p>  顯示對應(yīng)的拉丁字符的拼音</p><p><b>  字典</b></p>&

11、lt;p>  Key words: CAN bus;SCM;electric vehicle;battery data;serial</p><p><b>  朗讀</b></p><p>  顯示對應(yīng)的拉丁字符的拼音</p><p><b>  字典</b></p><p><b&g

12、t;  目錄</b></p><p><b>  摘要I</b></p><p><b>  目錄III</b></p><p><b>  1.緒論1</b></p><p><b>  1.1引言1</b></p>&

13、lt;p>  1.2局域網(wǎng)分類1</p><p>  1.3 CAN發(fā)展史2</p><p>  1.3.1標(biāo)準(zhǔn)化與一致性3</p><p>  1.3.2 從理論到實(shí)踐4</p><p>  1.3.3 比較CAN通訊與串口通訊4</p><p>  1.3.4 CAN前景展望5</p>

14、<p>  1.4本文的目的和主要工作6</p><p>  2.CAN總線的數(shù)據(jù)傳輸協(xié)議7</p><p>  2.1 CAN總線概述7</p><p>  2.1.1 CAN總線的位數(shù)值表示7</p><p>  2.1.2信息的發(fā)送和接收7</p><p>  2.1.3 CAN的報(bào)文格

15、式7</p><p>  2.1.4 CAN總線的性能分析8</p><p>  2.2CAN總線的數(shù)據(jù)協(xié)議8</p><p>  3. 電池?cái)?shù)據(jù)傳輸?shù)碾娐吩韴D12</p><p>  3.1 PROTEL軟件概述12</p><p>  3.2 設(shè)計(jì)CAN總線傳輸電路12</p><

16、;p>  3.2.1 使用STM32F103R芯片12</p><p>  3.2.2 TAJ105013</p><p>  3.2.3 JATG15</p><p>  3.2.4 MAX23216</p><p>  3.2.5 連接各元件17</p><p>  4. 電池?cái)?shù)據(jù)傳輸?shù)墓δ軐?shí)現(xiàn)1

17、9</p><p>  4.1 CAN通信19</p><p>  4.2 串口通信19</p><p>  4.3 CAN總線通信21</p><p>  5. 總結(jié)及展望24</p><p><b>  5.1 總結(jié)24</b></p><p>  5.2 今

18、后工作展望24</p><p><b>  參考文獻(xiàn)25</b></p><p>  致謝錯(cuò)誤!未定義書簽。</p><p><b>  1.緒論</b></p><p><b>  1.1引言</b></p><p>  伴隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通

19、訊技術(shù)、集成電路技術(shù)的飛速發(fā)展,采用全數(shù)字式的現(xiàn)場總線為特別代表的現(xiàn)場控制儀表、設(shè)備得到大量的使用,讓方便簡單的現(xiàn)場總線網(wǎng)絡(luò)代替了復(fù)雜的現(xiàn)場連線,這樣方便了工業(yè)現(xiàn)場控制。目前,現(xiàn)場總線已經(jīng)形成了多種形式,和相應(yīng)的控制現(xiàn)場比,而對于汽車要求比較較高,溫度變化范圍能達(dá)到-40~80攝氏度,要求抗電磁干擾能力和抗其他相關(guān)電子噪聲能力都非常強(qiáng),汽車是一種載人工具運(yùn)行可靠性也尤其重要。這不僅要求網(wǎng)絡(luò)結(jié)構(gòu)自身的容錯(cuò)能力和抗干擾能力方面,同時(shí)還有信號(hào)

20、編碼和傳輸方式。</p><p>  在汽車局域網(wǎng),同步串行傳輸方式是其主要傳輸方式,PWM、VPW和NRZ編碼是其主要數(shù)據(jù)信號(hào)編碼。汽車采用網(wǎng)絡(luò)技術(shù)的優(yōu)點(diǎn)有:他們使用統(tǒng)一的應(yīng)用層協(xié)議和數(shù)據(jù)定義成為了一個(gè)“開放式系統(tǒng)”,這樣大家都能很好的使用,靈活性相應(yīng)的變強(qiáng)。供應(yīng)商只要遵循以上協(xié)議就能夠輕易地加入該網(wǎng)絡(luò)系統(tǒng)或者從網(wǎng)絡(luò)系統(tǒng)中拆除,甚至不用再修改硬件和軟件,這也正符合現(xiàn)代汽車平臺(tái)式設(shè)計(jì)的理念【1】。這樣的網(wǎng)絡(luò)化設(shè)計(jì)

21、能夠減少相應(yīng)的設(shè)計(jì)成本。專家預(yù)測,21世紀(jì)網(wǎng)絡(luò)技術(shù)成為汽車電子控制的核心【1】。</p><p>  現(xiàn)場總線最初是由世界上最大的汽車零部件供應(yīng)商之一的德國BOSCH公司,在八十年代初專門為汽車電子控制研發(fā)出的控制器局域網(wǎng)協(xié)議[1],隨著不斷的完善和發(fā)展,現(xiàn)在已經(jīng)得到各國汽車制造商認(rèn)同,并且有了相應(yīng)的國際標(biāo)準(zhǔn)。最近十年,電動(dòng)汽車成為熱點(diǎn)話題,并且給予厚望,所以各國的汽車生產(chǎn)商都花了大量的時(shí)間進(jìn)行研究,而電池成為主

22、要研究對象,并且一些大的汽車生產(chǎn)商已經(jīng)總結(jié)出電池的數(shù)學(xué)模型,開發(fā)出不少汽車電池管理系統(tǒng)在車上試用。而這其中有代表性的有:德國B. Hauck設(shè)計(jì)的BATTMAN系統(tǒng);美國通用汽車生產(chǎn)的電動(dòng)汽車EVI上的電池管理系統(tǒng)【2】。根據(jù)CIA統(tǒng)計(jì),僅僅2001年,僅在歐洲就銷售出了超過1億個(gè)CAN總線的節(jié)點(diǎn),這樣數(shù)量幾乎取代了之前所有的RS-485系統(tǒng)。在國內(nèi),由于發(fā)展相對比較晚,得到認(rèn)可度相對也較低,在使用時(shí)大多還是采用RS-485系統(tǒng),這相對

23、還有些距離【2】。</p><p>  本文基于CAN協(xié)議,監(jiān)測鉛蓄電池的電壓和溫度,對鉛蓄電池的工作狀況實(shí)時(shí)反饋。</p><p><b>  1.2局域網(wǎng)分類</b></p><p>  從1980年提出現(xiàn)場總線后,各大國際知名汽車公司都認(rèn)識(shí)到這種總線的重要性,所以都開始積極致力于汽車網(wǎng)絡(luò)技術(shù)的研究和使用。汽車網(wǎng)絡(luò)的使用能夠減少汽車布線的復(fù)

24、雜性,取代了點(diǎn)對點(diǎn)車身布線,而且讓其成為規(guī)范化、標(biāo)準(zhǔn)化,成本也得到降低,可靠性得到增強(qiáng)。網(wǎng)絡(luò)總線形成了多種標(biāo)準(zhǔn),目前,已有Bosch的CAN、SAE的J1850、ISO的VAN、Philips的D2B、LIN協(xié)會(huì)的LIN等多種網(wǎng)絡(luò)標(biāo)準(zhǔn)【4】。而且將其進(jìn)行了分類,如表1-1所示。</p><p>  表1-1 SAE的汽車網(wǎng)絡(luò)分類</p><p>  從功能和位傳輸速率等因素角度考慮,除了上

25、面提到的幾種總線之外,還包括多媒體信息系統(tǒng)總線、安全總線、診斷系統(tǒng)總線等。</p><p>  目前,CAN協(xié)議是C類網(wǎng)絡(luò)協(xié)議的主流,一般使用的是總線傳輸速率在125Kb/s-1Mb/s之間,這也是汽車使用的范圍。</p><p>  1.3 CAN發(fā)展史</p><p>  在1980年早些時(shí)候,Bosch公司便開始采用當(dāng)時(shí)的串行總線用在客車系統(tǒng)中,不過這樣的實(shí)驗(yàn)

26、結(jié)果不是令人滿意的,工程師使用了各種現(xiàn)有的網(wǎng)絡(luò)方案進(jìn)行實(shí)驗(yàn),結(jié)果總是不完全令人滿意的。于是,在1983年初,工程師Use Kiencke決定研究另一種串行總線【3】。而這種總線要在增加新功能的同時(shí)還要減少電氣連接線,方便的應(yīng)用在汽車上,能夠很好的解決之前的問題。Mercedes-Benz的工程師也比較早的發(fā)現(xiàn)這種新總線的重要性,隨后的研究并制定了總線的狀態(tài)說明。作為半導(dǎo)體生產(chǎn)的主要廠商Intel公司,也對其進(jìn)行了較多的研究,它聘請的來自

27、德國的顧問Braunschweig-WolfenbtRte的Applied Science大學(xué)教授Wolfhard Lawrenz博士,給出了新網(wǎng)絡(luò)方案的名字"Controller Area Network",簡稱CAN。并且得到了大家的認(rèn)可。</p><p>  1986年2月,即是CAN的誕生時(shí)刻,在美國汽車工業(yè)大會(huì)上,Robert Bosch公司向大家介紹了這種新型的串行總線—CAN控制器局域網(wǎng)。隨著CAN

28、總線傳輸技術(shù)的不斷改善,以及國際標(biāo)準(zhǔn)的制定,CAN總線得到了非常多的應(yīng)用,不僅表現(xiàn)的汽車方面,而且CAN總線在其他類型的交通工具上也有不少使用了,從火車到輪船還有應(yīng)用在工業(yè)控制上,這樣使得CAN總線的重要性得到了更多的體現(xiàn),已經(jīng)成為了最重要的現(xiàn)場總線之一。</p><p>  1986年2月,在底特律的汽車工程協(xié)會(huì)的大會(huì)上,由Bosch公司研究出的新總線系統(tǒng)被稱作“汽車串行控制器局域網(wǎng)”【4】。Uwe Kienc

29、ke、Siegfried Dais和Martin Litschel他們分別對這種多主網(wǎng)絡(luò)的方案進(jìn)行了介紹。都是基于非破壞性的仲裁機(jī)制,能夠讓高優(yōu)先級(jí)的報(bào)文進(jìn)行無延遲的傳輸[4]。而且,也不需要像其他一些總線須設(shè)置主控制器。除此之外,上述幾位教授和Bosch公司的Wolfgang Borst、Wolfgmag Botzenhard、Otto Karl、Helmut Schelling、Jan Unruh也能夠?qū)崿F(xiàn)數(shù)種CAN的檢測錯(cuò)誤的機(jī)制

30、。在錯(cuò)誤檢測的同時(shí)還要保證剩余節(jié)點(diǎn)之間進(jìn)行正常的通訊。通過它傳輸出的報(bào)文不再同其他很多總線那種依據(jù)報(bào)文發(fā)送器或者接收器的節(jié)點(diǎn)地址識(shí)別,而它是根據(jù)報(bào)文的內(nèi)容進(jìn)行識(shí)別的。與此同時(shí),在使用報(bào)文的標(biāo)識(shí)符還規(guī)定了對應(yīng)的報(bào)文在系統(tǒng)中的優(yōu)先級(jí)。</p><p>  在這種通訊新方案大部分內(nèi)容被制定的基礎(chǔ)上,到1987年中期,半導(dǎo)體公司Intel成功交付了首枚CAN控制器:82526,這標(biāo)志著CAN方案通過硬件得到了實(shí)現(xiàn)。這個(gè)過

31、程只是四年的時(shí)間,工程師們的設(shè)想就變成了現(xiàn)實(shí)。而不久之后,Philips公司半導(dǎo)體推出了82C200。這兩枚最早的CAN控制器在驗(yàn)收濾波和報(bào)文控制方面都有許多不同[4]。一方面,由Intel主推的FullCAN比由Philips主推的BasicCAN在工作時(shí)使用的CPU載荷更少;另一方面,F(xiàn)ullCAN器件能準(zhǔn)確接收的報(bào)文數(shù)目相對又較少,而且BasicCAN控制器在生產(chǎn)時(shí)使用的硅晶體也較少【4】。在今天,對于CAN控制器同一模塊驗(yàn)收濾波

32、和報(bào)文控制方面它們?nèi)匀挥泻芏嗟牟煌?,從而出現(xiàn)了BasicCAN和FullCAN兩大陣營。</p><p>  1.3.1標(biāo)準(zhǔn)化與一致性</p><p>  在20世紀(jì)90年代早些時(shí)候,Bosch CAN規(guī)范(CAN2.0版)就被提交給了國際標(biāo)準(zhǔn)化組織。在經(jīng)過國際組織進(jìn)行多次行政討論之后,在1993年11月正式通過并出版了CAN的國際標(biāo)準(zhǔn)ISO11898。除了使用的CAN協(xié)議之外,還對速率進(jìn)

33、行了規(guī)定最高到1Mbps波特率時(shí)的物理層。與此同時(shí),在后來的國際標(biāo)準(zhǔn)ISO11519-2中國際組織規(guī)定出在傳輸時(shí)CAN數(shù)據(jù)的容錯(cuò)方法[5]。1995年,出版的國際標(biāo)準(zhǔn)ISO11898又對其進(jìn)行了擴(kuò)展補(bǔ)充,并且通過附錄的形式規(guī)定了29位CAN標(biāo)識(shí)符。</p><p>  1.3.2 從理論到實(shí)踐</p><p>  從CAN控制器由理論變成硬件后,CAN便開始得到了迅速的發(fā)展,就像它最初由汽

34、車工業(yè)協(xié)會(huì)提出的,CAN模塊集成器件的半導(dǎo)體生產(chǎn)廠商主要也聚集于汽車工業(yè)里。從20世紀(jì)九十年代中期開始,Infineon公司和Motorola公司便向汽車廠商提供了大量的各種CAN控制器。而到了九十年代后期,以日本為代表的亞洲半導(dǎo)體廠商也陸續(xù)開始提供并使用CAN控制器。并且迅速推廣并得到了發(fā)展。</p><p>  從1992年起,Mercedcs-Benz(奔馳) 最初對他們的高級(jí)客車上使用CAN技術(shù)。這也是使

35、用2個(gè)物理上相互獨(dú)立的CAN總線系統(tǒng),它們之間又使用網(wǎng)關(guān)進(jìn)行連接。主要包括兩個(gè)步驟:第一,CAN總線通過電子控制器對汽車發(fā)動(dòng)機(jī)進(jìn)行控制管理;第二,用CAN總線接收人們發(fā)出的操作指令【6】。這樣讓CAN總線在汽車上得到了順利的使用,其他許多汽車廠商也紛紛趕來學(xué)習(xí),也開始在他們的汽車上模仿使用2套CAN總線系統(tǒng)進(jìn)行傳輸?,F(xiàn)在Volvo、Saab、Volkswagen、BMW、Renault和Fiat等需要汽車生產(chǎn)商都相繼在汽車上使用CAN總

36、線。</p><p>  1.3.3 比較CAN通訊與串口通訊</p><p>  CAN總線是一種很有效的支持分布式控制或者實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。它有很多特點(diǎn):</p><p> ?。?)實(shí)時(shí)性強(qiáng):網(wǎng)絡(luò)各節(jié)點(diǎn)之間可以根據(jù)總線的訪問優(yōu)先權(quán),采用無損結(jié)構(gòu)逐位仲裁的方式,它們競爭向總線發(fā)送相應(yīng)數(shù)據(jù),而且CAN協(xié)議還廢除了站地址編碼,取而代之的是以對通信數(shù)據(jù)進(jìn)行編碼,這

37、樣可以使不同的節(jié)點(diǎn)接收到相同的數(shù)據(jù)[7]。而較之前通常使用的RS-485構(gòu)成的是主從式結(jié)構(gòu)系統(tǒng),通信方式以主站輪詢的方式進(jìn)行,這樣使得整個(gè)系統(tǒng)的實(shí)時(shí)性、可靠性相比明顯差些。</p><p>  (2) 集成CAN協(xié)議:CAN總線的在通信接口處集成有CAN協(xié)議的物理層和數(shù)據(jù)鏈路層的功能,這樣能夠讓CAN總線順利完成對發(fā)送來的數(shù)據(jù)的成幀處理,這些處理包括填充、數(shù)據(jù)塊編碼、優(yōu)先級(jí)判別等工作。</p>&l

38、t;p>  (3)可靠性極強(qiáng):CAN網(wǎng)絡(luò)的規(guī)定數(shù)據(jù)傳輸率最大為1Mbps,通過一個(gè)例子萊明其穩(wěn)定性,假如使用CAN總線數(shù)據(jù)傳輸能力的50%,對于一個(gè)工作壽命為4000小時(shí)、平均報(bào)文長度為80為的系統(tǒng),所能傳送的數(shù)據(jù)總量為9x1010。在系統(tǒng)正常運(yùn)行整個(gè)時(shí)間內(nèi),不可檢測到的傳輸錯(cuò)誤的統(tǒng)計(jì)平均值小于10-2量級(jí)。更具體的說,一個(gè)系統(tǒng)按照每年365天每天工作8個(gè)小時(shí),每秒錯(cuò)誤率取0.7,那么按照統(tǒng)計(jì)平均,每1000年才會(huì)發(fā)生一個(gè)不可檢測

39、到錯(cuò)誤。</p><p> ?。?)國際標(biāo)準(zhǔn):這是CAN總線另外一個(gè)重要的特點(diǎn),與其他現(xiàn)場總線比較,CAN總線是具有容易實(shí)現(xiàn)、通信速率高、性價(jià)比高等諸多種特點(diǎn)。統(tǒng)一的國際標(biāo)準(zhǔn)讓其能夠得到各個(gè)生產(chǎn)廠家的認(rèn)可,只要遵守這樣的標(biāo)準(zhǔn)就能夠順利的得到使用,這些特點(diǎn)也是CAN總線應(yīng)用于眾多領(lǐng)域的基礎(chǔ),且具有強(qiáng)勁的市場競爭力的重要原因。</p><p>  通信即是推薦標(biāo)準(zhǔn)232,其中應(yīng)用較多的是由美國

40、電子工業(yè)協(xié)會(huì)制定的一種串行物理接口標(biāo)準(zhǔn)RS-232-C,此標(biāo)準(zhǔn)組成由25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道[7]。它的特點(diǎn)如下:</p><p>  (1) 它是一種遠(yuǎn)程通信連接數(shù)據(jù)終端,RS-232-C標(biāo)準(zhǔn)最開始是為遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備和相應(yīng)的數(shù)據(jù)通信設(shè)備DCE而制定開發(fā)的,因而在工程師最初制定這個(gè)統(tǒng)一標(biāo)準(zhǔn)時(shí),計(jì)算機(jī)系統(tǒng)的應(yīng)用要求沒有涉及到。但現(xiàn)在在應(yīng)用時(shí),很多時(shí)候是將其應(yīng)用于計(jì)算機(jī)與終端貨外設(shè)之間的近

41、端連接上。但現(xiàn)在在應(yīng)用時(shí),很多時(shí)候是將其應(yīng)用于計(jì)算機(jī)與終端貨外設(shè)之間的近端連接上這樣就出現(xiàn)了這個(gè)標(biāo)準(zhǔn)同有些規(guī)定以及計(jì)算機(jī)系統(tǒng)很多時(shí)候不能很好的融合,甚至出現(xiàn)矛盾情況。這樣導(dǎo)致RS-232-C標(biāo)準(zhǔn)同計(jì)算機(jī)不兼容的情況出現(xiàn)。</p><p>  (2)接口標(biāo)準(zhǔn)出現(xiàn)也比較早,不足之處主要以下幾點(diǎn):</p><p>  接口的信號(hào)電平值比較高,容易損壞接口電路的芯片,又因同TTL電平不兼容故需要采

42、用電平轉(zhuǎn)換電路才能與TTL電路很好連接;</p><p>  接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成的共地傳輸形式,這種共地傳輸很容易出現(xiàn)共模干擾,所以導(dǎo)致出現(xiàn)抗干擾性弱的特點(diǎn);</p><p>  傳輸速率也比較低,在異步傳輸時(shí),波特率僅為20Kbps,從而很多應(yīng)用也受到限制。</p><p>  傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺,而且實(shí)際上僅能用在1

43、5米左右。</p><p>  通過以上比較很清楚的了解到CAN作為現(xiàn)場總線所具有的一些優(yōu)勢,也讓我們深信做這樣的研究具有很重要的價(jià)值。</p><p>  1.3.4 CAN前景展望</p><p>  從CAN誕生到現(xiàn)在已經(jīng)有二十多年了,但它還是有很多不足的地方,需要得到不斷的完善,在2000年時(shí),一個(gè)由多家公司成員組成的ISO任務(wù),便開始制定CAN總線標(biāo)準(zhǔn)IS

44、O11898-4,也是一種時(shí)間觸發(fā)CAN報(bào)文傳輸?shù)膮f(xié)議。并且也被稱作“時(shí)間觸發(fā)通訊的CAN(TTCAN)”。這個(gè)擴(kuò)展在硬件硅片上已經(jīng)得到了實(shí)現(xiàn),這樣的CAN標(biāo)準(zhǔn)不僅實(shí)現(xiàn)閉環(huán)控制下支持報(bào)文的時(shí)間觸發(fā),而且還能夠讓CAN的x-by-wire得到應(yīng)用[8]。</p><p>  TTCAN可將CAN延長5-10年的生命期。CAN發(fā)展空間還非常大,得到重視的程度會(huì)更高,誰也無法準(zhǔn)確預(yù)料到CAN總線系統(tǒng)在下一個(gè)階段的具體發(fā)

45、展趨勢。但可以肯定的是,隨著電動(dòng)汽車得到更多的推廣和相關(guān)技術(shù)的更加成熟,CAN總線會(huì)在電動(dòng)汽車上得到更好更多的應(yīng)用。目前,由于電動(dòng)汽車的電池儲(chǔ)存能力有限,而且生產(chǎn)使用成本也較常用的燃油汽車高出很多,所以在推廣時(shí)還需要更多技術(shù)方面的革新。所以這也提供了很好的機(jī)會(huì),CAN總線也得到更多的重視的同時(shí),在電動(dòng)汽車的應(yīng)用也有很大的發(fā)展和技術(shù)改善空間。</p><p>  本文的目的和主要工作</p><

46、p>  CAN總線已經(jīng)逐漸成為汽車局域網(wǎng)絡(luò)的主流,目前,它也是唯一有國際標(biāo)準(zhǔn)的現(xiàn)場總線,在C類網(wǎng)絡(luò)中的CAN傳輸速率非常高,主要也應(yīng)用在汽車行駛安全相關(guān)、實(shí)時(shí)性要求較高的地方,這主要指汽車動(dòng)力系統(tǒng),而電動(dòng)汽車和混合動(dòng)力汽車成為目前的發(fā)展趨勢,本文的目的是用CAN總線傳輸DC48V鉛蓄電池的數(shù)據(jù)。</p><p>  本文的主要研究如下:</p><p>  1.定義電池?cái)?shù)據(jù)的傳輸協(xié)議

47、。</p><p>  2.設(shè)計(jì)CAN總線傳輸過程,選取相應(yīng)的單片機(jī)芯片以及相關(guān)的配件并使用protel軟件畫出它們的電路原理圖。</p><p>  3.實(shí)現(xiàn)CAN總線的收發(fā)功能,和實(shí)現(xiàn)RS232與PC的通信。</p><p>  2.CAN總線的數(shù)據(jù)傳輸協(xié)議</p><p>  2.1 CAN總線概述</p><p&g

48、t;  由于CAN具有國際標(biāo)準(zhǔn)的條件下,也讓它得到更多的應(yīng)用,而CAN協(xié)議應(yīng)用于特定的場合,它適用網(wǎng)絡(luò)結(jié)構(gòu)簡單、價(jià)格低廉、通常還會(huì)要求數(shù)據(jù)傳輸速度快、能夠滿足實(shí)時(shí)性控制的要求。更多特點(diǎn)和要求如下:</p><p>  2.1.1 CAN總線的位數(shù)值表示</p><p>  CAN能夠使用的物理介質(zhì)較多,例如雙絞線、光纖等都能滿足。而最常用的是雙絞線。在信號(hào)傳輸時(shí)采用差分電壓進(jìn)行傳送,這兩條

49、信號(hào)線被稱為“CANH”和“CANL”,在靜態(tài)情況下,它們電壓均為2.5V左右,此時(shí)它們的狀態(tài)用邏輯“l(fā)”表示,同時(shí)也叫做“隱性”。用CANHLP表示。CANL高時(shí)表示邏輯“0”,被稱為“顯性”。它們通常電壓值分別為:CAN_H=3.5V和CAN_L=I.5V[9]。</p><p>  2.1.2信息的發(fā)送和接收</p><p>  CAN總線在進(jìn)行數(shù)據(jù)發(fā)送時(shí),它通過報(bào)文的形式,廣播給網(wǎng)

50、絡(luò)上所有的節(jié)點(diǎn),這樣讓每個(gè)節(jié)點(diǎn)都接收到發(fā)來的數(shù)據(jù)。報(bào)文起始部分都是標(biāo)識(shí)符,而在不同標(biāo)準(zhǔn)中,標(biāo)識(shí)符位數(shù)也不同,2.0A標(biāo)準(zhǔn)為11位,2.0B標(biāo)準(zhǔn)則為29位【10】。在標(biāo)識(shí)符中,報(bào)文的優(yōu)先級(jí)被定義,標(biāo)識(shí)符具有唯一性,一個(gè)系統(tǒng)里面就只有一種標(biāo)識(shí)符,這樣讓CAN節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),對應(yīng)的CPU就會(huì)把準(zhǔn)備發(fā)送的數(shù)據(jù)和需要的標(biāo)識(shí)符傳送到專門的CAN傳輸控制芯片的輸出緩沖區(qū),使其成為準(zhǔn)備狀態(tài)。此時(shí)看總線處于何種狀態(tài),若空閑,則節(jié)點(diǎn)轉(zhuǎn)為發(fā)送報(bào)文狀態(tài);若繁忙

51、競爭,則總線進(jìn)行仲裁,將高優(yōu)先級(jí)的報(bào)文標(biāo)識(shí)符先進(jìn)行發(fā)送。在發(fā)送狀態(tài)時(shí),CAN的控制芯片同時(shí)進(jìn)行組織和發(fā)送,網(wǎng)絡(luò)上其他節(jié)點(diǎn)也都處在接收狀態(tài)。每個(gè)節(jié)點(diǎn)都會(huì)收到報(bào)文且同時(shí)進(jìn)行檢測,再根據(jù)濾波掩碼的設(shè)置進(jìn)行判斷,看是否對接收到的報(bào)文進(jìn)行下一步處理。</p><p>  2.1.3 CAN的報(bào)文格式</p><p>  報(bào)文傳輸是由四種不同的幀類型所表示和控制,下面是報(bào)文傳輸?shù)膸愋?</p&

52、gt;<p>  數(shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。</p><p>  遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀。 </p><p>  錯(cuò)誤幀:任何單元檢測到一個(gè)總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。</p><p>  超載幀:用以在先行的和后續(xù)的數(shù)據(jù)(或遠(yuǎn)程幀)之間提供一附加的延時(shí)【8】。</p><p>  2

53、.1.4 CAN總線的性能分析</p><p>  (1)CAN總線的可靠性 </p><p>  CAN總線自身具有非常好的錯(cuò)誤檢測能力,常見的錯(cuò)誤檢測方法就有五種方法。并且CAN節(jié)點(diǎn)在出現(xiàn)嚴(yán)重錯(cuò)誤時(shí)能夠進(jìn)行自動(dòng)關(guān)閉輸出,很好的防止其他節(jié)點(diǎn)受到影響。CAN總線的出現(xiàn)就是為了汽車控制系統(tǒng)而開發(fā)出的,汽車作為載人工具,它的運(yùn)行穩(wěn)定性要求很高,所以CAN從誕生便將極強(qiáng)的可靠性作為基本條件進(jìn)行研

54、究的,這也讓CAN一出現(xiàn)就有著較高的穩(wěn)定性,下面具體數(shù)據(jù)可以說明:一個(gè)以1Mbps速率傳輸,50%的寬帶使用,8090位每幀的系統(tǒng),每年按照365天計(jì)算,每天正常工作8小時(shí),那么按照平均計(jì)算,則每一千年才會(huì)出現(xiàn)一個(gè)不可檢測的錯(cuò)誤,由此可以看出CAN總線實(shí)現(xiàn)了極高的可靠性[14]。</p><p>  (2)CAN總線的實(shí)時(shí)性</p><p>  CAN總線大多采用總線仲裁技術(shù)CSMA/CD

55、-NDBA【14】,同時(shí)CAN協(xié)議在傳輸時(shí)通常使用短幀結(jié)構(gòu),開標(biāo)識(shí)符ID,位填充,應(yīng)答等,對于每幀,能達(dá)八字節(jié)的有效數(shù)據(jù)傳輸,同時(shí)最高傳輸速度達(dá)1Mbps,這些能很好的滿足CAN總線的實(shí)時(shí)性要求。還有另外一點(diǎn),在發(fā)現(xiàn)發(fā)送錯(cuò)誤時(shí),自動(dòng)重新發(fā)送的時(shí)間也很短[15]。更加重要的是,在進(jìn)行CAN報(bào)文傳輸時(shí)被分成不同的優(yōu)先級(jí)別,這是CAN協(xié)議依據(jù)標(biāo)識(shí)符ID,一旦總線傳送出現(xiàn)沖突,那些級(jí)別較高的數(shù)據(jù)優(yōu)先去占用總線進(jìn)行傳輸,這樣使數(shù)據(jù)等待的時(shí)間將小于

56、134微秒。</p><p>  (3)CAN總線的靈活性和開放性</p><p>  CAN的工作是通過多主方式進(jìn)行的,它們在網(wǎng)絡(luò)上傳輸時(shí)不進(jìn)行主從區(qū)別,從而實(shí)現(xiàn)了靈活通信,能夠滿足隨時(shí)主動(dòng)朝網(wǎng)絡(luò)上的相應(yīng)節(jié)點(diǎn)傳輸通信。而進(jìn)行報(bào)文的標(biāo)識(shí)符ID,CAN便開始得到了迅速的發(fā)展,就像它最初由汽車工業(yè)協(xié)會(huì)提出的,CAN模塊集成器件的半導(dǎo)體生產(chǎn)廠商主要也聚集于汽車工業(yè)里。</p>&l

57、t;p>  CAN總線的數(shù)據(jù)協(xié)議</p><p>  需要測的DC48V鉛蓄電池的數(shù)據(jù)有:</p><p>  單個(gè)電池的電壓和所有電池的總電壓,單個(gè)電池的額定電壓為2V,所以取 單個(gè)電壓范圍為0-3V,總電壓范圍是0-72V,數(shù)據(jù)保留2位小數(shù)點(diǎn)。</p><p>  單個(gè)電池的溫度,電池溫度變化范圍為 -30攝氏度到85攝氏度,規(guī)定0-50攝氏度測量精

58、度較高,數(shù)據(jù)保留2位小數(shù)點(diǎn)。而其他部分?jǐn)?shù)據(jù)取整。如表2-1</p><p>  表2-1 電池?cái)?shù)據(jù)協(xié)議</p><p>  這個(gè)系統(tǒng)的CAN總線傳輸過程如圖2-2,此系統(tǒng)由兩個(gè)CAN組成,采用兩個(gè)CAN總線能夠更好的將傳輸過來的數(shù)據(jù)顯示出來,采集得到的數(shù)據(jù)首先傳輸給CAN_A,CAN_A在單片機(jī)的控制下將數(shù)據(jù)出輸給CAN_B,再通過串口M232實(shí)現(xiàn)單片機(jī)和PC機(jī)的數(shù)據(jù)傳輸,從而實(shí)現(xiàn)在PC機(jī)

59、上的順利顯示。同時(shí),PC機(jī)能夠自己調(diào)用采集的數(shù)據(jù),當(dāng)PC發(fā)出命令后,逆向的傳給CAN_B,然后再傳輸給CAN_A,及時(shí)顯示出需要的數(shù)據(jù),從而實(shí)現(xiàn)CAN總線通信。</p><p>  圖2-2 CAN總線傳輸過程</p><p>  以下是兩個(gè)CAN實(shí)現(xiàn)傳輸?shù)臄?shù)據(jù)協(xié)議:</p><p>  (1)CAN_A發(fā)送數(shù)據(jù)給CAN_B的數(shù)據(jù)協(xié)議</p><

60、p>  EB 90 data1 data2 data3 data4</p><p>  EB 數(shù)據(jù)幀頭 </p><p>  0x90 數(shù)據(jù)幀頭</p><p>  data1 0x00為總電壓</p><p>  0x01為第一節(jié)電池的電壓</p><p><b>  …</

61、b></p><p><b>  0xE1為電池溫度</b></p><p>  0xF1為CAN_A已經(jīng)準(zhǔn)備好</p><p>  data2 數(shù)據(jù)的整數(shù)部分0-255</p><p>  data3 數(shù)據(jù)的小數(shù)部分,兩位小數(shù)乘以100后為0-99</p><p>  data4

62、 校驗(yàn)位,data1+data2+data3的和取反在加1</p><p> ?。?)CAN_B發(fā)送數(shù)據(jù)給CAN_A的數(shù)據(jù)協(xié)議</p><p>  EB 90 data1 data2 data3 data4</p><p>  EB 數(shù)據(jù)幀頭 </p><p>  0x90 數(shù)據(jù)幀頭</p><p> 

63、 data1 0x00為查詢總電壓</p><p>  0x01為查詢第一節(jié)電池的電壓</p><p><b>  …</b></p><p>  0xE1為查詢電池溫度</p><p>  0xF1為查詢CAN_A是否準(zhǔn)備好</p><p>  data2 0x00</p>

64、<p>  data3 0x00</p><p>  data4 校驗(yàn)位,data1+data2+data3的和取反在加1</p><p> ?。?)CAN_B通過串口發(fā)送數(shù)據(jù)給PC的數(shù)據(jù)協(xié)議</p><p>  EB 90 data1 data2 data3 data4</p><p>  EB 數(shù)據(jù)幀頭 &l

65、t;/p><p>  0x90 數(shù)據(jù)幀頭</p><p>  data1 0x00為總電壓</p><p>  0x01為第一節(jié)電池的電壓</p><p><b>  …</b></p><p><b>  0xE1為電池溫度</b></p><p

66、>  data2 數(shù)據(jù)的整數(shù)部分0-255</p><p>  data3 數(shù)據(jù)的小數(shù)部分,兩位小數(shù)乘以100后為0-99</p><p>  data4 校驗(yàn)位,data1+data2+data3的和取反在加1</p><p> ?。?)串口發(fā)送數(shù)據(jù)給CAN_B的數(shù)據(jù)協(xié)議</p><p>  EB 90 data1 dat

67、a2 data3 data4</p><p>  EB 數(shù)據(jù)幀頭 </p><p>  0x90 數(shù)據(jù)幀頭</p><p>  data1 0x00為收到總電壓</p><p>  0x01為收到第一節(jié)電池的電壓</p><p><b>  …</b></p>&

68、lt;p>  0xE1為收到電池溫度</p><p>  data2 0x00</p><p>  data3 0x00</p><p>  data4 校驗(yàn)位,data1+data2+data3的和取反在加1</p><p>  3. 電池?cái)?shù)據(jù)傳輸?shù)碾娐吩韴D</p><p>  3.1 PROTE

69、L軟件概述</p><p>  我們使用的畫圖軟件是PROTEL,它是在20世紀(jì)八十年代初是由PORTEL公式推出的EDA軟件,相對于其他CAD軟件,有不少自身的優(yōu)勢,也成為了電子設(shè)計(jì)者首選的畫圖軟件 [18]。它的優(yōu)勢和特點(diǎn)如下:</p><p>  PROTEL可生成30多種格式的電氣連接網(wǎng)絡(luò)表; </p><p>  強(qiáng)大的全局編輯功能,同時(shí)放置漢子的功能

70、; </p><p>  提供大量的工業(yè)化標(biāo)準(zhǔn)電路板做為設(shè)計(jì)模版; </p><p>  既可以進(jìn)行正向注釋元器件標(biāo)號(hào)(由原理圖到PCB),也可以進(jìn)行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設(shè)計(jì)上的一致性; </p><p>  強(qiáng)大的“規(guī)則驅(qū)動(dòng)”設(shè)計(jì)環(huán)境,符合在線的和批處理的設(shè)計(jì)規(guī)則檢查; </p><p> 

71、 同時(shí)運(yùn)行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡(luò);</p><p>  支持用CUPL語言和原理圖設(shè)計(jì)PLD,生成標(biāo)準(zhǔn)的JED下載文件,PCB可設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源-地層和16個(gè)機(jī)加工層; </p><p>  滿足國際化設(shè)計(jì)要求(包括國標(biāo)標(biāo)題欄輸出,GB4728國標(biāo)庫);方便易用的數(shù)模混合仿真(兼容SPICE 3f5);智能覆銅功能,覆鈾

72、可以自動(dòng)重鋪; </p><p>  可以輸入和輸出DXF、DWG格式文件,實(shí)現(xiàn)和AutoCAD等軟件的數(shù)據(jù)交換; </p><p>  (10)若原理圖中選擇一級(jí)器件,而PCB中同樣的器件也將被選中等等。</p><p>  3.2 設(shè)計(jì)CAN總線傳輸電路</p><p>  此電路主要由單片機(jī)芯片STM32F103R、CAN高速收發(fā)器T

73、AJ1050、調(diào)試口JATG、串口MAX232組成,其特點(diǎn)和電路圖如下:</p><p>  3.2.1 使用STM32F103R芯片</p><p>  STM32是一款很好的融合ARM和ST技術(shù),最初重點(diǎn)是應(yīng)用于16位MCU領(lǐng)域的32位處理器,將兩者技術(shù)結(jié)合在一起,相當(dāng)于16為單片機(jī)在指令和性能方面都有很大的提升,本和功耗方面相對也有明顯減少[19]。STM32是增強(qiáng)型單片機(jī)芯片,它具

74、有很多特點(diǎn),如使用5V的I/O管腳、安全模式也很穩(wěn)定、低功耗模式且?guī)в袉拘压δ堋?nèi)部自帶復(fù)位電路等,最新的STM32已經(jīng)有互連型,微處理器增加全速USB接口,同時(shí)能夠支持IEEE1588精確時(shí)間協(xié)議(PTP)的以太網(wǎng)接口,同時(shí)芯片上還集成CAN2.0B控制器,可以使用連接上兩條工業(yè)標(biāo)準(zhǔn)CAN總線的網(wǎng)關(guān)設(shè)備,以及其他外設(shè)接口同時(shí)工作。</p><p>  采用STM32單片機(jī)系列的芯片,此單片機(jī)采用增強(qiáng)型系列,擁有

75、內(nèi)置的ARM核心,這樣具有與所有的ARM工具和軟件兼容的能力。ARM的Cortex?-M3處理器則是最新一代的嵌入式ARM處理器,它能夠?yàn)闈M足MCU的需要提供低成本的平臺(tái)、減少引腳數(shù)目、降低系統(tǒng)功耗,還能夠提供卓越的計(jì)算性能和先進(jìn)的中斷系統(tǒng)響應(yīng)[22]。Cortex?-M3都是32位的RISC處理器,提供額外的代碼效率,通常能夠在8和16位系統(tǒng)的存儲(chǔ)空間上面發(fā)揮ARM內(nèi)核的高性能。</p><p>  STM32

76、有不少應(yīng)用,常用的電力數(shù)據(jù)采集器,它能夠快速的接受外圍采集到的數(shù)據(jù)并進(jìn)行處理、帶有DMA功能的外設(shè)通訊接口不會(huì)讓CPU等待和干預(yù)數(shù)據(jù)的接收、還有強(qiáng)大的計(jì)算能力并對數(shù)據(jù)處理和顯示等。工業(yè)縫紉機(jī)也有使用,有幾個(gè)原因:STM32本是用于電機(jī)控制的高級(jí)定時(shí)器、強(qiáng)大的計(jì)算功能且能實(shí)現(xiàn)矢量計(jì)算、多通道的通信接口等。STM32F103R的封裝原理圖如圖3-1。</p><p>  圖3-1 STM32F103R8T6原理圖&l

77、t;/p><p>  3.2.2 TAJ1050</p><p>  TAJ1050是CAN一種高速收發(fā)器,是控制器區(qū)域網(wǎng)絡(luò)協(xié)議控制器和物流總線之間的接口,TJA1050通過CAN控制器提供差動(dòng)接收性能,同時(shí)能夠?yàn)榭偩€提供差動(dòng)發(fā)送性能。同PCA82C250一樣,TJA1050符合ISO11898標(biāo)準(zhǔn),地磁兼容性是TJA一種特征,也是TJA時(shí)設(shè)計(jì)目標(biāo)重點(diǎn)考慮的,與PCA82C250相比,TJA在

78、重要的AM波段上,輻射比PCA82C250低于20dB以上。相對還有一個(gè)重要的特性,在TJA1050不上電時(shí),呈現(xiàn)無源特性,這樣使TJA1050特別適合于在部分供電網(wǎng)絡(luò)中節(jié)點(diǎn)掉電的情況下使用【20】。所以選擇TJA1050做為高速收發(fā)器。</p><p>  TJA1050具有的特征如下:具有較高的速度(最高可達(dá)1M波特);電磁輻射(EME)較低;沒有供電的節(jié)點(diǎn)不會(huì)對總線造成干擾;發(fā)送數(shù)據(jù)(TXD)控制超時(shí)功能;

79、能夠熱保護(hù);同時(shí)對電源和地的短路進(jìn)行保護(hù);在汽車運(yùn)行情況下對總線引腳的進(jìn)行瞬態(tài)保護(hù);輸入電平與3.3V和5V器件兼容等。圖3-2a 是TJA1050電器件。</p><p>  TJA1050的工作模式有高速模式和靜音模式,是由引腳“S”來控制。當(dāng)引腳“S”連接到地時(shí),又引腳“S”有內(nèi)部下拉功能,當(dāng)它沒有連接時(shí),是默認(rèn)的工作模式即是高速模式。在這個(gè)模式時(shí),總線輸出信號(hào)以盡量快的速度切換,且有固定的斜率。所以這種模

80、式通常適用最大的位速率和/或最大總線長度。靜音模式時(shí),收發(fā)器是禁能的,不管TxD的輸入信號(hào),收發(fā)器運(yùn)行在非發(fā)送狀態(tài)中,引腳“S”接高電平【25】。TJA原理圖如圖3-2b.</p><p>  圖3-2a TJA1050電器件</p><p>  圖3-2b TJA1050原理圖</p><p>  3.2.3 JATG</p><p> 

81、 JATG是由幾家主要的電子制造商發(fā)起制訂的PCB 和IC 測試標(biāo)準(zhǔn),被IEEE 批準(zhǔn)為IEEE1149.1-1990 是進(jìn)行測試訪問端口和邊界掃描結(jié)構(gòu)標(biāo)準(zhǔn)【20】。JATG最初是用來對芯片進(jìn)行測試的,它的設(shè)計(jì)基本原理是在器件內(nèi)部定義一個(gè)TAP(Test Access Port測試訪問口),這樣的功能可以采用專用的JATG測試工具對芯片內(nèi)部節(jié)點(diǎn)進(jìn)行各種測試。JATG接口的硬件結(jié)構(gòu)由兩部分組成:JTAG 端口和控制器。JTAG在進(jìn)行測試時(shí)

82、可以讓多個(gè)器件順利通過JTAG接口串聯(lián)而讓他們在一起,從而組成一個(gè)JTAG鏈,這樣還能夠?qū)Ω鱾€(gè)器件進(jìn)行分別測試。JTAG編程方式是很重要的一個(gè)特點(diǎn),它能夠?qū)崿F(xiàn)在線編程,而對于傳統(tǒng)生產(chǎn)流程需要先對芯片進(jìn)行預(yù)編程,然后再裝到板上,這樣過程比較麻煩,JATG改變了這種狀況,使整個(gè)流程得到簡化,能夠先固定器件到電路板上,再用JTAG編程,這樣的操作流程能夠大大加快工程進(jìn)度。</p><p>  所有邊界掃描有不少優(yōu)點(diǎn):在

83、提供對掃描鏈的IO訪問時(shí),可以消除或者極大地減少對電路板上物理測試點(diǎn)上的需求,這樣會(huì)使電路板更加簡單、測試夾更加低廉、電路中的測試系統(tǒng)耗時(shí)也會(huì)更少、增加對標(biāo)準(zhǔn)接口的使用。從而使成本顯著減少。除了進(jìn)行電路板測試外,邊界掃描還允許在PCB貼片的后面。在系統(tǒng)編程時(shí)可通過減少設(shè)備的處理、簡化庫存的管理和在電路板生產(chǎn)線上集成編程步驟從而達(dá)到節(jié)約成本和提高產(chǎn)量的目的。JATG電路原理如圖3-3。</p><p>  圖3-3

84、 JATG電路原理圖</p><p>  3.2.4 MAX232</p><p>  MAX232是一種雙組驅(qū)動(dòng)器/接收器,它的內(nèi)部含有一個(gè)電容性電壓發(fā)生器,可以為讓單5V電源供電時(shí)給系統(tǒng)提供EIA/TIA-232-E電平【23】。</p><p>  為何采用MAX232,由于如果想用單片機(jī)和PC機(jī)通過串口進(jìn)行通信,盡管單片機(jī)有串行通信的功能,但單片機(jī)提供的信

85、號(hào)電平和標(biāo)準(zhǔn)的不一樣,因此要通過MAX232這種類似的芯片進(jìn)行電平轉(zhuǎn)換[21]。從而達(dá)到通信目的。</p><p>  MAX232主要有以下幾種特點(diǎn):技術(shù)標(biāo)準(zhǔn)符合所有的RS-232C;功耗低,典型供電電流僅5mA;提供電源只需要單一+5V電源;內(nèi)部集成有兩個(gè)RS-232C驅(qū)動(dòng)器;片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-。串口電路原理圖如圖3-4。</p>&l

86、t;p>  圖3-4 MAX232的電路原理圖</p><p>  3.2.5 連接各元件</p><p>  連接電路各元器件,如圖3-5 是整個(gè)傳輸電路原理圖。</p><p>  圖3-5 整個(gè)傳輸電路原理圖</p><p>  4. 電池?cái)?shù)據(jù)傳輸?shù)墓δ軐?shí)現(xiàn)</p><p><b>  4.1 C

87、AN通信</b></p><p>  由于單片機(jī)本身帶有CAN控制模塊,所以只需CAN收發(fā)器,隔離器把單片機(jī)的CTXD和CRXD與收發(fā)器的TXD和RXD分別連接,然后把隔離器的CANH腳和CANL上。</p><p>  這里描述如何在回送模式下用CAN固件庫進(jìn)行通訊,給出示例使用CAN驅(qū)動(dòng)功能:配置、發(fā)送、接受等。固件包括CAN驅(qū)動(dòng),它能夠通過函數(shù)集支持所有的CAN功能,示例

88、如下,其中用到了大部分的函數(shù)。CAN單元首先用輪詢的方式對一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)幀做一次發(fā)送和接收任務(wù),速率為100kbit/s。接收到的幀被檢驗(yàn),同時(shí)一些LEDs點(diǎn)亮以指示通訊是否成功。然后,一個(gè)擴(kuò)展的數(shù)據(jù)幀發(fā)送速率為500kbit/s,當(dāng)信息在FIFO中掛起時(shí),在中斷處理程序中處理完成接收。最后那些LED指示出發(fā)送和接收程序是否都正確。其電路如圖4-2</p><p>  圖4-1 CAN通信電路</p>

89、<p><b>  4.2 串口通信</b></p><p>  串口的硬件如圖4-2。</p><p><b>  4-2 串口硬件</b></p><p><b>  4-3串口通信程序</b></p><p>  4.3 CAN總線通信</p>

90、<p>  4-4 CAN總線通信硬件原理圖</p><p>  在主程序中,我們采集到ADC轉(zhuǎn)換的結(jié)構(gòu)發(fā)送出去,同時(shí)也接受發(fā)送來的信息。這里我們用自檢方式來做實(shí)驗(yàn),我們在液晶上看到的數(shù)據(jù)是自己發(fā)來的,把兩個(gè)CAN總線連接到一起,需要修改CAN總線控制器初始化函數(shù)。在主程序中,我們采用ADC轉(zhuǎn)換的結(jié)果發(fā)送出去,同時(shí)也接受發(fā)來的信息。CAN總線通信的部分程序如下:</p><p>

91、  #include <stm32f10x_lib.h> // STM32F10x Library Definitions</p><p>  #include "STM32_Reg.h" // STM32 register and bit Definitions</p><p>  #include "STM32_Init.h

92、" // STM32 Initialization</p><p>  #include "CAN.h" // STM32 CAN adaption layer</p><p>  CAN_msg CAN_TxMsg;  // CAN messge for sending</p><p

93、>  CAN_msg CAN_RxMsg; // CAN message for receiving </p><p>  unsigned int CAN_TxRdy = 0; // CAN HW ready to transmit a message</p><p>  unsig

94、ned int CAN_RxRdy = 0; // CAN HW received a message</p><p>  void CAN_testmode (unsigned int testmode) { CAN->BTR &= ~(CAN_BTR_SILM | CAN_BTR_LBKM); // set testmode</p><p>  CAN

95、->BTR |= (testmode & (CAN_BTR_SILM | CAN_BTR_LBKM));</p><p><b>  }</b></p><p>  void CAN_waitReady (void) {while ((CAN->TSR & CAN_TSR_TME0) == 0); // Transmit

96、 mailbox 0 is empty</p><p>  CAN_TxRdy = 1;</p><p><b>  }</b></p><p>  void CAN_wrMsg (CAN_msg*msg) {</p><p>  CAN->sTxMailBox[0].TIR = (unsigned int)0

97、; // Reset TIR register</p><p>  // Setup identifier information</p><p>  if (msg->format == STANDARD_FORMAT) {     // Standard ID</p><p>  CAN->sTxMailBox[0].TIR |= (un

98、signed int)(msg->id << 21) | CAN_ID_STD;</p><p>  } else {               // Extended ID</p><p>  CAN->sTxMailBox[0].TIR |= (unsigned int)(msg->id << 3) | CAN_I

99、D_EXT;</p><p><b>  }</b></p><p>  // Setup type information</p><p>  if (msg->type == DATA_FRAME) { // DATA FRAME</p><p>  CAN->sTxMa

100、ilBox[0].TIR |= CAN_RTR_DATA;</p><p><b>  }</b></p><p>  else { // REMOTE FRAME</p><p>  CAN->sTxMailBox[0].TIR |= CAN_RTR_RE

101、MOTE;</p><p><b>  }</b></p><p>  // Setup data bytes</p><p>  CAN->sTxMailBox[0].TDLR = (((unsigned int)msg->data[3] << 24) | </p><p>  ((unsign

102、ed int)msg->data[2] << 16) |</p><p>  ((unsigned int)msg->data[1] << 8) | </p><p>  ((unsigned int)msg->data[0]) );</p><p>  CAN->sTxMailBox[0].TDHR

103、= (((unsigned int)msg->data[7] << 24) | </p><p>  ((unsigned int)msg->data[6] << 16) |</p><p>  ((unsigned int)msg->data[5] << 8) |</p><p>  ((unsigned i

104、nt)msg->data[4]) );</p><p>  // Setup length</p><p>  CAN->sTxMailBox[0].TDTR &= ~CAN_TDTxR_DLC;</p><p>  CAN->sTxMailBox[0].TDTR |= (msg->len & CAN_TDTx

105、R_DLC);</p><p>  CAN->IER |= CAN_IER_TMEIE; // enable TME interrupt </p><p>  CAN->sTxMailBox[0].TIR |= CAN_TIxR_TXRQ; // transmit message</p><p>&

106、lt;b>  }</b></p><p><b>  5. 總結(jié)及展望</b></p><p><b>  5.1 總結(jié)</b></p><p>  伴隨著計(jì)算機(jī)技術(shù)和自動(dòng)控制技術(shù)的飛速發(fā)展,以及CAN網(wǎng)絡(luò)控制技術(shù)日趨完善,還有能源枯竭和環(huán)境污染問題的日益凸顯,電動(dòng)汽車由于自身所具有的獨(dú)特環(huán)保節(jié)能的優(yōu)勢越

107、來越引起國家和人們的重視。汽車通過使用CAN總線的汽車網(wǎng)絡(luò)控制技術(shù),而成為現(xiàn)代汽車和現(xiàn)代汽車工業(yè)發(fā)展的重要標(biāo)志之一。越來越多的電子產(chǎn)品也都基于CAN總線技術(shù)進(jìn)行研究和生產(chǎn)的。而對于我國在CAN總線這塊發(fā)展就相對比較晚,相對于國際先進(jìn)技術(shù)存在著較大的差距,所以研制和開發(fā)擁有自主知識(shí)產(chǎn)權(quán)的電動(dòng)汽車電子產(chǎn)品對于我們汽車工業(yè)的發(fā)展有著相當(dāng)總要的作用。這也提升我國自主汽車的國際競爭力。本論文完成了如下工作:</p><p>

108、;  1、在查找和閱讀了大量的國內(nèi)外參考資料基礎(chǔ)上,對于目前國內(nèi)外汽車網(wǎng)絡(luò)控制技術(shù)的發(fā)展情況和發(fā)展趨勢進(jìn)行了較為詳細(xì)的了解。</p><p>  2、在深入了解CAN總線協(xié)議及其通信原理的基礎(chǔ)之上,提出了48V鉛蓄電池?cái)?shù)據(jù)傳輸系統(tǒng)的CAN總線數(shù)據(jù)協(xié)議,通過使用這個(gè)數(shù)據(jù)協(xié)議,讓采集到的數(shù)據(jù)順利傳輸?shù)絇C機(jī)上。</p><p>  3、設(shè)計(jì)CAN總線傳輸過程,選取相應(yīng)的單片機(jī)芯片以及相關(guān)的配件

109、并使用Protel軟件畫出它們的電路原理圖。</p><p>  4、學(xué)習(xí)使用單片機(jī),說明電路原理,并使用相應(yīng)的程序完成CAN傳輸,讓這些程序控制采集到的數(shù)據(jù)按照要求進(jìn)行傳輸,實(shí)現(xiàn)整個(gè)過程。</p><p>  5.2 今后工作展望</p><p>  雖然做了大量的工作,但是由于時(shí)間的關(guān)系,所做的工作還有很多不足的地方,以后在此課題的研究中還需要對一些方面進(jìn)行補(bǔ)充

110、:</p><p>  1、在硬件方面使用的現(xiàn)有的使用不是很方便的,今后需根據(jù)需要選擇更加合適的增加相應(yīng)的控制要求。</p><p>  2、在軟件方面,只是設(shè)計(jì)了電壓、溫度數(shù)據(jù)的傳輸,以后還需根據(jù)不同的情況和要求采集到更多的數(shù)據(jù)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 楊朔, 何莉萍

111、, 鐘志華. 基于CAN總線的電車管理系統(tǒng)[J]. 貴州工業(yè)大學(xué)學(xué)報(bào),2004, 4 ( 3 )</p><p>  [2] 葛林,周交華,徐航. CAN通信網(wǎng)絡(luò)在汽車中的應(yīng)用研究工程[J],汽車工程,2000(11);1-4</p><p>  [3] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì). 北京航空航天大學(xué)出版社,1996</p><p>  [4] 杜尚豐,曹

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論