一. 原由
說明 NXP Smart Car Access 提供 PC 方案執行 BCM 定位演算模擬,但目前沒有 CAN Bus 整合功能,所以使用 CADS5.2 軟體包,初步完成 BCM 透過 CAN Bus 執行測距與基本定位演算,可作為後續客戶開發 BCM 時技術交流的參考。
二. CADS5.2 CAN Bus 實現與框圖說明
1. BCM 啟動測距與基本定位演算架構框圖
如圖所示
2. 功能控制流程框圖
(1) PC 或 BCM 透過 CAN Bus 測試與驗證控制流程框圖
■ PC 端 :
使用 TCANLINPro v1.2 工具,目地是為了模擬 CAN Bus 傳送資料和模擬總線接收到所有訊息以便除錯與查閱,如下圖所示:
■ BCM 端 :
透過 driverCanEvent_Send 功能下達 UCI command 對 Anchors 啟動測距。
透過 driverCanEvent_Recv 收到 Anchors 測距的數據後開始進行定位演算。
■ Anchor 端 :
UWB 將 SPI 功能狀態資訊透過 driverCanEvent_Send 回傳給 BCM。
(2) BCM 控制流程框圖
BCM 端的控制流程為上電後啟動 Anchors 執行測距與定位演算。
三. CADS5.2 CAN Bus 實現與框圖說明
如下圖所示為 CAN Bus 資料流,說明 CAN ID 與 Data 資料組合方式
圖一. 為 CAN Bus 準備要傳送 UCI Command 的資料
圖二. 為 CAN Bus 接收到 UCI Command 的資訊
圖一
圖二
1. CAN ID 格式
圖一中標示 1. CAN ID(10040201)所示的資料格式內容如下圖說明:
1B:為 UWB CAN Node Index
2B:為 UWB 的 UCI Command 資料型態
3B:為 Group 型態,而 0x04 內容為 CADS_UWB 設定
4B:26b 值為 0 屬 CADS,28b&27b 為 Priority bits,28b 此設置為 1
範例:
10 04 02 01 : 即為 Anchor node index 1 的 UCI command
10 04 02 02 : 即為 Anchor node index 2 的 UCI command
2. Data 格式
圖一項目 2.~5. 和圖二項目 6. 為 UCI Command,而資料內容考量到如果超過 200 筆資訊長度時的使用方式,所以將資料切割成3種資料欄位型態,說明如下:
■ CAN FD 資料總長度為 64B
■ CAN FD 資料內容如果小於 60 筆,需將資料傳送型態為 C 欄位
■ CAN FD 資料內容如果小於 123 筆,需將資料切割成 2 種型態即為 C+E 欄位
■ CAN FD 資料內容如果超過 200 筆,需將資料切割成 3 種型態即為 C+D+E 欄位
(1) 範例為圖一項目 2. 的 C 欄位格式
範例:
01 01 05 00 20 00 00 01 00
01 為 Block number
01 為 Total amount of block
05 00 為 0x05 是 UCI frame 資料筆數
20 00 00 01 00 為 UWB Reset 設定
(2) 範例為圖二項目 6. 的 C 欄位格式
範例:
01 01 1B 00 62_20 00 17 CA FE FA CE 00 DF 2A 03 00 01 00 83 00 34 34 FF FF FF FF FF FF FF FF
01 為 Block number
01 為 Total amount of block
1B 00 為 0x1B 是 UCI frame 資料筆數
62_20 00 17 CA FE FA CE 00 DF 2A 03 00 01 00 83 00 34 34 FF FF FF FF FF FF FF FF
內容所示為 UWB Anchor 與 Key Fob 之間距離值
以上說明為 CADS5.2 CAN Bus 資料傳送與接收的使用方式技巧哦~
四. 文件參考1.NCJ29D5_CADS_User_Manual.pdf
2.UWBMAC-GUI-QuickStartGuide.pdf