什么是JTAG?

这篇具有很好参考价值的文章主要介绍了什么是JTAG?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 .JTAG是(Joint Test Action Group;联合测试行动小组)1980年代开发的用于解决电子板制造问题的IEEE标准,更常用的是可以用作编程,调试和探测端口的一种协议。主要用于芯片内部测试。既然是协议,自然也是一种接口,一个将PC与芯片连接起来的接口。

JTAG的基本原理是在器件内部定义一个TAP(TestAccess Port;测试访问),TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入,通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable;在线编程),对Flash等器件进行编程。

jtag,笔记,单片机,stm32,fpga开发

 Test Reset Input (TRST) 

    这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。TRST可以用来对TAPController进行复位(初始化)。因为通过TMS也可以对TAP Controll进行复位(初始化)。所以有四线JTAG与五线JTAG之分。

现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA等。

JTAG有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的,分别为TDI,TDO,TMS和TCK。从PC的角度来看,这是三个输出和一个输入。

◇TCK(time cycle clock):时钟信号,为TAP(Test Access Port )的操作提供了一个独立的、基本的时钟信号。

◇TMS:模式选择信号,用于控制TAP状态机的转换, 测试模式选择。TMS用来设置JTAG口处于某种特定的测试模式,用于控制TAP状态机。必须上拉。。

TDI——测试数据输入。输入到指令寄存器(IR)或数据寄存器(DR)的数据出现在TDI输入端,在TCK的上升沿被采样。建议上拉,上拉电阻阻值不能小于1K。

◇TDO:数据输出信号。TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。

  (VTREF) ——接口信号电平参考电压一般直接连接Vsupply。这个可以用来确定ARM的JTAG接口使用的逻辑电平(比如3.3V还是5.0V?)

可选择的引脚:

 Test Reset Input (TRST) 这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。TRST可以用来对TAPController进行复位(初始化)。因为通过TMS也可以对TAP Controll进行复位(初始化)。所以有四线JTAG与五线JTAG之分。

 Return Test Clock ( RTCK) 可选项,由目标端反馈给仿真器的时钟信号,用来同步TCK信号的产生,不使用时直接接地。

ystem Reset ( nSRST)  可选项,与目标板上的系统复位信号相连,可以直接对目标系统复位。同时可以检测目标系统的复位情况,为了防止误触发应在目标端加上适当的上拉电阻。

USER IN

用户自定义输入。可以接到一个IO上,用来接受上位机的控制。

USER OUT

用户自定义输出。可以接到一个IO上,用来向上位机的反馈一个状态

由于JTAG经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线就出现了这种20针的接口。但事实上,RTCK、USER IN、USER OUT一般都不使用,于是还有一种14针的接口。由于JTAG经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线,偶数针脚都是地信号。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。

 二、20、14、10pin JTAG的引脚名称与序号对应关系

    值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。目前JTAG接口的连接有三种标准,20、14、10pin JTAG的信号分别排列如下:

jtag,笔记,单片机,stm32,fpga开发

jtag,笔记,单片机,stm32,fpga开发

jtag,笔记,单片机,stm32,fpga开发

需要说明的是,上述Jtag头的管脚名称是对IC而言的。例如TDI脚,表示该脚应该与IC上的TDI脚相连,而不是表示数据从该脚进入download cable。

    实际上10针的只需要接4根线,4号是自连回路,不需要接,1,2接的都是1管脚,而8,10接的是GND,也可以不接。

三.让我们看看JTAG的最初用途,边界测试/边界扫描。

边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-Scan Register Cell)。

当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。

对于芯片的输入管脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载到该管脚中去;

对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器“捕获”该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片。

另外,芯片输入输出管脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片。

jtag,笔记,单片机,stm32,fpga开发

这是一个简单的电子板(也称为“印刷电路板”的“ PCB”),带有两个IC(“集成电路”),一个CPU和一个FPGA。典型的电路板可能具有更多的IC。

jtag,笔记,单片机,stm32,fpga开发

IC可以有很多引脚。因此,当然,IC通过大量连接(PCB traces)连接在一起。这里只显示四个。但是可以轻松地在PCB上放置几千个。

jtag,笔记,单片机,stm32,fpga开发

现在,如果您构建一千个板,每个板具有数千个连接,则不可避免地会有一些不良板。如何测试所有这些板?必须确保所有这些连接都正确。不能只手动测试所有这些连接。这样就创建了JTAG。

 文章来源地址https://www.toymoban.com/news/detail-802108.html

jtag,笔记,单片机,stm32,fpga开发

 TAG可以控制所有IC的引脚。在图片上,也许JTAG将使所有CPU引脚输出,以及所有FPGA引脚输入。然后,通过从CPU引脚发送一些数据,并从FPGA引脚读取值,JTAG可以确保电路板连接良好。

现在,JTAG实际上包含四个逻辑信号,分别为TDI,TDO,TMS和TCK。从PC的角度来看,这是三个输出和一个输入。

jtag,笔记,单片机,stm32,fpga开发

这四个信号需要以特定方式进行布线。首先,TMS和TCK与所有JTAG IC并联。

