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

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

[复制链接]
STMCU小助手 发布时间:2023-6-19 14:26
前言 6 Q0 M8 |9 I: |& c, ?5 h
在一些图形界面应用中,系统架构会时常考虑使用 FSMC 接口来驱动 8080 接口的 LCD 屏。在 MCU 渲染完成,将framebuffer 发送到 LCD 时,有可能会遇到存儲大小端的问题。STM32 MCU 都采用 ARM Cortex 内核,内存使用小端格式。而 intel 8080 接口的 LCD 在传输 RGB 数据时,使用的是大端格式。MCU 在传输 RGB 数据时,字节序有可能不匹配。
% @  I1 R5 a" k# s& H在图形界面应用中,像素格式一般会使用 RGB888 或 RGB565。而在使用 FSMC 接口驱动 8bit 位宽的 LCD 时,很可能会使用 RGB565 格式。本文中会介绍两种方法来处理 8bit 8080 接口 RGB565 格式图像数据字节序问题。# ~8 z  [" s+ P) V: G' v
图像数据字节序 * O2 \# f& u7 p& E6 \
8bit 8080 LCD 在接收 RGB565 数据时,会将第一个字节解析为{R4-R0,G5-G3}, 第二个字节解析为{G2-G0,B4-B0},并按这个顺序接收所有数据,如下图:
" W1 f6 l! t5 @+ h% M3 s' L0 O; }. h0 ]' A- F9 Y

8 F$ t; z. |* ~0 j( Q3 h9 A$ I @ZNHBD6CBO9{_K0CP7MA9JK.png 4 @/ V6 I0 x. Q' R4 S

- p! e* m! D2 f# ^2 s
而在 MCU 内存中,数据按小端格式存放,RGB565 数据存放的字节序如下:
& O1 X1 R( T4 Z7 D/ y& y! c 1 L4 X. `5 G, v+ g1 n
NU8[CLCZL~YV3E]DS$)IJ.png
; w) J# c1 B8 L2 P/ U" {& s4 x
, j3 W. c6 b% s如果不做调整直接将 RGB 数据发给 LCD,MCU 会先发送 Byte 0,再发送 Byte 1,这样 LCD 显示的内容就会错乱。" y/ {1 l& E( J4 K2 j2 r
对比上面两张图可以看出,只需将内存中 Byte 0 与 Byte 1 字节位置对调(Byte swap),就能满足 LCD 接口的字节序要求。可以直接使用 CPU 进行 Byte swap,但这会消耗过多 CPU 算力,同时也会占用更多内存。这里我们将使用硬件进行 Byte swap.
) v6 i7 n4 ]' y$ T- ~5 {) K
2 K+ ]/ m' \  k: J
DMA2D 进行 Byte swap
' N% Z. P: `( @" X8 ^DMA2D 是 ST 为图形应用专门设计并优化的 2D 加速引擎,拥有丰富的功能。其字节序重排功能包含了 Red blueswap 以及 Byte swap 特性。Red blue swap 特性在 L4 和 L4+系列 MCU 都支持,而 Byte swap 仅在 L4+系列有支持。在 L4+系列上,通过配置 DMA2D_OPFCCR 寄存器的 SB 位,即可使能 Byte swap 功能,在 DMA2D 的 outputFIFO 中完成字节序调整,如下图:4 j% ?2 n7 B4 j, ]  Y8 b' ^: _
1 `# Z/ o  C/ {4 |$ f

  C3 z2 a1 D/ Q% n. g4 {. C 7O6Q(~5QM60GL8C6ZI)J)CX.png / t- }1 n! \  m9 c  V* K4 Z% u

* w! A7 j3 Q+ z
因此在图形界面应用中,需要 Byte swap 时,可以考虑用 DMA2D 来传输 RGB 数据给 LCD。
6 i$ a; ^* x3 u: {) @  C6 @
* A5 R! k$ Z8 s$ x  ?8 u2 _
3 Y4 U; |* b. E7 j5 G
完整版请查看:附件
7 C$ e+ i" {) {  p7 I 驱动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 手机版