JTAG标准笔记:IEEE1149.1、IEEE1149.4、IEEE1149.5、IEEE1149.6、 IEEE1500等协议之前的发展和联系

news2024/9/20 10:28:54
  • JTAG (Joint Test Action Group) 是一种串行通信协议。对于典型的串行通信,总线较少,线路数通常为1到4条,数据是以位为单位依次传输的。
  • 笔记中大部分图片来自JTAG标准介绍UP的视频

在这里插入图片描述
在这里插入图片描述

  • IEEE 1149.1,通常称为JTAG(Joint Test Action Group),是一个标准化的测试方法,用于对集成电路(IC)和电路板进行测试和调试。该标准定义了在芯片上设置的测试访问端口(TAP),通过串行扫描链控制芯片内部的寄存器,从而测试和调试芯片或电路板。
    在这里插入图片描述

边界扫描寄存器

  • 符合 JTAG 标准的芯片,如许多微处理器、微控制器、FPGA、CPLD 以及一些复杂的数字芯片,通常都包含边界扫描寄存器。
  • 内部蓝色的方框:边界扫描寄存器通过将芯片的每个 I/O 引脚与一个可控的寄存器单元相连接,提供了一种强大的测试和调试机制。它能够有效地检测和定位电路板中的故障,并且广泛应用于集成电路和 PCB 的生产测试与调试过程中。

在这里插入图片描述

在这里插入图片描述

IEEE1149.1

在这里插入图片描述
在这里插入图片描述

IEEE 1149.1,也称为标准测试访问端口和边界扫描架构(Standard Test Access Port and Boundary-Scan Architecture),是由电气和电子工程师协会(IEEE)制定的一个标准。这个标准通常也被称为 JTAG(Joint Test Action Group),因为它是在一个名为 JTAG 的行业工作组的推动下开发的。IEEE 1149.1 广泛应用于电子行业中复杂集成电路和电路板的测试与调试。它通过定义标准的测试接口和边界扫描架构,提供了一种高效、灵活的测试方法,极大地提高了生产和维护的效率。

IEEE 1149.1 标准的主要内容:

  1. 测试访问端口(TAP):

    • IEEE 1149.1 定义了一种标准的测试访问端口(Test Access Port, TAP),这个端口包括一组引脚:TDI(Test Data In,测试数据输入)、TDO(Test Data Out,测试数据输出)、TMS(Test Mode Select,测试模式选择)、TCK(Test Clock,测试时钟)和可选的 TRST(Test Reset,测试复位)。
    • TAP 用于在芯片内部访问测试和调试功能,包括边界扫描寄存器、指令寄存器等。
  2. 边界扫描架构:

    • 标准定义了一种边界扫描架构,允许对集成电路(IC)引脚进行测试,而无需直接访问内部节点。通过在每个 I/O 引脚上附加一个边界扫描单元(Boundary Scan Cell),可以通过串行数据传输对引脚状态进行检查和控制。
    • 这种架构极大地简化了对复杂电路板的测试,尤其是在高密度或多层电路板上。
  3. 状态机(TAP 控制器):

    • IEEE 1149.1 标准定义了一种有限状态机,称为 TAP 控制器,用于控制测试过程中的状态转换。TAP 控制器有 16 个状态,通过 TMS 信号控制状态的转移,实现对芯片内部的测试和调试操作。
    • 更多可参考嵌入式系统Linux内核开发实战指南
    • 根据状态转移图示链接,TRST可选就是因为通过对TMS连续赋值5个1,TAP 控制器将回到复位状态。
  4. 指令寄存器和数据寄存器:

    • 标准还定义了指令寄存器和数据寄存器的结构。指令寄存器用于选择芯片内部的测试模式,而数据寄存器则用于传输测试数据和结果。边界扫描寄存器、ID 寄存器(用于识别芯片)等都属于数据寄存器。

在这里插入图片描述

JTAG 的 TMS (Test Mode Select) 引脚是 JTAG 接口中的一个关键控制信号,用于控制和管理 JTAG 状态机的状态转换。JTAG 协议使用一个有限状态机(Finite State Machine, FSM),称为 TAP (Test Access Port) 控制器来管理各种测试操作。TMS 信号通过控制 TAP 状态机的状态,决定 JTAG 接口当前处于哪种操作模式。

