【启明智显技术分享】Model3C芯片电阻屏RTP配置、调试与测试指南

一、背景

本指南将详细介绍启明智显的Model3C芯片电阻屏RTP配置、调试与测试指南。无论您是电子爱好者、开发者还是工程师,这份指南都能助您快速上手并充分利用这款触摸屏的各项功能。

二、芯片介绍

Model3C是一款基于RISC-V的高性能、国产自主、工业级高清显示与智能控制MCU,广泛应用于工业自动化控制、串口屏等智慧工业和智慧家居领域。其内置的电阻触摸屏接口(RTP)提供了便捷的交互途径,简化了系统设计和硬件布局。本指南将详细介绍Model3C芯片电阻屏RTP的配置、调试与测试过程。
在这里插入图片描述

三、 RTP模块特性:

  1. 支持4线RTP,即X+、X-、Y+、Y-

  2. 支持压力感应

  3. 支持最多2点触摸

  4. 支持采样滤波,滤波参数可配置

  5. 支持触摸检测中断

  6. FIFO深度16

RTP需要依赖ADCIM模块(统一管理硬件通路和处理信号校准),其关系如图:
在这里插入图片描述
对于一次RTP的点击动作,会有4个相关的采样点:X+、X-、Y+、Y-(详见下文), 这些采样点的选择和控制方式可以有不同的组合,分为两大类采样模式:

  1. 手动模式

手动去配置硬件4个采样点的电路信号,来组合得到XN、YN、ZA、ZB等采样数据。

  1. 自动模式

自动模式意味着硬件自动配置电路,直接输出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:
在这里插入图片描述

五、调试指南

  1. 调试开关

在 ZX-RTT 中 RTP 驱动的Log控制接口共用了全局的 ulog 接口。

  1. 查看控制器状态

在 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

六、测试指南

  1. 测试环境
  • 带触屏功能的屏幕
  • 带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
  1. 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芯片产生了浓厚的兴趣,并希望亲自体验其带来的创新与便利,欢迎前往【启明智显淘宝店铺】进行选购。在店铺中,您将找到丰富的产品线、专业的客服支持以及便捷的购买流程,确保您的需求得到快速响应与满足。
在这里插入图片描述

再次感谢您对【启明智显技术分享】的关注与支持!让我们携手共进,在技术的道路上不断探索与前行,共创辉煌未来!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/39485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试篇-系统设计题总结

这里记录一些有趣的系统设计类的题目,一般大家比较喜欢出的设计类面试题目会和高可用系统相关比如秒杀和抢红包等。欢迎大家在评论中评论自己遇到的题目,本篇文章会持续更新。 1、设计一个抢红包系统 抢红包系统其实也是秒杀类中的一个场景&#xff0…

类的动态加载-双亲委派模型

java反射基础 Java 基础 - 反射机制详解 | Java 全栈知识体系 (pdai.tech) 类的动态加载 参考链接:类的动态加载 构造是和实例化也就是对象相关的。 静态代码块是在初始化的时候就调用的 Class.forName();就会调用静态代码块 forName,加载类时默认…

你们叫AI,我们叫DI

大家好,才是真的好。 最近Notes/Domino产品在做哪些更新,想必大家都很好奇。 从2022年年末到现在,快两年了,任何一个有追求的大企业或巨头,应该都在追求实现一件事情:AI人工智能。 从小道消息来看&#…

【高级篇】分区与分片:MySQL的高级数据管理技术(十三)

引言 在上一章,我们探讨了MySQL的主从复制与高可用性,这是构建健壮数据库架构的基石。现在,让我们深入到更高级的主题——分区与分片,这些技术对于处理大规模数据集和提升数据库性能至关重要。我们将详细介绍表分区的概念、类型及分片技术的应用,为下一章讨论MySQL集群与…

解决Vue3中路由页面跳转出现白屏,刷新页面之后展示正常的问题

遇到这个问题,首先需要检查根组件标签最外层是否包含了个最大的div盒子来包裹内容。如下图所示: 我的项目就是因为没有将两块内容放到一个大盒子里面,所以才会出现白屏的问题。然后我去查了相关的资料,了解到这个问题是Vue组件渲染…

TSINGSEE智能分析网关V4人员区域徘徊AI检测:算法原理介绍及技术应用场景

一、引言 在现代社会,随着科技的不断发展,视频监控系统已广泛应用于各个领域,如公共安全、商业管理、交通监控等。其中,区域徘徊检测算法作为一种重要的视频分析技术,能够有效地识别出特定区域内人员的徘徊行为&#…