jtag,笔记,单片机,stm32,fpga开发

然后将TDI和TDO并连接起来,形成一条链。用JTAG术语,您经常会听到“ JTAG-chain”一词的来历。

jtag,笔记,单片机,stm32,fpga开发

如您所见,每个符合JTAG的IC都有四个用于JTAG的引脚(三个输入和一个输出)。名为TRST的第五个引脚是可选的(JTAG复位)。JTAG引脚通常是专用的(不共享用于其他目的)。

所有大型IC都使用通过JTAG进行的边界测试-边界测试是创建JTAG的最初原因。如今,JTAG的使用已得到扩展,以允许进行诸如配置FPGA之类的操作,然后在FPGA内核内部使用JTAG进行调试。

 

 

到了这里,关于什么是JTAG?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32单片机入门学习笔记——定时器TIM第一部分

    笔记整理自B站UP主 江科大自化协 教程 《STM32入门教程-2023持续更新中》 ,所用单片机也为教程推荐单片机。 第一部分:定时器基本定时的功能,定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如要做一个时钟、秒表或者使用一些程序算

    2024年02月03日
    浏览(57)
  • 洋桃电子STM32F407单片机入门教程笔记九:低功耗模式

      此文档作为对洋桃电子STM32F407单片机视频的整理,B站链接: 第28集)低功耗模式_哔哩哔哩_bilibili         在之前的程序里应用程序在while(1)主循环中反复执行,ARM内核以100%的功率工作。这样的设计简单稳定,内核全速运行的功耗也只有几十毫安,对于外接电源的设备

    2024年01月23日
    浏览(65)
  • 洋桃电子STM32F407单片机入门教程笔记一:RCC时钟设置

    此文档作为对洋桃电子STM32F407单片机视频的整理,B站链接:2023更新 STM32入门F4= STM32F407单片机入门教程=WIFI连接阿里云物联网+CubeMX+HAL库+TFT彩屏+杜洋主讲_哔哩哔哩_bilibili 由于单片机内部的时钟结构都是相互关联的,一个时钟源出发可以供给多个功能,类似于树根、树杆、树

    2024年02月04日
    浏览(49)
  • 【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建

    为摒弃在接受keil邮件,研究了下gun编译,以STM32F407为例,简单记录 Git 选择对应版本直接安装即可https://git-scm.com/download/win make gcc ​ 1)将上述软件包放置于C盘根目录 2)添加环境变量 3)cmd命令行测试环境 分别输入 启动文件及LD文件 目录路径表示问题 字节对齐及指定位置存

    2024年02月07日
    浏览(57)
  • STM32 出现SWD/JTAG Communication Failure

    本来想做13届国赛题,结果遇到了第一次碰到的问题,从昨天晚上到现在,问了客服,找人帮忙,,,最后终于解决了,虽然问题不难,但是刚开始学遇到这种问题还是挺要命的。 出现SWD/JTAG Communication Failure这个问题的原因就是你板子的SW被复用了,SW被复用的原因就是你配置

    2024年02月12日
    浏览(44)
  • 强大的JTAG边界扫描(4):STM32边界扫描应用

    试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。 我们需要测试一下硬件电路工作是否正常、焊接是否良好,通常我们会写个测试代码,比如控制LED闪烁,读取按键的输入,串口

    2024年02月09日
    浏览(35)
  • S32K3系列单片机开发笔记(SIUL是什么/配置引脚复用的功能·)

    今天花时间看了一下,SIUL2模块的相关内容,并参照文档,以及例程作了一些小记录,知道该如何使用这个外设,包括引脚的配置,中断配置,以及常用函数的使用等,但对其中的一些细节还需要跟深入的学习和了解。 系统集成单元:System Integration Unit Lite2 (SIUL2) 提供外部设

    2023年04月25日
    浏览(43)
  • FPGA和单片机什么区别

    写给初学者的小blog(描述不对的,请评论区指出谢谢):   单片机应该是大家最开始接触的小soc,通过编写c/汇编,可以实现简单的逻辑控制功能; fpga,通过编写verilog 描述相关的逻辑,或者利用软件中自带的库,搭建简单的逻辑电路,实现简单的控制;   在这里简单

    2024年01月16日
    浏览(46)
  • FPGA与单片机有什么区别?

    1.开发语言                 学过 单片机 的小伙伴肯定都知道,不管是51,还是32单片机使用的开发语言都是C语言,不同的单片机只是使用的开发环境不同,但代码编程都是c语言实现的。         FPGA使用的是HDL语言,就是硬件描述的语言,目前应用最广泛的应该是

    2024年02月08日
    浏览(38)
  • GD32单片机和STM32单片机的对比分析

    GD32单片机和STM32单片机都是基于Arm Cortex-M3/M4内核的32位通用微控制器,广泛应用于各种嵌入式系统和物联网领域。两者之间有很多相似之处,但也有一些不同之处,本文将从以下几个方面对比分析两者的特点、优势和开发成本。 GD32单片机采用的是二代的M3/M4内核,而STM32单片

    2024年02月16日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包