0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

雅特力AT32 MCU实现SPI驱动触摸屏应用程序的一般方法

雅特力 AT32 MCU 2024-01-19 08:14 次阅读

对于四线电阻式触摸屏的结构如下图1,在玻璃或丙烯酸基板上覆盖有两层透平,均匀导电的ITO层,分别做为X电极和Y电极,它们之间由均匀排列的透明格点分开绝缘。其中下层的ITO与玻璃基板附着,上层的ITO附着在PET薄膜上。X电极和Y电极的正负端由“导电条”(图中黑色条形部分)分别从两端引出,且X电极和Y电极导电条的位置相互垂直。引出端X-,X+,Y-,Y+一共四条线,这就是四线电阻式触摸屏名称的由来。当有物体接触触摸屏表面并施以一定的压力时,上层的ITO导电层发生形变与下层ITO发生接触,该结构可以等效为相应的电路,如下图2。图1. 触摸屏结构图b634938a-b65f-11ee-aa22-92fbcf53809c.png

图2. 触摸屏等效电路

b641aba6-b65f-11ee-aa22-92fbcf53809c.png

计算触点的X,Y坐标分为如下两步:1) 计算Y坐标,在Y+电极施加驱动电压Vdrive,Y-电极接地,X+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。2) 计算X坐标,在X+电极施加驱动电压Vdrive,X-电极接地,Y+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。

测得的电压通常由ADC转化为数字信号,再进行简单处理就可以做为坐标判断触点的实际位置。四线电阻式触摸屏除了可以得到触点的X/Y坐标,还可以测得触点的压力,这是因为top layer施压后,上下层ITO发生接触,在触点上实际是有电阻存在的。压力越大,接触越充分,电阻就越小,通过测量这个电阻的大小可以量化压力大小。

通常在触摸屏应用中对于触摸屏控制有专门的控制芯片,主要就是为了完成两个任务:其一,完成电极电压的切换;其二,采集接触点处的电压值(ADC数据)。本案例中触摸屏使用的触摸感应驱动芯片为XPT2046,显示器驱动芯片为ILI9341,下面将分别做介绍。

触摸感应器

触摸感应器使用的驱动芯片为XPT2046,其包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有一个2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。XPT2046可以单电源供电,电源电压范围为2.7V~5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V~VCC范围内的参考电压(要求外部参考电压源输出阻抗低)。X、Y、Z、VBAT、Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC,ADC可以配置为单端或差分模式。选择VBAT、Temp和AUX时可以配置为单端模式;作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。图3. XPT2046原理框图b65b6262-b65f-11ee-aa22-92fbcf53809c.png

LCD显示器

LCD显示器为一块240*320的RGB屏幕,使用驱动芯片为ILI9341。ILI9341能够支持并行和串行数据总线,此案例中我们使用串行总线接口(SPI)来进行数据传输。ILI9341驱动器能够通过窗口地址函数在内部GRAM中指定动态图像的区域,并且可选择地更新此窗口区域,这样就可以在独立于静态图像区域的同时显示动态图像。ILI9341支持全彩色,8色显示模式和休眠模式,能够通过软件进行精确的电源控制,使得ILI9341能够作为手机、MP3和PMP等便携设备理想的液晶驱动器。

触摸屏工作原理

下面将对XPT2046驱动芯片的工作原理进行介绍。

模拟输入

下图描述了XPT2046片内多路选择器、ADC的模拟差分输入和差分参考电压基准。图4. 模拟输入简图b66c7cd2-b65f-11ee-aa22-92fbcf53809c.png

内部参考电压

XPT2046的内部2.5V参考电压源可通过控制位PD1进行关闭或者打开。一般地,内部参考电压只用于单端模式下Vbatt、Temp和AUX输入测量。使用差分模式,触摸屏可以获得最佳性能。如果要与ADS7843兼容,XPT2046的内部参考电压源必须强行关闭。因此,上电后要对控制位PD1置0以确保关闭内部参考源。图5. 内部电压源示意图b6822b54-b65f-11ee-aa22-92fbcf53809c.png

外部参考电压输入

+REF和-REF(见图3)之间的电压差(下文用VREF表示)决定了模拟输入的电压范围。XPT2046的参考电压输入范围为1V~VCC。参考电压越低,则ADC输出的二进制数据结果每一个数字位所代表的模拟电压也越低。在12位工作方式下,数据结果的最低位所代表的模拟电压为VREF/4096,其余位依此类推。因此,参考电压越低,干扰引入的误差会越大,此时要求尽可能使用低噪声、低波动的参考电压源;在设计电路板时,尽可能减少干扰,输入的信号噪音也不能太高,否则会直接影响转换精度。

