2.2 基于ultrascale 架构FPGA的system manager wizard使用(温压监测)

2.2 基于ultrascale 架构FPGA的system manager wizard使用(温压监测)

Reference: 《PG185》《UG580》

部分文案源于网友博客,AIGC和个人理解,如有雷同纯属抄袭

一、介绍

简述:

Xilinx System Management Wizard 是 Vivado 和 Vitis 工具中的一个图形化配置工具,主要用于为 FPGA 设计生成与系统监控和管理相关的 IP 核。这个工具帮助用户配置和集成诸如温度监控、电压监控、时钟监控、外部模拟输入等功能到 FPGA 设计中。它支持AXI4-Lite 与 DRP 接口

主要功能:
  • 温度和电压监测
    • 内建传感器:支持 FPGA 内部温度、VCCINT(核心电压)、VCCAUX(辅助电压)、VCCBRAM(BRAM 电压)等电压和温度监测。通过 SYSMON 进行实时数据采集。
    • 外部模拟输入:可通过 XADCSYSMON 配置外部传感器的数据采集,支持多通道模拟输入,进行温度、电压、压力等数据监测。
  • 警报系统
    • 设置不同的警报阈值(如温度、电压等)以确保系统在出现异常时触发警报。
    • 支持对温度、电压等信号设置高低阈值,并在超出预定阈值时触发警报(如 Over Temperature AlarmUser Temperature Alarm)。
最大时钟频率:

二、原理

(1)架构框图
1. System Management Wizard(启用AXI Lite 接口时)

此模块框图展示了AXI-Lite接口控制管理模块SYSMON硬件核心模块(含ADC)SYSMON硬件宏(Hard Macro) 是指在硬件设计中,特别是在 FPGA 或 ASIC 设计中,作为一个已实现的、封装好的功能模块,通常是经过优化的硬件单元或模块。

2. SYSMON 架构框图
    • 模拟输入源 与MUX
    • ADC功能模块 与VREF
    • 寄存器空间 含measurement data
    • DRP接口
3. SYSMON Register Space
  • DRP允许访问多达256个16位寄存器(DADDR[7:0] = 00h至FFh)。
  • 接入位置DADDR[7:0] = 00h至3Fh和DADDR[7:0] = 80h至FFh为只读位置,包含ADC测量数据,这些寄存器是状态寄存器
  • 控制寄存器位于地址40h至7Fh,可通过DRP读取或写入。
(2)端口说明
1. 控制和状态通道(Control and Status Channels)
  • s_axi_aclk:AXI 时钟信号,用于同步所有 AXI 操作。
  • s_axi_aresetn:异步复位信号,通常是低有效信号。
2. AXI写操作通道(Write Channel)
  • s_axi_awaddr[12:0]: 写操作的地址信号,指示要写入的寄存器地址。
  • s_axi_awvalid: 指示写地址是否有效。
  • s_axi_awready: 响应信号,表示写地址是否准备好。
  • s_axi_wdata[31:0]: 写数据信号,包含待写入的 32 位数据。
  • s_axi_wstrb[3:0]: 字节使能信号,指示哪些字节有效。
  • s_axi_wvalid: 写数据有效信号,指示写数据是否有效。
  • s_axi_wready: 响应信号,表示写数据是否准备好。
  • s_axi_bresp[1:0]: 写响应信号,指示写操作的结果,如成功或失败。
              • 它可以指示成功(例如 OKAY)或错误状态(例如 SLVERR)。
  • s_axi_bvalid: 写响应有效信号,指示写响应是否有效。
  • s_axi_bready: 从设备准备好接收写响应信号。
3. AXI读操作通道(Read Channel)
  • s_axi_araddr[12:0]: 读操作的地址信号,指示要读取的寄存器地址。
  • s_axi_arvalid: 读地址有效信号,指示读地址是否有效。
  • s_axi_arready: 响应信号,表示读地址是否准备好。
  • s_axi_rdata[31:0]: 读数据通道,返回读取的数据。
  • s_axi_rresp[1:0]: 读响应信号,指示读取操作的结果。
  • s_axi_rvalid: 读数据有效信号,指示读数据是否有效。
  • s_axi_rready: 从设备准备好接收读数据的信号。
4. 其他flag信号(External Signals and Inputs)
  • vpvn:外部模拟信号输入,通常与 XADC 或 SYSMON 模块结合使用,读取模拟传感器数据。
  • user_temp_alarm_outvcint_alarm_outvccaux_alarm_out 等:报警信号输出端口,指示温度、电压等传感器的警报状态。
  • eoc_outalarm_outeos_out:系统监控信号,指示 ADC 转换结束、报警状态或序列结束等。
  • busy_out:忙碌信号,指示系统是否正在进行数据采集或处理。

详见PG185 table 2-1

  • channel_out:单通道或外部多路复用器工作模式下,表示所选ADC输入通道

详见UG580 table 3-6

(3)地址寄存器
1. AXI4-Lite address (13 bits)映射至SYSMON (8 bits):

