请选择 进入手机版 | 继续访问电脑版
查看: 1070|回复: 2

[原创] i.MX RT边界扫描描述语言(BSDL)使用介绍

[复制链接]
  • TA的每日心情
    开心
    2020-8-3 17:10
  • 签到天数: 69 天

    [LV.6]常住居民II

    1252

    主题

    2401

    帖子

    0

    金豆

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    11224
    最后登录
    2020-8-14
    发表于 2020-7-30 10:46:29 | 显示全部楼层 |阅读模式
    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.png
    图 1. Boundary Scan 应用原理示意图


    1.2 测试接入端口 JTAG
    JTAG 端口是通用测试接口,可以提供对组件内置的许多测试支持功能的访问,它主要包含 表 1 中给出的四个或五个信号。
    表 1. JTAG 引脚信号定义
    2.png

    2 软件安装
    用户可以直接访问 Lauterbach 官网,下载最新的 TRACE32 软件安装包,参考地址如下所示: https://www.lauterbach.com/
    frames.html?download_overview.html
    安装软件到本地电脑时有以下两个方面需要注意:
    1. 软件安装包大约 3.9G 左右,需要占用相应的电脑硬盘空间,安装时可选择性的安装模块。
    2. 安装目录 C:\T32\bin\windows64\drivers,用户可以在文件夹内找到相应的驱动程序。
    3 硬件连接示意图
    TRACE32 调试器硬件通常包含以下两个部分:
    • 通用调试器硬件
    • 特定的处理器系统结构的调试电缆
    图 2 是硬件连接示意图

    3.png

    图 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 验证板连接到电脑。

    5.png

    图 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
    6.png

    图 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 这两个引脚的连接示意图:

    7.png

    图 5. BSDL 文件中的 COMPLIANCE_PATTERN 部分

    8.png

    图 6. Test mode and POR_B 连接示意图



    4. BSDL 文件定义了引脚 GPIO_AD_B0_08 的状态为高电平,但实际 RT1064 EVK 验证板上通过 R303 电阻下拉到地,所以
    需要删除下拉电阻,并将引脚上拉到板内的 DCDC_3V3。图 7 显示了原理图中相应的连接示意图。

    9.png

    图 7. GPIO_AD_B0_08 连接示意图

    5. RT1064 EVK 验证板上应用了 OPENSDA 电路,进行 Boundary Scan 测试时会对 JTAG 的信号电平产生影响。所以需要
    断开它们之间的跳线连接器 J47, J48, J49, J50。图 8 列出了需要断开的跳线连接器。

    10.png

    图 8. SWD 跳线连接器断开

    4 应用 Lauterbach TRACE32 调试器验证 BSDL 文件
    1. 调试器和 PC 连接并且上电后,用户可以在设备管理器中发现 Trace32 Devices.
    11.png


    注意

    Lauterbach 调试器推荐型号 LA-4533 Debug-USB3,with LA-7960/4513. 设备相关的详细信息可以通过官网查询:
    https://www.lauterbach.com.
    2. 打开 TRACE32 软件, 选择 TRACE32 ICD ARM32 USB。

    12.png

    3. 软件打开后,在下面的命令窗口依次输入以下命令,每个命令输入后回车确认。
    1. SYStem.Down
    2. BSDL.RESet
    3. BSDL.ParkState Select-DR-Scan
    4. BSDL.state
    复制代码
    4. 这时软件就会自动弹出 BSDL.state 窗口。点击 FILE 进入浏览文件页面,并选择需要验证的 BSDL 文件双击打开。 图9 是 BSDL.state 操作窗口.

    13.png

    图 9. BSDL.state 操作窗口


    5. 文件打开之后, 在下面的命令窗口中输入下面的命令回车确认。
    BSDL.SOFTRESET
    6. 切换到 Check 选项界面,依次点击 BYPASSall 和 IDCODEall 两个选项依次进行相应的检查,显示 Test PASS 就可以。
    图 10 是详细操作步骤信息。

    14.png

    图 10. BYPASS and IDCODE 操作信息

    7. 然后点击 SAMPLEall 选项,这时由于 Test done 所以不会有任何提示出现。请双击下面的文件名位置,BSDL.SET 窗口
    将会自动弹出。图 11 是 SAMPLE 操作步骤。

    15.png

    图 11. SAMPLE 检查操作步骤


    8. 在 BSDL.SET 窗口中,请将 filter data 选项中的 Intern 勾选删除,芯片内部的信号不需要进行测试。下面详细列出了当前验证板上芯片的每个信号引脚上的实际状态值,0 是低电平,1 是高电平。使用万用表测量 EVK 板上相应引脚的信号电压是否和 SAMPLE 中列出的值相匹配,可以多测量几个管脚相比较。图 12 是 SAMPLE 检查窗口。

    16.png

    图 12. BSDL.SET 中进行 SAMPLE 检查

    9. 在 BSDL.SET 窗口中,Instructions 下面点击 EXTEST,在 DR mode 中勾选 Set Write,如 图 13 所示。然后切换到BSDL.state 窗口勾选 SetAndRun 和 TwoStepDR 即可,如 图 14 所示。然后再切换到 BSDL.SET 窗口。

    17.png

    图 13. BSDL.SET 窗口中 EXTEST 设置信息


    18.png

    图 14. BSDL.STATE 窗口中设置信息


    10. 在 BSDL.SET 窗口中,这时单击 Enable 列中的按钮可以启用或停止相应引脚的信号输出,然后单击 Reg.中的按钮可以切换其输出状态为 0 或 1。使用万用表测量 EVK 板上的信号电平是否能匹配这些引脚上信号的电平状态。图 15 中首先点击 en 使管脚进入使能状态,然后点击“Reg.” 可以在 0 和 1 两种状态切换。

    19.png

    图 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。

    20.png

    图 17. CAN BUS 芯片上对应的管脚




    签到
    回复

    使用道具 举报

    该用户从未签到

    294

    主题

    5099

    帖子

    0

    金豆

    超级版主

    Rank: 8Rank: 8

    积分
    8817
    最后登录
    2020-8-14
    发表于 2020-7-30 11:18:34 | 显示全部楼层
    谢谢分享!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 16:17
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    0

    主题

    17

    帖子

    0

    金豆

    新手上路

    Rank: 1

    积分
    44
    最后登录
    2020-8-13
    发表于 2020-7-31 10:52:46 | 显示全部楼层
    例如我做了块板子,但是发现运行不起来,然后用这个软件可以测试芯片各个PIN脚是否如期望的那样联通?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2020-8-15 06:47 , Processed in 0.072337 second(s), 15 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表