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

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

[复制链接]
STMCU小助手 发布时间:2023-6-19 14:26
前言 : Z! m7 l1 J4 W% E. V& }' L
在一些图形界面应用中,系统架构会时常考虑使用 FSMC 接口来驱动 8080 接口的 LCD 屏。在 MCU 渲染完成,将framebuffer 发送到 LCD 时,有可能会遇到存儲大小端的问题。STM32 MCU 都采用 ARM Cortex 内核,内存使用小端格式。而 intel 8080 接口的 LCD 在传输 RGB 数据时,使用的是大端格式。MCU 在传输 RGB 数据时,字节序有可能不匹配。. |) U0 Y( b+ k6 b4 Z$ H! O  t
在图形界面应用中,像素格式一般会使用 RGB888 或 RGB565。而在使用 FSMC 接口驱动 8bit 位宽的 LCD 时,很可能会使用 RGB565 格式。本文中会介绍两种方法来处理 8bit 8080 接口 RGB565 格式图像数据字节序问题。* b# A* w1 O: W) l4 J9 ]+ l* ]& B
图像数据字节序
' r5 x. P2 c9 H8bit 8080 LCD 在接收 RGB565 数据时,会将第一个字节解析为{R4-R0,G5-G3}, 第二个字节解析为{G2-G0,B4-B0},并按这个顺序接收所有数据,如下图:
5 `2 e- ~  [8 Q5 x% A2 [3 J
5 c8 [& ^2 h! P+ ]: G) b

' u+ h, X  H6 n1 c' i @ZNHBD6CBO9{_K0CP7MA9JK.png 6 D, Z5 v4 X: v' l) V
$ {2 x. c+ i$ v* N: e
而在 MCU 内存中,数据按小端格式存放,RGB565 数据存放的字节序如下:
, N& M9 }$ R& Y# D+ N  j. a" M 4 M6 P1 a% K& h1 Z8 U8 X
NU8[CLCZL~YV3E]DS$)IJ.png 8 K# L" x# t/ {! A  a: e

! ?$ c5 M, B8 `, A1 I/ F: D如果不做调整直接将 RGB 数据发给 LCD,MCU 会先发送 Byte 0,再发送 Byte 1,这样 LCD 显示的内容就会错乱。
0 z3 ?9 \9 t9 l6 j7 _对比上面两张图可以看出,只需将内存中 Byte 0 与 Byte 1 字节位置对调(Byte swap),就能满足 LCD 接口的字节序要求。可以直接使用 CPU 进行 Byte swap,但这会消耗过多 CPU 算力,同时也会占用更多内存。这里我们将使用硬件进行 Byte swap.! R6 R! t4 {$ \# f( J; m

+ F! l0 T0 x! }5 T/ n( \; P
DMA2D 进行 Byte swap * T; ~6 {7 t, S/ k7 I6 T4 G
DMA2D 是 ST 为图形应用专门设计并优化的 2D 加速引擎,拥有丰富的功能。其字节序重排功能包含了 Red blueswap 以及 Byte swap 特性。Red blue swap 特性在 L4 和 L4+系列 MCU 都支持,而 Byte swap 仅在 L4+系列有支持。在 L4+系列上,通过配置 DMA2D_OPFCCR 寄存器的 SB 位,即可使能 Byte swap 功能,在 DMA2D 的 outputFIFO 中完成字节序调整,如下图:3 Y5 W& F: O9 x7 l1 G

3 }  s2 D. m; N* s
. u7 b2 k: N/ V0 B& i$ d4 P
7O6Q(~5QM60GL8C6ZI)J)CX.png
( p  W2 c! i& W/ P- T8 p) w1 n  K! H! ~) ]! F
因此在图形界面应用中,需要 Byte swap 时,可以考虑用 DMA2D 来传输 RGB 数据给 LCD。
# |  I' h  z! M+ t( H; o& X& k2 f) o% Q  L" {) b* g0 g9 v5 ~
; b$ A7 H9 c3 M9 r6 c1 J
完整版请查看:附件
  B$ K6 N# |3 Y2 t0 I$ i1 x 驱动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 手机版