12.4.5. 寄存器描述
note n=0~3 为ths通道号
12.4.5.1. 0x000 MCR
默认值:0x00002F30 |
THS模块控制(THS Module Control Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
- |
- |
-
|
23 |
R/W |
0 |
CTL3_EN(CTL3控制器使能)
本字段仅在THS_MAX≥3时有效
0: CTL3禁止
1: CTL3使能
|
22 |
R/W |
0 |
CTL2_EN(CTL2控制器使能)
本字段仅在THS_MAX≥2时有效
0: CTL2禁止
1: CTL2使能
|
21 |
R/W |
0 |
CTL1_EN(CTL1控制器使能)
本字段仅在THS_MAX≥1时有效
0: CTL1禁止
1: CTL1使能
|
20 |
R/W |
0 |
CTL0_EN(CTL0控制器使能)
0: CTL0禁止
1: CTL0使能
|
19 |
R/W |
0 |
THS3_EN(THS3传感器使能)
本字段仅在THS_MAX≥3时有效
0: THS3禁止
1: THS3使能
|
18 |
R/W |
0 |
THS2_EN(THS2传感器使能)
本字段仅在THS_MAX≥2时有效:
0: THS2禁止
1: THS2使能
|
17 |
R/W |
0 |
THS1_EN(THS1传感器使能)
本字段仅在THS_MAX≥1时有效
0: THS1禁止
1: THS1使能
|
16 |
R/W |
0 |
THS0_EN(THS0传感器使能)
0: THS0禁止
1: THS0使能
|
15:8 |
R/W |
0x2F |
THS_ACQ(THS捕获时间)
本字段定义了温度传感器的捕获时间长度。本计数值单位为ADC_CLK的
周期数,TTHSACQ =(THS_ACQ+1)*TADC_CLK。假设ADC_CLK=24MHz
,THS_ACQ=0x2F,TTHSACQ = (47+1)*41.67ns = 2us。
|
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: 本模块被使能
|
12.4.5.2. 0x004 MINTR
默认值:0x00000000 |
THS中断控制与状态(THS Module Interrupt Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:20 |
- |
- |
-
|
19 |
RO |
0 |
THS3_INTF(THS3 Interrupt Flag,THS3中断标志)
本字段仅在THS_MAX≥3时有效。本字段只读,只要清除了相应THS的中断
标志,本字段就会自动清零
0: THS3无中断请求
1: THS3有中断请求
|
18 |
RO |
0 |
THS2_INTF(THS2 Interrupt Flag,THS2中断标志)
本字段仅在THS_MAX≥2时有效。本字段只读,只要清除了相应THS的中断
标志,本字段就会自动清零
0: THS2无中断请求
1: THS2有中断请求
|
17 |
RO |
0 |
THS1_INTF(THS1 Interrupt Flag,THS1中断标志)
本字段仅在THS_MAX≥1时有效。本字段只读,只要清除了相应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中断使能)
本字段仅在THS_MAX≥3时有效,THS3中断使能信号
0: 禁止THS3中断
1: 使能THS3中断
|
2 |
R/W |
0 |
THS2_INTEN(THS2 Interrupt Enable,THS2中断使能)
本字段仅在THS_MAX≥2时有效,THS2中断使能信号
0: 禁止THS2中断
1: 使能THS2中断
|
1 |
R/W |
0 |
THS1_INTEN(THS1 Interrupt Enable,THS1中断使能)
本字段仅在THS_MAX≥1时有效,THS1中断使能信号
0: 禁止THS1中断
1: 使能THS1中断
|
0 |
R/W |
0 |
THS0_INTEN(THS0 Interrupt Enable,THS0中断使能)
THS0中断使能信号
0: 禁止THS0中断
1: 使能THS0中断
|
12.4.5.3. 0x100+n*0x20 THSn_CFG
默认值:0x000(n+8)2F00 |
THS通道控制配置(THS Channel N Config) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
ADC_MSEL(ADC Mode Select)
0:Normal Mode 单端
1:Different Mode 差分
|
30:28 |
- |
- |
-
|
27 |
R/W |
0x0 |
Inverted Select
单端模式(ADC_MSEL==0)
0:取反
1:不变
差分模式(ADC_MSEL==1)
0: THS1-THS0与THS3-THS2
1: THS0-THS1与THS2-THS3
|
26:20 |
- |
- |
-
|
19:16 |
RO |
n+8 |
ADC_CHN(ADC Channel Number, ADC通道号)
本字段显示系统分配的ADC通道号,硬件会根据此通道号匹配ADC并获取
返回的数据,软件驱动不需要使用,本字段仅作Debug用。
|
15:8 |
R/W |
0x2F |
ADC_ACQ(ADC捕获时间)
本字段定义了本ADC通道的捕获时间长度。本计数值单位为ADC_CLK的周
期数,TADCACQ =(ADC_ACQ+1)*TADC_CLK。假设ADC_CLK=24MHz,
ADC_ACQ=0x2F,TADCACQ = (47+1)*41.67ns = 2us。
|
7:5 |
- |
- |
-
|
4 |
R/W |
0 |
ADC_PRI(ADC采样优先级)
本字段定义了本次ADC采样的优先级控制。
0: 低优先级非实时采样,采样命令与其他非实时采样命令进入采样队列
1: 高优先级实时采样,采样命令会被直接处理,不进入采样队列。
|
3 |
- |
- |
-
|
2 |
R |
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,采样间隔)
此字段定义了周期采样的采样间隔,单位为65536*TPCLK,
即 采样间隔=ITV*Multiple*TPCLK
假设PCLK=24MHz,ITV=0x16E=366,采样间隔=366*65536*41.67ns=1s
注意:此字段不可为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值,就会置位本字段。
如果OTPE=中断使能,那么就会产生中断信号;
如果OTPE=复位使能,那么就会产生系统复位信号;
否则,不会产生任何后续动作,等待CPU查询和响应。
|
27 |
R/W1C |
0 |
LTARF(Low-Temperature-Alarm Removed Flag,低温警告解除标志)
本字段为低温警告解除标志,仅周期采样模式(THSn_CFG.PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从低于THSn_LTAV.LTAVV值到高于THSn_LTAV.
LTARV值,就会置位本字段。
|
26 |
R/W1C |
0 |
LTAVF(Low-Temperature-Alarm Valid Flag,低温警告有效标志)
本字段为低温警告有效标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效
。本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从高于THSn_LTAV.LTARV值到低于THSn_LTAV.LTAVV值,
就会置位本字段。
|
25 |
R/W1C |
0 |
HTARF(High-Temperature-Alarm Removed Flag,高温警告解除标志)
本字段为高温警告解除标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从高于THSn_HTAV.HTAVV值到低于THSn_HTAV.HTARV值,
就会置位本字段。
|
24 |
R/W1C |
0 |
HTAVF(High-Temperature-Alarm Valid Flag,高温警告有效标志)
本字段为高温警告有效标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。
本字段的操作为硬件置位,软件写1清零。
当温度传感器采样值从低于THSn_HTAV.HTARV值到高于THSn_HTAV.HTARV值,
就会置位本字段。
|
23:18 |
- |
- |
-
|
17 |
R/W1C |
0 |
DOVWF(Data Overwrite Flag,数据覆盖标志)
本字段为数据覆盖标志。本字段的操作为硬件置位,软件写1清零。
当DRDYF=1(软件未清零数据有效标志),而且又有新的有效数据时,
硬件置位本字段,
表示数据寄存器由于软件未及时读取,产生了上次有效数据被覆盖的情况。
|
16 |
R/W1C |
0 |
DRDYF(Data Ready Flag,数据有效标志)
本字段为数据有效标志。本字段的操作为硬件置位,软件写1清零。
当THSn_DATA寄存器有新的有效数据时,硬件置位本字段,软件读取数据后,
由软件操作清除本字段。
|
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
|