12.4.6. 寄存器描述

note n=0~1 为ths通道号

12.4.6.1. 0x000 MCR

默认值:0x00002F30

THS模块控制(THS Module Control Register)

位域

类型

默认值

描述

31:18

-

-

-

17

R/W

0x0

THS1_EN(THS1 Enable, THS1传感器使能)
本字段仅在THS_MAX≥1时有效:
0: THS1禁止;
1: THS1使能。

16

R/W

0x0

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)*T(ADC_CLK)。假设 ADC_CLK=24MHz,
THS_ACQ=0x2FT(THS_ACQ) = (47+1)*41.67ns = 2us

7:6

-

-

-

5:4

RO

0x3

THS_MAX(THS Maximum Number , THS最大编号)
本字段规定了THSn中n的最大编号,n+1即为本模块实际使用的温度传感
器数量。本字段小于等于3,即传感器数量最少为1个,最多为4个。

3:1

-

-

-

0

R/W

0x0

EN(Module Enable, 模块使能)
0: 本模块被禁止,本模块停止工作;
1: 本模块被使能。

12.4.6.2. 0x004 MINTR

默认值:0x00000000

THS中断控制与状态(THS Module Interrupt Register)

位域

类型

默认值

描述

31:18

-

-

-

17

RO

0x0

THS1_INTF(THS1 Interrupt Flag,THS1中断标志)
本字段仅在THS_MAX≥1时有效。本字段只读,只要清除了相应THS的中断
标志,本字段就会自动清零:
0: THS1无中断请求;
1: THS1有中断请求。

16

RO

0x0

THS0_INTF(THS0 Interrupt Flag,THS0中断标志)
本字段只读,只要清除了相应THS的中断标志,本字段就会自动清零:
0: THS0无中断请求;
1: THS0有中断请求。

15:2

-

-

-

1

R/W

0x0

THS1_INTEN(THS1 Interrupt Enable,THS1中断使能)
本字段仅在THS_MAX≥1时有效,THS1中断使能信号:
0: 禁止THS1中断;
1: 使能THS1中断。

0

R/W

0x0

THS0_INTEN(THS0 Interrupt Enable,THS0中断使能)
THS0中断使能信号:
0: 禁止THS0中断;
1: 使能THS0中断。

12.4.6.3. 0x100+n*0x20 THSn_CFG

默认值:0x000(n+8)2F00

THS通道控制配置(THS Channel N Config)

位域

类型

默认值

描述

31:20

R/W

0x000

_

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=24MHz
ADC_ACQ=0x2FT(ADC_ACQ) = (47+1)*41.67ns = 2us

7:5

-

-

-

4

R/W

0x0

ADC_PRI(ADC Priority, ADC采样优先级)
本字段定义了本次ADC采样的优先级控制。
0: 低优先级非实时采样,采样命令与其他非实时采样命令进入采样队列;
1: 高优先级实时采样,采样命令会被直接处理,不进入采样队列。

3

-

-

-

2

R

0x0

THS_CHSTA(THS Channel State , THS通道工作状态)
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接口控制器连续发出多个采样命令。连续发
出采样命令的个数由滤波器配置THSn_FIL设定。例如滤波器配置为0x1
(2点平均),那么每次启动SSEN,硬件会连续发出2个采样命令,
接收到2个温度数据之后,硬件自动清零SSEN。

12.4.6.4. 0x104+n*0x20: THSn_ITV

默认值:0x016EFFFF

THS通道采样间隔配置(THS Channel N Interval)

位域

类型

默认值

描述

31:16

R/W

0x016E

ITV(Interval,采样间隔)
此字段定义了周期采样的采样间隔,单位为T(div_clk),即 采样间隔=ITV*T(div_clk)
假设 PCLK=24MHzITV=0x16E=366DIV=65535, 采样间隔=366*(65535+1)*41.67ns=1s
注意:此字段不可为0。硬件自动保护:当软件配置为0时,效果等同于1

15:0

R/W

0xFFFF

DIV(Divide CLK,分频时钟 )
此字段定义了时钟(div_clk)分频系数,单位为PCLK
T(div_clk)=(DIV+1)*T(PCLK)

12.4.6.5. 0x108+n*0x20 THSn_FIL

默认值:0x00000000

THS采样滤波配置(THS Channel Filter)

位域

类型

默认值

描述

31:2

-

-

-

1:0

R/W

0x0

FIL(Filter,滤波器配置)
本字段定义了温度传感器采样数据算数平均滤波器的输入样本数。
0x0:无滤波;
0x1:2;
0x2:4;
0x3:8。
本字段也定义了单点采样和周期采样每次的单点采样命令数量
,本控制器接收到对应样本数的数据后,进行算数平均,
并把平均值通过本传感器的THSn_DATA寄存器返回。

12.4.6.6. 0x10C+n*0x20 THSn_DATA

默认值:0x00000000

THS数据(THS Channel N Data)

位域

类型

默认值

描述

31:12

-

-

-

11:0

RO

0x000

DATA(ADC DATA, ADC采样数据)
此字段为温度传感器的ADC采样数据结果。如果THSn_FIL.FIL为0x0,
则直接返回ADC的采样值;否则返回的是多次采样的算数平均值。

注意:本模块无数据FIFO,本寄存器只能暂存一个结果,
如果未被及时读取,则会被后来新的采样数据直接覆盖。

12.4.6.7. 0x110+n*0x20 THSn_INT

默认值:0x00000000

THS中断状态(THS Channel N Interrupt)

位域

类型

默认值

描述

31:28

-

-

-

27

