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链相关推荐

  1. 硬件设计---JTAG菊花链

    1.常见拓扑 1.1.星型拓扑 星型拓扑采用集中式通信控制策略,所有通信均由中央节点控制,中央节点必须建立和维持并行数据通路,星型拓扑可以有效避免信号再多个负载不同步的问题,可以让负载上收到的信号完全 ...

  2. PCIE总线硬件设计篇

    PCIe总线概述 随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行 ...

  3. 简述可编程控制器硬件组态及网络通信的核心思想_智能硬件设计报价诚信经营...

    智能硬件设计报价诚信经营,江苏创品工业设计有限公司,也是少数可以进行产品外观设计,结构设计,硬件软件设计,产线工艺设计及小批定制化生产服务的工业设计公司. 智能硬件设计报价诚信经营, AI-CPS O ...

  4. SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...

    程序的大部分代码都可以在必要的时候才加载到内存去执行,运行完后可以被直接丢弃或者被其他代码覆盖.我们PC上同时跑着很多的应用程序,每个应用程序使用的虚拟地址空间几乎可以整个线性地址空间(除了部分留给操 ...

  5. 基于CC1310的915MHz硬件设计

    一.概述 CC1310内部结合了超低功耗 RF 收发器和超强48MHz Cortex®-M33微控制器,使用ARM® Cortex®-M0专业无线控制器来处理 ROM 或 RAM 中存储的低层 RF ...

  6. WIZnet无线模块WizFi210/220 硬件设计指导

    WizFi 210 是WIZnet公司生产的低功耗"串口转WiFi"无线模块,具有快速启动,体积小巧能优点. 今天给大家介绍一下,WizFi210/220的硬件设计,供您参考! 1 ...

  7. 基于STM32的倾斜仪设计(二)—— 硬件设计(2)

    2.4控制电路 本实验中选用的控制核心是STM32系列单片机,具体型号为STM32F103R8T6.STM32F103R8T6是一款嵌入式-微控制器集成电路,是ST旗下的一款常用的增强型系列微控制器. ...

  8. 基于DSP的真空断路器机械特性测试系统硬件设计

    研究.开发了真空断路器机械特性测试系统,克服了以往的一些应用难题,能实现包括机械.电气.触头温度等多种断路器运行特性的综合监测:该系统采用上下位机结构,下位机是一个基于TI公司的VC33数字信号处理器 ...

  9. STM32F4主板硬件设计与接口

    更多交流欢迎关注作者抖音号:81849645041 本专栏的所有程序都在飞航科技 STM32-F407 开发板上测试通过,本文介绍一下STM32-F407 开发板硬件设计与接口,便于读者学习交流. S ...

最新文章

  1. 神器:REST测试工具[wiztools.org restclient]客户端Jar依赖Java安装环境
  2. ESX VCENTER克隆或复制产生的GUEST OS,网卡问题处理
  3. Android7.1修改系统默认多媒体音量大小
  4. uniGUI试用笔记(十一)
  5. 【业务知识】档案工作流程
  6. luogu1347 排序
  7. Spring靴子战争包装
  8. powerShell中 diff的使用
  9. leetcode(5)—— Longest Palindromic Substring(最长回文子串)
  10. 小白用python处理excel文件-Python3操作Excel文件(读写)的简单实例
  11. Direct3D11学习:(二)基本绘图概念和基本类型
  12. 自从在 IDEA 中用了热部署神器 JRebel,开发效率提升了 10 倍!
  13. 好书推荐《父与子的编程之旅:与小卡特一起学Python》
  14. linux键盘映射默认,Linux 中的键盘映射
  15. 关于jesd204B调试总结
  16. dfs根目录_分布式文件系统DFS详细解读
  17. 从豆瓣看《长安十二时辰》如何成为爆款IP?
  18. 一只特立独行的“猿”
  19. 模拟幅度调制相干解调系统抗噪声性能仿真分析-python实现
  20. Fortify WebInspect学习

热门文章

  1. 优雅地给element-ui和element-plus的el-tree控件添加结构线
  2. 写策划案需要了解策划案的内容以及撰写原则
  3. 皮卡丘靶场的搭建以及SQL注入攻击(加强版)
  4. vue-父组件向子组件共享数据
  5. 2021最新Android知识体系总结,实战篇
  6. 冒号课堂§10.2:抽象类型
  7. 账号管理html,管理员账号.html
  8. 【计算机网络】公司网络设计
  9. 道格拉斯—普克(Douglas一Peukcer)算法
  10. 菜鸡的折腾路程,情人节啊顺便记录一下啦,立个flag