ZHCAA54B January 2022 – June 2022 TCAN1145-Q1 , TCAN1146-Q1
參數(shù) | 示例值 |
---|---|
所需的 WUF ID | 標準 ID(11 位)0x123 |
ID 掩碼 | 0x000(ID 必須完全匹配,1 = 忽略,0 = 必須匹配) |
總線仲裁速率/CAN FD 速率 | 500kbps/2Mbps |
忽略 CAN FD | 真 |
WUF 數(shù)據(jù)有效負載 | 忽略 |
對示例參數(shù)值進行分解后,WUF ID 為 0×123。這是需要與接收到的消息 ID 相匹配才能喚醒的特定 ID。ID 掩碼描述了 ID 中的哪些位必須匹配。這是一個被忽略或必須匹配位。這意味著當 ID 掩碼中的某個位設(shè)置為 1 時,將不會檢查指定的位是否匹配。為了精確匹配特定的 ID,ID 掩碼應配置為全 0。本例中 CAN FD 總線的仲裁和數(shù)據(jù)速率分別為 500kbps 和 2Mbps。該理論總線是 CAN FD 總線,因此我們希望做到在某些節(jié)點處于睡眠狀態(tài)時產(chǎn)生常規(guī) CAN FD 流量。SW_PASSIVE 位用于描述局部聯(lián)網(wǎng) IP 如何處理 CAN FD 幀的接收??梢詫⑵骷渲脼閷⑵湟暈殄e誤,當錯誤足夠多時,器件將喚醒并設(shè)置錯誤標志。
該示例將 ID 掩碼設(shè)置為全 0,因此 ID 必須完全匹配。
還可以將器件配置為簡單地忽略所有 CAN FD 幀,這不會影響器件喚醒或任何錯誤設(shè)置。在本示例中,我們不關(guān)心數(shù)據(jù)有效負載。這意味著任何具有標準 ID 0×123 和任何有效負載的傳統(tǒng) CAN 消息都能喚醒器件。
務必注意,寄存器的寫入順序很重要。具體而言,應在設(shè)置選擇性喚醒使能位之前配置所有選擇性喚醒寄存器。這是因為對選擇性喚醒配置寄存器的任何寫入都會清除 SWCFG 位 (0x47)。如果未設(shè)置 SWCFG,則不會啟用選擇性喚醒,即使設(shè)置了主選擇性喚醒啟用也是如此。最佳做法是確保該寄存器是配置期間最后一個寫入的寄存器。表 5-2 顯示了為器件設(shè)置該示例 WUF 配置時應發(fā)生的每個 SPI 事務。給出了寄存器地址、十六進制數(shù)據(jù)和 SPI 消息的原始十六進制值。
步驟 | 說明 | 寄存器 | 寄存器(十六進制) | 數(shù)據(jù)(十六進制) | 原始十六進制值 |
---|---|---|---|---|---|
0 | 禁用選擇性喚醒 | SW_CONFIG_4 | 0×47 | 0×00 | 0×8F、0×00 |
1 | 寫入所需的 WUF ID (0×123) | SW_ID1 | 0×30 | 0×00 | 0×61、0×00 |
2 | 寫入所需的 WUF ID (0×123) | SW_ID2 | 0×31 | 0×00 | 0×63、0×00 |
3 | 寫入所需的 WUF ID (0×123) | SW_ID3 | 0×32 | 0×04 | 0×65、0×04 |
4 | 寫入所需的 WUF ID (0×123) | SW_ID4 | 0×33 | 0×8C | 0×67、0×8C |
5 | 將 ID 掩碼寫入 (0) SW_ID_MASK1 | SW_ID_MASK1 | 0×34 | 0×00 | 0×69、0×00 |
6 | 將 ID 掩碼寫入 (0) SW_ID_MASK2 | SW_ID_MASK2 | 0×35 | 0×00 | 0×6B、0×00 |
7 | 將 ID 掩碼寫入 (0) SW_ID_MASK3 | SW_ID_MASK3 | 0×36 | 0×00 | 0×6D、0×00 |
8 | 將 ID 掩碼寫入 (0) SW_ID_MASK4 | SW_ID_MASK4 | 0×37 | 0×00 | 0×6F、0×00 |
9 | 寫入 ID 掩碼 (0) 和 DATA_MASK_EN (0) | SW_ID_MASK_DLC | 0×38 | 0×00 | 0×71、0×00 |
10 | 配置仲裁速度、FD:CAN 比率和 SW_FD_PASSIVE (1) | SW_CONFIG_1 | 0×44 | 0×D0 | 0×89、0×D0 |
11 | 將幀溢出設(shè)置為 255(喚醒前的最大錯誤數(shù)) | SW_CONFIG_3 | 0×46 | 0×FE | 0×8D、0×FE |
12 | 設(shè)置 SWCFG 位(配置完成) | SW_CONFIG_4 | 0×47 | 0×80 | 0×8F、0×80 |
13 | 啟用選擇性喚醒并進入睡眠狀態(tài) | MODE_CNTRL | 0×10 | 0×81 | 0×21、0×81 |