寄存器描述
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:18 | - | - | - |
17 | RO | 0 | THS1_INTF(THS1 Interrupt Flag,THS1 中断标志) 。只可读,只要清除了相应 THS
的中断标志,就会自动清零
|
16 | RO | 0 | THS0_INTF(THS0 Interrupt Flag,THS0 中断标志) 只可读,只要清除了相应 THS
的中断标志,就会自动清零
|
15:2 | - | - | - |
1 | R/W | 0 | THS1_INTEN(THS1 Interrupt Enable,THS1 中断使能) THS1 中断使能信号
|
0 | R/W | 0 | THS0_INTEN(THS0 Interrupt Enable,THS0 中断使能) THS0 中断使能信号
|
0x100+n*0x20 THSn_CFG
1默认值:0x000(n+8)2F00 | THS 通道控制配置 (THS Channel N Config) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:20 | - | 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 通道的捕获时间长度。
|
7:5 | - | - | - |
4 | R/W | 0x0 | ADC_PRI(ADC Priority,ADC 采样优先级) 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 采样数据) 温度传感器的 ADC 采样数据结果。
注: 模块无数据
FIFO,本寄存器只能暂存一次的采样结果,如果未被及时读取,则会被后来新的采样数据直接覆盖。
|
0x110+n*0x20 THSn_INT
5默认值:0x00000000 | THS 中断状态(THS Channel N Interrupt) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27 | R/W1C | 0x0 | HTARF(High-Temperature-Alarm Removed Flag,高温警告解除标志)
|
26 | R/W1C | 0x0 | HTAVF(High-Temperature-Alarm Valid Flag,高温警告有效标志)
|
25 | R/W1C | 0x0 | LTARF(Low-Temperature-Alarm Removed Flag,低温警告解除标志)
|
24 | R/W1C | 0x0 | LTAVF(Low-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 | - | - | - |
11 | R/W | 0x0 | HTARIE(High-Temperature-Alarm Removed Interrupt
Enable,高温警告解除中断使能) 当使能时,高温警告解除标志 (HTARF) 的状态就会传递到温度传感器的总中断。
|
10 | R/W | 0x0 | HTAVIE(High-Temperature-Alarm Valid Interrupt
Enable,高温警告有效中断使能) 当使能时,高温警告有效标志 (HTAVF) 的状态就会传递到温度传感器的总中断。
|
9 | R/W | 0x0 | LTARIE(Low-Temperature-Alarm Removed Interrupt
Enable,低温警告解除中断使能) 当使能时,低温警告解除标志 (LTARF) 的状态就会传递到温度传感器的总中断。
|
8 | R/W | 0x0 | LTAVIE(Low-Temperature-Alarm Valid Interrupt
Enable,低温警告有效中断使能) 当使能时,低温警告有效标志 (LTAVF) 的状态就会传递到温度传感器的总中断。
|
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_LTAV
6默认值:0x00000000 | THS 低温报警阈值设置(Channel N Low-Temperature Alarm Value) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0x0 | LTAE(低温警报使能)
|
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。
|
0x118+n*0x20 THSn_HTAV
7默认值:0x00000000 | THS 高温报警阈值设置(Channel N High-Temperature Alarm Value) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | R/W | 0x0 | 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。
|
0x11C+n*0x20 THSn_OTPV
8默认值: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
默认值:0x00000200 | THS 版本号(THS Version) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x00000200 | Version(模块版本号) 采用 BCD 码显示,V2.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 通道号
n = 0~1 为 ths 通道号
n = 0~1 为 ths 通道号