




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三講 CAN現(xiàn)場(chǎng)總線(Controller Area Network)1、綜述2、技術(shù)規(guī)范3、報(bào)文傳輸和幀結(jié)構(gòu)4、CAN通信中的幾個(gè)問題5、典型CAN總線器件及應(yīng)用6、CAN通信的控制與應(yīng)用7、CAN應(yīng)用層協(xié)議8、CAN總線在汽車領(lǐng)域的應(yīng)用CAN現(xiàn)場(chǎng)總線1 綜述應(yīng)用領(lǐng)域及實(shí)例實(shí)例1. 綜述應(yīng)用領(lǐng)域及實(shí)例低成本 極高的總線利用率 很遠(yuǎn)的數(shù)據(jù)傳輸距離(長(zhǎng)達(dá)10Km) 高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s) 可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文 可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制 發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā) 節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能 報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功
2、能信息、優(yōu)先級(jí)信息廣泛應(yīng)用的技術(shù)原因1. 綜述發(fā)展歷史CAN(Controller Area Network)是控制器局域網(wǎng)CAN是由德國(guó)Bosch公司專門為汽車監(jiān)測(cè)和控制而設(shè)計(jì)的,逐步發(fā)展到用于其它工業(yè)領(lǐng)域的現(xiàn)場(chǎng)控制。CAN已經(jīng)成為國(guó)際標(biāo)準(zhǔn)化組織ISO11898標(biāo)準(zhǔn)。1991 Philip Semiconductors制定CAN技術(shù)規(guī)范CAN2.0A,CAN 2.0B。德國(guó)博世(BOSCH)公司是倡導(dǎo)者1986年在汽車工程協(xié)會(huì)(SAE)大會(huì)上提出傳輸?shù)膱?bào)文根據(jù)報(bào)文的內(nèi)容識(shí)別汽車、機(jī)械、工業(yè)自動(dòng)化,石油化工等針對(duì)汽車工業(yè)復(fù)雜的電子裝置1992年開始,Benz,Volvo,Saab,Volksw
3、agen,BMW, Renault,Fiat等陸續(xù)在其車輛產(chǎn)品中使用CAN。1983: Start of the Bosch internal project to develop an in-vehicle network1986: Official introduction of CAN protocol1987: First CAN controller chips from Inter and Philips Semiconductors1991: Boschs CAN specification 2.0 published1991: CAN Kingdom CAN-based hig
4、her-layer protocol introduced by Kvaser1992: CAN in Automation international users and manufacturers group established1992: CAN in Application Layer(CAL) protocol published by CiA1992: First cars from Mercedes-Benz used CAN network1993: ISO 11898 standard published1994: First international CAN Confe
5、rence(iCC) organized by CiA1994: DeviceNet protocol introduction by Allen-Bradley1995: ISO 11898 amendment (extended frame format) published1995: CANopen protocol published by CiA2000: Development of the time-triggered communication protocol for AN(TTCAN)1. 綜述發(fā)展歷史多主工作方式,任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)的向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息;節(jié)點(diǎn)
6、信息分成不同的優(yōu)先級(jí),可滿足不同實(shí)時(shí)性要求,高優(yōu)先級(jí)的數(shù)據(jù)最快可在134us內(nèi)得到傳輸;采用非破壞性的總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)退出發(fā)送;只需通過報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)及廣播等傳輸方式,無需專門的“調(diào)度”;節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動(dòng)電路,目前可達(dá)110個(gè);1. 綜述CAN總線性能特點(diǎn)采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,具有極好的驗(yàn)錯(cuò)效果;每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)出錯(cuò)率極低。直接通信距離最遠(yuǎn)可達(dá)10km/5kbps,通信速率最高可達(dá)1Mbps/40m報(bào)文標(biāo)識(shí)符可達(dá)2032種(CAN2.0A),而擴(kuò)展標(biāo)準(zhǔn)(CAN2.0B
7、)的報(bào)文標(biāo)識(shí)符幾乎不受限制。CAN 的通信介質(zhì):雙絞線、同軸電纜、光纖。CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。1. 綜述CAN總線性能特點(diǎn)報(bào)文:當(dāng)總線開放時(shí),任何連接的單元均可開始發(fā)送一個(gè)新報(bào)文。信息路由:在CAN系統(tǒng)中,一個(gè)CAN節(jié)點(diǎn)不使用有關(guān)系統(tǒng)結(jié)構(gòu)的任何信息(如站地址)。位速率: CAN的數(shù)據(jù)傳輸率在不同的系統(tǒng)中是不同的,而在一個(gè)給定的系統(tǒng)中,此速度是唯一和固定的。遠(yuǎn)程數(shù)據(jù)請(qǐng)求:通過發(fā)送一個(gè)遠(yuǎn)程幀,需要數(shù)據(jù)的節(jié)點(diǎn)可以請(qǐng)求另一個(gè)節(jié)點(diǎn)發(fā)送個(gè)相應(yīng)的數(shù)據(jù)幀。多主站:當(dāng)總線開放時(shí),任何單元均可開始發(fā)送報(bào)文,而發(fā)送具有最高優(yōu)先權(quán)報(bào)文的單元,贏得總線訪問。
8、2. CAN總線的技術(shù)規(guī)范基本概念仲裁:當(dāng)總線開放時(shí),任何單元均可開始發(fā)送報(bào)文,若同時(shí)有兩個(gè)或更多的單元開始發(fā)送,總線訪問沖突運(yùn)用逐位仲裁規(guī)則,借助標(biāo)識(shí)符ID解決。安全性:為獲得盡可能高的數(shù)據(jù)傳送安全性,在每個(gè)CAN節(jié)點(diǎn)中均設(shè)有錯(cuò)誤檢測(cè)、標(biāo)定和自檢的強(qiáng)有力措施。出錯(cuò)標(biāo)注和恢復(fù)時(shí)間:已損報(bào)文由檢出錯(cuò)誤的任何節(jié)點(diǎn)進(jìn)行標(biāo)注。這樣的報(bào)文將失效,并自動(dòng)進(jìn)行重發(fā)送。故障界定:CAN節(jié)點(diǎn)有能力識(shí)別永久性故障和短暫擾動(dòng),可自動(dòng)關(guān)閉故障節(jié)點(diǎn)。2. CAN總線的技術(shù)規(guī)范基本概念檢錯(cuò)措施:發(fā)送自檢、循環(huán)冗余校驗(yàn)、位填充和報(bào)文格式檢查。如果不存在新的錯(cuò)誤,自檢出錯(cuò)誤至下一個(gè)報(bào)文開始發(fā)送的恢復(fù)時(shí)間最多為29個(gè)位時(shí)間。總
9、線數(shù)值表示: 總線上具有兩種互補(bǔ)邏輯數(shù)值:顯性電平或隱性電平。在顯位與隱位同時(shí)發(fā)送期間,總線上數(shù)值將是顯位。應(yīng)答: 所有接收器均對(duì)接收?qǐng)?bào)文的相容性進(jìn)行檢查,回答一個(gè)相容報(bào)文,并標(biāo)注一個(gè)不相容報(bào)文。數(shù)據(jù)相容性:在CAN網(wǎng)絡(luò)內(nèi),可以確保報(bào)文同時(shí)被所有節(jié)點(diǎn)或者沒有節(jié)點(diǎn)接收。因此,系統(tǒng)的數(shù)據(jù)相容性是借助于成組和出錯(cuò)處理達(dá)到的。2. CAN總線的技術(shù)規(guī)范基本概念例:在總線的“線與”操作情況下,顯位由邏輯“0”表示,隱位由邏輯“1”表示。包括A和B兩部分,其中2.0A給出了CAN報(bào)文標(biāo)準(zhǔn)格式,2.0B給出了標(biāo)準(zhǔn)的和擴(kuò)展的兩種格式。只采用ISO/OSI模型的物理層和數(shù)據(jù)鏈路層。2. CAN總線的技術(shù)規(guī)范2.
10、 CAN總線的技術(shù)規(guī)范分層結(jié)構(gòu)物理信令(PLS) 位編碼/解碼 位定時(shí) 同步物理媒體附件(PMA) 驅(qū)動(dòng)器/接收器特性媒體接口(MDI) 連接器數(shù)據(jù)鏈路層邏輯鏈路控制(LLC) 接收過濾 超載通告 恢復(fù)管理媒體訪問控制(MAC) 數(shù)據(jù)打包/拆包 幀編碼(填充,去填充) 媒體訪問管理 錯(cuò)誤檢測(cè) 出錯(cuò)標(biāo)識(shí) 應(yīng)答 串行-并行轉(zhuǎn)換物理層由CAN控制器實(shí)現(xiàn);采用CSMA/CD方式非破壞性總線仲裁技術(shù);節(jié)點(diǎn)信息有高低優(yōu)先級(jí)之分以滿足不同的實(shí) 時(shí)需要;可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)以及全局廣播等;采用短幀結(jié)構(gòu),每幀有效字節(jié)數(shù)為0-8個(gè);CRC校驗(yàn)域等檢查措施保證了極低的出錯(cuò)率;節(jié)點(diǎn)在嚴(yán)重錯(cuò)誤時(shí)具有自動(dòng)關(guān)閉總線的功
11、能??刹捎霉驳氐膯尉€制、雙線制、同軸電纜、 雙絞線、光纜等。節(jié)點(diǎn)數(shù)理論上不受限制,取決于物理層的承 受能力,實(shí)際可達(dá)110個(gè)。當(dāng)總線長(zhǎng)40米時(shí),最大通信速率為1Mbps, 當(dāng)通信速率為5kbps時(shí),距離可達(dá)10km。CAN2.0A目標(biāo)層傳送層數(shù)據(jù)鏈路子層接收濾波超載通知恢復(fù)管理媒體訪問控制子層數(shù)據(jù)封裝/拆裝幀編碼(填充/去填充)媒體訪問管理錯(cuò)誤監(jiān)測(cè)出錯(cuò)標(biāo)定應(yīng)答串行化/解除串行化物理層位編碼/解碼位定時(shí)同步(驅(qū)動(dòng)器/接收器特性)2. CAN總線的技術(shù)規(guī)范分層結(jié)構(gòu)總線上具有兩種互補(bǔ)邏輯數(shù)值:顯性電平或隱性電平。在顯位與隱位同時(shí)發(fā)送期間,總線上數(shù)值將是顯位。在隱性狀態(tài)下,Vcan-h和Vcan-l被
12、固定在平均電壓電平,Vdiff近似為零。顯性狀態(tài)以大于最小閾值的差分電壓表示。2. CAN總線的技術(shù)規(guī)范邏輯狀態(tài)例:在總線的“線與”操作情況下,顯位由邏輯“0”表示,隱位由邏輯“1”表示。時(shí)間tVVdiffVdiffVCAN-HVCAN-L隱性位顯性位隱性位03.5V2.5V1.5V典型值 當(dāng)總線電壓差小于0.5V時(shí),接收為隱位,隱位電壓差的正常值為0V; 當(dāng)電壓差大于0.9V時(shí),為顯位,顯位電壓差的正常值為2.0V,合格的顯位電壓差的最小值為1.2V; 0.50.9V為變化的過渡區(qū); 共模電壓為-2+7 V。 總線末端均接有以RL表示的抑制反射的終端負(fù)載電阻,其阻值大約在120歐左右;總線驅(qū)
13、動(dòng)可采用單線上拉、單線下拉或雙線驅(qū)動(dòng),接收采用差分比較器;若所有節(jié)點(diǎn)的晶體管被關(guān)斷,則總線處于隱性狀態(tài),此時(shí)總線的平均電壓由具有高內(nèi)阻的每個(gè)節(jié)點(diǎn)電壓源產(chǎn)生;若成對(duì)晶體管至少有一對(duì)被接通,則顯性位被送至總線,產(chǎn)生流過終端電阻的電流,使總線的兩條線產(chǎn)生電壓差。2. CAN總線的技術(shù)規(guī)范電氣連接2. CAN總線的技術(shù)規(guī)范節(jié)點(diǎn)的電氣參數(shù)與總線斷開的節(jié)點(diǎn)在隱性狀態(tài)下的DC參數(shù):參數(shù)符號(hào)單位數(shù)值條件最小值典型值最大值總線輸出電壓VCANHV2.753.54.5負(fù)載60VCANLV0.51.52.25差分輸出電壓VdiffV1.52.03.0負(fù)載60差分輸入電壓VdiffV0.95.0負(fù)載60參數(shù)符號(hào)單位數(shù)
14、值條件最小值典型值最大值總線輸出電壓VCANHV2.02.53.0無負(fù)載VCANLV2.02.53.0總線差分輸出電壓VdiffmV-500050無負(fù)載內(nèi)部差分電阻RdiffK10100無負(fù)載內(nèi)部電阻Rink550差分輸入電壓VdiffV-1.03.0與總線斷開的節(jié)點(diǎn)在顯性狀態(tài)下的DC參數(shù):2. CAN總線的技術(shù)規(guī)范節(jié)點(diǎn)的電氣參數(shù)總線在隱性狀態(tài)下的參數(shù):參數(shù)符號(hào)單位數(shù)值條件最小值典型值最大值總線共模電壓VCANHV2.57.0VCANLV-2.02.5總線差分電壓VdiffmV-120012總線在顯性狀態(tài)下的參數(shù):參數(shù)符號(hào)單位數(shù)值條件最小值典型值最大值總線共模電壓VCANHV3.57.0VCA
15、NLV-2.01.5總線差分電壓VdiffmV-2.02.03.0參數(shù)符號(hào)單位數(shù)值條件最小值典型值最大值 特征阻抗Z 108120132單位長(zhǎng)度電阻rm/m70傳播時(shí)延ns/m5終端電阻RL118120130參數(shù)符號(hào)單位數(shù)值條件最小值典型值最大值總線長(zhǎng)度Lm040位速率:1Mbps節(jié)點(diǎn)分支長(zhǎng)度Lm00.3節(jié)點(diǎn)距離d m040雙絞線(屏蔽或不屏蔽)電氣參數(shù)總線拓樸結(jié)構(gòu)參數(shù)2. CAN總線的技術(shù)規(guī)范節(jié)點(diǎn)的電氣參數(shù)CAN總線上任意兩個(gè)節(jié)點(diǎn)之間的最大傳輸距離與其位速率有關(guān):位速率/(Kbit/s)1000500250125100502010 5最大距離/m40130270530620130033006
16、70010000這里的最大通信距離是指在同一條總線上兩個(gè)節(jié)點(diǎn)之間的距離CAN總線系統(tǒng)任意兩個(gè)節(jié)點(diǎn)之間的最大距離2. CAN總線的技術(shù)規(guī)范傳輸距離與傳輸速率幾種總線可能的故障總線故障的影響總線故障描述網(wǎng)絡(luò)狀態(tài)規(guī)范性質(zhì)一個(gè)節(jié)點(diǎn)從總線斷開其余節(jié)點(diǎn)繼續(xù)通信推薦性一個(gè)節(jié)點(diǎn)丟失電源其余節(jié)點(diǎn)以降低的信噪比繼續(xù)通信推薦性一個(gè)節(jié)點(diǎn)丟失接地其余節(jié)點(diǎn)以降低的信噪比繼續(xù)通信推薦性任何接地屏蔽連接損壞所有節(jié)點(diǎn)繼續(xù)通信推薦性開路和短路故障1.CAN_L斷開2.CAN_H斷開3.CAN_L與電源電壓端接4.CAN_H與地端接5.CAN_L與地端接6.CAN_H與電源電壓端接7.CAN_L線與CAN_H線端接8.CAN_H和
17、.CAN_L在同一位置斷開9.丟失一個(gè)終端網(wǎng)絡(luò)所有節(jié)點(diǎn)以降低的信噪比繼續(xù)通信推薦性在整個(gè)系統(tǒng)內(nèi)停止工作可選性含有終端電阻的子系統(tǒng)內(nèi)的節(jié)點(diǎn)繼續(xù)通信可選性所有節(jié)點(diǎn)以降低的信噪比繼續(xù)通信可選性發(fā)出報(bào)文的單元成為該報(bào)文的發(fā)送器。該單元在總線空閑或丟失仲裁前始終為發(fā)送器。如果一個(gè)單元不是報(bào)文發(fā)送器,并且總線不處于空閑狀態(tài),則該單元就是接收器。報(bào)文中的位流按照非歸零碼(NRZ)方法編碼,即一個(gè)完整的位電平要么是顯性,要么是隱性。報(bào)文傳送由 4 種不同類型的幀表示和控制:數(shù)據(jù)幀、遠(yuǎn)程幀、出錯(cuò)幀和超載幀構(gòu)成一幀的幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)和CRC序列均借助位填充規(guī)則進(jìn)行編碼。當(dāng)發(fā)送器在發(fā)送的位流中檢測(cè)到5
18、位連續(xù)的相同數(shù)值時(shí),將自動(dòng)地在實(shí)際發(fā)送的位流中插入一個(gè)補(bǔ)碼位。數(shù)據(jù)幀和遠(yuǎn)程幀的其余位場(chǎng)采用固定格式,不進(jìn)行填充。出錯(cuò)幀和超載幀同樣是固定格式,也不進(jìn)行位填充。2. CAN總線的技術(shù)規(guī)范報(bào)文的傳送及幀結(jié)構(gòu)未填充位流 100000 xyz 011111xyz填充位流 1000001xyz 0111110 xyz 其中:xyz0,1CAN網(wǎng)的MAC層采用CSMA/CD的非破壞仲裁技術(shù)??偩€上當(dāng)顯性位(0)與隱性位(1)進(jìn)行線與時(shí),隱性位被稱為沖突,在競(jìng)爭(zhēng)中退出。非破壞性優(yōu)先權(quán)逐位仲裁規(guī)則:欲發(fā)幀的節(jié)點(diǎn)當(dāng)總線在空閑時(shí)同時(shí)發(fā)送幀且同步于SOF的上升沿;各幀的標(biāo)識(shí)字段在總線同時(shí)相遇,借助總線使標(biāo)識(shí)字段逐位
19、“線與”,根據(jù)其結(jié)果進(jìn)行沖突仲裁;如果發(fā)送節(jié)點(diǎn)沒有監(jiān)測(cè)到?jīng)_突,則繼續(xù)發(fā)送下一位;若監(jiān)測(cè)到?jīng)_突,則立即中斷,不再繼續(xù)后面位的傳送;各標(biāo)識(shí)字段逐位線與后,未監(jiān)測(cè)到?jīng)_突的字節(jié)便獲得優(yōu)先發(fā)送權(quán),可以發(fā)送數(shù)據(jù)幀后面的各字段;監(jiān)測(cè)到?jīng)_突的節(jié)點(diǎn),則不能發(fā)送后面的數(shù)據(jù)字段,而等待下一次發(fā)送。2. CAN總線的技術(shù)規(guī)范CSMA/CD非破壞仲裁ABCCANbus3. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀:攜帶數(shù)據(jù)由發(fā)送器至接收器;遠(yuǎn)程幀:通過總線單元發(fā)送,以請(qǐng)求發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀;出錯(cuò)幀:由檢測(cè)出總線錯(cuò)誤的任何單元發(fā)送;超載幀:用于提供當(dāng)前的和后續(xù)的數(shù)據(jù)幀的附加延遲。幀間空間:數(shù)據(jù)幀和遠(yuǎn)程幀通過幀間空間與當(dāng)前幀分開。3
20、. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀數(shù)據(jù)幀:由7個(gè)不同的位場(chǎng)組成,即幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、 CRC場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束。數(shù)據(jù)場(chǎng)長(zhǎng)度可為0。起始標(biāo)志目的地址數(shù)據(jù)長(zhǎng)度數(shù)據(jù)n校驗(yàn)位結(jié)束標(biāo)志3. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀幀起始:由一個(gè)顯性位構(gòu)成,只有在總線處于空閑狀態(tài)時(shí),才允許站開始發(fā)送。所有站都必須同步于首先開始發(fā)送的那個(gè)站的幀起始前沿。仲裁場(chǎng):仲裁場(chǎng)由標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位組成。標(biāo)準(zhǔn)幀中仲裁場(chǎng)為12位,擴(kuò)展幀中為32位??刂茍?chǎng):6位,由4位長(zhǎng)度碼和2個(gè)保留位(必須為顯性)組成,表示數(shù)據(jù)碼長(zhǎng)度;數(shù)據(jù)場(chǎng):由控制場(chǎng)確定字節(jié)數(shù),可以為0-8個(gè)字節(jié),每個(gè)字節(jié)8位,先發(fā)送最高有效位;CRC場(chǎng):16位,包括CRC校
21、驗(yàn)位和1個(gè)CRC界定符(隱性位);應(yīng)答場(chǎng):2位,包括應(yīng)答間隙和應(yīng)答界定符,2個(gè)隱性位;幀結(jié)束:7個(gè)連續(xù)隱性位3. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀仲裁場(chǎng)(Arbitration Frame):由標(biāo)識(shí)符和遠(yuǎn)程請(qǐng)求發(fā)送位(RTR)組成。顯位顯位注:ID10-ID4,高7位不能全為隱位ID10-ID011位標(biāo)識(shí)符2048-16=2032為實(shí)際可用地址空間標(biāo)準(zhǔn)幀隱性位代表1,顯性位代表0。在仲裁場(chǎng)的標(biāo)識(shí)符中,若按0、1計(jì)算的數(shù)值越小,則優(yōu)先級(jí)越高。因此,在整個(gè)網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)的優(yōu)先級(jí)都是不同的(因?yàn)槊總€(gè)節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)不同)。按照以上原則,優(yōu)先級(jí)高的幀會(huì)自動(dòng)屏蔽掉優(yōu)先級(jí)低的幀。3.報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀幀的優(yōu)先級(jí)3
22、. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀控制場(chǎng):數(shù)據(jù)字節(jié)數(shù)目數(shù)據(jù)長(zhǎng)度碼DLC3DLC2DLC1DLC00dddd1dddr2ddrd3ddrr4drdd5drdr6drrd7drrr8rdddd:顯性R:隱性3. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀數(shù)據(jù)場(chǎng):由數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)組成,它可包括08個(gè)字節(jié),每個(gè)字節(jié)8位。首先發(fā)送的是最高有效位。CRC場(chǎng):包括CRC序列,后隨CRC界定符(隱位)。CRC序列CRC場(chǎng)CRC界定符ACK場(chǎng)1隱位1隱位7 隱位1位發(fā)送器(11) -接收(01)- 3. 報(bào)文傳輸和幀結(jié)構(gòu)數(shù)據(jù)幀應(yīng)答場(chǎng)(ACK)幀結(jié)束:每個(gè)數(shù)據(jù)幀由7個(gè)隱位組成的標(biāo)志序列界定在應(yīng)答場(chǎng)里,發(fā)送站發(fā)送兩個(gè)“隱性”位,當(dāng)接收器
23、正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙期間向發(fā)送器發(fā)送“顯性”的位以示應(yīng)答。ID28ID18ID28ID03. 報(bào)文傳輸和幀結(jié)構(gòu)標(biāo)準(zhǔn)幀和擴(kuò)展幀在CAN2.0B存在兩種不同的幀格式,其主要區(qū)別在于標(biāo)識(shí)符的長(zhǎng)度,具有11位標(biāo)識(shí)符的幀稱為標(biāo)準(zhǔn)幀,而包括29位標(biāo)識(shí)符的幀稱為擴(kuò)展幀。3. 報(bào)文傳輸和幀結(jié)構(gòu)標(biāo)準(zhǔn)幀和擴(kuò)展幀SOFSRR11位標(biāo)識(shí)符IDEr0DLC數(shù)據(jù)長(zhǎng)度碼18位標(biāo)識(shí)符RTRr1隱性位隱性位仲裁場(chǎng)控制場(chǎng)擴(kuò)展幀SOFRTR11位標(biāo)識(shí)符顯性位IDE顯性位r0DLC數(shù)據(jù)長(zhǎng)度碼數(shù)據(jù)碼仲裁場(chǎng)控制場(chǎng)數(shù)據(jù)場(chǎng)標(biāo)準(zhǔn)幀顯性位遠(yuǎn)程幀隱性位RTR:Remote Transmission RequestIDE:標(biāo)
24、識(shí)符擴(kuò)展位(Identifier Extension Bit)DLC:Data Length CodeSRR:替代遠(yuǎn)程請(qǐng)求位(Substitute Remote Request Bit)3. 報(bào)文傳輸和幀結(jié)構(gòu)標(biāo)準(zhǔn)幀和擴(kuò)展幀激活為數(shù)據(jù)接收器的站可以借助于傳送一個(gè)遠(yuǎn)程幀初始化各自源節(jié)點(diǎn)數(shù)據(jù)的發(fā)送。遠(yuǎn)程幀由6個(gè)不同分位場(chǎng)組成: 幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束幀間空間遠(yuǎn)程幀幀間空間幀起始仲裁場(chǎng)控制場(chǎng)CRC場(chǎng)ACK場(chǎng)幀結(jié)束或超載幀特點(diǎn):1、不存在數(shù)據(jù)場(chǎng)2、仲裁場(chǎng)中RTR為隱位; 3、控制場(chǎng)中DLC對(duì)應(yīng)數(shù)據(jù)場(chǎng)中的DLC3. 報(bào)文傳輸和幀結(jié)構(gòu)遠(yuǎn)程幀出錯(cuò)幀由兩個(gè)不同場(chǎng)組成,第一個(gè)由來自各幀的
25、錯(cuò)誤標(biāo)志疊加得到,后隨的第二個(gè)場(chǎng)是出錯(cuò)界定符。數(shù)據(jù)幀出錯(cuò)幀錯(cuò)誤標(biāo)志錯(cuò)誤標(biāo)志疊加錯(cuò)誤界定符幀間空間或超載幀 錯(cuò)誤標(biāo)志有兩種形式: 活動(dòng)錯(cuò)誤標(biāo)志:由6個(gè)連續(xù)的顯位組成 認(rèn)可錯(cuò)誤標(biāo)志:由6個(gè)連續(xù)的隱位組成,除非被來自其他節(jié)點(diǎn)的顯位沖掉重寫。 出錯(cuò)界定符包括8個(gè)隱位 錯(cuò)誤標(biāo)志發(fā)送后,每個(gè)站都送出隱位,并監(jiān)視總線,直到檢測(cè)到隱位。 此后開始發(fā)送剩余的7個(gè)隱位。3. 報(bào)文傳輸和幀結(jié)構(gòu)出錯(cuò)幀超載幀包括兩個(gè)位場(chǎng):超載標(biāo)志和超載界定符;導(dǎo)致發(fā)送超載標(biāo)志的超載條件:要求延遲下一個(gè)數(shù)據(jù)幀或遠(yuǎn)程幀的接收器的內(nèi)部條件;在間歇場(chǎng)檢測(cè)到顯位超載標(biāo)志由6個(gè)顯位組成,超載界定符由8個(gè)隱位組成。幀結(jié)束或超載幀超載標(biāo)志超載標(biāo)志疊加
26、超載界定符幀間空間或超載幀超載界定符錯(cuò)誤界定符3. 報(bào)文傳輸和幀結(jié)構(gòu)超載幀若存在連續(xù)6個(gè)顯位,則說明是出錯(cuò)幀或超載幀,對(duì)于出錯(cuò)幀或超載幀的處理可以相同;否則,為數(shù)據(jù)幀或遠(yuǎn)程幀。若在仲裁場(chǎng)的RTR(SRR)位為顯位,則為標(biāo)準(zhǔn)格式數(shù)據(jù)幀;若RTR(SRR)位為隱性,則可能是擴(kuò)展格式或遠(yuǎn)程幀。再檢查隨后的IDE(r1)位,若為顯性則為標(biāo)準(zhǔn)格式遠(yuǎn)程幀;若IDE(r1)位為隱性則為擴(kuò)展格式幀,此時(shí)檢查擴(kuò)展格式的RTR位(即18位標(biāo)識(shí)符后的RTR位),若為顯性則為擴(kuò)展格式的數(shù)據(jù)幀,否則為擴(kuò)展格式的遠(yuǎn)程幀;3.報(bào)文傳輸和幀結(jié)構(gòu)如何區(qū)別四種幀和標(biāo)準(zhǔn)/擴(kuò)展幀SOFSRR11位標(biāo)識(shí)符IDEr0DLC數(shù)據(jù)長(zhǎng)度碼18
27、位標(biāo)識(shí)符RTRr1隱性位隱性位仲裁場(chǎng)控制場(chǎng)擴(kuò)展幀SOFRTR11位標(biāo)識(shí)符顯性位IDE顯性位r0DLC數(shù)據(jù)長(zhǎng)度碼數(shù)據(jù)碼仲裁場(chǎng)控制場(chǎng)數(shù)據(jù)場(chǎng)標(biāo)準(zhǔn)幀顯性位遠(yuǎn)程幀隱性位SOF:Start of FrameRTR:Remote Transmission RequestIDE:識(shí)別符擴(kuò)展位(Identifier Extension Bit)DLC:Data Length Code幀結(jié)束幀間空間間歇場(chǎng)總線空閑幀數(shù)據(jù)幀和遠(yuǎn)程幀前面以幀間空間分開;超載幀和出錯(cuò)幀前面沒有幀間空間;幀間空間包括間歇場(chǎng)和總線空閑場(chǎng);間歇場(chǎng)由3個(gè)隱位組成,間歇期間不允許啟動(dòng)發(fā)送數(shù)據(jù)幀和遠(yuǎn)程幀,它僅起標(biāo)注超載條件的作用;總線空閑場(chǎng)為任意長(zhǎng)
28、度,此時(shí)總線開放,任何需要發(fā)送的站均可訪問總線。3.報(bào)文傳輸和幀結(jié)構(gòu)幀間空間在超載幀和出錯(cuò)幀前面沒有幀間空間,并且多個(gè)超載幀前面也不被幀間空間分隔。3.報(bào)文傳輸和幀結(jié)構(gòu)幀間空間前一報(bào)文的發(fā)送器作為出錯(cuò)認(rèn)可節(jié)點(diǎn)時(shí):填充錯(cuò)誤:在應(yīng)使用位填充方法進(jìn)行編碼的報(bào)文中,出現(xiàn)了第6個(gè)連續(xù)相同的位電平時(shí),將檢出一個(gè)位填充錯(cuò)誤;4. CAN通信中的幾個(gè)問題-5種錯(cuò)誤類型位填充場(chǎng)合:數(shù)據(jù)幀和遠(yuǎn)程幀:SOF、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、 CRC序列位錯(cuò)誤:向總線發(fā)送一位的單元同時(shí)也在監(jiān)視總線,當(dāng)發(fā)現(xiàn)總線上數(shù)值與送出的位不同時(shí),則在該位時(shí)刻檢測(cè)到一個(gè)位錯(cuò)誤。例外:仲裁場(chǎng)的填充位流期間或應(yīng)答間隙送出隱性位而檢測(cè)到顯性位;送
29、出認(rèn)可錯(cuò)誤標(biāo)注的發(fā)送器在檢測(cè)到顯性位時(shí)。CRC錯(cuò)誤:接收器計(jì)算結(jié)果與接收到的CRC 序列不相同,則檢出一個(gè)CRC錯(cuò)誤;形式錯(cuò)誤:當(dāng)固定形式的位場(chǎng)中出現(xiàn)一個(gè)或多個(gè)非法位時(shí),則檢出一個(gè)形式錯(cuò)誤;應(yīng)答錯(cuò)誤:在應(yīng)答間隙,發(fā)送器未檢測(cè)到顯位時(shí),則由它檢出一個(gè)應(yīng)答錯(cuò)誤。4. CAN通信中的幾個(gè)問題- 5種錯(cuò)誤類型應(yīng)答場(chǎng)組成當(dāng)檢測(cè)到CRC錯(cuò)誤時(shí),出錯(cuò)標(biāo)志在應(yīng)答定界符后面那一位開始發(fā)送,除非其他出錯(cuò)條件的錯(cuò)誤標(biāo)志已經(jīng)開始發(fā)送。4. CAN通信中的幾個(gè)問題-出錯(cuò)幀的發(fā)送檢測(cè)到出錯(cuò)條件的站通過發(fā)送錯(cuò)誤標(biāo)志進(jìn)行標(biāo)定。當(dāng)任何站檢出位錯(cuò)誤、填充錯(cuò)誤、形式錯(cuò)誤、應(yīng)答錯(cuò)誤時(shí),由該站在下一位開始送出錯(cuò)誤標(biāo)志??偩€關(guān)閉:總線關(guān)
30、閉狀態(tài)不允許單元對(duì)總線有任何影響(如輸出驅(qū)動(dòng)器關(guān)閉)。4. CAN通信中的幾個(gè)問題-錯(cuò)誤界定錯(cuò)誤激活(error active):錯(cuò)誤激活單元可以照常參與總線通信,并且當(dāng)檢測(cè)到錯(cuò)誤時(shí),送出一個(gè)活動(dòng)錯(cuò)誤標(biāo)志。(連續(xù)顯位)錯(cuò)誤認(rèn)可(error passive):不允許錯(cuò)誤認(rèn)可節(jié)點(diǎn)送出活動(dòng)錯(cuò)誤標(biāo)志,它可參與總線通信,但當(dāng)檢測(cè)到錯(cuò)誤時(shí),只能送出認(rèn)可錯(cuò)誤標(biāo)志。并且發(fā)送后仍被錯(cuò)誤認(rèn)可,直到下次發(fā)送初始比。 (連續(xù)隱位)4. CAN通信中的幾個(gè)問題-錯(cuò)誤界定為了界定故障,在每個(gè)總線單元中都設(shè)有兩種計(jì)數(shù):發(fā)送出錯(cuò)計(jì)數(shù):送出出錯(cuò)標(biāo)志加8,有例外-錯(cuò)誤認(rèn)可、位填充;發(fā)送成功減1直到0;達(dá)到128進(jìn)錯(cuò)誤認(rèn)可、達(dá)到2
31、56進(jìn)總線關(guān)閉;接收出錯(cuò)計(jì)數(shù):接收出錯(cuò)加1(有例外);送出錯(cuò)誤標(biāo)志后仍檢出顯位加8;位錯(cuò)誤加8;成功接收減1直到0;達(dá)到128進(jìn)錯(cuò)誤認(rèn)可4. CAN通信中的幾個(gè)問題-位定時(shí)與同步正常位速率:在非重同步情況下,借助理想發(fā)送器每秒發(fā)送的位數(shù)。正常位時(shí)間為正常位速率的倒數(shù)。正常位時(shí)間可分為幾個(gè)互不重疊的時(shí)間段:同步段(SS)、傳播段(PTS)、相位緩沖段1(PBS1)和相位緩沖段2(PBS2):采樣點(diǎn)相位緩沖段1相位緩沖段2同步段傳播段一位時(shí)間(設(shè)為10個(gè)時(shí)間份額)4. CAN通信中的幾個(gè)問題-位定時(shí)與同步同步段:用于總線上各節(jié)點(diǎn)的同步,為此,段內(nèi)需要一個(gè)跳變沿;傳播段:指總線上用于傳輸?shù)难舆t時(shí)間。
32、它是信號(hào)在總線上的傳輸時(shí)間、輸入比較器延遲和輸出驅(qū)動(dòng)器延遲之和的兩倍;相位緩沖段1和相位緩沖段2:用于彌補(bǔ)跳變沿的相位誤差造成的影響,通過重同步,這兩個(gè)時(shí)間段可以被延長(zhǎng)或縮短;采樣點(diǎn):是讀取總線電平并理解該位數(shù)值的時(shí)刻;處理時(shí)間:是以采樣點(diǎn)為起點(diǎn)的一個(gè)時(shí)間段,采樣點(diǎn)后續(xù)的位電平用于理解該位數(shù)值;硬同步:位時(shí)間從同步段重新開始。因此,硬同步強(qiáng)迫由于硬同步引起的沿處于重新開始的位時(shí)間同步段之內(nèi);重同步跳轉(zhuǎn)寬度:重新同步的結(jié)果使相應(yīng)緩沖段1增長(zhǎng),或使相位緩沖段2縮短。相位緩沖段加長(zhǎng)或縮短的數(shù)量由重新同步跳轉(zhuǎn)寬度給定;同步規(guī)則:硬同步和重同步。硬同步在一幀開始時(shí)進(jìn)行,重同步發(fā)生在位流傳輸期間。4. C
33、AN通信中的幾個(gè)問題-位定時(shí)與同步同步段是CAN總線位時(shí)間中每一位的起始部分,不管是發(fā)送節(jié)點(diǎn)發(fā)送一位或接收節(jié)點(diǎn)接收一位都從同步段開始;由于發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)之間存在網(wǎng)絡(luò)延遲及物理接口延遲,發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)對(duì)應(yīng)同一位的同步段起始時(shí)刻都有一定得時(shí)延,為彌補(bǔ)這種時(shí)延給出了傳播段。相位緩沖段1和相位緩沖段2用于彌補(bǔ)沿的相位誤差,通過重同步調(diào)整采樣點(diǎn),得到正確的采樣值。硬同步在一幀開始時(shí)進(jìn)行。只在總線空閑或者幀間空間時(shí),通過一個(gè)下降沿(總線電平從隱性位到顯性位的跳變)來完成。此時(shí),不管有沒有相位誤差,所有節(jié)點(diǎn)的位時(shí)間都重新開始。重同步發(fā)生在位流傳送期間,節(jié)點(diǎn)根據(jù)沿相位誤差的大小調(diào)整其內(nèi)部的位時(shí)間,使節(jié)
34、點(diǎn)內(nèi)部的位時(shí)間與報(bào)文位流的位時(shí)間接近或相等。重同步用來彌補(bǔ)沿相位誤差,晶振頻偏、節(jié)點(diǎn)延時(shí)、噪音干擾都可能引起相位誤差,彌補(bǔ)的方法是延長(zhǎng)相位緩沖段1或者縮短相位緩沖段2,調(diào)整采樣點(diǎn)的位置,延長(zhǎng)或縮短的長(zhǎng)度由同步跳轉(zhuǎn)寬度SJW確定。4. CAN通信中的幾個(gè)問題-位定時(shí)與同步邊沿的相位誤差由相對(duì)于同步段跳變邊沿的位置給出,以時(shí)間份額給出。邊沿相位誤差e與同步跳變沿的關(guān)系如下:e=0:同步跳變沿在同步段內(nèi);e0:同步跳變沿位于同步段之后,采樣點(diǎn)前,即跳變沿遲到了。彌補(bǔ)的方法是延長(zhǎng)相位緩沖段1;e0變化時(shí),將返回操作模式;中斷使能:接收中斷使能(CR.1),發(fā)送中斷使能(CR.2),錯(cuò)誤中斷使能(CR.
35、3),溢出中斷使能(CR.4)通訊速率設(shè)置:總線時(shí)序寄存器(BTR0)和(BTR1);消息濾波:驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR)。接收標(biāo)識(shí)符的ID10-ID3各位必須在對(duì)應(yīng)AMR.7-AMR.0各位中不為1的位與ACR.7-ACR.0相應(yīng)位相同;BasicCAN各寄存器主要功能說明5. CAN控制器-SJA1000命令寄存器(CMR):?jiǎn)?dòng)動(dòng)作:發(fā)送請(qǐng)求、中止發(fā)送、釋放接收緩沖器、清除數(shù)據(jù)溢出、睡眠等;狀態(tài)寄存器(SR):反映SJA1000當(dāng)前狀態(tài),包括:接收緩沖器狀態(tài)、數(shù)據(jù)溢出、發(fā)送緩沖器狀態(tài)、發(fā)送完成狀態(tài)、接收狀態(tài)、發(fā)送狀態(tài)、出錯(cuò)狀態(tài)、總線狀態(tài)等;中斷寄存器(IR):用于
36、中斷源識(shí)別。當(dāng)該寄存器中有被置1的位時(shí),INT引腳被激活,在該寄存器被讀過后自動(dòng)清除。中斷源包括:接收中斷、發(fā)送中斷、錯(cuò)誤中斷、數(shù)據(jù)溢出中斷、喚醒中斷。發(fā)送/接收數(shù)據(jù)標(biāo)識(shí)碼(ID0-ID10):ID10為最高位,最先被發(fā)送到總線上;遠(yuǎn)程發(fā)送請(qǐng)求位(RTR):為1:在總線上發(fā)送遠(yuǎn)程請(qǐng)求幀,幀中沒有數(shù)據(jù),但需要一個(gè)確切的數(shù)據(jù)長(zhǎng)度碼,說明要求回應(yīng)的有相同標(biāo)志碼的數(shù)據(jù)幀的長(zhǎng)度;數(shù)據(jù)長(zhǎng)度碼(DLC):長(zhǎng)度值最大為8,超過8時(shí)默認(rèn)為8;發(fā)送/接收數(shù)據(jù)域5. CAN控制器-SJA1000地址操作模式復(fù)位模式讀寫讀寫0模式(MOD)1(00H)命令(CMR)(00H)命令(CMR)2狀態(tài)(SR)-3中斷(IR
37、)-4中斷使能5(00H)-(00H)-6總線時(shí)序0(BTR0)-總線時(shí)序0(BTR0)7總線時(shí)序1(BTR1)-總線時(shí)序1(BTR1)8輸出控制-9測(cè)試10(00H)-(00H)-11仲裁丟失捕捉-12錯(cuò)誤代碼捕捉-13錯(cuò)誤報(bào)警限額-14RX錯(cuò)誤計(jì)數(shù)器-15TX錯(cuò)誤計(jì)數(shù)器-PeliCAN地址分配表地址操作模式復(fù)位模式讀寫讀寫16RX幀報(bào)文SFFRX幀報(bào)文EFFTX幀報(bào)文SFFTX幀報(bào)文EFF驗(yàn)收代碼0驗(yàn)收代碼017RX標(biāo)識(shí)碼1RX標(biāo)識(shí)碼1TX標(biāo)識(shí)碼1TX標(biāo)識(shí)碼1驗(yàn)收代碼1驗(yàn)收代碼118RX標(biāo)識(shí)碼2RX標(biāo)識(shí)碼2TX標(biāo)識(shí)碼2TX標(biāo)識(shí)碼2驗(yàn)收代碼2驗(yàn)收代碼219RX數(shù)據(jù)1RX標(biāo)識(shí)碼3TX數(shù)據(jù)1TX
38、標(biāo)識(shí)碼3驗(yàn)收代碼3驗(yàn)收代碼320RX數(shù)據(jù)2RX標(biāo)識(shí)碼4TX數(shù)據(jù)2TX標(biāo)識(shí)碼4驗(yàn)收屏蔽0驗(yàn)收屏蔽021RX數(shù)據(jù)3RX數(shù)據(jù)1TX數(shù)據(jù)3RX數(shù)據(jù)1驗(yàn)收屏蔽1驗(yàn)收屏蔽122RX數(shù)據(jù)4RX數(shù)據(jù)2TX數(shù)據(jù)4RX數(shù)據(jù)2驗(yàn)收屏蔽2驗(yàn)收屏蔽223RX數(shù)據(jù)5RX數(shù)據(jù)3TX數(shù)據(jù)5RX數(shù)據(jù)3驗(yàn)收屏蔽3驗(yàn)收屏蔽324RX數(shù)據(jù)6RX數(shù)據(jù)4TX數(shù)據(jù)6RX數(shù)據(jù)4(00H)-25RX數(shù)據(jù)7RX數(shù)據(jù)5TX數(shù)據(jù)7RX數(shù)據(jù)5(00H)-26RX數(shù)據(jù)8RX數(shù)據(jù)6TX數(shù)據(jù)8RX數(shù)據(jù)6(00H)-27(FIFO RAM)RX數(shù)據(jù)7-RX數(shù)據(jù)7(00H)-28(FIFO RAM)RX數(shù)據(jù)8-RX數(shù)據(jù)8(00H)-29RX報(bào)文計(jì)數(shù)器-30RX
39、緩沖區(qū)起始地址-31時(shí)鐘分配器時(shí)鐘分配器32-95內(nèi)部RAM地址0-63(FIFO)-內(nèi)部RAM內(nèi)部RAM96-108內(nèi)部RAM地址64-76(TX緩沖區(qū))-內(nèi)部RAM內(nèi)部RAM109-111內(nèi)部RAM地址77-79(空閑)-內(nèi)部RAM內(nèi)部RAM112-127(00H)-(00H)-5. CAN控制器-SJA1000CAN模式選擇:時(shí)鐘分配器的位(CDR.7):在復(fù)位階段,將該位設(shè)置為0系統(tǒng)工作在BasicCAN模式,設(shè)置成1工作在PeliCAN模式;模式寄存器(MOD):復(fù)位請(qǐng)求:模式寄存器的復(fù)位請(qǐng)求位(MOD.0),系統(tǒng)檢測(cè)到MOD.0為1時(shí)將中止當(dāng)前接收/發(fā)送的報(bào)文而進(jìn)入復(fù)位模式,當(dāng)MO
40、D.0位出現(xiàn)1-0變化時(shí),將返回操作模式;只聽模式、自檢模式、驗(yàn)收濾波器模式、睡眠模式;通訊速率設(shè)置:總線時(shí)序寄存器(BTR0)和(BTR1);消息濾波:驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR);中斷使能寄存器(IER):PeliCAN各寄存器主要功能說明5. CAN控制器-SJA1000命令寄存器(CMR) 狀態(tài)寄存器(SR) 中斷寄存器(IR)發(fā)送/接收數(shù)據(jù)標(biāo)識(shí)碼(ID0-ID10)遠(yuǎn)程發(fā)送請(qǐng)求位(RTR) 數(shù)據(jù)長(zhǎng)度碼(DLC) 發(fā)送/接收數(shù)據(jù)域。CAN地址內(nèi)容16TX幀信息17TX標(biāo)識(shí)碼118TX標(biāo)識(shí)碼219TX數(shù)據(jù)字節(jié)120TX數(shù)據(jù)字節(jié)221TX數(shù)據(jù)字節(jié)322TX數(shù)據(jù)字節(jié)42
41、3TX數(shù)據(jù)字節(jié)524TX數(shù)據(jù)字節(jié)625TX數(shù)據(jù)字節(jié)726TX數(shù)據(jù)字節(jié)827未用28未用標(biāo)準(zhǔn)幀格式CAN地址內(nèi)容16TX幀信息17TX標(biāo)識(shí)碼118TX標(biāo)識(shí)碼219TX標(biāo)識(shí)碼320TX標(biāo)識(shí)碼421TX數(shù)據(jù)字節(jié)122TX數(shù)據(jù)字節(jié)223TX數(shù)據(jù)字節(jié)324TX數(shù)據(jù)字節(jié)425TX數(shù)據(jù)字節(jié)526TX數(shù)據(jù)字節(jié)627TX數(shù)據(jù)字節(jié)728TX數(shù)據(jù)字節(jié)8擴(kuò)展幀格式5. CAN控制器- SJA1000發(fā)送緩沖器5. CAN控制器- SJA1000發(fā)送緩沖器TX結(jié)構(gòu)信息BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0FFRTRxxDLC.3DLC.2DLC.1DLC.0BIT7BIT6BIT5BIT4BI
42、T3BIT2BIT1BIT0ID.28ID.27ID.26ID.25ID.24ID.23ID.22ID.21BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.20ID.19ID.18ID.17ID.16ID.15ID.14ID.13BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.12ID.11ID.10ID.9ID.8ID.7ID.6ID.5BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0ID.4ID.3ID.2ID.1ID.0 xxxTX標(biāo)志碼1TX標(biāo)志碼2TX標(biāo)志碼3TX標(biāo)志碼40:標(biāo)準(zhǔn)幀1:擴(kuò)展幀遠(yuǎn)程發(fā)送請(qǐng)求數(shù)據(jù)長(zhǎng)度代碼地址內(nèi)容(
43、標(biāo)準(zhǔn)幀)內(nèi)容(擴(kuò)展幀)16RX幀信息RX幀信息17RX標(biāo)識(shí)碼1RX標(biāo)識(shí)碼118RX標(biāo)識(shí)碼2RX標(biāo)識(shí)碼219RX數(shù)據(jù)字節(jié)1RX標(biāo)識(shí)碼320RX數(shù)據(jù)字節(jié)2RX標(biāo)識(shí)碼421RX數(shù)據(jù)字節(jié)3RX數(shù)據(jù)字節(jié)122RX數(shù)據(jù)字節(jié)4RX數(shù)據(jù)字節(jié)223RX數(shù)據(jù)字節(jié)5RX數(shù)據(jù)字節(jié)324RX數(shù)據(jù)字節(jié)6RX數(shù)據(jù)字節(jié)425RX數(shù)據(jù)字節(jié)7RX數(shù)據(jù)字節(jié)526RX數(shù)據(jù)字節(jié)8RX數(shù)據(jù)字節(jié)627RX數(shù)據(jù)字節(jié)728RX數(shù)據(jù)字節(jié)85. CAN控制器- SJA1000接收緩沖器5. CAN控制器- SJA1000驗(yàn)收濾波器單過濾模式:雙過濾模式:驗(yàn)收代碼寄存器(ACR):接收?qǐng)?bào)文的標(biāo)識(shí)位與該寄存器相應(yīng)位相同才允許通過;驗(yàn)收屏蔽寄存器(AM
44、R):該寄存器為1的位對(duì)應(yīng)的驗(yàn)收代碼寄存器位失效。是CAN總線實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn),一點(diǎn)對(duì)多點(diǎn)通信的重要寄存器。在驗(yàn)收濾波器的作用下,只有當(dāng)接收?qǐng)?bào)文中的標(biāo)識(shí)位和驗(yàn)收濾波器預(yù)定義的值相等時(shí),CAN控制器才允許將已接收到得報(bào)文存入RXFIFO過濾模式包括單過濾模式和雙過濾模式5. CAN控制器- SJA1000驗(yàn)收濾波器BasicCAN模式下,驗(yàn)收代碼位AC.7-AC.0和報(bào)文標(biāo)識(shí)符的高8位(ID10-ID3)必須相等才允許接收,不相等位需由相應(yīng)的驗(yàn)收屏蔽位為1來進(jìn)行屏蔽。0111001000111000ACRAMRID01xxx010 xxxID10ID0ACR7ACR0ACRAMRFilter接收FIF
45、O數(shù)據(jù)標(biāo)準(zhǔn)幀標(biāo)識(shí)符中的8位用于接收濾波接收濾波器11位標(biāo)識(shí)符5. CAN控制器- SJA1000驗(yàn)收濾波器PeliCAN模式下,通過模式字MOD.3來確定選擇單濾波模式(1)還是雙濾波模式(0)。ACR076543210ACR176543210ACR276543210ACR376543210AMR076543210AMR076543210AMR076543210AMR076543210ID28ID21ID20ID19ID18RTRDB1.7DB1.0DB2.7DB2.0單濾波模式(4字節(jié)長(zhǎng)濾波器)標(biāo)準(zhǔn)幀5. CAN控制器- SJA1000驗(yàn)收濾波器PeliCAN模式下,通過模式字MOD.3來確
46、定選擇單濾波模式(1)還是雙濾波模式(0)。ACR076543210ACR176543210ACR276543210ACR376543210AMR076543210AMR076543210AMR076543210AMR076543210ID28ID21ID20RTRID0ID13ID5ID4單濾波模式(4字節(jié)長(zhǎng)濾波器) ID12擴(kuò)展幀5. CAN控制器- SJA1000驗(yàn)收濾波器PeliCAN模式下,通過模式字MOD.3來確定選擇單濾波模式(1)還是雙濾波模式(0)。ACR076543210ACR176543210AMR076543210AMR076543210AMR276543210ID28
47、ID21ID20ID19ID18RTRDB1.7雙濾波模式(2個(gè)2字節(jié)短濾波器)ACR276543210ACR37654AMR37654ACR33210AMR33210DB1.0兩個(gè)濾波器至少有一個(gè)表示為“接受”標(biāo)準(zhǔn)幀5. CAN控制器- SJA1000驗(yàn)收濾波器PeliCAN模式下,通過模式字MOD.3來確定選擇單濾波模式(1)還是雙濾波模式(0)。ACR076543210ACR176543210AMR076543210AMR076543210AMR276543210ID28ID21ID20ID13雙濾波模式(2個(gè)2字節(jié)短濾波器)ACR276543210ACR376543210AMR3765
48、43210兩個(gè)濾波器至少有一個(gè)表示為“接受”擴(kuò)展幀5. CAN控制器- SJA1000驗(yàn)收濾波器例:假設(shè)有下面2個(gè)標(biāo)準(zhǔn)幀標(biāo)識(shí)符的報(bào)文在標(biāo)識(shí)符不用進(jìn)一步譯碼就被接收。數(shù)據(jù)和遠(yuǎn)程幀必須被正確接收。數(shù)據(jù)字節(jié)不要求驗(yàn)收濾波。 報(bào)文1: (ID.28) 1011 1100 101 (ID.18) 報(bào)文2: (ID.28) 1111 0100 101 (ID.18)0123ACRn1x11 x100101xxxxx xxxxxxxx xxxxAMRn0100 100000011111 11111111 1111接收的報(bào)文(ID.28-ID.18,RTR)1011 0100 101x1111 0100 10
49、1x1011 1100 101x1111 1100 101x濾波器1濾波器2013低4位23高4位ACRn1011 1100101x xxxxxxxx1111 0100101x AMRn0000 00000001 111111110000 00000001 接收的報(bào)文(ID.28-ID.18,RTR)1011 1100 101x1111 0100 101x單濾波模式雙濾波模式5. CAN控制器- SJA1000波特率設(shè)置CAN總線上的傳輸波特率由總線時(shí)序寄存器0(BTR0)和總線時(shí)序寄存器1(BTR1)設(shè)置;BTR0定義了波特率預(yù)置器(BRP)和同步跳轉(zhuǎn)寬度(SJW)值;CAN系統(tǒng)時(shí)鐘 tSC
50、L = 2 * 晶振振蕩周期tCLK *(32*BRP.5+16*BRP.4+8*BRP.3+4*BRP.2+2*BRP.1+BRP.0+1)預(yù)置器最大值=64BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0為補(bǔ)償在不同總線控制器的時(shí)鐘振蕩器之間的相位漂移,任何總線控制器必須在當(dāng)前傳送的任一相關(guān)信號(hào)邊沿重新同步。同步跳轉(zhuǎn)寬度tsjw定義了一個(gè)位周期可以被一次重新同步縮短或延長(zhǎng)的時(shí)鐘周期的最大數(shù)目。1/(位周期+Tsjw)=CAN實(shí)際波特率周期=1/(位周期-Tsjw)tsjw=tscl*(2*SJW
51、.1+SJW.0+1)5. CAN控制器- SJA1000波特率設(shè)置BTR1定義了一個(gè)位周期的長(zhǎng)度、采樣點(diǎn)的位置和在每個(gè)采樣點(diǎn)的采樣數(shù)目(SAM);BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TESG1.3TSEG1.2TSEG1.1TSEG1.0CAN位時(shí)鐘周期數(shù) = 同步時(shí)間段+時(shí)間段1+時(shí)間段2 = 1+(8*TSEG1.3+4*TSEG1.2+2*TSEG1.1+TSEG1.0+1) +(4*TSEG2.2+2*TSEG2.1+TSEG2.0+1)最大值=25采樣位SAM:1: 3次采樣,建議在低/中速總線上使用;0:
52、 單次采樣,建議在高速(100K以上)總線中使用。5. CAN控制器- SJA1000波特率設(shè)置采樣點(diǎn)XTAL預(yù)計(jì)的位時(shí)間tTSEG1tTSEG2同步段同步段波特率預(yù)制值(BRP)tCLKtSCLCAN設(shè)晶振頻率為16M,則:根據(jù)上圖計(jì)算得傳輸速率為:1/2*(1/16M)*(1+1) * (1+(5+1)+(2+1) = 1/ 2*(1/16M)*2*10 = 400KBRP=000001; TSEG1=0101; TSEG2=0105. CAN控制器- SJA1000波特率設(shè)置例:設(shè)晶振頻率為16M,BTR0和BTR1寄存器的設(shè)置如下,計(jì)算該設(shè)置的通信速率。BTR0=0 x03,BTR1=
53、0 x1CBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TESG1.3TSEG1.2TSEG1.1TSEG1.0BTR0BRP0 x03 = CAN系統(tǒng)時(shí)鐘 tSCL= 2*(1/16M)*(2+1+1)=1/2M;TSEG1=0 x0c,TSEG2=0 x01 = CAN位時(shí)鐘周期數(shù) = 同步時(shí)間段+時(shí)間段1+時(shí)間段2 = 1+(8*1+4*1+2*0+0+1) +(4*0+2*0+1
54、+1) = 16= 通信位速率=1/(tSCL*CAN位時(shí)鐘周期數(shù))=1/(1/2M * 16)=2M/16=125KbpsBTR15. CAN總線收發(fā)器 是協(xié)議控制器和物理傳輸線路之間的接口。為CAN控制器提供差動(dòng)發(fā)送和接收數(shù)據(jù);CAN收發(fā)器PCA82C250TJA1050 PCA82C250是CAN協(xié)議控制器和物理總線的接口。此器件對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力。又稱為總線驅(qū)動(dòng)器。符合ISO11898標(biāo)準(zhǔn),最高速率1Mbps;抗汽車環(huán)境瞬間干擾,具有保護(hù)總線能力;斜率控制,降低射頻干擾RFI;熱保護(hù)以及電源和地短路保護(hù);低電流待機(jī)模式;未上電的節(jié)點(diǎn)對(duì)總線無影響;可連
55、接110個(gè)節(jié)點(diǎn);工作溫度-40+125。5. CAN收發(fā)器-PCA82C250內(nèi)部具有限流電路,可防止發(fā)送輸出級(jí)對(duì)電源、地或負(fù)載短路。雖然短路出現(xiàn)時(shí)功耗增加但不至于損壞器件。若結(jié)溫超過160,則兩個(gè)輸出端電流限將減小,從而限制了芯片溫升。器件的所有其他部分將繼續(xù)工作。雙線差分驅(qū)動(dòng)有助于抑制汽車等惡劣電器環(huán)境下的瞬變干擾。5. CAN收發(fā)器-PCA82C250功能完成CAN協(xié)議電平轉(zhuǎn)換;完成數(shù)據(jù)收發(fā);起到保護(hù)和抗干擾作用。引腳信號(hào)TXD:發(fā)送數(shù)據(jù)輸入RXD:接收數(shù)據(jù)輸出CANL:低電平CAN總線CANH:高電平CAN總線Vref:參考電壓輸出RS:模式選擇,0:高速模式;1:靜音模式,只收不發(fā);
56、R:斜率控制5. CAN收發(fā)器-PCA82C250PCA82C250收發(fā)器的典型應(yīng)用如圖。SJA1000的RX和TX分別通過光電隔離電路連接到82C250,82C250的差動(dòng)收發(fā)端CANH和CANL連接到總線電纜。輸入RS用于模式控制。Vref輸出電壓是0.5Vcc,(Vcc=5V)。5. CAN收發(fā)器-PCA82C250CAN總線建立通信的步驟系統(tǒng)上電后的主要任務(wù)設(shè)定主控制器連接到SJAl000的硬件和軟件關(guān)系;設(shè)定用于通信的CAN各個(gè)控制器,例如關(guān)于模式、驗(yàn)收濾波器和位時(shí)序等方面數(shù)值。在應(yīng)用的主過程中的主要任務(wù)準(zhǔn)備要發(fā)送的信息,并激活SJAl000以發(fā)送它們;處理被CAN控制器所接收的報(bào)文
57、信息;處理通信期間發(fā)生的錯(cuò)誤。6. CAN通信的控制與應(yīng)用CAN通信控制驗(yàn)收濾波器與信息識(shí)別節(jié)點(diǎn)之間報(bào)文信息幀:數(shù)據(jù)幀和遠(yuǎn)程幀,由RTR位區(qū)分。通過驗(yàn)收濾波器識(shí)別信息幀的目標(biāo)地址。各節(jié)點(diǎn)ID碼保存在接收代碼寄存器(ACR)中,屏蔽位保存在接收屏蔽寄存器(AMR)中。6. CAN通信的控制與應(yīng)用CAN通信控制例1:某節(jié)點(diǎn)的驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR)如下:例2:對(duì)于有81H,82H,83H,84H,85H,86H節(jié)點(diǎn)的網(wǎng)絡(luò),若主機(jī)想同時(shí)對(duì)81H,82H,83H發(fā)送信息,則信息幀的標(biāo)識(shí)符ID高8位可寫為:87H或07H,各節(jié)點(diǎn)由AMR進(jìn)行過濾。優(yōu)點(diǎn):容易實(shí)現(xiàn)單點(diǎn)對(duì)其他點(diǎn)任意組
58、合的信息發(fā)送;各節(jié)點(diǎn)具有不同的優(yōu)先級(jí),保證關(guān)鍵節(jié)點(diǎn)不被阻塞;每個(gè)節(jié)點(diǎn)都能使用兩種地址編碼,且優(yōu)先級(jí)不同,保證關(guān)鍵指令首先被接收6. CAN通信的控制與應(yīng)用CAN通信控制6. CAN通信的控制與應(yīng)用SJA1000器件由初始化程序、發(fā)送程序、接收程序三部分組成。初始化程序主要是對(duì)CAN控制器控制段中寄存器寫入控制字,從而確定CAN控制器的工作方式。相關(guān)寄存器包括:模式寄存器、時(shí)鐘分頻寄存器、驗(yàn)收代碼和驗(yàn)收屏蔽寄存器、總線定時(shí)寄存器、輸出控制寄存器。三種情形進(jìn)入初始化程序:上電復(fù)位、硬件復(fù)位、軟件復(fù)位數(shù)據(jù)發(fā)送程序只需將被發(fā)送的信息幀傳送到CAN的發(fā)送緩沖區(qū),然后將命令寄存器里的發(fā)送請(qǐng)求標(biāo)志置位(即啟
59、動(dòng)發(fā)送命令)即可;發(fā)送可采用中斷請(qǐng)求或查詢狀態(tài)標(biāo)志兩種控制方式6. CAN通信的控制與應(yīng)用通信軟件數(shù)據(jù)接收程序 信息從CAN總線到CAN接收緩沖區(qū)是由CAN控制器根據(jù)CAN協(xié)議規(guī)約自動(dòng)獨(dú)立完成的。驗(yàn)收濾波正確后,收到的信息自動(dòng)放到接收緩沖器內(nèi)。由主控制器進(jìn)行讀操作,將這條信息發(fā)送到本地的信息存儲(chǔ)器,然后釋放接收緩沖器并對(duì)信息進(jìn)行操作。6. CAN通信的控制與應(yīng)用通信軟件6. 基于RS232協(xié)議的CAN總線網(wǎng)絡(luò)7. CAN高層協(xié)議TTCAN CANopenDeviceNet7. CAN高層協(xié)議-TTCAN消息的傳輸機(jī)制事件觸發(fā)機(jī)制 指消息的交換是由外部事件的發(fā)生引起的,該方式可以較靈活的分配資源
60、,但當(dāng)多個(gè)事件同時(shí)發(fā)生時(shí),會(huì)造成多個(gè)節(jié)點(diǎn)訪問總線的沖突;時(shí)間觸發(fā)機(jī)制 指消息的交換以時(shí)間為基準(zhǔn),網(wǎng)絡(luò)中個(gè)節(jié)點(diǎn)發(fā)送消息的時(shí)刻都是預(yù)先分配好的,主要適用于周期性的消息。CAN總線本質(zhì)上屬于事件觸發(fā)機(jī)制。ISO11898-4在CAN協(xié)議棧中物理層和數(shù)據(jù)鏈路層之上增加了一個(gè)會(huì)話層,將CAN擴(kuò)展為基于時(shí)間觸發(fā)機(jī)制的TTCAN (time-triggered CAN)。矩陣周期構(gòu)成TT-CAN的一個(gè)通訊單元。7. CAN高層協(xié)議TTCAN消息交換調(diào)度表參考報(bào)文報(bào)文1報(bào)文2仲裁窗口備用窗口報(bào)文3參考報(bào)文報(bào)文1報(bào)文4報(bào)文5報(bào)文3參考報(bào)文報(bào)文1報(bào)文7仲裁窗口仲裁窗口報(bào)文3參考消息報(bào)文4備用窗口報(bào)文3報(bào)文6報(bào)文1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)數(shù)學(xué)下冊(cè)教案-5.3 長(zhǎng)方形的面積(2)-北師大版
- 五年級(jí)下冊(cè)數(shù)學(xué)教案-2.1 分?jǐn)?shù)的意義 ︳西師大版
- 2025年合同占股模板
- 一年級(jí)下數(shù)學(xué)教案-綜合練習(xí)-北師大版
- 2025年河北省石家莊市單招職業(yè)傾向性測(cè)試題庫(kù)附答案
- 2024年浸酸劑項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年湖南省郴州市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)審定版
- 2025年度心理咨詢師培訓(xùn)朋輩督導(dǎo)小組保密合作協(xié)議
- 2025年度家禽養(yǎng)殖與食品安全監(jiān)管合作協(xié)議
- 2025年度導(dǎo)演與票務(wù)銷售公司聘用合同
- 工業(yè)自動(dòng)化控制系統(tǒng)升級(jí)與維護(hù)服務(wù)合同
- 定崗定編定員實(shí)施方案(5篇)
- 藥品經(jīng)營(yíng)質(zhì)量管理規(guī)范
- 爆破工程師培訓(xùn)
- 2024年云南省公務(wù)員考試《行測(cè)》真題及答案解析
- 教科版初中物理八年級(jí)下冊(cè)知識(shí)梳理
- 《飛科電器公司盈利能力存在的問題及完善對(duì)策(7800字論文)》
- 零星維修工程項(xiàng)目施工方案1
- 楚辭離騷的原文全文完整注音版、拼音版標(biāo)準(zhǔn)翻譯譯文及注釋
- 湖北省荊州市2024年七年級(jí)上學(xué)期期中數(shù)學(xué)試題【附答案】
- 刑事訴訟法課件
評(píng)論
0/150
提交評(píng)論