引自EDN博客:
pulan
IEEE 1149.1 标准背景
边界扫描/JTAG,即 IEEE/ANSI 标准1149.1_1190,是一套设计规则,可以在芯片级、板级和系统级简化测试、器件编程和调试。该标准是联合测试行动小组(JTAG)(由北美和欧洲的几家公司组成)开发的。IEEE 1149.1标准最初是做为一种能够延长现有自动测试设备(ATE)寿命的片上测试基础结构而开发的。可以从Texas Instruments 边界扫描页面获得更多信息。利用该标准整合测试设计,允许完全控制和接入器件的边界引脚,而无需不易操作的或其它测试设备。每个符合JTAG要求的器件的输入/输出引脚上都包括一个边界单元(如图1所示)。正常情况下,它是透明的和停止运行的,允许信号正常通过。借助于测试模式下的器件,您可以采集输入信号,以备后期分析之用;输出信号可以影响板上的其它器件。
简而言之,IEEE 1449.1 标准定义了一个串行协议。无论封装约束怎样,该协议都要求每个符合标准的器件上要有4个(也可以是5个)引脚。这些引脚定义了测试接入端口(TAP),以便实现片上测试基础设施的操作,从而确保:
- 印刷电路板上的所有器件安装正确并处于正确的位置。
- 器件间的所有互连都与设计所描述的一致。
引脚是:
- TCK - 这是一个时钟信号,用于同步1149.1内部状态机操作。
- TMS - 1149.1内部状态机模式选择信号。该信号在TCK的上升沿被采样,用来决定状态机的下一个状态。
- TDI - 1149.1数据输入引脚。当内部状态机处于正确状态时,信号在TCK的上升沿被采样,并被移入器件的测试或编程逻辑
- TDO - 1149.1数据输出引脚。当内部状态机处于正确状态时,该信号代表从器件测试或编程逻辑移出的数据位。 输出数据在TCK的下降沿有效。
- TRST(可选) - 1149.1异步复位引脚。当置低时,内部状态机立即进入复位状态。 由于该引脚是可选的,而通常为器件增加引脚会带来额外的成本,因此很少使用。 此外,内部状态机(如标准所定义的)已经明确定义有同步复位机制。
TAP引脚驱动一个16-状态控制器(状态机)。该状态机的状态根据TCK上升沿时TMS信号的值进行状态转换。 查看问答数据库内的状态机图解。
图中位于弧线旁边的'0'和'1'表示TCK上升沿时TMS信号的逻辑状态。
1149.1标准规定仅在Shift-DR或Shift-IR状态时TDI有效并被移入(TDO有效并被移出)。 Shift-IR状态选择TDI和TDO之间的器件指令寄存器。 根据选择的指令,不同的数据寄存器被激活。 在Shift-DR状态时,TDI和TDO之间与先前输入的指令相对应的数据寄存器被选中。 缺省数据寄存器是强制性的1位旁路寄存器。
外部边界扫描描述语言(BSDL)文件规定了任何器件的边界扫描逻辑的特性和特征。这些文件由IC制造商提供,并被用来生成符合IEEE 1149.1标准的器件操作的算法描述。
多个边界扫描器件以菊花链形式串接起来。 每个器件共享同样的TCK和TMS信号。 一个器件的TDO连接到下一个器件的TDI。 由于所有的器件采用同样的TCK和TMS,因此所有器件同时且同步地顺序转换TAP控制器状态。因此,所有的器件都处于同一个TAP控制器状态下。当将数据(在 Shift-IR 或 Shift-DR 状态)移到边界扫描链中时,所有器件都有寄存器在内部连接在其 TDI 和 TDO 引脚之间。 结果很明显,就是单个固定长度移位寄存器从系统 TDI 引脚转到系统 TDO。
IEEE 1532配置和编程标准
利用先进PLD和配置PROM设计的新系统需要最好的编程和配置技术。IEEE 1532标准所制定的技术规范使设计人员可同时编程多片器件,利用增强的芯片功能最小化编程时间,同时生产出更容易维护的、功能强大的系统。通过提供一个功能强大的和可靠的编程环境,这一新标准为更方便的硬件升级铺平了道路。
IEEE 1532标准简化了任何合格的PLD的配置,即使是在远程环境下也是如此。其统一的编程方法几乎消除了任何器件编程不确定性,并可保证正确的系统启动顺序(包括在掉电故障后)。 它允许用户容易地实现现场诊断和新功能,从而延长产品生命周期并降低现场维护成本。
编程和算法数据分开保存。可以在不影响另一个的情况下改变另一个,这样就消除了每次设计变更之后进行重新编译的必要。边界扫描工具和自动测试设备可以将编程效率最大化,还能将编程时间降至最短,从而降低了生产成本。
IEEE 1532标准具有明确定义的可提供增强功能的系统级指令,如有些指令可支持简单地实现同时编程,从而可进一步缩短编程时间。 通过利用这些简单的指令,设计人员可以缩短产品上市时间并集中精力进行系统特性和设计优化,而不是花费大量时间纠缠配置问题。