Foxes 是一套基于 BLE芯片 KW38 和 UWB 芯片 NCJ29D5D 的 UWB 開發(fā)套件,其中 UWB 芯片 NCJ29D5D 是一種全集成的單芯片脈沖無線電超寬帶 (IR-UWB) 低能低成本收發(fā)芯片。它是為汽車環(huán)境中的安全范圍應(yīng)用而設(shè)計的。它可以用于雙向測距定位系統(tǒng),以確定距離的精度高達(dá) 10 厘米。該設(shè)備配備了專用的 MAC 固件,以簡化超寬帶范圍設(shè)置和會話控制,能夠按照汽車連接聯(lián)盟 (CCC) 的指定操作,以實現(xiàn)與汽車接入生態(tài)系統(tǒng)的互操作性。
一、芯片介紹
1.1 功能和特點(diǎn)
符合 IEEE 802.15.4 HRP UWB PHY 標(biāo)準(zhǔn)
芯片上 MAC 固件,以減輕超寬帶范圍設(shè)置和會話控制
支持 SHF 超寬頻帶從 0 GHz 到 8.5 GHz 的全球使用
中心頻率 5 GHz 到 8.0 GHz
可編程發(fā)射機(jī)輸出功率高達(dá) 12 dBm 峰值
與 IEEE 802.15.4 相比,128 MHz PRF 模式使可用的平均 TX 功率加倍
優(yōu)化短幀模式操作
全相干接收機(jī)的最大范圍和精度
集成所有需要的射頻元件(即 balun,TRX 開關(guān))
供電電壓 8 V ~ 3.6 V
低能源消耗
可配置的電流限制應(yīng)用與硬幣電池供應(yīng)
數(shù)據(jù)速率 110 kbps (BPRF), 850 kbps (BRRF),8 Mbps (BPRF), 7.8 Mbps (HPRF)
支持雙向測距
IEEE 802.15.4z BPRF/HPRF 超寬帶 PHY 協(xié)議草案,對抗 Cicada 和前導(dǎo)碼注入攻擊造成的遠(yuǎn)距離操縱
混亂時間戳序列 (STS) 生成兼容 NIST SP 800-90A
集成 I/Q 相位和振幅失配補(bǔ)償
窄帶干擾消除 (NBIC),具有卓越的同通道干擾抑制能力
XO 緩沖器,用于與其他設(shè)備共享 XTAL( 例如 UHF 或 BLE 收發(fā)器)
6mm x 6mm 40-pin QFN 包帶 5 mm 鉛間距和可濕性側(cè)面
外部組件數(shù)量少
ARMAHB-Lite 總線矩陣和雙主 NS-DMA 快速數(shù)據(jù)傳輸
256kbyte 非易失性內(nèi)存
40 kByte RAM
96 kByte ROM
ARMTrustZone 技術(shù)和 S-DMA 安全
高級加密標(biāo)準(zhǔn) AES (Advanced Encryption Standard),具有 128 位密鑰和 256 位密鑰
具有 256 位、384 位和 512 位密鑰的橢圓曲線密碼 (ECC)
256 位的安全哈希算法 2 (SHA2-256)
安全接口(啟用 GlobalPlatform 協(xié)議)
循環(huán)冗余校驗 (CRC) 計算的協(xié)處理器
真隨機(jī)數(shù)生成 (TRNG)
SPI, UART 和 LIN 兼容接口
簡化了定制應(yīng)用程序的開發(fā)的 API
應(yīng)用程序開發(fā)的幾個計時器
低功耗喚醒計時器
看狗定時器
集成溫度傳感器用于晶體溫度漂移補(bǔ)償
通用 ADC 10 位
1.2 應(yīng)用
這顆芯片支持以下應(yīng)用:
基于低頻無鑰匙進(jìn)入系統(tǒng) (PKE) 的中繼攻擊防御
基于超寬帶定位的免提智能接入
安全測距在汽車系統(tǒng)中的應(yīng)用 ( 遠(yuǎn)程停車控制)
更多的用于汽車中的舒適功能
CIR 是信道脈沖響應(yīng) Channel Impulse Response 的簡稱,在與客戶的溝通當(dāng)中得知,客戶有獲取 CIR log 的需求,當(dāng)客戶拿到 CIR log 數(shù)據(jù),可以使用該 CIR 數(shù)據(jù)結(jié)合他們自己開發(fā)的算法進(jìn)行測距,以期獲得更佳的 UWB 測距效果,通過 NXP 提供的上位機(jī)軟件,進(jìn)行配置之后就可以獲取到 CIR log。
2.1 安裝上位機(jī)軟件
(1)在向 NXP 申請中的資料中找到如下安裝文件并安裝。
(2)安裝完畢如下圖,運(yùn)行該上位機(jī)。
2.2 使用上位機(jī)配置 NCJ29D5D 并打印 CIR log
(1)設(shè)置 “發(fā)起者” 和 “錨點(diǎn)”,設(shè)置之前首先我們需要知道我們手中的板子是燒錄的什么程序,建議燒錄完之后貼相應(yīng)的標(biāo)識。
UWB 模塊連接如圖,UWB 模塊扣在我司自己做的 Echoes S32K144 底板上,因為NXP 上位機(jī)只認(rèn) NXP 自己的這塊 S32K144 Demo 板,所以這里把串口做了一下飛線連接,最終通過右側(cè) NXP 這塊板子連接至 PC 端的上位機(jī)。
(2)連接 UWB 模塊并設(shè)置角色。
① 首先點(diǎn)擊 SCAN,掃描連接上的COM 口(注意:該上位機(jī)只能連接 NXP 自己的一款Demo 板:S32K144EVB-Q100,普通串口插上也掃描不出來)。
② 點(diǎn)擊槽位進(jìn)行角色設(shè)置并綁定 COM 口。
③ 設(shè)定連接上的 UWB 模組的角色(ANCHOR 或 INITIATOR,對應(yīng)板上標(biāo)簽)。
④ 選擇要連接的 COM 口。
⑤ 設(shè)定好 ANCHOR 和 INITIATOR 之后點(diǎn)擊 CONNECT 連接
(3)重置 INITIATOR 和 ANCHOR。
使用 UCI core control 的 Reset the UWBS 命令以重置 UWB 設(shè)備
重置 Initiator 設(shè)備。
重置 Anchor 設(shè)備。
(4)配置 INITIATOR 的低功耗功能( Anchor 無低功耗功能,不用設(shè)置 )。
關(guān)閉 Initiator 的低功耗功能。
(5)關(guān)鍵步驟就是這步了,在錨點(diǎn)的設(shè)置中需要打開 CIR log 的打印。
Logging configuration 中添加需要打印的信息,這里必須添加的 “CIR log”,“UWB session ID”,“Rx First Path Info”。
RX PHY logging 需要進(jìn)行使能“Enable”。
CIR samples offset(hex) 這是 CIR 信號位移量,上位機(jī)對位移的這部分?jǐn)?shù)據(jù)不顯示,默認(rèn)是 0x302,不需要修改。
Number of CIR Samples 是一次獲取的 CIR 的樣本數(shù),這里要設(shè)置 1024 上位機(jī)才會進(jìn)行顯示。
(6)初始化一個 UWB 測距會話,目前可用的測距會話類型是 “CCC Ranging Session”,會話 ID 可以自己設(shè)置或者點(diǎn)擊 [Ramdom ID] 隨機(jī)生成,INITIATOR 和 ANCHOR 的 ID 要一致。
初始化一個 UWB 會話,會話 ID 設(shè)置為 0x00000001。
Anchor 也初始化一個會話 ,會話 ID 與 Initiator 的一樣。
(6)使用 UWB Session configuration 的 Configure UWB session 命令配置 Initiator 和 Anchor 設(shè)備。
按如下參數(shù)配置 Initiator 設(shè)備。
按如下參數(shù)配置 Anchor 設(shè)備,與Initiator 不同的是 Device Role 和 Responder slot index。
(7)Initiator 與 Anchor 都開始開始測距。
配置 Initiator 設(shè)備需要開始測距的會話 ID,即上文我們配置這個會話。
配置 Anchor 設(shè)備需要開始測距的會話 ID,即上文我們配置這個會話。
(8)開始測距之后,可以看到 Anchor 的通訊數(shù)據(jù)中,但這次我們要看的是 CIR log 信息,如圖所示進(jìn)入 CIR 頁面:COMMUNICATION —> Channel Impulse Response。
因為只連接了一個錨點(diǎn),所以設(shè)備默認(rèn)是 Device #2,設(shè)置打印 CIR log 的會話是 0x00000001, 選擇正確的會話后我們可以看到 CIR 以下方波形的形式呈現(xiàn)。
鼠標(biāo)滾輪可以縮放坐標(biāo),波形從 770 開始是因為CIR 的 offset 值為 0x302(770),該波形是一次性獲取的 1024 個樣本減去 770 后就剩下的 254 個樣本進(jìn)行顯示的效果。
點(diǎn)選左上角標(biāo)簽,可以顯示更多信息。
2.3 導(dǎo)出 CIR log
按右上角的下載圖標(biāo),可以導(dǎo)出 CIR log 成為表格信息。
我這里在桌面新建了一個 CIR 文件夾,用來存放 CIR log
保存為 csv 表格形式的 CIR log 。
表格打開如圖所示。
三、一般串口工具配置 UWB 并測距
3.1 串口工具參數(shù)設(shè)置
(1)串口工具設(shè)置參考如下,波特率 460800,收發(fā)都使用 16 進(jìn)制(hex)顯示。
(2)每次發(fā)送命令前請確認(rèn)輸入換行符,例如我使用串口工具,按回車輸入換行符,點(diǎn)擊
[ 發(fā)送 ] 按鈕發(fā)送數(shù)據(jù)。
3.2 使用一般串口工具配置 UWB 并測距
請按順序發(fā)送如下命令,且收到正確回復(fù)之后,再依次進(jìn)行下一項測試,請注意區(qū)分
Initiator 和 Anchor 命令是不完全一致的。
(1)S32K 板點(diǎn)亮 LED 測試(Initiator 和 Anchor 相同)
EF 0E 00 02 02 00
[回復(fù)]
EF 0E 00 01 00
發(fā)送成功 RGB 燈亮綠色。
(2)UWB 重置命令(Initiator & Anchor):
20 00 00 01 00
[回復(fù)]
40 00 00 01 00
60 01 00 01 01
(3)UWB 關(guān)閉低功耗(僅 Initiator)
20 04 00 04 01 01 01 00
[回復(fù)]
40 04 00 02 00 00
(4)UWB 打開 CIR log 設(shè)置(僅 Anchor)
20 04 00 12 04 F4 01 01 F6 04 0C 04 00 00 F7 02 02 03 F8 02 00 04
[回復(fù)]
40 04 00 02 00 00
(5)新建并初始化一個測距會話(Initiator & Anchor)
21 00 00 05 78 56 34 12 A0
[回復(fù)]
41 00 00 01 00
61 02 00 06 78 56 34 12 00
(6)Initiator 測距會話設(shè)置,每隔 [C0 03: 0x3c0] 960 ms 進(jìn)行一次測距
21 03 00 1B 78 56 34 12 06 04 01 09 05 01 01 08 02 80 25 09 04 C0 03 00 00 11 01 01 F2 01 68
[回復(fù)]
41 03 00 02 00 00
61 02 00 06 78 56 34 12 03 00
(7)Anchor 測距會話設(shè)置,每隔 [C0 03: 0x3c0] 960 ms 進(jìn)行一次測距
21 03 00 1E 78 56 34 12 07 04 01 09 05 01 01 08 02 80 25 09 04 C0 03 00 00 11 01 00 1E 01 00 F2 01 68
[回復(fù)]
41 03 00 02 00 00
61 02 00 06 78 56 23 12 03 00
(8)Initiator 開始測距
22 00 00 04 78 56 34 12
[回復(fù)]
42 00 00 01 00
60 01 00 01 02
61 02 00 06 78 56 34 12 02 00
60 20 00 17 78 56 34 12 02 04 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
(9)Anchor 開始測距
22 0 00 04 78 56 34 12
[回復(fù)]
42 00 00 01 00
60 01 00 01 02
61 02 00 06 78 56 34 12 02 00
62 20 00 17 78 56 34 12 00 F8 0B 00 00 00 00 4A 00 94 94 FF FF FF FF FF FF FF FF
(10)開始測距之后,串口不停返回 UWB 測距會話的狀態(tài)信息,其中 Anchor 返回信息中也包含了 CIR log,如下圖,
紅框:0x02 表示之后就是 CIR log。
綠框:表示 CIR log 的長度。
藍(lán)框:是包邊界標(biāo)志 (PBF),用來判斷該句狀態(tài)信息中的 CIR log 是否是最后一句。
紫框:是我們設(shè)定的 0x302(770) 偏移值 (offset)。
淺藍(lán):是表示具體的 CIR log,如下圖返回的總共 5 句的淺藍(lán)色部分就包含了我們所請求的 1024 個 CIR 樣本。
四、總結(jié)
本文介紹了使用 NXP 提供的上位機(jī)配置 UWB 芯片 NCJ29D5D,并使用兩個模組一收一發(fā)進(jìn)行測距的同時進(jìn)行 CIR log 的打印,客戶在獲取該 CIR log 信息的基礎(chǔ)上可以開發(fā)自己的算法,由于上位機(jī)程序需要特定的 NXP 官方 EVB 才能使用的限制,這里還介紹了使用一般串口工具進(jìn)行配置和進(jìn)行測距的方法。
[1]《an523019 - AN-SCA-1901 NCJ29D5 Tools (1.9)》
[2]《ds652611_1.1_NCJ29D5DHN – Ranger-4 Ultra Wideband Transceiver with MAC support》(datasheet)
UWB 相關(guān)博文:
《NCJ29D5B 使用 J-link 下載調(diào)試》
《NCJ29D5D 使用 Lauterbach 進(jìn)行下載調(diào)試》
《NCJ29D5D 下載 package 失敗的解決方法》
歡迎關(guān)注本文作者大大通特邀博主:汽車大牛,了解更多汽車相關(guān)應(yīng)用知識!
登錄大大通,查看完整內(nèi)容,提問/評論,獲取技術(shù)文檔等更多資訊!
-
NXP
+關(guān)注
關(guān)注
60文章
1278瀏覽量
184026 -
UWB
+關(guān)注
關(guān)注
32文章
1100瀏覽量
61145 -
計時器
+關(guān)注
關(guān)注
1文章
420瀏覽量
32689 -
S32k144
+關(guān)注
關(guān)注
1文章
9瀏覽量
1894
發(fā)布評論請先 登錄
相關(guān)推薦
評論