news 2026/6/8 19:08:08

硬件调试利器:基于JTAG边界扫描的PCB连通性测试实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
硬件调试利器:基于JTAG边界扫描的PCB连通性测试实战

1. 项目概述:为什么我们需要边界扫描?

在嵌入式硬件开发,尤其是基于复杂SoC(如NXP的i.MX8系列)的电路板设计调试中,最让人头疼的环节之一就是板级硬件验证。板子贴片回来,上电后串口没打印、某个接口没反应,或者干脆连芯片都发烫。这时候,你面对的是一块“黑盒”,传统的调试手段,比如用万用表一个个点去量电压、用示波器抓波形,不仅效率低下,而且对于BGA封装的芯片,很多关键测试点根本无法直接触及。更棘手的是,如果问题出在芯片引脚与PCB焊盘之间的焊接(比如虚焊、桥接),或者PCB走线本身的开路/短路,常规的软件调试工具根本无能为力。

这时候,边界扫描(Boundary Scan)技术就成了硬件工程师和底层驱动工程师手中的“透视眼”和“遥控器”。它不是什么新潮技术,而是基于一个存在了三十多年的成熟工业标准——IEEE 1149.1,也就是大家常说的JTAG。很多人对JTAG的认知还停留在“下载程序、单步调试”的层面,这其实只用了它一小部分功能。其更强大、更本质的能力,正是通过边界扫描架构,实现对芯片引脚电气状态的非侵入式控制和观测。

简单来说,你可以把边界扫描想象成给芯片的每一个I/O引脚都装上了一个微型的、可控的“数字开关”和“状态指示灯”。这些开关和指示灯(在硬件上表现为边界扫描单元)被串联成一条很长的“链条”。通过标准的JTAG接口(TCK, TMS, TDI, TDO),我们可以像操作移位寄存器一样,把一串特定的“0”和“1”数据(代表我们希望引脚输出的电平)灌入这条链,同时也能把当前引脚实际检测到的电平状态(“指示灯”的状态)读出来。整个过程完全不需要芯片内部的CPU核心运行任何代码,甚至在芯片未初始化、没有外部供电(仅需JTAG接口电源)的情况下也能进行。

这项技术的工程价值巨大。对于研发,它能在早期快速验证PCB layout和焊接质量,定位是设计缺陷还是生产问题。对于生产测试,它可以编写自动化脚本,对成千上万的板卡进行快速通断测试。对于现场维护,当设备出现不明硬件故障时,它是诊断连接性问题最直接的工具。本文将以NXP i.MX8/i.MX8X处理器为例,结合描述芯片边界扫描结构的BSDL文件,以及业界标杆的Lauterbach TRACE32调试器,手把手带你走通一次完整的边界扫描测试流程,把这项“古老”但极其强大的技术,变成你调试工具箱里的常规武器。

2. 核心原理与硬件准备拆解

2.1 深入理解IEEE 1149.1与边界扫描单元

要玩转边界扫描,不能只停留在“知道怎么点按钮”的层面,理解其背后的状态机和数据流至关重要。这能帮助你在测试失败时,快速定位是脚本问题、硬件连接问题,还是芯片本身的状态不对。

IEEE 1149.1标准定义了一个测试访问端口和一个TAP控制器。TAP控制器是一个16状态的状态机,其状态转移完全由TMS信号在TCK上升沿时的电平决定。我们常用的几个关键状态包括:

  • Test-Logic-Reset:上电或通过TRST_N信号进入的初始状态,此时边界扫描功能被禁用,芯片I/O正常工作。
  • Run-Test/Idle:一个空闲状态,某些测试指令(如RUNBIST)在此状态执行。
  • Shift-DRShift-IR:在这两个状态下,数据通过TDI移入,从TDO移出。DR是数据寄存器,IR是指令寄存器。
  • Update-DR:将移位到DR中的数据锁存到并行输出(例如,将值锁存到引脚驱动上)。