差分工作模式

如前所述,当触摸感应器XPT2046作为触摸屏应用时,可以配置为差分模式。差分模式的优点是:+REF和-REF的输入分别直接接到YP、YN上,可消除由于驱动开关的导通电阻引入的坐标测量误差。缺点是:无论是采样还是转换过程中,驱动开关都需要接通,相对单端模式而言,功耗会有增加。当SER/DFR置为低电平时,XPT2046为差分工作模式,如下图所示。图6. 差分参考源工作模式简图b6926cc6-b65f-11ee-aa22-92fbcf53809c.png

软件流程

接下来将简单介绍本案例的触摸屏驱动软件代码流程。首先上电之后需要对所用到的外设进行初始化,包括CRM、GPIO、SPI和DMA等外设。外设初始化完成后即可开始进行触摸校准,通过调用touch_adjust()函数完成。校准完成后会在屏幕显示一系列的校准参数,用于后续计算触摸坐标使用。随后,即可开始进行触摸测试,测试过程中会在屏幕画出已触摸的坐标点,以及坐标值。还设置了清屏按钮,点击即可清除屏幕已显示内容和坐标值。为了提高数据传输效率,此demo中清屏和画点数据通过DMA-SPI进行传输,软件流程图如下:图7. 软件流程图b6a0bb28-b65f-11ee-aa22-92fbcf53809c.png注:由于触摸校准对触摸功能来说是必须完成的,如果未完成校准则无法进行后续的工作。

触摸屏快速使用方法

硬件资源

1) AT32-Video-EV2) 2.4寸TFT_LCD3) AT-START-F403A V1.2实验板图8. 触摸屏硬件资源图b6ad0784-b65f-11ee-aa22-92fbcf53809c.pngNote:1.该demo是基于AT32F403A的硬件条件,若使用者需要在AT32其他型号上使用,请修改相应配置即可。2.供电部分:使用电源供电,或USB线供电(勿使用Link单独供电)。

软件资源

AN0154_LCD_Touch_Sourcecode,触摸屏案例测试代码,工程路径位于:Sourcecode\utilities\mdk_v5

关键代码

1) 触摸点坐标获取函数,用于获取触摸坐标值,关键代码如下:b6ce2e3c-b65f-11ee-aa22-92fbcf53809c.png2) 触摸校准函数,用于获取校准参数,关键代码如下:b6e735da-b65f-11ee-aa22-92fbcf53809c.png3) 触摸屏测试函数,用于测试触摸屏,关键代码如下:b704fb2e-b65f-11ee-aa22-92fbcf53809c.png4) LCD清屏函数,用于清除显示内容,关键代码如下:b7181ea2-b65f-11ee-aa22-92fbcf53809c.png5) LCD画点函数,用于显示触摸坐标点,关键代码如下:b723f966-b65f-11ee-aa22-92fbcf53809c.png

LCD Touch demo 使用

LCD Touch demo使用步骤如下:1) 编译下载触摸屏案例测试代码。2) 触摸屏进入校准界面,依次点击四个校准坐标点,如下图8。3) 校准完成后LCD会显示校准信息,包含四个校准参数VX、VY、CHX和CHY,如下图9。4) 点击屏幕任意处,将会跳转到触摸屏测试界面,此时触摸屏会将触摸点绘制在LCD上,还会实时显示触摸点的坐标,点击Clear按钮将清除界面,如下图10。图9. 触摸屏校准界面b732a54c-b65f-11ee-aa22-92fbcf53809c.png图10. 触摸屏校准信息b7460628-b65f-11ee-aa22-92fbcf53809c.png图11. 触摸屏测试界面b75ab12c-b65f-11ee-aa22-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17143

    浏览量

    351138
  • 触摸屏
    +关注

    关注

    42

    文章

    2304

    浏览量

    116173
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91560
  • 雅特力
    +关注

    关注

    0

    文章

    158

    浏览量

    8012
