CAN報文的傳送和幀結構_第1頁
CAN報文的傳送和幀結構_第2頁
CAN報文的傳送和幀結構_第3頁
CAN報文的傳送和幀結構_第4頁
CAN報文的傳送和幀結構_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、9.2.2 CAN報文的傳送和幀結構 在進行數(shù)據傳送時,發(fā)出報文的節(jié)點為該報文的發(fā)送器。該節(jié)點在總線空閑或丟失仲裁前恒為發(fā)送器,如果一個節(jié)點不是報文發(fā)送器,并且總線不處于空閑狀態(tài),則該節(jié)點為接收器。構成一幀的幀起始、仲裁場、控制場、數(shù)據場和CRC序列均借助位填充規(guī)則進行編碼。當發(fā)送器在發(fā)送的位流中檢測到5位連續(xù)的相同數(shù)值時,將自動在實際發(fā)送的位流中插入一個補碼位。而數(shù)據幀和遠程幀的其余位場則采用固定格式,不進行填充,出錯幀和超載幀同樣是固定格式。報文中的位流是按照非歸零(NZR)碼方法編碼的,因此一個完整的位電平要么是顯性,要么是隱性。在“隱性”狀態(tài)下, CAN總線輸出差分電壓Vdiff=Vc

2、anh-Vcanl近似為零,在“顯性”狀態(tài)下,以大于最小閾值的差分電壓表示,如圖9.2所示。在總線空閑或“隱性”位期間,發(fā)送“隱性”狀態(tài)。在“顯性”位期間,“隱性”狀態(tài)改寫為“顯性”狀態(tài)。CAN有兩種不同的幀格式,不同之處為識別符場的長度不同:具有11位識別符的幀稱之為標準幀;而含有29位識別符的幀為擴展幀。CAN報文有以下4個不同的幀類型:l 數(shù)據幀:數(shù)據幀將數(shù)據從發(fā)送器傳輸?shù)浇邮掌鳌 遠程幀:總線節(jié)點發(fā)出遠程幀,請求發(fā)送具有同一識別符的數(shù)據幀。l 錯誤幀:任何節(jié)點檢測到總線錯誤就發(fā)出錯誤幀。l 過載幀:過載幀用以在先行的和后續(xù)的數(shù)據幀(或遠程幀)之間提供一附加的延時。數(shù)據幀和遠程幀可以使

3、用標準幀及擴展幀兩種格式。它們用一個幀間空間與前面的幀分隔。1.數(shù)據幀數(shù)據幀由7個不同的位場組成:幀起始(Start of Frame)、仲裁場(Arbitration Frame)、控制場(Control Frame)、數(shù)據場(Data Frame)、CRC場(CRC Frame)、應答場(ACK Frame)、幀結尾(End of Frame)。數(shù)據場的長度為0到8位。報文的數(shù)據幀一般結構如圖9.3所示。在CAN2.0B中存在兩種不同的幀格式,其主要區(qū)別在標識符的長度,在標準幀格式里,仲裁場由11位識別符和遠程請求位(RTR)組成。如圖9.4所示。在擴展幀格式里,仲裁場包括29位識別符、替

4、代遠程請求位(SRR)、識別符擴展位(IDE)和RTR位。如圖9.5所示。擴展格式是CAN協(xié)議的一個新特色。為了使控制器的設計相對地簡單,不要求執(zhí)行完全的擴展格式,但必須完全支持標準格式。新的控制器至少應具有以下屬性,才被認為是符合CAN規(guī)范:l 每一新的控制器支持標準格式;l 每一新的控制器可以接收擴展格式的報文,不能因為格式差別而破壞擴展幀格式。 下面具體分析數(shù)據幀的每一個位場。(1)幀起始幀起始(SOF)標志數(shù)據幀或遠程幀的開始,僅由一個“顯性”位組成。只有在總線空閑時才允許節(jié)點開始發(fā)送(信號)。所有節(jié)點必須同步于首先開始發(fā)送報文的節(jié)點的幀起始前沿,如圖9.3所示。(2)仲裁場仲裁場由標

