若要了解如何在 CAN 局部聯(lián)網(wǎng)中使用喚醒幀 (WUF),必須首先了解 CAN 幀的結(jié)構(gòu)。在圖 3-1 中,高電平信號(hào)表示 CAN 總線是隱性的(邏輯 1),而低電平信號(hào)表示 CAN 總線是顯性的(邏輯 0)。
使用了兩種基于 ID 位數(shù)的格式。如圖 3-1 所示,有一種被稱為傳統(tǒng)基幀格式 (CBFF) 的 11 位 ID 格式和一種被稱為傳統(tǒng)擴(kuò)展幀格式 (CEFF) 的 29 位 ID 格式。以下是名稱和說(shuō)明列表:
- IDLE – 當(dāng) CAN 總線處于空閑狀態(tài)時(shí),該總線將為隱性或“1”。
- SOF – 幀起始,顯性位或“0”。
- ID[10:0] - CBFF 中的基本 ID 或 EXT_ID[28:18],CEFF 中擴(kuò)展 ID 的前 11 位。它們具有相同的配置位。
- EXT_ID[17:0] - CEFF 中擴(kuò)展 ID 的剩余 18 位。
- RTR – 遠(yuǎn)程傳輸請(qǐng)求?!?”表示遠(yuǎn)程幀(DLC 長(zhǎng)度為零)?!?”表示數(shù)據(jù)幀。對(duì)于 WUF,該位必須為“0”。
- IDE – 標(biāo)識(shí)符?!?”表示 CEFF(擴(kuò)展 ID),而“0”表示 CBFF(基本 ID)。
- FDF – FD 格式指示符,用于說(shuō)明幀是傳統(tǒng) CAN (0) 還是 CAN FD (1)。對(duì)于 WUF,該位必須為“0”。請(qǐng)注意,對(duì)于 CAN-FD 幀,該 FDF 位之后的結(jié)構(gòu)與任一傳統(tǒng) CAN 幀都不同,此處不做介紹。
- DLC – 四位數(shù)據(jù)長(zhǎng)度代碼,說(shuō)明幀中有多少數(shù)據(jù)字節(jié)。8-15 的值將被解釋為 8 個(gè)字節(jié)。
- SRR – 替代 RTR。始終為“1”。
- r1 – 保留位。始終為“0”。
- CRC – 15 位循環(huán)冗余校驗(yàn),用于確定信息的完整性。
- Del – 定界符位。始終為“1”。
- ACK – 確認(rèn)。CAN 幀的發(fā)送方將發(fā)送“1”,而 CAN 幀的所有接收方在 CRC 正確時(shí)發(fā)送“0”,在 CRC 不正確時(shí)發(fā)送“1”。
圖 3-1 CAN 幀結(jié)構(gòu)