监控FPGA内部温度和电压,你造吗?

作者:做但不能忘思考,来源:FPGA2嵌入式

FPGA设计的时候,我们需要考虑功耗,功耗自然与温度相关,还需要考虑电源供电电压的稳定性以满足高低温的环境,有没有考虑过,怎么监控FPGA内部的温度和电压变化情况,这对项目的优化和评估用处很大,Xilinx的7系列内部集成ADC有这个功能,Altera的MAX系列内部集成ADC也有这个功能(如下图),现在以Xilinx来学习这个技能。

其实,在Xilinx 7系列的FPGA中有一个IP核XADC,它可以用来监控FPGA的内部温度以及内核等各种供电电压,当然也可以用来做外部低速的ADC采样,例如ADC型按键的功能实现。其中,官网的介绍如下:

按照之前IP核学习方法(SelectIO)新IP核学习的正确打开方式。首先,新建一个IP核,如下图:

可以查阅用户文档来配置需要的配置:可以选择AXI总线接口,ADC通道选择,ADC采样模式,ADC采样率,监控的温度设定等:

接着,我们可以通过新建的IP来查看对应的帮助文档,打开Example工程来学习IP中对应的时序关系,前者是帮助学习文档,后者是例程使用情况,基本满足学习和使用。


打开例程工程后,我们可以查看工程源代码和仿真TestBench来学习,对工程进行更详细的研究和IP核更详细的理解。如果有配置不太理解的话,可以重新配置IP核后再打开新的Example工程来查看其中的变化。


下面是硬件实际调试的时候,通过JTAG来实时读取FPGA里面的温度变化曲线图,也可以读取各种电压的变化情况来显示,如下图:

XADC的这个功能还是非常有用的,目前想到的应用情况包括:

  • 监控FPGA内部温度,评估项目散热;
  • 监控FPGA的各种供电情况,评估电源设计;
  • 替代外设低速ADC采样,节省外设硬件。
  • 本文转载自: FPGA2嵌入式

    推荐阅读