JTAG 案例

摘要:

以前看datasheet,到了JTAG一章,一直奇怪为啥需要这么多篇幅来进行介绍。这段时间碰到两个JTAG问题,才把章节浏览了一遍。才理解了 TAP其实由TMS,TCK控制,有时候能扫描器件,但是不能下载是因为TMS,TCK是正常,但是其他信号不正常。才理解IR寄存器的 (instruction register)作用,以及长度的重要性。

问题的解决.感谢同事caijun的帮助

JTAG ISSUE

1)  出现JTAG CHAIN 的问题,问题描述

当进行XILINX CPLD 的JTAG下载的时候,LATTICE PM(power management)芯片(ISPPAC-POWER1220AT8)没有串在JTAG chain的链中(虽然同时接第一个TDI)。但是TDI,TMS,TCK仍然接在JTAG chain上,形成一个分叉。当采用XILINX IMPACT进行CPLD下载时,会失败。甚至get dvicecode也会失败。

问题原因:

是因为LATTICE PM的JTAG instruction 的定义和XILINX的instruction的定义不一致造成.

When program the CPLD by Xilinx software, it will read the every IC IDCODE, instruction signals come from TMS&TCK which are inputs for TAP.From Xilinx CPLD datasheet page12, read IDCODE instruction is 0000 0001.

 

clip_image001

and from Lattice power1220 (电源管理芯片ispPAC-POWR1220AT8)datasheet page47 JTAG instruction table, found that

clip_image001[4]

 

clip_image003

they have a same IR(instruction register) length and TMS instruction 0000 0001  !!!! 

 

因为lattice 的器件是一个电源管理芯片,所以会导致误操作lattice器件,电源异常,从而引起FPGA的问题.

另外,因为不是串在一个JTAG CHAIN上,所以无法被下载软件bypass掉

The TAP is controlled by the Test Clock (TCK) and Test Mode Select (TMS) inputs. These inputs determine whether an Instruction Register or Data Register operation is performed.

 

2) 问题描述:

在JTAG 链中,有lattice芯片和3片FPGA,使用chipscope的时候,出现FPGA异常,表现在initialize chain的时候,FPGA的内容似乎被删除,在trigger的时候,软件也被挂死。只有close cable(把JTAG cable关闭)才能重启

问题解决:2011-12-19

如下图,第一个器件是lattice的PM(电源管理芯片ispPAC-POWR1220AT8),其IR length(instruction register length)应该填入8。原来自己乱设为10,可能就造成了LATTICE芯片的错误,或者其他FPGA不可知的错误。 查看lattice atasheet改为8即可。修改可在menu ,JTAG CHAIN/JTAG CHAIN SETUP。其实不是电源问题,而是IR Length填写错误,写成10后,可能就把FPGA的IR指令一并带入受到影响,造成没有预料的问题。

clip_image002[6]

 

JTAG设计小节

1)不要做分叉的JTAG CHAIN,把整个CHAIN串在一起,这样可以bypass不需要的芯片。如果是分叉结构,分叉的芯片由于扫描不到,没法做到bypass,这时虽然分叉,TDO没有接回来,但是TMS,TCK仍然接在一起,就会产生问题(当然主要是电源管理芯片)。

2)如果需要隔离一个芯片的JTAG,必须把TMS,TCK禁止掉,因为这两者才是TAP的输入信号(见JTAG的结构,TAP),由于不同公司的IR寄存器(instruction register)定义不一样,所以会出现冲突的问题(见上)。TDI也有影响。

3)对于POWER management的JTAG,要注意其输出是否影响到整个链的电源,如果影响了,可以增加跳线进行模式选择,让其直接返回。同样对于FPGA,因为涉及到内置逻辑分析仪使用,建议提供模式只有FPGA的JTAG CHAIN.

4)理解JTAG的IR寄存器(instruction register),这个很多JTAG下载软件中碰到非本公司的芯片时,会要求输入IR寄存器的长度(如chipsope,lattice下载),因为bypass命令是全1命令,所有JTAG 需要遵守的不多的命令之一。错误的IR寄存器长度,会带来意想不到的问题。由于不同公司的IR寄存器(instruction register)定义只要遵守一些基本的定义,大部分定义不一样,所以会出现冲突的问题(见第一个issue)

5)Lattice 的PM 的JTAG不支持boundary scan function 。

6)有些芯片的JTAG 管脚供电电压不是和I/O电压一样,有时采用核电压,如CYPRESS QDRII+ SRAM

以上对于JTAG工程师而言比较简单,但是对于一般不关注JTAG CHAIN硬件工程师,则会有用。

转载于:https://www.cnblogs.com/e-shannon/archive/2011/12/21/2295858.html

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

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

相关文章

hcip第七天笔记

类型LS ID通告者作用范围携带信息 Type-1LSA Router 通告者的RID区域内所有运行单区域本地接口的直连拓扑 Typr-2LSA Network DR接口的地址单个MA网络中DR所在路由器的RID单区域单个MA网络拓扑信息的补充信息 Typr-3LSA Sum-Net(summary) 路由信息的目标网络号ABR,在…

第七次实验hcip

第一步:地址划分 172.16.0.0/16 172.16.0.0/19(area0) 172.16.0.0/24(P2P骨干) 172.16.0.0/30 172.16.0.4/30 172.16.0.8/30 172.16.1.0/24(MA骨干) 172.16.1.0/29 172.16.1.8/29 …

