Boundary Scan(边界扫描)作为 IEEE1149.1 标准定义的板级测试方案,能高效验证 PCB 板互连及芯片内部子模块功能,是 i.MX RT 系列处理器量产测试与故障排查的核心工具。本文基于 NXP 官方文档 AN12919,从基础认知、软硬件准备、分步实操到多型号适配,详解 Boundary Scan 的落地流程,助力工程师快速完成测试部署。
资料获取:i.MX RT 系列 Boundary Scan 使用介绍
1. 核心基础认知
1.1 Boundary Scan 核心原理
Boundary Scan 通过在芯片输入 / 输出引脚添加 Boundary Scan 单元(多功能存储元件),组成移位寄存器(Boundary Scan 寄存器),实现端口状态的读写控制。
- 正常模式:单元透明,芯片核心与端口直接连接。
- 测试模式:核心与端口隔离,通过 JTAG 接口控制端口信号,完成互连测试与功能验证。
1.2 JTAG 测试端口定义
JTAG 接口是 Boundary Scan 的核心控制通道,包含 4-5 个关键信号,引脚定义如下:
| 信号名称 | I/O 类型 | 功能描述 |
| TCK | 输入 | 测试时钟信号,为逻辑测试提供同步时钟 |
| TMS | 输入 | 测试选通信号,TCK 上升沿时决定 JTAG 控制器下一状态 |
| TDI | 输入 | 串行输入测试指令与数据 |
| TDO | 输出 | 串行输出测试指令与数据 |
| TRST_N | 输入 | 可选测试复位引脚,低电平有效 |
2. 软硬件准备
2.1 软件安装(TRACE32 调试软件)
- 下载路径:访问 Lauterbach 官网(https://www.lauterbach.com),下载最新版 TRACE32 软件安装包(约 3.9G)。
- 安装注意:可选择性安装模块,节省硬盘空间;安装后在
C:T32binwindows64drivers目录下确认驱动文件完整性。 - 辅助工具:NXP-MCUBootUtility-2.3.0(用于烧录 eFuse 配置 JTAG 模式)。
2.2 硬件连接配置
核心连接组件
- 调试器:推荐 Lauterbach LA-4533 Debug-USB3(搭配 LA-7960/4513 线缆)。
- 线缆:20pin JTAG 线缆(带 pin1 标识)、USB 数据线(连接调试器与 PC、开发板与 PC)。
- 开发板:i.MX RT 系列 EVK 验证板(以 RT1064 EVK 为例)。
连接步骤与规范
- 接线顺序:PC→TRACE32 调试器(USB3 接口)→JTAG 线缆→开发板 JTAG 端口;开发板单独通过 USB 供电。
- 上电顺序:先启动 TRACE32 调试器,再给开发板上电;下电相反(避免设备损坏)。
- 引脚匹配:确保 JTAG 线缆 pin1 与开发板 JTAG 连接器 pin1 对应,禁止插反。
3. 分步实操流程(以 RT1064 EVK 为例)
3.1 前期配置:JTAG 模式与硬件适配
- 烧录 eFuse 配置 JTAG 模式
- 打开 NXP-MCUBootUtility-2.3.0,选择 MCU 型号为 “XRT1064”。
- 在 “JTAG_Security_MODE” 中选择 “0-Enabled”,烧录 eFuse(注意:烧录后无法回退至 SWD 模式)。
- 保存配置并重启开发板,确认 JTAG 模式生效。
- 硬件引脚状态调整
3.2 TRACE32 软件验证流程
- 启动软件:打开 TRACE32,选择 “TRACE32 ICD ARM32 USB”。
- 输入核心命令(命令窗口逐行输入,回车确认):
- 加载 BSDL 文件:在弹出的 “BSDL.state” 窗口中,点击 “FILE” 选择对应 RT1064 的 BSDL 文件并打开。
- 软件复位:输入命令
BSDL.SOFTRESET,完成调试器与芯片同步。
3.3 核心测试步骤
- 基础功能验证
- 点击 “Check” 选项卡,依次执行 “BYPASSall” 和 “IDCODEall”,显示 “Test PASS” 即为通过(验证 JTAG 链路连通性)。
- 执行 “SAMPLEall”,提示 “Test done” 后,双击文件名打开 “BSDL.SET” 窗口。
- 引脚状态采样验证
- 在 “BSDL.SET” 窗口中,取消 “Intern” 勾选(屏蔽芯片内部信号)。
- 查看引脚状态列表(0 = 低电平,1 = 高电平),用万用表测量开发板对应引脚,确认电压与列表一致(如 GPIO_AD_B0_08 应为 3.3V)。
- 引脚输出控制测试(EXTEST)
- 在 “BSDL.SET” 窗口选择 “EXTEST”,勾选 “DR mode” 中的 “Set Write”。
- 切换至 “BSDL.state” 窗口,勾选 “SetAndRun” 和 “TwoStepDR”。
- 返回 “BSDL.SET” 窗口,点击引脚 “Enable” 列启用输出,点击 “Reg.” 切换状态(0/1),用万用表验证引脚电平是否同步变化(如 CAN2_TX 引脚可在 0V 与 3.3V 间切换)。
4. i.MX RT 系列多型号适配要点
4.1 RT1010-EVK
- 需烧录 eFuse 切换至 JTAG 模式。
COMPLIANCE_PATTERN:(TEST_MODE, GPIO_AD_11, POR_B)(011),删除 JTAG_MOD 下拉电阻 R303 并接 3.3V。- 断开跳线 J61、J62、J63、J64,隔离干扰信号。
4.2 RT1020-EVK
LQFP144 封装
- 烧录 eFuse 配置 JTAG 模式。
COMPLIANCE_PATTERN:(TEST_MODE, GPIO_AD_B0_02, POR_B)(011),删除下拉电阻 R57 并接 3.3V。- 删除电阻 R41,焊接 R39(100K),避免 PMIC_ON_REQ 信号干扰。
- 断开跳线 J47-J50,删除复用电阻 R116 保证 JTAG_TDO 独立。
LQFP100 封装
- 烧录 eFuse 配置 JTAG 模式。
- 下拉电阻调整:删除 R41,焊接 R16(100K)。
- 断开跳线 J35-J38,隔离干扰。
4.3 RT1170-EVK
- 无需烧录 eFuse,直接支持 Boundary Scan。
COMPLIANCE_PATTERN:(TEST_MODE, GPIO_LPSR_13, POR_B, ONOFF)(0011),保留 JTAG_MOD 下拉电阻 R403。- 删除电阻 R266,焊接 R421(100K),避免 PMIC 信号干扰。
- 断开跳线 J6-J9,删除复用电阻 R187、R208、R195、R78,保证 JTAG 链路独立。
5. 关键注意事项
- 不可逆操作:eFuse 烧录 JTAG 模式后无法回退,操作前需确认测试需求。
- 信号隔离:必须断开 OpenSDA 等干扰电路的跳线,否则会导致 JTAG 信号电平异常。
- BSDL 文件匹配:需使用对应 MCU 型号的 BSDL 文件,否则会出现引脚定义不匹配问题。
- 调试器选型:优先使用 Lauterbach 推荐型号,避免兼容性问题;线缆插反会损坏调试器或开发板。
- 在线帮助:TRACE32 软件中按 F1 可调用在线帮助,解决实时操作疑问。
Boundary Scan 为 i.MX RT 系列提供了高效的板级测试方案,核心在于硬件适配与软件操作的精准匹配。通过本文流程,可快速完成从配置到验证的全流程落地,适配多型号开发板需求。
阅读全文
2097