充分利用现有标准作为基础,是保证方案稳定而有效的一个原则。本文分析了IEEE1149.1协议,在与标准兼容的基础上,提供了一种快速扫描JTAG链路的方法。 根据 IEEE1149.1-2001 ,存在如下规则: 在 Test-Logic-Reset 状态下,测试逻辑被禁用,器件正常工作。 TAP 在下列条件下会进入 Test-Logic-Reset 状态:( a )上电,( b ) TRST 置低电平,( c )通过 TMS 与 TCK 迁跃状态。不论 TAP 当前的状态如何,在连续 5 个 TCK 的上升沿将 TMS 保持为高,即可使 TAP 进入 Test-Logic-Reset 状态。 每个设备都必须提供 BYPASS 指令,如果提供设备标志寄存器,则必须同时提供 IDCODE 指令。 在 TAP 的驱动下,进入 Test-Logic-Reset 状态后, IDCODE 指令必须在 TCK 下降沿被锁存到指令寄存器(如果设备不提供 IDCODE 指令,则锁存 BYPASS 指令)。所有 TAP 状态的切换必须在 TCK 的上升沿发生。 BYPASS 数据寄存器长度为 1 ,在 Capture-DR 状态下 TCK 上升沿,移位寄存器必须被设为 0 。 IDCODE 数据寄存器长度为 32 ,在 Capture-DR 状态下 TCK 上升沿,移位寄存器被设为设备标志码。设备 ID 数据寄存器最低位为 1 。 Manufacturer Identity 不可能为全 1 。根据 Rules 12.2.1 , 11 位的厂商代码分为两个部分: 7-1 位来自 EIA/JEP106 定义的代码的低 7 位(最高位为校验位), 11-8 位为连接码符总数目与 16 的模。目前尚不清楚厂商代码如何计算连接码,但是连接码定义为 7F ,因此 7-1 不可能为全 1 ,进而厂商代码不可能为全 1 。 00001111111 为无效的厂商代码,任何与 IEEE1149 兼容的设备都不使用该代码。 根据上述事实, JTAG 链扫描的方案设计如下: 连续产生 5 个 TCK ,并保持 TMS 为高,使 TAP 进入 Test-Logic-Reset 状态。 TDI 移入 1 位’ 1’ ,读取 TDO 。如果 TDO 为 0 转至第 3 步,
Sail on this course and take it when it comes.