收藏 人收藏

    评论

    相关推荐

    发布高性能电机控制专用MCU

    近日,科技正式推出了其首款高性能电机控制专用MCU——AT32M412/M416。这款MCU专为出行工具、家电及工业控制等应用而设计,
    的头像 发表于 11-01 18:11 894次阅读

    开发触摸屏驱动板需要考虑哪些因素

    驱动板是现代电子设备中不可或缺的部分,它负责将用户的触摸操作转化为设备可以理解的信号。触摸屏驱动
    的头像 发表于 10-29 14:05 415次阅读

    TSC2101触摸屏、电池和音频WinCE驱动程序

    电子发烧友网站提供《TSC2101触摸屏、电池和音频WinCE驱动程序.pdf》资料免费下载
    发表于 10-23 10:13 0次下载
    TSC2101<b class='flag-5'>触摸屏</b>、电池和音频WinCE<b class='flag-5'>驱动程序</b>

    触摸屏驱动板无法烧写程序的相关原因

    每次听到别人说是什么原因导致触摸屏驱动板无法烧写程序,就很想去讨论下。今天就跟大家聊聊到底是什么原因导致的。
    的头像 发表于 10-21 11:19 232次阅读

    AT32讲堂088 | AT32F402/F405时钟配置

    介绍如何结合提供的V2.x.x的板级支持包(BSP)来配置时钟。以下介绍时钟配置的方法主要分两种:1、以手动编写代码调用BSP中提供的驱动
    的头像 发表于 09-15 08:08 493次阅读
    <b class='flag-5'>AT32</b>讲堂088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F402/F405时钟配置

    聚徽-工业体机触摸屏怎么校准

    工业体机触摸屏的校准过程对于确保触摸屏的准确度和精密度至关重要。以下是一般的校准步骤,但请注意,具体的校准过程可能会因触摸屏型号和制造商的
    的头像 发表于 09-06 09:40 417次阅读

    AT32 MCU的随机数生成

    应用的需求。底下提供两种方法:提高乱度的方法,使用ADC的误差。AT32的微控制器内置最多三个高级12位片上SAR模拟数字转换器(ADC)并提供自校准功能,保证1
    的头像 发表于 08-30 12:26 564次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的随机数生成

    AT32讲堂085 | AT32 MCU HICK时钟校准

    简介AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),其本质就是内置于芯片的RC振荡器。在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟
    的头像 发表于 08-30 12:26 624次阅读
    <b class='flag-5'>AT32</b>讲堂085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK时钟校准

    触摸屏和plc的程序怎么编写

    编写触摸屏和PLC程序个复杂的过程,涉及到多个方面的知识。 触摸屏和PLC概述 触摸屏
    的头像 发表于 07-01 14:46 2474次阅读

    AT32 MCU通过IEC 60730功能安全认证,为家电产品提供安全保障

    ‍‍近日,AT32MCU安全库顺利通过IEC60730功能安全认证,为家电产品提供安全质量保证。国际公认的测试、检验和认证机构SGS为
    的头像 发表于 05-20 08:15 565次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>通过IEC 60730功能安全认证,为家电产品提供安全保障

    AT32F423入门使用指南

    初步环境准备开发环境下载地址:
    的头像 发表于 05-14 08:15 1540次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423入门使用指南

    AT32 MCU与SEGGER携手合作,开发量产事半功倍

    近日,与SEGGER共同宣布J-Link仿真调试器与Flasher在线烧录器全面支持AT32 MCU产品,SEGGER工具链的加持使
    的头像 发表于 02-23 10:27 417次阅读

    AT32 MCU与SEGGER携手合作,开发量产事半功倍

    近日,与SEGGER共同宣布J-Link仿真调试器与Flasher在线烧录器全面支持AT32MCU产品,SEGGER工具链的加持使AT32MC
    的头像 发表于 02-22 08:13 481次阅读
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>与SEGGER携手合作,开发量产事半功倍

    手机触摸屏失灵的原因及解决方法 手机触摸屏失灵怎么关机

    手机触摸屏失灵的原因及解决方法、原因: 软件问题:当手机运行过程中出现些错误或者存储空间不足时,可能会导致触摸屏失灵。此时,重启或者
    的头像 发表于 01-24 17:48 2.1w次阅读

    电容触摸屏原理 电容触摸屏和电阻触摸屏有什么区别

    电容触摸屏和电阻触摸屏是两种常见的触摸屏技术,它们在原理、结构和应用方面都有很大的区别。下面将详细介绍电容触摸屏的原理、结构和特点,并与电阻触摸屏
    的头像 发表于 01-22 16:13 4578次阅读