第一篇:汽車CAN總線實(shí)驗(yàn)教學(xué)系統(tǒng)的設(shè)計(jì)
成都盤(pán)灃科技有限公司
http://004km.cn
汽車CAN總線實(shí)驗(yàn)教學(xué)系統(tǒng)的設(shè)計(jì)
一 系統(tǒng)概述
CAN-bus(Controller Area Network)即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的開(kāi)放式現(xiàn)場(chǎng)總線之一,作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的網(wǎng)絡(luò)通訊控制方式,CAN-bus在汽車也已經(jīng)得到了廣泛的應(yīng)用。汽車電子車身網(wǎng)絡(luò)系統(tǒng)是由多個(gè)ECU之間采用高速CAN總線網(wǎng)絡(luò)通信實(shí)現(xiàn)車輛動(dòng)力與操作系統(tǒng)信息快速交互,低速CAN總線網(wǎng)絡(luò)通信實(shí)現(xiàn)車輛車身操作控制信息交互,以及低成本的LIN總線對(duì)CAN網(wǎng)絡(luò)進(jìn)行必要的擴(kuò)充。通過(guò)總線的連接,將多個(gè)ECU組成控制網(wǎng)絡(luò),實(shí)現(xiàn)相互間的信息互聯(lián)互通,使汽車變得更加安全、可靠、智能,功能擴(kuò)展更加便捷,車身更加輕便。
該實(shí)驗(yàn)系統(tǒng)配置了汽車常見(jiàn)的基礎(chǔ)ECU(ECU即電子控制單元Electronic Control Unit的縮寫(xiě)),可以通過(guò)ECU外置的輸入輸出硬件進(jìn)行本地化操作,以達(dá)到了解單獨(dú)一個(gè)ECU功能的目的。提供ECU仿真模型、二次開(kāi)發(fā)所必須的原理圖、源代碼等,為以后獨(dú)立開(kāi)發(fā)汽車電子功能部件奠定基礎(chǔ)。該系統(tǒng)也可組網(wǎng)構(gòu)成一個(gè)基本車載網(wǎng)絡(luò)的模型,了解車載網(wǎng)絡(luò)的基本構(gòu)成。通過(guò)可配套使用的PFautoCAN平臺(tái)軟件,可以完成對(duì)車載網(wǎng)絡(luò)的設(shè)計(jì)、軟件仿真、半實(shí)物仿真、硬件在環(huán)仿真等,以達(dá)到構(gòu)建網(wǎng)絡(luò)控制方案,驗(yàn)證網(wǎng)絡(luò)模型,并通過(guò)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的采集、存儲(chǔ)、分析、處理等對(duì)車載網(wǎng)絡(luò)進(jìn)行測(cè)量、評(píng)估、優(yōu)化等目的。二 技術(shù)指標(biāo)
1.雙CAN通信網(wǎng)關(guān)單元
1.1 可實(shí)現(xiàn)低速CAN網(wǎng)絡(luò)(如125Kbps)與高速CAN網(wǎng)絡(luò)(如250Kbps)之間的數(shù)據(jù)選擇性交互,完成汽車電子車身網(wǎng)絡(luò)內(nèi)不同通信速率CAN網(wǎng)絡(luò)之間的信息互聯(lián)互通。
1.2 支持CAN2.0A與CAN2.0B協(xié)議,支持CAN通信速度范圍5Kbps ~ 1000Kbps。1.3 通過(guò)彩色液晶顯示屏實(shí)時(shí)顯示網(wǎng)絡(luò)報(bào)文等相關(guān)信息。1.4 提供8路開(kāi)關(guān)量信號(hào)輸入和8路開(kāi)關(guān)量信號(hào)輸出。
1.5 提供軟件代碼測(cè)試CAN各種波特率標(biāo)準(zhǔn)、通信幀的類型、通信幀的格式、總線濾波等功能。成都盤(pán)灃科技有限公司
http://004km.cn 1.6 可通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行CAN-BUS網(wǎng)絡(luò)通信軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。
1.7 提供ECU實(shí)物原理圖、實(shí)驗(yàn)源代碼等教學(xué)資源。
1.8 能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
2.汽車組合儀表控制單元
汽車儀表是一個(gè)綜合性汽車電器,采集并顯示來(lái)自各個(gè)汽車模塊的信息,如車燈、車門(mén)、油溫、車速等;所以儀表是汽車所有信息的匯集處,儀表既要將這些狀態(tài)信息顯示出來(lái),又要將相應(yīng)的信息發(fā)送給相應(yīng)控制模塊,工作較為繁忙,在汽車電子車身網(wǎng)絡(luò)中扮演著非常重要的角色。
2.1 儀表包括:里程表、發(fā)動(dòng)機(jī)轉(zhuǎn)速表、車速表、燃油表和溫度表。
2.2 指示包括:燃油報(bào)警信號(hào);關(guān)于發(fā)動(dòng)機(jī)的信號(hào):水溫報(bào)警信號(hào)、充電指示信號(hào)、機(jī)油壓力報(bào)警指示等;關(guān)于制動(dòng)系統(tǒng)的信號(hào):制動(dòng)器液位故障報(bào)警指示、駐車制動(dòng)指示、制動(dòng)蹄片間隙警告指示;關(guān)于安全的信號(hào):安全帶未系警告指示、SRS故障指示、副駕駛安全氣囊、防盜指示等;關(guān)于車燈的信號(hào):近光燈、遠(yuǎn)光燈、防霧燈和轉(zhuǎn)向燈等;除霜信號(hào)指示。2.3軟件包括八類模塊單元:
2.3.1燃油表控制模塊:主要有油位采集模塊和步進(jìn)電機(jī)驅(qū)動(dòng)模塊; 2.3.2溫度表控制模塊:主要有溫度采集模塊和步進(jìn)電機(jī)驅(qū)動(dòng)模塊; 2.3.3車速表控制模塊:主要有車速采集模塊和步進(jìn)電機(jī)驅(qū)動(dòng)模塊; 2.3.4轉(zhuǎn)速表控制模塊:主要有轉(zhuǎn)速采集模塊和步進(jìn)電機(jī)驅(qū)動(dòng)模塊; 2.3.5指示燈模塊:主要有信號(hào)采集和控制信號(hào)輸出模塊;
2.3.6液晶顯示模塊:主要時(shí)間、日期調(diào)節(jié)和顯示模塊以及總里程顯示模塊; 2.3.7CAN通信模塊:主要有數(shù)據(jù)處理模塊、CAN接收和發(fā)送模塊; 2.3.8聲光報(bào)警模塊:主要有信號(hào)采集模塊和蜂鳴器驅(qū)動(dòng)模塊。2.4 實(shí)驗(yàn)信號(hào)輸入:
實(shí)驗(yàn)設(shè)備自帶信號(hào)輸入;信號(hào)發(fā)生器信號(hào)輸入;CAN網(wǎng)絡(luò)報(bào)文輸入。2.5 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。成都盤(pán)灃科技有限公司
http://004km.cn 2.6 提供ECU實(shí)物原理圖、實(shí)驗(yàn)源代碼等教學(xué)資源。
2.7 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
3.汽車車門(mén)控制單元
3.1 提供不少于6路的繼電器信號(hào)輸出,可以驅(qū)動(dòng)控制車門(mén)、車窗、后視鏡等汽車電器。
3.2 四門(mén)獨(dú)立控制開(kāi)關(guān)輸入。
3.2實(shí)現(xiàn)CAN與Lin總線通信的綜合應(yīng)用。
3.3 通過(guò)本地控制可以實(shí)現(xiàn)本單元的ECU功能演示,并可通過(guò)CAN/lin總線網(wǎng)絡(luò)進(jìn)行實(shí)車的模擬控制,并通過(guò)網(wǎng)關(guān)、儀表等顯示相關(guān)控制報(bào)文、指示信息等。3.4 綜合應(yīng)用CAN通信與LIN通信的組網(wǎng)與數(shù)據(jù)交互,以及車門(mén)開(kāi)關(guān)控制策略; 3.5 提供ECU原理圖及實(shí)驗(yàn)源代碼等教學(xué)資源。
3.6 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。3.7 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
4.汽車車燈控制單元
4.1 七組以上燈光控制繼電器輸出。4.2 1七路以上獨(dú)立邏輯信號(hào)輸入。4.3實(shí)現(xiàn)CAN與Lin總線通信的綜合應(yīng)用。
4.4 通過(guò)本地控制可以實(shí)現(xiàn)本單元的ECU功能演示,并可通過(guò)CAN/lin總線網(wǎng)絡(luò)進(jìn)行實(shí)車的模擬控制,并通過(guò)網(wǎng)關(guān)、儀表等顯示相關(guān)控制報(bào)文、指示信息等。4.5 提供ECU原理圖及實(shí)驗(yàn)源代碼等教學(xué)資源。
4.6 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。4.7 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
5.汽車防盜報(bào)警器單元 成都盤(pán)灃科技有限公司
http://004km.cn 5.1 六路以上繼電器控制輸出,五路以上報(bào)警信號(hào)輸入。
5.2 綜合應(yīng)用CAN、LIN總線通信與無(wú)線通信的數(shù)據(jù)交互技術(shù),以及汽車防盜原理。
5.3 提供ECU原理圖及實(shí)驗(yàn)源代碼等教學(xué)資源。5.4 多路LED工作指示燈控制電路。
5.5 電子防盜軟件部分主要包括功能選擇開(kāi)關(guān)信號(hào)采集與處理、制動(dòng)踏板等開(kāi)關(guān)信號(hào)采集與處理、振動(dòng)傳感器信號(hào)采集與處理、RF信號(hào)采集與處理、繼電器控制及控制策略。
5.6 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。5.7 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
6.汽車倒車?yán)走_(dá)控制單元
6.1 通過(guò)對(duì)超聲波探頭控制,采集車身周圍障礙物分布情況,將信息匯總后模糊推理,提供倒車建議。
6.2 提供ECU原理圖及實(shí)驗(yàn)源代碼等教學(xué)資源。
6.3 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。6.4 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
7.智能天窗控制單元
7.1 提供4路以上控制繼電器輸出,控制天窗滑移電機(jī)、斜升電機(jī)等。7.2 提供6路以上邏輯信號(hào)輸入。
7.3 實(shí)現(xiàn)滑動(dòng)開(kāi)關(guān)有滑動(dòng)打開(kāi)、滑動(dòng)關(guān)閉和斷開(kāi)(中間位置)3 個(gè)擋位。7.4 實(shí)現(xiàn)斜升開(kāi)關(guān)也是有斜升、斜降和斷開(kāi)(中間位置)3個(gè)擋位。7.5 實(shí)現(xiàn)對(duì)天窗的自動(dòng)控制。
7.6 綜合應(yīng)用CAN、LIN總線的通信技術(shù),以及智能天窗控制原理。7.7 提供ECU原理圖及實(shí)驗(yàn)源代碼等教學(xué)資源。成都盤(pán)灃科技有限公司
http://004km.cn 7.8 通過(guò)PFautoCAN平臺(tái)軟件對(duì)ECU進(jìn)行軟仿真、半實(shí)物仿真及硬件在環(huán)仿真。7.9 通能夠通過(guò)PFautoCAN平臺(tái)軟件對(duì)單個(gè)ECU的CAN-BUS通信功能進(jìn)行診斷,并可做多個(gè)ECU聯(lián)網(wǎng)后CAN-BUS通信的綜合診斷。
8.PFautoCAN汽車CAN網(wǎng)絡(luò)設(shè)計(jì)仿真平臺(tái)軟件
PFautoCAN平臺(tái)軟件是針對(duì)車載CAN-BUS網(wǎng)絡(luò)及其相關(guān)ECU的開(kāi)發(fā)、測(cè)試和分析的集成開(kāi)發(fā)環(huán)境軟件,涵蓋了從系統(tǒng)規(guī)劃到實(shí)現(xiàn)的完整開(kāi)發(fā)流程,可提高開(kāi)發(fā)基于CAN-BUS網(wǎng)絡(luò)的ECU及車載網(wǎng)絡(luò)的效率。支持ECU及車載CAN-BUS網(wǎng)絡(luò)系統(tǒng)的開(kāi)發(fā)、測(cè)量、仿真、診斷、測(cè)試、分析、數(shù)據(jù)記錄、數(shù)據(jù)回放等,并實(shí)現(xiàn)了與Vector公司的dbc文件兼容等。
8.1 測(cè)量:以圖形,圖表等形式實(shí)時(shí)的反映車載網(wǎng)絡(luò)的總線狀態(tài)及相關(guān)信息 8.2仿真:用于車載網(wǎng)絡(luò)仿真,包括軟件仿真,半實(shí)物仿真,硬件在環(huán)仿真。8.3診斷:完成對(duì)單個(gè)ECU的CAN-BUS通信功能診斷,以及多個(gè)ECU聯(lián)網(wǎng)后網(wǎng)絡(luò)的綜合診斷。
8.4測(cè)試:對(duì)開(kāi)發(fā)過(guò)程中各個(gè)階段的ECU進(jìn)行CAN總線通信功能測(cè)試,檢查測(cè)試模型,回歸測(cè)試及一致性測(cè)試。
8.5 數(shù)據(jù)記錄與回放:可記錄總線數(shù)據(jù),并進(jìn)行記錄數(shù)據(jù)的回放。
8.6符合ISO11898標(biāo)準(zhǔn)的兩路獨(dú)立CAN-bus通道,可以處理CAN2.0A和CAN2.0B格式的CAN報(bào)文信息;發(fā)送速度最高大于4000幀/秒,接收速度最高大于5000幀/秒。
8.7可實(shí)時(shí)顯示總線負(fù)載和流量以及總線錯(cuò)誤狀態(tài)。8.8支持檢測(cè)和顯示錯(cuò)誤幀。
8.9 可通過(guò)腳本配置以支持自定義協(xié)議。
8.10 可發(fā)送協(xié)議幀,進(jìn)行模擬操作;具有鍵盤(pán)輸入、時(shí)間等觸發(fā)功能,并可設(shè)定接收到指定類型的協(xié)議幀時(shí)觸發(fā)發(fā)送相應(yīng)的協(xié)議幀。
9.汽車信號(hào)發(fā)生器
9.1 具有DDS單元(數(shù)字信號(hào)發(fā)生單元),可通過(guò)該單元模擬發(fā)動(dòng)機(jī)轉(zhuǎn)速、車速等信號(hào)。成都盤(pán)灃科技有限公司
http://004km.cn 9.2 具有CAN-BUS通信功能,可以根據(jù)汽車CAN網(wǎng)絡(luò)設(shè)計(jì)單元、汽車CAN網(wǎng)絡(luò)測(cè)試單元、汽車CAN網(wǎng)絡(luò)管理的實(shí)驗(yàn)需要,模擬在總線中的各種ECU輸出到總線的狀態(tài)信息,如汽車車速、發(fā)動(dòng)機(jī)轉(zhuǎn)速、油壓、溫度、ABS、車門(mén)車窗狀態(tài)等。
第二篇:CAN總線使用總結(jié)
CAN總線使用總結(jié)
一,CAN總線是由德國(guó)BOSCH公司提出,目的是為了解決汽車內(nèi)部硬件信號(hào)線的復(fù)雜走線
二,CAN:controller area area:控制器局域網(wǎng)絡(luò) 三,CAN總線的特點(diǎn):
與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。
1,CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,不分主從
2,CAN節(jié)節(jié)點(diǎn)只需通過(guò)對(duì)報(bào)文的標(biāo)志符進(jìn)行濾波就可以方便的實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)及全局廣播等 幾種傳送接收方式;
3,CAN總線采用非破壞總線仲裁技術(shù)。當(dāng)發(fā)生沖突時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)自動(dòng)退出發(fā)送,而優(yōu)先級(jí)高 的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間。尤其是在負(fù)載很重的情況下,也不
會(huì)出現(xiàn)癱瘓情況(以太網(wǎng)則可能)。
4,在報(bào)文標(biāo)識(shí)符上,CAN上的節(jié)點(diǎn)分成不同的優(yōu)先級(jí),可滿足不同的實(shí)時(shí)要求,優(yōu)先級(jí)高的數(shù)據(jù)
最多可在134us內(nèi)得到傳輸;
5,CAN的直接通信距離最遠(yuǎn)可達(dá)10KM(速率在5kbps以下),通信速率最高可達(dá)1Mbps,(此時(shí)通信距離最長(zhǎng)為40m);
6,CAN上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動(dòng)電路,目前可達(dá)110個(gè);
7,報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,保證了數(shù)據(jù)出錯(cuò)率極低;
8,CAN的每幀信息都在CRC校驗(yàn)及其他檢錯(cuò)措施,具有極好的檢錯(cuò)效果;
9,CAN的通信介質(zhì)為雙絞線、同軸電纜或光纖,選擇靈活;
10,CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響;
11,CAN總線具有較高的性價(jià)比。四,CAN總線的系統(tǒng)構(gòu)成及數(shù)據(jù)傳輸原理
(一),系統(tǒng)構(gòu)成
1,CAN控制器:接收來(lái)自微控制器的數(shù)據(jù),并處理發(fā)送給收發(fā)器,同時(shí),也接收來(lái)自收發(fā)器的數(shù)據(jù),處理傳給微控制器。2,CAN收發(fā)器:總線驅(qū)動(dòng) 四,CAN總線的的通信協(xié)議
(一),網(wǎng)絡(luò)層次結(jié)構(gòu)
可分為三個(gè)層:目標(biāo)層,傳送層,物理層,如下圖所示
物理層:規(guī)定了信號(hào)的傳輸過(guò)程中的電氣特性(如傳輸方式及傳輸介質(zhì))及信號(hào)特性;
傳送層:幀組織,總線仲裁,錯(cuò)誤檢測(cè)等;
目標(biāo)層:信息識(shí)別,為應(yīng)用層提供接口;
其上述分層按iso/osi也可以分為兩層:物理層,數(shù)據(jù)鏈路層(即目標(biāo)層和傳送層)。
(二),位表達(dá)
CAN協(xié)議中有兩種邏輯位表達(dá)方式
1.當(dāng)總線線上發(fā)送的都是弱位時(shí),總線的狀態(tài)就是弱位(邏輯1); 2.當(dāng)總線上有強(qiáng)位出現(xiàn)時(shí),弱位信號(hào)讓位于強(qiáng)位信號(hào),即總線上顯示強(qiáng)位信號(hào)(邏輯0);
(三),幀類型
1.數(shù)據(jù)幀:傳送數(shù)據(jù),攜帶數(shù)據(jù)從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)或多個(gè)節(jié)點(diǎn),結(jié)構(gòu)如下圖(標(biāo)準(zhǔn)格式)所示。
數(shù)據(jù)幀由7種不同的位域組成:起始域,仲裁域,控制域,數(shù)據(jù)據(jù)域,CRC域,應(yīng)答域,幀結(jié)束域。
起始域:表示數(shù)據(jù)幀或遠(yuǎn)程幀的開(kāi)始,它由一個(gè)強(qiáng)位組成,主要用于接收狀態(tài)下的CAN控制器的硬同 步。
仲裁域:由信息標(biāo)志符及RTR位組成,當(dāng)多個(gè)CAN控制器同時(shí)發(fā)送數(shù)據(jù)時(shí),在仲裁域要進(jìn)行面向位的 沖突仲裁。對(duì)于標(biāo)準(zhǔn)格式里,標(biāo)志符由11位組成,用于提供信息地址和優(yōu)先級(jí),其發(fā)送的順序?yàn)镮D28~ID18
(注:高7位不允許均為弱的現(xiàn)象);對(duì)于擴(kuò)展格式,仲裁域由11位的基本ID(ID28~ID18)和18位 的擴(kuò)展ID(ID17~ID0)組成,格式與標(biāo)準(zhǔn)格式略有不同,詳見(jiàn)書(shū)P25。RTR為:遠(yuǎn)地請(qǐng)求發(fā)
送位,數(shù)據(jù)幀里為顯性,遠(yuǎn)程幀里為隱性。當(dāng)CAN總線上接收節(jié)點(diǎn)想請(qǐng)求某節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),就向網(wǎng)絡(luò)上發(fā)
送一遠(yuǎn)程幀,用標(biāo)志符指出節(jié)點(diǎn)地址,同時(shí)置RTR位為高。如果尋址節(jié)點(diǎn)立即發(fā)送數(shù)據(jù),則使用相同的標(biāo)
志符,總線不會(huì)產(chǎn)生沖突,因?yàn)榇藭r(shí)數(shù)據(jù)幀的RTR位為低(數(shù)據(jù)強(qiáng)位)。在擴(kuò)展幀里SRR位取代了RTR 位。
控制域:由6個(gè)位組成,包括2個(gè)保留位(IDE,ro)用于CAN協(xié)議擴(kuò)展,4位數(shù)據(jù)長(zhǎng)度碼,允許數(shù)據(jù)的 長(zhǎng)度值為0~8。
數(shù)據(jù)域:發(fā)送緩沖區(qū)按照長(zhǎng)度碼指示的數(shù)據(jù)長(zhǎng)度進(jìn)行發(fā)送,接收的數(shù)據(jù)同樣如此,第一個(gè)字節(jié)的最高有 效位第一個(gè)被發(fā)送/接收。
循環(huán)冗余校驗(yàn)域(CRC):由CRC序列位(15位)和一個(gè)CRC邊界符(1個(gè)弱位)組成。CRC的范圍
包括起始域、仲裁域、控制域、數(shù)據(jù)域、CRC序列。之所以選用這種幀校驗(yàn)方式,因?yàn)椋哼@種CRC碼對(duì)于 少于127位的幀最佳。
應(yīng)答域:應(yīng)答域由發(fā)送方發(fā)送的兩位弱位組成(應(yīng)答空隙和應(yīng)答分界位),當(dāng)接收器正確地接收到有
效的報(bào)文時(shí),接收器就會(huì)在應(yīng)答間隙期間(發(fā)送ACK信號(hào))向發(fā)送器發(fā)送一顯性位以示應(yīng)答。因此發(fā)送節(jié)
點(diǎn)一直監(jiān)測(cè)總線信號(hào)以確認(rèn)網(wǎng)絡(luò)中至少有一個(gè)節(jié)點(diǎn)正確接收到發(fā)信息。應(yīng)答分界位是應(yīng)答域中的第二個(gè)弱
位,有此可見(jiàn),應(yīng)答空隙兩邊有兩個(gè)弱位:CRC分界位和應(yīng)答分界位。
幀結(jié)束域:每一個(gè)數(shù)據(jù)幀或遠(yuǎn)程幀一串7位的弱位幀結(jié)束域結(jié)束。2.遠(yuǎn)程幀:請(qǐng)求數(shù)據(jù)
遠(yuǎn)程幀由6個(gè)域組成:起始域、仲裁域、控制域、CRC域、應(yīng)答域、幀結(jié)束域。遠(yuǎn)程幀與數(shù)據(jù)幀不同之處在于:RTR位為高,無(wú)數(shù)據(jù)域。3.錯(cuò)誤指示幀:用于指示傳送過(guò)程中的錯(cuò)誤信息
錯(cuò)誤指示幀由兩個(gè)不同的域組成:第一個(gè)域反映來(lái)自控制器的錯(cuò)誤標(biāo)志,第二個(gè)域?yàn)殄e(cuò)誤分界符。
錯(cuò)誤標(biāo)志:有兩種,一個(gè)由6個(gè)強(qiáng)位組成的主動(dòng)錯(cuò)誤標(biāo)志;另一個(gè)由6個(gè)弱位組成的被動(dòng)錯(cuò)誤標(biāo)志,它是被其他CAN控制器強(qiáng)位改寫(xiě)。處于主動(dòng)錯(cuò)誤狀態(tài)的CAN節(jié)點(diǎn)檢測(cè)到錯(cuò)誤發(fā)出主動(dòng)錯(cuò)誤標(biāo)志,該錯(cuò)誤標(biāo) 志不滿足位填充規(guī)則,或者是破壞應(yīng)答域或結(jié)束域固定格式,所有其他節(jié)點(diǎn)都檢測(cè)到錯(cuò)誤狀態(tài),并發(fā)出該錯(cuò) 誤標(biāo)志。因此,這些從總線上監(jiān)測(cè)到的強(qiáng)位串是不同節(jié)點(diǎn)發(fā)出錯(cuò)誤標(biāo)志的結(jié)果,這一標(biāo)志最短為6個(gè),最長(zhǎng)
為12個(gè)。被動(dòng)錯(cuò)誤標(biāo)志(不太理解。。后續(xù))
錯(cuò)誤分界:它由8個(gè)弱位組成,與過(guò)載分界有相同的格式,當(dāng)錯(cuò)誤標(biāo)志發(fā)生后,每一個(gè)CAN節(jié)點(diǎn)監(jiān)測(cè) 總線,直到檢測(cè)到一個(gè)強(qiáng)位出現(xiàn),這表明所有CAN節(jié)點(diǎn)已經(jīng)完成錯(cuò)誤標(biāo)志的發(fā)送,并開(kāi)始發(fā)送8個(gè)弱位的分 界符,之后網(wǎng)絡(luò)上的主動(dòng)錯(cuò)誤節(jié)點(diǎn)便可同時(shí)開(kāi)始其他的發(fā)送。如果數(shù)據(jù)幀或遠(yuǎn)程幀在發(fā)送過(guò)程中發(fā)現(xiàn)錯(cuò)誤
后,當(dāng)前的信息作廢,并啟動(dòng)重新發(fā)送。如果CAN節(jié)點(diǎn)發(fā)現(xiàn)錯(cuò)誤指示幀錯(cuò)誤,則重發(fā),當(dāng)連續(xù)多次出現(xiàn)此錯(cuò)
誤時(shí),則相應(yīng)的節(jié)點(diǎn)變?yōu)楸粍?dòng)錯(cuò)誤節(jié)點(diǎn)。為正確結(jié)束錯(cuò)誤標(biāo)志,被動(dòng)態(tài)節(jié)點(diǎn)需要至少3個(gè)位周期。
4.過(guò)載幀:用于后續(xù)幀的延時(shí)
過(guò)載幀由兩個(gè)域組成:過(guò)載標(biāo)志和過(guò)載分界。以下情況可以導(dǎo)致過(guò)載幀發(fā)送:
(1).接收未準(zhǔn)備好即接收方需要過(guò)多的時(shí)間處理當(dāng)前的數(shù)據(jù);
(2).在幀間空隙的第一位或第二位發(fā)現(xiàn)顯性位信號(hào); 過(guò)載幀發(fā)送條件:
(1).在幀間空隙域的第一個(gè)位周期;
(2).在幀間空隙域中檢測(cè)到強(qiáng)位信號(hào)一個(gè)位周期后,方可啟動(dòng)過(guò)載幀發(fā)送。
過(guò)載標(biāo)志:由6個(gè)顯性位組成,與錯(cuò)誤標(biāo)志格式相同,當(dāng)超載標(biāo)志發(fā)生后,每個(gè)節(jié)點(diǎn)監(jiān)測(cè)總線狀態(tài),當(dāng)發(fā)
現(xiàn)線上有弱位后,此時(shí)所有節(jié)點(diǎn)已完成超載標(biāo)志的發(fā)送,并開(kāi)始發(fā)8個(gè)弱位串; 過(guò)載分界符:由8個(gè)隱性位組成,與錯(cuò)誤分界符格式相同;
-------英飛凌(infineon)單片機(jī)XC800之CAN總線 CAN內(nèi)部硬件結(jié)構(gòu),如下圖所示
一,CAN處理機(jī)制
發(fā)送:根據(jù)報(bào)文緩存中的報(bào)文對(duì)象,由位流處理器產(chǎn)生的通過(guò)CAN總線發(fā)送的數(shù)據(jù)幀和過(guò)程幀,即從報(bào) 文緩存中取出的報(bào)文對(duì)象,位流處理器給它加上起始域,結(jié)束域和CRC校驗(yàn)數(shù)據(jù),組成一個(gè)完整的數(shù)據(jù)幀
和遠(yuǎn)程幀,此時(shí)位流控制器還在對(duì)總線進(jìn)行監(jiān)測(cè),當(dāng)發(fā)現(xiàn)總線空閑時(shí),就啟動(dòng)數(shù)據(jù)的傳送,傳送過(guò)程中監(jiān)測(cè) 總線的信息,當(dāng)發(fā)現(xiàn)與傳送的信息不相符時(shí),就會(huì)產(chǎn)生一個(gè)“最近錯(cuò)誤”中斷請(qǐng)求。
接收:數(shù)據(jù)幀或遠(yuǎn)程幀通過(guò)總結(jié)接口,到CAN節(jié)點(diǎn),位流控制器對(duì)其進(jìn)行CRC域進(jìn)行檢測(cè),驗(yàn)證數(shù)據(jù)的 一致性,當(dāng)檢測(cè)到錯(cuò)誤時(shí),產(chǎn)生一個(gè)“最近錯(cuò)誤”中斷請(qǐng)求,并產(chǎn)生一個(gè)錯(cuò)誤幀,發(fā)送到總線上。對(duì)一個(gè)無(wú) 錯(cuò)誤的幀,位流處理器將它分解成數(shù)據(jù)部分和標(biāo)識(shí)符部分,列表控制器將其以鏈表的形式存儲(chǔ)于報(bào)文緩存
中,執(zhí)行遠(yuǎn)程幀或數(shù)據(jù)幀處理。
在上述數(shù)據(jù)傳送和處理過(guò)程中,會(huì)出現(xiàn)一些狀態(tài)字,指示操作完成或出現(xiàn)錯(cuò)誤,這些狀態(tài)字或引發(fā)中 斷,進(jìn)行中斷處理。
二,從上述結(jié)構(gòu)框圖可以看出,主要包括:CAN節(jié)點(diǎn),報(bào)文控制器,中斷處理單元
(一),CAN節(jié)點(diǎn)(1),位流控制器(Bitstream Prosessor)
主要任務(wù):處理數(shù)據(jù)幀,遠(yuǎn)程幀,錯(cuò)誤幀和過(guò)載幀,同時(shí)還進(jìn)行串行數(shù)據(jù)流與輸入/輸出寄存器之間
轉(zhuǎn)換工作(Perform data frame ,remote frame ,error frame and overload,conversion thd seiral data
stream and the input/output register)。
詳述:位流控制器:對(duì)于發(fā)送:根據(jù)報(bào)文緩存中的報(bào)文對(duì)象,由位流處理器產(chǎn)生通過(guò)CAN總線的數(shù)據(jù) 幀和遠(yuǎn)程幀。該的控制器控制CRC產(chǎn)生器,且給新的遠(yuǎn)程幀和數(shù)據(jù)幀加上校驗(yàn)和信息。在加入‘幀起始 位’和‘幀
結(jié)束域’之后,位流處理器開(kāi)始CAN總線仲裁過(guò)程,且當(dāng)發(fā)現(xiàn)總線空閑時(shí)連續(xù)進(jìn)行幀發(fā)送。進(jìn)行數(shù)據(jù)發(fā)送 的同時(shí),位流控制器連續(xù)地監(jiān)測(cè)I/O線的的電平和發(fā)送移位寄存器當(dāng)前送出位的邏輯狀態(tài)之間檢測(cè)到失配,產(chǎn)生一個(gè)‘最近錯(cuò)誤’中斷請(qǐng)求,錯(cuò)誤碼由位域NSRX.LEC給出。
對(duì)于接收:通過(guò)驗(yàn)證CRC相關(guān)域,確定接收到的幀是否有問(wèn)題,或有問(wèn)題,產(chǎn)生一個(gè)‘最近錯(cuò)
誤’中斷請(qǐng)求,同時(shí)產(chǎn)生一個(gè)錯(cuò)誤幀,并發(fā)送到總線上。若接收的幀無(wú)錯(cuò)誤,將接收到的幀分解成標(biāo)志符和
數(shù)據(jù)部分,并將接收到的信息傳給報(bào)文緩存,執(zhí)行遠(yuǎn)程幀或數(shù)據(jù)幀處理,中斷產(chǎn)生和狀態(tài)處理。(2),位時(shí)序單元(Bit timing unit)
考慮到傳播延遲和相移,根據(jù)用戶設(shè)置確定采樣點(diǎn)和位時(shí)間長(zhǎng)度,同時(shí)也處理再同步操作(define a
length of a bit time and the location of the sample point according to the user settings,takeing into
accout propration delays and phase shift errors and re-sychronization).(3),錯(cuò)誤處理單元(error handling unit)
對(duì)發(fā)送和接收過(guò)程中錯(cuò)誤進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到一定時(shí),進(jìn)入不同的錯(cuò)誤指示狀態(tài):錯(cuò)誤激活,錯(cuò) 誤認(rèn)可,關(guān)閉總線。(4),節(jié)點(diǎn)控制單元(Node control unit)A,使能/禁止節(jié)點(diǎn)的傳送
B,使能/禁止可引發(fā)中斷的特定節(jié)點(diǎn)事件 C幀計(jì)數(shù)管理(5),中斷控制單元(interrupt control unit)
控制CAN產(chǎn)生的不同類型的事件的中斷
(二),報(bào)文控制器
(三),列表控制器
(四),中斷處理單元
第三篇:CAN總線學(xué)習(xí)心得--重要
CAN總線學(xué)習(xí)心得--重要
SJ A1 0 0 0 的常用標(biāo)準(zhǔn)波特率設(shè)置,為什么基本上都是單次采樣?即使是低速的時(shí) 候也是這樣的,既然T SEG1 的設(shè)置周期都很大,比如都大于1 0 了,為什么不讓 他采樣三次呢?答: 是不好理解,但那是Ci A 推薦的值。用5 1 系列芯片和兩個(gè)SJ A1 0 0 0 接口還要外擴(kuò)一個(gè)RAM,請(qǐng)問(wèn)5 1 的AL E 能否同時(shí) 與三個(gè)芯片的AL E 管腳相連(地址不同)有哪位高手做過(guò)雙SJ A1 0 0 0 冗余的請(qǐng)指 教!答: 能同時(shí)連接。請(qǐng)問(wèn)CAN 總線在想傳輸1 0 0 0 m 的情況下, 最快的速度能到多少呢?答: 5 0 k b p s = 1 3 0 0 m。如果一個(gè)網(wǎng)絡(luò)中只有2 個(gè)節(jié)點(diǎn), 其中一個(gè)處于監(jiān)聽(tīng)模式,另一個(gè)節(jié)點(diǎn)發(fā)送報(bào)文會(huì) 使處于監(jiān)聽(tīng)模式的節(jié)點(diǎn)進(jìn)入中斷嗎?答: 能進(jìn)入接收中斷,你自己的試驗(yàn)也可以證明。想組建一個(gè)簡(jiǎn)單的CAN 網(wǎng)絡(luò), 已經(jīng)有兩個(gè)節(jié)點(diǎn), 我想問(wèn)CAN 總線如何組建, 終端電 阻安裝在哪里?小弟還沒(méi)有入門(mén), 大蝦們指點(diǎn)一下。答1 :直接將節(jié)點(diǎn)CANH 和CANL 連到總線上,終端電阻接在總線兩端,大約1 2 0 歐。答2 : 推薦北航出版《現(xiàn)場(chǎng)總線CAN 原理與應(yīng)用技術(shù)》,研讀一下。請(qǐng)問(wèn)各位老師:我是一名c a n 總線的新手,我正在做c a n 總線的開(kāi)發(fā),控制器用 s j a 1 0 0 0 t(我自己兩個(gè)控制板互通), 但我在發(fā)送數(shù)據(jù)后將出現(xiàn)總線關(guān)閉,我看到 發(fā)送錯(cuò)誤計(jì)數(shù)器在不斷增加,直到0 x f f 最后恢復(fù)到0 x 7 f , 謝謝各位老師幫我解 答這個(gè)問(wèn)題。或者對(duì)我給與啟發(fā) 答1 ;首先調(diào)通單個(gè)節(jié)點(diǎn)。答2 :這是單節(jié)點(diǎn)發(fā)送沒(méi)有成功(或者由于網(wǎng)絡(luò)中其他節(jié)點(diǎn)沒(méi)有收到幀并在響應(yīng) 場(chǎng)響應(yīng))建議參考網(wǎng)站CAN 應(yīng)用方案。我想請(qǐng)教各位c a n 遠(yuǎn)程貞有何作用?如何應(yīng)用?在什么情況下才需要用到遠(yuǎn)程 貞?謝謝了!答:遠(yuǎn)程幀的用與不用完全取決你自己的協(xié)議,c a n 有遠(yuǎn)程幀的功能,是可用可 不用的!用網(wǎng)站提供的計(jì)算波特率的工具算出的數(shù),1 2 k 以上的都正確,無(wú)論是自接收還 是兩個(gè)節(jié)點(diǎn)通訊都沒(méi)有任何問(wèn)題。但是1 2 k 以下的數(shù)據(jù)一個(gè)都不能用,兩個(gè)節(jié)點(diǎn) 通訊沒(méi)有成功的,自接收有1 0 k 的幾個(gè)數(shù)據(jù)成功。我們的項(xiàng)目要求必須在1 0 k 以下,最好是5 k,但是不成功,自己計(jì)算的數(shù)據(jù)也沒(méi)有成功的。(我們至少試 驗(yàn)了3 0 多個(gè),所有情況都考慮了。)我現(xiàn)在懷疑s j a 1 0 0 0 的波特率根本達(dá)不到5 k 和相對(duì)應(yīng)的傳輸1 0 k m?;蛘呖梢哉l(shuí)能提供個(gè)經(jīng)過(guò)實(shí)踐檢驗(yàn)的正確的總線定時(shí)器0 和1 的設(shè)置呢?要求低 于1 0 k。答:PCA8 2 C2 5 0 / 2 5 1 可以保證5 KBPS 的速率;比如Z L GCAN 系列接口卡。答:t j a 1 0 5 0 在低速時(shí)好像有問(wèn)題。我用1 0 5 0 進(jìn)行5 k 的時(shí)候不行,用8 2 c 2 5 0 很好,你可以試一試。我本想雙機(jī)調(diào)試,一邊收,一邊發(fā),但跑程序后,發(fā)送方會(huì)不斷進(jìn)入復(fù)位模式,所以現(xiàn)在進(jìn)行自測(cè)試模式,我先進(jìn)入復(fù)位模式,設(shè)置進(jìn)入PEL I CAN 模式,對(duì)寄存 器初始化后,設(shè)置接收,發(fā)送中斷使能,最后設(shè)置進(jìn)入自接收,單濾波模式,這 樣初始化就結(jié)束了,我的ACR0 ~ ACR3 為0 x 5 5 , 0 x 5 5 , 0 x 5 5 0 x 5 0 , AMR0 ~ AMR3 為 0 x f f , 之后,我就往BUF F ER 里填數(shù),0 x 8 8 , 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x 5 0 , 0 x 3 0 , 0 x 3 1 ,.0 x 3 7 , 之后,啟動(dòng)自接收請(qǐng)求命令,但是程序只進(jìn)入了中斷一次,是發(fā)送空中斷,接收中斷沒(méi)有產(chǎn)生,我讀發(fā)送錯(cuò)誤 寄存器,發(fā)現(xiàn)有錯(cuò)誤產(chǎn)生,我讀接收計(jì)數(shù)寄存器,為0,說(shuō)明我沒(méi)有收到數(shù),但 我讀接收BUF F ER 時(shí),值為 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 , 0 , 0 , 0 , 0 , 以上測(cè)試時(shí),我在CANH 和CANL 之間加入了兩個(gè)1 2 0 歐的匹配電阻并聯(lián)在一起的,請(qǐng)各位高手指點(diǎn)呀,謝謝了 答:在總線上加個(gè)CAN 接口卡會(huì)方便許多,或者加個(gè)捕獲功能的示波器也可以檢 測(cè)波形。仿真環(huán)境:k e i l u v 2 編譯器:k e i l c 5 1 7.0 仿真器:t k s4 個(gè)CAN 通道。s j a 1 0 0 0 出現(xiàn)錯(cuò)誤而中斷的幾率由多大呢?特別是發(fā)送錯(cuò)誤,總線關(guān)閉等。答:注意CAN-b u s 是一個(gè)網(wǎng)絡(luò),調(diào)試網(wǎng)絡(luò)時(shí)需要在另一端連接一個(gè)正常工作的 CAN 節(jié)點(diǎn)。CAN 是可靠的網(wǎng)絡(luò);測(cè)試過(guò)2RS-4 8 5 升級(jí)...》中有一些性能比較。單片機(jī)用的是5 1 系列,c 語(yǔ)言,如果SJ A1 0 0 0 模式寄存器的地址為 OXC0 0 0,請(qǐng) 問(wèn)用什么樣的命令來(lái)讀寫(xiě),然后判斷該寄存器可以被正常讀寫(xiě)。答:可以通過(guò)寫(xiě)入并驗(yàn)證SJ A1 0 0 0 測(cè)試寄存器(地址:0 x 0 9,名稱:REG_ CAN_ T EST)的數(shù)值來(lái)判斷CPU 與SJ A1 0 0 0 的硬件連接是否正確。例如,第1 次向SJ A1 0 0 0 測(cè)試寄存器REG_ CAN_ T EST 寫(xiě)入0 x 5 5 并讀出驗(yàn)證;如果 通過(guò),則再次向寄存器REG_ CAN_ T EST 寫(xiě)入0 x AA 并讀出驗(yàn)證;如果2 次驗(yàn)證均通 過(guò),說(shuō)明CPU 與SJ A1 0 0 0 連接正確,否則需要檢查相關(guān)的硬件連接。在《基于CAN 控制器SJ A1 0 0 0 控制器的Ba s i c CAN 控制模塊》、《基于SJ A1 0 0 0 CAN 控制器的Pe l i CAN 模塊》源代碼中均有測(cè)試SJ A1 0 0 0 硬件接口函數(shù),函數(shù)名稱為: SJ AT e s t I n t e r f a c e,用戶可直接調(diào)用。以下程序?yàn)椤痘贑AN 控制器SJ A1 0 0 0 控制器的Pe l i CAN 模塊》中關(guān)于 SJ AT e s t I n t e r f a c e 函數(shù)的源代碼。c h a r SJ AT e s t I n t e r f a c e(u n s i g n e d c h a r t e s t v a l u e){ c h a r s t a t u s = 0;b i t Er r o r F l a g = 1;u n s i g n e d c h a r Er r o r Co u n t = 0 x 2 0;u n s i g n e d c h a r t e mp = t e s t v a l u e;wh i l e(-CANT X(CAN2), CANRX(CAN1)-;i f(Se c Da t a = = 0){ Se c Da t a = 0 x 1 0;T H0 = 0 x 8 0;T L 0 = 0 x 6 0;Se c F l a g = 1;Se c o n d + +;} T R0 = 1;} v o i d I n i t Cp u(v o i d){ PX0 = 1;I T 0 = 1;EX0 = 1;ET 0 = 1;EA= 1;Se c Da t a = 0 x 1 0;} v o i d I n i t T 0(v o i d){ T mo d Da t a = T MOD;T mo d Da t a &= 0 x f 0;T mo d Da t a │= 0 x 0 1;T MOD = T mo d Da t a;T H0 = 0 x 8 0;T L 0 = 0 x 6 0;T R0 = 1;Se c Da t a = 0 x 2 0;Se c o n d = 0 x 0 0;} v o i d Sj a 1 0 0 0 I n i t(v o i d){ BCAN_ ENT ER_ RET MODEL()BCAN_ SET _ BANDRAT E(0 x 0 4);/ / 1 0 0 k BCAN_ SET _ OBJ ECT(0 x a a , 0 x f f);BCAN_ SET _ OUT CL K(0 x a a , 0 x 4 8);BCAN_ QUI T _ RET MODEL();SJ A_ BCANAd r = REG_ CONT ROL;* SJ A_ BCANAd r │= 0 x 0 a;/ / } 現(xiàn)在用示波器測(cè)CAN_ H 和CAN_ L,沒(méi)有信號(hào),請(qǐng)問(wèn)是什么問(wèn)題?注:這個(gè)參考一下吧,呵呵 問(wèn): 請(qǐng)教各位大蝦:有沒(méi)有CAN 局部測(cè)試程或意見(jiàn)?急需!謝謝!有沒(méi)有人能給他的自測(cè)程序給我看看?幫幫我呀!答:網(wǎng)上有b a s i c CAN 例程,CANs t a r t e rI I 開(kāi)發(fā)套件中提供的資源。問(wèn):請(qǐng)問(wèn)各位高手,作為一個(gè)初學(xué)者應(yīng)該如何學(xué)習(xí)CAN 總線技術(shù)?應(yīng)該先學(xué)習(xí)哪 一些基本知識(shí),請(qǐng)推薦妨相關(guān)書(shū)籍一二。謝謝!答:現(xiàn)場(chǎng)總線CAN 原理與應(yīng)用技術(shù) 作者:饒運(yùn)濤 鄒繼軍 鄭勇蕓 出版社:北京航空航天大學(xué)出版社 問(wèn):又沒(méi)有帶CAN 控制器的可在線編程的8 位單片機(jī)呢,麻煩推薦一款吧 答:AT MEL AT 8 9 C5 1 CC0 X 系列不錯(cuò)!答:i n t e l 的8 9 C5 9 1 , 8 9 C5 9 2 都是片內(nèi)帶c a n 的8 位單片機(jī)。問(wèn):本來(lái)應(yīng)用了CAN232,但是想提高系統(tǒng)的速度,想用PCI-CAN,做USB-CAN,但是想借此學(xué)習(xí)PCI,或USB,ZLG這里能想CAN 232一樣,如果買(mǎi)了板子,提供代碼,原理圖嗎?如果沒(méi)有哪種開(kāi)發(fā)板有呢,能推薦一下嗎?答:系統(tǒng)而理論地學(xué)習(xí)CAN,建議選擇CANs t a r t e r0 4-2 8 1 1 : 0 2 問(wèn):第一,接收信息的工作節(jié)點(diǎn)需要什么響應(yīng)來(lái)確認(rèn)?第二,接收的子程序未調(diào) 好是否意味收發(fā)兩方均無(wú)法調(diào)試?如何確認(rèn)發(fā)送成功?答:網(wǎng)絡(luò)上同一速率的正常工作節(jié)點(diǎn)響應(yīng):1、已設(shè)定速率;2、在工作狀態(tài)。完 全是由硬件(比如:SJ A1 0 0 0 芯片)完成ACK 確認(rèn)。問(wèn):請(qǐng)問(wèn)單個(gè)c a n 節(jié)點(diǎn)可以進(jìn)行調(diào)試嗎?是一塊一路的c a n 適配卡,使用端口 地值3 0 0 h , 我使用wi n i o 進(jìn)行讀寫(xiě)的,可為什么,所有的單元讀出來(lái)得數(shù)據(jù)都是 f f ?是因?yàn)橹皇褂昧藛蝹€(gè)節(jié)點(diǎn)c a n 控制器不能正常工作嗎?答:s j a 可實(shí)現(xiàn)單節(jié)點(diǎn)調(diào)試;f f 應(yīng)該是地址空間錯(cuò)誤;問(wèn):我還是不太明白,你說(shuō)的地址空間錯(cuò)誤,是說(shuō)s j a 1 0 0 0 的地址沒(méi)有選通,地 址沒(méi)有指向s j a 1 0 0 0 的寄存器嗎?答:首先把讀寫(xiě)片選信號(hào)產(chǎn)生了再去管s j a 1 0 0 0 吧。問(wèn):我用驗(yàn)收濾波器來(lái)選擇接收CAN2.0 B 的一幀數(shù)據(jù),2 9 位中只對(duì)其中幾位進(jìn) 行判別,其他位又不是定值,請(qǐng)問(wèn)這該怎么辦?可不可以掩住不關(guān)心的位?用范 圍應(yīng)該也可以實(shí)現(xiàn),不過(guò)那樣感覺(jué)不好,請(qǐng)教大家,謝謝!答:相關(guān)/ 不相關(guān)位最終都可以轉(zhuǎn)化為范圍描述。問(wèn):請(qǐng)教關(guān)于2 1 1 9 c a n 驗(yàn)收過(guò)濾器的問(wèn)題 請(qǐng)問(wèn):1、在c a n s t a r t e r-i i 應(yīng)用指南第4 2 頁(yè)中提到的“f u l l c a n 標(biāo)準(zhǔn)地址” 與“標(biāo)準(zhǔn)單個(gè)地址”有何區(qū)別?2、第4 5 頁(yè)表2.3 4 的“值”“字”“行”“i d 索引”是什么概念?答:f u l l c a n 標(biāo)準(zhǔn)地址放置的是需要自動(dòng)執(zhí)行接收存儲(chǔ)的i d 索引表格(f u l l CAN 功能,查看相關(guān)的介紹);標(biāo)準(zhǔn)單個(gè)地址僅僅是AF 接收/ 屏蔽標(biāo)準(zhǔn)i d 的索引表格,即和一般的接收過(guò)濾理解一致。答:f u l l c a n 模式下自動(dòng)把符合的幀放在后面的r a m 里
第四篇:卡盾汽車智能鑰匙一鍵啟動(dòng)CAN總線介紹
卡盾CAN-BUS智能鑰匙一鍵啟動(dòng)系統(tǒng),是結(jié)合原車數(shù)據(jù)只需要接3根線智能電控系統(tǒng),直接原車電腦升級(jí)完成:時(shí)速落鎖、引擎鎖定、智能升窗、碰撞開(kāi)鎖、振動(dòng)報(bào)警、防撬報(bào)警、聲光報(bào)警、自動(dòng)設(shè)防、自動(dòng)鎖車、靜音防盜、修車/洗車,一鍵啟動(dòng),遠(yuǎn)程啟動(dòng)等多種模式自由調(diào)整......1符合原車通信協(xié)議,與原車CAN總線網(wǎng)絡(luò)完全兼容,提升原車控制系統(tǒng)功能;無(wú)鑰匙進(jìn)入,靠近開(kāi)鎖,離開(kāi)關(guān)鎖,具有身份識(shí)別功能;
3在設(shè)防狀態(tài)下,非法啟動(dòng)發(fā)動(dòng)機(jī)報(bào)警、然后鎖定引擎并且斷油路
4非法開(kāi)門(mén)(包括尾箱蓋、發(fā)動(dòng)機(jī)蓋)聲光報(bào)警且鎖定引擎;
5鎖車自動(dòng)關(guān)閉所有車窗及天窗(選裝);,如果在升窗過(guò)程中按下遙控器開(kāi)鎖鍵,車窗立即停止上升工作(傳統(tǒng)升窗器沒(méi)有此功能)。
6未關(guān)車門(mén)(包括發(fā)動(dòng)機(jī)倉(cāng)、后尾箱)報(bào)警提醒;
7行車自動(dòng)上鎖:車主上車啟動(dòng)車輛后,車輛速度超過(guò)5KM/H后車門(mén)自動(dòng)上鎖;防盜系統(tǒng)會(huì)自動(dòng)識(shí)別四門(mén)是否關(guān)好,在車門(mén)沒(méi)關(guān)好時(shí),中控鎖不會(huì)自動(dòng)落鎖,在行車過(guò)程中,后排乘客下車時(shí),不需主開(kāi)關(guān)打開(kāi)中控鎖,在后門(mén)打開(kāi)即可,乘客下車關(guān)好門(mén)之后踩剎車后門(mén)中控鎖會(huì)再次上鎖,無(wú)次數(shù)限制。并且任一車門(mén)打開(kāi)后可單獨(dú)重復(fù)落鎖,在行車過(guò)程中全程監(jiān)控所有中控鎖,以杜絕有人誤拔中控鎖之隱患(這是比較重要的動(dòng)態(tài)兒童鎖功能);
8熄火自動(dòng)開(kāi)鎖:車輛到達(dá)目的地時(shí)關(guān)閉發(fā)動(dòng)機(jī)后,中控鎖會(huì)在瞬間打開(kāi),以方便車主及乘客下車,9打開(kāi)車門(mén)時(shí)危險(xiǎn)信號(hào)燈閃爍,以提醒后面來(lái)車,提高司乘人員下車時(shí)的安全性
10鑰匙遙控車門(mén)上鎖及開(kāi)鎖有Bi的喇叭聲及方向燈閃爍,方便夜晚尋車;
11設(shè)防狀態(tài)中,車輛受到外界振動(dòng)時(shí),感應(yīng)器發(fā)出信號(hào),喇叭和方向燈同時(shí)報(bào)警,以起到阻嚇作用;12部分車型可實(shí)現(xiàn)后視鏡倒車照地、停車折疊之人性化功能
13自動(dòng)設(shè)防、自動(dòng)鎖車:車輛熄火后,司機(jī)門(mén)打開(kāi)再關(guān)好后30秒可自動(dòng)進(jìn)入防盜狀態(tài)(車主自己可調(diào)),也可自動(dòng)鎖止四個(gè)車門(mén)(車主自己可調(diào)),防止車主離車后遺忘鎖車設(shè)防;
14靜音模式:設(shè)防及解除防盜時(shí)只有方向燈閃爍,喇叭不響,防止小區(qū)擾民;一鍵點(diǎn)火,遠(yuǎn)程啟動(dòng)。
產(chǎn)品專利認(rèn)證資料齊全 技術(shù)可靠現(xiàn)招募區(qū)域經(jīng)銷商 代理商 合作商
聯(lián)系人:李先生 電話:***QQ:1318042545 QQ群: 229612657
第五篇:基于TDNCM++的總線設(shè)計(jì)
課程設(shè)計(jì)報(bào)告
課程設(shè)計(jì)題目:基于TDNCM++的總線控制設(shè)計(jì) 專
業(yè):**** 班
級(jí):**** 姓
名:**** 學(xué)
號(hào): **** 指 導(dǎo)
教 師: ****
2014 年1 月
5日
目錄
一、設(shè)計(jì)題目…………………………………………………2
二、設(shè)計(jì)目的...........................................................................2
三、設(shè)計(jì)設(shè)備............................................................................2
四、設(shè)計(jì)原理............................................................................2
五、設(shè)計(jì)內(nèi)容............................................................................2
六、設(shè)計(jì)步驟............................................................................6
七、設(shè)計(jì)總結(jié)...........................................................................9
一、設(shè)計(jì)題目
基于TDNCM++的總線控制設(shè)計(jì)
二、設(shè)計(jì)目的
1、理解總線的概念及其特性。
2、掌握總線傳輸控制特性。
3、掌握總線仲裁的方式及其方法。
三、設(shè)計(jì)設(shè)備
1、TDN-CM+或
TDN-CM++教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái)。
2、PC 微機(jī)一臺(tái)。
3、導(dǎo)線若干。
四、設(shè)計(jì)原理
實(shí)驗(yàn)所用總線傳輸實(shí)驗(yàn)框圖如圖17所示,它將幾種不同的設(shè)備掛至總線上,有存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備、寄存器。這些設(shè)備都需要有三態(tài)輸出控制,按照傳輸要求恰當(dāng)有序的控制它們,就可進(jìn)行總線信息傳輸。
五、設(shè)計(jì)內(nèi)容
要求:
(1)輸入設(shè)備將一個(gè)數(shù)打入R0寄存器。
(2)輸入設(shè)備將另一個(gè)數(shù)打入地址寄存器。
-2-(3)將R0寄存器中的數(shù)寫(xiě)入到當(dāng)前地址的存儲(chǔ)器中。(4)將當(dāng)前地址的存儲(chǔ)器中的數(shù)用LED數(shù)碼管顯示。(5)如下圖
存儲(chǔ)器實(shí)驗(yàn)接線圖
圖1
-3-步驟:
1.首先應(yīng)關(guān)閉所有三態(tài)門(mén)(SW-B=1,CE=1,R0-B=1,LED-B=1),并將關(guān)聯(lián)的信號(hào)置為:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。
2.輸入設(shè)備將數(shù)據(jù)68H(01101000)送到寄存R0中
關(guān)閉R0寄存器輸出三態(tài)門(mén): R0-B=_1__ 從數(shù)據(jù)開(kāi)關(guān)送數(shù)據(jù)給總線:SW-B=__0_ 將總線數(shù)據(jù)存入R0寄存器:LDR0 =_0_->_1_->_0_ 關(guān)閉輸入設(shè)備:SW-B= _1__
3.輸入設(shè)備將數(shù)據(jù)22H(00100010)送到地址寄存AR中
從數(shù)據(jù)開(kāi)關(guān)送數(shù)據(jù)給總線:SW-B=_0__ 將總線數(shù)據(jù)存入AR寄存器中LDAR=_0_->_1_->_0_ 關(guān)閉輸入設(shè)備:SW-B= _1_
4.將寄存器R0中存放的數(shù)據(jù)寫(xiě)入存儲(chǔ)器RAM 關(guān)閉輸入設(shè)備: SW-B=_1_ 從R0寄存器讀數(shù)據(jù)到總線:LDR0 = __0_,R0-B =_0_ 選擇讀或?qū)懘鎯?chǔ)器:WE=__0__
-4-打開(kāi)存儲(chǔ)器片選信號(hào):CE=_0__ 寫(xiě)入存儲(chǔ)器WE=_1_->_0_->_1_ 關(guān)閉存儲(chǔ)器片選信號(hào):CE=_1__ 關(guān)閉R0寄存器:R0-B =__1_
5.將存儲(chǔ)器的數(shù)據(jù)用輸出設(shè)備顯示。
選擇讀或?qū)懘鎯?chǔ)器:WE=__1__ 打開(kāi)存儲(chǔ)器片選信號(hào):CE=__0__ 打開(kāi)輸出設(shè)備LED控制信號(hào):LEB-B=_0_ 選擇輸出設(shè)備LED讀或?qū)懶盘?hào):W/R =_1_->_0_->_1_ 關(guān)閉存儲(chǔ)器片選信號(hào):CE=_1__
最后在LED顯示的是68H.上節(jié)總線基本實(shí)驗(yàn)中,關(guān)于總線的仲裁問(wèn)題是由人為控制的,本實(shí)驗(yàn)將設(shè)計(jì)一個(gè)控制邏
輯,來(lái)實(shí)現(xiàn)總線仲裁功能。實(shí)驗(yàn)將圖 1中控制輸出部件的使能輸入端接入控制邏輯,然 后由控制邏輯輸出至各對(duì)應(yīng)的模塊。其中的輸出設(shè)備有 INPUT、RAM 及 R0,這里設(shè)其優(yōu)先級(jí)依次降低,即 INPUT DEVICE 設(shè)備的優(yōu)先級(jí)最高,當(dāng)它輸出有效
-5-時(shí),即使給其他輸出設(shè)備輸入有效的輸出信號(hào)也不能將數(shù)據(jù)輸出至總線。其他設(shè)備依次類推。這樣可以避免幾個(gè)設(shè)備若同時(shí)輸 數(shù)據(jù)至總線時(shí)的沖突,造成器件損壞。實(shí)驗(yàn)規(guī)定總線控制邏輯在 CPLD1032 中定義的管腳如圖 2。
圖2
六、實(shí)驗(yàn)步驟
1、用ABEL 語(yǔ)言設(shè)計(jì)上述控制邏輯。
2、在ispDesignEXPERT 環(huán)境下編輯并編譯上述所設(shè)計(jì)的 源程序,并將生成的 JED 文件下載至 CPLD 中。
3、按圖3 連接實(shí)驗(yàn)接線。
4、具體實(shí)驗(yàn)操作步驟同上小節(jié)。分析兩個(gè)實(shí)驗(yàn)在總線控制
上的不同。
初始狀態(tài)應(yīng)設(shè)為:關(guān)閉所有的三態(tài)門(mén)(SW-B=1,CE=1,R0-B=1),其他控制信號(hào)為:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED=1
第一組數(shù)據(jù):(R0)=11H,(R)=21H LED顯示的數(shù)據(jù)為:
第二組數(shù)據(jù):(R0)=A5H,(R)=22H LED顯示的數(shù)據(jù)為: 第三組數(shù)據(jù):(R0)=FCH,(R)=23H LE顯示的數(shù)據(jù)為:
-8-注意事項(xiàng):
1、所有導(dǎo)線使用前須測(cè)通斷;
2、不允許帶電接線;
3、“0”——亮“1”——滅;
4、注意連接線的顏色、數(shù)據(jù)的高低位。
七、實(shí)驗(yàn)總結(jié)
實(shí)驗(yàn)過(guò)程出現(xiàn)了很多問(wèn)題,只有在實(shí)驗(yàn)前做好充分準(zhǔn)備,才能減少在實(shí)驗(yàn)過(guò)程中遇到的難題。實(shí)驗(yàn)主要是使我們理解總線的概念及其特性,并掌握總線傳輸控制特性,這對(duì)我們深入了解計(jì)算機(jī)組成原理這門(mén)課程更加有利。