Spring Cloud Alibaba - Sentinel 分布式系统流量哨兵

目录 概述特征基本概念 安装Sentinel微服务引入Sentinel案例流控规则(流量控制)流控模式-直接流控模式-关联流控模式-链路流控效果-快速失败流控效果-预热WarmUp流控效果-排队等候 流控规则(并发线程数控制)熔断规则(熔…

Django 安装 Zinnia 后出现故障

在Django中安装和配置Zinnia时遇到故障可能有多种原因,通常包括版本兼容性、依赖关系或配置问题。这里提供一些常见的解决方法和调试步骤,帮助大家解决问题。 首先,确保您安装的Zinnia版本与Django版本兼容。查看Zinnia的官方文档或GitHub页…

Linux库概念及相关编程(动态库-静态库)

Linux库概念及相关编程 分文件编程案例 分文件编程是指将程序按功能模块划分成不同的文件进行编写,这种方法有以下好处: 功能责任划分:每个文件对应一个功能模块,职责明确,易于理解和维护。方便调试:可以…

C++左值/右值/左值引用/右值引用

1)C入门级小知识,分享给将要学习或者正在学习C开发的同学。 2)内容属于原创,若转载,请说明出处。 3)提供相关问题有偿答疑和支持。 左值和右值的概念: 早期的c语言中关于左值和右值的定义&a…

每日一题——Python实现PAT乙级1026 程序运行时间(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 代码结构和逻辑 时间复杂度 空间复杂度 代码优化建议 总结 我要更强 …

交换机需要多大 buffer

有点违背直觉,但是真事儿,交换机过境的流越多,所需 buffer 越小,这是为什么? 范氏(范雅各布森,van jacobson)管道的 aimd 流建议 buffer_size 为 bdp,这很容易理解,因为 aimd 流最小…

币界网讯,预计以太坊现货 ETF 将于 7 月中旬推出

刚刚 ETF Store 总裁 Nate Geraci 在 X (前Twitter)平台上宣布,备受数字货币市场期待的SEC以太坊现货 ETF提案,将于7 月中旬通过美国证券交易委员会(SEC)批准。Nate Geraci透露修订后的 S-1 文件将于 7 月 …

pnpm的坑

请问pnpm的两个坑怎么解决: 第一个坑:没有节省磁盘空间 我已经配置了依赖的存储位置, 但我在项目里pnpm install以后,发现依赖包还是很大, 然后发现里面的链接并不是指向先前配置的依赖存储位置,而是指…

【数智化人物展】袋鼠云CEO宁海元:大模型时代,Data+AI将成为新的基础设施

宁海元 本文由袋鼠云CEO宁海元投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 身处这个瞬息万变的数字经济时代,传统的生产模式往往依赖于经验和固定的流程&…

k8s-第六节-数据持久化

数据持久化 kubernetes 集群不会为你处理数据的存储,需要为数据库挂载一个磁盘来确保数据的安全。 可以选择云存储、本地磁盘、NFS。 本地磁盘:可以挂载某个节点上的目录,但是这需要限定 pod 在这个节点上运行 云存储:不限定节…

GEE计算遥感生态指数RESI

目录 RESI湿度绿度热度干度源代码归一化函数代码解释整体的代码功能解释:导出RSEI计算结果参考文献RESI RSEI = f (Greenness,Wetness,Heat,Dryness)其遥感定义为: RSEI = f (VI,Wet,LST,SI)式中:Greenness 为绿度;Wetness 为湿度;Thermal为热度;Dryness 为干度;VI 为植被指数…

手写starter核心思路流程-全网最详细版本

全网最详细手写starter组件教程 那么在写这篇博客之前,先问一下大家为什么要写starter组件,仅仅只是为了炫技吗?还是真正的在业务中需要.在现在的开发环境下,什么是竞争力? 举例分页查询来说,每个来公司的程序员都有一套自己写分页的流程,但是这套流程基本上都是重复的,那么…

Docker学习笔记(一)概念理解

一、什么是docker容器 Docker容器是一种轻量级、可移植的软件封装技术,它允许开发者将应用程序及其依赖、配置文件、运行环境等打包到一个独立的、自包含的执行单元中。容器与虚拟机相似,都提供了隔离的运行环境,但容器更加轻量级&#xff0c…

如何清理电脑内存?让电脑运行如飞!

电脑内存(RAM)的清理对于维持系统的流畅运行至关重要。随着使用时间的增加,系统内存会被各种应用程序和后台进程占用,导致系统响应变慢,甚至出现卡顿现象。通过有效地清理内存,可以提升电脑的性能&#xff…