历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2021年03月11日 | 基于RA8875的经济型快捷人机界面设计

2021-03-11 来源:eefocus

引言

随着TFT彩色液晶技术不断发展成熟以及人们对人机界面感官性需求的不断提高,越来越多的产品选用带触摸的TFT彩屏作为人机界面。本文针对RA8875的性能,提出了一种折中的解决方法。


1 RA8875特性分析

RA8875[1]是瑞佑公司推出的256/64K色TFTLCD控制器,最大支持800×480分辨率。RA8875的内部结构图略——编者注。


在本设计中,主要涉及到RA8875的以下功能:


① 480×272以下分辨率支持双图层,特别地,支持图层1的通透模显示,即设置好图层1(Layer1)的透明色(BGTR Color)后,将其叠加在图层2(Layer2)上,Layer1中原本显示透明色的部分将不再显示。其显示效果如图1所示。


② 通过连续/区块数据模式的DMA功能可将SPIFlash中的数据快速搬移到RA8875显存中显示。


③ 可以直接访问指定型号的外挂字库,显示16×16、24×24、32×32点阵文字,支持带底色及通透两种文本显示模式。


④ 内建了直线、矩形、圆角矩形、椭圆的加速绘制引擎。以椭圆的绘制为例,在指定了椭圆的中心点、长短轴、颜色后开启绘制,RA8875会自动按所指定参数绘出椭圆。图2为RA8875用户手册[1]中给出的程序流程图。其中[65hA8h]等均为RA8875中相应的寄存器。

图1 图层叠加的显示效果图


图2 绘制椭圆的程序流程


⑤ RA8875带有一组10位ADC及其控制模块,可用于控制4线电阻式触摸屏。使用RA8875触摸控制器的手动模式并配合中值平均滤波法滤波及三点校准[2]后,能实现触摸屏和TFT屏坐标重合,其误差值在10个像素点内,符合设计需求。


⑥ 带有2组脉冲宽度调制(PWM1、PWM2),可方便用于LCD背光调节。


⑦ 带1个GPOX,可方便用于输出高/低电平。


2 系统组成

如图3所示,本系统由两部分组成,分别为PC端的人机界面编辑软件和应用RA8875组成的人机界面。

图3 系统组成图


2.1 PC端的人机界面编辑软件


PC端的人机界面编辑软件包含两部分:界面编辑、界面编译。其中界面编辑(生成*.opt工程文件)用于设计者根据人机界面功能添加/编辑各个显示页面及其中所包含的显示元素,例如图片、文本、几何图形。特别地,允许设置正常图像与按下图像,这主要是为了在人机界面中使用图片作为触摸按键时能更美观、及时地反映按键弹起/按下的状态。界面编译部分对工程文件(*.otp)进行整合打包,根据接口协议编译生成资源文件(*.otpbin)。


2.2 应用RA8875组成的人机界面

如图3所示,应用RA8875组成的人机界面主要由7部分组成:RA8875、MCU、SPIFlash、字库、TFT数字屏、背光驱动、4线电阻触摸屏。图4为RA8875与各部件连接的电路图。

图4 RA8875的电路框图


① 虽然RA8875可以支持8位或16位的8080/6800系列数据总线接口以及I2C总线或3/4线的SPI串行接口,但是其BTE引擎功能仅对并行MCU接口开放[1],同时RA8875内部均为8位寄存器,所以本设计采用了STM32F103VCT6[3]的8位 FSMC功能来控制。


② RA8875虽能以DMA方式快速显示预存在SPIFlash里的图像数据,但却存在不能写Flash的缺陷,必须将图像取模数据预先保存在SPIFlash中,以留待RA8875访问。在软件调试阶段,可考虑将MCU的串口引出,通过MCU的SPI口访问SPIFlash,将*.otpbin文件下载至SPIFlash中。在本设计的具体实现中采用了存储容量为128 Mb的SPIFlash[4]保存资源文件(*.otpbin)及其他一些需要掉电保存的包括触屏校准信息在内的系统数据。MCU、RA8875共用一组4线SPI总线访问该SPIFlash。为了避免因MCU未完全释放SPI总线而导致RA8875不能正常读取图像数据的干扰问题,当RA8875需要访问SPI总线时,MCU需要执行图5所示的程序流程。

图5 MCU流程图


③ RA8875支持5种集通字库芯片[1],在本设计中采用了GT23L32S4W[5]。两者搭配使用支持15×16、24×24、32×32点阵GB2312标准字符及8×16、12×24、16×32点阵ASCII字符。


④ RA8875的TFT驱动模块用于驱动TFT数字屏的信号,包括时钟信号(PCLK)、有效信号(DE)、垂直同步信号(VSYNC)、水平同步信号(HSYNC)、数据信号(PDAT[15:0])。通过使用STM32内部的定时器中断做精确计时,得出各种像素的TFT数字屏的速度指标,如表1所列。


表1 速度指标测试结果

随着显示屏分辨率的增加,其所需的处理时间相应递增,在480×272像素时能达到24帧以上的刷新速度,由于人的视觉滞留效应,在这种速度下更新显示内容没有闪烁感,能被人肉眼所接受。速度指标测试结果略——编者注。在本设计中,采用驱动IC为OTA5180A的480(RGB)×272点阵TFT数字屏,图6为该屏的接口定义及接线图。


