7.9.2. 参数配置

7.9.2.1. 内核配置

参考快速入门 - 编译概述 - Kernel配置,进入kernel的功能配置,按如下选择:

Linux
    Device Drivers
        Input device support
            [*] Touchscreens
                <*> ZX resistive touchscreen controller support
Linux
    Device Drivers
        Input device support
            <*> Event interface

备注

用户态需要获取Input事件,对此,内核需配置event接口,即Event interface需进行打开。

7.9.2.2. DTS参数配置

7.9.2.2.1. RTP自定义参数

RTP驱动支持从DTS中配置的完整参数,如下表:

参数名称

类型

取值范围

功能说明

aic,max-pressure

正整数

[1, 4095]

最大压感值,超过此值的坐标事件会被忽略

aic,x-plate

正整数

> 0

需要实测屏幕X方向的电阻,用于计算压感值

aic,y-plate

正整数

> 0

需要实测屏幕Y方向的电阻,用于计算压感值

aic,two-points

boolean

有 - 1,无 - 0

是否打开两点采样

aic,manual-mode

boolean

有 - 1,无 - 0

是否采用手动模式

aic,sample-period-ms

正整数

[1, 1000]

周期采样模式下的周期值,单位:ms

aic,fuzz

正整数

[1, 32]

对坐标变化模糊处理的半径值

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

模式

子模式

采样点

需要用户配置的DTS参数

备注

手动

模式

无压感

XN, YN

manual-mode

有压感

XN, YN, ZA

manual-mode, x-plate, y-plate

XN, YN, ZA, ZB

manual-mode, x-plate

自动

模式

Auto1非周期

XN, YN

Auto1周期

sample-period-ms

Auto2非周期

XN, YN, ZA, ZB

x-plate

缺省模式

Auto2周期

x-plate, sample-period-ms

Auto3非周期

XN, XP, YN, YP

ZA, ZB

x-plate, y-plate, two-points

Auto3周期

x-plate, y-plate, two-points,

sample-period-ms

Auto4非周期

XN, XP, YN, YP

ZA, ZB, ZC, ZD

x-plate, two-points

Auto4周期

x-plate,two-points,sample-period-ms

上表中“DTS参数”按照规范每个参数名称签名都有个“aic,”前缀,为了简洁表格中有省略。

备注

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

  2. 基于实测数据,Auto2非周期模式 在性能上表现都比较平衡,所以DTS中会作为缺省配置。

7.9.2.2.2. M4的配置

common/m4.dtsi中的参数配置:

rtp: rtp@19252000 {
    compatible = "zx,aic-rtp-v1.0";
    reg = <0x0 0x19252000 0x0 0x1000>;
    interrupts-extended = <&plic0 93 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cmu CLK_RTP>, <&cmu CLK_APB1>;
    clock-names = "rtp", "pclk";
    resets = <&rst RESET_RTP>;
};

xxx-board.dts中的参数配置:

&rtp {
    aic,max-pressure = <800>;
    aic,x-plate = <235>;
    pinctrl-names = "default";
    pinctrl-0 = <&rtp_pins>;
    status = "okay";
};

小技巧

  1. 这里的配置选用了Auto2的Single Piont模式,所以只用到RTP驱动的部分参数。

  2. x-plate和y-plate两个参数是要根据触摸屏的电阻实测值来定。

7.9.2.3. 触摸屏的电阻实测方法

../../../_images/touchscreen_R_method.png

图 7.43 M4芯片测量触摸屏电阻值方法

小技巧

  1. 原理图中触摸屏的四个引脚为PA11(YN)、PA10(XN)、PA09(YP)、PA08(XP)。

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

7.9.2.4. 几款RTP屏幕的参数

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

屏型号

分辨率

板子类型

x-plate

y-plate

备注

LCD屏

800x480

per1

235

902

LVDS屏

1024x600

per1

702

236