i.MX RT边界扫描描述语言(BSDL)使用介绍 1 概述
本文档重点介绍了进入 Boundary Scan 模式来进行板级测试的过程。它提供了设置顺序和角本示例,以确保首次测试通过。
工程师需要了解 IEEE1149.1 中的测试访问端口和 Boundary Scan 体系结构的标准。
1.1 Boundary Scan
Boundary Scan 是一种测试 PCB 板和芯片内部子模块之间互连的方法。它在 IEEE1149.1 标准中有明确的定义。
在 Boundary Scan 测试中,设备上的每个主要输入和输出信号都被补充为多功能存储元件,从而被称为 Boundary Scan 单元。
这些单元连接到移位寄存器,该寄存器称为 Boundary Scan 寄存器。该寄存器可用于读取和写入端口状态。
在正常模式下,这些单元是透明的,核心(Core)已连接到端口。在 Boundary Scan 模式下,内核与端口隔离,并且端口信号由 JTAG 接口控制。
图 1 是 boundary scan 的应用原理示意图.
图 1. Boundary Scan 应用原理示意图
1.2 测试接入端口 JTAG
JTAG 端口是通用测试接口,可以提供对组件内置的许多测试支持功能的访问,它主要包含 表 1 中给出的四个或五个信号。
表 1. JTAG 引脚信号定义
2 软件安装
用户可以直接访问 Lauterbach 官网,下载最新的 TRACE32 软件安装包,参考地址如下所示: http://www.lauterbach.com/
frames.html?download_overview.html
安装软件到本地电脑时有以下两个方面需要注意:
1. 软件安装包大约 3.9G 左右,需要占用相应的电脑硬盘空间,安装时可选择性的安装模块。
2. 安装目录 C:\T32\bin\windows64\drivers,用户可以在文件夹内找到相应的驱动程序。
3 硬件连接示意图
TRACE32 调试器硬件通常包含以下两个部分:
• 通用调试器硬件
• 特定的处理器系统结构的调试电缆
图 2 是硬件连接示意图
图 2. 硬件连接示意图
TRACE32 调试器使用注意事项:
1. 为防止 TRACE32 调试器或是待测试板损坏,禁止在测试板上电的情况下插拔 TRACE32 调试器,建议上电顺序如下:
a. 上电时: TRACE32 调试器 -> 测试板
b. 下电时: 测试板 -> TRACE32 调试器
2. TRACE32 调试器的电缆有 pin1 提示, 请确认针脚的对应位置,防止调试电缆和测试板内的 JTAG 连接器连接时插反。
3. TRACE32 调试器软件打开时可以按 F1 进入在线帮助系统。
1. 下面以 RT1064 EVK 验证板为例,图 3 是硬件连接示意图:
a. 通过 TRACE32 调试器自带的 20pin JTAG 线缆连接到 EVK 验证板。
b. 使用 TRACE32 调试器自带的 USB 数据线连接到电脑。
c. 使用 USB 数据线将 EVK 验证板连接到电脑。
图 3. RT1064 EVK board 硬件连接示意图
2. 应用 NXP-MCUBootUtility-2.3.0 软件,在 eFuse 里面选择 JTAG 模式并用烧录 eFuse。请注意,EVK 验证板烧录为 JTAG
后无法再重新烧录到 SWD 模式。图 4 显示了详细的设置信息页面。
图 4. NXP-MCUBootUtility-2.3.0 eFuse 里面烧录 JTAG
图 4. NXP-MCUBootUtility-2.3.0 eFuse 里面烧录 JTAG
3. 检查 BSDL 文件中的 COMPLIANCE_PATTERN 部分,它定义了芯片内三个 pin 角的状态,(TEST_MODE,GPIO_AD_B0_08, POR_B) (011),0 代表低电平,1 代表高电平。在 EVK 板上进行检查并修改使其与 BSDL 文件中的状态相同。图 5 是 BSDL 文件中的截图,图 6 是 Test Mode 和 Por_B 这两个引脚的连接示意图:
图 5. BSDL 文件中的 COMPLIANCE_PATTERN 部分
图 6. Test mode and POR_B 连接示意图
4. BSDL 文件定义了引脚 GPIO_AD_B0_08 的状态为高电平,但实际 RT1064 EVK 验证板上通过 R303 电阻下拉到地,所以
需要删除下拉电阻,并将引脚上拉到板内的 DCDC_3V3。图 7 显示了原理图中相应的连接示意图。
图 7. GPIO_AD_B0_08 连接示意图
5. RT1064 EVK 验证板上应用了 OPENSDA 电路,进行 Boundary Scan 测试时会对 JTAG 的信号电平产生影响。所以需要
断开它们之间的跳线连接器 J47, J48, J49, J50。图 8 列出了需要断开的跳线连接器。
图 8. SWD 跳线连接器断开
4 应用 Lauterbach TRACE32 调试器验证 BSDL 文件
1. 调试器和 PC 连接并且上电后,用户可以在设备管理器中发现 Trace32 Devices.
注意
Lauterbach 调试器推荐型号 LA-4533 Debug-USB3,with LA-7960/4513. 设备相关的详细信息可以通过官网查询:
http://www.lauterbach.com.
2. 打开 TRACE32 软件, 选择 TRACE32 ICD ARM32 USB。
3. 软件打开后,在下面的命令窗口依次输入以下命令,每个命令输入后回车确认。
- SYStem.Down
- BSDL.RESet
- BSDL.ParkState Select-DR-Scan
- BSDL.state
复制代码 4. 这时软件就会自动弹出 BSDL.state 窗口。点击 FILE 进入浏览文件页面,并选择需要验证的 BSDL 文件双击打开。 图9 是 BSDL.state 操作窗口.
图 9. BSDL.state 操作窗口
5. 文件打开之后, 在下面的命令窗口中输入下面的命令回车确认。
BSDL.SOFTRESET
6. 切换到 Check 选项界面,依次点击 BYPASSall 和 IDCODEall 两个选项依次进行相应的检查,显示 Test PASS 就可以。
图 10 是详细操作步骤信息。
图 10. BYPASS and IDCODE 操作信息
7. 然后点击 SAMPLEall 选项,这时由于 Test done 所以不会有任何提示出现。请双击下面的文件名位置,BSDL.SET 窗口
将会自动弹出。图 11 是 SAMPLE 操作步骤。
图 11. SAMPLE 检查操作步骤
8. 在 BSDL.SET 窗口中,请将 filter data 选项中的 Intern 勾选删除,芯片内部的信号不需要进行测试。下面详细列出了当前验证板上芯片的每个信号引脚上的实际状态值,0 是低电平,1 是高电平。使用万用表测量 EVK 板上相应引脚的信号电压是否和 SAMPLE 中列出的值相匹配,可以多测量几个管脚相比较。图 12 是 SAMPLE 检查窗口。
图 12. BSDL.SET 中进行 SAMPLE 检查
9. 在 BSDL.SET 窗口中,Instructions 下面点击 EXTEST,在 DR mode 中勾选 Set Write,如 图 13 所示。然后切换到BSDL.state 窗口勾选 SetAndRun 和 TwoStepDR 即可,如 图 14 所示。然后再切换到 BSDL.SET 窗口。
图 13. BSDL.SET 窗口中 EXTEST 设置信息
图 14. BSDL.STATE 窗口中设置信息
10. 在 BSDL.SET 窗口中,这时单击 Enable 列中的按钮可以启用或停止相应引脚的信号输出,然后单击 Reg.中的按钮可以切换其输出状态为 0 或 1。使用万用表测量 EVK 板上的信号电平是否能匹配这些引脚上信号的电平状态。图 15 中首先点击 en 使管脚进入使能状态,然后点击“Reg.” 可以在 0 和 1 两种状态切换。
图 15. BSDL.SET 窗口使能管脚及测量
下面以 GPIO_AD_B0_14 为例进行说明,原理图中的信号名称为 CAN2_TX,它连接了 EVK 板上 RT1064 芯片 U1 的管脚 H14(如 图 16 所示)和 CAN BUS 芯片 U12 的管脚 1(如 图 17 所示)。当 Reg.中设置为 0 时,使用万用表测量上面两个管脚的对应电平都为 0V;当 Reg.中设置为 1 时,使用万用表测量上述两个管脚的对应电平都为 3.3V。
图 17. CAN BUS 芯片上对应的管脚
|