10.1.3 TAP控制器的状态机
TAP控制器有16个同步状态,控制器的下一个状态TMS信号决定,TMS信号在TCK的上升沿被采样生效。
图10-1列出了TAP控制器的16个同步状态转换机制。
|
(点击查看大图)图10-1 TAP(Test
Access Port)控制器状态机 |
Test-Logic-Reset测试逻辑复位状态
处于这种状态下,测试逻辑被禁止以允许芯片正常操作,读IDCODE寄存器将禁止测试逻辑。
无论TAP控制器处于何种状态,只要将TMS信号在5个连续的TCK信号的上升沿保持高电平,TAP就将进入Test-Logic-Reset状
态,如果TMS信号一直为高电平,那么TAP将保持在Test-Logic-Reset状态,另外TRST信号也可以强迫TAP进入Test-
Logic-Reset状态。
处于Test-Logic-Reset状态的TAP,如果下一个TCK的上升沿时TMS信号处于低电平,那么TAP将被切换到Run-Test-
Idle状态。
Run-Test-Idle运行测试空闲状态
Run-Test-Idle是TAP控制器扫描操作空闲状态,如果TMS信号一直处于低电平,那么TAP将保持在TRun-Test-Idle状
态。当TMS信号在TCK上升沿处于高电平,TAP控制器将进入Select-DR-Scan状态。
Select-DR-Scan选择数据寄存器扫描状态
Select-DR-Scan是TAP控制器的一个临时状态,边界扫描寄存器BSR保持它们先前的状态。
当TMS信号在下一个TCK上升沿处于低电平,TAP控制器进入Capture-DR状态,一个边界扫描寄存器的扫描操作同时被初始化。
如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器将进入Select-IR-Scan状态。
Capture-DR捕获数据寄存器状态
如果TAP控制器处于Capture-DR状态,且当前指令是SAMPLE/PRELOAD指令,那么边界扫描寄存器BSR在TCK信号的上升沿捕
获输入管脚的数据。如果此时不是SAMPLE/PRELOAD指令,那么BSR保持它们先前的值,另外BSR的值被放入连接在TDI和TDO管脚之间的移
位寄存器中。
处于Capture-DR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit1-DR状态。如果TMS信号在下一个TCK上升沿处于低电平,则TAP进入
Shift-DR状态。
Shift-DR移位数据寄存器状态
在Shift-DR状态下,在每个TCK的上升沿,TDI-移位寄存器-TDO串行通道向右移一位,TDI的数据移入移位寄存器,移位寄存器最靠近
TDO的位移到TDO管脚上。
处于Shift-DR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit1-DR状态。如果TMS信号处于低电平,则TAP一直进行移位操作。
Exit1-DR退出数据寄存器状态1
Exit1-DR是TAP控制器的一个临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态;如果TMS信
号在下一个TCK上升沿处于低电平,则TAP进入Pause-DR状态。
处于Exit1-DR状态时,指令不会被改变。
Pause-DR暂停数据寄存器状态
Pause-DR状态允许TAP控制器暂时停止TDI-移位寄存器-TDO串行通道的移位操作。
处于Pause-DR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit2-DR状态;如果TMS信号处于低电平,则TAP一直保持暂停状态。
Exit2-DR退出数据寄存器状态2
Exit2-DR也是TAP控制器的临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态,结束扫描操作;
如果TMS信号在下一个TCK上升沿处于低电平,则TAP重新进入Shift-DR状态。
处于Exit2-D状态时,指令不会被改变。
Update-DR更新数据寄存器状态
在正常情况下,边界扫描寄存器BSR的值是被锁存在并行输出管脚中,以免在EXTEST或SAMPLE/PRELOAD命令下执行移位操作时改变
BSR的值。当处于Update-DR状态时选择的是BSR寄存器,那么移位寄存器中的值将在TCK的下降沿被锁存到BSR寄存器的并行输出管脚中去。
处于Update-DR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Select-DR-Scan状态;如果TMS信号在下一个TCK上升沿处于低电平,则
TAP进入Run-Test-Idle状态。
Select-IR-Scan选择指令寄存器扫描状态
Select-IR-Scan是TAP控制器的一个临时状态。
如果TMS信号在下一个TCK上升沿处于低电平,TAP控制器进入Capture-IR状态,一个对指令寄存器的扫描操作同时被初始化。
如果TMS信号在下一个TCK上升沿处于高电平,TAP控制器将进入Test-Logic-Reset状态。
处于Select-IR-Scan状态时,指令不会被改变。
Capture-IR捕获指令寄存器状态
处于Capture-IR状态时,指令寄存器中的值被固定设置成0b0000001,并将它放入连接在TDI与TDO之间的移位寄存器中。
处于Capture-DR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit1-IR状态;如果TMS信号在下一个TCK上升沿处于低电平,则TAP进入
Shift-IR状态。
Shift-IR移位指令寄存器状态
在Shift-IR状态下,在每个TCK的上升沿,TDI-移位寄存器-TDO串行通道向右移一位,JTAG指令从TDI管脚上被逐位移入移位寄存
器,而移位寄存器中的0b0000001则被逐位从TDO管脚移出。
处于Shift-IR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit1-IR状态;如果TMS信号处于低电平,则TAP一直进行移位操作。
Exit1-IR退出指令寄存器状态1
Exit1-IR是TAP控制器的一个临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-IR状态;如果TMS信
号在下一个TCK上升沿处于低电平,则TAP进入Pause-IR状态。
处于Exit1-IR状态时,指令不会被改变。
Pause-IR暂停指令寄存器状态
Pause-IR状态允许TAP控制器暂时停止TDI-移位寄存器-TDO串行通道的移位操作。
处于Pause-IR状态时,指令不会被改变。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Exit2-IR状态;如果TMS信号处于低电平,则TAP一直处于暂停状态。
Exit2-IR退出指令寄存器状态2
Exit2-IR也是TAP控制器的临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-IR状态,结束扫描操作;
如果TMS信号在下一个TCK上升沿处于低电平,则TAP重新进入Shift-IR状态。
处于Exit2-D状态时,指令不会被改变。
Update-IR更新指令寄存器状态
处于Update-IR状态时,移位寄存器中的值将在TCK的下降沿被锁存到指令寄存器中,一旦锁存成功,新的指令将成为当前的指令。
如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Select-DR-Scan状态;如果TMS信号在下一个TCK上升沿处于电平,则
TAP进入Run-Test-Idle状态。
|