一. 說明
MCXA153 是恩智浦半導體旗下新款 Cortex M33 微控制器(MCU),屬於 MCX 系列,該系列 MCU 的設計旨在提供高效能、低功耗和多樣化的連接性選項,特別適合於工業、消費電子應用。
如下為 NXP MCXA153 規格 :
本文說明 I3C(Improved Inter-Integrated Circuit)是 MIPI Alliance 開發的串行通信總線標準,與 I2C 相比,I3C 支持更高的數據速率 (最高可達 33.4 Mbps),接來下我們使用 MCXA153 EVB 實作 I3C 通訊讀取溫度資訊,透過實作方式也讓我們了解 I3C 功能的引用是原來是這麼容易~
二. 硬體架設和軟體版本
1. 硬體材料的準備
1-1. MCXA153 EVB(NXP P3T1755DP Temperature Sensor為I3C規格)x 1
1-2. USB Type C 線材x 1
2. 線路接線與實體架設說明
2-1. 線路接線說明
NXP P3T1755DP Temperature Sensor 的裝置引腳 I3C_SDA 與 I3C_SCL 接至 NXP MCXA153 P0_16 ( I3C0_SDA ) , P0_17 ( I3C0_SCL ) , P1_11 ( I3C0_PUR )
進行通訊
2-2. 實體上件位置
3. 開發工具、軟體版本與 SDK 範例
軟體開發需要的準備有 :
3-1. MCUXpresso IDE 版本 : v11.9.1_2170
3-2. MCXA153 SDK 版本 : SDK_2_14_2_FRDM-MCXA153
3-3. MCXA153 SDK 範例 : frdmmcxa153_i3c_master_read_sensor_p3t1755 (圖一)
(圖一)
我們的目標是架設 MCXA153 - I3C 和 P3T1755PD 進行通訊,我們使用現有 frdmmcxa153_i3c_master_read_sensor_p3t1755 SDK 範例來進行修改與驗證
三. 軟體修改與驗證
1. 確認軟體引腳的設定
1.1 在 IDE 中點選 打開引腳 (圖一)
1.2 NXP MCXA153 ( MCU Host ) 的 I3C 配置 (圖二)
P1_11 ( P5 : I3C0_PUR )
P0_16 ( P54 : I3C0_SDA )
P0_17 ( P55 : I3C0_SCL )
(圖一)
IDE 點選打開引腳有 2 種方式
或點選 IDE 最右上角 Icon
(圖二)
NXP MCXA153 ( MCU Host ) 的 I3C 引腳設定
2. 軟體功能確認與修改
確認 I3C 初始化設定和建立 Temperature Sensor I3C-Slave 控制
檔案路徑 : I3c_master_read_sensor_p3t1755.c ( Project/source)
2.1 定義 I3C BAUDRATE、CLOCK_FREQUENCY 設定與 I3C 控制 Temperature SensorI3C-Slave 的 Address
2.2 說明 init main (void) 內 I3C 初始功能配置與增加 Temperature Sensor 資訊打印
① 設定 I3C Clock 為 24MHz
② I3C_MasterInit 為初始化 I3C 的配置與 Handle 建立
③ 透過 I3C_MasterTransferBlocking 功能設置 p3t1755 初始化、建立 I3C_ReadSensor 與 I3C_WriteSensor Handle
④ I3C_ReadSensor 函式中,注意 masterXfer 相關 Struct 參數配置 :
.slaveAddress → 修改為 deviceAddress 內容
.direction → 修改為 kI3C_Read 功能
.busType → 修改為 kI3C_TypeI3CSdr 功能
.subaddress → 修改為 regAddress 內容
.subaddressSize → 修改為 regAddress Size
.data → 修改為 regData 內容
.dataSize → 修改為 regData 資料長度
.flags → 修改為 kI3C_TransferDefaultFlag 功能
⑤ 在 P3T1755_ReadTemperature ( Fsl_p3t1755.c ) 函式內增加打印訊息 I3C Master ( Host ) 每隔一段時間讀取 I3C Slave 的溫度資訊並在 Uart 中
打印取得溫度數據
3. 軟體驗證
按照前面的軟體確認與修改,我們開始進行驗證透過 IDE 工具依序完成燒錄動作,重新上電或者是按 SW1 (Reset) 按鍵,打開 Console log
可以觀查到溫度數值 ①,也可以在 Temperature Sensor 上進行加溫,再觀查數值變化 ②,代表 I3C 通訊是正常運作唷 ~
四. 參考文件
1. SPF-90829_A1.pdf
2. UM12012_FRDM-MCXA153 Board User Manual.pdf
3. MCXAP64M96FS3RM.pdf
評論