Edit online

寄存器描述

16 Aug 2024
Read time: 9 minute(s)

0x000 MCR

默认值:0x00002F30 THS 模块控制 (THS Module Control Register)
位域 类型 默认值 描述
31:18 - - -
17 R/W 0 THS1_EN
THS1 Enable, THS1 传感器使能
  • 0: THS1 禁止
  • 1: THS1 使能
16 R/W 0 THS0_EN
THS0 Enable, THS0 传感器使能
  • 0: THS0 禁止
  • 1: THS0 使能
15:8 R/W 0x2F THS_ACQ

THS Acquisition Time,THS 捕获时间,温度传感器的捕获时间长度。

计数值单位为 ADC_CLK 的周期数,T (THS_ACQ) = (THS_ACQ+1) * TADC_CLK。假设 ADC_CLK = 24 MHz,THS_ACQ = 0x2F,T (THS_ACQ) = (47 + 1) * 41.67 ns = 2 us。

7:6 - - -
5:4 RO 0x3 THS_MAX

THS 最大编号

THSn 中 n 的最大编号,n+1 即为模块最多支持温度传感器数量。小于等于 3,即传感器数量最少为 1 个,最多为 4 个。

3:1 - - -
0 R/W 0 EN
模块使能
  • 0: 本模块被禁止,本模块停止工作
  • 1: 本模块被使能

0x004 MINTR

默认值:0x00000000 THS 中断控制与状态 (THS Module Interrupt Register)
位域 类型 默认值 描述
31:20 - - -
19 RO 0 THS3_INTF

THS3 Interrupt Flag,THS3 中断标志,只可读。

只要清除了相应 THS 的中断标志,就会自动清零
  • 0: THS3 无中断请求
  • 1: THS3 有中断请求
18 RO 0 THS2_INTF()

THS2 Interrupt Flag,THS2 中断标志,只可读。

只要清除了相应 THS 的中断标志,就会自动清零
  • 0: THS2 无中断请求
  • 1: THS2 有中断请求
17 RO 0 THS1_INTF

THS1 Interrupt Flag,THS1 中断标志,只可读。

只要清除了相应 THS 的中断标志,就会自动清零
  • 0: THS1 无中断请求
  • 1: THS1 有中断请求
16 RO 0 THS0_INTF()

THS0 Interrupt Flag,THS0 中断标志,只可读。

只要清除了相应 THS 的中断标志,就会自动清零
  • 0: THS0 无中断请求
  • 1: THS0 有中断请求
15:4 - - -
3 R/W 0 THS3_INTEN
THS3 Interrupt Enable,THS3 中断使能信号
  • 0:禁止 THS3 中断
  • 1:使能 THS3 中断
2 R/W 0 THS2_INTEN
THS2 Interrupt Enable,THS2 中断使能信号
  • 0:禁止 THS2 中断
  • 1:使能 THS2 中断
1 R/W 0 THS1_INTEN
THS1 Interrupt Enable,THS1 中断使能信号
  • 0:禁止 THS1 中断
  • 1:使能 THS1 中断
0 R/W 0 THS0_INTEN
THS0 Interrupt Enable,THS0 中断使能信号
  • 0:禁止 THS0 中断
  • 1:使能 THS0 中断

0x100+n*0x20 THSn_CFG

1
默认值:0x000(n+8)2F00 THS 通道控制配置 (THS Channel N Config)
位域 类型 默认值 描述
31:28 - 0x0 -
26:20 - - -
19:16 RO n+8 ADC_CHN

ADC Channel Number,ADC 通道号

显示系统分配的 ADC 通道号,硬件会根据此通道号匹配 ADC 并获取返回的数据,软件驱动不需要使用,仅作 Debug 用。

15:8 R/W 0x2F ADC_ACQ

ADC Acquisition Time,ADC 捕获时间

ADC 通道的捕获时间长度。
  • 计数值单位为 ADC_CLK 的周期数,T(ADC_ACQ) = (ADC_ACQ+1) * T(ADC_CLK)
  • 假设 ADC_CLK = 24 MHz,ADC_ACQ = 0x2F,T (ADC_ACQ) = ( 47 + 1) * 41.67 ns = 2 us。
7:5 - - -
4 R/W 0x0 ADC_PRI
ADC Priority,ADC 采样的优先级控制
  • 0:低优先级非实时采样,采样命令与其他非实时采样命令进入采样队列。
  • 1:高优先级实时采样,采样命令会被直接处理,不进入采样队列。
3 - - -
2 R 0x0 THS
THS Channel State,工作状态:
  • 0: 当前 THS 通道处于空闲状态
  • 1: 当前 THS 通道处于忙碌状态
1 R/W 0x0 PSEN
Periodic Sample Enable,温度传感器周期采样使能。
  • 0:停止相应温度传感器周期采样。
  • 1:启动相应温度传感器周期采样。