边界扫描的核心是那条串联的边界扫描寄存器链。每个I/O引脚都对应一个或多个边界扫描单元。这些单元通常包含两个关键部分:一个捕获触发器(Capture Flip-Flop)和一个更新触发器(Update Flip-Flop)。在EXTEST(外部测试)指令下:

  1. 捕获阶段:捕获触发器会采样当前引脚上的实际电平(对于输入)或即将输出的电平(对于输出)。
  2. 移位阶段:所有单元的捕获触发器被串联起来,在Shift-DR状态下,通过TCK时钟,将采样值一位一位地从TDO移出(供我们读取),同时将我们想要设置的新值从TDI一位一位地移入。
  3. 更新阶段:进入Update-DR状态后,移位进来的新值被锁存到更新触发器,并立即驱动到对应的引脚上(对于输出引脚)或控制输出缓冲器(对于三态引脚)。

通过精心编排移入的数据,我们可以让所有输出引脚同时输出高电平、低电平或特定模式,然后用万用表或示波器去测量对应网络点的电压,验证连通性。同理,我们可以设置一些引脚为输入,然后从外部施加激励(比如用跳线接高或接低),再通过边界扫描链读回采样值,验证输入通路是否正常。

2.2 硬件连接与安全操作规范

工欲善其事,必先利其器。进行边界扫描测试,你需要以下硬件:

  1. 调试主机:一台安装有Lauterbach TRACE32软件的Windows/Linux PC。
  2. Lauterbach调试器:如PowerDebug或LA-7700系列等支持ARM的型号。文档中示例使用的是LA3500 DEBUG USB 3.0。
  3. 调试电缆:与目标处理器JTAG接口匹配的电缆。对于i.MX8系列(ARM Cortex-A核心),通常使用ARM 20-pin或10-pin Compact JTAG接口。示例中使用的是LA-3743电缆。
  4. 待测目标板:本文以i.MX8QXP MEK开发板为例。
  5. 电源与线缆:为调试器和目标板供电。

安全第一!硬件连接有严格的顺序,错误的操作可能损坏昂贵的调试器或SoC芯片。

重要警告:绝对禁止在目标板或调试器通电状态下热插拔JTAG连接器!静电和瞬间的电流冲击可能导致接口芯片或SoC的JTAG控制器永久损坏。

正确的上电/下电序列如下:

  • 连接顺序:先连接所有线缆,确保JTAG接口方向正确(观察防呆口),再通电。
  • 上电顺序先给调试器上电,等待其初始化完成(指示灯稳定),再给目标板上电。这个顺序确保了JTAG信号在目标板CPU上电瞬间就处于稳定、可控的状态,避免了总线冲突。
  • 下电顺序先关闭目标板电源再关闭调试器电源。最后再拔除线缆。

以i.MX8QXP MEK板为例,具体连接步骤是:

  1. 使用LA-3743电缆,将Lauterbach调试器的JTAG端口连接到MEK板的10-pin JTAG接口(J901)。
  2. 使用USB线将调试器连接到PC。
  3. 将调试器的电源适配器(通常为5V)接通。
  4. 最后,接通MEK板的电源适配器。

2.3 目标板进入边界扫描模式的条件配置

不是插上JTAG就能直接做边界扫描。SoC需要被配置进入一种特殊的“测试模式”。这个信息就藏在每个芯片对应的BSDL文件里。BSDL文件是一种用VHDL子集编写的文本文件,由芯片厂商提供,它精确描述了该芯片的边界扫描结构,包括引脚映射、单元定义、支持的操作指令以及进入边界扫描的合规性模式

对于i.MX8QXP,在其BSDL文件中,你会找到类似这样的关键属性:

attribute COMPLIANCE_PATTERNS of MX8QXP : entity is "(TEST_MODE_SELECT, POR_B) (01)";

这行代码的意思是:要使芯片进入合规的边界扫描测试状态,需要满足的条件是TEST_MODE_SELECT信号为0(低电平),POR_B信号为1(高电平)。

  • TEST_MODE_SELECT:在MEK板的原理图中,这个信号通常通过下拉电阻固定为低电平,所以默认条件已满足。
  • POR_B:这是芯片的上电复位信号,低电平有效。要进入边界扫描,需要确保它在测试期间为高电平(即解除复位状态)。在MEK板上,这个信号连接了一个按钮和一个来自调试器的信号,可以通过调试器控制。

