Edit online

工作模式描述

RTP 模块规定了多个工作模式,主要可分为两类:
  • 手动工作模式:各采样模式完全由软件对寄存器进行控制而构造出来的,不限于 采样模式描述 中定义的八种采样模式。不同采样模式的先后顺序都是由软件进行控制,这样可以获得最大的灵活度,以面对未来应用的不确定性。

  • 自动工作模式:模块按照预先定义的八种采样模式之一以及预定的顺序进行采样。让软件驱动控制得到最大程度的简化,可以做到一键完成所需的所有采样工作,软件只需要使用获得的采样值进行坐标运算即可。根据不同应用需要,自动模式分了四种情况,详细参考寄存器描述

自动模式采样数据滤波

自动工作模式下,采样数据滤波包括三个步骤:
  1. 排序:把单点多次采样结果进行排序,找出最大和最小的值;

  2. 超限判断,用最大值-最小值,然后进行相对值和绝对值分别比较,如果同时超过两个数值,则整组采样数据判为无效,否则就认为数据有效;

  3. 算数平均:把最大值/最小值排除之后,对中间值进行算数平均,得到的结果作为单点采样的最终结果存入 FIFO。

滤波配置有:
  • 无滤波。
  • 2/4:单点采样连续采样 4 次,获得同一个点的连续的 4 个 ADC 样本数据,然后去掉最大和最小,再对剩下的数据进行算数平均。
  • 4/6:单点采样连续采样 6 次,获得同一个点的连续的 6 个 ADC 样本数据,然后去掉最大和最小,再对剩下的数据进行算数平均。
  • 4/8:单点采样连续采样 8 次,获得同一个点的连续的 8 个 ADC 样本数据,然后去掉最大 2 个和最小 2 个,再对剩下的数据进行算数平均。
假设采样模式为 XP,滤波配置为 4/6,XYRUR=1/64,XYAUR=16,则对 X+进行连续采样,得到 6 个数值,分别为 A,B,C,D,E,F,并且 A<B<C<D<E<F。
  1. 排序:最小值 A,最大值 F。
  2. 超限判断:如果 ((F-A) > XYAUR) || ((F-A) > ((F+A)/2* XYRUR)) == 1,则保留采样所得的数据,停止自动采样。数据超限与抬起都会导致 RTP 进入 Error 状态停止自动采样(周期性或单循环采样下)无需等待本自动采样完成,需要等待正在执行的单点采样完成,需软件清除采样不完整与数据超限标志。
  3. 算术平均:DATA = (B+C+D+E)/4。
注: 超限判断与算术平均同时进行。

自动模式下的采样循环描述

自动模式单循环采样说明:

../images/131.png

自动模式周期循环采样说明:

../images/141.png

自动模式下的单点采样描述

自动模式下单点采样步骤如下:
  1. 检查按压检测信号:确保 DRV[3:0]=4’h1,并且 PDETEN 有效,检查经过去抖前的按压检测信号(PDETi)。如果按压有效,则进入步骤 2 ,否则置位 FLG(采样循环不完整标志),并进入步骤 N
  2. 驱动 RTP 电路:根据采样模式,分别配置 DRV/VPSEL/VNSEL 驱动电路,同时 PDETEN 无效,进入步骤 3
  3. 发送 ADC 采样命令:根据滤波配置,连续向 ADC 发出多个采样命令,采样优先级 PRI=1,收到对应数量的采样数据后,进入步骤 4
  4. 采样数据滤波:按照前面描述的方式,对采样数据进行滤波,如果滤波完成则进入步骤 5,否则置位 FLG(数据超限标志),并进入步骤 N
  5. 完成采样:设置 DRV=1,并且 PDETEN 有效,并完成采样。
  6. 步骤 N,等待软件干预:进入 Error 状态,直到(SCI_FLG || DOUR_FLG)==0,重新进行下一次采样循环。