SYSMON 寄存器地址左移2位,地址值放大了4倍(PG185 table 2-3)

2.SYSMON Registers Address
(4)读时序图

三、IP核配置(例:监测温度电压 AXI4lite输出)

(1)Basic
1. Startup Channel Selection
  • Single Channel:如果您只需要监测单个通道的模拟输入,可以选择这个选项。适合简单的应用,例如只监测芯片的温度或者单一电压。
  • Channel Sequencer:如果您需要同时监测多个通道,并按顺序采样,可以选择这个选项。对于更复杂的应用,如监测多个电压或传感器的数据,使用 Channel Sequencer 会更合适。

选择Channel Sequencer,按顺序采样不同通道

2. Sequencer Mode
  • Continuous:如果您希望 ADC 连续不断地进行采样(例如,在监测过程中不断更新数据),可以选择 Continuous 模式。这适合于实时数据监测应用。
  • Event:如果您只希望在特定的事件发生时采样数据,可以选择 Event 模式。这适用于事件驱动的应用,采样仅在特定事件发生时才会启动。

选择Continuous

3. Channel Averaging
  • None:如果不需要对采样结果进行平均,可以选择 None。这种配置将每次采样的值直接输出。
  • Averaging:如果您希望减少噪声并提高测量的稳定性,可以启用通道平均功能。这对于高噪声环境中的信号采集很有用。

建议开启,可选择16(内部存在寄存器表示采样数量 UG580)

4. DRP Timing Options
  • DCLK Frequency:设置动态时钟频率,这个值控制数据转换的时钟频率,影响 ADC 的响应速度。您可以选择100 MHz,或者根据您的需求调整。
  • ADC Conversion Rate (KSPS):设置 ADC 的转换速率,单位是千样本每秒 (KSPS)。200 KSPS 是一个适中的值,适合许多应用。
  • Acquisition Time (CLK):这是每个采样周期的时钟周期数,可以根据您的采样精度要求来调整。值为 4 表示每次采样需要 4 个时钟周期。

默认即可

(2)片上模拟信号源选取(系统),及警报阈值配置
1. Reference Used by SYSMON 基准电压选取
  • Internal 选择 FPGA 内部的参考电源。
  • External 选择 外部电压源作为参考。

选择Internal即可!注:该基准电压的选择会影响ADC测算的性能精度,详见UG580 - Reference Inputs (VREFP and VREFN)

2. 温度警报的 Trigger 和 Reset
  • Trigger 是温度达到或超过指定阈值时激活警报。
  • Reset 是温度降低到一定水平时警报被重置或关闭。
3. 电压的警报阈值配置
  • Lower:低于该值时会触发警报。
  • Upper:超过该值时会触发警报。
(3)片上模拟信号源选取(用户)

配置方式类似于(2)此页不做额外配置

(4)外部通道功能选择
  • External Multiplexer:如果需要从外部模拟源获取信号,可以启用此项,并选择 VP VN 或其他外部输入信号作为通道。
  • Channel Enable:根据需要启用相应的通道。如果只需要采集 vp/vn,则启用对应的通道。
  • Average Enable:如果需要对采样值进行平均,启用此选项。如果不需要平滑数据,则不启用。
  • Bipolar:仅在您需要采集正负电压信号时启用该选项。
  • Acquisition Time:设置适当的采样时间,根据您的应用需求选择合适的时钟周期。

默认即可

(5)仿真设置

不详,暂不配置使用

四、输出数据处理

(1)数据精度:
1.SYSMON数据寄存器输出

ADC转换结果以16bits精度存储于寄存器中

2.数据输出映射 32 bits DRP 寄存器

由于这些寄存器宽 16 位,但处理器数据总线宽 32 位,因此硬宏寄存器数据驻留在 32 位数据总线的较低 16 位上

(2)转换公式选取:
1.Temperature ADC
    1. 确定FPGA架构(ultrascale)选取(SYSMONE1)
    2. 确定ADC的参考电压源为 external OR on-chip (IP 配置过程选择)
    3. 根据ADC输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中2^bits
    4. 选取转换公式2-7
2.Voltage ADC
    1. 确定所测电压衰减系数为3,(衰减系数为6时为特殊情况,详见下文)
    2. 确定ADC输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中2^bits
    3. 选取转换公式2-15

五、仿真

配置完IP后,即可右键IP打开示例工程,直接进行仿真查看选定通道的ADC转换结果依次输出

六、Debug

(1)dashboard

xlinx官方自带sys_mon系统监测功能无需下板,连接设备后,右键选择器件启动dashboard ,即可实时查看芯片内部数据可将处理后的输出数据与此对照检测

(2)上板验证ILA抓取温度数据

输入读地址通道为 'h0400 温度寄存器地址待复位完毕后,读出valid时刻数据经转换公式结果计算得温度为26.94°C与dashboard结果几乎一致

Read more

跟着AI学Java,三天零基础入门到大牛,基础学习到SpringBoot项目实战一套通关,基于DeepSeek大模型通义灵码,mysql数据库,小程序vue3前端