此外,还需要将启动模式DIP开关设置为Serial Downloader模式(通常是一组特定的二进制编码,例如1-4: ON, OFF, OFF, ON,具体需查阅板级手册)。这个设置是为了让芯片上电后不执行内部BootROM的正常引导流程,而是等待通过特定接口(如USB)下载代码,同时也为JTAG接管控制权创造了条件。

总结硬件配置要点:正确连接硬件并按顺序上电,同时根据BSDL文件要求,设置好启动模式开关,并确保POR_B信号为高。这是成功进行边界扫描的前提。

3. 软件环境配置与BSDL文件解析

3.1 TRACE32软件安装与基础配置

Lauterbach TRACE32是功能强大的综合性调试平台,其边界扫描功能只是冰山一角。首先,你需要从Lauterbach官网下载对应你主机操作系统的TRACE32软件安装包。安装过程通常比较直接,但需要注意选择支持你目标架构(这里是ARMv8/AArch64)的许可证。

安装完成后,连接好硬件并上电,在Windows设备管理器中应能看到“Trace32 Devices”条目,这表明调试器驱动已正确安装。首次运行TRACE32软件时,它会自动检测连接的调试器硬件。你需要创建一个新的或打开一个已有的调试配置(.t32文件)。对于边界扫描,我们通常从一个最基础的、不加载任何符号文件的配置开始。

在TRACE32的命令行窗口(通常标记为“Command”或“Practice”窗口),我们可以输入所有控制指令。边界扫描相关的命令都以BSDL.为前缀。开始任何测试前,一个良好的习惯是先执行SYStem.Down命令。这个命令会重置调试器与目标之间的连接状态,确保一个干净的起点,避免之前调试会话的残留状态影响边界扫描。

3.2 理解与选择合适的BSDL文件

NXP为i.MX8系列SoC提供了多个BSDL文件,这是因为同一颗芯片可能因内部不同电源域(Power Domain)的供电配置不同,而导致其I/O引脚的电平特性或可用性不同。例如,某个GPIO引脚属于“NVCC_GPIO”电源域,如果这个电源域在板上没有供电,那么通过边界扫描去驱动该引脚就是无效甚至危险的。

因此,选择正确的BSDL文件是测试成功且安全的关键。你需要:

  1. 确认SoC具体型号:是i.MX8QXP,还是i.MX8QM?型号后缀必须完全匹配。
  2. 对照板级原理图:查看目标板上,SoC各个电源域(如NVCC_GPIO, NVCC_SD1, NVCC_ENET等)的供电情况。BSDL文件名或内部描述通常会注明其适用的电源域配置。
  3. 选择匹配的BSDL文件:从NXP官方提供的多个文件中,挑选出与你的板卡供电情况一致的那个。使用错误的BSDL文件,可能导致测试结果混乱,或者在对未供电的引脚进行操作时,因内部寄生二极管导通而产生不可预知的风险。

操作心得:我通常会在项目开始时,就将正确的BSDL文件与原理图、PCB文件一起归档。在TRACE32中加载BSDL文件后,可以先用BSDL.ListPins之类的命令查看一下引脚列表,随机核对几个引脚的定义(比如“GPIO1_IO05”)是否与原理图一致,做一个快速验证。

4. 边界扫描完整操作流程实录

4.1 初始化连接与BSDL文件加载

假设硬件已按规范连接并上电,TRACE32软件也已启动。我们通过命令行窗口按顺序执行以下初始化命令:

SYStem.Down ; // 重置调试系统,确保状态干净 BSDL.RESet ; // 重置BSDL相关模块和状态机 BSDL.ParkState Select-DR-Scan ; // 设置TAP控制器在空闲时停留在Select-DR-Scan状态,便于后续操作 BSDL.state ; // 打开BSDL状态控制窗口

