1、简介
jtag的英文名称为joint test action group,中文名字叫做联合测试工作组,是一种国际标准测试协议(ieee 1149.1兼容),主要用于芯片内部测试及对系统进行在线仿真、调试,它在芯片内部封装了专门的测试电路 tap ( test access port ,测试访问口),通过专用的jtag测试工具对芯片进行测试。现在多数的高级器件都支持jtag协议,如以以arm为核心的手机cpu、dsp、fpga等芯片都会带jtag接口。标准的jtag接口是4线:tms、tck、tdi、tdo,分别为模式选择、时钟、数据输入和数据输出线。
2、接口
jtag 技术是一种嵌入式调试技术,jtag最初是用来对芯片进行测试的,jtag的基本原理是在器件内部定义一个tap(test access port;测试访问口)通过专用的jtag测试工具对内部节点进行测试。jtag测试允许多个器件通过jtag接口串联在一起,形成一个jtag链,能实现对各个器件分别测试。如今,jtag接口还常用于实现isp(in-systemprogrammer,在系统编程),对flash等器件进行编程。
jtag调试接口有tms、tck、tdi、tdo四根调试信号,可选信号脚为:trst、reset复位信号和rtck(同步时钟)。
trst:jtag复位,连接到目标cpu的ntrst引脚,用于复位cpu调试接口的tap控制器;目标板上应将此脚上拉到高电位,避免意外复位;
3、jtag功能
jtag是最基本的通讯协议之一,大家可以理解为与rx、tx以及usb的道理一样,只是一种通讯手段,但与rx tx以及usb有很重大的不同,那就是这个jtag协议是最底层的,说的通俗一点,一般来说,手机里边,cpu是老大,妥妥的吧?但在jtag面前,他就变得不那么回事了,jtag协议就是用来控制cpu的,在jtag面前cpu变成喽啰了。一般的协议是求着cpu读写字库的程序,但jtag可以读写cpu的程序,命令让cpu啥活都干,擒贼先擒王,jtag就是屠龙刀。
所有的手机cpu都支持jtag协议,也必须支持jtag协议,因为cpu里边的数据只有通过jtag功能才能写入,在内部数据错乱的时候或者其他部分重要数据错乱的时候,cpu可能就不理会rx tx或者usb了,在这个时候,用jtag协议功能,强制手机cpu乖乖的干活。
说的简单一点,让大家理解,就是在cpu由于软件原因不联机的时候,jtag是唯一能够恢复这部分软件的工具。jtag能够指挥cpu干任何事,在jtag面前cpu只是一个马仔。
a. 下载器,即烧写软件到flash里;
b. 用于调试程序,通过jta接口可以调试电路板上的程序,跟医生的听诊器似的,可探听芯片内部小心思;
c. 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。
4、jtag的引脚定义
a) test clock input (tck)------测试时钟输入,tck在ieee1149.1标准里是强制要求的;
b) test mode selection input (tms) ----测试模式选择,tms用来设置jtag口处于某种特定的测试模式,tms信号在tck的上升沿有效,tms在ieee1149.1标准里也是强制要求的;
c) test data input (tdi)------ 测试数据输入,所有的数据都是通过tdi接口串行输入的,tdi在ieee1149.1标准里是强制要求的;
d) test data output (tdo)------测试数据输出,所有的数据都是通过tdo接口串行输出的,tdo在ieee1149.1标准里是强制要求的;
e) test reset input (trst)------测试复位,输入引脚,低电平有效,这个信号接口在ieee 1149.1标准里是可选的,并不是强制要求的。
f) (vtref) -----参考电压信号,这个引脚一般直接连接vcc。用于检查目标板是否供电,直接与目标板vdd联,并不向外输出电压,这个引脚也是强制要求的;
g) 目标板参考电压信号。return test clock (rtck) ----由芯片返回给仿真器的时钟信号,用来同步tck信号的产生,不使用时直接接地,不是必选的;
h) system reset ( nsrst)------与目标板上的系统复位信号相连,可以直接对目标系统复位,同时可以检测目标系统的复位情况,为了防止误触发应在目标端加上适当的上拉电阻;
i) gnd------公共地信号。
虽然trst、nsrst是可选的信号;但一般都建议接上,使得仿真器能够在连接器件前对器件进行复位,以获得较理想的初始状态,便于后续仿真。
由于jtag在实验室调试的时候经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线就出现了这种20针的接口。但事实上,rtck、userin、user out一般都不使用,于是还有一种14针的接口。对于实际开发应用来说,由于实验室电源稳定,电磁环境较好,干扰不大。
5、20、14、10 pin jtag的引脚关系
值得注意的是,不同的ic公司会自己定义自家产品专属的jtag头,来下载或调试程序。嵌入式系统中常用的20、14、10pin jtag的信号排列如下:
需要说明的是,上述jtag管脚的名称是对ic而言的。例如tdi脚,表示该脚应该与ic上的tdi脚相连,而不是表示数据从该脚进入download cable。实际上10针的只需要接4根线,4号是自连回路,不需要接,1,2接的都是1管脚,而8,10接的是gnd,也可以不接。
华为“黑科技”频现 新一代服务体系建立
重磅| 基石资本张维批造车新势力不值得投资,小鹏汽车CEO不服回怼:无需您投资!
LCD液晶显示屏如何有效防静电,有什么解决方法吗
超45万亿!2017年全国都要撸起袖子大干了!
欧菲光转让给南昌工控16%股权 约34.7亿元
JTAG的基本原理
QUIC如何解决TCP性能瓶颈
发光二极管谁发明的_最早出现在哪个国家
英特尔医疗影像领域已取得诸多突破 大幅提升了筛查的检测精度和效率
支持包裹看护 萤石极光人脸视频锁Y3000FVX 双摄版热售中
液位传感器选择常开还是常闭
亿咖通科技为博泰新一代智能座舱产品提供坚实的技术底座
人工智能最新进展,神经网络功不可没
事实证明8位MCU并没有消亡,它正在茁壮成长
极飞无人机:无人机快递先行者,效率堪比一台飞驰的货车
物联网传感器是可以用于冷冻物品的温度传感器?
台积电宣布今年大规模资本支出计划后,将面临巨大的盈利压力
接触器继电器的几个细节
做一个激光雷达,需要哪些基本部件?
程序员怎样在工作中提升自我