CAN報文的傳送和幀結構

2022-08-22 14:30:05 字數 4008 閱讀 4721

9.2.2 can報文的傳送和幀結構

在進行資料傳送時,發出報文的節點為該報文的傳送器。該節點在匯流排空閒或丟失仲裁前恒為傳送器,如果乙個節點不是報文傳送器,並且匯流排不處於空閒狀態,則該節點為接收器。

構成一幀的幀起始、仲裁場、控制場、資料場和crc序列均借助位填充規則進行編碼。當傳送器在傳送的位流中檢測到5位連續的相同數值時,將自動在實際傳送的位流中插入乙個補碼位。而資料幀和遠端幀的其餘位場則採用固定格式,不進行填充,出錯幀和超載幀同樣是固定格式。

報文中的位流是按照非歸零(nzr)碼方法編碼的,因此乙個完整的位電平要麼是顯性,要麼是隱性。

在「隱性」狀態下, can匯流排輸出差分電壓vdiff=vcanh-vcanl近似為零,在「顯性」狀態下,以大於最小閾值的差分電壓表示,如圖9.2所示。在匯流排空閒或「隱性」位期間,傳送「隱性」狀態。

在「顯性」位期間,「隱性」狀態改寫為「顯性」狀態。

can有兩種不同的幀格式,不同之處為識別符場的長度不同:具有11位識別符的幀稱之為標準幀;而含有29位識別符的幀為擴充套件幀。can報文有以下4個不同的幀型別:

● 資料幀:資料幀將資料從傳送器傳輸到接收器。

● 遠端幀:匯流排節點發出遠端幀,請求傳送具有同一識別符的資料幀。

● 錯誤幀:任何節點檢測到匯流排錯誤就發出錯誤幀。

● 過載幀:過載幀用以在先行的和後續的資料幀(或遠端幀)之間提供一附加的延時。

資料幀和遠端幀可以使用標準幀及擴充套件幀兩種格式。它們用乙個幀間空間與前面的幀分隔。

1.資料幀

資料幀由7個不同的位場組成:幀起始(start of frame)、仲裁場(arbitration frame)、控制場(control frame)、資料場(data frame)、crc場(crc frame)、應答場(ack frame)、幀結尾(end of frame)。資料場的長度為0到8位。

報文的資料幀一般結構如圖9.3所示。

在can2.0b中存在兩種不同的幀格式,其主要區別在識別符號的長度,在標準幀格式裡,仲裁場由11位識別符和遠端請求位(rtr)組成。如圖9.

4所示。在擴充套件幀格式裡,仲裁場包括29位識別符、替代遠端請求位(srr)、識別符擴充套件位(ide)和rtr位。如圖9.

5所示。

擴充套件格式是can協議的乙個新特色。為了使控制器的設計相對地簡單,不要求執行完全的擴充套件格式,但必須完全支援標準格式。新的控制器至少應具有以下屬性,才被認為是符合can規範:

● 每一新的控制器支援標準格式;

● 每一新的控制器可以接收擴充套件格式的報文,不能因為格式差別而破壞擴充套件幀格式。

下面具體分析資料幀的每乙個位場。

(1)幀起始

幀起始(sof)標誌資料幀或遠端幀的開始,僅由乙個「顯性」位組成。只有在匯流排空閒時才允許節點開始傳送(訊號)。所有節點必須同步於首先開始傳送報文的節點的幀起始前沿,如圖9.

3所示。

(2)仲裁場

仲裁場由識別符號和遠端傳送請求位(rtr位)組成。rtr位在資料幀中為顯性,在遠端幀中為隱性。

對於can2.0a標準,識別符號長度為11位,這些位按id.10到id.

0的順序傳送,最低位是id0, 7個最高位(id.10-id.4)必須不能全是「隱性」,如圖9.

6所示。

對於can2.0b標準,標準格式幀與擴充套件格式幀的仲裁場識別符號格式不同。標準格式裡,仲裁場由11位識別符和rtr位組成。

識別符位由id.28…id.18組成。

如圖9.4所示。而在擴充套件格式裡,仲裁場包括29位識別符、替代遠端請求位srr、標識位ide、遠端傳送請求位rtr。

其識別符由id-28…id-0組成,其格式包含兩個部分:11位(id.28…id.

18)基本id、18位(id.17…id.0)擴充套件id。

如圖9.5所示,擴充套件格式裡,基本id首先傳送,其次是srr位和ide位。擴充套件id的傳送位於srr位和ide位之後。

srr的全稱是「替代遠端請求位(substitute remote request bit)」,srr是一隱性位。它在擴充套件格式的標準幀rtr位上被傳送,並代替標準幀的rtr位。因此,如果擴充套件幀的基本id和標準幀的識別符相同,標準幀與擴充套件幀的衝突是通過標準幀優先於擴充套件幀這一途徑得以解決的。

ide的全稱是「識別符擴充套件位(identifier extension bit)」,對於擴充套件格式,ide位屬於仲裁場;對於標準格式,ide位屬於控制場。標準格式的ide位為「顯性」,而擴充套件格式的ide位為「隱性」。