执行BSDL.state后,会弹出一个名为“BSDL”的图形化窗口。这个窗口是我们进行边界扫描操作的主要界面。接下来,点击该窗口上的“FILE”按钮,在弹出的文件浏览器中,导航并选择你事先准备好的、正确的i.MX8QXP BSDL文件(例如mx8qxp_bsdl.vhd)。

加载文件后,TRACE32会解析该文件,并在后台构建芯片的边界扫描模型。如果文件格式正确且与调试器连接的目标匹配,通常不会有错误提示。

4.2 基础连通性测试:IDCODE与BYPASS

在开始真正的引脚测试前,必须先验证两件事:JTAG链路是否通畅,以及我们能否与芯片的TAP控制器正确通信。这通过两个基本测试来完成。

在“BSDL”窗口,切换到“Check”标签页。你会看到几个按钮:

  1. 点击“IDCODEall”:这个指令会命令TAP控制器执行“IDCODE”指令,读取芯片的硅片标识码。每个符合JTAG标准的芯片都有一个唯一的IDCODE。如果测试通过,按钮旁边会显示“Pass”,并且你能在输出信息中看到一个32位的十六进制数。这强烈证明JTAG物理连接、TAP控制器状态以及指令通路是正常的。
  2. 点击“BYPASSall”:这个指令会命令TAP控制器进入“BYPASS”模式。在此模式下,芯片内部的边界扫描链被旁路,TDI和TDO之间几乎直连(只经过一个1位的寄存器)。这个测试用于验证在最简单模式下,数据移位功能是否正常。同样,“Pass”表示成功。

常见问题排查:如果“IDCODEall”失败,首先检查硬件:电源顺序、JTAG线是否接牢、接口方向、启动模式开关。其次,检查TRACE32的调试器配置(如JTAG时钟速率是否过高,可尝试降低)。如果“IDCODEall”通过但“BYPASSall”失败,情况比较少见,可能和芯片的特定状态或BSDL文件解析有关,可以尝试重新加载BSDL文件或重启整个调试会话。

4.3 采样当前引脚状态(SAMPLE)

基础测试通过后,我们可以进行第一次有实际意义的操作:采样当前所有引脚的实时状态。这个操作不会改变任何引脚输出,只是“偷看”一眼。

在“Check”标签页,点击“SAMPLEall”按钮。这个操作会执行“SAMPLE/PRELOAD”指令。该指令在捕获阶段采样引脚状态,在移位阶段将数据读出,并在更新阶段将原样数据重新加载回去(保持引脚状态不变)。执行完成后,“No result”会变成“Test done”。

此时,双击窗口中的实体名(例如“MX8QXP”),会弹出一个新的“BSDL.SET”窗口。这个窗口以列表形式展示了所有边界扫描单元(对应芯片引脚)的信息,包括单元编号、引脚名称、当前采样值等。

初始的“BSDL.SET”窗口会显示大量信息,包括很多内部(Intern)寄存器单元。为了聚焦于我们关心的外部引脚,取消勾选窗口中的“Intern”复选框。过滤后,列表中剩下的就是芯片外部信号引脚(如GPIO、UART_TXD等)的采样值了。

实操验证:现在,拿起你的万用表,调到直流电压档。在“BSDL.SET”窗口中找到几个容易测量的引脚,例如:

  • 连接了上拉电阻的引脚(采样值应为1,电压接近电源电压,如3.3V)。
  • 连接了下拉电阻或悬空的引脚(采样值可能为0或不定,电压接近0V)。
  • 被配置为输出的引脚(其电平由当前运行的程序决定)。

用万用表测量这些引脚在PCB上的测试点电压,与“BSDL.SET”窗口中显示的采样逻辑值(0或1)进行比对。如果一致,恭喜你,这说明边界扫描链的数据捕获功能是准确的,你的测量工具和测试方法也是正确的。这是后续所有测试可信度的基石。

4.4 执行外部互连测试(EXTEST)