5、識符和遠程發(fā)送請求位(RTR位)組成。RTR位在數(shù)據幀中為顯性,在遠程幀中為隱性。對于CAN2.0A標準,標識符長度為11位,這些位按ID.10到ID.0的順序發(fā)送,最低位是ID0, 7個最高位(ID.10-ID.4)必須不能全是“隱性”,如圖9.6所示。對于CAN2.0B標準,標準格式幀與擴展格式幀的仲裁場標識符格式不同。標準格式里,仲裁場由11位識別符和RTR位組成。識別符位由ID.28ID.18組成。如圖9.4所示。而在擴展格式里,仲裁場包括29位識別符、替代遠程請求位SRR、標識位IDE、遠程發(fā)送請求位RTR。其識別符由ID-28ID-0組成,其格式包含兩個部分:11位(ID.28ID

6、.18)基本ID、18位(ID.17ID.0)擴展ID。如圖9.5所示,擴展格式里,基本ID首先發(fā)送,其次是SRR位和IDE位。擴展ID的發(fā)送位于SRR位和IDE位之后。SRR的全稱是“替代遠程請求位(Substitute Remote Request BIT)”,SRR是一隱性位。它在擴展格式的標準幀RTR位上被發(fā)送,并代替標準幀的RTR位。因此,如果擴展幀的基本ID和標準幀的識別符相同,標準幀與擴展幀的沖突是通過標準幀優(yōu)先于擴展幀這一途徑得以解決的。IDE的全稱是“識別符擴展位(Identifier Extension Bit)”,對于擴展格式,IDE位屬于仲裁場;對于標準格式,IDE位屬

7、于控制場。標準格式的IDE位為“顯性”,而擴展格式的IDE位為“隱性”。(3)控制場控制場由6個位組成,其結構如圖9.7所示。標準格式和擴展格式的控制場格式不同。標準格式里的幀包括數(shù)據長度代碼、IDE位(為顯性位,見上文)及保留位r0。擴展格式里的幀包括數(shù)據長度代碼和兩個保留位:r1和r0。其保留位必須發(fā)送為顯性,但是接收器認可“顯性”和“隱性”位的任何組合。數(shù)據長度代碼(標準格式以及擴展格式)DLC,如表9.1所示。 表9.1數(shù)據幀長度代碼DLC數(shù)據字節(jié)的數(shù)目數(shù)據長度代碼DLC3DLC2DLC1DLC0012345678ddddddddrddddrrrrdddrrddrrddrdrdrdrd

8、數(shù)據長度代碼指示了數(shù)據場里的字節(jié)數(shù)量。其中:d“顯性”, r“隱性”,數(shù)據幀允許的數(shù)據字節(jié)數(shù)為0,1,7,8。其他的數(shù)值不允許使用。(4)數(shù)據場數(shù)據場由數(shù)據幀里的發(fā)送數(shù)據組成。它可以為08個字節(jié),每字節(jié)包含了8個位,首先發(fā)送最高有效位。(5)循環(huán)冗余碼CRC場CRC場包括CRC序列(CRC Sequence),其后是CRC界定符(CRC Delimiter),如圖9.8所示。 CRC序列(適合標準格式和擴展格式)CRC序列由循環(huán)冗余碼求得的幀檢查序列組成,最適用于位數(shù)低于127的幀。為進行CRC計算,被除的多項式系數(shù)由無填充位流給定。組成這些位流的成分是:幀起始、仲裁場、控制場、數(shù)據場(假如有

9、的話),而15個最低位的系數(shù)是0。將此多項式被下列多項式發(fā)生器除(其系數(shù)以2為模):X15+X14+X10+X8+X7+X4+X3+1這個多項式除法的余數(shù)就是發(fā)送到總線上的CRC序列。為了實現(xiàn)這個功能,可以使用15位的位移寄存器CRC_RG(14:0)。如果NXTBIT指示位流的下一位,那么從幀的起始到數(shù)據場末尾都由沒有填充的位順序給定。CRC序列的計算如下:CRC_RG=0; /初始化移位寄存器REPEATCRCNXT=NXTBIT EXOR CRC_RG(14);CRC_RG(14:1)=CRC_RG(13:0); /寄存器左移一位CRC_RG(0)=0;IF CRCNXT THENCRC