图6 TFTLCD模组引脚定义及接线图


⑤ 如图7所示,使用RT9293[6]作为背光WLED的驱动芯片,通过RA8875的PWM1来调节反馈引脚(FB)的电压,实现背光亮度调节。另外,RA8875带有一个GPOX引脚,通过访问RA8875的C7h寄存器可修改该引脚的输出电平,在本设计中,将其连至RT9293的使能端(LED_EN),当整个系统准备就绪需打开显示时,再拉高电平使能背光。


图7 背光电路图


⑥ 将RA8875的XN、YN、XP、YP连至4线电阻触摸屏,系统就能不断监测触摸事件,为了提升ADC转换稳定度,加10 μF的电容到地。


3 系统软件设计

3.1 接口协议分析

合理的资源文件接口协议是快捷地生成人机界面的关键。将PC端人机界面编辑软件中的工程文件整合成紧凑的十六进制字节流文件就是资源文件。这个资源文件实质上就是由多个表(结构体)、图像取模数据、字符串数据组成。资源文件的第一个字节处开始存放资源表,该表所包含的重要信息有:页面信息表的数目、页面信息表的入口地址、图像信息表的数目、图像信息表的入口地址。根据接口协议,这个接口实际上是由多个表组成。


3.1.1 页面信息表

页面是指一屏显示界面,里面可包含多种元素。这是根据RA8875的功能特性及一般的显示需要而设的,包括显示图像、不同颜色的文本、线段、矩形、圆角矩形、椭圆等。


页面信息表所登记的信息包括该页面唯一标识值、页面元素个数、页面元素表的地址。页面元素表中存放的是上文提及的文本、线段、椭圆框、图片等不同元素的属性表。例如,对于椭圆框元素,其主要属性为椭圆中心点、长短轴。MCU解析椭圆元素的属性表内容后,按流程驱动RA8875显示椭圆。


3.1.2 图像信息表

图像信息表中登记了一幅或多幅图像的信息,包括图像唯一的标识符、尺寸、图像取模数据。当需要显示或剪切显示图像时,仅需操作RA8875的个别寄存器即可将显示工作完全交由RA8875的DMA来完成。其操作流程如图8所示。

图8 操作RA8875完成图像显示的流程图


3.2 人机界面对接口协议的执行

RA8875在480×272像素下支持双图层显示。在本设计中,将Layer2设置为显示加载资源的图层,Layer1设置为根据现场实际需要动态显示的图层。Layge1以背景色(又可称为透明色)透明的方式叠加显示在Layer2之上,如图2所示。从64K色中选取一种Layer1中不会用到的颜色作为透明色,当现场数据需要更新时,利用透明色局部清屏或作为文本底色,以达到现场数据直接叠加于人机界面上却不破坏页面的效果。图9为对RA8875的操作流程图。

图9 接口协议的执行流程图


4 系统性能分析

在本设计中,使用128 Mb Flash来存储资源文件,可存储64幅全屏图像,若为不带图片的页面,大多不足1 KB/页面的数据量,也可存放上万页面,这对一般的人机界面来说已经够用了。


由于SPIFlash支持从任意地址连续读取任意长度数据,尤其是STM32所带的SPI 接口支持DMA功能,可以方便地加载各种资源表、信息表,因此不存在大量消耗内存及长期占用CPU的情况,给MCU留有足够的资源去处理嵌入式系统中其他更重要的实时性任务。


本设计所用的PC端人机界面编辑软件设计的界面图略——编者注。


结语

在充分利用RA8875特性的基础上,借助PC机可视化编辑的优势,提出了一套完整的人机界面设计的方案,并已嵌入于不同的人机界面设计中。虽然前期加入了PC端开发的工作量,但这种仅占用MCU少量工作时间及代码空间的方法十分适用于低成本地缩短产品研发周期场合。


推荐阅读

史海拾趣

安碁科技(AKER)公司的发展小趣事

品质是企业的生命线。安碁科技自成立以来,一直注重品质管理和技术创新。2000年,公司引进了全自动化制程设备,正式生产SMD产品,并通过了ISO9002认证。此后,安碁科技陆续通过了多项国际认证,如TL-9000、TS16949等,证明了其在品质管理方面的卓越表现。同时,公司也不断投入研发资源,推动技术创新和产品升级,以满足市场不断变化的需求。

Applied Engineering Products (AEP)公司的发展小趣事

随着公司规模的扩大和产品种类的增多,AEP公司意识到质量管理的重要性。公司引进了一套先进的质量管理体系,从原材料采购、生产过程到产品出厂,每一个环节都进行严格的质量控制。同时,公司还加强了对员工的培训和管理,确保每一名员工都能严格按照质量标准进行操作。这一举措大大提高了AEP公司的产品质量和客户满意度,为公司的长期发展奠定了坚实基础。

CTC Coils Ltd公司的发展小趣事

