12.4.4. 寄存器列表
Module Name |
Mapping Size |
Offset |
---|---|---|
THS |
4 KB |
0x000 |
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=0x2F , T(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 MHz , ADC_ACQ=0x2F , T(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 MHz , ITV=0x16E=366 , Multiple=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 |