你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

驱动 8 位 8080 接口 LCD 时的字节序问题

[复制链接]
STMCU小助手 发布时间:2023-6-19 14:26
前言 2 N% {, O. n5 G0 f
在一些图形界面应用中,系统架构会时常考虑使用 FSMC 接口来驱动 8080 接口的 LCD 屏。在 MCU 渲染完成,将framebuffer 发送到 LCD 时,有可能会遇到存儲大小端的问题。STM32 MCU 都采用 ARM Cortex 内核,内存使用小端格式。而 intel 8080 接口的 LCD 在传输 RGB 数据时,使用的是大端格式。MCU 在传输 RGB 数据时,字节序有可能不匹配。
. e6 a9 T5 o* p0 ^5 I& G, B在图形界面应用中,像素格式一般会使用 RGB888 或 RGB565。而在使用 FSMC 接口驱动 8bit 位宽的 LCD 时,很可能会使用 RGB565 格式。本文中会介绍两种方法来处理 8bit 8080 接口 RGB565 格式图像数据字节序问题。
  o: R/ u+ y; z4 O2 h- f
图像数据字节序
, b4 N3 r. Z, c  [8bit 8080 LCD 在接收 RGB565 数据时,会将第一个字节解析为{R4-R0,G5-G3}, 第二个字节解析为{G2-G0,B4-B0},并按这个顺序接收所有数据,如下图:2 y% l! E: L, [" a9 C
) W- h' K0 z0 `! e, w" b
; V# k) P8 ^. g1 w, h& k
@ZNHBD6CBO9{_K0CP7MA9JK.png
; A( U5 k( G* i. w4 ]
, d7 Q3 ^+ V9 b# g  T' {/ w  W. a0 A
而在 MCU 内存中,数据按小端格式存放,RGB565 数据存放的字节序如下:9 T8 V3 s1 h; J
1 U% v3 i) y7 i3 t, W1 ]
NU8[CLCZL~YV3E]DS$)IJ.png 1 q* x6 ~! H# h! r) Y( M7 \

# J- w8 t; N/ \) @0 Y) y6 r如果不做调整直接将 RGB 数据发给 LCD,MCU 会先发送 Byte 0,再发送 Byte 1,这样 LCD 显示的内容就会错乱。
& _: W$ X5 q5 I6 P! [) h, g对比上面两张图可以看出,只需将内存中 Byte 0 与 Byte 1 字节位置对调(Byte swap),就能满足 LCD 接口的字节序要求。可以直接使用 CPU 进行 Byte swap,但这会消耗过多 CPU 算力,同时也会占用更多内存。这里我们将使用硬件进行 Byte swap.
# V4 X- f4 O$ w2 t% E4 t7 N* V4 a" V0 ]8 k) I7 w5 R
DMA2D 进行 Byte swap
8 v& p& K2 c1 t! m' N! _DMA2D 是 ST 为图形应用专门设计并优化的 2D 加速引擎,拥有丰富的功能。其字节序重排功能包含了 Red blueswap 以及 Byte swap 特性。Red blue swap 特性在 L4 和 L4+系列 MCU 都支持,而 Byte swap 仅在 L4+系列有支持。在 L4+系列上,通过配置 DMA2D_OPFCCR 寄存器的 SB 位,即可使能 Byte swap 功能,在 DMA2D 的 outputFIFO 中完成字节序调整,如下图:
% z+ S, e  ?% C8 H6 D  Z+ }; b6 F. P) J
! l% @. h4 `2 k4 j  @; i; m1 [

) _* h# e; t. ~ 7O6Q(~5QM60GL8C6ZI)J)CX.png : I4 Y5 q6 ~7 l8 G, F
9 J& X, }( @/ T! d' H" y' }7 _+ c
因此在图形界面应用中,需要 Byte swap 时,可以考虑用 DMA2D 来传输 RGB 数据给 LCD。8 g0 d1 q9 V- H( F0 e

/ U5 }( q5 ^% T/ {: X
. B9 v* a0 f5 o# @% f) t9 A! o7 Y
完整版请查看:附件% R  R$ p$ I1 ?) O
驱动8位8080接口LCD时的字节序问题.pdf (345.32 KB, 下载次数: 15)
赞 收藏 评论0 发布时间:2023-6-19 14:26

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版