Edit online

工作模式描述

15 Aug 2024
Read time: 1 minute(s)
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 状态并停止自动采样(仅rtp-register-d12x.html#concept_t5v_zl3_pzb__table_ezb_2dc_bzbMODE>0 有效),无需等待自动采样完成,但需要等待正在执行的单点采样完成,需软件清除采样不完整与数据超限标志。

  3. 算术平均:DATA = (B + C + D + E) ÷ 4。
注: 超限判断与算术平均同时进行。

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

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


自动模式单循环采样

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


自动模式周期循环采样

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

自动模式下单点采样步骤如下:
  1. 检查按压检测信号。

    确保 DRV[3:0]=4’h1,并且 PDETEN 有效,检查经过去抖前的按压检测信号(PDETi)。

    如果按压有效,则进入步骤 2 ,否则置位 FLG(采样循环不完整标志),并进入步骤 6

  2. 配置驱动 RTP 电路。

    根据采样模式,分别配置 DRV/ VPSEL/ VNSEL 驱动电路,同时 PDETEN 无效,进入步骤 3

  3. 发送 ADC 采样命令。

    根据滤波配置,连续向 ADC 发出多个采样命令,采样优先级 PRI = 1,收到对应数量的采样数据后,进入步骤 4

  4. 采样数据滤波。

    按照前面描述的方式,对采样数据进行滤波,如果滤波完成则进入步骤 5,否则置位 FLG(数据超限标志),并进入步骤 6

  5. 完成采样。

    数据写入 FIFO。

  6. 等待软件干预。

    进入 Error 状态,直到(SCI_FLG & DOUR_FLG)= 0,重新进行下一次采样循环。