Edit online

RTP 配置

驱动配置

RTP 模块依赖 DE 驱动和 MPP

在 Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面,按如下选择:

Board options  --->
    [*] Using Graphics Engine (GE)
    [*] Using Video Engine (VE)

Drivers options  --->
    Peripheral  --->
        Touch Panel Support  --->
                RTP touch panel options  --->
                    [*] Using touch panel RTP
                    (15) The sample period of RTP(in cycle mode)      [AIC_RTP_PERIOD_MS]
                    (800) The pressure threshold of RTP               [AIC_RTP_MAX_PRESSURE]
                    (235) The x-plate value of RTP touchscreen        [AIC_RTP_X_PLATE]
                    (0) The Y-plate value of RTP touchscreen          [AIC_RTP_Y_PLATE]
                    (0xffffffff) The press detect enable debounce     [AIC_RTP_PDEB]
                    (0x4f00004f) The precharge delay of RTP           [AIC_RTP_DELAY]

Local packages options--->
    ArtInChip packages options--->
        [*]aic-mpp

若使用显示模块进行 RTP 校准,可参考 Display 的 menuconfig 配置

当使用 RT-Thread 内核的时候,RTP 驱动需要依赖 Thread 的 Touch 设备驱动框架,也是在 menuconfig 界面中打开:

Rt-Thread options  --->
    RT-Thread Components  --->
        Device Drivers  --->
            [*]  Using Touch device drivers
            [ ]  touch irq use pin irq
提示:
  1. 为了简化使用,Using RTP 会自动打开 RT-Thread 的 Touch 设备驱动框架。

  2. touch irq use pin irq 不要进行勾选。由于 RTP 当前采用内部控制器,并不需要单独引脚进行中断控制。

RTP 自定义参数

RTP 驱动在 menuconfig 中提供了一些扩展参数,方便客户根据板级硬件设计来进行调整。如下表: 如下表:

参数名称 类型 取值范围 功能说明
AIC_RTP_PERIOD_MS 正整数 [1, 1000] 周期采样模式下的周期值,单位:ms
AIC_RTP_MAX_PRESSURE 正整数 [1, 4095] 最大压感值,超过此值的坐标事件会被忽略
AIC_RTP_X_PLATE 正整数 > 0 需要实测屏幕 X 方向的电阻,用于计算压感值
AIC_RTP_Y_PLATE 正整数 > 0 需要实测屏幕 Y 方向的电阻,用于计算压感值
AIC_RTP_PDEB 十六进制 [0 0xffffffff] 按压去抖检测
AIC_RTP_DELAY 十六进制 [0 0xffffffff] 按压检测预充电延时
  1. AIC_RTP_MAX_PRESSURE: 若希望降低屏幕灵敏度需设小该数值,反之则增大。压感值越大映射为压力越小。当触点压力小于该参数所对应的压力时,该点即会被过滤掉,从而起到降低灵敏度作用

  2. AIC_RTP_PDEB: 若无法获取 UP 事件需调小该参数。该参数也不能过小,会导致由于按压去抖时长设置过短导致按压上报过于频繁,无法及时处理 UP 事件。

  3. AIC_RTP_DELAY: 该参数用于设置屏幕电容的充电时长。当屏幕越大时,电容充电时长应适当调大。

不同的参数组合,可以让 RTP 工作在不同的采样模式,对应关系如下:

模式 子模式 采样点 需要用户配置的参数 备注

自动

模式

Auto1 非周期 XN, YN -
Auto1 周期 AIC_RTP_PERIOD_MS -
Auto2 非周期 XN, YN, ZA, ZB AIC_RTP_X_PLATE -
Auto2 周期 AIC_RTP_X_PLATE, AIC_RTP_PERIOD_MS 缺省模式
  1. 受限于 RTOS 的任务管理手段,目前只支持 Auto2 周期 模式

  2. 对于 Auto2 模式,如果用户配置了 PLATE,ZB 数据将驱动被忽略,压感计算 时采样公式 2

  3. 为了简化描述,下文中会将 PLATE、AIC_RTP_Y_PLATE 分别简称为 PLATE、Y_PLATE

触摸屏的电阻实测方法

../../images/touchscreen_R_method1.png
1. D211 芯片测量触摸屏电阻值方法
  1. 原理图中触摸屏的四个引脚为 PA11(YN)、PA10(XN)、PA09(YP)、PA08(XP)。

  2. 测量过程中需根据电路原理图中 rtp 的引脚顺序,确定 XN、XP、YN、YP 在屏幕的位置。

几款 RTP 屏幕的参数

这里记录测试过的几款屏幕参数,主要是 X、Y 方向的电阻值,对应 DTS 中的 plate、y-plate:

屏型号 分辨率 板子类型 x-plate y-plate
LCD 屏 800x480 per1 235 902
LVDS 屏 1024x600 per1 702 236