JTAG实测波形

JTAG实测波形

1.JTAG基础

1.1引脚定义

信号线方向 (相对于FPGA)全称主要作用
TCK输入Test Clock提供同步时钟,所有操作都在其边沿进行
TMS输入Test Mode Select控制JTAG状态机的状态转换
TDI输入Test Data Input串行数据输入,比特流文件、调试命令等,最终都是通过这根线传输到FPGA
TDO输出Test Data Output串行数据输出,可以从FPGA读回配置数据、芯片ID、内部寄存器状态或者调试数据。
TRST输入 (可选)Test Reset异步复位JTAG接口 ,低电平有效。用于将JTAG的TAP控制器强制复位到一个已知的初始状态。

这几个信号一般内部有上拉电阻。
TRST 可选。因为通过给TMS连续发送5个以上的高电平脉冲,也可以实现JTAG的逻辑复位。

TMS的值在TCK的上升沿被采样,JTAG内部一个固定的16状态状态机(TAP Controller)根据TMS的信号序列进行状态转换。
16个状态如下所示,主要有复位状态,空闲状态、数据寄存器状态,指令寄存器状态。
复位状态:进入此状态后,JTAG逻辑被禁用,芯片正常工作逻辑被激活。上电,或保持 TMS=1 并连续5个TCK时钟,可以进入此状态。
空闲状态:在多个状态下,只要 TMS=0,通常最终都会回到这里。
数据寄存器和指令寄存器都包括7种状态。

在这里插入图片描述


Select-DR-Scan:一个临时路口。在此状态,通过TMS的值决定是进入DR路径,还是切换到IR路径。
Capture-DR:捕获数据。在此状态,芯片会根据当前生效的JTAG指令,将并行数据预加载到数据移位寄存器中。
Shift-DR:核心移位状态。在此状态下,每个TCK周期,数据移位寄存器都会通过TDO移出一位数据,同时通过TDI移入一位新数据。
Exit1-DR:退出移位的第一阶段。用于离开Shift-DR状态。
Pause-DR:暂停移位。允许暂时停止数据移位,而不中断整个操作。这在处理长数据链时很有用。
Exit2-DR:从Pause-DR状态退出的另一个出口。
Update-DR:更新输出。这是一个关键状态。将在Shift-DR阶段移入的数据,锁存到目标寄存器中,并生效。

1.2 时序

在这里插入图片描述


TDO由TCK下降沿驱动。

1.3 JTAG级联

在这里插入图片描述

2.JTAG波形

2.1 擦flash 波形

Ch1:TCK Ch2:TMS Ch3:TDI Ch4:TDO

在这里插入图片描述


连接jtag 时只有tdo为高。测试fpga是安陆的fpga,可以看到擦写时,TDI没有数据,可能是fpga内部逻辑自主擦写。
上图中TMS先复位JTAG,然后从空闲状态进入数据寄存器状态,TDO输出数据。
擦除过程:

在这里插入图片描述


在这里插入图片描述

2.1 烧录flash波形

烧录flash过程和擦写flash一样,都有连接、配置、擦除、编程、验证五个阶段,只不过烧录过程更复杂,数据来源于比特流文件、svf文件等,还涉及到更复杂的jtag协议。
烧录初始波形:除了TDO其他都有数据。

在这里插入图片描述


烧录中

在这里插入图片描述


烧录完成中

在这里插入图片描述


烧录完成:TMS为0,回归空闲状态。

在这里插入图片描述

参考文档

[1]: 7 Series FPGAs Configuration User Guide(Xlinx)

Read more

智能车竞赛实战:如何用地瓜机器人打造智慧医疗解决方案(附完整代码)

