0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨一下JTAG口是什么?

FPGA之家 来源:FPGA资源侠客 作者:FPGA资源侠客 2022-07-26 09:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

FPGA研发及学习过程中,有一个关键步骤就是下板实现,做硬件“硬现”很重要,一般来说用JTAG口比较常见一些,因此相信肯定有些大侠遇到过JTAG口失灵或者损坏无法使用的事情。最近我就遇到了这类事情,FPGA的JTAG口突然就不能下载程序了,而且这种事情已经不是第一次了,之前在做项目的时候也出现过,而且出现的形式也极其相似,之前还用的好好的,第二天就不行了,真是让人郁闷。为此,本人也是去尝试了很多解决办法,一开始也没有去设想是JTAG口坏了,于是乎,本人换了usb-blaster,可一点反应也没有。难道真的是JTAG口坏了?于是,本人就去查阅相关资料去搞清楚问题的本质在哪里,下面就是本人的一些收获,分享出来,仅供各位大侠参考,一起交流学习。

根据查阅资料及本人的一些实践经验所得,在使用JTAG下载接口的过程中,请不要随意带电插拔,否则会损坏FPGA芯片的JTAG口信号管脚。那么如何去确认JTAG口已经损坏了呢。首先你要去排除基本的几项因素,一是,是否匹配连接,有很多设备会对应很多接口,在实际条件下要匹配正确,否则也会出现上述情况;二是,排除下载线的问题,如果是下载线坏了,可以使用多根下载线去尝试,排除这类问题。如果还是不能访问FPGA的JTAG口,那么很有可能你的FPGA芯片的JTAG口已经损坏。此时请用万用表检查TCK,TMS,TDO和Tdi是否和GND短路,如果任何一个信号对地短路则表示JTAG信号管脚已经损坏。

至于JTAG口是什么,这里我们也来探讨一下,JTAG英文全称是 Joint Test Action Group,翻译过来中文就是联合测试工作组。

JTAG是一种IEEE标准用来解决板级问题,诞生于20世纪80年代。今天JTAG被用来烧录、debug、探查端口。当然,最原始的使用是边界测试。

1、边界测试

举个例子,你有两个芯片,这两个芯片之间连接了很多很多的线,怎么确保这些线之间的连接是OK的呢,用JTAG,它可以控制所有IC的引脚。这叫做芯片边界测试。

dd917c98-0c80-11ed-ba43-dac502259ad0.png

2、JTAG引脚

JTAG发展到现在已经有脚了,通常四个脚:TDI,TDO,TMS,TCK,当然还有个复位脚TRST。对于芯片上的JTAG的脚实际上是专用的。

TDI:测试数据输入,数据通过TDI输入JTAG口;

TDO:测试数据输出,数据通过TDO从JTAG口输出;

TMS:测试模式选择,用来设置JTAG口处于某种特定的测试模式;

TCK:测试时钟输入;

TRST:测试复位。

dd9bc64e-0c80-11ed-ba43-dac502259ad0.png

CPU和FPGA制造商允许JTAG用来端口debug;FPGA厂商允许通过JTAG配置FPGA,使用JTAG信号通入FPGA核。

3、JTAG如何工作

PC控制JTAG:用JTAG电缆连接PC的打印端口或者USB或者网口。最简单的是连接打印端口。

TMS:在每个含有JTAG的芯片内部,会有个JTAG TAP控制器。TAP控制器是一个有16个状态的状态机,而TMS就是这玩意的控制信号。当TMS把各个芯片都连接在一起的时候,所有的芯片的TAP状态跳转是一致的。下面是TAP控制器的示意图:

ddaaa1fa-0c80-11ed-ba43-dac502259ad0.png

改变TMS的值,状态就会发生跳转。如果保持5个周期的高电平,就会跳回test-logic-rest,通常用来同步TAP控制器;通常使用两个最重要的状态是Shift-DR和Shift-IR,两者连接TDI和TDO使用。

IR:命令寄存器,你可以写值到这个寄存器中通知JTAG干某件事。每个TAP只有一个IR寄存器而且长度是一定的。

DR:TAP可以有多个DR寄存器,与IR寄存器相似,每个IR值会选择不同的DR寄存器。(很迷)

4、JTAG链相关疑问

计算JTAG链中的IC数目:

一个重要的应用是IR值是全一值,表示BYPASS命令,在BYPASS模式中,TAP控制器中的DR寄存器总是单bit的,从输入TDI到输出TDO,通常一个周期,啥也不干。