R/W1C

0x0

LTARF(Low-Temperature-Alarm Removed Flag,低温警告解除标志)
本字段为低温警告解除标志,仅周期采样模式(THSn_CFG.PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从低于THSn_LTAV.LTAVV值到高于THSn_LTAV.LTARV值,
就会置位本字段。

26

R/W1C

0x0

LTAVF(Low-Temperature-Alarm Valid Flag,低温警告有效标志)
本字段为低温警告有效标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效
。本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从高于THSn_LTAV.LTARV值到低于THSn_LTAV.LTAVV值,
就会置位本字段。

25

R/W1C

0x0

HTARF(High-Temperature-Alarm Removed Flag,高温警告解除标志)
本字段为高温警告解除标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从高于THSn_HTAV.HTAVV值到低于THSn_HTAV.HTARV值,
就会置位本字段。

24

R/W1C

0x0

HTAVF(High-Temperature-Alarm Valid Flag,高温警告有效标志)
本字段为高温警告有效标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从低于THSn_HTAV.HTARV值到高于THSn_HTAV.HTAVV值,
就会置位本字段。

23:18

-

-

-

17

R/W1C

0x0

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

16

R/W1C

0x0

DRDYF(Data Ready Flag,数据有效标志)
本字段为数据有效标志。本字段的操作为硬件置位,软件写1清零。
当THSn_DATA寄存器有新的有效数据时,硬件置位本字段,软件读取数据后,
由软件操作清除本字段。

15:12

-

-

-

11

R/W

0x0

LTARIE(Low-Temperature-Alarm Removed Interrupt Enable,
低温警告解除中断使能)
本字段为低温警告解除中断使能。当本字段使能时,低温警告解除标志
(LTARF)的状态就会传递到本温度传感器的总中断标志。
0: 禁止低温警告解除中断;
1: 使能低温警告解除中断。

10

R/W

0x0

LTAVIE(Low-Temperature-Alarm Valid Interrupt Enable,
低温警告有效中断使能)
本字段为低温警告有效中断使能。当本字段使能时,低温警告有效标志
(LTAVF)的状态就会传递到本温度传感器的总中断标志。
0: 禁止低温警告有效中断;
1: 使能低温警告有效中断。

9

R/W

0x0

HTARIE(High-Temperature-Alarm Removed Interrupt Enable,
高温警告解除中断使能)
本字段为高温警告解除中断使能。当本字段使能时,高温警告解除标志
(HTARF)的状态就会传递到本温度传感器的总中断标志。
0: 禁止高温警告解除中断;
1: 使能高温警告解除中断。

8

R/W

0x0

HTAVIE(High-Temperature-Alarm Valid Interrupt Enable,
高温警告有效中断使能)
本字段为高温警告有效中断使能。当本字段使能时,高温警告有效标志
(HTAVF)的状态就会传递到本温度传感器的总中断标志。
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: 使能数据有效中断。

12.4.6.8. 0x114+n*0x20 THSn_HTAV

默认值:0x00000000

THS高温报警阈值设置(Channel N High-Temperature Alarm Value)

位域

类型

默认值

描述

31

R/W

0x0

HTAE(High-Temperature-Alarm Enable, 高温警报使能)
0: 禁止高温警报功能,高温警报阈值无效;
1: 使能高温警报功能,高温警报阈值有效。

30:28

-

-

-

27:16

R/W

0x000

HTARV(High-Temperature-Alarm Remove Value,高温警报解除阈值)
此字段规定了高温警报解除阈值,当温度从高于高温警报有效阈值
(HTAVV)的数值,降到高温警报解除阈值(HTARV)以下,
高温警报解除标志(HTARF)就会被硬件置位。
注意:HTARV< HTAVV。

15:12

-

-

-

11:0

R/W

0x000

HTAVV(High-Temperature-Alarm Valid Value,高温警报有效阈值)
此字段规定了高温警报有效阈值,当温度从低于高温警报解除阈值
(HTARV)的数值,升到高温警报有效阈值(HTAVV)以上,
高温警报有效标志(HTAVF)就会被硬件置位。
注意:HTARV< HTAVV。

12.4.6.9. 0x118+n*0x20 THSn_LTAV

默认值:0x00000000

THS低温报警阈值设置(Channel N Low-Temperature Alarm Value)

位域

类型

默认值

描述

31

R/W

0x0

LTAE(Low-Temperature-Alarm Enable, 低温警报使能)
0: 禁止低温警报功能,低温警报阈值无效;
1: 使能低温警报功能,低温警报阈值有效。

30:28

-

-

-

27:16

R/W

0x000

LTARV(Low-Temperature-Alarm Remove Value, 低温警报解除阈值)
此字段规定了低温警报解除阈值,当温度从低于低温警报有效阈值
(LTAVV)的数值,升到低温警报解除阈值(LTARV)以上,
低温警报解除标志(LTARF)就会被硬件置位。
注意:LTAVV< LTARV。

15:12

-

-

-

11:0

R/W

0x000

LTAVV(Low-Temperature-Alarm Valid Value, 低温警报有效阈值)
此字段规定了低温警报有效阈值,当温度从高于低温警报解除阈值
(LTARV)的数值,降到低温警报有效阈值(LTAVV)以下,
低温警报有效标志(LTAVF)就会被硬件置位。
注意:LTAVV< LTARV。

12.4.6.10. 0xFFC VERSION

默认值:0x00000100

THS版本号(THS Version)

位域

类型

默认值

描述

31:0

RO

0x00000100

Version(Version,模块版本号)
采用BCD码显示,V1.00