嵌入式GUI专题
嵌入式图形用户界面(GUI)是一种在嵌入式系统中使用的图形用户界面,它允许用户通过图形化的方式与设备进行交互。在单片机上实现GUI需要考虑硬件选型、接口差异以及MCU选择等问题。为了确保项目的成功,需要全面系统地了解相关知识,以便更好地进行器件选型和程序开发。根据需求选择合适的技术方向可以避免后续的改动成本。
屏幕分类
-
数码管:数码管是一种简单的显示设备,通常用于显示数字和简单的字符。它由多个发光二极管组成,每个发光二极管代表一个数字或字符的一部分。数码管广泛应用于计时器、计数器等设备。
-
点阵屏:点阵屏是一种由许多小点组成的显示屏,可以显示更复杂的图形和字符。点阵屏通常使用LED或LCD技术,具有较高的分辨率和色彩表现力。点阵屏常用于广告牌、公交站牌等场合。
-
OLED屏:OLED(有机发光二极管)屏是一种先进的显示技术,具有自发光、高对比度、宽视角等特点。OLED屏可以实现真正的黑色和高动态范围,适用于高端智能手机、电视等领域。
-
TFT屏幕:TFT(薄膜晶体管)屏幕是一种液晶显示技术,具有高分辨率、高亮度、宽视角等特点。TFT屏幕广泛应用于各种电子设备,如手机、平板电脑、笔记本电脑等。
在选择嵌入式GUI时,需要根据项目需求和预算来选择合适的屏幕类型和技术方向。同时,还需要考虑MCU的性能、内存资源以及与其他硬件的兼容性等因素。
接口方式
根据不同的屏幕接口多种多样的,实际取决于屏幕显示需要的数据多少,大部分屏幕是单向输出的,并不能会读屏幕数据
-
数码管
-
IO直接控制,刷新也是由程序控制,结构较为简单,但是需要占用MCU的时间进行周期性刷新,一般频率不少与60Hz,很明显为了显示将牺牲MCU的算力,因此专用场景可能使用专门的数码管控制器芯片,减少MCU的占用,但是往往由于成本问题尽可能的减少元件使用;但是很明显由于IO占用过多,不得不在更多的时候使用74系列芯片进行扩展IO
-
应用场景:适用于仪器仪表的时间或数值显示,如计时器、计数器等设备。
-
-
点阵屏
-
由于每个像素点都是一个LED,其主要问题是需要IO非常多,一般都是做成可扩展模块进行无限级联的扩展,一般的MCU均可,可能会根据需求选用高性能MCU。
-
应用场景:广泛用于广场广告牌、店铺招牌等大型显示场合。
-
-
OLED屏
- 自发光的单色屏幕,常用尺寸128x64,一般采用iic或者SPI口通信控制,但是没有用速度要求,使用硬件或者软件模拟接口均可
- 应用场景:适用于小型设备的显示屏幕,如智能手表、便携医疗设备等。
-
TFT屏
-
我们常见的彩屏,在使用过程中根据屏幕尺寸有不同的屏幕接口,大尺寸屏幕需要高性能MCU以及大量的ram区才能驱动
-
一般在4.3寸以下多是8080,6800并口进行刷新显示,而且一般还支持SPI这种高速串行接口
- 由于内部集成GRAM可以静态显示,但为了更好的刷新切页效果,一般要控制整页的刷新速度在0.1s,
- 为了更好的刷新效果一般的IO模拟速度是不够的
- MCU选型中,一般就要考虑专用接口了,8080接口在stm32系列单片机中100P以上的才有资源支持;部分用户可能会考虑使用普通的Pin口进行并口模拟
-
RGB接口LTDC
- RGB接口屏幕自身是不带显存的,需要专用控制器的MPU才行,而且这种屏幕往往比较大,需要较大的ram作为显示缓存区,如480x272屏幕就需要255kbRAM作为缓存区
- 在STM32选型中,一般是F4及以上高性能的100P的片子才支持,CLK要求25Mhz一般只能使用硬件专用接口驱动,由于直接驱动刷新较快
- 应用场景:适用于需要高分辨率和色彩表现的大型显示屏,如平板电脑、车载显示屏等。
-
MIPI屏幕接口
- 手机等移动设备使用,一般需要A核以上设备
- 应用场景:几乎在所有高端智能手机和移动设备上都能看到MIPI接口的应用。
-