采样间隔由 THSn_ITV 寄存器设定。如果在软件清零之前硬件已经启动了一次新的采样,新采样会继续完成,并最终返回数据。

注: 不允许同时使能周期采样与单次采样,即 SSEN 与 PSEN 不能同时有效。
0 R/WAC 0x0 SSEN
Single Sample Enable,温度传感器单点采样使能。
  • 0:相应传感器的温度单点采样已完成。
  • 1:启动相应传感器的温度单点采样。

由硬件自动清零,表示相应传感器的温度单点采样已完成。

注: 尽管描述为单点采样,但为了避免单次采样误差,可能需要通过单点多次采样后的数据进行算术平均,得到一个相对稳定的温度值,因此单点采样实际上会包含多次采样。对应的由硬件向 ADC 接口控制器连续发出多个采样命令。连续发出采样命令的个数由滤波器配置 FIL 设定。例如滤波器配置为 0x1(2 点平均),则每次启动 SSEN,硬件会连续发出 2 个采样命令,接收到 2 个温度数据之后,硬件自动清零 SSEN。

0x104+n*0x20 THSn_ITV

2
默认值:0x016EFFFF THS 通道采样间隔配置 (THS Channel N Interval)
位域 类型 默认值 描述
31:16 R/W 0x016E ITV

Interval,采样间隔

周期采样的采样间隔,单位为 T(div_clk),即采样间隔 = ITV* T(div_clk)

假设 PCLK = 24 MHz,ITV = 0x16E = 366,DIV=65535,采样间隔 = 366 * (65535 + 1) * 41.67 ns = 1 s

注: 不可为 0。硬件自动保护:当软件配置为 0 时,效果等同于 1。
15:0 R/W 0xFFFF DIV

Divide CLK,分频时钟

时钟 (div_clk) 分频系数,单位为 PCLKT (div_clk) = (DIV+1) *T (PCLK)

0x108+n*0x20 THSn_FIL

3
默认值:0x00000000 THS 采样滤波配置 (THS Channel Filter)
位域 类型 默认值 描述
31:2 - - -
1:0 R/W 0x0 FIL

Filter,滤波器配置

温度传感器采样数据算数平均滤波器的输入样本数。
  • 0x0:无滤波
  • 0x1:2
  • 0x2:4
  • 0x3:8

定义了单次采样和周期采样每次的连续采样命令数量(采样点数),控制器接收对应的采样点数据后,进行算数平均,并把平均值通过本传感器的 THSn_DATA 寄存器返回。

0x10C+n*0x20 THSn_DATA

4
默认值:0x00000000 THS 数据 (THS Channel N Data)
位域 类型 默认值 描述
31:12 - - -
11:0 RO 0x000 DATA

ADC DATA,,ADC 采样数据

温度传感器的 ADC 采样数据结果。
  • 如果 THSn_FIL.FIL 为 0x0,直接返回 ADC 的采样值。
  • 否则返回的是多个采样点的算数平均值。
注: 模块无数据 FIFO,本寄存器只能暂存一次的采样结果,如果未被及时读取,则会被后来新的采样数据直接覆盖。

0x110+n*0x20 THSn_INT

5
默认值:0x00000000 THS 中断状态 (THS Channel N Interrupt)
位域 类型 默认值 描述
31:28 - - -
27 R/W1C 0x0 HTARF

High-Temperature-Alarm Removed Flag,高温警告解除标志

  • 仅周期采样模式(THSn_CFG. PSEN = 1)时有效。
  • 硬件置位,软件写 1 清零。
  • 当温度传感器采样值从低于 THSn_HTAV.HTAVV 值到高于 THSn_HTAV.HTARV 值,会置为 1。
26 R/W1C 0x0 HTAVF

High-Temperature-Alarm Valid Flag,高温警告有效标志

  • 仅周期采样模式(THSn_CFG. PSEN = 1)时有效。
  • 硬件置位,软件写 1 清零。
  • 当温度传感器采样值从高于 THSn_HTAV.HTARV 值到低于 THSn_HTAV.HTARV 值,会置为 1。
25 R/W1C 0x0 LTARF

Low-Temperature-Alarm Removed Flag,低温警告解除标志

  • 仅周期采样模式 (THSn_CFG. PSEN = 1) 时有效。
  • 硬件置位,软件写 1 清零。
  • 当温度传感器采样值从高于 THSn_LTAV.LTARV 值到低于 THSn_LTAV.LTAVV 值,会置为 1。
24 R/W1C 0x0 LTAVF

Low-Temperature-Alarm Valid Flag,低温警告有效标志

  • 仅周期采样模式 (THSn_CFG. PSEN = 1) 时有效。
  • 硬件置位,软件写 1 清零。
  • 当温度传感器采样值从低于 THSn_LTAV.LTARV 值到高于 THSn_LTAV.LTAVV 值,会置为 1。