在快速发展的过程中,CTC Coils Ltd公司始终注重企业文化建设和团队建设。公司倡导创新、务实、高效的企业精神,鼓励员工勇于创新、追求卓越。同时,公司还注重员工的培训和成长,为员工提供广阔的发展空间和良好的职业晋升通道。这些举措使得公司凝聚力不断增强,为公司的长远发展奠定了坚实的基础。

请注意,这些故事是虚构的,旨在展示一个电子行业公司可能经历的发展路径和关键阶段。实际情况可能因公司具体情况和市场环境的不同而有所差异。

Boyd Corporation公司的发展小趣事

Boyd Corporation在追求经济效益的同时,也积极履行社会责任。公司注重环保和可持续发展,通过采用环保材料和节能技术,减少生产过程中的环境污染和资源消耗。此外,Boyd Corporation还积极参与公益事业和慈善活动,回馈社会。这些举措使得Boyd Corporation在社会上树立了良好的企业形象,也赢得了更多客户的信任和支持。

Blaze Display Technology Co Ltd公司的发展小趣事

自1982年起,Blaze Display Technology Co., Ltd.(以下简称“Blaze公司”)以其前瞻性的视野和坚定的决心,踏入了LCD显示屏领域。创立初期,公司面临着资金短缺、技术瓶颈以及市场竞争的诸多挑战。然而,凭借创始团队对技术的深刻理解和对市场的敏锐洞察,Blaze公司逐步攻克难关,研发出了一系列具有竞争力的LCD显示屏产品。

Excelitas公司的发展小趣事

Excelitas公司自成立以来,一直致力于光电技术的研发与创新。在某次关键的技术突破中,公司成功研发出一种新型高效能LED灯,这种灯在紫外光固化领域具有显著优势。这一技术突破不仅为公司赢得了市场份额,还确立了Excelitas在光电领域的领先地位。公司随后围绕这一技术,推出了一系列相关产品,进一步巩固了市场地位。

问答坊 | AI 解惑

大家可以进来讨论一下各种调制方式的使用

比如说在什么场合用什么样的调制,有什么优缺点,就比如GSM为什么要用GMSK等,也可以谈谈星座映射方面的知识,这样大家可以共同学习,共同进步,也可以说说你用过哪种调制技术等…

查看全部问答>

不错的系统资料,WCDMA系统设计PPT

1.W-CDMA协议概观(25.201) 2.传输信道和物理信道映射(25.211) 3.信道复用与信道编码(25.212) 4.扩频与调制模式(25.213)    5.物理层处理机制(25.214) 6.物理层测试规范(25.215) …

查看全部问答>

lpc1343能否移植usosII

如题,想了解一下是否能跑系统,除了ucosII,其他的系统也可以…

查看全部问答>

NXP LPC2468 USB Host 主机控制器程序

本人第一次写USB 程序,网上很多都是USB设备(模拟一个USB设备),但任务是USB主机驱动,即驱动开发板驱动一个USB设备,先期是HID类 有哪位高手给一个资源,给点指导郁闷很长时间了。(1.JUNGO的USBWare要钱,很贵,有免费的吗) nxp LPC 24xx 以 ...…

查看全部问答>

关于年龄问题

我今年27了,搞嵌入式是不是有点晚了,请问这个行业能干到多少岁? 我是指目前国内的现状,一般搞嵌入式软件开发的都是多大的人? 总觉得自己有点大了,人家都是小伙子,有点不好意思,哈哈。…

查看全部问答>

WinCE开发顶级群_大家来捧场(顺便散分)

新建了一个群,主要想招揽高级别的开发者,一起分享开发经验。 虽然不一定能解决各自问题,至少能开阔眼界。 本群的特点: 1.新股,有潜力。 2.股东有实力。 3.年底分红。 4.稳赚不赔。 要求至少3年以上项目经验。对几个常见系统之一 WinCE/W ...…

查看全部问答>

猎头职位:北京世界五百强诚聘symbian高级研发-c++

猎头职位:北京世界五百强诚聘symbian高级研发-c++ 有相应的具体JD 客户是世界五百强外资,做智能手机symbian系统的研发 一般要求硕士5年经验以上,具体看个人资质 请有意者速速联系 msn:jessi.wang@hotmail.com e-mail:weiyangwj@sina.com ...…

查看全部问答>

vxWorks 创建硬盘,使用dosFs文件的方法—求教

   因为最近在编写一个网络文件传输方面的应用程序,该应用程序需要实现windows XP和vxWorks之间的文件传输。因为在这方面我是一个初学者,所以遇到不少的问题,问题如下 ,希望大家可以详细的帮我解答一下。     因为现在我 ...…

查看全部问答>

EnumPrinterDrivers的奇怪现象

        BOOL ret;         ret = EnumPrinterDrivers(NULL, NULL, 1, NULL, 0, &dwNeeded, &dwReturned);         返回值是1,但是dwNeeded却为0,dwReturned也为0 & ...…

查看全部问答>

STM8地址重叠编译错误,要怎么设置;

STM8编译时报错,如下,  这要怎么解决 #error clnk Debug\\tim1pwm.lkf:1 segments .text (0x8083-0x82e2) and .const (0x8000-0x8084) overlap…

查看全部问答>