12.4.4. 寄存器列表

表 12.7 THS 寄存器地址映射表

Module Name

Mapping Size

Offset

THS

4 KB

0x000

表 12.8 THS 寄存器列表

Register Name

Offset

Description

MCR

0x000

THS模块控制(THS Module Control Register)

MINTR

0x004

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

-

0x008~0x0FC

-

THSn_CFG

0x100+n*0x20

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

THSn_ITV

0x104+n*0x20

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

THSn_FIL

0x108+n*0x20

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

THSn_DATA

0x10C+n*0x20

THS数据(THS Channel N Data)

THSn_INT

0x110+n*0x20

THS中断状态(THS Channel N Interrupt)

THSn_HTAV

0x114+n*0x20

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

THSn_LTAV

0x118+n*0x20

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

THSn_OTPV

0x11C+n*0x20

THS过温保护阈值设置(Channel N Over Temperature Protect Value)

VERSION

0xFFC

THS版本号(THS Version)

12.4.5. 寄存器描述

note n=0~1 为ths通道号

12.4.5.1. 0x000 MCR

默认值:0x00002F30

THS模块控制(THS Module Control Register)

位域

类型

默认值

描述

31:22

-

-

-

21

R/W

0

THS1_EN(THS1 Enable,THS1 控制器使能)
使用时:需与SEN1同时使能或禁止
0: THS1禁止
1: THS1使能

20

R/W

0

THS0_EN(THS0 Enable,THS0 控制器使能)
使用时:需与SEN0同时使能或禁止
0: THS0禁止
1: THS0使能

19:18

-

-

-

17

R/W

0

SEN1_EN(SEN1 Enable,SEN1 传感器使能)
使用时:需与THS1同时使能或禁止
0: SEN1禁止
1: SEN1使能

16

R/W

0

SEN0_EN(SEN0 Enable,SEN0 传感器使能)
使用时:需与THS0同时使能或禁止
0: SEN0禁止
1: SEN0使能

15:8

R/W

0x2F

THS_ACQ(THS Acquisition Time,THS捕获时间)
温度传感器的捕获时间长度,单位为ADC_CLK的周期数。
T(THS_ACQ) =(THS_ACQ+1)*T(ADC_CLK)。假设 ADC_CLK=24 MHz,
THS_ACQ=0x2FT(THS_ACQ) = (47+1)*41.67 ns = 2 us

7:6

-

-

-

5:4

RO

0x3

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

3:1

-

-

-

0

R/W

0

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

12.4.5.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.5.3. 0x100+n*0x20 THSn_CFG

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

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

位域

类型

默认值

描述

31:20

-

-

-

19:16

RO

n+12

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

15:8

R/W

0x2F

ADC_ACQ(ADC捕获时间)
定义了本ADC通道的捕获时间长度。本计数值单位为ADC_CLK的周期数。
T(ADC_ACQ) =(ADC_ACQ+1)*TADC_CLK
假设 ADC_CLK=24 MHzADC_ACQ=0x2FT(ADC_ACQ) = (47+1)*41.67 ns = 2 us

7:5

-

-

-

4

R/W

0

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

3

-

-

-

2

R

0

THS State (THS工作状态)
0:idle
1:busy

1

R/W

0

PSEN(Periodic Sample Enable,周期采样使能)
温度传感器周期采样使能
由软件置位,表示启动响应传感器的温度周期性采样,
采样间隔由THSn_ITV寄存器设定。软件清零表示停止周期性采样,
如果在软件清零之前硬件已经启动了一次新的采样,那么这次采样会继续
完成,并最终返回数据。
注意:不允许同时使能周期采样与单次采样,即SSEN与PSEN不能同时有效

0

R/WAC

0

SSEN(Single Sample Enable,单点采样使能)
温度传感器单点采样使能。

由软件置位,表示启动相应传感器的温度采样,采样命令被ADC接收后,
就会由硬件自动清零。自动清零后,表示采样命令已经被接收,
但并不代表采样数据已经返回,需要等到数据有效后,
才意味着温度采样完成。

