原型验证与调试 – 眼见为实

使用最好的工具花几个月开发最新的凳子产品设计后,现在是要实现的时候了。原型装配已经成形,准备测试。您所做的一切工作努力,严格的设计规则,SI分析和通过的预先仿真均可保证原型符合规范,无需进行设计修订---此外,这看上去很好。

问题是上电以后一个主要部分的工作运行和预期不一致。接下来可能就是大量的毛病,随之而来就是诊断和纠正问题,为此通常会将多种测试仪器接上探针或者在更大的生产环境中使用一种针床夹具。同时,您还得有设计文档和必要的排查问题技巧才能跟踪大量板卡上的信号并最终解决问题。

不幸的是,由于高密度多层板和最新一代诸如球形网格阵列(BGA)器件等组件封装的出现,诊断并纠错这个过程变得越来越困难。传统测试和调试技术依赖于从物理上访问板卡上的关键点和器件管脚,因此这种长久以来使用的方法经常无法操作,最好情况下也是效果不充分。确实,当BGA封装器件成为当今设计的主要元素后,无法访问的器件管脚就使得有效的板卡诊断变得几乎不可能。

那么,对于开发工程师解决原型问题来说复杂性就更大了。与发现已经正常工作单元的组件错误不同的是,原型错误可能由设计来源的错误、板卡装配问题或板级制造问题导致。设计并未成形,所以在诊断原型错误时没有任何框架可供参考。

获得所需验证和调试手段的一个方法就是在原型板卡设计中引入大量测试点,将所有关键点和信号线暴露在测试仪器下。不幸的是,在大型的复杂设计中这种方法会对板卡开发时间带来很大影响:其成本、复杂性和物理尺寸的增加可能超出了访问原型内部信号进行问题排查所带来的好处。

消除边界

为了解决管脚访问和新器件封装(典型的是BGA)不断增加的密度问题,测试工程师在20世纪80年代末建立了联合测试行动组(JTAG)来应对这些限制,开发出新的测试方法,成功地在90年代早期推出了边界扫描技术(IEEE1149.1标准)。边界扫描或JTAG器件具有附加电路,可创建嵌入式串行通信总线,对其进行编程即可输入并传输所有管脚逻辑状态的快照。由于串行总线有四个连线,因此所有兼容器件的JTAG通信可在板卡版图上简单地串接在一起,通过合适的接口完成最终的测试与调试。

因此,我们就有可能通过JTAG硬件链,使用简单的软件对那些无法访问的高密度器件上的管脚构成的新一代复杂设计进行综合问题排查和验证。此外,JTAG器件的广泛使用为所有新设计(尤其那些基于大规模可编程器件-如FPGA器件的设计)打开了节约成本的大门,从而无需依赖物理探测技术和外部的仿真信号。

如果设计中具有了高层的JTAG支持,则可以使用逻辑的查找技术来减小出错的可能性,然后找到问题的来源-无论是虚焊点、短路、错误定向的组件还是禁止的设计错误都是如此。

面临着各种电气或功能故障可能性时,边界扫描分析可帮您快速排除故障可能,大量减少设计验证和测试时间,同时指导您找出错误来源。更好的是,如果该功能是电子产品开发系统的一个组成部分,则对原型的操作不再是割裂开的,而且设计从概念到完成也不再是一个繁重的任务。

实时观察行为

JTAG

引入每个JTAG供应商提供的 BSDL 文件您就可以
访问设计中每一个 JTAG 器件的管脚状态。

通过一系列高级的JTAG功能,Altium Designer本身就支持这种板卡装配的方法, JTAG可实时地与配备适当的板卡进行通信。这些板卡可以是 Altium自己的 FPGA 原型板 –NanoBoard – 或任意通过 Altium  通用 JTAG 电缆或 NanoBoard上扩展连接器进行连接的JTAG板卡。

一旦连接到四线 JTAG 接口, Altium Designer 即可访问用户原型板卡上的边界扫描器件,然后在开发PC的显示屏上现场显示管脚状态。任何遵守 JTAG标准的器件都可以通过引入匹配边界扫描描述语言(BSDL) 文件来访问,该文件由器件供应商提供 – 您可以完全以JTAG视角观察原型设计的内部状态。

如何选择信息的显示方式取决于您自己的偏好或给您提供最大帮助的管脚状态信息类型。 Altium Designer通过基于原理图的测试探头来提供设计文档级管脚状态访问,把探头放在电路上即可实时显示JTAG线或总线的逻辑状态。

如果您的偏好或关心的领域在板卡的版图文档级别,则Altium Designer 也在器件和连接的线轨级别提供了实时的管脚状态监控。如果您怀疑器件放置错误或错误的焊接点可能会阻碍(JTAG) 器件管脚间或器件之间的信号转换,那么监控功能就十分理想,互连线轨会实时地加亮显示其逻辑状态。

Monitoring the pins of a JTAG-compliant device (in this case an FPGA), with pin status being displayed on the routed PCB

监控 JTAG器件 (本例中为 FPGA)的管脚状态,管脚状态显示在布线 PCB上。

除了文档级的点监控之外, Altium Designer 也提供改进的 JTAG 器件视图窗口,可以实时显示器件所有管脚的状态。选定板载 JTAG 器件的现场视图可连续以表格形式更新所有管脚状态,以及在匹配的器件原理图符号和PCB封装上显示管脚操作。在诊断或验证原型的操作时, Altium Designer的实时视图可提供大量信息以及板卡装配内部的信号状态信息。

The JTAG Device Viewer interrogates and displays the state of the pins in any JTAG compliant device in your design in real time, helping you to analyze and debug your design.

JTAG 器件视图可实时查询和显示设计中任意 JTAG 器件管脚的状态,帮助用户分析和调试设计。

 

实时交互

虽然标准 JTAG 链对访问装配板卡的兼容器件和连接 十分理想 – 但其最初功能 – 它也具有很多高层功能,如 FPGA 和其他可编程器件的内电路编程端口。更进一步的是工作组开发出了 Nexus 标准,利用现有的 JTAG ‘硬链’ 创建附加的 ‘软’ JTAG 链来辅助嵌入式微处理器的工作– 访问逻辑状态然后在 FPGA内部引入可编程的软器件。

Altium Designer 利用 Nexus 标准以FPGA编程的嵌入式结构提供通信,以新的交互方法开发电子产品 – Altium的 LiveDesign 方法。 LiveDesign 和 Altium Designer 构成了统一的设计系统,用户可使用屏幕上的虚拟测试仪器和处理器调试器– 当然还有硬 JTAG 链激活的基于文档和窗口的管脚状态监控功能,实时地与FPGA平台上的可重构硬件进行实时交互。

关于 LiveDesign – Altium 革命性的电子产品开发方法的更多信息– 请参考Altium网站上的 ‘创建并‘现场’使用软 PCB’ 和 LiveDesign 。 Altium Designer 使 LiveDesign 成为可能,在平台级统一了 JTAG 通信,提供对设计中以前无法访问的元素进行高级、实时地访问。 Altium 的 JTAG技术可验证或调试原型或装配制造板卡,或在可重构的硬件平台上利用交互式设计,以更低的最终成本更快地开发出更好的电子产品。

更多信息链接