1. 程式人生 > >CAN匯流排協議——資料鏈路層

CAN匯流排協議——資料鏈路層

幀種類資料幀的組成灰色部分:產生一個電平,知道是顯性(因為是低電壓)隱性時突然來了一個下降沿,這個表示這要傳輸一個數據了注意電平訊號(加粗的黑色線)(1)、幀起始(標準、擴充套件格式相同)    表示幀開始的段,1個位的顯性位;為什麼不稱高低電平,要用顯性隱性??==》有點像生物上的DNA,顯性更具包容性資料幀要注意:在空閒時是隱性的,要開始工作時會有一個低電平(SOF低電平)來通知,顯性容易改變總線上的電平,也容易檢測到總線上是否有人在傳輸資料(2)、仲裁段(ID段)      表示資料的優先順序的段      標準格式和擴充套件格式在此的構成有所不同;ID的設定是為了區分資料幀的優先順序,優先順序越高的資料幀,會被優先接收處理。判斷優先順序的高低通過識別:從ID的最高位(MSB)開始判斷,若連續出現顯性電平(邏輯0)個數最多的,優先順序越高。
通過STR位來確定是標準格式還是擴充套件格式為什麼禁止高7位為隱性(3)、控制段 表資料幀裡資料段的位元組數(也就是長度資訊)(4)、資料段(標準、擴充套件格式相同)戶需要傳送的資料內容,可一次性發送0–8個位元組的資料。(每個資料佔用一個位元組)(5)、CRC段(標準、擴充套件格式相同)檢查幀傳輸錯誤的幀。(檢查範圍:起始端,仲裁段,控制段,資料段)由15位的CRC順序和1位的CRC界定符(用於分隔的位)構成。(6)、ACK段確認並響應是否正常接收,(7)、幀結束由7個隱形位(邏輯1)組成,因此ID仲裁斷禁止出現1111111****形式的格式。遙控幀請求指定ID傳送資料,跟資料幀格式相比少一個數據段
遙控幀跟資料幀的區別,遙控幀的PTR位為0,並且沒有資料位錯誤幀錯誤標誌說明產生什麼的錯誤,重疊部分是什麼意思?過載幀有些錯誤只有單方面能檢測間隔幀間隔表示:間隔時間優先順序因為遙控幀的RTR位為隱性電平,而資料幀的RTR位為顯性電平,所以ID位一致的情況下資料幀的遊優先順序更高同樣,標準幀的優先順序也更高位時序(波特率的設定)波特率大和位時間有關,為位時間的倒數關係。一個位分為4段:同步段,傳播時間段,相位緩衝段1,相位緩衝段2。每個段都是Tq的整數倍,通過設定每個段的Tq數可計算出:波特率=1/(n*Tq)。(可以不用詳細瞭解每個段,但需知道與波特率的關係)