硬件设计—JTAG链
01 JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS(测试模式选择)、TCK(测试时钟输入)、TDI(测试数据输入)、TDO(测试数据输出),JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。
02 当一个系统中含有多片(2片以上)电平一样的XilinxFPGA、CPLD或PROM(FLASH)时,我们不用把每个IC的JTAG都引出来,可采用单一JTAG口以菊花链(Daisy Chain)形式将所有芯片串联起来实现下载编程,如下图所示。
这样做有两个好处:(1)可以节省多个JTAG口所占用的PCB空间,特别适合空间有限的嵌入式系统,如小型工业摄像机等;(2)嵌入式系统处于封闭环境中,有时需要对系统中的FPGA程序进行在线或远程升级,必须将JTAG口引到机箱外,显然这种单JTAG口的菊花链结构是最佳选择。
03 由于TCK和TMS两个信号是连接到菊花链中的所有芯片,因此这两个信号的质量(完整性)非常重要!特别是时钟信号TCK,任何毛刺干扰和边沿抖动都会导致下载失败。
当菊花链中的芯片(或设备)在3个以上时,TMS和TCK必须加缓冲器(如74LVC245),以增加其驱动能力,对于一些驱动能力差的国产下载器尤其重要。每个驱动门所在分支链路中的芯片(或设备)数量取决于缓冲器的驱动能力,一般74LVC245(8缓冲)的一个缓冲门可驱动3~4个负载(芯片)。在TCK的缓冲器输出端串接一个20~30Ω的电阻,设备端并接一个100~1000p的电容到地,可明显降低边沿抖动、减少毛刺干扰。
TMS是一个模式选择开关信号,TCK是时钟脉冲信号,缺省频率为6MHz,当负载较多时,不加缓冲适当降低TCK的频率也可提高信号完整性。
JTAG协议规定TCK下降沿输出TDI数据有效,并在TCK上升沿采集TDO数据,因此,在整个JTAG链中必须保证TDI至TDO的贯通延时(Propagation Delay)TCPD必须小于TCK的1/2周期TCLK/2,即△T=TCLK/2 –TCPD>0。也就是说,在增加缓冲驱动的情况下,JTAG链路中的芯片总数与每个芯片的TDO延时TDOV(FPGA为TTCKTDO)和TCK频率有关。在芯片总数确定以后,为保证△T>0,可以降低TCK的频率。
04
注意:
JTAG的拓扑比较诡异,尽管频率不高。TMS、TCK是一主多从并联的结构;TDI、TDO是一主一从串联的。如果板上没有TMS、TCK的缓冲器,且布局布线不够好,TCK上的过冲会厉害,只要过冲造成一个错误的边沿,JTAG就挂了。
解决办法就是降低TCK的频率,线上串小电阻,TCK/TMS终端并个小电容。
硬件设计—JTAG链相关推荐
- 硬件设计---JTAG菊花链
1.常见拓扑 1.1.星型拓扑 星型拓扑采用集中式通信控制策略,所有通信均由中央节点控制,中央节点必须建立和维持并行数据通路,星型拓扑可以有效避免信号再多个负载不同步的问题,可以让负载上收到的信号完全 ...
- PCIE总线硬件设计篇
PCIe总线概述 随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行 ...
- 简述可编程控制器硬件组态及网络通信的核心思想_智能硬件设计报价诚信经营...
智能硬件设计报价诚信经营,江苏创品工业设计有限公司,也是少数可以进行产品外观设计,结构设计,硬件软件设计,产线工艺设计及小批定制化生产服务的工业设计公司. 智能硬件设计报价诚信经营, AI-CPS O ...
- SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...
程序的大部分代码都可以在必要的时候才加载到内存去执行,运行完后可以被直接丢弃或者被其他代码覆盖.我们PC上同时跑着很多的应用程序,每个应用程序使用的虚拟地址空间几乎可以整个线性地址空间(除了部分留给操 ...
- 基于CC1310的915MHz硬件设计
一.概述 CC1310内部结合了超低功耗 RF 收发器和超强48MHz Cortex®-M33微控制器,使用ARM® Cortex®-M0专业无线控制器来处理 ROM 或 RAM 中存储的低层 RF ...
- WIZnet无线模块WizFi210/220 硬件设计指导
WizFi 210 是WIZnet公司生产的低功耗"串口转WiFi"无线模块,具有快速启动,体积小巧能优点. 今天给大家介绍一下,WizFi210/220的硬件设计,供您参考! 1 ...
- 基于STM32的倾斜仪设计(二)—— 硬件设计(2)
2.4控制电路 本实验中选用的控制核心是STM32系列单片机,具体型号为STM32F103R8T6.STM32F103R8T6是一款嵌入式-微控制器集成电路,是ST旗下的一款常用的增强型系列微控制器. ...
- 基于DSP的真空断路器机械特性测试系统硬件设计
研究.开发了真空断路器机械特性测试系统,克服了以往的一些应用难题,能实现包括机械.电气.触头温度等多种断路器运行特性的综合监测:该系统采用上下位机结构,下位机是一个基于TI公司的VC33数字信号处理器 ...
- STM32F4主板硬件设计与接口
更多交流欢迎关注作者抖音号:81849645041 本专栏的所有程序都在飞航科技 STM32-F407 开发板上测试通过,本文介绍一下STM32-F407 开发板硬件设计与接口,便于读者学习交流. S ...
最新文章
- 神器:REST测试工具[wiztools.org restclient]客户端Jar依赖Java安装环境
- ESX VCENTER克隆或复制产生的GUEST OS,网卡问题处理
- Android7.1修改系统默认多媒体音量大小
- uniGUI试用笔记(十一)
- 【业务知识】档案工作流程
- luogu1347 排序
- Spring靴子战争包装
- powerShell中 diff的使用
- leetcode(5)—— Longest Palindromic Substring(最长回文子串)
- 小白用python处理excel文件-Python3操作Excel文件(读写)的简单实例
- Direct3D11学习:(二)基本绘图概念和基本类型
- 自从在 IDEA 中用了热部署神器 JRebel,开发效率提升了 10 倍!
- 好书推荐《父与子的编程之旅:与小卡特一起学Python》
- linux键盘映射默认,Linux 中的键盘映射
- 关于jesd204B调试总结
- dfs根目录_分布式文件系统DFS详细解读
- 从豆瓣看《长安十二时辰》如何成为爆款IP?
- 一只特立独行的“猿”
- 模拟幅度调制相干解调系统抗噪声性能仿真分析-python实现
- Fortify WebInspect学习