基于STM32的RA8806控制器LCD设计

分享到:

 引言

在现代电子设备中,触摸屏的应用使电子设备更智能化、人性化。在手机、导航仪、电子仪器、咨询终端等设备中,作为信息交流的媒介,触摸屏具有界面编程灵活、反应速度快、功耗低、体积小的特点。
RA8806是一个文字与绘图模式相结合的点矩阵液晶显示控制器,最大能驱动640×240或320×480分辨率的LCD液晶触摸屏,可以显示文字、图片、符号等复杂信息,支持文字、图片混合显示和区域卷动,支持90°,180°,270°的文字旋转显示,支持4/8 b的8080和6800系列两种MPU接口,提供4×8或8×8的键盘扫描接口,提供使用者自行创建字型及符号的功能,可以进行文字对齐、设置粗体字、设置行间距和LCD对比度、背光调节。
STM32系列嵌入式芯片是常用的微控制器芯片,本文使用的是内核为32位CotrexTM-M3的STM32F103,并行LCD接口兼容8080/6800模式,通过配置FSMC来连接LCD。在实验中还把UCGUI软件移植入STM32F103中,UCGUI是一种嵌入式系统中常用的图形支持软件,适用于各种尺寸的LCD,将UCGUI软件移植入微控制器可以方便的绘制图形、文字、控件等人机交互界面元素。

1 RA8806数据总线接口方式

常见的RA8806是用I/O或总线方式与单片机或嵌入式系统连接,本文采用的是320×240分辨率的RA8806控制器触摸屏以总线方式与STM32F103连接,连接的电路如图1所示。

在设计中将BUSY引脚9空置,复位引脚11接高电平,可以通过STM32F130复位完成整个电路复位。RA8806和STM32F103都是采用了Intel 8080模式连接,数据总线宽度为8 b。

2 软件设计

2.1 软件初始化

系统软件初始化包括STM32F103初始化、UCGUI初始化和RA8806控制器初始化,在STM32F103初始化中FSMC的配置为:

在RA8806控制器中,触摸屏有自动模式和手动模式两种,自动模式和手动模式中,都可以通过触碰产生中断读取触碰坐标值,手动模式还可以通过轮询触碰事件读取坐标,在实验中采用的是手动模式中的轮询方式,这种方式的流程图如图2所示。在初始化RA8806时,寄存器TPCR1,TPCR2,INTR须按流程图设置,DWWR=AWRR=0x27,DWHR=AWBR=0xEF,其他寄存器默认设置。


2.2 触摸屏坐标

触摸屏的坐标分为逻辑坐标和物理坐标,逻辑坐标为用户触摸是手指所点击屏幕的坐标,物理坐标为触摸屏显示的实际坐标,逻辑坐标和物理坐标比较接近,如果相差太多就需要校准。

RA8806是通过一个10位的A/D转换器连接4线电阻式触摸屏,用户触摸后产生的逻辑坐标存于TPXR,TPYR和TPZR 3个寄存器中,TPXR中存放了x轴坐标的高8位,TPYR中存放了y轴坐标的高8位,TPZR的bit[1:0]是x轴的低二位,bit[3:2]是y轴的低二位。

为了便于处理逻辑坐标,将TPXR和TPYR寄存器的数据左移2位进行计算,再分别取出TPZR寄存器中的低二位进行或运算,得出x,y轴的坐标。这个逻辑坐标不能直接显示,需要进行校准处理后根据触摸屏的大小转换为物理坐标显示,设计程序如下:

如果用户触摸的范围超出了设定的显示窗口,就需要对逻辑坐标(x,y)进行判断,如果超出了范围,逻辑坐标无效,就将鼠标设置到对应的边缘,反之逻辑坐标有效。

2.3 触摸屏校准

由于触摸屏自身的性能不好,或使用一段时间后会发现逻辑坐标和物理坐标的偏差越来越大,坐标不准造成误操作影响用户使用,这样就要通过校准程序来减少误差。电阻式触摸屏的电压成线性均匀分布,假设触摸屏上一点的逻辑坐标为(xA,yA),对应的物理坐标为(xDA,yDA),由电阻式触摸屏的线性特性可知,任意一点B的逻辑坐标可以用下面公式表示:

只需在触摸屏上取3个物理坐标已知的点A,B,C,这3个点应该分布均匀不靠近边缘以免不准确,通过读取TPXR,TPYR,TPZR寄存器读出逻辑坐标求出Kx,Ky,求出Kx,Ky后由式(1)校准逻辑坐标与物理坐标,图3(a)为校准的界面,图3(b)为校准后计算的Kx,Ky,由图可以看出两个系数都接近于1,说明触摸屏的坐标误差比较小。


3 结语

RA8806控制器在软件设计上方便、灵活,能满足开发人员对中等尺寸触摸屏控制器的要求,丰富的功能和较高的性价比使RA8806控制器的LCD在市场上有很大的优势,基于RA8806的触摸屏与STM32嵌入式系统通过数据总线方式相结合,可以构造出理想的人机交互界面,具有广阔的应用领域。

 

STM32单片机中文官网
意法半导体/ST/STM

继续阅读
意法半导体推出48引脚封装 扩大市面上唯一支持LoRa®的STM32WL系统芯片的选择范围

中国,2020年8月28日——意法半导体为其获奖产品STM32WLE5 *无线系统芯片(SoC)的产品组合新增一款QFN48封装,将该产品的诸多集成功能、能效性和多调制的灵活性赋能到多种工业无线应用上。

意法半导体发布STM32状态监测功能包,通过Cartesiam工具简化机器学习过程

中国,2020年7月29日——意法半导体发布一款免费的STM32软件功能包,让用户可以用微控制器探索套件快速创建、训练、部署工业状态监测智能边缘设备。

意法半导体为STM32Cube®生态系统增添新功能,提高软件开发效率

中国,2020年7月28日——意法半导体STM32Cube®软件开发生态系统发布软件更新,让用户更轻松地筛选软件示例,搜集和使用开发工具,自定义、使用和分享STM32Cube扩展软件包。

意法半导体通过两项并购,进一步增强STM32微控制器的无线连接功能

中国, 2020年7月20 日 – 横跨多重电子应用领域的全球领先的半导体供应商意法半导体,于日前宣布签署两项并购协议,收购超宽带技术专业设计公司BeSpoon的全部股本和Riot Micro公司的蜂窝物联网连接资产。在两项交易走完正常监管审批手续成交后,意法半导体将进一步提升其在无线连接技术方面的服务,特别是完善STM32微控制器和安全微控制器的产品规划。

让汽车ECU开发事半功倍,ST AutoDevKit工具包长啥样?

STM32 是工业和消费市场上非常成功的微控制器解决方案,SPC5 系列汽车微控制器也许大家还不大熟悉,不过在 AutoDevKit 生态匹配搭建的强大加持下,站在使用者的角度来看待问题,解决对方行业痛点,未来的 SPC5 也许可以成为汽车电子界的 STM32 也是很有可能的。