一.说明
NXP NCJ29D6 是整合了 Ultra-Wideband(UWB)、SPI 与 CAN 等功能的车用芯片,主要用于汽车门禁、车内感测等应用。本篇实作,是使用 NXP官方范例进行验证,目的是先提供明确的实作参考,透过 CAN 汇流排进行软体更新(SWUP - Software Update Program),实现功能升级或错误修复(如图一所示),以便后续移植至车用电子控制单元(ECU)时,过程能更加顺利。
图一. ECU ( Host : PC ) 透过 CAN 汇流排进行软体更新 ( SWUP ) 流程框架:

二.硬体架设说明
1.硬体准备
1.1 LID2566 ( NCJ29D6 B2 00205 ) EVB
1.2 PCAN-USB FD or PCAN-USB Pro FD
1.3 准备 5V 电源来源 ( Ex : FTDI USB to UART board 模组 5v/3.3v 切换 )
2.架设说明
NXP公板 LID2566 ( NCJ29D6 B2 00205 ) EVB 启用 CAN FD 接线方式 :
2.1 JP27 Jump 接上,为主板电源来源

2.2 外部5V 接上P3.4 ( 5V_CAN ) 提供主电源来源

2.3 P9 ( GND , CAN_H , CAN_L ) 接上总线
2.4 架设完成

三.软体准备、操作方式与验证结果
1.实作流程
如下框图为前置作业软体的准备、更新档生成 ( *.pkg ) 与更新流程 :
1.1 项目 ① 为 NXP 提供,将 ② ③ ④ 项目和资讯配置生成更新档 ( *.pkg )
1.2 PC ( Host ) 端透过 Python 脚本 ( control script ),对 NCJ29D6 装置进行软体更新

2.软体准备
2.1建立 NCJ29D6 软体更新包 ( *.pkg )
2.1.1 Application使用CAS Example / SwupActivatorApp 范例生成 :
● APP_V1 : Slower blinking frequency (1 Hz)
● APP_V2 : Faster blinking frequency (2.5 Hz)
2.1.2 CAN Hostif 使用CAS Example / SwupCanHostif 范例生成 :
● HIF_A_V1 : Orange LED rapidly flashing (10 Hz)
● HIF_B_V1 : Red LED rapidly flashing (10 Hz)
● HIF_A_V2 : Orange LED rapidly flashing (10 Hz), Red LED fast blinking (2.5 Hz)
● HIF_B_V2 : Red LED rapidly flashing (10 Hz), Orange LED fast blinking (2.5 Hz)
2.1.3透过 *.yaml 配置,使用 2.1.1 和 2.1.2 项目,生成不同配置和应用行为的软体更新包 ( *.pkg )
路径为 : CAS Example/onhost/src/apps/generic/swup_host_can_uci/swup_package_generator

2.2 PC ( Host ) 端透过 Python 脚本 ( control script ) 进行装置 ( NCJ29D6 ) 软体的更新,
脚本档名为nxp_main_ncj29d6_swup_host_can_uci.py
( CAS Example/onhost/src/appsgeneric/swup_host_can_uci )
3.操作方式
修改 Python 脚本 ( control script : nxp_main_ncj29d6_swup_host_can_uci.py ),
例如,使用 HIFA1 更新 Application 成 App2 ( APP_UPDATE_toApp2_usingHIF1 )

4.验证结果
4.1 执行 Python 脚本 ( control script ),可查看 PC 端透过 CAN-FD 与 NCJ29D6 装置连线成功

4.2 Application 更新成 App2 成功


四.参考资料
1. NCJ29D6_SWUP_introduction.pdf
2. NCJ29D6_SWUP_CAN_Hostif_UserGuide.pdf
3. UM12161 NCJ29D6 UWBMAC AiO UCI Specification 2.4.pdf
4. UM11769 NCJ29D6 Testware User Manual.pdf
本篇作者-世平集团-卡拉雞腿堡
233

被折叠的 条评论
为什么被折叠?