TMS 的主要功能与作用:

  • TAP 状态机有 16 个不同的状态,例如 Test-Logic-Reset、Run-Test/Idle、Shift-DR、Shift-IR 等。TMS 信号决定了状态机的下一步状态。当 JTAG 时钟(TCK)信号上升沿时,根据 TMS 信号的高低,状态机会从一个状态转移到另一个状态

  • TMS 信号可以选择数据寄存器操作(DR 操作)和指令寄存器操作(IR 操作)。通过适当的 TMS 序列,用户可以进入特定的模式以执行诸如数据移位、测试逻辑复位或运行测试等操作。

在这里插入图片描述
在这里插入图片描述

测试操作流程

3.1. 进入测试模式
  • 首先,通过TMS引脚的序列将TAP控制器置于Test-Logic-Reset状态,以确保控制器处于已知的初始状态。
  • 通过TMS的特定信号序列,将TAP控制器转换到Run-Test/Idle状态,准备进行测试。
3.2. 选择指令寄存器(IR)或数据寄存器(DR)
  • TAP控制器根据TMS信号的控制,进入Shift-IRShift-DR状态。
  • Shift-IR状态,TDI上的数据会移入指令寄存器(IR),这决定了下一步要执行的操作(如边界扫描、旁路模式等)。
  • Shift-DR状态,TDI上的数据会移入选定的数据寄存器,如边界扫描寄存器、旁路寄存器等。
3.3. 执行测试指令
  • 当指令寄存器(IR)加载完成后,TAP控制器进入Update-IR状态,更新当前的测试指令。
  • 然后,通过TAP控制器的状态转换,执行加载到指令寄存器中的指令。例如:
    • 边界扫描测试(Boundary-Scan Test): 执行完整的边界扫描链数据移位,检测IC引脚的逻辑状态。
    • 旁路测试(Bypass Test): 跳过芯片内核,只测试外部连接的其他芯片。
    • 内置自测试(BIST): 执行芯片内部的自测试程序。
3.4. 读取测试结果
  • 通过TAP控制器的控制,可以进入Shift-DR状态,将测试结果从数据寄存器(如边界扫描寄存器)移出,通过TDO引脚读取。
  • 根据TAP控制器的状态转换,测试结果数据可以从目标寄存器中顺序移出,供测试设备分析。
3.5. 完成测试并复位
  • 测试完成后,TAP控制器可以通过TMS信号转换回Test-Logic-Reset状态,复位TAP控制器以准备下一次测试。

旁路寄存器

  • 旁路寄存器(Bypass Register)是 IEEE 1149.1(JTAG)标准中的一种特殊寄存器,它的主要作用是在不需要对某个芯片进行测试时,为数据提供一条快速的“旁路”路径,从而使数据能够绕过不参与测试的芯片,并快速传递到下一个芯片或目标芯片。

  • 旁路寄存器是一个非常简单的寄存器,它只有 1 位(比特)的长度。当选择旁路寄存器时,输入的数据(通过 TDI 引脚进入)会直接通过这个单比特寄存器,并立即从 TDO 引脚输出。

  • 当多个芯片串联在同一个 JTAG 链中时,旁路寄存器允许不需要测试的芯片将数据直接传递给下一个芯片,而不必通过完整的边界扫描寄存器链。这样可以减少不必要的延迟,显著提高测试速度。

  • 当 TAP 控制器的状态机进入旁路模式(通过加载旁路指令进入这个模式)时,旁路寄存器被选中作为活动的数据寄存器。此时,芯片的边界扫描寄存器和其他测试逻辑被旁路,数据可以快速通过。

  • 假设有三个芯片 A、B 和 C 串联在同一个 JTAG 链中,如果只需要测试芯片 B和 C,而不需要测试 A ,那么可以在芯片 A 中激活旁路寄存器,使得它们的 TDI 数据直接通过旁路寄存器传递给 B。

在这里插入图片描述

IEEE1149.4

