polarfire Temperature and Voltage Sensor 温度和电压传感器

PolarFire Family FPGA Security User Guide

image

 

每个器件都内置 温度与电压传感器(TVS)。

 

它会把内核温度和三路电源电压(1.0V / 1.8V / 2.5V)以数字形式上报给 FPGA 逻辑。

 

TVS 用一个 4 通道 ADC 实现。

 

4 个通道定义(原文)

  • Channel 0:VDD(1.0V)电源电压
  • Channel 1:VDD18(1.8V)电源电压
  • Channel 2:VDD25(2.5V)电源电压
  • Channel 3:芯片内核温度(die temperature)

 

TVS 输出一个 16 位编码值,代表电压或温度,同时输出当前是哪个通道。

温度通道的结果会送入系统控制器的比较器:

一旦温度超出用户设定的上限 / 下限,立刻触发报警(tamper alarm)

电压通道的 16 位输出以毫伏(mV)为单位,可按照下表所示进行解码。例如:电压通道输出值 0x385E 对应 1803.75 毫伏。

温度通道的 16 位输出值以开尔文(K)为单位表示,可按照下表所示进行解码。 例如:温度通道输出值 0x133B 对应 307.6875 开尔文。

 

 PL 读取方式:

image

 

PS端 读取方式:

 

image

 

typedef struct
{
volatile uint32_t SOFT_RESET; 
volatile uint32_t VDETECTOR; 
volatile uint32_t TVS_CONTROL;
volatile uint32_t TVS_TEMP_A;
volatile uint32_t TVS_TEMP_B;
volatile uint32_t TVS_TEMP_C;
volatile uint32_t TVS_VOLT_A;
volatile uint32_t TVS_VOLT_B;
volatile uint32_t TVS_VOLT_C;
volatile uint32_t TVS_OUTPUT0;
volatile uint32_t TVS_OUTPUT1;
volatile uint32_t TVS_TRIGGER;
volatile uint32_t TRIM_VDET1P05;
volatile uint32_t TRIM_VDET1P8;
volatile uint32_t TRIM_VDET2P5;
volatile uint32_t TRIM_TVS;
volatile uint32_t TRIM_GDET1P05;
volatile uint32_t RESERVED0;
volatile uint32_t RESERVED1;
volatile uint32_t RESERVED2;
volatile uint32_t SERVICES_CR;
volatile uint32_t SERVICES_SR;
volatile uint32_t USER_DETECTOR_SR;
volatile uint32_t USER_DETECTOR_CR;
volatile uint32_t MSS_SPI_CR;   // 对应地址  0x37020100  

} SCBCTRL_TypeDef;


#define MSS_SCBCTRL ((SCBCTRL_TypeDef*) (0x37020000UL))

 

PolarFire FPGA and PolarFire SoC FPGA Programming User Guide

volatile uint32_t MSS_SPI_CR;   // 对应地址  0x37020100    这里正好对应  QSPI base address as 0x37020100

 

寄存器 对应文档 :

https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/SupportingCollateral/PolarFireSoC_Register_Map.zip

PolarFireSoC_Register_Map/PF_SoC_RegMap/MPFS/pfsoc_control_scb.htm

 

控制寄存器: 4个通道 使能控制 ,速率控制 ,单位 32 us 

 

 

image

 

后面这三个寄存器 应该是温度阈值,怎么用暂时未知

 

image

 电压阈值 

image

 

4个通道 原始值 :

 

  • Channel 0:VDD(1.0V)电源电压
  • Channel 1:VDD18(1.8V)电源电压
  • Channel 2:VDD25(2.5V)电源电压
  • Channel 3:芯片内核温度(die temperature)

image

 

Accessing TVS (Temperature Voltage Sensor) Registers in PFSoC

image

 

posted on 2026-03-18 12:39  所长  阅读(37)  评论(0)    收藏  举报

导航