10、_RG(14:0)CRC_RG(14:0)EXOR(4599H);END IFUNTIL(CRC序列起始或有一錯誤條件) CRC界定符(標準格式以及擴展格式)CRC序列之后是CRC界定符,它包含一個單獨的“隱性”位。(6)應答場(ACK Field)應答場長度為2個位,包含應答間隙(ACK Slot)和應答界定符(ACK Delimiter),如圖9.9所示。在ACK場(應答場)里,發(fā)送節(jié)點發(fā)送兩個“隱性”位。當接收器正確地接收到有效的報文,接收器就會在應答間隙(ACK Slot)期間向發(fā)送器發(fā)送一“顯性”位以示應答。 應答間隙所有接收到匹配CRC序列(CRC Sequence)的節(jié)點會在應答

11、間隙(ACK Slot)期間用一“顯性”的位寫入發(fā)送器的“隱性”位來做出回答。 應答界定符應答界定符是應答場的第二個位,并且是一個必須為“隱性”的位。因此,應答間隙(ACK Slot)被兩個“隱性”的位所包圍,也就是CRC界定符(CRC Delimiter)和應答界定符(ACK Delimiter)。(7)幀結尾(標準格式以及擴展格式)每一個數(shù)據幀和遠程幀均由一標志序列界定。這個標志序列由7個“隱性”位組成。2.遠程幀作為接收器的節(jié)點,可以通過向相應的數(shù)據源節(jié)點發(fā)送遠程幀激活該源節(jié)點,讓該源節(jié)點把數(shù)據發(fā)送給接收器。遠程幀也有標準格式和擴展格式,而且都由6個不同的位場組成:幀起始、仲裁場、控制場

12、、CRC場、應答場、幀結尾。與數(shù)據幀相反,遠程幀的RTR位是“隱性”的。它沒有數(shù)據場,數(shù)據長度代碼DLC的數(shù)值是不受制約的(可以標注為容許范圍8里的任何數(shù)值),此數(shù)值是相應于數(shù)據幀的數(shù)據長度代碼。遠程幀結構如圖9.10所示。3.錯誤幀錯誤幀由兩個不同的場組成,如圖9.11所示。第一個場是不同節(jié)點提供的錯誤標志(Error Flag)的疊加,第二個場是錯誤界定符。為了能正確地終止錯誤幀,“錯誤認可”的節(jié)點要求總線至少有長度為3個位時間的總線空閑(如果“錯誤認可”的接收器有局部錯誤的話)。因此,總線的載荷不應為100%。(1)錯誤標志有兩種形式的錯誤標志:激活錯誤標志和認可錯誤標志(有的文獻譯為:

13、“主動”和“被動”錯誤標志或“活動”和“認可” 錯誤標志)。l “激活錯誤”標志由6個連續(xù)的“顯性”位組成。l “認可錯誤”標志由6個連續(xù)的“隱性”的位組成,除非被其他節(jié)點的“顯性”位重寫。檢測到錯誤條件的“錯誤激活”的節(jié)點通過發(fā)送“激活錯誤”標志指示錯誤。錯誤標志的格式破壞了從幀起始到CRC界定符的位填充規(guī)則(參見“編碼”),或者破壞了ACK場或幀結尾場的固定格式。所有其他的節(jié)點由此檢測到錯誤條件,并與此同時開始發(fā)送錯誤標志。所形成的“顯性”位序列就是把各個節(jié)點發(fā)送的不同的錯誤標志疊加在一起的結果,這個序列的總長度最小為6個位,最大為12個位。檢測到錯誤條件的“錯誤認可”的節(jié)點通過發(fā)送“認可

