版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)中文摘要</p><p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)外文摘要</p><p> 對(duì)正在迅速發(fā)展之中的汽車(chē)CAN總線技術(shù)進(jìn)行了研究。自行設(shè)計(jì)、研制了一個(gè)典型的能實(shí)際運(yùn)行的汽車(chē)電控系統(tǒng),包括CAN總線、電控單元以及控制元件(電機(jī))等。該系統(tǒng)總共由三個(gè)節(jié)點(diǎn)組成,并通過(guò)控制器局域網(wǎng)(CAN-bus)連接起來(lái),形成一個(gè)基于CAN總線的通信網(wǎng)絡(luò)。第一個(gè)CAN
2、節(jié)點(diǎn)是由計(jì)算機(jī)構(gòu)成的控制平臺(tái),接收用戶(hù)指令,通過(guò)CAN總線控制另兩個(gè)節(jié)點(diǎn)上的電機(jī),并實(shí)時(shí)顯示它們反饋的運(yùn)行情況。第二個(gè)CAN節(jié)點(diǎn)保持與節(jié)點(diǎn)1的通信,根據(jù)節(jié)點(diǎn)1的要求實(shí)時(shí)監(jiān)控一個(gè)電機(jī)。第三個(gè)節(jié)點(diǎn)的ID不同于第二個(gè)CAN節(jié)點(diǎn),監(jiān)控另一個(gè)電機(jī)。整個(gè)系統(tǒng)已經(jīng)完成并調(diào)試通過(guò),測(cè)試證明完全符合車(chē)上通信網(wǎng)絡(luò)的需要。針對(duì)實(shí)際應(yīng)用,提出了一個(gè)在摩托車(chē)中應(yīng)用CAN技術(shù)的解決方案,分析了方案的特點(diǎn)及工作原理,并完成了初步設(shè)計(jì)。對(duì)包括CAN總線的汽車(chē)電控系統(tǒng)研
3、發(fā)的步驟、方法以及規(guī)律性等進(jìn)行了探索,并為我校本科教學(xué)中開(kāi)設(shè)相關(guān)實(shí)驗(yàn)進(jìn)行了準(zhǔn)備工作,提出了具體的設(shè)想與方案。關(guān)鍵詞 汽車(chē) 電子控制 CAN總線 通信 網(wǎng)絡(luò)</p><p><b> 目 次 </b></p><p> 緒論…………………………………………………………………………………………… 4</p><p> 1.1 汽
4、車(chē)CAN總線技術(shù)的研究意義…………………………………………………… 4</p><p> 1.2 汽車(chē)CAN總線技術(shù)的發(fā)展現(xiàn)狀…………………………………………………… 4</p><p> 1.3 本課題的主要研究?jī)?nèi)容和方法………………………………………………… 6</p><p> 2 CAN總線系統(tǒng)總體方案設(shè)計(jì)…………………………………………………………
5、8</p><p> 2.1 系統(tǒng)方框圖……………………………………………………………………… 8</p><p> 2.2 CAN總線主要參數(shù)的選擇……………………………………………………… 9</p><p> 2.3 CAN總線應(yīng)用層的定義……………………………………………………………12</p><p> 2.4 程序設(shè)計(jì)方法
6、選擇 ………………………………………………………………12</p><p> 3 基于單片機(jī)的CAN節(jié)點(diǎn)的CAN接口設(shè)計(jì)……………………………………………13</p><p> 3.1 接口硬件設(shè)計(jì) ……………………………………………………………………14</p><p> 3.1.1接口元器件選擇…………………………………………………………………15<
7、/p><p> 3.1.2 接口電路圖設(shè)計(jì)………………………………………………………………15</p><p> 3.2 接口軟件設(shè)計(jì) ……………………………………………………………………15</p><p> 3.2.1 初始化子程序的設(shè)計(jì)…………………………………………………………15</p><p> 3.2.2 發(fā)送子程序的設(shè)計(jì)…
8、…………………………………………………………16</p><p> 3.2.3 接收子程序的設(shè)計(jì)……………………………………………………………16</p><p> 4 基于單片機(jī)的CAN節(jié)點(diǎn)的功能部分設(shè)計(jì)……………………………………………18</p><p> 4.1功能部分硬件設(shè)計(jì) ……………………………………………………………18</p>
9、<p> 4.1.1元器件的選擇 ………………………………………………………………18</p><p> 4.1.2電路圖的設(shè)計(jì) ………………………………………………………………18</p><p> 4.2功能部分軟件設(shè)計(jì) ……………………………………………………………19</p><p> 4.2.1 PWM調(diào)速軟件設(shè)計(jì)………………………………
10、………………………………19</p><p> 4.2.2計(jì)數(shù)測(cè)速軟件設(shè)計(jì) ……………………………………………………………19</p><p> 5 基于PC機(jī)的CAN節(jié)點(diǎn)的設(shè)計(jì)……………………………………………………21</p><p> 5.1 LPT-CAN接口卡……………………………………………………………… 21</p><p&g
11、t; 5.2 接口函數(shù)庫(kù)………………………………………………………………………21</p><p> 5.3應(yīng)用軟件的MFC設(shè)計(jì) ……………………………………………………………21</p><p> 6 系統(tǒng)構(gòu)建與性能檢測(cè)…………………………………………………………23</p><p> 6.1 系統(tǒng)構(gòu)建和調(diào)試………………………………………………………………
12、 23</p><p> 6.2 系統(tǒng)性能檢測(cè)……………………………………………………………………24</p><p> 7 汽車(chē)車(chē)身CAN解決的方案……………………………………………………26</p><p> 8 摩托車(chē)CAN總線解決方案………………………………………………………28</p><p> 9 CAN總線本科教學(xué)建議…
13、……………………………………………………30</p><p> 結(jié)論 ……………………………………………………………………………………31</p><p> 致謝 ……………………………………………………………………………………32</p><p> 參考文獻(xiàn)………………………………………………………………………………34</p><p&g
14、t; 附錄A 節(jié)點(diǎn)電路圖…………………………………………………………………… 36</p><p> 附錄B 部分源碼……………………………………………………………………… 37</p><p> 附錄C 系統(tǒng)調(diào)試……………………………………………………………………… 41</p><p><b> 1 緒論</b></p>
15、;<p> 1.1 汽車(chē)CAN總線技術(shù)研究的意義</p><p> 隨著汽車(chē)電子技術(shù)的不斷發(fā)展,汽車(chē)上的電子裝置越來(lái)越多。較高檔的汽車(chē)中,電子系統(tǒng)的成本已經(jīng)超過(guò)總成本的20%,并且增長(zhǎng)很快。汽車(chē)上新的技術(shù)增長(zhǎng)點(diǎn)幾乎無(wú)一不與電子技術(shù)和信息技術(shù)的相關(guān)。車(chē)上電子裝置不斷增加,使得連接這些裝置的電子線路迅速膨脹,線束越來(lái)越復(fù)雜,布線就越來(lái)越困難,在汽車(chē)設(shè)計(jì),裝配,維修中的負(fù)擔(dān)甚至到了無(wú)法忍受的程度;而且
16、線路以及接頭的增加是引起安全問(wèn)題的巨大隱患。另外,線的質(zhì)量和占用的空間也都成為值得考慮的問(wèn)題。質(zhì)量的增加意味著降低汽車(chē)的效率;線路直徑太大,在相當(dāng)運(yùn)動(dòng)部分過(guò)線非常的困難,如車(chē)窗的線束等。</p><p> 因此,在電子裝置不斷增加的情況下,減少線束成為一個(gè)必須要解決的問(wèn)題。使用傳統(tǒng)的點(diǎn)對(duì)點(diǎn)并行連接方法,顯然無(wú)法擺脫這種困境,基于串行信息傳輸?shù)木W(wǎng)絡(luò)結(jié)構(gòu)成為一種必然的選擇。</p><p>
17、 眾多國(guó)際知名汽車(chē)公司早在80年代就積極致力于汽車(chē)網(wǎng)絡(luò)技術(shù)的研究以及應(yīng)用。而我國(guó)目前對(duì)汽車(chē)網(wǎng)絡(luò)技術(shù)的應(yīng)用研究還處于起步階段。為縮短同國(guó)外汽車(chē)技術(shù)水平的差距,提高自身的競(jìng)爭(zhēng)力,單靠技術(shù)引進(jìn)不利于長(zhǎng)期發(fā)展。消化,吸收,研究,開(kāi)發(fā)自己的汽車(chē)網(wǎng)絡(luò)技術(shù)勢(shì)在必行。</p><p> 本課題正是對(duì)汽車(chē)CAN總線技術(shù)進(jìn)行深入的研究,通過(guò)設(shè)計(jì)一個(gè)典型的基于CAN總線的車(chē)上通信網(wǎng)絡(luò), 對(duì)包括CAN總線的汽車(chē)電控系統(tǒng)研發(fā)的步驟、方
18、法以及規(guī)律性等進(jìn)行探索。</p><p> 1.2 汽車(chē)CAN總線技術(shù)的發(fā)展現(xiàn)狀</p><p> 汽車(chē)CAN總線技術(shù)又稱(chēng)為汽車(chē)CAN網(wǎng)絡(luò)技術(shù)。汽車(chē)網(wǎng)絡(luò)已經(jīng)經(jīng)歷了大約二十年的發(fā)展,汽車(chē)工程師協(xié)會(huì)(SAE)按照汽車(chē)網(wǎng)絡(luò)系統(tǒng)的性能,從底到高劃分A級(jí),B級(jí),C級(jí),D級(jí)網(wǎng)絡(luò)。</p><p> A級(jí)網(wǎng)絡(luò)產(chǎn)生最早,主要應(yīng)用于要求價(jià)格底,數(shù)據(jù)傳輸速度,實(shí)時(shí)性,可靠性要求較
19、低的情況。如車(chē)身系統(tǒng)的門(mén)窗和后備箱網(wǎng)絡(luò)系統(tǒng),也可以作為一些傳感器和執(zhí)行器級(jí)別的底層局部連接總線使用。UART就是典型的A級(jí)網(wǎng)絡(luò)。B級(jí)網(wǎng)絡(luò)用于對(duì)數(shù)據(jù)傳輸速度要求較高的系統(tǒng),包括一些車(chē)身控制系統(tǒng),儀表盤(pán),低檔的實(shí)時(shí)控制系統(tǒng)以及故障診斷系統(tǒng)等。典型的B級(jí)網(wǎng)絡(luò)是J1850。C級(jí)網(wǎng)絡(luò)主要用于可靠性和實(shí)時(shí)性要求較高的系統(tǒng),如高檔的發(fā)動(dòng)機(jī)和動(dòng)力傳動(dòng)系統(tǒng)的實(shí)時(shí)控制系統(tǒng),線控系統(tǒng)等。CAN2.0就是典型的C級(jí)網(wǎng)絡(luò)。</p><p>
20、; CAN 全稱(chēng)為Controller Area Network, 即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,最初CAN 被設(shè)計(jì)作為汽車(chē)環(huán)境中的微控制器通訊,在車(chē)載各電子控制裝置ECU 之間交換信息形成汽車(chē)電子控制網(wǎng)絡(luò)。比如:發(fā)動(dòng)機(jī)管理系統(tǒng),變速箱控制器,儀表裝備,電子主干系統(tǒng)中,均嵌入CAN 控制裝置。</p><p> 汽車(chē)要求安全、使用方便、操作不能太復(fù)雜、對(duì)價(jià)格敏感、性能可靠;汽車(chē)又是應(yīng)用環(huán)境
21、最差的設(shè)備,所以可能的道路、電磁以及氣候環(huán)境幾乎都可以遇到。專(zhuān)門(mén)為汽車(chē)設(shè)計(jì)的CAN總線當(dāng)然是最理想的汽車(chē)總線選擇,CAN總線主要具有以下的優(yōu)點(diǎn):</p><p> 1)高速串行數(shù)據(jù)接口功能。CAN支持從幾千到1Mbps的數(shù)據(jù)傳輸速度。</p><p> 2)使用廉價(jià)物理介質(zhì),CAN可以使用屏蔽或非屏蔽的雙膠線,同軸電纜以及光纖作為網(wǎng)線。</p><p> 3)
22、數(shù)據(jù)幀短,短的數(shù)據(jù)幀利于減小延時(shí),提高實(shí)時(shí)性;但降低可有效數(shù)據(jù)傳輸速度。</p><p> 4)反應(yīng)速度快,發(fā)送時(shí)不需要等待令牌,對(duì)請(qǐng)求反應(yīng)迅速。</p><p> 5)多站同時(shí)發(fā)送,優(yōu)先數(shù)據(jù)獲取總線。</p><p> 6)錯(cuò)誤檢測(cè)和校正能力強(qiáng),保證系統(tǒng)的可靠性。</p><p> 7)無(wú)破壞基于優(yōu)先權(quán)的仲裁。</p>
23、<p> 8)通過(guò)接收過(guò)濾的方式實(shí)現(xiàn)多地址幀傳送。</p><p> 9)具有遠(yuǎn)程數(shù)據(jù)請(qǐng)求功能。</p><p> 10)具有全系統(tǒng)數(shù)據(jù)兼容性。</p><p> 11)具有丟失仲裁或出錯(cuò)的幀自動(dòng)重發(fā)的功能。</p><p> 當(dāng)提到CAN時(shí),我們需要理解ISO 11898 標(biāo)準(zhǔn)中的功能性[7]。這個(gè)標(biāo)準(zhǔn)包括由ISO 參
24、考模型的物理層(第一層)和數(shù)據(jù)鏈路層(第二層),沒(méi)有規(guī)定應(yīng)用層?,F(xiàn)在,數(shù)據(jù)鏈路層有兩種形式現(xiàn)在都被廣泛使用,一種是具有11 位ID 標(biāo)識(shí)符的BasicCAN,另一種是帶有擴(kuò)展成29 位ID 標(biāo)識(shí)符的高級(jí)形式PeliCAN,各使用者根據(jù)不同的要求有不同的選擇。</p><p> 由于CAN 也在非汽車(chē)自動(dòng)化中被廣泛使用,幾乎同時(shí)產(chǎn)生了幾個(gè)較高層協(xié)議和開(kāi)放式系統(tǒng)方法。今天,DeviceNet[15], CANope
25、n[10] 和SDS[15] 這三種基于CAN 的開(kāi)放式系統(tǒng)已經(jīng)成熟其標(biāo)準(zhǔn)已經(jīng)形成。這三個(gè)標(biāo)準(zhǔn)給人留下一個(gè)印象,那就是它們具有相同的功能性,雖然這三個(gè)標(biāo)準(zhǔn)采用的方法不盡相同,最明顯的不同是信息標(biāo)示符的使用。信息標(biāo)示符的使用在SDS 里是基于完整的預(yù)定義方式,而在CANopen 里信息標(biāo)示符的使用是向系統(tǒng)設(shè)計(jì)者或綜合者保持開(kāi)放,DeviceNet 的信息標(biāo)示符的使用也自由但相對(duì)有些限制。</p><p> 盡管C
26、AN 協(xié)議已經(jīng)有15 年的歷史,但它仍處在改進(jìn)之中?,F(xiàn)在,CAN 在全球市場(chǎng)上仍然處于起始點(diǎn),當(dāng)?shù)玫街匾晻r(shí)誰(shuí)也無(wú)法預(yù)料CAN 總線系統(tǒng)在下一個(gè)10-15 年內(nèi)的發(fā)展趨勢(shì)。需要強(qiáng)調(diào)的一個(gè)現(xiàn)實(shí),近幾年美國(guó)和歐洲的汽車(chē)廠商將會(huì)在他們所生產(chǎn)汽車(chē)的串行部件上使用CAN 。</p><p> 1.3 本課題的主要研究?jī)?nèi)容和方法</p><p> 本課題要對(duì)汽車(chē)CAN總線技術(shù)進(jìn)行研究。自行設(shè)計(jì),研制
27、一個(gè)典型的汽車(chē)電控系統(tǒng),組建一個(gè)由三個(gè)CAN節(jié)點(diǎn)組成的CAN網(wǎng)絡(luò)。第一個(gè)CAN節(jié)點(diǎn)是由計(jì)算機(jī)構(gòu)成的控制平臺(tái),通過(guò)CAN總線設(shè)定電機(jī)的運(yùn)行參數(shù),并實(shí)時(shí)顯示反饋的電機(jī)運(yùn)行情況。第二個(gè)CAN節(jié)點(diǎn)和第三個(gè)CAN節(jié)點(diǎn)分別由89C51系列的單片機(jī)構(gòu)成,保持與node_1的通信,根據(jù)node_1的要求實(shí)時(shí)監(jiān)控一個(gè)直流電機(jī),并反饋電機(jī)的運(yùn)行情況。 完成系統(tǒng)的詳細(xì)設(shè)計(jì),各個(gè)節(jié)點(diǎn)的電氣圖,程序的流程圖和所有源代碼(所有硬件和軟件都需采用模塊化的設(shè)計(jì)思想,提
28、高其可移植性,為后續(xù)研究做好準(zhǔn)備)。完成系統(tǒng)的搭建且調(diào)試通過(guò),并進(jìn)行系統(tǒng)性能檢測(cè)。</p><p> 針對(duì)實(shí)際應(yīng)用,提出一個(gè)在摩托車(chē)中應(yīng)用CAN技術(shù)的解決方案,分析方案的特點(diǎn)及工作原理,并完成初步設(shè)計(jì)。最后提出關(guān)于CAN總線本科教學(xué)的建議。</p><p> 本課題按照下列步驟進(jìn)行研究:</p><p> 復(fù)習(xí)有關(guān)基礎(chǔ)知識(shí),主要包括:數(shù)電、模電、數(shù)控、PC原理
29、、MCU原理、C語(yǔ)言、DDK/WDM、MFC等。補(bǔ)充學(xué)習(xí)未掌握的知識(shí),主要是學(xué)習(xí)車(chē)上網(wǎng)絡(luò)和CAN總線協(xié)議。通過(guò)查找并整理資料,進(jìn)一步了解車(chē)上電控系統(tǒng)和CAN總線網(wǎng)絡(luò)的構(gòu)建,主要包括電控系統(tǒng)的組建,CAN總線的組建,CAN總線的初始化,電機(jī)的PWM調(diào)速和轉(zhuǎn)速測(cè)量,設(shè)備驅(qū)動(dòng)程序的編寫(xiě),UI的設(shè)計(jì)等等。</p><p> 在對(duì)相關(guān)知識(shí)全面掌握的基礎(chǔ)上,借鑒現(xiàn)有的相關(guān)應(yīng)用,并結(jié)合新的技術(shù)水平,完成系統(tǒng)的總體方案設(shè)計(jì),繪
30、制系統(tǒng)方框圖。通過(guò)查相關(guān)資料確定出所需要的硬件,通過(guò)調(diào)研確定硬件的購(gòu)置(包括購(gòu)買(mǎi)地址和價(jià)格的確定),以此為依據(jù)完成硬件電路的設(shè)計(jì),繪制出系統(tǒng)電路圖。在硬件的基礎(chǔ)上,完成軟件和用戶(hù)界面的設(shè)計(jì)。</p><p> 然后完成系統(tǒng)的調(diào)試和改進(jìn),并進(jìn)行系統(tǒng)性能檢測(cè)。最后編寫(xiě)出相關(guān)文檔,完成畢業(yè)設(shè)計(jì)說(shuō)明書(shū)的撰寫(xiě),總結(jié)汽車(chē)CAN總線網(wǎng)絡(luò)的開(kāi)發(fā)方法,步驟和規(guī)則性。</p><p><b>
31、2 總體方案設(shè)計(jì)</b></p><p><b> 2.1系統(tǒng)方框圖</b></p><p> 雖然汽車(chē)電控系統(tǒng)是一個(gè)相當(dāng)復(fù)雜的系統(tǒng),但主要是用來(lái)進(jìn)行通信和參數(shù)共享的,所以對(duì)一個(gè)三節(jié)點(diǎn)典型系統(tǒng)的研究可以說(shuō)明問(wèn)題。</p><p> 本汽車(chē)CAN總線系統(tǒng)由三個(gè)節(jié)點(diǎn)(至少三個(gè)節(jié)點(diǎn)才能說(shuō)明通信網(wǎng)絡(luò)的正確性)組成,并通過(guò)控制器局域網(wǎng)
32、(CAN-bus)連接起來(lái),形成一個(gè)基于CAN總線的通信網(wǎng)絡(luò)。第一個(gè)CAN節(jié)點(diǎn)(node_1)是由計(jì)算機(jī)構(gòu)成的控制平臺(tái),通過(guò)CAN總線設(shè)定電機(jī)的運(yùn)行參數(shù),并實(shí)時(shí)顯示反饋的電機(jī)運(yùn)行情況。首先制作一塊CAN到LPT的轉(zhuǎn)接卡,實(shí)現(xiàn)CAN總線接入計(jì)算機(jī),然后編寫(xiě)總線驅(qū)動(dòng)程序和低層的接口函數(shù)庫(kù),最后完成控制平臺(tái)的應(yīng)用程序。</p><p> 第二個(gè)CAN節(jié)點(diǎn)(node_1)和第三個(gè)CAN節(jié)點(diǎn)(node_3) 分別由89C
33、51系列的單片機(jī)構(gòu)成,保持與node_1的通信,根據(jù)node_1的要求實(shí)時(shí)監(jiān)控一個(gè)直流電機(jī),并反饋電機(jī)的運(yùn)行情況。單片機(jī)通過(guò)CAN控制器和CAN驅(qū)動(dòng)器接入CAN總線,要為CAN控制器編寫(xiě)正確的初始化程序。</p><p><b> 圖2-1系統(tǒng)方框圖</b></p><p> 對(duì)小型直流電機(jī)的速度控制采用PWM調(diào)速,控制平臺(tái)接收操作人員給出的PWM的占空比,然后把
34、含有占空比的控制信息發(fā)送給指定的節(jié)點(diǎn)。節(jié)點(diǎn)MCU接收到控制信息后,首先分析該控制信息的性質(zhì),然后根據(jù)控制信息做出相應(yīng)的操作。當(dāng)接收到含有占空比的控制信息,MCU就改變輸出的PWM信號(hào)的占空比,該P(yáng)WM信號(hào)經(jīng)放大后用來(lái)驅(qū)動(dòng)電機(jī),達(dá)到調(diào)速的目的。</p><p> 速度的測(cè)量使用霍爾效應(yīng)傳感器?;魻栃?yīng)傳感器感應(yīng)的電機(jī)的轉(zhuǎn)動(dòng)產(chǎn)生脈沖信號(hào),經(jīng)放大后送MCU計(jì)數(shù),MCU計(jì)數(shù)一秒得到電機(jī)的轉(zhuǎn)速, MCU把數(shù)據(jù)打包上傳到C
35、AN總線。node_1從總線上接收到數(shù)據(jù),控制平臺(tái)實(shí)時(shí)顯示,系統(tǒng)方框如圖2-1所示。</p><p> 2.2 CAN總線主要參數(shù)的選擇</p><p> 對(duì)CAN總線的參數(shù)進(jìn)行選擇,首先要了解CAN總線的網(wǎng)絡(luò)協(xié)議。當(dāng)提到“CAN 標(biāo)準(zhǔn)”或“CAN 協(xié)議”,我們需要理解ISO 11898 標(biāo)準(zhǔn)中[1]和[2]各自的功能性。這個(gè)標(biāo)準(zhǔn)包括由ISO 參考模型的物理層(第一層)和數(shù)據(jù)鏈路層(第
36、二層)。其中,第一層負(fù)責(zé)譬如物理信號(hào)傳輸,譯碼,位時(shí)序和位同步等的功能,而第二層負(fù)責(zé)像總線仲裁,信息分段以及數(shù)據(jù)安全,數(shù)據(jù)確認(rèn),錯(cuò)誤檢測(cè),信號(hào)傳輸和錯(cuò)誤控制的功能。CAN 標(biāo)準(zhǔn)沒(méi)有規(guī)定媒體的連接單元以及其駐留媒體,也沒(méi)有規(guī)定應(yīng)用層。</p><p> 圖2-2 CAN節(jié)點(diǎn)的構(gòu)成</p><p> 物理層定義了物理數(shù)據(jù)在總線上各節(jié)點(diǎn)間的傳輸過(guò)程.設(shè)計(jì)一個(gè)CAN網(wǎng)絡(luò),物理層有很大的選擇余地
37、,但必須保證CAN總線的非破壞性仲裁,即出現(xiàn)競(jìng)爭(zhēng)時(shí)有高優(yōu)先權(quán)標(biāo)識(shí)符的數(shù)據(jù)獲取仲裁的原則;所以要求物理層必須支持CAN總線中隱性位(高電平1)和顯性位(底電平0)的狀態(tài)特征,顯性位的發(fā)送會(huì)覆蓋隱性位的狀態(tài)。當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)發(fā)送信息的時(shí)候先出現(xiàn)底電平的數(shù)據(jù)獲得仲裁。從物理結(jié)構(gòu)上看,一個(gè)CAN接點(diǎn)的構(gòu)成如圖2-2。</p><p> CAN總線的數(shù)據(jù)鏈路層是CAN協(xié)議的核心內(nèi)容,它定義了四種不同的信息幀:數(shù)據(jù)幀,遠(yuǎn)程幀
38、,錯(cuò)誤幀,超載幀。其中數(shù)據(jù)幀是最重要的,如圖3所示。起始域?yàn)橐粋€(gè)顯性位(0),當(dāng)總線空閑時(shí),一個(gè)隱性到顯性的變化表示一個(gè)幀的開(kāi)始,進(jìn)行硬同步。標(biāo)識(shí)符有29位和11位兩種,11位的是標(biāo)準(zhǔn)CAN格式,19位的是擴(kuò)展CAN格式。我們選擇29位的是擴(kuò)展CAN格式。RTR為遠(yuǎn)程傳送請(qǐng)求位??刂朴蚪o出要傳送的數(shù)據(jù)的長(zhǎng)度,最多8個(gè)字節(jié)。數(shù)據(jù)域給出要傳送的數(shù)據(jù)。接收數(shù)據(jù)的節(jié)點(diǎn)在應(yīng)答域給出應(yīng)答(一個(gè)顯性位0),表示正確接收到了數(shù)據(jù)。如果沒(méi)有節(jié)點(diǎn)在應(yīng)答域給
39、出應(yīng)答,就表示數(shù)據(jù)發(fā)送錯(cuò)誤,發(fā)送數(shù)據(jù)的節(jié)點(diǎn)會(huì)重發(fā)該幀。7個(gè)連續(xù)的隱性位表示幀結(jié)束。</p><p> 表2-1 數(shù)據(jù)幀格式</p><p> CAN總線的傳輸層是由物理層和數(shù)據(jù)鏈路層共同決定的。CAN總線上的信息以一定的格式發(fā)送,當(dāng)總線空閑時(shí),任何網(wǎng)上節(jié)點(diǎn)都可以發(fā)送信息,要發(fā)送的信息有特征標(biāo)識(shí)符,信息以廣播的方式發(fā)送,所有的節(jié)點(diǎn)都可以接收。節(jié)點(diǎn)接收到一幀數(shù)據(jù)后通過(guò)標(biāo)識(shí)符判定是否接收這個(gè)
40、信息。不同的CAN系統(tǒng)可以有不同的數(shù)據(jù)傳送速率,但同一網(wǎng)絡(luò)的節(jié)點(diǎn)傳輸速度必須一致。我們選擇最高的波特率1Mbps。理論上CAN總線上的節(jié)點(diǎn)沒(méi)有數(shù)量的限制,而實(shí)際應(yīng)用中受限于總線上的數(shù)據(jù)延時(shí)和電氣負(fù)載能力。</p><p> CAN使用廣播信息發(fā)送,各節(jié)點(diǎn)采用驗(yàn)收碼和屏蔽碼組合的方法來(lái)決定是否接收某一個(gè)數(shù)據(jù)幀。除去屏蔽碼屏蔽掉的位外,當(dāng)某個(gè)幀的發(fā)送標(biāo)識(shí)符和驗(yàn)收碼一致時(shí),該數(shù)據(jù)被接收。</p><
41、;p> 本設(shè)計(jì)屏蔽碼都設(shè)定為0000FFFF,即把后兩個(gè)字節(jié)屏蔽掉另做它用。前兩個(gè)字節(jié)用于識(shí)別,用節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)的重復(fù)作為識(shí)別可以大大提高系統(tǒng)的穩(wěn)定性。倒數(shù)第二個(gè)字節(jié)用作發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)。最后一個(gè)字節(jié)只有高五位有效,用作指令。這樣,當(dāng)一幀的標(biāo)識(shí)符為01010210時(shí),說(shuō)明:該幀是由2號(hào)節(jié)點(diǎn)發(fā)給1號(hào)節(jié)點(diǎn)的,指令信息為01。</p><p> 根據(jù)分析,結(jié)合本汽車(chē)CAN總線系統(tǒng)設(shè)計(jì)的內(nèi)容和目的, CAN總線的
42、重要參數(shù),標(biāo)識(shí)符和數(shù)據(jù)域的選擇和分配如表2-2。</p><p><b> 表2-2 系統(tǒng)參數(shù)</b></p><p> 2.3 CAN總線應(yīng)用層的定義</p><p><b> Node_2</b></p><p> Node_1
43、 Node_3</p><p> 圖2-3系統(tǒng)功能圖 </p><p> 從應(yīng)用層的角度來(lái)看,本汽車(chē)CAN總線系統(tǒng)主要實(shí)現(xiàn)如圖2-3所示的四個(gè)數(shù)據(jù)通道:node_2測(cè)量電機(jī)2的實(shí)時(shí)速度上傳到node_1;node_1對(duì)電機(jī)2控制指令下傳到node_2; node_3測(cè)量電機(jī)3的實(shí)時(shí)速度上傳到node_1;node_1對(duì)電機(jī)3控制指令下傳到node_3。四個(gè)通道都是建立在CAN總線
44、上,因?yàn)镃AN總線是一種對(duì)等總線(不像RS-232或者USB2.0是主從總線),上傳和下傳只是相對(duì)的。</p><p> 在通道1上,每一秒鐘node_2上傳一次測(cè)量的電機(jī)2的實(shí)時(shí)速度到node_1,發(fā)送標(biāo)識(shí)符01010200(表示由node_2發(fā)送到node_1,指令為00),含有兩個(gè)字節(jié)的數(shù)據(jù),data0是電機(jī)2的實(shí)時(shí)速度的底字節(jié),data1是電機(jī)2的實(shí)時(shí)速度的高字節(jié)。Node_1采用查詢(xún)方式(使用一個(gè)進(jìn)程
45、)接收數(shù)據(jù)并顯示電機(jī)2的實(shí)時(shí)速度。</p><p> 在通道2上,控制指令的傳輸是事件觸發(fā)的,當(dāng)操作人員有指令的時(shí)候,node_1就會(huì)實(shí)時(shí)的把它下傳到node_2,發(fā)送標(biāo)識(shí)符02020100(表示由node_1發(fā)送到node_2,指令為00),含有一個(gè)字節(jié)的數(shù)據(jù)data0。data0是PWM的占空比,范圍1到255。node_2采用中斷方式(外部中斷1,interrupt0)接收數(shù)據(jù),并改變電機(jī)的占空比,從而改
46、變電機(jī)2的速度。</p><p> 在通道3上,每一秒鐘node_3上傳一次測(cè)量的電機(jī)3的實(shí)時(shí)速度到node_1,發(fā)送標(biāo)識(shí)符01010300(表示由node_3發(fā)送到node_1,指令為00),含有兩個(gè)字節(jié)的數(shù)據(jù),data0是電機(jī)3的實(shí)時(shí)速度的底字節(jié),data1是電機(jī)3的實(shí)時(shí)速度的高字節(jié)。Node_1采用查詢(xún)方式(使用一個(gè)進(jìn)程)接收數(shù)據(jù)并顯示電機(jī)3的實(shí)時(shí)速度。</p><p> 在通道
47、4上,控制指令的傳輸是事件觸發(fā)的,當(dāng)操作人員有指令的時(shí)候,node_1就會(huì)實(shí)時(shí)的把它下傳到node_3,發(fā)送標(biāo)識(shí)符03030100(表示由node_1發(fā)送到node_2,指令為00),含有一個(gè)字節(jié)的數(shù)據(jù)data0。data0是PWM的占空比,范圍1到255。node_3采用中斷方式(外部中斷1,interrupt0)接收數(shù)據(jù),并改變電機(jī)的占空比,從而改變電機(jī)3的速度。</p><p> 2.4 程序設(shè)計(jì)方法選擇
48、</p><p> 基于MCU的CAN節(jié)點(diǎn)的程序設(shè)計(jì)采用前/后臺(tái)系統(tǒng),模塊化設(shè)計(jì)方法。每一個(gè)功能讓一個(gè)子程序完成,所以功能通過(guò)子程序調(diào)用。設(shè)計(jì)軟件Keil C51,使用C語(yǔ)言完成。</p><p> 基于PC的CAN節(jié)點(diǎn)程序設(shè)計(jì)成Windows程序。驅(qū)動(dòng)程序和接口函數(shù)庫(kù)的編寫(xiě)使用C++語(yǔ)言編寫(xiě),其中接口函數(shù)庫(kù)生成動(dòng)態(tài)鏈接庫(kù),供編寫(xiě)的Windows應(yīng)用程序調(diào)用。應(yīng)用程序使用MFC編程生成
49、Windows應(yīng)用程序。</p><p> 3 基于單片機(jī)的CAN節(jié)點(diǎn)的接口設(shè)計(jì)</p><p> 3.1 接口硬件設(shè)計(jì)</p><p> 3.1.1 接口元器件選擇</p><p> 基于MCU的CAN 總線智能節(jié)點(diǎn)由四部分組成:單片機(jī),CAN控制器,CAN驅(qū)動(dòng)器和高速光電耦合器。主要考慮到CAN總線是車(chē)載的,其抗干擾和穩(wěn)定性要求
50、都很高。所以在CAN 總線通信接口中采用PHILIPS 公司的SJA1000 和TJA1050芯片。SJA1000 是獨(dú)立CAN 控制器,TJA1050 為高性能CAN 總線收發(fā)器(總線驅(qū)動(dòng)器)。基于MCU的CAN 總線智能節(jié)點(diǎn)采用P89C668 作為節(jié)點(diǎn)的微處理器,高速光電耦合器選用6N137。</p><p> P89C668是增強(qiáng)型80C51系列的單片機(jī)。P89C668 單片機(jī)內(nèi)帶64KB Flash 存
51、儲(chǔ)器,該存儲(chǔ)器既可并行編程也可以串行在系統(tǒng)編程(ISP)。在Boot ROM程序中可通過(guò)一個(gè)默認(rèn)的串行下載器UART 對(duì)Flash存儲(chǔ)器作ISP編程,而在Flash 代碼區(qū)中并不需要有調(diào)用下載器的代碼。用戶(hù)程序可通過(guò)調(diào)用在Boot ROM 中的標(biāo)準(zhǔn)子程序?qū)lash存儲(chǔ)器擦寫(xiě)和再編程即IAP。該器件在6個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令,是傳統(tǒng)的80C51 的兩倍。該器件用advanced CMOS 工藝制造是80C51 單片機(jī)家族的衍生品其指令
52、集和80C51 相同。該器件有四個(gè)8 位I/O 口,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,多中斷源,四個(gè)優(yōu)選級(jí),可嵌套中斷結(jié)構(gòu),一個(gè)增強(qiáng)型UART 和片內(nèi)振蕩器以及時(shí)序電路。P89C668 新增特性使其成為一個(gè)功能強(qiáng)大的單片機(jī),為某些應(yīng)用提供PWM ,高速的I/O 和加/減計(jì)數(shù),如汽車(chē)控制。</p><p> 此外,選擇P89C668主要基于以下幾個(gè)原因:它使用Flash 存儲(chǔ)器,ISP編程和IAP編程,開(kāi)發(fā)方便快捷;其
53、64KB的程序存儲(chǔ)器和8KB的數(shù)據(jù)存儲(chǔ)器足夠我們的需求,無(wú)須外部擴(kuò)展;其功能強(qiáng)大,提供PWM,符合系統(tǒng)的要求。</p><p> SJA1000 是一個(gè)獨(dú)立的CAN 控制器,它在汽車(chē)和普通的工業(yè)應(yīng)用上有先進(jìn)的特征。特別適合于轎車(chē)內(nèi)的電子模塊傳感器,制動(dòng)器的連接和通用工業(yè)應(yīng)用中。特別是系統(tǒng)優(yōu)化,系統(tǒng)診斷和系統(tǒng)維護(hù)時(shí)特別重要。SJA1000它是PHILIPS半導(dǎo)體PCA82C200 CAN 控制器BasicCAN
54、的替代產(chǎn)品而且它增加了一種新的工作模式PeliCAN ,這種模式支持具有很多新特性的CAN 2.0B 協(xié)議。總之,SJA1000是車(chē)上專(zhuān)用的CAN控制器,起穩(wěn)定性和抗干擾能力很好。</p><p> TJA1050高速CAN收發(fā)器是控制器局域網(wǎng)CAN控制器和物理總線之間的接口。它主要有以下特征:與“ISO 11898”標(biāo)準(zhǔn)完全兼容;速度高(最高可達(dá)1M 波特);低電磁輻射(EME);可抗電磁干擾(EMI);沒(méi)有
55、上電的節(jié)點(diǎn)不會(huì)對(duì)總線造成干擾;熱保護(hù);可以連接至少110個(gè)節(jié)點(diǎn)。</p><p> 3.1.1 接口總體設(shè)計(jì)</p><p> 綜上所述,接口電路主要由四部分所構(gòu)成,微控制器89C668, 獨(dú)立CAN控制器SJA1000,CAN 總線收發(fā)器TJA1050和高速光電耦合器6N137。</p><p> 微處理器89C668 負(fù)責(zé)SJA1000 的初始化通過(guò)控制S
56、JA1000 實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。SJA1000 的AD0-AD7 連接到89C668 的P0 口,CS 連接到89C668 的P2.0。P2.0 為0 時(shí),CPU 片外存貯器地址可選中SJA1000,CPU 通過(guò)這些地址可對(duì)SJA1000 執(zhí)行相應(yīng)的讀寫(xiě)操作。SJA1000 的RD,WR,ALE分別與89C668 的對(duì)應(yīng)引腳相連。INT 接89C668 的0INT。 89C668 也可通過(guò)中斷方式訪問(wèn)SJA1000,本汽車(chē)
57、CAN總線系統(tǒng)所使用的就是這種方式。</p><p> 為了增強(qiáng)CAN 總線節(jié)點(diǎn)的抗干擾能力,SJA1000 的TX0 和RXO 并不是直接與SJA1000 的TXD 和RXD 相連,而是通過(guò)高速光耦6N137 后與SJA1000 相連。這樣就很好的實(shí)現(xiàn)了總線上各CAN 節(jié)點(diǎn)間的電氣隔離。不過(guò)應(yīng)該特別說(shuō)明的一點(diǎn)是光耦部分電路所采用的兩個(gè)電源VCC 和VDD 必須完全隔離否則采用光耦也就失去了意義。電源的完全隔離
58、采用小功率電源隔離模塊實(shí)現(xiàn)。這些部分雖然增加了節(jié)點(diǎn)的復(fù)雜但是卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。</p><p> TJA1000與CAN 總線的接口部分也采用了一定的安全和抗干擾措施,TJA1000 的CANH 和CANL 引腳各自通過(guò)一個(gè)阻值為5 的電阻與CAN 總線相連。電阻可起到一定的限流作用,保護(hù)TJA1000 免受過(guò)流的沖擊。CANH 和CANL與地之間并聯(lián)了兩個(gè)30P 的小電容,可以起到濾除總線上的高頻
59、干擾和一定的防電磁輻射的能力。另外在兩根CAN 總線接入端與地之間分別反接了一個(gè)保護(hù)二極管,當(dāng)CAN 總線有較高的負(fù)電壓時(shí)通過(guò)二極管的短路可起到一定的過(guò)壓保護(hù)作用。</p><p> 圖3-1 CAN接口電路圖</p><p> 3.1.2 接口電路圖</p><p> 根據(jù)總體設(shè)計(jì)思想和選擇的芯片,使用繪圖軟件Protel繪制基于MCU的CAN節(jié)點(diǎn)CAN總線
60、接電路原理圖,如圖3-1。</p><p> 3.2 接口軟件設(shè)計(jì)</p><p> CAN 總線節(jié)點(diǎn)的軟件設(shè)計(jì)包括三大部分:CAN 節(jié)點(diǎn)初始化,報(bào)文發(fā)送和報(bào)文接收。有了這三個(gè)部分程序的設(shè)計(jì)就能編寫(xiě)出利用CAN 總線進(jìn)行通信的一般應(yīng)用程序。要將CAN 總線應(yīng)用于通信任務(wù)比較復(fù)雜的系統(tǒng)中,需詳細(xì)了解有關(guān)CAN 總線錯(cuò)誤處理,總線脫離處理,接收濾波處理,波特率參數(shù)設(shè)置和自動(dòng)檢測(cè),以及CAN
61、 總線通信距離和節(jié)點(diǎn)數(shù)的計(jì)算等方面的內(nèi)容。</p><p> 3.2.1 初始化子程序設(shè)計(jì)</p><p> 圖3-2 初始化子程序流程圖</p><p> SJA1000 的初始化只有在復(fù)位模式下才可以進(jìn)行,初始化主要包括:工作方式的設(shè)置,接收濾波方式的設(shè)置,接收屏蔽寄存器AMR 和接收代碼寄存器ACR 的設(shè)置,波特率參數(shù)設(shè)置,中斷允許寄存器IER 的設(shè)置,
62、等等。在完成SJA1000 的初始化設(shè)置以后SJA1000 就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù)。圖3-2提供了SJA1000 初始化的流程圖。</p><p> 在已經(jīng)具有基本流程圖的前提下,整個(gè)初始化程序就可以輕松編寫(xiě)源代碼了,其具體程序見(jiàn)附錄B。</p><p> 3.2.2 報(bào)文發(fā)送子程序設(shè)計(jì)</p><p> 進(jìn)行完初始化程序后,CAN器件便能進(jìn)行
63、正常的CAN報(bào)文發(fā)送和接收了。發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送。發(fā)送時(shí),用戶(hù)將待發(fā)送的數(shù)據(jù)按CAN報(bào)文的格式組合成一幀報(bào)文送入SJA1000發(fā)送緩存區(qū)中,然后啟動(dòng)SJA1000相應(yīng)的發(fā)送命令。在往SJA1000發(fā)送緩存區(qū)送報(bào)文之前,必須先作判斷。發(fā)送程序可以發(fā)送CAN報(bào)文的遠(yuǎn)程幀和數(shù)據(jù)幀。遠(yuǎn)程幀與數(shù)據(jù)幀相比無(wú)數(shù)據(jù)場(chǎng),掌握數(shù)據(jù)幀的發(fā)送就能掌握遠(yuǎn)程幀的發(fā)送。下面就以發(fā)送數(shù)據(jù)幀為例進(jìn)行分析。圖3-3提供了報(bào)文發(fā)送子程序的流程分析,具體的程序?qū)崿F(xiàn)見(jiàn)
64、附錄B。</p><p> 圖3-3報(bào)文發(fā)送子程序流程圖</p><p> 3.2.3 報(bào)文接收子程序設(shè)計(jì)</p><p> CAN控制器收到的報(bào)文是存放在接收緩沖區(qū)。接收子程序負(fù)責(zé)讀取接收緩沖區(qū)的值以及其它情況處理。報(bào)文的接收可以使用查詢(xún)方式和中斷方式。兩者在思路上相似,不過(guò)采用中斷方式進(jìn)行接收,在實(shí)時(shí)性方面要大大優(yōu)于查詢(xún)方式。本汽車(chē)CAN總線系統(tǒng)使用的是中
65、斷方式接收?qǐng)?bào)文。圖3-4提供了報(bào)文接收子程序的流程分析,具體的程序?qū)崿F(xiàn)見(jiàn)附錄B。</p><p> 圖3-4:報(bào)文接受子程序流程圖</p><p> 從流程圖可以看出,在確定CAN節(jié)點(diǎn)的接收緩沖區(qū)有接收數(shù)據(jù)后,讀取接收緩沖區(qū)的數(shù)據(jù)并保存,然后釋放接收緩沖區(qū)。</p><p> 4 基于單片機(jī)的CAN節(jié)點(diǎn)的功能部分設(shè)計(jì)</p><p>
66、 4.1 功能部分硬件電路的設(shè)計(jì)</p><p> 4.1.1 元器件的選擇</p><p> 基于單片機(jī)的功能部分包括兩塊,PWM調(diào)速和霍爾效應(yīng)傳感器測(cè)量轉(zhuǎn)速。MCU根據(jù)要求輸出PWM信號(hào),MCU輸出的PWM信號(hào)大約只有200uA,該P(yáng)WM信號(hào)經(jīng)放大后用來(lái)驅(qū)動(dòng)一個(gè)5伏,200mA的電機(jī)。選擇ULN200A作為放大器件?;魻栃?yīng)接近開(kāi)關(guān)感應(yīng)到的電機(jī)的轉(zhuǎn)動(dòng),產(chǎn)生脈沖信號(hào),該脈沖信號(hào)經(jīng)過(guò)
67、經(jīng)光電耦合后無(wú)須放大直接送給MCU計(jì)數(shù),MCU計(jì)數(shù)一秒得到電機(jī)的轉(zhuǎn)速?;魻柦咏_(kāi)關(guān)選用HKK5002C,光電耦合器使用TLP512。</p><p> ULN2003A是耐高壓,高集成度的達(dá)林頓管(Darlington)陣列,每片由七個(gè) NPN型的Darlington組成,并且共用一個(gè)續(xù)流二極管。 工作電壓5伏時(shí),一個(gè)Darlington 的集電級(jí)額定電流是500mA,并且Darlington可以進(jìn)行并聯(lián)。&l
68、t;/p><p> HKK5002C是HK系列的霍爾接近開(kāi)關(guān),它是一種用磁場(chǎng)訊號(hào)來(lái)驅(qū)動(dòng)的新型自動(dòng)開(kāi)關(guān)。其工作電壓5伏,負(fù)載電流20mA,工作距離5mm,最高響應(yīng)頻率50KHZ,足夠用來(lái)測(cè)量直流電機(jī)轉(zhuǎn)速。</p><p> 4.1.2 電路圖的設(shè)計(jì)</p><p> 單片機(jī)使用P1.3口產(chǎn)生PWM信號(hào),PWM出來(lái)后接到ULN2003A的7B口(使用第七個(gè)達(dá)林頓管)進(jìn)
69、行放大,經(jīng)過(guò)放大后從7C口輸出驅(qū)動(dòng)電機(jī),ULA2003A的COM口接9伏電源?;魻柦咏_(kāi)關(guān)使用5伏電源VCC,輸出的信號(hào)經(jīng)過(guò)一個(gè)390歐的限流電阻后,接到TLP512的9端,經(jīng)過(guò)光電耦合后,經(jīng)過(guò)一個(gè)390歐的上拉電阻接到MCU的P3.5進(jìn)行計(jì)數(shù)。390歐的上拉電阻的電源使用信號(hào)源(VCC電源必須先經(jīng)過(guò)一個(gè)電源轉(zhuǎn)換器B0505),以達(dá)到完全的隔離。電路圖見(jiàn)附錄A,圖4-1只給出框圖:</p><p><b&g
70、t; P1.3</b></p><p> 圖4-1 功能電路方框圖</p><p> 4.2 功能部分軟件的設(shè)計(jì)</p><p> CAN節(jié)點(diǎn)node_2和node_3功能部分的軟件設(shè)計(jì)完全相同,包括兩大部分:PWM調(diào)速軟件設(shè)計(jì)和計(jì)數(shù)測(cè)速的軟件設(shè)計(jì)。</p><p> 4.2.1 PWM調(diào)速軟件設(shè)計(jì)</p>
71、<p> PWM調(diào)速的軟件設(shè)計(jì),主要利用中斷方式接收CAN總線上的調(diào)速指令,根據(jù)指令設(shè)置P89C668的可編程計(jì)數(shù)器陣列PCA。程序源碼見(jiàn)附錄B,圖4-2為PWM調(diào)速軟件設(shè)計(jì)流程圖。</p><p> 圖4-2 PWM調(diào)速軟件設(shè)計(jì)</p><p> 4.2.2 計(jì)數(shù)測(cè)速軟件設(shè)計(jì)</p><p> 計(jì)數(shù)測(cè)速的軟件設(shè)計(jì),首先讓定時(shí)/計(jì)數(shù)器T1工作于1
72、6位計(jì)數(shù),計(jì)數(shù)P3.5口的霍爾接近開(kāi)關(guān)的方波信號(hào)。定時(shí)/計(jì)數(shù)器T2工作于16位常數(shù)自動(dòng)再裝入方式,產(chǎn)生25ms的計(jì)時(shí)。每25ms會(huì)產(chǎn)生一次中斷(interrupt 7),中斷服務(wù)子程序中的一個(gè)全局變量會(huì)加1,計(jì)數(shù)40個(gè)25ms就是1s,每1s讀出T1計(jì)數(shù)器的值(即轉(zhuǎn)速),并清零。程序源碼見(jiàn)附錄B,圖4-3為PWM調(diào)速軟件設(shè)計(jì)流程圖。</p><p><b> N</b></p>
73、<p><b> Y</b></p><p> 圖4-3 計(jì)數(shù)測(cè)速的軟件流程 </p><p> 基于PC機(jī)的CAN節(jié)點(diǎn)的設(shè)計(jì)</p><p> 基于PC機(jī)的CAN節(jié)點(diǎn)(node_1)的設(shè)計(jì),首先制作一塊CAN到LPT的轉(zhuǎn)接卡,實(shí)現(xiàn)CAN總線接入計(jì)算機(jī)。然后編寫(xiě)總線驅(qū)動(dòng)程序和低層的接口函數(shù)庫(kù),最后完成控制平臺(tái)應(yīng)用程序。為了
74、縮短項(xiàng)目的開(kāi)發(fā)周期,選用廣州周立功單片機(jī)發(fā)展有限公司的CANmini 微型CAN 接口卡,驅(qū)動(dòng)和接口函數(shù)庫(kù),此基礎(chǔ)上設(shè)計(jì)本系統(tǒng)的UI應(yīng)用程序。</p><p> 5.1 LPT-CAN接口卡</p><p> CANmini 微型CAN 接口卡是一款便攜式CAN 總線通訊適配卡,通過(guò)計(jì)算機(jī)并行接口,使PC 機(jī)方便地連接到CAN 總線,實(shí)現(xiàn)CAN2.0B(A)協(xié)議的數(shù)據(jù)通訊。CANmin
75、i 微型CAN 接口卡能自動(dòng)檢測(cè)系統(tǒng)中可用的并口資源,采用EPP 傳輸模式及中斷機(jī)制實(shí)現(xiàn)接收/發(fā)送,更快的傳輸速率、更低的計(jì)算機(jī)CPU 資源占用。CANmini 硬件小巧,直接插在計(jì)算機(jī)的LPT上即可使用,軟件使用通用的ZLGVCI 驅(qū)動(dòng)程序接口。 </p><p><b> 5.2 接口函數(shù)庫(kù)</b></p><p> 在接口函數(shù)庫(kù)里,定義了4個(gè)數(shù)據(jù)結(jié)構(gòu),14個(gè)
76、接口函數(shù),應(yīng)用程序通過(guò)調(diào)用他們來(lái)對(duì)CAN總線進(jìn)行操作。接口庫(kù)函數(shù)使用,首先,把庫(kù)函數(shù)文件都放在工作目錄下??偣灿腥齻€(gè)文件ControlCAN.h ,ControlCAN.lib,ControlCAN.dll 和一個(gè)文件夾kerneldlls。然后,VC++ 調(diào)用動(dòng)態(tài)庫(kù),在.CPP 中包含ControlCAN.h 頭文件;在工程文件中加入ControlCAN.lib 文件。</p><p> 這14個(gè)函數(shù)分別是:
77、打開(kāi)設(shè)備函數(shù);關(guān)閉設(shè)備函數(shù);初始化CAN函數(shù);讀取設(shè)備信息函數(shù);獲取錯(cuò)誤信息函數(shù);讀取CAN 狀態(tài)函數(shù);讀取設(shè)備參數(shù)函數(shù);設(shè)置設(shè)備參數(shù)函數(shù);返回緩沖區(qū)未讀取的幀數(shù)函數(shù);清空指定緩沖區(qū)函數(shù);啟動(dòng)CAN 函數(shù);復(fù)位CAN 函數(shù);發(fā)送數(shù)據(jù)函數(shù)和接收數(shù)據(jù)函數(shù)。</p><p> 5.3 應(yīng)用軟件的MFC設(shè)計(jì)</p><p> 根據(jù)2.3節(jié)對(duì)本CAN總線系統(tǒng)應(yīng)用層的定義,在接口函數(shù)庫(kù)的基礎(chǔ)上編寫(xiě)
78、Windows應(yīng)用程序。在VC++中使用MFC應(yīng)用程序向?qū)Ы⒁粋€(gè)工程項(xiàng)目名為node-1的基本對(duì)話框項(xiàng)目,并把庫(kù)函數(shù)文件都放在工作目錄下??偣灿腥齻€(gè)文件ControlCAN.h ,ControlCAN.lib,ControlCAN.dll 和一個(gè)文件夾kerneldlls。在.CPP 中包含ControlCAN.h 頭文件;在工程文件中加入ControlCAN.lib 文件。制作如圖5-2的應(yīng)用程序主窗口。</p>&l
79、t;p> 圖5-1 接口函數(shù)使用流程 </p><p> 6 系統(tǒng)構(gòu)建與性能檢測(cè)</p><p> 6.1 系統(tǒng)構(gòu)建和調(diào)試</p><p> 在本CAN總線系統(tǒng)設(shè)計(jì)完成后,進(jìn)行構(gòu)建調(diào)試和性能檢測(cè)。通常情況下,設(shè)計(jì)一個(gè)系統(tǒng),應(yīng)該先開(kāi)發(fā)硬件再進(jìn)行軟件設(shè)計(jì)。在有仿真實(shí)驗(yàn)儀的前提下,可以先開(kāi)發(fā)軟件,確保軟件可以實(shí)現(xiàn),再做硬件,這樣可以降低開(kāi)發(fā)風(fēng)險(xiǎn)和成本,提高開(kāi)
80、發(fā)速度,減小開(kāi)發(fā)周期。</p><p> 用Keil C51編寫(xiě)node_2的軟件,并進(jìn)行軟件仿真(Keil C51具有軟件仿真的功能)。再進(jìn)行硬件仿真,使用DP-668仿真實(shí)驗(yàn)儀,上位機(jī)使用CAN測(cè)試軟件模擬應(yīng)用層協(xié)議。功能部分硬件暫時(shí)沒(méi)有,使用示波器觀察P1.3口的PWM信號(hào),它是不是根據(jù)指令調(diào)整了PWM的占空比。使用函數(shù)信號(hào)發(fā)生器產(chǎn)生方波信號(hào)輸入到P3.5口,模擬霍爾接近開(kāi)關(guān)產(chǎn)生的轉(zhuǎn)速信號(hào),不斷改變方波信
81、號(hào)的頻率, node_2采集的轉(zhuǎn)速是不是和方波信號(hào)的頻率一致。</p><p> 圖5-2 應(yīng)用程序主窗口</p><p> Node_2的程序調(diào)通后,改變一下ID得到node_3的軟件程序。下位機(jī)的程序調(diào)通后,再通過(guò)下位機(jī)來(lái)調(diào)試上位機(jī)的程序,node_1的界面如圖5-2。在軟件全部完成后,開(kāi)始制作硬件。制作PCB板,然后焊接電路。硬件完成后,讓標(biāo)準(zhǔn)程序在電路板上運(yùn)行,硬件沒(méi)有問(wèn)題后,
82、把系統(tǒng)軟件和硬件結(jié)合,完成整個(gè)系統(tǒng)。</p><p> 6.2 系統(tǒng)性能檢測(cè)</p><p> 本汽車(chē)CAN總線系統(tǒng)完成后要對(duì)其進(jìn)行性能檢測(cè),通過(guò)系統(tǒng)性能檢測(cè)發(fā)現(xiàn)潛在的缺陷,掌握系統(tǒng)性能參數(shù)。</p><p> 系統(tǒng)性能測(cè)試可以細(xì)分到單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試。單元測(cè)試、集成測(cè)試都應(yīng)該在開(kāi)發(fā)階段完成。系統(tǒng)測(cè)試應(yīng)該由專(zhuān)門(mén)的測(cè)試部門(mén)進(jìn)行,開(kāi)發(fā)者完成集成測(cè)試后,即
83、可啟動(dòng)系統(tǒng)測(cè)試;當(dāng)產(chǎn)品完全達(dá)到設(shè)計(jì)指標(biāo)時(shí),即可完成測(cè)試。</p><p><b> 圖6-1 系統(tǒng)檢測(cè)</b></p><p> 單元測(cè)試在系統(tǒng)搭建的時(shí)候已經(jīng)完成了,要做的是系統(tǒng)的集成測(cè)試。其測(cè)試網(wǎng)絡(luò)如圖6-1,左邊是本汽車(chē)CAN總線系統(tǒng),右邊增加一個(gè)測(cè)試節(jié)點(diǎn),該節(jié)點(diǎn)上運(yùn)行ZLGCANTest軟件,監(jiān)視整個(gè)網(wǎng)絡(luò)。系統(tǒng)正常運(yùn)行,并反復(fù)使用設(shè)計(jì)要求中所規(guī)定的功能,看看
84、他們能否準(zhǔn)確完成項(xiàng)目所要求的各個(gè)功能,這個(gè)過(guò)程至少需要24個(gè)小時(shí),在整個(gè)過(guò)程中測(cè)試節(jié)點(diǎn)記錄下總線上所有的通信數(shù)據(jù),測(cè)試過(guò)程見(jiàn)附錄C。</p><p> 對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析,得出如下結(jié)論:在24個(gè)小時(shí)的不間斷數(shù)據(jù)傳輸中,總線上沒(méi)有出現(xiàn)錯(cuò)誤數(shù)據(jù),系統(tǒng)穩(wěn)定運(yùn)行,沒(méi)有死機(jī),非法操作等現(xiàn)象??梢哉f(shuō)明本汽車(chē)CAN總線系統(tǒng)的正確性,和穩(wěn)定性。此外,測(cè)試得到了表6-2中的重要的系統(tǒng)性能參數(shù)。</p><p&
85、gt; 表6-2 系統(tǒng)重要參數(shù)</p><p> 7 汽車(chē)車(chē)身CAN解決方案</p><p> CAN總線優(yōu)越的性能完全滿足汽車(chē)對(duì)的實(shí)時(shí)性,安全性和穩(wěn)定性的要求,幾乎可以把它應(yīng)用中在汽車(chē)網(wǎng)絡(luò)系統(tǒng)的不同領(lǐng)域,不同層次(除車(chē)上媒體系統(tǒng)要求更高的傳輸速率)?;谏厦鎸?duì)CAN總線的研究,提出如下的車(chē)身CAN解決方案。</p><p> 該CAN網(wǎng)絡(luò)用來(lái)連接中央門(mén)鎖以
86、及車(chē)門(mén)控制單元。網(wǎng)絡(luò)采用星型結(jié)構(gòu),以保證在一個(gè)單元出現(xiàn)故障時(shí),其他的單元仍可以發(fā)送接收信息。使用網(wǎng)絡(luò)連接的方法實(shí)現(xiàn)這些電控單元間的通信,減少線路,提高通信線路的可靠性和容錯(cuò)能力,提高自診斷能力。該CAN網(wǎng)絡(luò)是用于車(chē)身的其對(duì)實(shí)時(shí)性要求不高,選擇如下參數(shù):</p><p> 傳輸介質(zhì)使用雙絞線。數(shù)據(jù)傳輸速度使用低速:62.5Kbps。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的發(fā)送信息的時(shí)間間隔為10ms</p><p>
87、; 該網(wǎng)絡(luò)由5個(gè)節(jié)點(diǎn)組成,其優(yōu)先級(jí)的順序定義如下:</p><p> 中央控制單元,node1。</p><p> 駕駛員側(cè)前門(mén)控制單元,node2。</p><p> 乘客側(cè)前門(mén)控制單元,node3。</p><p> 駕駛員側(cè)后門(mén)控制單元,node4。</p><p> 乘客側(cè)后面控制單元,node5。
88、</p><p> CAN 電源</p><p> 圖7-1 車(chē)身CAN網(wǎng)絡(luò)</p><p> 圖7-2給出駕駛員側(cè)前門(mén)控制單元中央控制器的應(yīng)用層的定義,其它的單元傳輸?shù)男畔⒍x類(lèi)似。</p><p> 表7-1車(chē)身CAN應(yīng)用層定義</p><p> 例如:當(dāng)中央控制器發(fā)送一個(gè)數(shù)據(jù)幀,標(biāo)識(shí)符02020
89、110,數(shù)據(jù)00000011B,駕駛員側(cè)前門(mén)控制單元就會(huì)接收到該信息,表示:中央控制器讓駕駛員側(cè)前門(mén)中央門(mén)鎖上鎖,并處于安全狀態(tài)。當(dāng)駕駛員側(cè)前門(mén)控制單元處理完該信息后,就會(huì)反饋一個(gè)幀,標(biāo)識(shí)符01010210,數(shù)據(jù)00000011B, 中央控制器就會(huì)接收到該信息,表示:駕駛員側(cè)前門(mén)中央門(mén)鎖已經(jīng)上鎖,并處于安全狀態(tài)。如果1s后中央控制器還沒(méi)有接收到駕駛員側(cè)前門(mén)控制單元的反饋信息,就報(bào)警表示系統(tǒng)故障。如果在1s內(nèi)接收到駕駛員側(cè)前門(mén)控制單元的反
90、饋信息,這顯示駕駛員側(cè)前門(mén)中央門(mén)鎖已經(jīng)上鎖,并處于安全狀態(tài)。</p><p> CAN更重要的應(yīng)用是用于汽車(chē)重要電控系統(tǒng)間的通信。這些電控系統(tǒng)包括:電控燃油噴射系統(tǒng),電控轉(zhuǎn)向系統(tǒng),防抱死制動(dòng)系統(tǒng)(ABS),防滑控制系統(tǒng)(ASR),等等。當(dāng)然, 當(dāng)CAN用于這些重要系統(tǒng)間的時(shí)候,就需要更加復(fù)雜的應(yīng)用層協(xié)議?,F(xiàn)在有很多行業(yè)標(biāo)準(zhǔn)或者是國(guó)際標(biāo)準(zhǔn),比如國(guó)際標(biāo)準(zhǔn)化組織(International Organization
91、for Standardization)的ISO11992、ISO11783以及汽車(chē)工程協(xié)會(huì)(Society of Automotive Engineers )的SAE J1939。最好遵守這些標(biāo)準(zhǔn),因?yàn)镃AN總線已經(jīng)作為汽車(chē)的一種標(biāo)準(zhǔn)設(shè)備列入汽車(chē)的整體設(shè)計(jì)中。只要遵守這些標(biāo)準(zhǔn)就可以大大縮短項(xiàng)目的開(kāi)發(fā)周期,當(dāng)然也就需要更大的投入,因?yàn)檫@些協(xié)議都會(huì)收取高額的使用費(fèi)用。</p><p> 8 摩托車(chē)CAN總線解決方
92、案</p><p> 把廉價(jià)的CAN通信系統(tǒng)移植到高端摩托車(chē)上是很有意義的,因?yàn)槭褂肅AN總線的摩托車(chē)與普通摩托車(chē)相比至少具有以下四個(gè)優(yōu)點(diǎn):</p><p> 降低摩托車(chē)組裝的開(kāi)銷(xiāo)。</p><p> 大大提高系統(tǒng)的可靠性和安全性。</p><p> 使摩托車(chē)的升級(jí)換代更加簡(jiǎn)單,快速。</p><p><
93、b> 操作更加簡(jiǎn)單方便。</b></p><p> 摩托車(chē)CAN總線通信網(wǎng)絡(luò)由四個(gè)CAN節(jié)點(diǎn)組成,每個(gè)CAN節(jié)點(diǎn)控制摩托車(chē)上的一個(gè)區(qū)域,如圖。</p><p> 圖8-1車(chē)上節(jié)點(diǎn)安排</p><p><b> CAN-bus</b></p><p> 圖8-2 摩托車(chē)CAN總線解決方案<
94、/p><p> 摩托車(chē)上的四個(gè)區(qū)域是這樣劃分的:儀表板區(qū)域,車(chē)頭區(qū)域,車(chē)尾區(qū)域,座下區(qū)域。四個(gè)區(qū)域只通過(guò)一個(gè)CAN總線連接起來(lái),這樣大大減少了線簇,組裝時(shí)間也會(huì)大大減少,并且提高了系統(tǒng)的穩(wěn)定性。</p><p> 下面討論一下這四個(gè)CAN節(jié)點(diǎn)是如何工作的。車(chē)頭節(jié)點(diǎn)負(fù)責(zé)控制大燈,轉(zhuǎn)向燈,啟動(dòng)鎖,發(fā)聲輪,已及額外的溫度傳感器,冷卻風(fēng)扇,電喇叭。儀表節(jié)點(diǎn)在車(chē)頭節(jié)點(diǎn)的上面,它負(fù)責(zé)控制所以的用戶(hù)指令
95、,數(shù)碼顯示和儀表。座下節(jié)點(diǎn)安排在摩托車(chē)的中部,用來(lái)管理發(fā)動(dòng)機(jī)的一些傳感器(如:油量傳感器,發(fā)動(dòng)機(jī)溫度傳感器,油壓傳感器)和電子擋的循環(huán)。最后,車(chē)尾節(jié)點(diǎn)負(fù)責(zé)控制車(chē)尾燈,傳感器,轉(zhuǎn)向燈。系統(tǒng)總線結(jié)構(gòu)如圖8-2。</p><p> 使用CAN總線通信網(wǎng)絡(luò)的摩托車(chē)最大的變化就是:用總線,電子開(kāi)關(guān)和軟件驅(qū)動(dòng)代替了傳統(tǒng)的線簇,機(jī)械開(kāi)關(guān)和繼電器。當(dāng)然,要這樣做首先必須解決的問(wèn)題就是必須保證那些重要操作的安全性。上面那個(gè)典型系
96、統(tǒng)現(xiàn)在就顯得很有意義了,硬件結(jié)構(gòu)一樣,以第二章提出的高層協(xié)議作為基礎(chǔ),而且是完全具有版權(quán)的,無(wú)需向任何組織提交申請(qǐng)和支付大量的版權(quán)費(fèi)用,要做的就是盡量提高軟件的安全性。表8-3為摩托車(chē)CAN總線應(yīng)用的應(yīng)用層協(xié)議和主要參數(shù)選擇。</p><p><b> 表8-1</b></p><p> 注:其中功能指令用于指定該幀是用來(lái)發(fā)給哪個(gè)功能的。 </p>
97、<p> 動(dòng)作指令是指要該功能完成什么動(dòng)作。</p><p> 9 CAN總線本科教學(xué)建議</p><p><b> 目的與要求</b></p><p><b> 知識(shí)基礎(chǔ)</b></p><p><b> 試驗(yàn)步驟及注意事項(xiàng)</b></p>
98、<p><b> 注重動(dòng)手能力培養(yǎng)</b></p><p><b> 增加感性認(rèn)識(shí)</b></p><p><b> 1教學(xué)部分 </b></p><p><b> 2實(shí)踐部分</b></p><p> CAN 協(xié)議已經(jīng)有了15 年的
99、歷史,但它仍處在改進(jìn)之中?,F(xiàn)在,CAN 在全球市場(chǎng)上仍然處于起始點(diǎn),當(dāng)?shù)玫街匾晻r(shí)誰(shuí)也無(wú)法預(yù)料CAN 總線系統(tǒng)在下一個(gè)10-15 年內(nèi)的發(fā)展趨勢(shì)。這里需要強(qiáng)調(diào)一個(gè)現(xiàn)實(shí),近幾年美國(guó)和歐洲的汽車(chē)廠商將會(huì)在他們所生產(chǎn)汽車(chē)的串行部件上使用CAN 。另外大量潛在的新應(yīng)用,例如娛樂(lè),正在呈現(xiàn)。CAN不僅可用于客車(chē),也可用于家庭消費(fèi)。同時(shí),結(jié)合高層協(xié)議應(yīng)用的特殊保安系統(tǒng)對(duì)CAN 的需求也正在穩(wěn)健增長(zhǎng)。鑒于此,建議在本科階段開(kāi)設(shè)CAN總線課程以及其實(shí)驗(yàn)課
100、。</p><p> 本科CAN總線教學(xué),主要是想通過(guò)必要的基礎(chǔ)理論教學(xué)與大量的實(shí)踐練習(xí)環(huán)節(jié)相結(jié)合,利用先進(jìn)的教學(xué)實(shí)驗(yàn)儀器、開(kāi)發(fā)環(huán)境,使學(xué)生快速掌握CAN總線的基本原理、電路檢測(cè)、開(kāi)發(fā)設(shè)計(jì)技術(shù),并具有較強(qiáng)的綜合運(yùn)用能力,從而培養(yǎng)成為具有良好的實(shí)際操作能力、設(shè)計(jì)能力的開(kāi)拓性電子應(yīng)用人才,讓他們真正的掌握一個(gè)實(shí)用的總線。</p><p> CAN總線技術(shù)適用于本科的應(yīng)用電子技術(shù)、機(jī)電一體化
101、、微機(jī)應(yīng)用、數(shù)控技術(shù)、自動(dòng)化、計(jì)算機(jī)原理與應(yīng)用、儀表及控制、信息通信技術(shù)、汽車(chē)工程等現(xiàn)場(chǎng)總線和微機(jī)控制的相關(guān)專(zhuān)業(yè)。學(xué)生應(yīng)具有以下的基礎(chǔ)知識(shí):數(shù)字電路,模擬電路、數(shù)控技術(shù)、PC原理、MCU原理、匯編/C語(yǔ)言。</p><p> 實(shí)驗(yàn)室的建設(shè)方面有兩套方案。第一套方案,硬件主要:計(jì)算機(jī) , 基于Keil C51的CANStarter-1開(kāi)發(fā)套件,ISP 功能的單片機(jī)芯片(P89C6678),步進(jìn)電機(jī)/伺服電機(jī)控制板
102、。 軟件方面:Keil C51 編程與開(kāi)發(fā)、調(diào)試軟件。這些也正是本課題開(kāi)發(fā)過(guò)程中所用到的主要工具。特點(diǎn)是資金要求低,但對(duì)學(xué)生的要求較高,實(shí)用于小型CAN總線實(shí)驗(yàn)室,優(yōu)秀學(xué)生選修。第二套方案,選用國(guó)外成型的CAN總線實(shí)驗(yàn)臺(tái),特點(diǎn)是資金要求高,實(shí)用于大型CAN總線實(shí)驗(yàn)室。</p><p> CAN總線的教材可以使用北京航空航天大學(xué)出版社出版的《現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)》。該書(shū)系統(tǒng)的講述了CAN總線的基本原理,C
103、AN總線的網(wǎng)絡(luò)協(xié)議,CAN控制器SJA1000和CAN驅(qū)動(dòng)器TJA1050。關(guān)于實(shí)驗(yàn)教材,本畢業(yè)設(shè)計(jì)詳細(xì)的講解了一個(gè)典型CAN網(wǎng)絡(luò)的設(shè)計(jì)過(guò)程,并提供了所有的源碼,可以在此基礎(chǔ)上修改為本科的實(shí)驗(yàn)教材。</p><p><b> 結(jié) 論</b></p><p> 本汽車(chē)CAN總線通信網(wǎng)絡(luò)在實(shí)驗(yàn)室階段工作穩(wěn)定,控制準(zhǔn)確,數(shù)據(jù)傳輸可靠。證明用單片機(jī)P89C668,CAN
104、控制器SJA1000和CAN驅(qū)動(dòng)器TJA1050構(gòu)成的CAN節(jié)點(diǎn)具有足夠的實(shí)時(shí)性,穩(wěn)定性和抗干擾能力,完全滿足車(chē)上網(wǎng)絡(luò)應(yīng)用的需求。它是把CAN總線技術(shù)用于車(chē)上數(shù)據(jù)采集傳輸,實(shí)時(shí)控制的可行性論證和嘗試,說(shuō)明我們獨(dú)立自主研制開(kāi)發(fā)汽車(chē)局域網(wǎng)、實(shí)現(xiàn)汽車(chē)信息化是完全可行的。</p><p> 本課題主要對(duì)包括CAN總線的汽車(chē)電控系統(tǒng)研發(fā)的步驟、方法以及規(guī)律性等進(jìn)行深入探索。主要解決了以下幾個(gè)問(wèn)題: </p>
105、<p> 1 CAN通信網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì),節(jié)點(diǎn)的安排,主要參數(shù)的選擇和汽車(chē)通信網(wǎng)絡(luò)的應(yīng)用層協(xié)議制定的方法和步驟。</p><p> 2 基于MCU的CAN節(jié)點(diǎn)接口硬件電路設(shè)計(jì)方法, CAN控制器的初始化程序設(shè)計(jì),報(bào)文發(fā)送子程序的設(shè)計(jì)和報(bào)文接收子程序的設(shè)計(jì)。</p><p> 3 基于PC的CAN節(jié)點(diǎn)硬件電路設(shè)計(jì)方法,CAN驅(qū)動(dòng)程序設(shè)計(jì),CAN接口庫(kù)函數(shù)設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)。&
106、lt;/p><p> 4 探索了CAN總線系統(tǒng)檢測(cè)方法,得出了CAN總線的重要性能參數(shù)。</p><p> 5 提出了CAN總線在摩托車(chē)上使用的方案和關(guān)于了CAN總線教學(xué)的建議。</p><p> 汽車(chē)CAN總線通信是一項(xiàng)新技術(shù),相關(guān)資料缺乏,且課題對(duì)系統(tǒng)的自動(dòng)化程度要求較高,牽涉的技術(shù)范圍廣,一人單獨(dú)完成,因此具有一定研制難度。由于本人水平有限,課題研究時(shí)間短,
107、對(duì)開(kāi)發(fā)軟件的掌握也還有限,系統(tǒng)存在缺陷在所難免(如:系統(tǒng)的兼容性問(wèn)題,上位機(jī)程序在2000系統(tǒng)上運(yùn)行的時(shí)候就常有死機(jī)現(xiàn)象)有待進(jìn)一步研究與完善。</p><p> 在畢業(yè)設(shè)計(jì)過(guò)程中,我學(xué)到了很多東西,動(dòng)手能力有很大的提高,掌握了開(kāi)發(fā)一個(gè)系統(tǒng)的一般過(guò)程:先收集相關(guān)資料,然后設(shè)計(jì)出系統(tǒng)方案,再完成硬件的選型和軟件開(kāi)發(fā)。通過(guò)資料的收集整理使我的知識(shí)面得到了很大的拓展,對(duì)汽車(chē)電控,汽車(chē)CAN總線通信的認(rèn)識(shí)更加深刻,并了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車(chē)can總線技術(shù)研究論文
- 汽車(chē)CAN總線通信技術(shù)研究.pdf
- 畢業(yè)設(shè)計(jì)(論文)-汽車(chē)總線技術(shù)標(biāo)準(zhǔn)研究
- 基于CAN總線的汽車(chē)儀表關(guān)鍵技術(shù)研究.pdf
- 基于can總線技術(shù)的胎壓監(jiān)測(cè)系統(tǒng)-畢業(yè)設(shè)計(jì)
- can-bus_汽車(chē)總線技術(shù)(中文)
- Can總線通信研究與硬件設(shè)計(jì)畢業(yè)設(shè)計(jì)論文.doc
- 畢業(yè)設(shè)計(jì)--基于can總線的汽車(chē)電器網(wǎng)絡(luò)設(shè)計(jì)(含外文翻譯)
- 汽車(chē)預(yù)碰撞技術(shù)研究-畢業(yè)設(shè)計(jì)
- 基于can總線的溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于 can 總線應(yīng)用系統(tǒng) --主控機(jī)設(shè)計(jì)
- can總線通信接口及程序設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于DSP的CAN總線技術(shù)研究.pdf
- 煤礦井下CAN總線技術(shù)研究.pdf
- 汽車(chē)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)--汽車(chē)預(yù)碰撞技術(shù)研究
- 汽車(chē)CAN總線數(shù)字傳感器數(shù)據(jù)傳送技術(shù)研究.pdf
- can總線中繼器設(shè)計(jì)-電路設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于can總線的三電機(jī)協(xié)同控制畢業(yè)設(shè)計(jì)
- 基于智能網(wǎng)聯(lián)汽車(chē)的CAN總線攻擊與防御檢測(cè)技術(shù)研究.pdf
- 基于can總線的汽車(chē)儀表設(shè)計(jì)【畢業(yè)優(yōu)秀答辯資料】【全套】
評(píng)論
0/150
提交評(píng)論