打印
[G32R]

G32R501产品经验分享之五-“JTAG与cJTAG的区别与联系及TAP控制器菊花链解析

[复制链接]
81|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IT-ZTP|  楼主 | 2025-8-5 17:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家好,最近在研究极海G32R501的产品,书接上回:G32R501电源管理模块硬件设计与软件调试若干建议”,今天来跟大家一起分享”G32R501产品经验分享之五-“JTAGcJTAG的区别与联系及TAP控制器菊花链解析
首先回顾一下之前三章内容
G32R501产品调试经验之一“系统启动(BOOT)”
https://bbs.21ic.com/icview347581811.html?fromuser=ITZTP
G32R501产品调试经验分享之二“写寄存器保护与CAP的渊源”
https://bbs.21ic.com/icview347592811.html?fromuser=ITZTP
G32R501产品经验分享之三-电源管理模块(PMM)技术介绍
https://bbs.21ic.com/icview-3476022-1-1.html?fromuser=IT-ZTP
G32R501产品经验分享之四“电源管理调试设计若干建议”
https://bbs.21ic.com/icview-3476028-1-1.html?fromuser=IT-ZTP

昨天在读到G32R501第五章节 调试与仿真章节,发现两个新概念:JTAGcJTAGTAP控制器菊花链本人对这个两个概念产生浓厚兴趣,通过咨询同事,以及查技术文档,将学到的知识总结下来分享给大家。
一、JTAGcJTAG的区别与联系
1. 基本概念
JTAG (IEEE 1149.1-1990)
- 标准测试访问端口和边界扫描架构
- 采用4个专用引脚:TMS(测试模式选择)TDI(测试数据输入)TDO(测试数据输出)TCK(测试时钟)
cJTAG (IEEE 1149.7-2009)
- 针对简化引脚和增强功能测试访问端口以及边界扫描架构
- 仅需2个引脚:TMSTCK(可多路复用为传统GPIO35/TDIGPIO37/TDO)
2. 主要区别
特性
JTAG (IEEE 1149.1)
cJTAG (IEEE 1149.7)
引脚数量
4个(TMS, TDI, TDO, TCK)
2个(TMS, TCK)
多核支持
有限支持
支持独立核心测试
扫描链路
单一连续扫描链
可创建多个独立子链
额外控制信号
(如CCIF)
兼容性
广泛支持
需要特定工具支持
时序要求
较宽松
更严格(需考虑核心切换)
3. 技术细节对比
时序要求:
- JTAGTCK周期时间最小66.66nsTDI/TMS设置时间13ns,保持时间7ns
- cJTAGTCK周期时间最小100nsTMS设置时间15ns,保持时间2ns
电气特性:
- JTAG信号在10MHz下通常不需要缓冲器或串联电阻,但在35MHz高速仿真时建议每个信号串联22Ω电阻
- cJTAG由于引脚复用,对信号完整性要求更高
功能扩展:
- cJTAG支持"星型""菊花链"拓扑结构,而传统JTAG主要支持菊花链
- cJTAG可以动态配置扫描链长度,传统JTAG固定
4. 联系与兼容性
- cJTAG基于JTAG标准扩展,核心功能兼容
- 可通过转换电路实现JTAGcJTAG的接口转换
- G32R501同时支持两种接口,可通过引脚复用灵活选择
二、菊花链标准TAP控制器解析
1. 基本概念
TAP控制器:
- 测试访问端口(Test Access Port)控制器
- 16状态的同步有限状态机,响应TCK上升沿
- 通过TMSTCK协同控制数据流
菊花链(Daisy Chain)
- 一种特殊的串行编程方式,多个JTAG设备串联连接
- 前一个设备的TDO连接下一个设备的TDI,形成链式结构
- 所有设备共享TCKTMS信号
2. 菊花链工作原理
物理连接:
```
JTAG接口 → [TDI]设备1[TDO] [TDI]设备2[TDO] ... [TDI]设备N[TDO] JTAG接口
```
所有设备TCKTMS并联连接
工作流程:
1. 通过TMS控制所有TAP控制器进入Shift-IR状态
2. 通过TDI输入指令序列(各设备指令长度之和)
3. 控制TMS使TAP进入Shift-DR状态
4. 通过TDI输入数据序列,各设备按指令处理数据
关键寄存器:
- 指令寄存器(IR):存储当前操作指令
- 数据寄存器组:包括边界扫描寄存器、旁路寄存器等
- 旁路寄存器(BP)1位寄存器,用于跳过不操作的设备
3. 菊花链配置示例
假设链中有3个设备:
- 设备AIR宽度4位,IDCODE 00111
- 设备BIR宽度4位,IDCODE 00011
- 设备CIR宽度4位,IDCODE 00111
IR扫描序列:`1111_0110_1111`
- 4"1":设备AIR位宽
- 中间4位:设备B的指令(0110)
- 4"1":设备CIR位宽
DR扫描序列:`000000`
- 7"0"对应链路上所有寄存器的内容
4. 菊花链应用优势
1. 简化连接:多个设备共享调试接口
2. 灵活配置:可通过指令选择操作特定设备
3. 节省资源:减少PCB布线复杂度
4. 扩展性强:理论上可连接任意数量设备(受驱动能力限制)
5. G32R501中的实现
G32R501采用标准的Arm CoreSight模块配置,通过菊花链TAP控制器实现连接:
- 支持SWDJTAG调试接口
- 调试系统集成在Cortex-M52内核中
- 可实现多核调试的协同工作
三、实际应用建议
1. 接口选择:
   - 引脚受限时选择cJTAG(2线)
   - 需要兼容传统工具时选择JTAG(4线)
2. 菊花链设计:
   - 链上设备数量不宜过多(信号衰减)
   - 长距离(>15cm)或高速(>10MHz)时添加缓冲器
3. 信号完整性:
   - JTAG信号避免靠近感性元件
   - 高速应用时添加22Ω串联电阻
4. 调试技巧:
   - 通过IDCODE识别链中设备位置
   - 非操作设备配置为Bypass模式提高效率
通过合理利用G32R501提供的调试接口和菊花链功能,可以显著提高多设备系统的开发和调试效率。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

5

帖子

0

粉丝