跟着AI学Java,三天零基础入门到大牛,基础学习到SpringBoot项目实战一套通关,基于DeepSeek大模型通义灵码,mysql数据库,小程序vue3前端

关于什么是java我就不在啰嗦,大家如果不知道可以自行问ai 开发者工具 传统模式下我们学习Java需要用到IntelliJ IDEA或者Eclipse,但是现在是ai人工智能时代,我们可以借助ai快速学习,甚至可以借助ai快速的实现不写一行代码,就可以实现一个Java项目,所以ai人工智能时代我们要选择一款得心应手的Java开发者工具。我这里推荐使用 以下是市面上主流的 Java 开发工具及其优缺点分析: 1. IntelliJ IDEA * 使用场景:企业级开发,适合复杂项目。 * 优点: * 强大的代码补全和重构功能。 * 内置对 Spring、Maven、Gradle 等框架的良好支持。 * 高效的调试工具和性能分析器。 * 插件生态系统丰富。 * 缺点: * 商业版收费(社区版功能有限)。 * 占用内存较大,启动较慢。 2. Eclipse * 使用场景:广泛应用于企业级和开源项目。 * 优点: * 免费开源,插件丰富。 * 轻量级配置(基础版本占用资源较少)。 * 对 Java EE 和 An

voidImageViewer:轻量级图像查看工具, GIF/WEBP 动画支持

voidImageViewer:轻量级图像查看工具, GIF/WEBP 动画支持 【免费下载链接】voidImageViewerImage Viewer for Windows with GIF support 项目地址: https://gitcode.com/gh_mirrors/vo/voidImageViewer 项目介绍 voidImageViewer 是一款专为 Windows 设计的轻量级图像查看器。它以极快的速度打开和显示 BMP、GIF、ICO、JPG、TIF 以及 WEBP 格式的图片。此外,voidImageViewer 还具备精确播放 GIF/WEBP 动画的能力,为用户提供了出色的视觉体验。 项目技术分析 voidImageViewer 采用高效的图像处理算法,实现了对各种图像格式的高效解码和显示。在动画播放方面,voidImageViewer 使用了先进的帧同步技术,确保动画播放的流畅性和准确性。

Java Web +智慧养老中心管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

Java Web +智慧养老中心管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 随着人口老龄化问题日益突出,传统养老模式已难以满足现代社会的需求,智慧养老成为解决养老问题的重要方向。智慧养老中心管理系统通过信息化手段提升养老服务效率和质量,实现资源优化配置,为老年人提供更便捷、更安全的服务。该系统整合了养老机构、医护人员、家属等多方资源,构建了一个高效、智能的管理平台。关键词:智慧养老、信息化管理、老龄化、养老服务、资源优化。 本系统采用Java Web技术栈开发,后端基于SpringBoot2框架构建,结合MyBatis-Plus实现高效数据操作,前端使用Vue3框架实现动态交互界面,数据库采用MySQL8.0存储数据。系统功能涵盖老人信息管理、健康监测、护理服务、家属互动等模块,支持多角色权限管理,确保数据安全。系统采用前后端分离架构,通过RESTful API实现数据交互,提升了系统的可扩展性和维护性。关键词:SpringBoot2、Vue3、MyBatis-Plus、MySQL8.0、权限管理。 数据表 老人信息数据表 老人信息数据表用于存储养老中心老人的基本信息,包括个人资料、健康状况及紧急联系人信息。创建时间通过系统函数自动生成,老人编

Java SpringBoot+Vue3+MyBatis Web宠物商城网站系统源码|前后端分离+MySQL数据库

Java SpringBoot+Vue3+MyBatis Web宠物商城网站系统源码|前后端分离+MySQL数据库

摘要 随着互联网技术的快速发展,电子商务已成为人们日常生活中不可或缺的一部分。宠物行业作为新兴市场,近年来呈现出快速增长的趋势,宠物用品的线上购买需求显著提升。传统的宠物商店受限于地理位置和营业时间,难以满足消费者随时随地的购物需求。基于Web的宠物商城系统能够突破时空限制,为用户提供便捷的选购、支付和售后服务。此外,宠物商城系统还能通过数据分析优化库存管理和营销策略,提升商家的运营效率。该系统不仅满足了宠物爱好者的需求,也为宠物行业的数字化转型提供了技术支持。关键词:电子商务、宠物商城、Web系统、数字化转型、MySQL。 本系统采用前后端分离架构,后端基于Java SpringBoot框架开发,提供稳定的RESTful API接口,确保系统的高效性和可扩展性。前端使用Vue3框架实现动态交互和响应式布局,提升用户体验。数据持久化层采用MyBatis框架,结合MySQL数据库存储和管理商品、订单及用户信息。系统主要功能包括用户注册与登录、商品分类展示、购物车管理、订单支付、评价反馈等。管理员模块支持商品管理、订单处理和数据统计分析。通过整合多种技术,系统实现了高性能、高安全性和良