这是边界扫描的核心环节,即主动驱动引脚电平,来测试PCB互连。在进行此步骤前,请务必再次确认板卡上无敏感器件可能被意外驱动的电平损坏。

  1. 设置EXTEST指令:在“BSDL.SET”窗口的“Instructions”列表中,选择“EXTEST”。在“DR mode”下拉菜单中,选择“Set Write”。这个模式允许我们直接写入希望引脚输出的值。
  2. 配置驱动值:在引脚列表中,找到你想测试的引脚。例如,我们想测试UART2的发送和接收线是否短路。找到“UART2_TXD”和“UART2_RXD”(注意:BSDL中的引脚命名可能略有不同,需对照数据手册)。在对应的“Set”列,手动输入你希望驱动到的逻辑值。例如,将UART2_TXD设为1UART2_RXD也设为1。这意味着我们命令这两个引脚都输出高电平。
  3. 关键窗口设置:回到“BSDL”主窗口(“BSDL.state”窗口)。在“Check”标签页,找到并勾选两个重要选项:
    • “SetAndRun”:勾选此项后,当我们执行测试时,TRACE32会自动将我们在“BSDL.SET”窗口中设置的值,通过移位操作加载到边界扫描链的更新寄存器中,并立即生效(驱动到引脚上)。如果不勾选,则只进行采样,不更新输出。
    • “TwoStepDR”:这是一个非常重要的安全选项。它使EXTEST操作分两步完成:第一步,将新的驱动值移入链中;第二步,才进行更新。这允许我们在最终驱动引脚前,有一次检查和确认数据的机会。对于初次测试或不确定的操作,强烈建议勾选
  4. 执行与测量:点击“BSDL”窗口中的“EXTESTall”按钮(或在“Check”标签页找到对应按钮)。如果勾选了“TwoStepDR”,你可能需要根据提示进行两步确认。执行成功后,芯片上你设置的那些引脚,其输出缓冲器应该已经被强制驱动到你设定的电平。

现在,使用万用表测量UART2_TXDUART2_RXD在PCB上的网络。如果两者都被驱动为高电平,且它们之间没有短路,那么测量两者之间的电压差应接近0V(因为它们电位相同)。但更典型的测试是:将UART2_TXD设为1UART2_RXD设为0,然后用万用表测量两者之间的电阻或电压。如果测量到低电阻或异常电压,则表明两条走线可能存在短路。同理,可以将某个引脚设为输出高电平,然后测量该网络远端电阻或连接器处的电压,来验证是否存在开路。

4.5 高级技巧与脚本自动化

对于复杂的板卡或生产测试,手动点选图形界面效率太低。TRACE32支持使用CMM脚本语言进行自动化操作。你可以将上述一系列命令写成脚本:

; boundary_scan_auto.cmm SYStem.Down BSDL.RESet BSDL.ParkState Select-DR-Scan BSDL.FILE “C:\BSDL\mx8qxp_bsdl.vhd” ; // 加载BSDL文件 BSDL.SOFTRESET ; 基础检查 BSDL.CHECK IDCODE IF !STRing(BSDL.RESult,“Pass”) ( PRINT “IDCODE Test FAILED! Check hardware connection.” END ) BSDL.CHECK BYPASS IF !STRing(BSDL.RESult,“Pass”) ( PRINT “BYPASS Test FAILED!” END ) ; 采样当前状态 BSDL.INSTRUCTION SAMPLE BSDL.CHECK SAMPLE ; 设置EXTEST并驱动特定引脚 BSDL.INSTRUCTION EXTEST BSDL.SET /PIN UART2_TXD 1 ; // 设置引脚为高 BSDL.SET /PIN UART2_RXD 0 ; // 设置引脚为低 BSDL.SET /PIN GPIO1_IO05 Z ; // 设置引脚为高阻态(如果支持) BSDL.CHECK EXTEST /SETANDRUN ; // 执行EXTEST并应用设置 ; 可以再次采样以验证驱动是否成功(可选) BSDL.INSTRUCTION SAMPLE BSDL.CHECK SAMPLE PRINT “Boundary Scan Test Sequence Completed.”

在TRACE32命令行中,使用DO boundary_scan_auto.cmm即可自动运行整个测试流程。这对于需要重复测试多块板卡,或者将边界扫描集成到更复杂的上电自检(POST)流程中,非常有价值。

5. 常见问题、风险规避与实战心得