IEEE 1149.4 标准,全称为混合信号测试总线标准Standard for a Mixed-Signal Test Bus),是继 IEEE 1149.1(JTAG)标准之后制定的,专门用于支持混合信号(包括模拟和数字信号)的电路测试。该标准扩展了原有的 JTAG 边界扫描标准,使其不仅适用于数字信号,还可以测试和诊断模拟信号通道。

  • IEEE 1149.4 标准特别适用于包含数字和模拟模块的集成电路,如模数转换器(ADC)、数模转换器(DAC)、电源管理芯片和音频处理器等。

在这里插入图片描述

IEEE 1149.4 的主要内容

  1. 扩展的测试总线架构:

    • IEEE 1149.4 在 IEEE 1149.1 的基础上增加了对模拟信号的支持。它引入了新的引脚和结构来支持模拟信号的测试,并且与原有的 JTAG 数字测试功能兼容
  2. 新增引脚:

    • AT1 和 AT2: IEEE 1149.4 标准引入了两个专门用于模拟信号测试的引脚,称为 Analog Test Pin 1 (AT1)Analog Test Pin 2 (AT2)。这些引脚用于在芯片内部和外部设备之间传输模拟测试信号。
    • AT1AT2 引脚可以在芯片内部切换,以连接到需要测试的模拟电路部分,从而进行信号传输或测量。
  3. 模拟边界扫描单元(Analog Boundary Module, ABM):

    • IEEE 1149.4 引入了模拟边界扫描单元,用于管理模拟信号的测试。这些单元能够控制信号的传输路径,并执行基本的模拟测试操作,如电压测量或信号注入。

    • IEEE 1149.4 标准还包括机制来隔离或连接特定的模拟电路部分,使得测试过程更加灵活和精确。通过控制 ABM 单元,测试设备可以选择性地对电路中的特定部分进行操作,而不影响其他部分的正常工作。

IEEE1149.5

  • IEEE 1149.5 标准是关于模块测试和维护总线标准(Standard for Module Test and Maintenance Bus, MTM-Bus)的规范,旨在为系统级测试提供一种标准化的接口和协议。该标准主要应用于大型电子系统中的模块化测试和维护,尤其是在高复杂度的系统中。
    在这里插入图片描述

IEEE1149.6

在这里插入图片描述
在这里插入图片描述

IEEE 1149.6 标准,全称为用于测试高级数字网络的边界扫描标准Standard for Boundary-Scan Testing of Advanced Digital Networks),是对 IEEE 1149.1 标准的扩展,专门用于支持高速信号和 AC 耦合信号的测试。

  • 随着高速数字信号(如千兆以太网、PCI Express 等)的广泛应用,传统的 IEEE 1149.1 标准在测试这些信号时显得力不从心,特别是在测试 AC 耦合信号链路时(1149.1的PAD之间通过导线链接,而芯片间可能是复杂的电路结构链接,直流信号无法通过这些电路,AC 耦合信号直流隔离,高频响应)。
  • IEEE 1149.6 是对 IEEE 1149.1 的扩展,因此它与 IEEE 1149.1 保持兼容。当多个芯片连接在一起形成复杂的高速信号链路时,IEEE 1149.6 提供了测试这些链路完整性和信号质量的方法,确保多芯片系统的可靠性。

驱动器(Driver)和接收器(Receiver)

在 IEEE 1149.6 标准中,驱动器(Driver)和接收器(Receiver)是用于测试高速数字信号和 AC 耦合链路的重要组件。IEEE 1149.6 扩展了传统的 IEEE 1149.1 标准,以适应这些高速信号的测试需求,并特别关注驱动器和接收器在差分信号和 AC 耦合信号链路中的行为。

驱动器 (Driver)

驱动器 是负责在链路上传输测试信号的电路组件。它在 IEEE 1149.6 测试过程中扮演重要角色,确保信号能够正确地发送到目标设备,并通过链路传输。

功能:
  1. 高频信号生成:

    • 驱动器能够产生适合测试的高频信号,以模拟正常工作条件下的高速数字信号。这些信号必须足够快,以便测试系统能够检测到在 AC 耦合链路或差分信号链路中可能发生的问题。
  2. 差分信号驱动:

    • 在差分信号链路中,驱动器需要同时驱动两个相互关联的信号线(如差分对)。IEEE 1149.6 的驱动器设计支持这种模式,以确保差分信号的正确性和完整性。
  3. AC 耦合信号驱动:

    • 驱动器需要能够在 AC 耦合链路上有效工作。它必须生成信号,能够穿过耦合电容器,并在接收器端保持足够的信号强度和完整性,以便进行正确的测试和接收。
  4. 直流偏置控制:

    • 在某些应用中,驱动器还需要控制直流偏置电平,以确保信号能够正确地通过 AC 耦合链路,而不会受到偏置问题的影响。

