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=0x2F , T(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=0x2F , T(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=24MHz , ITV=0x16E=366 , DIV=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
|