使用FSMC接口来驱动8080接口LCD屏的问题

发布者:SparklingStar22最新更新时间:2024-07-11 来源: elecfans关键字:FSMC接口  LCD屏 手机看文章 扫描二维码
随时随地手机看文章

前言

在一些图形界面应用中,系统架构会时常考虑使用 FSMC接口来驱动 8080接口的 LCD屏。在 MCU渲染完成,将framebuffer发送到 LCD时,有可能会遇到存儲大小端的问题。STM32MCU都采用 ARMCortex内核,内存使用小端格式。而 intel 8080接口的 LCD在传输 RGB数据时,使用的是大端格式。MCU在传输 RGB数据时,字节序有可能不匹配。在图形界面应用中,像素格式一般会使用 RGB888或 RGB565。而在使用 FSMC接口驱动 8bit位宽的 LCD时,很可能会使用 RGB565格式。本文中会介绍两种方法来处理8bit8080接口 RGB565格式图像数据字节序问题。


图像数据字节序

8bit8080 LCD在接收 RGB565数据时,会将第一个字节解析为{R4-R0,G5-G3}, 第二个字节解析为{G2-G0,B4-B0},并按这个顺序接收所有数据,如下图:

a210c732-d86f-11eb-9e57-12bb97331649.png?imageView2/2/w/1000

而在 MCU内存中,数据按小端格式存放,RGB565数据存放的字节序如下:

a26017c4-d86f-11eb-9e57-12bb97331649.png?imageView2/2/w/1000

如果不做调整直接将 RGB数据发给 LCD,MCU会先发送 Byte0,再发送 Byte 1,这样 LCD显示的内容就会错乱。对比上面两张图可以看出,只需将内存中 Byte0与 Byte1字节位置对调(Byteswap),就能满足 LCD接口的字节序要求。可以直接使用 CPU进行 Byteswap,但这会消耗过多 CPU算力,同时也会占用更多内存。这里我们将使用硬件进行 Byteswap.

DMA2D 进行Byteswap

DMA2D是 ST为图形应用专门设计并优化的2D加速引擎,拥有丰富的功能。其字节序重排功能包含了Red blueswap以及 Byteswap特性。Red blueswap特性在 L4和 L4+系列 MCU都支持,而 Byteswap仅在L4+系列有支持。在 L4+系列上,通过配置 DMA2D_OPFCCR寄存器的 SB位,即可使能 Byteswap功能,在 DMA2D的outputFIFO中完成字节序调整,如下图:

a26c2b5e-d86f-11eb-9e57-12bb97331649.png?imageView2/2/w/1000

因此在图形界面应用中,需要 Byteswap时,可以考虑用 DMA2D来传输 RGB数据给 LCD。

GPDMA 进行Byteswap

在新推出的 U5系列芯片上,集成了 GPDMA模块。这是新的通用DMA模块,能在传输数据的同时,还有丰富的数据处理能力。在初始化GPDMA时,通过配置源和目的数据位宽为 DMA_SRC_DATAWIDTH_WORD,在数据处理中配置 DataExchange为 DMA_EXCHANGE_DEST_BYTE,如下面代码,也能实现Byteswap功能。

a2754d74-d86f-11eb-9e57-12bb97331649.png?imageView2/2/w/1000

这样,在图形应用中,既能使用 DMA2D加速渲染过程,也能使用 GPDMA的数据处理能力。通过 GPDMA直接向FSMC接口输出 Byteswap后的 RGB565格式的图形数据给LCD。


小结

在驱动 8位 8080接口 LCD时,需要注意图像数据字节序问题。使用 RGB565格式时,可以使用 DMA2D或 GPDMA来传输图像数据,同时对图像数据做 Byteswap调整,满足LCD的字节序要求。


关键字:FSMC接口  LCD屏 引用地址:使用FSMC接口来驱动8080接口LCD屏的问题

上一篇:STM单片机中的按键消抖和FPGA消抖
下一篇:电机控制基础知识1—定时器基础知识与PWM输出原理

推荐阅读最新更新时间:2026-03-21 10:33

