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

固定资产管理系统低代码开发:企业资产管理的数字化革新

固定资产管理系统低代码开发:企业资产管理的数字化革新

一、固定资产管理的痛点与挑战 在企业运营过程中,固定资产是支撑业务发展的重要物质基础,涵盖办公设备、生产机械、运输车辆、房产地产等各类长期资产。然而,传统的固定资产管理模式往往面临诸多痛点: 1. 数据分散与不统一:企业各部门自行管理固定资产,数据分散在不同的表格、台账甚至纸质文档中,导致资产信息无法实时共享和同步。财务部门在进行资产折旧计算和盘点时,需要耗费大量时间收集和核对数据,容易出现数据不一致的情况。 2. 人工操作效率低下:传统的固定资产管理依赖人工录入、盘点和更新信息,不仅工作量大,而且容易出现人为错误。例如,在资产盘点过程中,人工核对资产编号、名称、位置等信息,容易出现漏盘、错盘的情况,影响盘点结果的准确性。 3. 资产全生命周期管理缺失:很多企业缺乏对固定资产全生命周期的有效管理,从资产采购、入库、使用、维护到报废处置,各个环节缺乏有效的衔接和监控。这可能导致资产闲置、浪费,或者在资产维护不及时的情况下,影响企业的正常生产运营。 4. 决策缺乏数据支持:由于资产数据的不准确和不及时,企业管理层在进行固定资产投资决策、资源配置优化等方面缺乏可靠的数据支

YOLOv12官版镜像在农业无人机上的落地实践

YOLOv12官版镜像在农业无人机上的落地实践 在华北平原某万亩智慧农场的春播季,一架搭载轻量边缘计算单元的四旋翼无人机正以3米/秒的速度低空巡航。镜头掠过刚覆膜的玉米田,系统在0.8毫秒内完成单帧推理——不仅精准框出杂草簇(准确率94.7%),还同步识别出三处早期玉米螟幼虫啃食痕迹,并自动标记坐标发送至农机调度平台。这不是实验室Demo,而是YOLOv12官版镜像在真实农业场景中稳定运行的日常。 当目标检测技术从工业质检、城市安防走向广袤农田,对模型的要求悄然改变:它必须在Jetson Orin Nano的8GB显存限制下保持30+ FPS,能区分叶片背面的微小虫卵与露珠反光,还要在连续6小时飞行中不因温度升高导致精度衰减。正是这些严苛条件,让YOLOv12——这个以注意力机制重构实时检测范式的全新架构——展现出前所未有的农业适配性。 1. 为什么农业场景需要YOLOv12?传统方案的三大断点 农业视觉应用长期困于“三难”:小目标难检、边缘难跑、环境难稳。我们梳理了过去两年在12个省级农技推广中心的实地反馈,发现现有方案存在三个结构性断点: 1.1 小目标识别失效:5像素

OpenClaw重塑机器人抓取未来

OpenClaw:重新定义机器人抓取的未来之手 在人工智能席卷全球的今天,当我们惊叹于ChatGPT流畅的对话、Midjourney惊艳的创作时,物理世界的智能化却显得步履蹒跚。机器人仍然笨拙地挣扎于最简单的任务:拿起一个鸡蛋、整理杂乱的桌面、或者分拣形状各异的物品。 这个困境的核心,在于机器人缺少一双灵巧而通用的"手"。而一个名为OpenClaw(又称Clawbot)的开源项目,正在以革命性的方式改变这一现状。 一、抓取技术的困境与突破 传统机器人抓取面临三大难题: 刚性的局限 工业机器人依赖专用夹具,每个新物件都需要重新设计和调试。这种刚性系统无法适应现代生产的小批量、多品种需求,更难以进入家庭、医院等非结构化环境。 成本的壁垒 先进的柔性抓手价格高达数千美元,将中小企业、科研机构和创客群体拒之门外,严重制约了机器人技术的普及和创新。 智能的断层 虽然机器视觉能识别数百万种物体,但执行端的匮乏让这种智能无法转化为实际行动。感知与操作的脱节,成为机器人发展的关键瓶颈。 OpenClaw的巧妙之处在于,它用极其简单的机械结构解决了这些复杂问题。 二、极简设计的智慧

从零开始:InsightFace ArcFace PyTorch实战全攻略

从零开始:InsightFace ArcFace PyTorch实战全攻略 【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project 项目地址: https://gitcode.com/GitHub_Trending/in/insightface 还在为如何将自定义人脸数据集接入ArcFace算法而烦恼?面对百万级类别的训练任务,传统方法总是遇到显存不足的困境?本文将带你从环境搭建到模型部署,一站式解决人脸识别项目中的核心难题。通过问题导向的步骤式讲解,你将掌握大规模人脸识别的关键技术要点。 第一步:环境配置与项目准备 核心依赖安装 创建一个独立的虚拟环境,避免与其他项目产生依赖冲突: # 创建Python 3.8环境 conda create -n insightface python=3.8 conda activate insightface # 安装PyTorch(根据你的CUDA版本选择) pip install torch=