23:18 - - -
17 R/W1C 0x0 DOVWF

Data Overwrite Flag,数据覆盖标志

硬件置位,软件写 1 清零。当 DRDYF = 1(软件未清零数据有效标志),而且又有新的有效数据时,硬件置为 1,表示数据寄存器由于软件未及时读取,产生了上次有效数据被覆盖的情况。

16 R/W1C 0x0 DRDYF

Data Ready Flag,数据有效标志

硬件置位,软件写 1 清零。当 THSn_DATA 寄存器有新的有效数据时,硬件置为 1,软件读取数据后,由软件操作清除。

15:12 - - -
11 R/W 0x0 HTARIE

High-Temperature-Alarm Removed Interrupt Enable,高温警告解除中断使能

当使能时,高温警告解除标志 (HTARF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止高温警告解除中断。
  • 1:使能高温警告解除中断。
10 R/W 0x0 HTAVIE

High-Temperature-Alarm Valid Interrupt Enable,高温警告有效中断使能

当使能时,高温警告有效标志 (HTAVF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止高温警告有效中断。
  • 1:使能高温警告有效中断。
9 R/W 0x0 LTARIE

Low-Temperature-Alarm Removed Interrupt Enable,低温警告解除中断使能

当使能时,低温警告解除标志 (LTARF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止低温警告解除中断。
  • 1:使能低温警告解除中断。
8 R/W 0x0 LTAVIE

Low-Temperature-Alarm Valid Interrupt Enable,低温警告有效中断使能

当使能时,低温警告有效标志 (LTAVF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止低温警告有效中断。
  • 1:使能低温警告有效中断。
7:2 - - -
1 R/W 0x0 DOVWIE

Data Overwrite Interrupt Enable,数据覆盖中断使能

当使能时,数据覆盖标志 (DOVWF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止数据覆盖中断。
  • 1:使能数据覆盖中断。
0 R/W 0x0 DRDYIE

Data Ready Interrupt Enable,数据有效中断使能

当使能时,数据有效标志 (DRDYF) 的状态就会传递到温度传感器的总中断。
  • 0:禁止数据有效中断。
  • 1:使能数据有效中断。

0x114+n*0x20 THSn_LTAV

6
默认值:0x00000000 THS 低温报警阈值设置 (Channel N Low-Temperature Alarm Value)
位域 类型 默认值 描述
31 R/W 0x0
LTAE

低温警报使能

  • 0:禁止低温警报功能,低温警报阈值无效。
  • 1:使能低温警报功能,低温警报阈值有效。
30:28 - - -
27:16 R/W 0x000
LTARV

低温警报解除阈值

当温度从低于低温警报有效阈值 (LTAVV) 的数值,升到低温警报解除阈值 (LTARV) 以上,低温警报解除标志 (LTARF) 就会被硬件置位。

注: LTAVV> LTARV。
15:12 - - -
11:0 R/W 0x000
LTAVV

低温警报有效阈值

当温度从高于低温警报解除阈值 (LTARV) 的数值,降到低温警报有效阈值 (LTAVV) 以下,低温警报有效标志(LTAVF)就会被硬件置位。

注: LTAVV> LTARV。

0x118+n*0x20 THSn_HTAV

7
默认值:0x00000000 THS 高温报警阈值设置 (Channel N High-Temperature Alarm Value)
位域 类型 默认值 描述
31 R/W 0x0
HTAE

高温警报使能

  • 0:禁止高温警报功能,高温警报阈值无效。
  • 1:使能高温警报功能,高温警报阈值有效。
30:28 - - -
27:16 R/W 0x000
HTARV

高温警报解除阈值

当温度从高于高温警报有效阈值 (HTAVV) 的数值,降到高温警报解除阈值(HTARV)以下,高温警报解除标志(HTARF)就会被硬件置位。

注: HTARV> HTAVV。
15:12 - - -
11:0 R/W 0x000
HTAVV

高温警报有效阈值

当温度从低于高温警报解除阈值(HTARV)的数值,升到高温警报有效阈值 (HTAVV) 以上,高温警报有效标志 (HTAVF) 就会被硬件置位。

注: HTARV < HTAVV。

0xFFC VERSION

默认值:0x00000100 THS 版本号 (THS Version)
位域 类型 默认值 描述
31:0 RO 0x00000100 Version(模块版本号)

采用 BCD 码显示,V1.0

1

n = 0~1 为 ths 通道号

2

n = 0~1 为 ths 通道号

3

n = 0~1 为 ths 通道号

4

n = 0~1 为 ths 通道号

5

n = 0~1 为 ths 通道号

6

n = 0~1 为 ths 通道号

7

n = 0~1 为 ths 通道号