You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
广州周立功单片机发展有限公司 Tel (020)38730976 38730916 Fax 38730925 http //www.zlgmcu.com<br />
SCAN_N 0010<br />
INTEST 1100<br />
IDCODE 1110<br />
BYPASS 1111<br />
RESTART 0100<br />
在下面的描述中 <strong>ARM7TDMI</strong>-S 处理在 CLK 上升沿并且 DBGTCKEN 为高时对 DBGTDI 和 DBGTMS<br />
进行采样 TAP 控制器状态如图 5-8 所示<br />
5.13.1 SCAN_N(0010)<br />
SCAN_N 指令连接 DBGTDI 阿 DBGTDO 之间的扫描路径选择寄存器<br />
在 CAPTURE-DR 状态下 将固定值 1000 装入寄存器<br />
在 SHIFT-DR 状态下 将选择的扫描路径的 ID 号装入寄存器<br />
在 UPDATE-DR 状态下 被选择扫描链的扫描寄存器连接 DBGTDI 和 DBGTDO 并一直保持连<br />
接直到执行下一条 SCAN_N 指令为止<br />
复位时 默认选择扫描链 0<br />
此时扫描路径选择寄存器长度为 4 位 即使没有指定长度<br />
5.13.2 INTEST (1100)<br />
INTEST 指令使被选择的扫描链进入测试模式<br />
INTEST 指令连接 DBGTDI 和 DBGTDO 之间被选择的扫描链<br />
当 INTEST 指令装入指令寄存器时 所有扫描单元都进入各自的测试模式<br />
在 CAPTURE-DR 状态下<br />
单元的数据值被捕获<br />
数据值由内核逻辑提供给输出扫描单元 而系统逻辑提供给输入扫描<br />
在 SHIFT-DR 状态下 之前被捕获的测试数据通过 DBGTDO 管脚从扫描链移出 而新的测试数<br />
据通过 DBGTDI 管脚移入<br />
使用 INTEST 指令可实现内核的单步操作<br />
5.13.3 IDCODE (1110)<br />
IDCODE 指令连接 DBGTDI 和 DBGTDO 之间的器件标识代码寄存器 ID 寄存器 ID 寄存器是一个<br />
32 位寄存器 可通过 TAP 从中读出制造商 产品编号和部件版本 详见 ID 寄存器一节<br />
当 IDCODE 指令装入指令寄存器时 所有扫描单元都进入各自的正常 系统 操作模式<br />
在 CAPTURE-DR 状态下 器件标识代码被捕获到 ID 寄存器中<br />
在 SHIFT-DR 状态下 之前捕获的器件标识代码通过 DBGTDO 管脚从 ID 寄存器移出 而新的<br />
数据通过 DBGTDI 管脚移入 ID 寄存器<br />
在 UPDATE-DR 状态下 ID 寄存器不受影响<br />
5.13.4 BYPASS (1111)<br />
BYPASS 指令连接 DBGTDI 和 DBGTDO 之间的 1 位移位寄存器 旁路寄存器<br />
当 BYPASS 指令装入指令寄存器时 PYPASS 指令对系统管脚无影响<br />
在 CAPTURE-DR 状态下 逻辑 0 捕获到旁路寄存器<br />
在 SHIFT-DR 状态下 测试数据通过 DBGTDI 移入旁路寄存器 并在延迟一个 CLK 周期后从<br />
DBGTDO 移出 第一个移出的位为 0<br />
旁路寄存器在 UPDATE-DR 状态下不受影响<br />
- 46 -