91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用FSMC接口來驅(qū)動8080接口LCD屏的問題

STM32單片機(jī) ? 來源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2021-06-29 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

在一些圖形界面應(yīng)用中,系統(tǒng)架構(gòu)會時??紤]使用 FSMC接口來驅(qū)動 8080接口的 LCD屏。在 MCU渲染完成,將framebuffer發(fā)送到 LCD時,有可能會遇到存儲大小端的問題。STM32MCU都采用 ARMCortex內(nèi)核,內(nèi)存使用小端格式。而 intel 8080接口的 LCD在傳輸 RGB數(shù)據(jù)時,使用的是大端格式。MCU在傳輸 RGB數(shù)據(jù)時,字節(jié)序有可能不匹配。在圖形界面應(yīng)用中,像素格式一般會使用 RGB888或 RGB565。而在使用 FSMC接口驅(qū)動 8bit位寬的 LCD時,很可能會使用 RGB565格式。本文中會介紹兩種方法來處理8bit8080接口 RGB565格式圖像數(shù)據(jù)字節(jié)序問題。

圖像數(shù)據(jù)字節(jié)序

8bit8080 LCD在接收 RGB565數(shù)據(jù)時,會將第一個字節(jié)解析為{R4-R0,G5-G3}, 第二個字節(jié)解析為{G2-G0,B4-B0},并按這個順序接收所有數(shù)據(jù),如下圖:

a210c732-d86f-11eb-9e57-12bb97331649.png

而在 MCU內(nèi)存中,數(shù)據(jù)按小端格式存放,RGB565數(shù)據(jù)存放的字節(jié)序如下:

a26017c4-d86f-11eb-9e57-12bb97331649.png

如果不做調(diào)整直接將 RGB數(shù)據(jù)發(fā)給 LCD,MCU會先發(fā)送 Byte0,再發(fā)送 Byte 1,這樣 LCD顯示的內(nèi)容就會錯亂。對比上面兩張圖可以看出,只需將內(nèi)存中 Byte0與 Byte1字節(jié)位置對調(diào)(Byteswap),就能滿足 LCD接口的字節(jié)序要求??梢灾苯邮褂?CPU進(jìn)行 Byteswap,但這會消耗過多 CPU算力,同時也會占用更多內(nèi)存。這里我們將使用硬件進(jìn)行 Byteswap.

DMA2D 進(jìn)行Byteswap

DMA2D是 ST為圖形應(yīng)用專門設(shè)計并優(yōu)化的2D加速引擎,擁有豐富的功能。其字節(jié)序重排功能包含了Red blueswap以及 Byteswap特性。Red blueswap特性在 L4和 L4+系列 MCU都支持,而 Byteswap僅在L4+系列有支持。在 L4+系列上,通過配置 DMA2D_OPFCCR寄存器的 SB位,即可使能 Byteswap功能,在 DMA2D的outputFIFO中完成字節(jié)序調(diào)整,如下圖:

a26c2b5e-d86f-11eb-9e57-12bb97331649.png

因此在圖形界面應(yīng)用中,需要 Byteswap時,可以考慮用 DMA2D來傳輸 RGB數(shù)據(jù)給 LCD。

GPDMA 進(jìn)行Byteswap

在新推出的 U5系列芯片上,集成了 GPDMA模塊。這是新的通用DMA模塊,能在傳輸數(shù)據(jù)的同時,還有豐富的數(shù)據(jù)處理能力。在初始化GPDMA時,通過配置源和目的數(shù)據(jù)位寬為 DMA_SRC_DATAWIDTH_WORD,在數(shù)據(jù)處理中配置 DataExchange為 DMA_EXCHANGE_DEST_BYTE,如下面代碼,也能實(shí)現(xiàn)Byteswap功能。

a2754d74-d86f-11eb-9e57-12bb97331649.png

這樣,在圖形應(yīng)用中,既能使用 DMA2D加速渲染過程,也能使用 GPDMA的數(shù)據(jù)處理能力。通過 GPDMA直接向FSMC接口輸出 Byteswap后的 RGB565格式的圖形數(shù)據(jù)給LCD。

小結(jié)

在驅(qū)動 8位 8080接口 LCD時,需要注意圖像數(shù)據(jù)字節(jié)序問題。使用 RGB565格式時,可以使用 DMA2D或 GPDMA來傳輸圖像數(shù)據(jù),同時對圖像數(shù)據(jù)做 Byteswap調(diào)整,滿足LCD的字節(jié)序要求。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    36

    文章

    4615

    瀏覽量

    177204
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1954

    瀏覽量

    88522