5.1 典型问题排查速查表

问题现象可能原因排查步骤与解决方案
TRACE32无法连接调试器1. 驱动未安装或异常。
2. 调试器电源未接或故障。
3. USB线缆问题。
1. 检查设备管理器,重新安装驱动。
2. 检查调试器电源指示灯。
3. 更换USB线或端口。
连接成功但IDCODE读取失败1. JTAG线连接错误(TDI/TDO接反)。
2. 目标板未上电或电源异常。
3. JTAG时钟(TCK)速率过高。
4. 启动模式未设置为支持JTAG的模式。
1. 对照原理图检查JTAG连线。
2. 测量目标板JTAG接口供电电压。
3. 在TRACE32硬件设置中大幅降低TCK频率(如从10MHz降至1MHz)。
4. 确认启动模式DIP开关设置正确(Serial Downloader或JTAG模式)。
BSDL文件加载失败或解析错误1. BSDL文件路径错误或损坏。
2. BSDL文件与芯片型号不匹配。
3. TRACE32软件版本不支持该文件语法。
1. 确认文件路径,尝试重新下载BSDL文件。
2. 核对芯片型号和文件命名。
3. 升级TRACE32软件到最新版本。
SAMPLE采样值与实际测量值不符1. 测量点选择错误(未测到正确网络)。
2. 该引脚被板载其他器件(如上拉/下拉)强制拉到了不同电平。
3. 该引脚所在的电源域未供电,导致I/O缓冲器未工作。
1. 对照PCB图,找到确切的测试点。
2. 查看原理图,确认是否有外部电路影响。在EXTEST中尝试驱动该引脚到相反电平,看是否能覆盖外部影响。
3.重点检查:确认该引脚所属的电源域(如NVCC_GPIO)在板上已正确供电。这是最常见的原因之一。
EXTEST驱动引脚后,电压变化不明显或为01. 引脚驱动能力弱,被外部大负载拉低。
2. 引脚被配置为输入模式(在BSDL中可能显示为高阻Z),无法驱动。
3. 同“采样值不符”的第3点,电源域未供电。
1. 断开可能的外部负载再测试。
2. 确认在BSDL中该引脚是否支持输出驱动。有些专用输入引脚不支持输出。
3. 测量该电源域的电压。
操作过程中芯片或局部电路发热立即断电!可能发生了总线冲突或短路。1. 检查是否有多个源在驱动同一总线(如CPU和FPGA)。
2. 检查EXTEST设置的引脚电平是否与板上已有电平冲突(如将已连接至VCC的引脚驱动为0)。
3. 使用“TwoStepDR”模式,并在更新前仔细检查BSDL.SET中的设置。

5.2 核心风险与安全操作规范

边界扫描是强大的,但也具有潜在破坏性。遵循以下规范至关重要:

  1. 电源域检查是第一要务:在操作任何引脚前,必须通过原理图确认其所属的电源域(Power Domain)在板上已上电。对未供电域的引脚进行驱动或采样,可能导致电流通过内部ESD二极管倒灌,损坏芯片。
  2. 避免总线冲突:如果目标板上除了主SoC,还有其他的总线主设备(如CPLD、FPGA、另一个处理器),在进行EXTEST时,必须确保这些设备处于高阻态或断电状态。否则,多个输出级同时驱动一条总线会产生大电流,损坏器件。
  3. 慎用高驱动能力:边界扫描驱动的是芯片的静态I/O缓冲器。虽然可以设置驱动强度,但应避免用其直接驱动大电流负载(如LED、继电器线圈)。这可能导致芯片过流或测试结果不准确。
  4. 理解“高阻态(Z)”:BSDL允许将引脚设置为高阻态。这在实际测试中非常有用,例如测试一个双向数据线时,可以先将其设为输出驱动一个值,再设为高阻态作为输入去采样,来测试外部电路的反应。
  5. 从简单到复杂:初次测试时,不要一次性驱动所有引脚。选择一两个无关紧要的测试点(如未使用的GPIO)开始。验证流程正确后,再扩展到关键信号。

