一、背景
本指南将详细介绍启明智显的Model3C芯片电阻屏RTP配置、调试与测试指南。无论您是电子爱好者、开发者还是工程师,这份指南都能助您快速上手并充分利用这款触摸屏的各项功能。
二、芯片介绍
Model3C是一款基于RISC-V的高性能、国产自主、工业级高清显示与智能控制MCU,广泛应用于工业自动化控制、串口屏等智慧工业和智慧家居领域。其内置的电阻触摸屏接口(RTP)提供了便捷的交互途径,简化了系统设计和硬件布局。本指南将详细介绍Model3C芯片电阻屏RTP的配置、调试与测试过程。
三、 RTP模块特性:
-
支持4线RTP,即X+、X-、Y+、Y-
-
支持压力感应
-
支持最多2点触摸
-
支持采样滤波,滤波参数可配置
-
支持触摸检测中断
-
FIFO深度16
RTP需要依赖ADCIM模块(统一管理硬件通路和处理信号校准),其关系如图:
对于一次RTP的点击动作,会有4个相关的采样点:X+、X-、Y+、Y-(详见下文), 这些采样点的选择和控制方式可以有不同的组合,分为两大类采样模式:
- 手动模式
手动去配置硬件4个采样点的电路信号,来组合得到XN、YN、ZA、ZB等采样数据。
- 自动模式
自动模式意味着硬件自动配置电路,直接输出XN、YN、ZA、ZB等采样结果。 在自动模式中,根据采样数据是否连续进行又分为:
Period sample:周期采样,硬件会按照配置的周期自动采集和上报数据
Single sample:为避免和“单个采样点”混淆,称作 非周期采样,由软件触发完成一次采样
四、 RTP参数配置
1. 驱动配置
RTP模块依赖DE驱动和MPP
在 ZX-RTT 根目录下执行 scons --menuconfig,进入menuconfig的功能配置界面,按如下选择:
Board options --->[*] Using Graphics Engine (GE)Graphics Engine Parameter --->[*] Using Video Engine (VE)Drivers options --->Peripheral --->Touch Panel Support --->RTP touch panel options --->[*] Using touch panel RTP(18) The sample period of RTP(in cycle mode)(800) The pressure threshold of RTP(235) The x-plate value of RTP touchscreen(665) The Y-plate value of RTP touchscreen(0x4f00004f) The precharge delay of RTPLocal packages options--->ZX 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当前采用内部控制器,并不需要单独引脚进行中断控制。**
2.RTP 自定义参数
RTP驱动在menuconfig中提供了一些扩展参数,方便客户根据板级硬件设计来进行调整。如下表: 如下表:
不同的参数组合,可以让RTP工作在不同的采样模式,对应关系如下:
备注
受限于RTOS的任务管理手段,目前只支持 Auto2周期 模式
对于Auto2模式,如果用户配置了AIC_RTP_Y_PLATE,ZB数据将驱动被忽略,压感计算 时采样公式2
为了简化描述,下文中会将AIC_RTP_X_PLATE、AIC_RTP_Y_PLATE分别简称为X_PLATE、Y_PLATE
3.触摸屏的电阻实测方法
小技巧
原理图中触摸屏的四个引脚为PA11(YN)、PA10(XN)、PA09(YP)、PA08(XP)。
测量过程中需根据电路原理图中RTP的引脚顺序,确定XN、XP、YN、YP在屏幕的位置。
4.几款RTP屏幕的参数
这里记录测试过的几款屏幕参数,主要是X、Y方向的电阻值,对应参数中的X_PLATE、Y_PLATE:
五、调试指南
- 调试开关
在 ZX-RTT 中 RTP 驱动的Log控制接口共用了全局的 ulog 接口。
- 查看控制器状态
在 RTP 驱动初始化成功后,会在shell命令行中注册生成一个 rtp_status 命令,其中打印了当前的配置及状态信息:
aic /> rtp_status
In RTP controller V1.00:
Mode hw 2/ sw 2, RTP enale 1, Press detect enable 1
Pressure enable 1, max 800, x-plate 235, y-plate 0
Sample period: 15 ms, Fuzz: 0
六、测试指南
- 测试环境
- 带触屏功能的屏幕
- 带RTP接口的开发板
- USB Type-C数据线,用于给开发板供电、烧写
- USB 转串口的线,用于连接开发板的调试串口
- 手写笔,可以更方便精准的点击RTP
2.软件
-
PC端的串口终端软件,用于PC和开发板进行串口通信
-
test_rtp_draw测试程序
3.软件配置
- test_rtp_draw 配置
- 在 ZX-RTT 根目录下执行 scons --menuconfig,进入menuconfig的功能配置界面,按如下选择:
Drivers options --->Drivers examples --->[*] Enable RTP driver test command
4.test_rtp_draw 测试
在打开test_rtp_draw的编译后,板子上可直接运行test_rtp_draw命令:
aic /> test_rtp_draw -h
Usage: test_rtp_draw [options]:-c, --calibrate Platform the screen calibration-p, --points Set the points for drawing, defalut is 1000-d, --draw Draw the shape-h, --helpExample: test_rtp_draw -c
- RTP校准测试
RTP校准测试可以使用shell命令 test_rtp_draw -c
aic /> test_rtp_draw -c
Top left : X = 50 Y = 50
Calibration: X = 958, Y = 90
Top right : X = 974 Y = 50
Calibration: X = 69, Y = 86
Bot right : X = 974 Y = 550
Calibration: X = 61, Y = 526
Bot left : X = 50 Y = 550
Calibration: X = 876, Y = 535
Center : X = 512 Y = 300
Calibration: X = 522, Y = 303
6.RTP画点测试
RTP画点测试可以使用shell命令 test_rtp_draw -d
aic /> test_rtp_draw -d
0: X 552/2146, Y 496/796, Press 201
1: X 551/2140, Y 494/802, Press 207
2: X 551/2142, Y 496/797, Press 242
七、结尾
经过对Model3C芯片电阻屏RTP配置、调试与测试指南实操探索,您已对该芯片调试RTP电阻屏有了全面的认识和初步的操作能力。为了进一步加深您的技术掌握,我们即将推出一系列技术实操指导章节,涵盖CAN、RS485、串口、PWM等接口外设应用等关键内容。
在接下来的技术实操指导章节中,您将深入学习并实践关于Model3C芯片及其相关接口外设的广泛应用,这些内容将极大地扩展您对嵌入式系统、微控制器编程及硬件接口技术的理解和操作能力。以下是您即将学习的一些关键内容概览:
- CAN总线接口应用
- RS485接口应用
- 串口(UART/USART)通信
- 串口调试工具使用
- PWM(脉冲宽度调制)控制
通过这一系列技术实操指导章节的学习,您将能够全面掌握Model3C芯片及其接口外设的应用技术,为未来的嵌入式系统开发打下坚实的基础。
我们诚挚地邀请您继续关注我们的内容更新,与我们一起深入探索Model3C芯片的无限可能。期待您的持续关注与参与!
同时,如果您对Model3C芯片产生了浓厚的兴趣,并希望亲自体验其带来的创新与便利,欢迎前往【启明智显淘宝店铺】进行选购。在店铺中,您将找到丰富的产品线、专业的客服支持以及便捷的购买流程,确保您的需求得到快速响应与满足。
再次感谢您对【启明智显技术分享】的关注与支持!让我们携手共进,在技术的道路上不断探索与前行,共创辉煌未来!