原文標(biāo)題:工程師筆記 | 驅(qū)動 8 位 8080 接口 LCD 時的字節(jié)序問題

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    從硬件到UI全流程,高效LCD開發(fā)最佳拍檔

    、硬件接口簡介 Air780Exx系列低功耗模組SPI LCD接口固定為PIN49至PIN53,專為驅(qū)動液晶顯示設(shè)計。 下圖以Air780
    的頭像 發(fā)表于 01-27 17:42 ?998次閱讀
    從硬件到UI全流程,高效<b class='flag-5'>LCD</b>開發(fā)最佳拍檔

    LCD驅(qū)動芯片F(xiàn)ZH1696,應(yīng)用開發(fā)相關(guān)數(shù)據(jù)技術(shù)手冊

    FZH1696(深圳市方中禾科技)是一種LCD驅(qū)動控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LCD驅(qū)動、鍵盤掃描、幻彩背光
    的頭像 發(fā)表于 01-24 11:49 ?1265次閱讀
    <b class='flag-5'>LCD</b><b class='flag-5'>驅(qū)動</b>芯片F(xiàn)ZH1696,應(yīng)用開發(fā)相關(guān)數(shù)據(jù)技術(shù)手冊

    請問CW32有8080的屏幕接口嗎?

    想帶動屏幕,不想用串口,有8080的屏幕接口嗎?
    發(fā)表于 01-19 07:39

    VK0192 點(diǎn)陣LCD液晶段碼顯示驅(qū)動芯片 3/4線串行接口/省電模式

    ?VK0192是一個點(diǎn)陣式存儲映射的LCD驅(qū)動器,可支持最大 192點(diǎn)(24SEGx8COM)的LCD。單片機(jī)可通過3/4線串 行接口配置
    的頭像 發(fā)表于 12-03 15:22 ?531次閱讀
    VK0192 點(diǎn)陣<b class='flag-5'>LCD</b>液晶段碼顯示<b class='flag-5'>屏</b><b class='flag-5'>驅(qū)動</b>芯片 3/4線串行<b class='flag-5'>接口</b>/省電模式

    原廠 FZH1697 帶鍵盤掃描接口LCD驅(qū)動控制專用電路

    )FZH1697是一種帶鍵盤掃描接口LCD驅(qū)動控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LCD
    發(fā)表于 11-07 09:43

    原廠 FZH1691 4×36 LCD 顯示驅(qū)動控制專用電路

    ,F(xiàn)RAME 翻轉(zhuǎn),支持 3V/5V 的LCD 。所有設(shè)置均通過2線串行接口傳輸數(shù)據(jù)。主要應(yīng)用于段碼LCD顯示產(chǎn)品
    發(fā)表于 11-04 09:36

    原廠 FZH1631 標(biāo)準(zhǔn)I2C接口通訊LCD控制/驅(qū)動芯片

    1、概 述 型號:FZH1631 廠商:深圳市方中禾科技有限公司(Premier Chip Limited) FZH1631是一款標(biāo)準(zhǔn)I2C接口通訊LCD控制/驅(qū)動芯片。該芯片提供1/4占空比和1
    發(fā)表于 11-04 09:22

    【瑞薩RA6E2】PMOD 接口 LCD 顯示調(diào)色板

    瑞薩 R7FA6E2BB3CFM 有 2 個 SPI 接口,除此之外,還有 2 個 SCI 接口可以實(shí)現(xiàn) SPI 功能,這次使用 SPI0 接口驅(qū)
    發(fā)表于 11-01 16:47

    高抗噪LCD驅(qū)動低電流液晶驅(qū)動芯片VKL060

    )的LCD。單片機(jī)可通過I2C接口配置顯示參數(shù)和讀寫顯示數(shù)據(jù),可配置4種功耗模式,也可通過關(guān)顯示進(jìn)入省電模式。其高抗干擾,超低功耗的特性適用于水電氣表以及工控儀表類產(chǎn)品。Z198+06 特點(diǎn): ?工作電壓
    發(fā)表于 10-15 17:32

    如何調(diào)用C的接口封裝micropyton接口?

    microPython的庫比較少,無法滿足需求,請問調(diào)用C的接口封裝micropyton接口如何操作?能否提供詳細(xì)步驟? 你好,可以參考micropython官方的教程添加自定義的
    發(fā)表于 06-23 07:17

    STM32U5+8bit_8080 LCD 怎么配置touchgfx?

    我參與的項(xiàng)目使用STM32U575做為主空,使用fmc驅(qū)動8080接口的8bitLCD,配置touchgfx時不能配置為8bit,其他選型例如DMA2D也使用不了,我該怎么做?
    發(fā)表于 06-09 06:23

    低電流LCD驅(qū)動抗噪液晶驅(qū)動芯片VKL060

    )的LCD。單片機(jī)可通過I2C接口配置顯示參數(shù)和讀寫顯示數(shù)據(jù),可配置4種功耗模式,也可通過關(guān)顯示進(jìn)入省電模式。其高抗干擾,超低功耗的特性適用于水電氣表以及工控儀表類產(chǎn)品。Z166+45 特點(diǎn): ?工作電壓
    發(fā)表于 05-12 17:07

    STM32U5+8bit_8080 LCD怎么配置touchgfx?

    我參與的項(xiàng)目使用STM32U575做為主空,使用fmc驅(qū)動8080接口的8bitLCD,配置touchgfx時不能配置為8bit,其他選型例如DMA2D也使用不了,我該怎么做?
    發(fā)表于 04-28 08:12

    STM32U5+8bit_8080 LCD怎么配置touchgfx?

    我參與的項(xiàng)目使用STM32U575做為主空,使用fmc驅(qū)動8080接口的8bitLCD,配置touchgfx時不能配置為8bit,其他選型例如DMA2D也使用不了,我該怎么做?
    發(fā)表于 04-27 07:11

    電容串行接口

    帝晶智慧電容串行接口
    的頭像 發(fā)表于 03-11 17:21 ?1801次閱讀