注意:尽管描述为“单点”采样,但由于为了避免单次采样误差,
可能需要通过单点多次采样后的数据进行算术平均,
并得到一个相对稳定的温度值,所以本“单点”采样实际上会包含“多次”
采样,对应的由硬件向ADC接口控制器连续发出多个采样命令,连续发
出采样命令的个数由滤波器配置THSn_FIL设定。

例如滤波器配置为0x1(2点平均),那么每次启动SSEN,硬件会连续发出2个采样命令,
2个采样命令发出后,硬件自动清零SSEN。

12.4.5.4. 0x104+n*0x20 THSn_ITV

默认值:0x016EFFFF

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

位域

类型

默认值

描述

31:16

R/W

0x016E

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

15:0

R/W

0xFFFF

Multiple:65536=0xffff+1,软件可配

12.4.5.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.5.6. 0x10C+n*0x20 THSn_DATA

默认值:0x00000000

THS数据(THS Channel N Data)

位域

类型

默认值

描述

31:12

-

-

-

11:0

RO

0x000

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

12.4.5.7. 0x110+n*0x20 THSn_INT

默认值:0x00000000

THS中断状态(THS Channel N Interrupt)

位域

类型

默认值

描述

31:29

-

-

-

28

R/W1C

0

OTPF(Over-Temperature-Protected Flag,过温保护标志)
过温保护标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。
操作方式为硬件置位,软件写1清零。
当温度传感器采样值超过THSn_OTPV.OTPV值,就会置为1。
如果OTPE=中断使能,那么就会产生中断信号;
如果OTPE=复位使能,那么就会产生系统复位信号;
否则,不会产生任何后续动作,等待CPU查询和响应。

27

R/W1C

0

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

26

R/W1C

0

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

25

R/W1C

0

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

24

R/W1C

0

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

23:18

-

-

-

17

R/W1C

0

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

16

R/W1C

0

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

15:12

R/W

0

OTPE(Over-Temperature-Protection Enable,过温保护使能)
过温保护使能。使能之后,当温度传感器采样值超过xx值,
本模块就会把输出中断或者系统复位(SYS_RSTn),
会引起CPU中断或者系统复位。
0x5: 过温保护中断使能;
0xA: 过温保护复位使能;
Others: 过温保护禁止。

11

R/W

0

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

10

R/W

0

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

9

R/W

0

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

8

R/W

0

HTAVIE(High-Temperature-Alarm Valid Interrupt Enable,
高温警告有效中断使能)
高温警告有效中断使能。当使能时,高温警告有效标志
(HTAVF)的状态就会传递到本温度传感器的总中断标志。
0: 禁止高温警告有效中断;
1: 使能高温警告有效中断。

7:2

-

-

-

1

R/W

0

DOVWIE(Data Overwrite Interrupt Enable,数据覆盖中断使能)
数据覆盖中断使能。当使能时,数据覆盖标志(DOVWF)
的状态就会传递到本温度传感器的总中断标志。
0: 禁止数据覆盖中断;
1: 使能数据覆盖中断。

0

R/W

0

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

12.4.5.8. 0x114+n*0x20 THSn_HTAV

默认值:0x00000000

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

位域

类型

默认值

描述

31

R/W

0

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。

12.4.5.9. 0x118+n*0x20 THSn_LTAV

默认值:0x00000000

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

位域

类型

默认值

描述

31

R/W

0

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

30:28

-

-

-

27:16

R/W

0x000

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

15:12

-

-

-

11:0

R/W

0x000

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

12.4.5.10. 0x11C+n*0x20 THSn_OTPV

默认值:0x00000000

THS过温保护阈值设置(Channel N Over Temperature Protect Value)

位域

类型

默认值

描述

31

R/W

0

OTPE(过温保护使能)
0: 禁止过温保护功能,过温保护阈值无效;
1: 使能过温保护功能,过温保护阈值有效。

30:12

-

-

-

11:0

R/W

0x000

OTPV(过温保护阈值)>大于高温阀值
此字段规定了过温保护阈值,当温度上升到过温保护阈值(OTPV)以上
,过温保护标志(OTPF)就会被硬件置位。

12.4.5.11. 0xFFC VERSION

默认值:0x00000200

THS版本号(THS Version)

位域

类型

默认值

描述

31:0

RO

0x00000200

Version(模块版本号)

采用BCD码显示,V2.00