CAN總線學習系列之五——CAN協議簡單介紹
一報文傳送由以下四種幀類型
1數據幀:數據幀攜帶數據從發送器至接收器。
2遠程幀:總線單元發出遠程幀,請求發送具有同一識別符的數據幀。
3錯誤幀:任何單元檢測到一總線錯誤時就發送錯誤幀。
4超載幀: 用來在先行的和后續的數據幀(或遠程幀)之間提供一附加的延時。
二幀格式介紹
1數據幀
數據幀由7個不同的位場組成,即幀起始、仲裁場、控制場、數據場、CRC場、應答場、幀結束。
2遠程幀
遠程幀由6個不同的位場組成,即幀起始、仲裁場、控制場、CRC場、應答場、幀結束。
3錯誤幀
錯誤幀由兩個不同的場組成。第一個場是錯誤標志,用做為不同站提供錯誤標志的疊加;第二個場是錯誤界定符。
4超載幀
超載幀包括兩個位場:超載標志和超載界定符。
三幀格式中重點部分介紹
1幀起始
幀起始標志數據幀和遠程幀的起始,由一個單獨的“顯性”位組成。由控制芯片完成。
2仲裁場
仲裁場包括標識符和遠程發送請求位(RTR)。
對于CAN2.0A標準,標識符的長度為11位。RTR位在數據幀中必須是顯性位,而在遠程幀必須為隱性位。
對于CAN2.0,標準格式和擴展格式的仲裁場不同。在標準格式中,仲裁場由11位標識符和遠程發送請求位組成。在擴展格式中,仲裁場由29位標識符和替代遠程請求位(SRR)、標志位(IDE)和遠程發送請求位組成。
仲裁場的作用之一是說明數據幀或遠程幀發送目的地;之二是指出數據幀或遠程幀。仲裁場的數據由軟件編程配置SJA1000完成。
3 控制場
控制場由6個位組成,說明數據幀中有效數據的長度。控制場的數據由軟件編程配置SJA1000完成。
4數據場
數據場由數據幀中的發送數據組成。它可以為0~8個字節。數據場的數據由軟件編程配置SJA1000完成。
5CRC場
CRC場包括CRC序列,這部分由SJA1000控制芯片完成。
6應答場
應答場長度為兩個位,包括應答間隙和應答界定符。由SJA1000控制芯片自動完成。
7 幀結束
每一個數據幀和遠程幀均由一標志序列界定,這個標志序列由7個“隱性”位組成。這部分由SJA1000控制芯片自動完成。
總之,仲裁場、控制場、數據場由軟件編程配置SJA1000完成;幀起始、CRC場、應答場、幀結束由CAN總線控制芯片SJA1000自動完成。
其中要重點理解的就是數據幀和遠程幀以及組成幀的重要部分。所以初學者首先把這兩種幀格式掌握了,學習CAN總線應該就可以入門了。
評論