寄存器描述
0x000 RTP_MCR
默认值:0x00001000 | RTP 模块控制 (RTP Module Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:17 | - | - | - |
16 | R/W | 0 | PDET_BYP(Press Detect Bypass,按压检测屏蔽功能) 仅在自动模式(RTP_MODE > 0)下有效。 RTP 自动采样过程中,每个单点采样完成之后,是否判断按压状态。
|
15:13 | - | - | - |
12 | RO | 1 | PDET_STS(RTP Press Detect Status,RTP 按压检测状态) 反映 RTP
模块的按压检测(PDETn)输入信号状态。
|
11:10 | - | - | - |
9 | R/W | 0 | PU_SEL(RTP Press Detect Pull-up Resistor Select,RTP
按压检测上拉电阻选择) 控制按压检测上拉电阻阻值:
|
8 | R/W | 0 | PDET_EN(RTP Press Detection Enable,RTP按压检测使能) 控制按键检测使能信号:
|
7:4 | R/W | 0x0 | MODE(RTP Mode Select, RTP工作模式选择) RTP模块的工作模式,包括手动模式,以及多种自动模式。
|
3:1 | - | - | - |
0 | R/W | 0 | EN(RTP Module Enable,RTP 模块使能)
|
0x004 RTP_INTR
默认值:0x00000000 | RTP 中断状态与控制(RTP Interrupt Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:22 | - | - | - |
21 | R/W1C | 0 | SCI_FLG(RTP Sample Cycle Incomplete
Flag,采样循环不完整标志) 数据超限与抬起都会导致不完整标志起来 RTP 单点采样完成之后出现抬起 (PDETn =
0) 或数据超限,都会导致采样循环被打断,会置位 SCI_FLG 标志位,仅在自动模式 (RTP_MODE>0) 下有效:
|
20 | R/W1C | 0 | DOUR_FLG(RTP Data Over Uncertain Range
Flag,数据超限标志) RTP数据超限(超出范围)标志,仅在自动模式且滤波功能使能((RTP_MODE > 0)
&& (FIL > 0)) 下有效:
|
19 | RO | 0 | FIFO_FLG(RTP FIFO Error Flag,RTP FIFO异常标志) 总的 FIFO 异常状态。
具体异常状态见 FIFO 管理寄存器(RTP_FCR)定义。本标志位不能被直接清除,可以通过清除 FIFO 管理寄存器(RTP_FCR)中的异常状态间接清除本标志。 |
18 | R/W1C | 0 | DRDY_FLG(RTP FIFO Data Ready Flag,RTP FIFO 数据有效标志) 本字段表示RTP
FIFO的数据数量满足了FIFO数据有效阈值,具体阈值参考FIFO控制寄存器。
|
17 | R/W1C | 0 | RDET_FLG(RTP Rise Detect
Flag,RTP抬起检测标志) 本字段表示RTP控制器检测到了从按压到抬起的一个变化过程,本标志是反映去抖之后的检测结果。
|
16 | R/W1C | 0 | PDET_FLG(RTP Press Detect Flag,RTP按压检测标志) 本字段表示 RTP
控制器检测到了从抬起到按压的一个变化过程,本标志是反映去抖之后的检测结果。
|
15:6 | - | - | - |
5 | R/W | 0 | SCI_INTEN(RTP Sample Cycle Incomplete Interrupt
Enable,采样循环不完整中断使能) RTP 采样循环不完整(采样循环被打断)中断使能:
|
4 | R/W | 0 | DOUR_INTEN(RTP Data Over Uncertain Range Interrupt
Enable,数据超限中断使能) RTP 数据超限(超出确定范围)中断使能:
|
3 | R/W | 0 | FIFO_INTEN(RTP FIFO Interrupt Enable,RTP FIFO异常中断使能) RTP FIFO
异常中断使能,FIFO 异常状态参考 FIFO 控制寄存器(RTP_FCR)定义。
|
2 | R/W | 0 | DRDY_INTEN(RTP Data Ready Interrupt Enable,RTP 数据有效中断使能) RTP
FIFO 数据有效中断使能,数据有效的阈值参考FIFO控制寄存器(RTP_FCR)中的配置。
|
1 | R/W | 0 | RDET_INTEN(RTP Rise Detect Interrupt Enable,RTP抬起检测中断使能) RTP
抬起检测中断使能信号:
|
0 | R/W | 0 | PDET_INTEN(RTP Press Detect Interrupt Enable,RTP 按压检测中断使能) RTP
按压检测中断使能信号:
|
0x008 RTP_PDEB
默认值:0x23012301 | RTP 按压检测去抖配置(RTP Press Detect Enable Debounce) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x2 | FLRDET_DEB(First Level Rise Detect
Debounce,一级抬起去抖配置) 抬起事件去抖时间计数,计数单位为 TPCLK。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的去抖时间范围为0~(2^4-1)*TPCLK。 |
27:24 | R/W | 0x3 | SLRDET_DEB(Second Level Rise Detect
Debounce,二级抬起去抖配置) 本字段定义了抬起事件去抖时间计数,本计数单位为 TRiseDivClk。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的去抖时间范围为0~(2^4-1)*TRiseDivClk。 |
23:16 | R/W | 0x01 | SLRDET_DEBDC(Second Level Rise Detect Debounce Div
Clk,二级抬起去抖分频计数) 本字段定义了抬起事件去抖时间计数 RiseDivClk,本计数单位为TPCLK。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的分频时间范围为0~(2^8-1)*256*TPCLK。 |
15:12 | R/W | 0x2 | FLRDET_DEB(First Level Press Detect
Debounce,一级按压去抖配置) 本字段定义了抬起事件去抖时间计数,本计数单位为 TPCLK。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的去抖时间范围为0~(2^4-1)*TPCLK。 |
11:7 | R/W | 0x3 | SLRDET_DEB(Second Level Press Detect
Debounce,二级按压去抖配置) 本字段定义了抬起事件去抖时间计数,本计数单位为TPressDivClk。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的去抖时间范围为0~(2^4-1)*TPressDivClk。 |
7:0 | R/W | 0x01 | SLRDET_DEBDC(Second Level Press Detect Debounce Div
Clk,二级按压去抖分频计数) 本字段定义了抬起事件去抖时间计数PressDivClk,本计数单位为TPCLK。当本字段为0(即0x0000)时,抬起去抖功能无效。本字段定义的分频时间范围为0~(2^8-1)*256*TPCLK。 |
0x00C RTP_PCTL
默认值:0x00FF00FF | RTP 按压检测延时控制(RTP Press Dectect Control Delay) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x00FF | PDET_ISD(Press Dectect Idle State Delay
,按压检测空闲状态延时) 本字段仅在自动模式(RTP_MODE >
0)下有效。本字段定义了RTP在IDLE状态与PDET_EN==1条件下,延长一定时间进行按压检测。本字段表示按压检测空闲状态延时为
|
15:0 | R/W | 0x00FF | PDET_DRV2DETD(Press Dectect Drive-to-Detect Delay
,按压检测驱动到检测延时) 本字段仅在自动模式(RTP_MODE >
0)下有效。本字段定义了RTP自动采样过程中,RTP由驱动状态变为检测状态时,延时一段时间之后才开始按压检测。自动采样模式下,两点采样之间会对按压检测信号进行判断,为了更加高效,这个判断点未经过去抖(不受PDEB寄存器控制),需要在驱动到检测之间增加一个Delay控制,以适应XN的不同的外部负载。本字段表示按压检测驱动到检测的延时为
|
0x010 RTP_CHCFG
默认值:0xCEDF0801 | RTP 通道配置(RTP Channel Config) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | RO | 0xC | XP_CHN(X+ ADC Channel Number,
X+对应的ADC通道号) 本字段显示系统分配给X+信号的ADC通道号,硬件会根据此通道号匹配ADC并获取返回的数据,软件驱动不需要使用,本字段仅作Debug用。 |
27:24 | RO | 0xE | YP_CHN(Y+ ADC Channel Number,
Y+对应的ADC通道号) 本字段显示系统分配给Y+信号的ADC通道号,硬件会根据此通道号匹配ADC并获取返回的数据,软件驱动不需要使用,本字段仅作Debug用。 |
23:20 | RO | 0xD | XN_CHN(X- ADC Channel Number,
X-对应的ADC通道号) 本字段显示系统分配给X-信号的ADC通道号,硬件会根据此通道号匹配ADC并获取返回的数据,软件驱动不需要使用,本字段仅作Debug用。 |
19:16 | RO | 0xF | YN_CHN(Y- ADC Channel Number,
Y-对应的ADC通道号) 本字段显示系统分配给Y-信号的ADC通道号,硬件会根据此通道号匹配ADC并获取返回的数据,软件驱动不需要使用,本字段仅作Debug用。 |
15:8 | R/W | 0x08 | ADC_ACQ(ADC捕获时间) 本字段定义了本次采样的ADC通道的捕获时间长度。本计数值单位为ADC_CLK的周期数, |
7:1 | - | - | - |
0 | R/W | 1 | ADC_PRI(ADC采样优先级) 本字段定义了本次ADC采样的优先级控制。0: 表示低优先级非实时采样,采样命令会与其他非实时采样命令进入采样队列;1: 表示高优先级实时采样,采样命令会被直接处理,不进入采样队列。 |
0x014 RTP_MMSC
默认值:0x00000000 | RTP 手动模式控制(RTP Manual Mode Sample Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:22 | R/W | 0x0 | VNSEL(Vref- Select,Vref-选通控制) 本字段仅在手动模式(RTP_MODE == 0)下有效。本字段定义了ADC参考电压负端(Vref-)的选通控制。0x0: Vref-连通GND;0x1: Vref-连通X-信号;0x2: Vref-连通Y-信号;0x3: Vref-连通GND。 |
21:20 | R/W | 0x0 | VPSEL(Vref+ Select,Vref+选通控制) 本字段仅在手动模式(RTP_MODE == 0)下有效。本字段定义了ADC参考电压正端(Vref+)的选通控制。0x0: Vref+连通VCC;0x1: Vref+连通X+信号;0x2: Vref+连通Y+信号;0x3: Vref+连通VCC。 |
19:16 | R/W | 0x0 | DRV(RTP X/Y Drive,RTP X/Y信号驱动控制) 本字段仅在手动模式(RTP_MODE == 0)下有效。本字段定义了RTP X+/X-/Y+/Y-信号的驱动控制,高电平有效。bit3: X+,高电平X+连通VCC,低电平X+断开VCC;bit2: Y+,高电平Y+连通VCC,低电平Y+断开VCC;bit1: X-,高电平X-连通GND,低电平X-断开GND;bit0: Y-,高电平Y-连通GND,低电平Y-断开GND。 |
15:11 | - | - | - |
10:8 | R/W | 0x0 | SCPT(Sample Count per Trigger,每次触发的采样次数) 本字段仅在手动模式(RTP_MODE == 0)下有效。本字段定义了每次采样触发之后,连续采样的次数,次数为SCPT+1,SCPT的有效值为0x0~0x7,对应有效的连续采样次数是1~8。每次触发数据(SCPT+1)都在FIFO |
7:6 | - | - | - |
5:4 | R/W | 0 | SCSEL(Sample Channel Select,采样通道选通) 本字段仅在手动模式(RTP_MODE == 0)下有效。本字段定义了当前发起采样的对应通道。0x0: Y-通道;0x1: X-通道;0x2: Y+通道;0x3: X+通道。 |
3:1 | - | - | - |
0 | R/WAC | 0 | STRG(Sample Trigger,手动采样触发) 本字段仅在手动模式(RTP_MODE ==
0)下有效。本字段为本通道采样的触发信号。由软件置位,表示启动本通道ADC采样,采样完成之后,本字段就会由硬件自动清零。 注: 一次触发有可能会包含多次采样,对应地由硬件向ADC接口控制器连续发出多个采样命令,连续发出采样命令的个数由SCPT字段设定。例如SCPT=0x7,那么每次启动STRG,硬件会连续发出SCPT+1=8个采样命令,8个采样命令发出后,硬件自动清零STRG。 |
0x018 RTP_FIL
默认值:0x00000002 | RTP 自动采样滤波配置(RTP Auto Mode Filter) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:28 | R/W | 0x0 | ZRUR(Z Data Relative Uncertainty
Range,Z采样数据相对不确定范围) 本字段仅在自动模式((RTP_MODE > 0)
下有效。本字段定义了ZA/ZB/ZC/ZD采样样本的相对的有效性判定范围。
|
27 | - | - | - |
26:24 | R/W | 0x0 | ZAUR(Z Data Absolute Uncertainty
Range,Z采样数据绝对不确定范围) 本字段仅在自动模式(RTP_MODE > 0)
下有效。本字段定义了ZA/ZB/ZC/ZD采样样本的绝对的有效性判断范围。
|
23 | - | - | - |
22:20 | R/W | 0x0 | XYRUR(X/Y Data Relative Uncertainty
Range,X/Y采样数据相对不确定范围) 本字段仅在自动模式 (RTP_MODE > 0)
下有效。本字段定义了XP/XN/YP/YN采样样本的相对的有效性判定范围。
|
19 | - | - | - |
18:16 | R/W | 0x0 | XYAUR(X/Y Data Absolute Uncertainty
Range,X/Y采样数据绝对不确定范围) 本字段仅在自动模式 (RTP_MODE > 0) 下有效。本字段定义了
XP/XN/YP/YN 采样样本的绝对的有效性判断范围。
|
15:2 | - | - | - |
1:0 | R/W | 0x2 | FIL(Filter,采样数据滤波器配置) 仅在自动模式(RTP_MODE > 0)下有效,定义了RTP
采样数据滤波配置。
本字段也规定了自动模式下每次的连续采样数。 |
0x01C RTP_AMSC
默认值:0x0024A000 | RTP 自动模式采样控制 (RTP Auto Mode Sample Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27:12 | R/W | 0x024A | PSI(Periodic Sample Interval,周期性采样间隔) 仅在自动模式(RTP_MODE > 0)下有效。 自动模式周期性采样的采样间隔,采样间隔为
|
11:3 | - | - | - |
2 | R | 0x0 | RTP BUSY 状态 仅在自动模式(RTP_MODE > 0)下有效。
|
1 | R/W | 0 | PSEN(Periodic Sample
Enable,周期性采样使能) 周期性循环采样使能信号,仅在自动模式(RTP_MODE > 0)下有效。
周期性循环采样使能信号,由软件置位清零。周期性采样流程参考前文描述。(软件清0:完成本周期循环采样之后才停止采样) |
0 | R/WAC | 0 | SSEN(Single Sample Enable,单循环采样使能) 仅在自动模式(RTP_MODE > 0)下有效。
单循环完成之后,本字段就会由硬件自动清零。单循环采样的定义是指一个完整自动采样流程,流程涵盖多个采样模式,具体参考RTP_MODE定义。 |
0x020 RTP_FCR
默认值:0x00000000 | RTP FIFO 控制(RTP FIFO Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:24 | RO | 0x0 | FIFO_DCNT(FIFO Data
Count,FIFO有效数据量) 当前FIFO有效数据量,0x0~0x10为合法值。 |
23:19 | - | - | - |
18 | R/W1C | 0 | FIFO_UFS(FIFO Underflow Status,FIFO 下溢出状态) 当前 FIFO 下溢出状态,高电平有效。由硬件置位,并由软件写1清零。当本字段有效,且 FIFO_UFIE 有效,则会导致 RTP_INTR. FIFO_FLG 置位。 |
17 | R/W1C | 0 | FIFO_OFS(FIFO Overflow
Status,FIFO上溢出状态) 当前FIFO上溢出状态,高电平有效。由硬件置位,并由软件写1清零。当本字段有效,且 FIFO_OFIE 有效,则会导致 RTP_INTR. FIFO_FLG 置位。 |
16:13 | - | - | - |
12:8 | R/W | 0x0 | FIFO_DRTH(FIFO Data Ready Threshold,FIFO数据有效阈值) FIFO 数据有效的阈值,当
FIFO 的数据量达到了本阈值后,就会置位 RTP_INTR. DRDY_FLG 标志位,如果同时RTP_INTR.
DRDY_INTEN也有效,就会产生中断。
|
7:3 | - | - | - |
2 | R/W | 0 | FIFO_UFIE(FIFO Underflow Interrupt Enable,FIFO下溢出中断使能) FIFO 下溢出中断使能信号,高电平有效。 当本字段有效,且 FIFO_UFS 有效,则会导致 RTP_INTR. FIFO_FLG 置位。 |
1 | R/W | 0 | FIFO_OFIE(FIFO Overflow Interrupt Enable,FIFO上溢出中断使能) FIFO 上溢出中断使能信号,高电平有效。 当本字段有效,且 FIFO_OFS 有效,则会导致 RTP_INTR. FIFO_FLG置位。 |
0 | R/WAC | 0 | FIFO_FLUSH(FIFO Flush,FIFO清空操作) FIFO 清空操作,由软件置位硬件清零。软件置位启动FIFO清空操作,FIFO清空操作完成后,由硬件清零。 |
0x024 RTP_DATA
默认值:0x00000000 | RTP 数据(RTP Data) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
21 | RO | 0x0 | 超限标志 |
20 | RO | 0x0 | 抬起标志 |
17:16 | RO | 0x0 | CHN(Channel
Number,采样数据的对应通道号) 本字段定义了当前返回数据的对应通道号,表示当前数据(DATA)来自该通道。本字段的用途更多是Debug或者容错设计。具体对应如下:
|
11:0 | RO | 0x0 | DATA(Sample Data,采样数据)采样数据返回值。
如果SCI_FLG==1,所有采样数据滤波有效,但是不足对应采样模式所需的数据量; 如果DOUR_FLG==1,采样数据前面FIFO_DCNT-3个数据有效,倒数第三个数据为超限数据滤波后的值,倒数第二个数据为超限数据组的最大值,最后一个数据为超限数据组的最小值。 |
0x028 RTP_DELAY
默认值:0x000F0001 | RTP 延时控制(RTP Delay) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x0F | Precharge Delay 按压检测预充电延时(仅自动模式有效) 按压检测预充电延时,计数单位为
TPCLK。当本字段为0(即0x0000)时,无延时。本字段定义的延时时间范围为
|
15:0 | R/W | 0x01 | Stabilization_Delay驱动与ADC采样之间延时(仅自动模式有效) 驱动延时,计数单位为
TPCLK。当本字段为0(即0x0000)时,无延时。本字段定义的延时时间范围为
|
0xf00 RTP_ATB
默认值:0x00000000 | RTP ATB 引脚输出控制(RTP Analog Test Bin) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
5:4 | R/W | 0x0 | 输出信号选择
|
0 | R/W | 0x0 | 输出使能
|
0xf04 Debug0
默认值:0x00060000 | RTP 调试0 (RTP Debug0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R | 0x0 | rtp_drv[3:0] RTP 驱动 |
27:16 | R | 0x0 | rtp_vpsel[1:0] |
25:24 | R | 0x0 | rtp_vnsel[1:0] |
23:20 | R | 0x0 | st_cnt[3:0] |
19 | R | 0x0 | manu_fsm_start 手动模式开始 |
18 | R | 0x1 | pdetn 内部按压检测信号 1’b1:抬起 0’b1:按压 |
17 | R | 0x1 | pdetn_dbc_out 去抖输出 |
16 | R | 0x0 | rtp_pdet_en 按压检测使能 |
15:12 | R | 0x0 | rtp_mode[3:0] RTP模式 |
11:8 | - | - | - |
7 | R | 0x0 | auto_fsm_start 自动模式开始 |
6 | R | 0x0 | pdet_cat |
5:0 | R | 0x0 | st_cur[5:0] 当前状态机 |
0xf08 Debug1
默认值:0x00800000 | RTP 调试1 (RTP Debug1) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24 | R | 0x0 | fifo_full |
23 | R | 0x1 | fifo_empty |
22:18 | R | 0x0 | fifo_dlen[4:0] |
17 | - | - | - |
16 | R | 0x0 | fifo_ivld |
15:0 | R | 0x0 | fifo_idat[15:0] |
0xf0c Debug2
默认值:0x00000000 | RTP 调试2(RTP Debug2) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27:16 | R | 0x0 | max_m1[11:0] |
15:12 | - | - | - |
11:0 | R | 0x0 | max_m0[11:0] |
0xf10 Debug3
默认值:0x00000000 | RTP 调试3(RTP Debug3) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27:16 | R | 0x0 | min_m1[11:0] |
15:12 | - | - | - |
11:0 | R | 0x0 | min_m0[11:0] |
0xf14 Debug4
默认值:0x00000000 | RTP 调试4(RTP Debug4) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27:16 | R | 0x0 | rang_avg[11:0] |
15:14 | - | - | - |
13 | R | 0x0 | abso_rang_out |
12 | R | 0x0 | rela_rang_out |
11:0 | R | 0x0 | rang_diff [11:0] |
0xf18 Debug5
默认值:0x00000000 | RTP 调试5(RTP Debug5) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30:16 | R | 0x0 | flt_out_tmp[14:0] |
15 | - | - | - |
14:0 | R | 0x0 | flt_sum[14:0] |
0xFFC VERSION
默认值:0x00000100 | RTP 版本(RTP Version) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x00000100 | Version(模块版本号) 采用 BCD 码显示,V1.0 |