第8天hcip

OSPF的防环 1,域间防环 1,OSPF因为区域之间也传递的是路由信息,所有,存在区域水平分割机制。路由信息是从哪个区域学习到的则将不再回传到这个区域。 2,星型拓扑的区域划分要求本身也是一种防环机制。 2,域…

第10天笔记hcip

BGP --边界网关协议 AS -自治系统---由单- -机构或组织管理的一-些列IP网络及其设备的集合。 1,网络范围太大,协议跑不过来,需要进行划分; 2,自治管理. 为了方便区分和标定不同的AS,我们给每个自治系统设计了- -个编号--- AS号…

hcip第11天笔记

6,BGP的基本配置 1,BGP建邻的基本关系 1,EBGP对等体关系直接建邻 [r1]bgp 1----启动BGP进程---后面的1不是进程号,而是配置路由器所在AS的AS号 [r1-bgp] [r1-bgp]router-id 1.1.1.1---配置RID [r1-bgp]peer 12.0.0.2 as-number-…

ContentProvider和Uri详解

一、使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删…

第13天笔记hcip

1,BGP的路由过滤 1,通过路由策略来进行过滤 1,抓取流量 [r1]ip ip-prefix aa permit 172.16.1.0 24 2配置路由策略 3,在BGP进程中进行调用 2,通过前缀列表进行过滤 1,配置前缀列表 2,在BGP进程中进行调用 3…

android Fragments详解一:概述

Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件&#…

hcip第12天笔记

8,路由反射器 Router Reflector --- 路由反射器 --- RR ---- 我们可以通过配置,将某些设备在一定的条件下设置称为路由反射器,之后,该设备将可以反射所学习到的IBGP路由信息。 我们在指定一台路由器称为路由反射器(RR&…

BGP联邦实验

一,首先根据要求进行子网划分 172.16.0.0/16 172.16.0.0/24 ---P2P网络 172.16.1.0/24 ---MA网络 172.16.1.0/29 172.16.1.8/29 172.16.1.16/29 172.16.1.24/29 172.16.1.32/29 …

停止坐井观天,是时候让“我个人认为”见鬼去了!

不知道从什么时候开始,在互联网BBS上、在和同学交流一些涉及到强烈个人立场或看法时,我都习惯性的在每句话的前面或后面加上一句:“我个人认为...”。今天反思一下这个习惯是怎么养成的以及这个习惯有没有存在的必要。 跟任何习惯一样&…

第14天hcip笔记

LDP----标签分发协议---主要应用在MPLS的控制层面 MPLS控制器层面需要完成的工作只要就是分配标签。分配标签的前提是本地路由表中得先 存在标签,传递标签的前提也是得具备路由基础。所有,LDP想要正常工作,则需要IGP作为基础 1,分…

FileSystemObject和Folders使用详细介绍

创建FileSystemObject 我们可以利用FileSystemObject来读取文件。一般的步骤如下: 1)利用CreateObject来创建FileSystemObject对象 2)利用GetFolder来指定搜索的文件夹 3)利用Files命令显示文件 4)利用For each来遍历整…

hcip第15天笔记

企业网的三层架构 --- 企业网搭建时的一个参考建议方案 园区 --- 工厂,政府机关,商场,写字楼,校园,公园等这些公共场所为了实现数据互通而搭 建的网络我们都可以称为园区网 ---- “城市,除了街道&#xff0…

android 动态壁纸

引用:http://www.ophonesdn.com/article/show/278 http://developer.android.com/resources/samples/CubeLiveWallpaper/src/com/example/android/livecubes/cube1/CubeWallpaper1.html 标签 : 动态壁纸 Live Wallpapers 时间壁纸 TimeWall 随着三星Oscar的上市&…

第十五天实验-VLAN

一,创建VLAN [sw1]vlan batch 2 to 6 [sw2]vlan batch 2 to 6 [sw3]vlan batch 2 to 6 二,通过需求修改接口 SW1: [sw1]int g0/0/2 [sw1-GigabitEthernet0/0/2]port link-type access ---将接口设置为access [sw1-GigabitEthernet0/0/2]…

hcip第17天

1,禁用 --- 1,接口关闭情况下;2,接口禁用生成树协议 2,阻塞 --- 生成树协议激活接口后进入的第一个状态。该状态下,接口只能侦听BPDU,不能转发BPDU和业务帧,也不能学习MAC地址一开始…

账户配置 三: Gmail

书接上文,Gmail也是大家常用的邮件之一,在Windows Phone 7中配置Gmail非常容易。我们来看看怎样快速配置Gmail。 操作: 找到“设置”并点击进入选择“电子邮件和账户”选择“添加账户”选择“Google”填写“邮件地址”和“密码”并点击“登录…

[深入学习C#]LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询

此文章非原创,转载自诗人江湖老,原文地址 在Git上下载源码   在工程中我们少不了要定义类或者结构去储存数据,这些数据将被临时地储存在内存中,现在我们想要对其完成一些类似于查找、过滤等等常见的任务的时候,我们该如何去做呢&#xff1…

hcip第18天

链路聚合 --- 可以将多个物理接口捆绑成一个逻辑接口,即将N条物理链路聚合为一条逻辑链路。可以在不升级硬件的条件下,达到增加带宽的效果。 我们将逻辑链路,称为聚合链路,在华为设备中称为ETH-TRUNK链路(这个技术是针…