跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用:温度与电压监测

介绍 Xilinx System Management Wizard 在 UltraScale FPGA 上的配置方法。涵盖 AXI4-Lite 接口原理、SYSMON 寄存器映射、IP 核参数设置(如通道选择、采样率、报警阈值)及数据转换公式。通过仿真和 ILA 抓取验证了温度与电压监测功能的正确性,提供了从硬件架构到软件驱动读取的完整流程参考。

Elasticer发布于 2026/4/6更新于 2026/7/947 浏览
基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用:温度与电压监测

基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用

参考资料: 《PG185》《UG580》

一、介绍

简述

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

主要功能

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

最大时钟频率

Max Clock Frequency

二、原理

(1)架构框图

1. System Management Wizard(启用 AXI Lite 接口时)

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

Architecture Diagram

2. SYSMON 架构框图
  • 模拟输入源与 MUX
  • ADC 功能模块与 VREF
  • 寄存器空间含 measurement data
  • DRP 接口

SYSMON Architecture

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 读取或写入。
  • Register Space

    (2)端口说明

    Port Map

    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)
    • vp、vn:外部模拟信号输入,通常与 XADC 或 SYSMON 模块结合使用,读取模拟传感器数据。
    • user_temp_alarm_out、vcint_alarm_out、vccaux_alarm_out 等:报警信号输出端口,指示温度、电压等传感器的警报状态。
    • eoc_out、alarm_out、eos_out:系统监控信号,指示 ADC 转换结束、报警状态或序列结束等。
    • busy_out:忙碌信号,指示系统是否正在进行数据采集或处理。

    详见 PG185 table 2-1

    Channel Out

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

    详见 UG580 table 3-6

    Table 3-6

    (3)地址寄存器

    1. AXI4-Lite address(13 bits)映射至 SYSMON(8 bits):

    Address Mapping

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

    Shift Address

    2. SYSMON Registers Address

    Registers Address

    (4)读时序图

    Read Timing

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

    (1)Basic

    Basic Config

    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)

    Averaging

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

    默认即可

    (2)片上模拟信号源选取(系统),及警报阈值配置

    System Config

    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)此页不做额外配置

    User Config

    (4)外部通道功能选择

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

    默认即可

    External Config

    (5)仿真设置

    此处略过

    Simulation Setup

    四、输出数据处理

    (1)数据精度:

    1. SYSMON 数据寄存器输出

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

    Data Precision

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

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

    DRP Mapping

    (2)转换公式选取:

    1. Temperature ADC
    1. 确定 FPGA 架构(ultrascale)选取(SYSMON1)
    2. 确定 ADC 的参考电压源为 external OR on-chip(IP 配置过程选择)
    3. 根据 ADC 输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中 2^bits
    4. 选取转换公式 2-7

    Temp Formula

    2. Voltage ADC
    1. 确定所测电压衰减系数为 3,(衰减系数为 6 时为特殊情况,详见下文)
    2. 确定 ADC 输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中 2^bits
    3. 选取转换公式 2-15

    Voltage Formula

    五、仿真

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

    Simulation Result

    六、Debug

    (1)dashboard

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

    Dashboard

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

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

    ILA Data

    目录

    1. 基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用
    2. 一、介绍
    3. 简述
    4. 主要功能
    5. 最大时钟频率
    6. 二、原理
    7. (1)架构框图
    8. 1. System Management Wizard(启用 AXI Lite 接口时)
    9. 2. SYSMON 架构框图
    10. 3. SYSMON Register Space
    11. (2)端口说明
    12. 1. 控制和状态通道(Control and Status Channels)
    13. 2. AXI 写操作通道(Write Channel)
    14. 3. AXI 读操作通道(Read Channel)
    15. 4. 其他 flag 信号(External Signals and Inputs)
    16. (3)地址寄存器
    17. 1. AXI4-Lite address(13 bits)映射至 SYSMON(8 bits):
    18. 2. SYSMON Registers Address
    19. (4)读时序图
    20. 三、IP 核配置(例:监测温度电压 AXI4lite 输出)
    21. (1)Basic
    22. 1. Startup Channel Selection
    23. 2. Sequencer Mode
    24. 3. Channel Averaging
    25. 4. DRP Timing Options
    26. (2)片上模拟信号源选取(系统),及警报阈值配置
    27. 1. Reference Used by SYSMON 基准电压选取
    28. 2. 温度警报的 Trigger 和 Reset
    29. 3. 电压的警报阈值配置
    30. (3)片上模拟信号源选取(用户)
    31. (4)外部通道功能选择
    32. (5)仿真设置
    33. 四、输出数据处理
    34. (1)数据精度:
    35. 1. SYSMON 数据寄存器输出
    36. 2. 数据输出映射 32 bits DRP 寄存器
    37. (2)转换公式选取:
    38. 1. Temperature ADC
    39. 2. Voltage ADC
    40. 五、仿真
    41. 六、Debug
    42. (1)dashboard
    43. (2)上板验证 ILA 抓取温度数据
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 单链表综合实战:删除指定节点、反转链表与查找中间节点
    • 数据结构核心:链表(单链表、双链表及循环链表)
    • 前端 Canvas 基础绘制与动画交互实战
    • 罗马数字转整数:Python 算法实现
    • ELK 日志分析平台搭建与配置实战
    • C++11 核心特性详解:Lambda、可变参数与函数包装器
    • 贪心算法实战:摆动序列与最长递增子序列详解
    • 无需拓展即可在 Copilot 接入第三方 OpenAI 接口
    • FPGA 核心硬件资源详解:LUT、FF、BRAM、DSP 与 PLL 解析及综合报告解读
    • JavaWeb 数据交换与异步请求:JSON 和 Ajax 详解
    • 数据处理:大模型训练的关键环节与实践
    • Discord 机器人创建与配置流程
    • 2023 年网络安全行业前景预测
    • 企业级工作流引擎低代码开发实战:RuoYi-Flowable-Plus 指南
    • Qwen3-VL-WEBUI 架构与 Instruct/Thinking 双模式实战
    • GitHub Actions 集成 PyTorch-CUDA-v2.6 镜像实现 CI/CD 自动化
    • 基于 AI 辅助的 Java 在线图书借阅平台开发实践
    • IntelliJ IDEA 常用快捷键指南
    • 9款AI论文工具横向对比与使用指南
    • YOLOv8 旋转框角度回归优化:CSL 与 DCL 编码实战

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online