5.3 实战经验与技巧分享

在我多年的硬件调试经历中,边界扫描不止一次帮我快速定位了“幽灵问题”:

  • 一次是BGA芯片的球窝虚焊:板卡上的以太网PHY芯片偶尔不工作。软件排查无果后,使用边界扫描对PHY的MDIO管理接口引脚进行EXTEST。发现某个引脚设置为输出低时,远端测量点仍有微弱高电平。最终用热风枪局部加热后故障消失,确认是该BGA焊球虚焊,受热膨胀后暂时接触。
  • 另一次是PCB内层过孔断裂:这是一个四层板,某信号在表层走线,通过过孔换到内层。边界扫描驱动该信号为高,在过孔后的内层线段末端测量不到电压。用飞线直接连接过孔两端后功能恢复,确认为过孔工艺不良导致开路。

几个提升效率的小技巧:

  • 建立引脚映射表:将BSDL文件中的引脚名称、编号与你原理图中的网络标签、PCB中的测试点编号对应起来,做成一个Excel表或文本文件。测试时直接查找,效率倍增。
  • 利用“Group”功能:TRACE32的BSDL支持将相关引脚(如一整组GPIO、一个外设接口的所有信号)定义成组。你可以一次性设置或读取整个组的状态,非常适合测试并行总线。
  • 结合原理图高亮:在执行SAMPLE或EXTEST时,将测得的逻辑值(0/1/Z)反馈标注到你的EDA工具(如Altium Designer, Cadence Allegro)的原理图或PCB图上,可以非常直观地看到整个板卡的“数字状态快照”,对分析问题极有帮助。
  • 保存会话日志:TRACE32可以将所有命令行操作和结果输出保存为日志文件。这对于记录测试过程、生成测试报告以及后续问题回溯至关重要。

边界扫描不是万能的,它主要解决的是“连接性”问题。对于信号完整性、时序问题、模拟电路故障,它无能为力。但当一块复杂的板卡“静默无声”时,它往往是你能打出的第一张、也是最有效的一张牌。掌握它,意味着你在硬件调试的战场上,拥有了一件穿透迷雾的利器。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:07:33

UKI.js快速入门教程:如何用JSON构建复杂Web界面

UKI.js快速入门教程:如何用JSON构建复杂Web界面 【免费下载链接】uki Simple UiKit for complex web apps 项目地址: https://gitcode.com/gh_mirrors/uk/uki 你是否厌倦了编写冗长的HTML和CSS代码来构建Web界面?想要一种更简单、更直观的方式来创…

作者头像 李华
网站建设 2026/6/8 19:06:52

东方博宜OJ 1010:数组元素的排序 ← 桶排序

【题目来源】 https://oj.czos.cn/p/1010 【题目描述】 对数组的元素按从小到大进行排序。 【输入格式】 第一行有一个整数 n(5≤n≤10); 第二行有 n 个整数,每个整数的值在 [0, 10^9]的范围内。 【输出格式】 输出排序后的数组…

作者头像 李华
网站建设 2026/6/8 19:04:29

3个关键步骤让老旧Mac焕发新生:OpenCore Legacy Patcher实战指南

3个关键步骤让老旧Mac焕发新生:OpenCore Legacy Patcher实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否曾为手中的Mac设备感到惋惜…

作者头像 李华
网站建设 2026/6/8 19:02:08

5步快速上手foobox-cn:打造你的专属音乐播放中心

5步快速上手foobox-cn:打造你的专属音乐播放中心 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn foobox-cn是foobar2000的深度定制界面配置,基于默认用户界面(DUI)和JSplitter…

作者头像 李华
网站建设 2026/6/8 19:01:10

基于EdgeLock安全元件实现充电桩ISO 15118与OCPP 2.0.1安全合规方案

1. 项目概述:当智能充电桩遇上硬核安全 如果你正在开发电动汽车充电桩,或者对充电桩与汽车、云端如何安全“对话”感兴趣,那你一定绕不开两个核心标准: ISO 15118 和 OCPP 。前者定义了电动汽车与充电桩之间高级通信的“语言”…

作者头像 李华