【 ATU NXP-S32K系列 】S32K UWB 車用解鎖教學

S32K-UWB 車用解鎖 Demo教學 ( 基於 S32K1 )

1.  概述

1.1  功能描述

本範例將使用 S32DS for ARM 平台操作,燒錄 UWB_S32K144 相關程式,以及程式內容說明,UWB 架構為 S32K144 使用 SPI 與 NCJ29D5 通訊,獲取位置相關資訊,使用 UART 與 PC 端 GUI 連線,或者使用 CAN-Bus ,與 BCM 之間通訊,文件也會說明 GUI 相關操作以及燒錄平台與方法。

1.2  硬體開發工具

S32K144-EVB 評估板

PEmicro Multilink Universal 燒錄器

1.3 軟體開發工具

S32 Design Studio for ARM

1.4  參考相關程式碼

S32K144_UWB

2.   SDK 說明與使用

2.1  概述

S32 SDK PA 可以在 S32 Design Studio IDE 開發環境中使用 Processor Expert 工具配置使用者需要的設置,並自動生成設置檔案,提供快速便捷的 Device 與 IP 設置方式。

2.1.1     SDK 版本說明

SDK 的版本分為以下三種:

EAR : Early Assess Release,早期評估版,是 SDK 最先發布的版本,提供基本的SDK 功能,可以做為早期軟體評估使用。

BETA : Beta 版是修復 EAR 版若干 Bug 後發布的 SDK 版本,相較於 EAR 版本,功能更加完善。

RTM : Ready To Manufacture,最終量產版本,提供最完善的 API 接口及外設 IP 配置選項,修復

2.1.2     S32 Design Studio IDE 的使用方式與安裝方式

關於 S32 Design Studio for ARM 的使用方式,請參考文件 “ S32 Design Studio for ARM Architecture 平台安裝教學 ”。

 

3.   UWB 應用

3.1  UWB 原理

UWB 為 UltraWideBand 縮寫,使用無載波通訊技術,利用脈衝傳送數據,距離大約為 10 m 之內,傳送速率可高達 480Mbps ,UWB 使用無載波特性,也大量減少功耗,達到低功耗的目的。

 

3.2  UWB 車用解鎖技術

UWB demo 所需 4 個 device 與 一個 keyfob device ,利用這 5 個 device 之間的 UWB 通訊,定位出 keyfob 位於車子周圍的位址,利用此精準位置可以用來判斷是否開啟車門,達到解鎖車門的功能

 

4.   車用解鎖硬體架設

車用解鎖技術需要使用 BLE + UWB + NFC+SBC+SE 來達成技術上需求

目前 NXP 硬體如下

BLE : KW38  

UWB : NCJ29D5B NCJ29D5D

NFC : NFC3340

SBC : FSXX

MCU : S32K

 

4.1         Controller

BLE + UWB + SBC + SE + MCU

此為車內主要控制程式, MCU 需要運行10 m 內的 UWB 定位演算法及之間所有通訊,而 BLE 則用來接收超過 10 m 的距離資訊,使用 SBC 以達到車用 ASIL 的安全需求,SE 則提供資料與通訊加解密服務,確保鑰匙的資料安全。

 

4.2 Smart Keyfob

BLE + UWB + NFC + SE

使用來解鎖車門與引擎的鑰匙,使用 BLE 來對車子進行 10 m 以外距離偵測,UWB 定位出與車子準確位置,NFC 來解鎖,SE 負責與車子之間鑰匙資訊不會被人竊取。

 

4.3 UWB Anchor

UWB + SBC + MCU

車內定位錨點,需要 3 個以上 UWB 錨點,來進行定位,獲取鑰匙的精準位置。

 

4.4 BLE Anchor

BLE + UWB + SBC + MCU

車內 BLE 錨點,也帶有 UWB ,可以進行 10 m以外測距與 10 m 以內定位。

 

4.5 exterior NFC

NFC + MCU

外部 NFC ECU ,使用 NFC 來進行車門的解鎖

 

4.6 interior NFC

NFC + SE + MCU

內部 NFC ECU ,使用 NFC 來進行引擎的解鎖

 

 

5.   軟體版本介紹

這裡說明軟體版本之間的關聯,針對 NCJ29D5 與 S32K

開啟 NCJ29D5B 的 GUI ,如下圖

如圖所示,顯示欲與此 GUI 連線所需要燒錄的軟體版本

這裡說明一下,NCJ29D5 需要燒錄多個檔案才能正確運行,每個燒錄檔會針對不同 memory 進行燒錄。

S32K 則是燒錄 CADS v1.0 版本

 

開啟 NCJ29D5D 的 GUI ,如下圖

如圖所示,顯示欲與此 GUI 連線所需要燒錄的軟體版本

 

  

6.   平台操作與燒錄

平台操作與燒錄,這裡針對 UWB ( NCJ29D5 ) & MCU ( S32K144 ) 說明

 

S32K144 平台 : S32 Design Studio for ARM Version 2.2

平台安裝請參考 S32DS for ARM 操作文件

安裝完成後 -> 開啟 S32DS for ARM 2.2 -> 點選 File -> Import

 

點選 Existing Projects into Workspace -> Next

 

點選 Browse 選取欲 import 的檔案資料夾 -> 勾選資料夾內的檔案

這裡需要注意的事,請點選 Search for nested projects


主程式檔案為 phscaS32App.c

點選左上 build 程式

點選下列所示圖示,進行 debug configurations ,將燒錄器設置為 J-LINK

 

如果 GDB SEGGER J-LINK Debugging 沒有此專案名稱,請點擊右鍵,按下 New

 

 

點選 New 後,project 自動加入,確認燒錄檔 elf 正確,選擇燒錄 flash or ARM

 

在 debugger 下 Device name 填入 S32K144

即可 debug 燒錄

 

NCJ29D5B & NCJ29D5D 平台 : Keil

點選相關路徑,點開即可打開 Keil project

 

 

Build 完後,即可產生相對應燒錄檔,之後交由 Lauterbanch 燒錄



NCJ29D5B & NCJ29D5D 為 M-33 的核心,lauterbanch 請使用 Crotex-M cable 燒錄

另外需要注意 NCJ29D5D 版本中有些需要分別不同燒錄 Responder 與 initiator 的燒錄檔
NCJ29D5B 版本則可以藉由 GUI 自由切換

 

 

7.   GUI 操作說明

將 device 連接 -> 請選擇相對應之 COM ( 這裡為 COM16 ) -> 點選連線

 

 

 

點選 SCAN -> 自動根據燒錄程式配置成 Responder & Initiator

 


這裡可以控制燈亮燈暗,方便使用者判斷 device



這裡需要配置相關 Responder 位置訊息

 




要讓 device 下相對應的 UCI command 才可以 Start Ranging ,這裡不詳細說明 command 的資料,如要詳細 UCI command 資料請洽 NXP 原廠或 WPI

Initiator command

# Reset UWBS
# disable low power mode
# Init Session
# Configure Session
# Start Ranging

 

Responder command

# Set Core Config: enable extended logging (optional)

# Init Session

# Configure Session for anchor1

# Start Ranging

 

其餘 UCI command 如右下方


這裡說明一下取得當前軟體版本的 command ,如下圖所示

 

點選與傳送之 device -> Send

 


即可獲得當前版本資料

 

 

當開始 Start Ranging 後,點選 Localisation 即可進行定位顯示

 

 

 

點選 Distance Plotting 即可進行測距顯示


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論