14、錯誤”標志指示錯誤,“錯誤認可”的節(jié)點等待6個相同極性的連續(xù)位,當這6個相同的位被檢測到時,“認可錯誤”標志的發(fā)送就完成。(2)錯誤界定符錯誤界定符包括8個“隱性”的位。錯誤標志傳送了以后,每一個節(jié)點就發(fā)送一個“隱性”的位,并一直監(jiān)視總線直到檢測出一個“隱性”的位為止,然后就開始發(fā)送其余7個“隱性”位。4.過載幀過載幀(Overload Frame)包括兩個位場:過載標志和過載界定符,其結構如圖9.12所示。有三種過載的情況會引發(fā)過載標志的傳送:l 接收器的內部情況,需要延遲下一個數(shù)據幀和遠程幀。l 在間歇(Intermission)的第一和第二字節(jié)檢測到一個“顯性”位。l 如果CAN節(jié)點在錯

15、誤界定符或過載界定符的第8位(最后一位)采樣到一個顯性位,節(jié)點會發(fā)送一個過載幀。該幀不是錯誤幀,錯誤計數(shù)器不會增加。根據過載情況1而引發(fā)的過載幀只允許起始于所期望的間歇的第一個位時間,而根據情況2和情況3引發(fā)的過載幀應起始于所檢測到“顯性”位之后的位。通常為了延時下一個數(shù)據幀或遠程幀,兩種過載幀均可產生。(1)過載標志(Overload Flag)過載標志由6個“顯性”的位組成。過載標志的所有形式和“激活錯誤”標志的一樣。過載標志的格式破壞了間歇場的固定格式。因此,所有其他的節(jié)點都檢測到過載條件并與此同時發(fā)出過載標志。如果有的節(jié)點在間歇的第3個位期間檢測到“顯性”位,則這個位將解釋為幀的起始。

16、(2)過載界定符(Overload Delimiter)過載界定符包括8個“隱性”的位。過載界定符的形式和錯誤界定符的形式一樣。過載標志被傳送后,節(jié)點就一直監(jiān)視總線直到檢測到一個從“顯性”位到“隱性”位的跳變。此時,總線上的每一個節(jié)點完成了過載標志的發(fā)送,并開始同時發(fā)送其余7個“隱性”位。5.幀間空間數(shù)據幀(或遠程幀)與先行幀的隔離是通過幀間空間實現(xiàn)的,無論此先行幀類型如何(數(shù)據幀、遠程幀、錯誤幀、過載幀)。所不同的是,過載幀與錯誤幀之前沒有幀間空間,多個過載幀之間也不是由幀間空間隔離的。幀間空間包括間歇、總線空閑的位場。如果“錯誤認可”的節(jié)點已作為前一報文的發(fā)送器,則其幀間空間除了間歇、總線空閑外,還包括稱作“掛起傳送”(暫停發(fā)送)(Suspend Transmission)的位場。對于不是“錯誤認可”的節(jié)點,或作為前一報文的接收器的節(jié)點,其幀間空間如圖9.13所示:(1)間歇(Intermission)間歇包括3個“隱性”的位。間歇期間,所有的節(jié)點均不允許傳送數(shù)據幀或遠程幀,唯一要做的是標示一個過載條件。如果CAN節(jié)點有一報文等待發(fā)送并且節(jié)點在間歇的第三位采集到一顯性位,則此位被解釋為幀的起始位,并從下一位開始發(fā)送報文的標識符首位,而不用首

溫馨提示

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

評論

0/150

提交評論