STM32H5开发(6)----SPI驱动TFT-LCD
概述 在嵌入式领域,TFT-LCD屏是最常用的显示解决方案之一,因为它们提供了丰富的颜色和高分辨率的图像显示能力。STM32H5作为ST的高性能微控制器系列,具备了强大的处理能力和多种通信接口,非常适合于驱动TFT-LCD显示屏,该液晶屏st7796或者ILI9488驱动芯片,这两个屏幕都是兼容的。 样品申请 https://www.wjx.top/vm/PpC1kRR.aspx 视频教学 https://www.bilibili.com/video/BV1JN411s7ni/ 源码下载 https://download.csdn.net/download/qq_24312945/88477148 屏幕接口 屏幕接口如
[单片机]
汽车显示——第2部分:TFT LCD、OLED和micro-LED显示电源技术
摘要 在汽车显示系统领域,TFT LCD显示屏目前是车载显示面板的主流选择。与此同时,OLED和micro-LED显示屏也逐渐吸引了市场的广泛关注。为了适应不同的显示技术,我们需要开发相应的电源技术。TFT LCD显示屏通常使用侧光式背光和直下式背光。为了提高显示性能,业界开发了基于mini-LED的直下式背光的局部调光技术。OLED显示屏在智能手机中更为常见,而面向汽车的OLED和mirco-LED显示屏仍在开发中。本文全面介绍了汽车显示系统及电源技术。 简介 随着汽车电气化的推进,消费者希望汽车在安全性、便利性、娱乐体验、生产力、舒适性和可持续性等方面实现全面提升。为了满足这一需求,OEM和一级供应商需要寻
[汽车电子]
汽车显示<font color='red'>屏</font>——第2部分:TFT <font color='red'>LCD</font>、OLED和micro-LED显示<font color='red'>屏</font>电源技术
汽车显示——第1部分:TFT LCD、OLED和micro-LED显示基本原理
摘要 如今,汽车行业对先进显示屏的需求空前高涨,亟需能够实现更大尺寸、更高亮度、曲面设计、更高分辨率和更高对比度的解决方案。与此同时,各类新型车载显示屏也日益受到青睐。目前,TFT LCD是汽车平板显示技术的主流选择。OLED和micro-LED显示屏凭借出色的显示效果、低能耗、高柔韧性、超薄等特性,正逐渐赢得汽车制造商的关注。 本文比较了这些不同的显示技术,并讨论适用于LCD显示屏的2T1C像素驱动器,以及适用于OLED和micro-LED显示屏的7T1C/2C像素驱动器。 简介 汽车应用中TFT LCD、OLED和micro-LED显示屏系列文章共有两个部分,本文为其中的第1部分。文章比较了TFT LCD
[汽车电子]
汽车显示<font color='red'>屏</font>——第1部分:TFT <font color='red'>LCD</font>、OLED和micro-LED显示<font color='red'>屏</font>基本原理
STM32 ILI9341驱动TFTLCD(六)LCD画直线
通过前面的学习,已经掌握了LCD显示图片以及显示Gif动画。这些图片其实也可以自己通过写显存,以画画的方式完成。而画画最基本的就是点和线了。 要画一个点,只要取一个点的区域,写该点的显存就可以完成。 void LCD_DrawPoint(u16 x,u16 y,u16 color) { ILI9341_SetPageAddr(y,y); //页地址设置 ILI9341_SetColumnAddr(x,x); //列地址设置 ILI9341_WriteMemory(&color,1); //写点的显存 } 接着进行测试,连续画多个点看最终效果。 主函数 #include stm32f4xx.h #i
[单片机]
STM32 ILI9341<font color='red'>驱动</font>TFT<font color='red'>LCD</font><font color='red'>屏</font>(六)<font color='red'>LCD</font>画直线
51单片机——LCD1602液晶 C语言入门编程
LCD1602: 1602液晶也叫1602字符型液晶,它能显示2行字符信息,每行又能显示16个字符。它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若 干个5x7的点阵字符位组成,每个点阵字符位都可以用显示一个字符, 每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。 字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。写入
[单片机]
51单片机——<font color='red'>LCD</font>1602液晶<font color='red'>屏</font> C语言入门编程
红米Note11T Pro+官曝:144Hz高刷LCD+天玑8100,刷新中端性能
5月20日消息,继昨日官宣定档之后,红米手机官方微博继续预热旗下的红米Note11T系列新机,公布了屏幕方面主要参数信息。红米Note11T Pro+搭载了144Hz高刷LCD屏,支持七挡变速,舒适又省电; RGB排列,画面显示细腻而真实;定制屏幕比例20.5:9 ,握感更舒适。 另外,其屏幕还支持全程DC调光、硬件级防蓝光、逐片调校原色屏、环境色温感应、杜比视界认证等。红米Note 11T Pro+荣获了DisplayMate A+权威屏幕认证,一举突破14项屏幕纪录。Note11T Pro+成为首款通过这一认证的LCD屏幕手机,此前通过该认证的OLED屏手机多达40款。 红米Note11T系列将大杯起步,推出Pro和P
[手机便携]
华为4G鸿蒙新机入网信息公布:6.78英寸LCD,1.08亿像素主摄
去年底,一款型号为 JLN-AL00 的华为手机通过电信设备进网许可审批,搭载鸿蒙HarmonyOS,其余信息未知。   近日,该机已经入网工信部,拥有蓝色、黑色、白色三款配色,尺寸为 164.64×75.55×7.94mm,重量为 191g。   该机搭载 2.4GHz 八核芯片,拥有 8GB 内存,以及 128/256GB 存储,配备一块 6.78 英寸 1080 x 2388 的 LCD 屏,电池容量为 3900mAh,3C 认证显示支持 66W 快充。   摄像头参数方面,该机配备 108MP 主摄 + 8MP + 2MP + 2MP,前置最高 16MP。   IT之家了解到,华为在 12 月 23 日刚
[手机便携]
华为4G鸿蒙新机入网信息公布:6.78英寸<font color='red'>LCD</font><font color='red'>屏</font>,1.08亿像素主摄
苹果iPhone SE Plus明年发布:4.7英寸LCD 支持5G
10月26日消息,业内人士Ross Young爆料,苹果下一代iPhone SE系列命名为iPhone SE Plus,采用LCD屏,屏幕尺寸与iPhone 8相同,为4.7英寸,支持5G网络。   我们知道,iPhone SE是苹果比较特殊的一条产品线,号称苹果的“性能小钢炮”。它主打小屏、低价以及高性价比,主要面向预算有限以及想要尝试iPhone和iOS系统的用户。   去年苹果发布了iPhone SE第二代,该机采用了类似于iPhone 8的外观设计,搭载A13处理器,可以说是iPhone入门设备的最佳机型。   如今手机行业进入了5G时代,从iPhone 12系列开始,苹果也转向了5G,因此iPhone SE系列
[手机便携]
苹果iPhone SE Plus明年发布:4.7英寸<font color='red'>LCD</font><font color='red'>屏</font> 支持5G
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved