江南老 2024-04-29 01:18 采纳率: 57.1%
浏览 426
已结题

cJTAG与JTAG的区别

请问cJTAG与JTAG协议的异同是什么?在进行边界扫描时,cJTAG与JTAG的时序是否有不同点?

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-29 01:18
    关注

    引自免费微信小程序:皆我百晓生

    cJTAG(Core-Independent JTAG)是JTAG(Joint Test Action Group)标准的一种扩展,它允许对系统中的独立处理器核心进行单独测试,而无需影响其他核心。这在多核系统、嵌入式设备和SoC(System on Chip)设计中非常有用,因为它们可能包含多个CPU内核或其他可编程单元。

    相同点:

    1. 基础架构:cJTAG基于传统的JTAG标准,两者都使用相同的四线接口(TCK, TMS, TRST, TDI/TDO),用于数据传输和控制信号。

    2. 目的:都是为了实现芯片内部的故障诊断和测试,包括配置、测试、调试等功能。

    3. 时钟信号:TCK(Test Clock)在两种协议中都作为同步信号,用来协调测试序列的操作。

    4. 测试模式选择:TMS(Test Mode Select)信号用于选择不同的测试模式。

    5. 输入输出数据流:TDI(Test Data In)和TDO(Test Data Out)负责数据的输入和输出。

    不同点:

    1. 多核心支持:JTAG只能对整个芯片进行操作,而cJTAG可以针对每个独立的核心进行操作,提高了测试和调试的效率。

    2. 扫描链路:在传统JTAG中,所有可测试模块形成一个连续的扫描链,而在cJTAG中,可以通过跳过某些模块,创建多个独立的子链,以便于单独访问和测试各个核心。

    3. 额外引脚:cJTAG通常会增加一些额外的控制信号,例如CCIF (Core Connection Interface),用于指示当前哪个核心正在被操作,或者用于切换到另一个核心。

    4. 时序差异:虽然基本的JTAG时序在cJTAG中仍然适用,但cJTAG可能会有更复杂的时序要求,特别是当涉及切换核心或管理多个子链时。

    5. 软件支持:对于cJTAG,需要额外的软件工具和驱动程序来支持其特有的功能,如核心选择和子链管理。

    6. 兼容性:不是所有的JTAG工具都能支持cJTAG,因此在购买或使用工具时需要注意兼容性。

    在进行边界扫描时,尽管基本的JTAG时序(如设置测试模式、发送指令、读取响应等)保持一致,但由于cJTAG涉及到核心选择和子链操作,所以具体的时序可能会有所不同。这些差异主要体现在控制信号的使用上,以及如何在多个核心间切换时确保正确性和同步。

    由于这里无法提供详细的时序图,我建议参考相关技术文档或标准(如IEEE 1149.1 for JTAG和IEEE P1687 for cJTAG)来获取精确的时序信息。如果你需要编写代码来实现JTAG或cJTAG操作,你将依赖于特定的硬件平台和第三方库。这些库通常会处理底层的时序细节,并提供更高层次的API供开发者使用。例如,对于ARM Cortex-M系列微控制器,你可以使用Keil MDK的Segger J-Link工具包,而对于x86处理器,你可能需要使用In-Circuit Emulator (ICE) 或者专门的调试器。这些工具通常已经包含了对JTAG和cJTAG的支持,你只需要调用相应的函数或方法来执行操作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月29日
  • 创建了问题 4月29日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部