当前位置: 首页 > news >正文

D-016 JTAG硬件电路设计

JTAG硬件电路设计

  • 1 简介
    • 1.1 JTAG分类
    • 1.2 ARM调试器
  • 2 设计要点
  • 3 电路实战
    • 3.1 Xilinx
    • 3.2 ALTERA ------USB blaster

1 简介

JTAG(Join Test Action Group)的中文名称为联合测试工作组,是一种国际标准测试协议,主要用于芯片内部测试:验证设计PCB测试。现在目前市面上的很多产品都支持JTAG协议(DSP、FPGA、CPLD、ARM等)。

JTAG接口通过4/5引脚连接到芯片上,这些引脚分别是:

网络名称描述
TCK测试时钟输入数据时钟输入
TDI测试数据输入数据通过 TDI 引脚输入 JTAG 接口
TDO测试数据输出数据通过 TDO 引脚从 JTAG 接口输出
TMS测试模式选择TMS 用来设置 JTAG 接口处于某种特定的测试模式
TRST为测试复位(可选)输入引脚,低电平有效。

1.1 JTAG分类

  • 一类用于测试芯片的电气特性,检测芯片是否有问题
  • 一类用于 Debug:一般支持 JTAG 的 CPU 内都包含了这两个模块。

一个含有 JTAG Debug 接口模块的 CPU,只要时钟正常,就可以通过 JTAG接口访问 CPU 的内部寄存器和挂在 CPU 总线上的设备,如 FLASH,RAM,SOC等内置模块的寄存器,像 UART,Timers,GPIO 等等的寄存器。上面说的只是 JTAG 接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。
上电时序
JTAG 电路的时序如图所示,所有基于 JTAG 的操作都必须同步于 JTAG时钟信号 TCK。在 TCK 的上升沿读取或输出有效数据,有严格的建立、保持时间要求,因此一般情况下 JTAG 的时钟不会太高。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C36KSwFV-1669636568318)(硬件电路设计.assets/image-20221128185545030.png)]

1.2 ARM调试器

PIN序定义:

PINSINGLE NAMEI/O DIAGRAM
1VTREFF
2NCNA
3nTRSTD
4GNDH
5TDIB
6GNDH
7TMS/SWDIOB/C
8GNDH
9TCK/SWCLKB
10GNDH
11RTCKA
12GNDH
13TDO/SWOA
14GNDH
15nSRSTE
16GNDH
17DBGRQB
18GNDH
19DBGACKA
20GNDH

实物照片如图所示:

2 设计要点

  • TDI,TMS 是输入,上拉是为了在没有连接下载线的时候,给一个电平,同时提高信号的建立速度。

  • PCB 建库的需注意添加防呆标志,防止接反。

  • 加上 ESD 保护芯片。

3 电路实战

3.1 Xilinx

3.2 ALTERA ------USB blaster

JTAG:JTAG 是直接烧到 FPGA 里面的。由于是 SRAM 断电后要重烧,AS 是烧到 FPGA 的配置芯片里保存的,每次上电就写到 FPGA 里。一般情况下,Cyclone II 开发板上应该有两种下载模式,AS 和 JTAG。AS 就是下载.pof 文件到 EPCS 中。而 JTAG 就是下载.sof 文件到 FPGA 中的RAM 中。//

相关文章:

  • 文件上传漏洞详解
  • 制作一个简单HTML电影网页设计(HTML+CSS)
  • 【Python】记录从3.9升级到3.11踩的坑
  • STM32时间片轮询实现基于RTC带温湿度的万年历
  • 什么是联盟营销以及如何使用它在网上赚更多的钱
  • 阿里云服务器公网带宽计费模式:固定带宽和按使用流量详解
  • [附源码]计算机毕业设计springboot电影院网上售票系统
  • 只会 Python 不行,不会 Python 万万不行
  • 一文带你读懂公司卫生间一直有人窜稀的原理
  • C++基础知识
  • 小满Vue3第四十六章(Proxy跨域)
  • [Linux] 常用命令--版本信息/关机重启/目录/文件操作
  • 年关将近,浅谈近年Android开发技术趋势
  • 【Mysql】数据库的基本操作和表的增删改查
  • 掌握这十个Linux命令,秒变Linux老手
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • E-HPC支持多队列管理和自动伸缩
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • sublime配置文件
  • vue-router 实现分析
  • 复习Javascript专题(四):js中的深浅拷贝
  • 汉诺塔算法
  • 嵌入式文件系统
  • 移动端唤起键盘时取消position:fixed定位
  • 怎么把视频里的音乐提取出来
  • - 转 Ext2.0 form使用实例
  • 最近的计划
  • 1.Ext JS 建立web开发工程
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #QT(一种朴素的计算器实现方法)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (编译到47%失败)to be deleted
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (南京观海微电子)——COF介绍
  • (四)JPA - JQPL 实现增删改查
  • (四)汇编语言——简单程序
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)Java算法:二分查找
  • (正则)提取页面里的img标签
  • (转)http协议
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET 中让 Task 支持带超时的异步等待
  • .NET实现之(自动更新)
  • .NET正则基础之——正则委托
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /etc/shadow字段详解
  • /etc/sudoers (root权限管理)
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [04]Web前端进阶—JS伪数组
  • [acm算法学习] 后缀数组SA