智能车竞赛实战:基于地瓜机器人的智慧医疗系统开发指南 在当今技术驱动的医疗创新浪潮中,智能车竞赛为大学生创客提供了绝佳的实践平台。地瓜机器人作为一款开源硬件平台,其灵活的可扩展性和丰富的传感器生态,使其成为开发智慧医疗解决方案的理想选择。本文将深入探讨如何从零开始构建一套完整的智慧医疗系统,涵盖硬件选型、算法设计到实战优化的全流程。 1. 硬件架构设计与环境搭建 构建智慧医疗系统的第一步是搭建可靠的硬件基础。地瓜机器人平台的核心优势在于其模块化设计,允许开发者根据具体需求灵活配置传感器和执行机构。 1.1 核心硬件选型建议 对于医疗应用场景,我们需要特别关注数据的准确性和系统的稳定性。以下是经过实战验证的硬件配置方案: * 主控单元:推荐使用地瓜机器人V3.2开发板,其搭载的STM32H743芯片提供充足的算力资源 * 环境传感器: * 温湿度:SHT31高精度数字传感器(±1.5%RH精度) * 空气质量:SGP30 VOC传感器 * 医疗监测模块: * 红外测温:MLX90614非接触式传感器 * 心率血氧:MAX30102光电传感器

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案 你是否曾满怀期待地启动无人机,看着它在仿真环境中流畅起飞,却在下一秒“砰”地一声撞上突然出现的障碍物,仿真画面定格,留下一串令人沮丧的报错信息?在复杂、非结构化的真实飞行场景中,比如在枝叶交错的林间穿行,或在有行人、车辆移动的城区执行任务,传统的全局规划器往往显得力不从心。它们规划的路径可能全局最优,但面对瞬息万变的局部环境,反应速度跟不上变化,导致“撞树”成了家常便饭。今天,我们不谈空洞的理论对比,而是聚焦于一个能真正解决这个痛点的方案——Ego-Planner,并带你一步步在ROS和Gazebo搭建的仿真世界里,亲手实现一个能“眼观六路、随机应变”的无人机大脑。 本文面向的是已经具备一定ROS和无人机仿真基础,正被动态避障问题困扰的开发者、研究者或高级爱好者。我们将彻底抛开宏观的算法优劣论述,直接深入到代码配置、参数调优和实战排错层面。你将看到的不是“Ego-Planner实时性更好”这样的结论,而是“如何设置距离场梯度计算的网格分辨率”、“碰撞反作用力系数调到多少能让无人机既灵活又稳定”的具体操作。我们

VRM4U插件完整指南:在Unreal Engine 5中高效处理VRM模型

VRM4U插件完整指南:在Unreal Engine 5中高效处理VRM模型 【免费下载链接】VRM4URuntime VRM loader for UnrealEngine4 项目地址: https://gitcode.com/gh_mirrors/vr/VRM4U 还在为Unreal Engine 5中VRM模型导入的各种技术问题而烦恼吗?今天我要为你详细介绍一款能够彻底优化VRM工作流程的专业工具——VRM4U插件!这款专为UE5设计的VRM文件导入解决方案,让你能够专注于创意实现,而不是技术细节。 项目核心价值:为什么VRM4U是你的最佳选择 VRM4U插件不仅仅是一个格式转换器,它是一套完整的3D角色处理生态系统。通过智能化的技术实现,它解决了VRM模型在UE5环境中面临的多重挑战。 核心问题解决方案: * 自动化的材质系统转换 * 完整的骨骼结构映射 * 动画数据的无缝衔接 * 跨平台性能优化 快速入门:5分钟完成插件配置 获取插件资源 首先需要下载VRM4U插件,使用以下命令获取完整代码库: git clone https://gitcode

OFA-VE在AR内容生成中的应用:实时验证虚拟物体与现实图像逻辑关系

OFA-VE在AR内容生成中的应用:实时验证虚拟物体与现实图像逻辑关系 1. 引言:当虚拟遇见现实,如何确保它们“合情合理”? 想象一下,你正在开发一款增强现实(AR)应用,用户可以通过手机摄像头,在自家的客厅里“放置”一个虚拟的沙发。听起来很酷,对吧?但问题来了:如果用户家的客厅里已经摆满了家具,这个虚拟沙发应该放在哪里才显得真实、不突兀?是悬浮在半空,还是稳稳地落在地板上?它会不会和现实中的茶几“穿模”? 这就是AR内容生成中一个核心且棘手的挑战:逻辑一致性。虚拟物体不仅要“看起来”在现实场景中,更要“在逻辑上”与现实场景融为一体。传统方法往往依赖复杂的3D场景重建和物理引擎计算,过程繁琐且对硬件要求高。 今天,我们要介绍一个能优雅解决这个问题的“智能裁判”——OFA-VE。它不是一个AR开发工具,而是一个尖端的多模态推理系统。它的核心能力是进行“视觉蕴含”分析,简单来说,就是判断一段文字描述是否符合一张图片所展现的事实。 我们将深入探讨,如何利用OFA-VE的这种能力,为AR内容生成流程注入“逻辑验证”