接收器 (Receiver)

接收器 是负责接收链路上传输信号的组件。在 IEEE 1149.6 中,接收器需要具有检测和处理高速信号的能力,尤其是在这些信号通过 AC 耦合链路后可能发生衰减或失真的情况下。

  • 延迟匹配和信号完整性测试:
    高速信号的延迟匹配和完整性对于系统的可靠性至关重要。IEEE 1149.6 提供了方法来测试信号延迟,并确保信号在高速传输时保持完整。

IEEE1500

  • IEEE 1500 标准,全称为嵌入式核心测试标准(Standard for Embedded Core Test, SECT),是一项专门为复杂系统级芯片(System-on-Chip, SoC)设计的测试标准。随着芯片集成度的提高,SoC 内部通常包含多个嵌入式核心(如处理器、存储器、专用功能模块等),这些核心的测试和验证变得越来越复杂。IEEE 1500 标准旨在为这些嵌入式核心提供一种统一的测试结构和方法,以提高测试的效率和可重复性。
    在这里插入图片描述

在这里插入图片描述

IEEE1687

在这里插入图片描述

IEEE1838

在这里插入图片描述

IEEE1149.10

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安防监控/视频汇聚平台EasyCVR如何配置,实现默认获取设备的子码流?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…

设计模式22-迭代器模式

设计模式22-迭代器模式 迭代器模式(Iterator Pattern)动机定义结构定义结构结构图解释注意事项 C代码推导多态属性(虚函数)实现迭代器1. **返回值问题**2. **对象切割问题**3. **内存管理问题**4. **迭代器生命周期问题**5. **接口…

static、extern,const关键字

1、static关键字 static关键字:延长生命周期,限制作用域 static修饰局部变量:静态局部变量 static修饰全局变量:静态全局变量 static修饰函数:静态函数 2、extern关键字 extern:引用其他文件 .c 中的全局…

对敲期权组合如何操作?

对敲期权组合按照你说的对沖敲出期权应该是一种期权套利行为,在买入的同时卖出一个执行价格不同的期权进行对冲,或者在卖出一张期权合约的时候同时买进一张执行价不动的同类期权进行对中,这样亏报有限,是种套利行为,下…

Java基础之进制转换

1 进制基础 概念: ​ 进制就是进位制,是人们规定的一种进位方法,二进制逢2进1,八进制是逢8进1,十进制逢10进1,十六进制逢16进1。 不同进制形式: 二进制 0b或0B开头,由0和1组成 八…

爬虫配置代理:保护隐私有效地抓取数据

爬虫配置代理的详细指南 在进行网络爬虫时,使用代理可以帮助我们更有效地抓取数据,避免IP被封禁,并提高隐私保护。本文将详细介绍如何在爬虫中配置代理,包括不同的代理类型、如何选择合适的代理以及在Python中实现代理的具体步骤…

中国软件评测中心:2024年最新人工智能大语言模型技术发展研究报告 (附文档)

人工智能作为引领新一轮科技产业革命的战略性技术和新质生产力重要驱动力,正在引发经济、社会、文化等领域的变革和重塑,2023 年以来,以 ChatGPT、GPT-4 为代表的大模型技术的出台,因其强大的内容生成及多轮对话能力,引…

python-A+B again

[题目描述] 小理有一个非常简单的问题给你,给你两个整数 A 和 B,你的任务是计算 AB。输入格式: 输入共 2∗T1 行。 输入的第一行包含一个整数 T 表示测试实例的个数,然后 2∗T 行,分别表示 A 和 B 两个正整数。注意整数…

调研在深度学习中如何读代码

这里调研了四个up主的内容,对他们讲的内容摘了一下主要的内容。想要看原文的画可以看原篇。 1.如何学习别人的代码(代码量较大时)_怎么学习别人的代码-CSDN博客 想要掌握的好,光阅读是不够的,一定要动手写、训练模型…

