版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
因?yàn)镃AN總線速度的優(yōu)勢,再加上CAN的應(yīng)用非常廣泛,所以,做嵌入式開發(fā)一定要了解或掌握CAN的一些基礎(chǔ)知識。1.概述CAN(ControllerAreaNetwork)和CANFD(ControllerAreaNetworkFlexibleData-rate)是一種常用于汽車和工業(yè)領(lǐng)域的通信協(xié)議。CAN協(xié)議最初是由德國的博世公司(Bosch)在20世紀(jì)80年代開發(fā)的,旨在解決汽車電子設(shè)備之間的通信需求。它是一種高效可靠的串行通信協(xié)議,可支持在短距離上的高速數(shù)據(jù)傳輸。CAN協(xié)議以事件觸發(fā)的方式進(jìn)行通信,允許多個設(shè)備同時參與通信,并通過優(yōu)先級機(jī)制確保數(shù)據(jù)傳輸?shù)膶?shí)時性和可靠性。ClassicCAN,傳統(tǒng)CAN,有時也稱為經(jīng)典CAN或普通CAN。CAN協(xié)議的特點(diǎn)包括雙線制:CAN總線由CAN_H和CAN_L兩根傳輸線組成,用差分信號傳輸數(shù)據(jù),以提高抗干擾性能。沖突檢測與沖突解決:多個設(shè)備同時發(fā)送數(shù)據(jù)時,CAN協(xié)議能夠檢測到?jīng)_突并通過優(yōu)先級機(jī)制解決。幀格式簡單:CAN消息由ID、數(shù)據(jù)、控制位和CRC校驗(yàn)組成,具有較小的開銷和較高的數(shù)據(jù)傳輸效率。容錯能力強(qiáng):CAN協(xié)議使用位級錯誤檢測和錯誤恢復(fù)機(jī)制,能夠?qū)崿F(xiàn)高可靠性的數(shù)據(jù)傳輸。隨著汽車電子系統(tǒng)的發(fā)展和數(shù)據(jù)通信需求的增加,CANFD協(xié)議應(yīng)運(yùn)而生。CANFD在保持CAN協(xié)議基本特性的同時,增加了一些新的特性,主要是在數(shù)據(jù)傳輸速率和數(shù)據(jù)長度上的增強(qiáng)。相對于傳統(tǒng)的CAN協(xié)議,CANFD支持更高的數(shù)據(jù)傳輸速率(最高可達(dá)到8Mbps)和更大的數(shù)據(jù)長度(最多可傳輸64字節(jié)的數(shù)據(jù))。這使得CANFD能夠滿足對數(shù)據(jù)帶寬要求更高的應(yīng)用場景,如高級駕駛輔助系統(tǒng)(ADAS)和自動駕駛領(lǐng)域。CANFD協(xié)議是由Bosch以及行業(yè)專家預(yù)研開發(fā)的,并于2012年發(fā)布。通過標(biāo)準(zhǔn)化對其進(jìn)行了改進(jìn),現(xiàn)已納入ISO11898-1:2015。原始的BoschCANFD版本(非ISOCANFD)與ISOCANFD是不兼容。CANFD具有四個主要優(yōu)點(diǎn):增加了數(shù)據(jù)的長度:CANFD每個數(shù)據(jù)幀最多支持64個數(shù)據(jù)字節(jié),而傳統(tǒng)CAN最多支持8個數(shù)據(jù)字節(jié)。這減少了協(xié)議開銷,并提高了協(xié)議效率。增加傳輸?shù)乃俣龋篊ANFD支持雙比特率;與傳統(tǒng)CAN一樣,標(biāo)稱(仲裁)比特率限制為1Mbit/s,而數(shù)據(jù)比特率則取決于網(wǎng)絡(luò)拓?fù)?收發(fā)器。實(shí)際上,可以實(shí)現(xiàn)高達(dá)5Mbit/s的數(shù)據(jù)比特率(實(shí)際應(yīng)用中可以達(dá)到8Mbit/s,但沒有標(biāo)準(zhǔn))。更好的可靠性:CANFD使用改進(jìn)的循環(huán)冗余校驗(yàn)(CRC)和“受保護(hù)的填充位計(jì)數(shù)器”,從而降低了未被檢測到的錯誤的風(fēng)險。這在汽車和工業(yè)自動化等安全攸關(guān)的應(yīng)用中至關(guān)重要。平滑過渡:在一些特定的情況下CANFD能用在僅使用傳統(tǒng)CAN的ECU上,這樣就可以逐步引入CANFD節(jié)點(diǎn),從而為OEM簡化程序和降低成本。與傳統(tǒng)CAN相比,CANFD可以將網(wǎng)絡(luò)帶寬提高3到8倍,效率可從50%提升到90%,從而為數(shù)據(jù)的增長提供了一種簡單的解決方案。2.CAN協(xié)議2.1物理層與I2C、SPI等具有時鐘信號的同步通訊方式不同,CAN通訊并不是以時鐘信號來進(jìn)行同步的,它是一種異步通訊,只具有CAN_High和CAN_Low兩條信號線,共同構(gòu)成一組差分信號線,以差分信號的形式進(jìn)行通訊。CAN物理層的形式主要有兩種:閉環(huán)總線網(wǎng)絡(luò)和開環(huán)總線網(wǎng)絡(luò)。2.1.1閉環(huán)總線網(wǎng)絡(luò)如下所示的圖中的CAN通訊網(wǎng)絡(luò)是一種遵循ISO11898標(biāo)準(zhǔn)的高速、短距離“閉環(huán)網(wǎng)絡(luò)”,它的總線最大長度為40m,通信速度最高為1Mbps,總線的兩端各要求有一個“120歐”的電阻。2.1.2開環(huán)總線網(wǎng)絡(luò)如下所示的圖中的是遵循ISO11519-2標(biāo)準(zhǔn)的低速、遠(yuǎn)距離“開環(huán)網(wǎng)絡(luò)”,它的最大傳輸距離為1km,最高通訊速率為125kbps,兩根總線是獨(dú)立的、不形成閉環(huán),要求每根總線上各串聯(lián)有一個“2.2千歐”的電阻。2.1.3ISO11898(閉環(huán)總線網(wǎng)絡(luò))和11519-2(開環(huán)總線網(wǎng)絡(luò))協(xié)議的不同點(diǎn)ISO11898和ISO11519-2標(biāo)準(zhǔn)對于數(shù)據(jù)鏈路層的定義相同,但物理層不同。ISO11898是通信速度為125kbps-1Mbps的CAN高速通信標(biāo)準(zhǔn)。ISO11519是通信速度為125kbps以下的CAN低速通信標(biāo)準(zhǔn)。下圖描述了ISO11898和11519-2物理層的主要不同點(diǎn)。用戶需根據(jù)系統(tǒng)需要設(shè)定通信速度及總線長度。2.1.4CAN協(xié)議中的差分信號差分信號又稱差模信號,與傳統(tǒng)使用單根信號線電壓表示邏輯的方式有區(qū)別,使用差分信號傳輸時,需要兩根信號線,這兩個信號線的振幅相等,相位相反,通過兩根信號線的電壓差值來表示邏輯0和邏輯1。CAN協(xié)議中對它使用的CAN_High及CAN_Low表示的差分信號做了規(guī)定,CAN協(xié)議標(biāo)準(zhǔn)表示的信號邏輯參見下表。
以高速CAN協(xié)議為例,當(dāng)表示邏輯1時(隱性電平),CAN_High和CAN_Low線上的電壓均為2.5v,即它們的電壓差VH-VL=0V;而表示邏輯0時(顯性電平),CAN_High的電平為3.5V,CAN_Low線的電平為1.5V,即它們的電壓差為VH-VL=2V。例如,當(dāng)CAN收發(fā)器從CAN_Tx線接收到來自CAN控制器的低電平信號時(邏輯0),它會使CAN_High輸出3.5V,同時CAN_Low輸出1.5V,從而輸出顯性電平表示邏輯0。在CAN總線中,必須使它處于隱性電平(邏輯1)或顯性電平(邏輯0)中的其中一個狀態(tài)。假如有兩個CAN通訊節(jié)點(diǎn),在同一時間,一個輸出隱性電平,另一個輸出顯性電平,類似I2C總線的“線與”特性將使它處于顯性電平狀態(tài),顯性電平的名字就是這樣來的,即可以認(rèn)為顯性具有優(yōu)先的意味。由于CAN總線協(xié)議的物理層只有1對差分線,在一個時刻只能表示一個信號,所以對通訊節(jié)點(diǎn)來說,CAN通訊是半雙工的,收發(fā)數(shù)據(jù)需要分時進(jìn)行。在CAN的通訊網(wǎng)絡(luò)中,因?yàn)楣灿每偩€,在整個網(wǎng)絡(luò)中同一時刻只能有一個通訊節(jié)點(diǎn)發(fā)送信號,其余的節(jié)點(diǎn)在該時刻都只能接收。2.2協(xié)議層前文講述了CAN的物理層標(biāo)準(zhǔn),約定了電氣特性,以下介紹的協(xié)議層則規(guī)定了通訊邏輯。2.2.1幀的種類通信是通過以下5種類型的幀進(jìn)行的。?數(shù)據(jù)幀?遙控幀?錯誤幀?過載幀?幀間隔在這些幀當(dāng)中,數(shù)據(jù)幀和遙控幀由用戶設(shè)定,其他的幀由CAN的硬件部分完成。另外,數(shù)據(jù)幀和遙控幀有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種格式。標(biāo)準(zhǔn)格式有11位的ID,擴(kuò)展格式具有29位ID。各種幀的用途如下表所示。2.2.2數(shù)據(jù)幀數(shù)據(jù)幀把消息從發(fā)送單元傳到接收單元,是用戶使用的最基本的幀。數(shù)據(jù)幀由7個段構(gòu)成。(1)幀起始:表示數(shù)據(jù)幀開始。(2)仲裁段:表示該幀優(yōu)先級的段。(3)控制段:表示數(shù)據(jù)的字節(jié)數(shù)及保留位。(4)數(shù)據(jù)段:數(shù)據(jù)本身,可傳送0~8個字節(jié)。(5)CRC段:檢查幀的傳送錯誤的段。(6)ACK段:正常接收確認(rèn)段。(7)幀結(jié)束:表示數(shù)據(jù)幀結(jié)束。2.2.3遙控幀接收單元向發(fā)送單元請求消息所用的幀。遙控幀由6個段組成,也可以說是沒有數(shù)據(jù)段的數(shù)據(jù)幀。(1)幀起始(SOF):表示幀的開始。(2)仲裁段:表示該幀優(yōu)先級的段。請求具有同樣ID的數(shù)據(jù)幀。(3)控制段:表示所請求數(shù)據(jù)的字節(jié)數(shù)及保留位。(4)CRC段:檢查幀的傳送錯誤的段。(5)ACK段:正常接收確認(rèn)段。(6)幀結(jié)束:表示遙控幀結(jié)束。關(guān)于遙控幀和數(shù)據(jù)幀:?數(shù)據(jù)幀和遙控幀有何不同遙控幀沒有數(shù)據(jù)段,仲裁段的RTR位為隱性電平。沒有數(shù)據(jù)段的數(shù)據(jù)幀和遙控幀可通過RTR位區(qū)別開來。?遙控幀沒有數(shù)據(jù)段,數(shù)據(jù)長度碼該如何表示?遙控幀的數(shù)據(jù)長度碼以所請求數(shù)據(jù)幀的數(shù)據(jù)長度碼表示。?沒有數(shù)據(jù)段的數(shù)據(jù)幀有何用途?可用于各單元的定期連接確認(rèn)/應(yīng)答、或仲裁段本身帶有實(shí)質(zhì)性信息的情況下。2.2.4錯誤幀在收發(fā)信中發(fā)現(xiàn)錯誤時用于通知錯誤的幀。錯誤幀由錯誤標(biāo)志和錯誤間隔符構(gòu)成,錯誤幀的發(fā)送是由CAN的硬件部分來完成的。(1)錯誤標(biāo)志:錯誤標(biāo)志包括有效錯誤標(biāo)志和無效錯誤標(biāo)志兩種。?有效錯誤標(biāo)志:6位顯性電平。?無效錯誤標(biāo)志:6位隱性電平。(2)錯誤間隔符:錯誤間隔符由8位隱性電平構(gòu)成。注1.有效錯誤標(biāo)志:處于錯誤有效態(tài)的單元檢出錯誤時傳送的錯誤標(biāo)志。2.無效錯誤標(biāo)志:處于錯誤無效態(tài)的單元檢出錯誤時傳送的錯誤標(biāo)志。3.錯誤標(biāo)志的重合:由連接到總線上的各單元的錯誤檢出時間不同,錯誤標(biāo)志會發(fā)生重合,最長可延續(xù)到12位。2.2.5過載幀過載幀是用于接收單元通知其尚未完成準(zhǔn)備所用的幀。過載幀由過載標(biāo)志和過載間隔符構(gòu)成。(1)過載標(biāo)志:6位顯性電平。過載標(biāo)志的構(gòu)成與有效錯誤標(biāo)志的構(gòu)成相同。(2)過載間隔符:8個隱性位。過載間隔符的構(gòu)成與錯誤間隔符的構(gòu)成相同。注1.過載幀的重合:與錯誤標(biāo)志一樣依據(jù)發(fā)生時序不同過載標(biāo)志也會發(fā)生重合,最長可延遲到12位。2.2.6幀間隔幀間隔用于分隔數(shù)據(jù)幀或遙控幀。數(shù)據(jù)幀或遙控幀前插入幀間隔可將本幀與前面發(fā)送的任何幀(數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀)分開。但是,過載幀和錯誤幀前不能插入幀間隔。(1)間隔:3位隱性電平。在“間隔”期檢測到顯性電平時,一定要發(fā)送過載幀。然而,在間隔期的第3位出現(xiàn)的顯性電平被認(rèn)為是SOF,此時不發(fā)送過載幀。(2)總線空閑:隱性電平,無長度限制(0位亦可)。本狀態(tài)為總線處于空閑中,要發(fā)送的單元可開始發(fā)送消息。(3)延遲傳送(發(fā)送暫時停止):8個隱性電平。處于錯誤無效態(tài)的單元在發(fā)送完一個消息后的幀間隔中必須包含的段。2.2.7優(yōu)先級的仲裁在總線空閑態(tài),最先開始發(fā)送消息的單元獲得通信權(quán)。多個單元同時開始傳送時,各發(fā)送單元從仲裁段的第一位開始進(jìn)行仲裁。位電平第一次出現(xiàn)不同而且位電平為顯性的單元獲得通信權(quán)發(fā)送。仲裁失敗的單元在下一個位開始進(jìn)入接收狀態(tài)。仲裁的過程如下圖所示:(1)數(shù)據(jù)幀和遙控幀的優(yōu)先級具有同樣ID的數(shù)據(jù)幀和遙控幀在總線上競爭時,仲裁段的最后一位(RTR)為顯性電平的數(shù)據(jù)幀具有優(yōu)先權(quán),可繼續(xù)通信。(2)標(biāo)準(zhǔn)格式和擴(kuò)展格式的優(yōu)先級具有相同基本ID的標(biāo)準(zhǔn)格式與擴(kuò)展格式的數(shù)據(jù)幀或遙控幀在總線上競爭時,由于標(biāo)準(zhǔn)格式的RTR位為顯性電平,具有更高的優(yōu)先權(quán),可進(jìn)行發(fā)送。2.2.8錯誤的種類錯誤共有5種。有時數(shù)種錯誤同時發(fā)生。?位錯誤?填充錯誤?CRC錯誤?格式錯誤?ACK錯誤錯誤的種類、錯誤的內(nèi)容、出錯的幀和檢出錯誤的單元如下表所示。2.2.9位時序一個位可分為4段。?同步段(SS:SynchronizationSegment)?傳播時間段(PTS:PropagationTimeSegment)?相位緩沖段1(PBS1:PhaseBufferSegment1)?相位緩沖段2(PBS2:PhaseBufferSegment2)這些段由最小時間單位Tq(TimeQuantum)構(gòu)成。消息中的1位被分為4個段,每個段又由若干個Tq構(gòu)成,這稱為位時序。消息中的1位由多少個Tq構(gòu)成、每個段又由多少個Tq構(gòu)成、這些是可以任意設(shè)定的。通過設(shè)定位時序,總線上數(shù)個單元可以以相同的時序?qū)ο⒉蓸樱梢栽O(shè)定采樣點(diǎn)。采樣點(diǎn)設(shè)置在PBS1的結(jié)束處,以此時檢測到的總線上的電平值作為該位的電平值。各段的用途和Tq數(shù)如下表所示。1位的構(gòu)成如下圖所示。2.2.10取得同步的方法CAN協(xié)議的通信方法為非歸零NRZ(Non-ReturntoZero)方式。每個位上沒有開始或終了的同步信號。發(fā)送單元以與位時序同步的方式開始發(fā)送數(shù)據(jù)。接收單元根據(jù)總線上電平的變化進(jìn)行同步接收信號。但是,發(fā)送單元和接收單元存在的時鐘頻率誤差及傳送路徑上的(電纜、驅(qū)動器等)相位延遲會引起同步偏差。因此接收單元通過強(qiáng)制同步、再同步的方法調(diào)整時序進(jìn)行接收。2.2.11強(qiáng)制同步接收單元在總線空閑狀態(tài)檢出幀起始時進(jìn)行的同步調(diào)整。檢出從隱性電平到顯性電平的邊沿時被認(rèn)為是SS段,與SJW無關(guān)。2.2.12再同步在接收過程中根據(jù)總線上的電平變化進(jìn)行的同步。檢出邊沿(總線上的電平跳變)時,對照誤差值并且根據(jù)SJW值延長PBS1段,或縮短PBS2段,以配合同步。但如果發(fā)生了超出SJW值的誤差,按照SJW值作修正。2.2.13同步規(guī)則強(qiáng)制同步和再同步遵從如下規(guī)則。(1)1位中只進(jìn)行一次同步調(diào)整(兩次采樣點(diǎn)間)。(2)只有當(dāng)邊沿后的總線電平與邊沿前一個總線采樣值不同時,該沿才能用于同步。(3)一旦檢測到隱性電平到顯性電平的邊沿,如果滿足條件(1)、(2)須進(jìn)行同步。(4)幀間隔(“間隔”的第1位除去)中檢測到隱性電平到顯性電平的邊沿時,須進(jìn)行強(qiáng)制同步。(5)其他所有的隱性電平到顯性電平的邊沿,須進(jìn)行再同步。(6)發(fā)送單元觀測到自身輸出的顯性電平有延遲時不進(jìn)行再同步。2.3CANFD框架CANFD可以理解成CAN協(xié)議的升級版,只升級了協(xié)議,物理層未改變。CANFD協(xié)議引入了經(jīng)過調(diào)整的CAN數(shù)據(jù)幀,以實(shí)現(xiàn)額外的數(shù)據(jù)字節(jié)和靈活的比特率。下面我們比較一個11位的傳統(tǒng)CAN幀與一個11位的CANFD幀(同時也支持29位):下面我們一步一步地討論這些差異:RTR與r1(RRS):傳統(tǒng)CAN中使用了遠(yuǎn)程傳輸請求RemoteTransmissionRequest(RTR)來識別數(shù)據(jù)幀和相應(yīng)的遠(yuǎn)程幀。但在CANFD中,不支持遠(yuǎn)程幀,遠(yuǎn)程請求替換(r1)始終是顯性(0)。在CAN-FD幀中,在控制字段中添加了三個新位(FDF、BRS、ESI位):?擴(kuò)展數(shù)據(jù)長度ExtendedDataLength
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)互聯(lián)網(wǎng)平臺NFV在智能城市公共設(shè)施管理中的應(yīng)用實(shí)踐報告
- 朔州國防教育娃娃兵課件
- 深度解讀2025年能源行業(yè)智能電網(wǎng)優(yōu)化在數(shù)字化轉(zhuǎn)型中的能源消費(fèi)結(jié)構(gòu)優(yōu)化報告
- 2025年冷鏈物流企業(yè)間戰(zhàn)略合作合同范本
- 2025年OracleERP系統(tǒng)修復(fù)與信息安全應(yīng)急預(yù)案合同
- 2025年個人信用卡透支還款合同爭議解決機(jī)制文本
- 2025年度環(huán)保型出口貨物定制包裝箱采購協(xié)議
- 2025年新型城鎮(zhèn)化補(bǔ)償貿(mào)易與文化產(chǎn)業(yè)發(fā)展合作合同
- 茶葉企業(yè)年度廣告策略定制與執(zhí)行服務(wù)合同
- 2025年線上線下聯(lián)動直播帶貨活動合作協(xié)議書
- DB11-T 2423-2025 城市道路挖掘與修復(fù)技術(shù)規(guī)范
- 2025至2030全球及中國醫(yī)學(xué)教育行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報告
- 2025年國家網(wǎng)絡(luò)安全宣傳周知識競賽考試題庫
- 測聽講課的課件
- 鄉(xiāng)鎮(zhèn)物業(yè)安全管理制度
- 起重作業(yè)安全考核試題及答案
- 高等教育十五五發(fā)展規(guī)劃
- 關(guān)于醫(yī)院“十五五”發(fā)展規(guī)劃(范本)
- 倉管員安全培訓(xùn)課件
- 鐵路信號設(shè)計(jì)與施工電纜接續(xù)流程及方法55課件
- GB/T 45626-2025信息技術(shù)裝備數(shù)字孿生系統(tǒng)通用要求
評論
0/150
提交評論