寄存器描述
0x000 MCR
默认值:0x00002F30 | THS 模块控制 (THS Module Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:18 | - | - | - |
17 | R/W | 0 | THS1_EN THS1 Enable, THS1 传感器使能
|
16 | R/W | 0 | THS0_EN THS0 Enable, THS0 传感器使能
|
15:8 | R/W | 0x2F | THS_ACQ THS Acquisition Time,THS 捕获时间,温度传感器的捕获时间长度。 计数值单位为 ADC_CLK 的周期数,T (THS_ACQ) = (THS_ACQ+1) * TADC_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 最大编号 THSn 中 n 的最大编号,n+1 即为模块最多支持温度传感器数量。小于等于 3,即传感器数量最少为 1 个,最多为 4 个。 |
3:1 | - | - | - |
0 | R/W | 0 | EN 模块使能
|
0x004 MINTR
默认值:0x00000000 | THS 中断控制与状态 (THS Module Interrupt Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:20 | - | - | - |
19 | RO | 0 | THS3_INTF THS3 Interrupt Flag,THS3 中断标志,只可读。 只要清除了相应 THS
的中断标志,就会自动清零
|
18 | RO | 0 | THS2_INTF() THS2 Interrupt Flag,THS2 中断标志,只可读。 只要清除了相应
THS 的中断标志,就会自动清零
|
17 | RO | 0 | THS1_INTF THS1 Interrupt Flag,THS1 中断标志,只可读。 只要清除了相应 THS
的中断标志,就会自动清零
|
16 | RO | 0 | THS0_INTF() THS0 Interrupt Flag,THS0 中断标志,只可读。 只要清除了相应
THS 的中断标志,就会自动清零
|
15:4 | - | - | - |
3 | R/W | 0 | THS3_INTEN THS3 Interrupt Enable,THS3 中断使能信号
|
2 | R/W | 0 | THS2_INTEN THS2 Interrupt Enable,THS2 中断使能信号
|
1 | R/W | 0 | THS1_INTEN THS1 Interrupt Enable,THS1 中断使能信号
|
0 | R/W | 0 | THS0_INTEN THS0 Interrupt Enable,THS0 中断使能信号
|
0x010 MAXMACQ
默认值:0x00030100 | THS 最大数量与捕获时间 (THS MAX NUM AND ACQ Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:18 | - | - | - |
17:16 | RO | 0x3 | THS_MAX THS 最大编号,规定了 THSn 中 n 的最大编号 n+1,即为本模块实际使用的温度传感器数量。n 小于等于 3,即传感器数量最少为 1 个,最多为 4 个。 |
15:12 | - | - | - |
11:0 | R/W | 0x100 | THS_ACQ THS 捕获时间,定义了温度传感器的捕获时间长度。 计数值单位为 ADC_CLK 的周期数。T(THS_ACQ )=(THS_ACQ+1)*TADC_CLK。假设 ADC_CLK=24MHz , THS_ACQ=0x2F, T(THS_ACQ )= (47+1)*41.67ns = 2us。 |
0x100+n*0x20 THSn_CFG
1默认值:0x000(n+8)2F00 | THS 通道控制配置 (THS Channel N Config) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | 0x0 | - |
26:20 | - | - | - |
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 通道的捕获时间长度。
|
7:5 | - | - | - |
4 | R/W | 0x0 | ADC_PRI ADC Priority,ADC 采样的优先级控制
|
3 | - | - | - |
2 | R | 0x0 | THS THS Channel State,工作状态:
|
1 | R/W | 0x0 | PSEN Periodic Sample Enable,温度传感器周期采样使能。
采样间隔由 THSn_ITV 寄存器设定。如果在软件清零之前硬件已经启动了一次新的采样,新采样会继续完成,并最终返回数据。 注: 不允许同时使能周期采样与单次采样,即 SSEN 与 PSEN
不能同时有效。
|
0 | R/WAC | 0x0 | SSEN Single Sample Enable,温度传感器单点采样使能。
由硬件自动清零,表示相应传感器的温度单点采样已完成。 注: 尽管描述为单点采样,但为了避免单次采样误差,可能需要通过单点多次采样后的数据进行算术平均,得到一个相对稳定的温度值,因此单点采样实际上会包含多次采样。对应的由硬件向
ADC 接口控制器连续发出多个采样命令。连续发出采样命令的个数由滤波器配置 FIL 设定。例如滤波器配置为 0x1(2
点平均),则每次启动 SSEN,硬件会连续发出 2 个采样命令,接收到 2 个温度数据之后,硬件自动清零
SSEN。
|
0x104+n*0x20 THSn_ITV
2默认值:0x016EFFFF | THS 通道采样间隔配置 (THS Channel N Interval) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x016E | ITV Interval,采样间隔 周期采样的采样间隔,单位为 T(div_clk),即采样间隔 = ITV* T(div_clk)。 假设 PCLK = 24 MHz,ITV = 0x16E = 366,DIV=65535,采样间隔 = 366 * (65535 + 1) * 41.67 ns = 1 s 注: 不可为 0。硬件自动保护:当软件配置为 0 时,效果等同于
1。
|
15:0 | R/W | 0xFFFF | DIV Divide CLK,分频时钟 时钟 (div_clk) 分频系数,单位为 PCLKT (div_clk) = (DIV+1) *T (PCLK) |
0x108+n*0x20 THSn_FIL
3默认值:0x00000000 | THS 采样滤波配置 (THS Channel Filter) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:2 | - | - | - |
1:0 | R/W | 0x0 | FIL Filter,滤波器配置 温度传感器采样数据算数平均滤波器的输入样本数。
定义了单次采样和周期采样每次的连续采样命令数量(采样点数),控制器接收对应的采样点数据后,进行算数平均,并把平均值通过本传感器的 THSn_DATA 寄存器返回。 |
0x10C+n*0x20 THSn_DATA
4默认值:0x00000000 | THS 数据 (THS Channel N Data) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:12 | - | - | - |
11:0 | RO | 0x000 | DATA ADC DATA,,ADC 采样数据 温度传感器的 ADC 采样数据结果。
注: 模块无数据
FIFO,本寄存器只能暂存一次的采样结果,如果未被及时读取,则会被后来新的采样数据直接覆盖。
|
0x110+n*0x20 THSn_INT
5默认值:0x00000000 | THS 中断状态 (THS Channel N Interrupt) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28 | R/W1C | 0x0 | OTPF Over-Temperature-Protected Flag,过温保护标志,仅周期采样模式(THSn_CFG. PSEN=1)时有效。 操作方式为硬件置位,软件写 1 清零。当温度传感器采样值超过 THSn_OTPV.OTPV
,就会置为 1。
|
27 | R/W1C | 0x0 | LTARF Low-Temperature-Alarm Removed Flag,低温警告解除标志
|
26 | R/W1C | 0x0 | LTAVF Low-Temperature-Alarm Valid Flag,低温警告有效标志
|
25 | R/W1C | 0x0 | HTARF High-Temperature-Alarm Removed Flag,高温警告解除标志
|
24 | R/W1C | 0x0 | HTAVF High-Temperature-Alarm Valid Flag,高温警告有效标志
|
23:18 | - | - | - |
17 | R/W1C | 0x0 | DOVWF Data Overwrite Flag,数据覆盖标志 硬件置位,软件写 1 清零。当 DRDYF = 1(软件未清零数据有效标志),而且又有新的有效数据时,硬件置为 1,表示数据寄存器由于软件未及时读取,产生了上次有效数据被覆盖的情况。 |
16 | R/W1C | 0x0 | DRDYF Data Ready Flag,数据有效标志 硬件置位,软件写 1 清零。当 THSn_DATA 寄存器有新的有效数据时,硬件置为 1,软件读取数据后,由软件操作清除。 |
15:12 | - | - |
OTPE
Over-Temperature-Protection Enable,过温保护使能 使能之后,当温度传感器采样值超过 THSn_OTPV.OTPV,THS
模块会输出中断或者系统复位(SYS_RSTn),从而引起 CPU 中断或者系统复位。
|
11 | R/W | 0x0 | LTARIE Low-Temperature-Alarm Removed Interrupt Enable,低温警告解除中断使能 当使能时,低温警告解除标志 (LTARF)
的状态就会传递到温度传感器的总中断。
|
10 | R/W | 0x0 | LTAVIE Low-Temperature-Alarm Valid Interrupt Enable,低温警告有效中断使能 当使能时,低温警告有效标志 (LTAVF)
的状态就会传递到温度传感器的总中断。
|
9 | R/W | 0x0 | HTARIE High-Temperature-Alarm Removed Interrupt Enable,高温警告解除中断使能 当使能时,高温警告解除标志 (HTARF)
的状态就会传递到温度传感器的总中断。
|
8 | R/W | 0x0 | HTAVIE High-Temperature-Alarm Valid Interrupt Enable,高温警告有效中断使能 当使能时,高温警告有效标志 (HTAVF)
的状态就会传递到温度传感器的总中断。
|
7:2 | - | - | - |
1 | R/W | 0x0 | DOVWIE Data Overwrite Interrupt Enable,数据覆盖中断使能 当使能时,数据覆盖标志 (DOVWF) 的状态就会传递到温度传感器的总中断。
|
0 | R/W | 0x0 | DRDYIE Data Ready Interrupt Enable,数据有效中断使能 当使能时,数据有效标志
(DRDYF) 的状态就会传递到温度传感器的总中断。
|
0x114+n*0x20 THSn_HTAV
默认值:0x00000000 | THS 高温报警阈值设置 (Channel N High-Temperature Alarm Value) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0 |
HTAE
高温警报使能
|
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。
|
0x118+n*0x20 THSn_LTAV
默认值:0x00000000 | THS 低温报警阈值设置 (Channel N Low-Temperature Alarm Value) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0 |
LTAE
低温警报使能
|
30:28 | - | - | - |
27:16 | R/W | 0x000 |
LTARV
低温警报解除阈值 当温度从低于低温警报有效阈值 (LTAVV) 的数值,升到低温警报解除阈值 (LTARV) 以上,低温警报解除标志 (LTARF) 就会被硬件置位。 注: LTAVV> LTARV。
|
15:12 | - | - | - |
11:0 | R/W | 0x000 |
LTAVV
低温警报有效阈值 当温度从高于低温警报解除阈值 (LTARV) 的数值,降到低温警报有效阈值 (LTAVV) 以下,低温警报有效标志(LTAVF)就会被硬件置位。 注: LTAVV> LTARV。
|
0x11C+n*0x20 THSn_OTPV
6默认值:0x00000000 | THS 过温保护阈值设置 (Channel N Over Temperature Protect Value) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0 | OTPE 过温保护使能
|
30:12 | - | - | - |
11:0 | R/W | 0x000 | OTPV 过温保护阈值,大于高温阀值 当温度上升到过温保护阈值 (OTPV) 以上,过温保护标志 (OTPF) 就会被硬件置位。 |
0xFFC VERSION
默认值:0x00000100 | THS 版本号 (THS Version) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x00000100 | Version(模块版本号) 采用 BCD 码显示,V1.0 |
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号