k8s 部署RuoYi-Vue-Plus之minio搭建

1.直接部署一个pod 需要挂载存储款, 可参考 之前文章设置 https://blog.csdn.net/weimeibuqieryu/article/details/140183843 2.部署yaml 创建部署文件 minio-deploy.yaml apiVersion: v1 kind: PersistentVolume metadata:name: minio-pvnamespace: ruoyi #使用ns ruoyi s…

MyCAT读写分离实现

1. 添加一个新的虚拟主机,设置ip为10.1.1.60,主机名为 mycat.yuanyu.zhangmin.关闭防火墙 SELinux NetworkManager 2. 上传jdk和mycat安装包 3. 解压并且添加到指定的位置 4. 查看并且配置jdk环境 、5. 测试启动myca就可以了 6. 找到server.xml和schema.xml 7. 配…

Python酷库之旅-第三方库Pandas(081)

目录 一、用法精讲 336、pandas.Series.str.rpartition方法 336-1、语法 336-2、参数 336-3、功能 336-4、返回值 336-5、说明 336-6、用法 336-6-1、数据准备 336-6-2、代码示例 336-6-3、结果输出 337、pandas.Series.str.slice方法 337-1、语法 337-2、参数 …

RCE---eval长度限制绕过技巧

目录 题目源码 方法一&#xff1a;命令执行的利用 方法二&#xff1a;file_put_contents&#xff08;本地文件包含的利用&#xff09; 方法三&#xff1a;usort(…$_GET); 题目源码 <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($par…

【题解】【一题多解】—— [NOIP1998 普及组] 三连击

【题解】—— [NOIP1998 普及组] 三连击 [NOIP1998 普及组] 三连击题目背景题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示 解法1.直接提交答案解法2.普通枚举2.1.题意分析2.2.AC代码 解法3.全排列枚举3.1.题意分析3.2.AC代码 解法4.深度优先搜索4.1.题意分析4.2.AC…

宝塔面板屏蔽 Censys,防止源站 IP 泄露

Censys 搜索引擎很强大。Censys 每天都会扫描 IPv4 地址空间&#xff0c;以搜索所有联网设备并收集相关的信息&#xff0c;并返回一份有关资源&#xff08;如设备、网站和证书&#xff09;配置和部署信息的总体报告。 在 IP 前加上 https 访问时&#xff0c;Nginx 会自动返回该…

嵌入式学习 20(Linux高级编程——文件——misc)

文件操作相关函数 一、symlink 函数 int symlink(const char *oldpath, const char *newpath); 功能&#xff1a; 创建一个指向 oldpath 文件的新的符号链接&#xff08;软链接&#xff09;文件。 参数&#xff1a; • oldpath&#xff1a;被链接指向的原始文件的路径。 • …

spring事务失效问题可以这样解决

今天咱们就来聊聊在Spring事务管理中你可能踩过的坑&#xff0c;并教你如何规避这些陷阱。 事务提交的陷阱 有时&#xff0c;事务方法在抛出异常后没有回滚&#xff0c;而是被提交了。 这通常是由于异常被捕获但没有显式抛出&#xff0c;导致Spring误以为事务正常完成。 错…

Review Learning : 推进一体化超高清图像恢复训练方法

Review Learning: Advancing All-in-One Ultra-High-Definition Image Restoration Training Method 摘要 一体化图像恢复任务变得越来越重要&#xff0c;特别是对于超高清&#xff08;UHD&#xff09;图像。 现有的一体机UHD图像恢复方法通常通过引入针对不同退化类型的即时…

小区团购管理

TOC springboot254小区团购管理 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广泛运用&…

一文搞懂后端面试之数据库综合应用【中间件 | 数据库 | MySQL | 高可用 | 高性能】

查询缓存 在MySQL里面&#xff0c;允许用户开启查询缓存。你可以理解这个缓存就是用SQL作为键&#xff0c;而对应的查询结果集就是值。如果下次过来的还是同一个查询&#xff0c;那么就直接返回缓存起来的查询结果集。 但是查询缓存不一定带来查询性能提升。如果你的查询每一…