Xilinx FPGA 超温关机保护

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

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

Over Temperature是用于执行自动关机时所用设置。User Temperature是用于执行用户自定义的热管理程序,例如控制风扇转速。当设备温度超过温度上限控制寄存器限制(53H/50H)时,报警信号OT/ALM[0]为高。OT/ALM[0]保持高电平状态,直至温度低于下限控制寄存器(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上限后,芯片自动关机。重新上电配置即可恢复正常。

相关推荐
风已经起了2 天前
FPGA学习笔记——用Vitis IDE生成工程(串口发送)
笔记·学习·fpga开发·fpga·1024程序员节
ALINX技术博客3 天前
ALINX 携手 PhineDesign 亮相日本 DSF2025,用 FPGA 产品力响应时代技术浪潮挑战!
fpga开发·fpga
讽刺人生Yan4 天前
RFSOC学习记录(六)混频模式分析
学习·fpga·rfsoc
讽刺人生Yan4 天前
RFSOC学习记录(五)带通采样定理
学习·fpga·rfsoc
讽刺人生Yan5 天前
RFSOC学习记录(四)MTS时序分析
学习·fpga·rfsoc
南檐巷上学5 天前
Vivado调用FFT IP核进行数据频谱分析
fpga开发·fpga·vivado·fft·快速傅里叶变化
北城笑笑7 天前
FPGA 49 ,Xilinx Vivado 软件术语解析(Vivado 界面常用英文字段详解,以及实际应用场景和注意事项 )
fpga开发·fpga
XINVRY-FPGA7 天前
XCAU10P-2SBVB484I Xilinx Artix UltraScale+ FPGA
嵌入式硬件·fpga开发·云计算·硬件工程·dsp开发·射频工程·fpga
小狗爱吃黄桃罐头8 天前
Ubuntu20.04 安装Xilinx Vitis/Vivado 桌面图标不显示问题
vivado·vitis
FPGA狂飙8 天前
传统FPGA开发流程的9大步骤是哪些?
fpga开发·verilog·fpga·vivado·xilinx