可用BYPASS模式计算IC数目。如果每个IC的TDI-TDO链的延迟是一个时钟,我们可以发送一些数据并检测它延迟了多久,那么久可以推算出JTAG链中的IC数目。

得到JTAG链中的器件ID:

大多数的JTAG IC都支持IDCODE命令。在IDCODE命令中,DR寄存器会装载一个32bit的代表器件ID的值。不同于BYPASS指令,在IDCODE模式下IR的值没有标准。不过每次TAP控制器跳转到Test-Logic-Reset态,它会进入IDCODE模式,并装载IDCODE到DR。

5、边界扫描:

ddba0884-0c80-11ed-ba43-dac502259ad0.png

TAP控制器进入边界扫描模式时,DR链可以遍历每个IO块或者读或拦截每个引脚。在FPGA上使用JTAG,你可以知晓每个引脚的状态当FPGA在运行的时候。可以使用JTAG命令SAMPLE,当然不同IC可能是不同的。

ddc69f36-0c80-11ed-ba43-dac502259ad0.jpg

如果JTAG口已经损坏了,那只能“节哀顺变”了,但是也不要只顾着伤心,最重要的是分析其中的原因,做其他事情也是一样的道理。那我们就来分析分析,我们在使用的过程中,可能经常为了方便,随意插拔JTAG下载口,在大多数情况下不会发生问题。但是仍然会有很小的机率发生下面的问题,因为热插拔而产生的JTAG口的静电和浪涌,最终导致FPGA管脚的击穿。至此,也有人怀疑是否是盗版的USB Blaster或者ByteBlasterII设计简化,去除了保护电路导致的。但经过很多实际情况的反馈,事实证明原装的USB Blaster 也会发生同样的问题。也有人提出质疑是否是ALTERA的低端芯片为了降低成本,FPGA的IO单元没有加二极管钳位保护电路。这类质疑其实都不是解决问题的本质,最重要的是我们要规范操作,尽可能的去减少因为实际操作不当导致一些硬件设备、接口等提前结束寿命或“英年早逝”,那重点来了,关于JTAG下载口的使用,我们需要如何去规范操作呢。

上电时的操作流程顺序:

1.在FPGA开发板及相关设备断电的前提下,插上JTAG下载线接口;

2.插上USB Blaster或者ByteBlasterII的电缆;

3.接通FPGA开发板的电源

下电时的操作流程顺序:

1.断开FPGA开发板及相关设备的电源;

2.断开USB Blaster或者ByteBlasterII的电缆;

3.拔下JTAG下载线接口,并放置适宜地方存储。

虽然上述的操作步骤有点繁琐,有时我们在使用的时候也是不以为然,但是为了保证芯片不被损坏,建议大家还是中规中矩的按照上述的步骤来操作。本人上述出现的问题,经过检测后就是TCK跟GND短路了,虽然发生的概率不是很大,但是为了能够更合理更长久的的使用硬件相关设备,还是建议大家在实操过程中,不要担心繁琐,中规中矩操作,换个角度思考,“多磨多练”也是对自己有好处的。最后,还是给各位唠叨一句,关于JTAG下载口的使用最好不要带电热插拔,起码可以让JTAG口“活”的久一些,毕竟长情陪伴也是挺不错的,不要等到失去了才知道惋惜。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630235
  • JTAG
    +关注

    关注

    6

    文章

    411

    浏览量

    74609
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113302

