Xilinx FPGA 超温关机保护

在UG480文档,有关于FPGA芯片热管理的介绍。

首先需要理解XADC中的 Over Temperature(OT)和User Temperature的关系。片上温度测量用于关键温度警告,也支持自动关机,以防止设备被永久损坏。片上温度测量在预配置和自动关机期间连续记录结温。

Over Temperature是用于执行自动关机时所用设置。User Temperature是用于执行用户自定义的热管理程序,例如控制风扇转速。当设备温度超过温度上限控制寄存器限制(53H/50H)时,报警信号OT/ALM0为高。OT/ALM0保持高电平状态,直至温度低于下限控制寄存器(57H/54H)。一个典型的报警信号变化如下图所示。

使能FPGA芯片过温自动关机功能,需要将OT upper alarm register(53h)中的低4位设置为0011b,同时在xdc文件中添加如下语句。

cpp 复制代码
set_property BITSTREAM.CONFIG.OVERTEMPPOWERDOWN ENABLE [current_design]

当芯片温度超过OT上限阈值(或默认125℃)时,超温告警逻辑输出激活,10 ms后设备启动关机程序。当自动关机启动时,设备被禁用,GHIGH被断言以防止任何争用。当OT解除时,GHIGH也解除,启动启动顺序,释放全局资源。当器件关闭时,XADC自动使用内部时钟振荡器,但其他方面保持不变。自动关机功能是为了防止对设备造成永久性损坏。当温度降到OT下限以下,OT解除后,需要重新配置设备。

如果XADC被实例化,自动关机功能可以通过在Config Reg 1 (41h) High中设置OT信号来禁用,或者通过在xdc文件中添加以下约束来禁用。

cpp 复制代码
set_property BITSTREAM.CONFIG.OVERTEMPPOWERDOWN DISABLE [current_design]

下面进行测试,为了加快测试速度,将XADC IP核中的两个温度阈值,设低一点。

检查一下生成的IP核V文件,可以看到OT上限阈值寄存器(53H)的低4位默认是3h,也就是0011b。同时在xdc文件中添加前面所说的语句以使能过温关机功能。

在顶层文件中例化xadc_wiz_0,本次测试只需要给IP核接上时钟和复位信号即可。为了观察输出,再将user_temp_alarm_out信号和ot_out信号引出接到开发板上的两个LED上。

生成并下载Bitstream,打开XADC数据面板。下图为温度数据,可以看到在未到达OT上限温度时,芯片温度一直处于上升状态,当芯片温度超过OT上限温度50度,芯片自动关机,此时芯片温度开始下降。从开发板上的LED状态可以验证芯片确实关机了。

在测试中发现,芯片温度不需要下降到OT下限以下,也可以重新下载程序。

将程序固化到板载Flash中后,在芯片温度达到OT上限后,芯片自动关机。重新上电配置即可恢复正常。

相关推荐
泛联新安1 天前
VHawk-CDC:FPGA跨时钟域检查怎么选?
fpga·亚稳态·fpga验证
星夜离尘563 天前
流水线 valid 对齐自检:输入气泡和中途复位怎么测
fpga·systemverilog·流水线·vivado·testbench
星夜离尘564 天前
FPGA实现CRC-8/SMBUS:从参数和位序核对到1041次自检
fpga开发·verilog·fpga·crc
璞致电子4 天前
璞致电子PZSDR P151Q 大规模多通道软件无线电平台|ZU15EG + 四片 AD9361 8T8R 相位同步 SDR
xilinx·zynq·软件无线电·sdr·璞致电子·p151q·zu15eg
星夜离尘564 天前
FPGA正交编码器非法跳变检测:把16种状态转移和采样边界测清楚
verilog·fpga·编码器
FPGA工程笔记6 天前
从1024点滑动平均到EMA:双路5GS/s ADC Offset校准的FPGA工程实现
fpga·adc·ema·rfsoc·tiadc·offset校准·滑动平均
NamoAmitabha1287 天前
xilinx/MMCM/DRP/使用
fpga·xilinx·mmcm
北城笑笑8 天前
FPGA 55 ,FPGA 行业 2026 发展分析与报告
fpga开发·fpga
FPGA小徐13 天前
通信系统核心技术概念解析
fpga
神电测控15 天前
神电新型PG-RFSOC-27DR/47DR/67DR sbRIO板卡(内置8路上GS/s AD/DA模块,兼容LabVIEW FPGA开发)
labview·fpga·usrp·sdr·神电测控·王电令·rfsoc