实现MAXQ2000微控制器的JTAG加载主机

[09-13 17:04:13]   来源:http://www.88dzw.com  控制技术   阅读:8661

文章摘要:写入TAP指令寄存器TAP状态机向下转换到Shift-IR状态,同步输入一个新的3位数值,将数值装入TAP控制器的IR。在进入Update-IR状态之前,该数值并没有实际从移位寄存器复制到指令寄存器中。对于所有的JTAG移位寄存器操作,随着新数值的移入,寄存器的当前内容被移出(由TDO)。但是,移出的数值总是固定的(001b);这是由JTAG标准在测试JTAG接口功能时决定的。比特移入和移出移位寄存器的过程(IR或者DR)是一样的;TAP状态机必须分别处于Shift-IR或者Shift-DR状态,TAP控制器在每个TCK周期的上升沿对输入比特(在TDI)进行采样,而在TCK周期下降沿驱动输出比

实现MAXQ2000微控制器的JTAG加载主机,标签:计算机控制技术,工厂电气控制技术,http://www.88dzw.com

写入TAP指令寄存器

TAP状态机向下转换到Shift-IR状态,同步输入一个新的3位数值,将数值装入TAP控制器的IR。在进入Update-IR状态之前,该数值并没有实际从移位寄存器复制到指令寄存器中。

对于所有的JTAG移位寄存器操作,随着新数值的移入,寄存器的当前内容被移出(由TDO)。但是,移出的数值总是固定的(001b);这是由JTAG标准在测试JTAG接口功能时决定的。

比特移入和移出移位寄存器的过程(IR或者DR)是一样的;TAP状态机必须分别处于Shift-IR或者Shift-DR状态,TAP控制器在每个TCK周期的上升沿对输入比特(在TDI)进行采样,而在TCK周期下降沿驱动输出比特(在TDO)。
;==============================================================================
;=
;=  shift
;=
;=  In a shift register state, clocks in a TDI bit and clocks out a TDO bit.
;=
;=  Inputs   : C - Bit to shift in to TDI.
;=  Outputs  : C - Bit shifted out from TDO.
;=  Destroys : PSW, LC[0]
;=

shift:
   jump    C, shift_bit1
shift_bit0:
   move    TDI, #0           ; Shift in zero bit
   jump    shift_bitEnd
shift_bit1:
   move    TDI, #1           ; Shift in one bit
   jump    shift_bitEnd
shift_bitEnd:
   move    LC[0], #JCLOCK
   djnz    LC[0], $
   move    TCK, #1           ; Rising edge, TDI is sampled
   move    LC[0], #JCLOCK
   djnz    LC[0], $
   move    TCK, #0           ; Falling edge, TDO is driven out
   move    LC[0], #JCLOCK
   djnz    LC[0], $
   move    C, TDO            ; Latch TDO value
   ret
对于传送的每一位,除了最后一位之外,TMS必须保持低电平。这非常重要,因为当每一位移入和移出时,状态机保持在Shift-IR或者Shift-DR状态。在最后一个比特周期,TMS必须被驱动为高电平,这样,随着最后一位的输入和输出,TAP控制器将进入Exit1-DR或者Exit1-IR状态。

作为一个例子,在表4中,JTAG主机将数值100b (系统编程模式)移入到IR寄存器中。IR寄存器开始设置旁路值011b;TAP控制器最初为Run-Test-Idle状态。如下面的图4所示,比特以最低有效位在前、最高有效位在后移入(移出)TAP控制器。因此,在第一个移位周期,新数值的第0位被移入,旧数值的第0位被移出。

表4. 指令寄存器移位实例
TCK TMS TDI TDO TAP State Shift Register Instruction Register
bit 2 bit 1 bit 0 bit 2 bit 1 bit 0
0 1 x x Run-Test-Idle x x x 0 1 1
1 1 x x Select-DR-Scan x x x 0 1 1
0 1 x x Select-DR-Scan x x x 0 1 1
1 1 x x Select-IR-Scan x x x 0 1 1
0 0 x x Select-IR-Scan x x x 0 1 1
1 0 x x Capture-IR 0 0 1 0 1 1
0 0 x x Capture-IR 0 0 1 0 1 1
1 0 x x Shift-IR 0 0 1 0 1 1
0 0 0 x Shift-IR 0 0 1 0 1 1
1 0 0 x Shift-IR 0 0 1 0 1 1
0 0 0 1 Shift-IR 0 0 0 0 1 1
1 0 0 1 Shift-IR 0 0 0 0 1 1
0 1 1 0 Shift-IR 0 0 0 0 1 1
1 1 1 0 Exit1-IR 0 0 0 0 1 1
0 1 x 0 Exit1-IR 1 0 0 0 1 1
1 1 x 0 Update-IR 1 0 0 1 0 0
0 0 x x Update-IR 1 0 0 1 0 0
1 0 x x Run-Test-Idle x x x 1 0 0

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]  下一页


Tag:控制技术计算机控制技术,工厂电气控制技术控制技术

《实现MAXQ2000微控制器的JTAG加载主机》相关文章