(3)控制場

控制場由6個位組成,其結構如圖9.7所示。標準格式和擴充套件格式的控制場格式不同。

標準格式裡的幀包括資料長度**、ide位(為顯性位,見上文)及保留位r0。擴充套件格式裡的幀包括資料長度**和兩個保留位:r1和r0。

其保留位必須傳送為顯性,但是接收器認可「顯性」和「隱性」位的任何組合。

資料長度**(標準格式以及擴充套件格式)dlc,如表9.1所示。

表9.1資料幀長度**dlc

資料長度**指示了資料場裡的位元組數量。其中:d—「顯性」, r—「隱性」,資料幀允許的資料位元組數為。其他的數值不允許使用。

(4)資料場

資料場由資料幀裡的傳送資料組成。它可以為0~8個位元組,每位元組包含了8個位,首先傳送最高有效位。

(5)迴圈冗餘碼crc場

crc場包括crc序列(crc sequence),其後是crc界定符(crc delimiter),如圖9.8所示。

① crc序列(適合標準格式和擴充套件格式)

crc序列由迴圈冗餘碼求得的幀檢查序列組成,最適用於位數低於127的幀。為進行crc計算,被除的多項式係數由無填充位流給定。組成這些位流的成分是:

幀起始、仲裁場、控制場、資料場(假如有的話),而15個最低位的係數是0。將此多項式被下列多項式發生器除(其係數以2為模):

x15+x14+x10+x8+x7+x4+x3+1

這個多項式除法的餘數就是傳送到匯流排上的crc序列。為了實現這個功能,可以使用15位的位移暫存器—crc_rg(14:0)。

如果nxtbit指示位流的下一位,那麼從幀的起始到資料場末尾都由沒有填充的位順序給定。crc序列的計算如下:

crc_rg=0初始化移位暫存器

repeat

crcnxt=nxtbit exor crc_rg(14);

crc_rg(14:1)=crc_rg(13:0); //暫存器左移一位

crc_rg(0)=0;

if crcnxt then

crc_rg(14:0)=crc_rg(14:0)exor(4599h);

end if

until(crc序列起始或有一錯誤條件)

② crc界定符(標準格式以及擴充套件格式)

crc序列之後是crc界定符,它包含乙個單獨的「隱性」位。

(6)應答場(ack field)

應答場長度為2個位,包含應答間隙(ack slot)和應答界定符(ack delimiter),如圖9.9所示。在ack場(應答場)裡,傳送節點傳送兩個「隱性」位。

當接收器正確地接收到有效的報文,接收器就會在應答間隙(ack slot)期間向傳送器傳送一「顯性」位以示應答。

① 應答間隙

所有接收到匹配crc序列(crc sequence)的節點會在應答間隙(ack slot)期間用一「顯性」的位寫入傳送器的「隱性」位來做出回答。

② 應答界定符

應答界定符是應答場的第二個位,並且是乙個必須為「隱性」的位。因此,應答間隙(ack slot)被兩個「隱性」的位所包圍,也就是crc界定符(crc delimiter)和應答界定符(ack delimiter)。

(7)幀結尾(標準格式以及擴充套件格式)

每乙個資料幀和遠端幀均由一標誌序列界定。這個標誌序列由7個「隱性」位組成。

2.遠端幀

作為接收器的節點,可以通過向相應的資料來源節點傳送遠端幀啟用該源節點,讓該源節點把資料傳送給接收器。遠端幀也有標準格式和擴充套件格式,而且都由6個不同的位場組成:幀起始、仲裁場、控制場、crc場、應答場、幀結尾。

與資料幀相反,遠端幀的rtr位是「隱性」的。它沒有資料場,資料長度**dlc的數值是不受制約的(可以標註為容許範圍0~8裡的任何數值),此數值是相應於資料幀的資料長度**。遠端幀結構如圖9.

10所示。

Can和may的用法

can的用法 一 表能力,有 能,會,能夠 的意思。例如 can you drive a car?你會開車嗎?yes,i can.我會。no,i can t.我不會。二 表允許,在口語中代替may,有 可以 的意思。見下面may的用法第四點 三 表示可能性,常用於否定句和疑問句。例如 can it ...

賬戶的用途和結構

什麼是賬戶的用途和結構?帳戶按用途和結構可分為哪幾類?每類的含義和特點是什 懸賞分 20 解決時間 2009 1 3 20 19 會計一道題,麻煩幫忙解一下 最佳答案 賬戶按照用途和結構可以分為盤存類賬戶 結算類賬戶 跨期攤配類賬戶 資本類賬戶 調整類賬戶 集合分配類賬戶 成本計算類賬戶 集合配比類...

橋的形狀和結構

教材分析 橋的形狀和結構 是教科版小學科學六上 形狀與結構 單元的第7課。教材安排了以下幾個活動 1.觀察比較各式各樣的拱橋。2.了解大跨度的鋼索橋。3.觀察研究我們家鄉的橋 橋的形狀結構明顯外露,容易觀察研究。橋的形狀結構變化反映了人類科學技術的進步和發展。本課的活動設計意在帶領學生了解多種多樣的...