原文标题:关于JTAG口,你了解多少?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    支付宝“碰一下”的革新背后:国民技术MCU的隐形力量

    近日,全球顶尖金融科技盛会Money20/20公布首届创新大奖TheMoneyAwards结果,“支付宝碰一下”从众多参赛企业中脱颖而出,凭借创新的解决方案和极致的用户体验摘得“支付”类别大奖,成为
    的头像 发表于 11-21 19:15 1060次阅读
    支付宝“碰<b class='flag-5'>一下</b>”的革新背后:国民技术MCU的隐形力量

    Linux识别不到JTAG是怎么回事?

    Linux识别不到JTAG
    发表于 11-06 07:24

    分享一下多点电极液位开关的特点与优势

    ,都是在监测液位。在工业生产中,会用到很多液体,他们的液位监测又由谁来守护呢?今天我们来了解一下,多点电极液位开关,聊聊它有什么特点和优势? 我们在生活中或是工业中,遇到的开关可能就知道“满了”与“空了”,但
    的头像 发表于 09-24 18:15 512次阅读
    分享<b class='flag-5'>一下</b>多点电极液位开关的特点与优势

    热插拔让jtag接口短路了还有救吗

    我知道是我猪鼻了,请问只能换电路板了吗,测了一下jtag接口电路的短路情况,不出意外的短路了。。。。。板子是创龙的fmql20s
    发表于 08-23 11:09

    图解环路设计及控制技术探讨

    由于之前缺乏控制理论方面的知识在刚接触反馈环路的时候对其中的很多名词不是很明白,这次准备采用图解的方法逐的搞清楚这些名词并且试图找出种便捷的设置零、极点的方法。最后准备再探讨一下
    发表于 08-22 17:39

    JTAG标准的状态机实现

    JTAG作为项国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试和调试。目前的主流芯片均支持JTAG协议,如DSP、FPGA、ARM、部分单片机等。标准的JTAG接口
    的头像 发表于 08-21 15:12 2054次阅读
    <b class='flag-5'>JTAG</b>标准的状态机实现

    奥比中光助力支付宝碰一下落地电梯场景

    近日,支付宝与分众传媒宣布联合推出“碰一下抢红包”服务。作为创新交互方式,“支付宝碰一下”首次被引入至电梯场景,并已在全国20余个城市的电梯铺设。奥比中光作为“支付宝碰一下”业务的核心供应商,为这
    的头像 发表于 08-12 11:32 979次阅读

    “碰一下”支付终端应用在酒店:智能无卡入住与客房控制

    “碰一下”支付终端和“碰一下”支付机具今年已在各种餐饮零售门店推广应用。就连天波小编家附近的村口小超市也用上了“碰一下”支付终端。近日,卤味龙头企业绝味食品宣布,全国门店将接入“支付宝碰一下
    的头像 发表于 07-04 09:57 621次阅读
    “碰<b class='flag-5'>一下</b>”支付终端应用在酒店:智能无卡入住与客房控制

    上电时GPIO控制的LED偶尔诡异地亮了一下

    快速上下电时,主控1.8V的GPIO控制的LED会亮一下。放久点再上电则不会异常亮。仔细排查发现1.8V比0.9V先上电,再深入排查发现快速上下电时1.8V电源的RC延时使能失效,上电时序异常,主控工作异常。
    的头像 发表于 06-18 14:16 615次阅读
    上电时GPIO控制的LED偶尔诡异地亮了<b class='flag-5'>一下</b>

    一下终端,让自助售货机秒变 “家里的冰箱”

    继刷脸支付后,支付宝近日又推出了新的支付方式——碰一下支付。只需将手机轻轻靠近支付宝“碰一下”支付终端,即可完成支付,比以往要先解锁手机,调出APP的付款码再支付的操作环节要便捷和省时许多。“碰一下
    的头像 发表于 06-18 10:49 1439次阅读
    碰<b class='flag-5'>一下</b>终端,让自助售货机秒变 “家里的冰箱”

    关于STM32f103RCT6核心板USB不能程序

    识别到了SWDIO后点击确定即可: 接着在utilities中,按如图配置后点击setting: 最后按如图配置,选择你需要的FLASH单击一下,按确定和OK。 然后就编译程序最后下载进板子即可:
    发表于 06-03 11:14

    FPGA的Jtag接口烧了,怎么办?

    在展开今天的文章前,先来讨论个问题:FPGA的jtag接口烧了怎么办?JTAG接口的输入引脚通常设计为高阻抗,这使得它们对静电电荷积累非常敏感,由于JTAG接口需要频繁连接调试器、下
    的头像 发表于 04-27 11:01 2118次阅读
    FPGA的<b class='flag-5'>Jtag</b>接口烧了,怎么办?

    “碰一下”支付背后的4G技术

    不知道你是否有留意,近期,在线下支付场景中,多了个支付宝“碰一下”支付的设备,只需要“解锁手机—碰一下—确认”即可完成支付,对比打开付款码支付,步骤确实更加简洁。
    的头像 发表于 01-03 16:27 4997次阅读

    支付宝发布新代AI视觉搜索“探一下

    支付宝近日正式推出了基于自研多模态大模型技术的新代AI视觉搜索产品——“探一下”。这创新产品的问世,标志着支付宝在AI技术应用领域迈出了重要步。 “探
    的头像 发表于 12-31 10:49 938次阅读

    JTAG/MPSD仿真技术参考

    电子发烧友网站提供《JTAG/MPSD仿真技术参考.pdf》资料免费下载
    发表于 12-23 15:45 0次下载
    <b class='flag-5'>JTAG</b>/MPSD仿真技术参考