7.9.2. 参数配置¶
7.9.2.1. 驱动配置¶
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 驱动需要依赖RT-Thread的 Touch 设备驱动框架,也是在menuconfig界面中打开:
Rt-Thread options  --->
    RT-Thread Components  --->
        Device Drivers  --->
            [*]  Using Touch device drivers
            [ ]  touch irq use pin irq
小技巧
- 为了简化使用, - Using RTP会自动打开 RT-Thread 的 Touch设备驱动框架。
- touch irq use pin irq不要进行勾选。由于RTP当前采用内部控制器,并不需要单独引脚进行中断控制。
7.9.2.2. 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] | 按压检测预充电延时 | 
小技巧
- AIC_RTP_MAX_PRESSURE: 若希望降低屏幕灵敏度需设小该数值,反之则增大。压感值越大映射为压力越小。当触点压力小于该参数所对应的压力时,该点即会被过滤掉,从而起到降低灵敏度作用 
- AIC_RTP_PDEB: 若无法获取UP事件需调小该参数。该参数也不能过小,会导致由于按压去抖时长设置过短导致按压上报过于频繁,无法及时处理UP事件。 
- 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 | 缺省模式 | 
注解
- 受限于RTOS的任务管理手段,目前只支持 Auto2周期 模式 
- 对于Auto2模式,如果用户配置了AIC_RTP_Y_PLATE,ZB数据将驱动被忽略,压感计算 时采样公式2 
- 为了简化描述,下文中会将AIC_RTP_X_PLATE、AIC_RTP_Y_PLATE分别简称为X_PLATE、Y_PLATE 
7.9.2.3. 触摸屏的电阻实测方法¶
 
图 7.65 测量触摸屏电阻值的方法¶
小技巧
- 原理图中触摸屏的四个引脚为PA11(YN)、PA10(XN)、PA09(YP)、PA08(XP)。 
- 测量过程中需根据电路原理图中RTP的引脚顺序,确定XN、XP、YN、YP在屏幕的位置。 
7.9.2.4. 几款RTP屏幕的参数¶
这里记录测试过的几款屏幕参数,主要是X、Y方向的电阻值,对应参数中的X_PLATE、Y_PLATE:
| 屏型号 | 分辨率 | 板子类型 | X_PLATE | Y_PLATE | 备注 | 
|---|---|---|---|---|---|
| LCD屏 | 800x480 | per1 | 235 | 902 | |
| LVDS屏 | 1024x600 | per1 | 702 | 236 |