RM新时代网站-首页

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

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

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

TFT-LCD控制器RA8889ML3N的顯示控制功能如何移植到emWin中-教程

MCU+LCD顯示控制技術(shù)介紹 ? 來源:MCU+LCD顯示控制技術(shù)介紹 ? 作者:MCU+LCD顯示控制技術(shù) ? 2023-06-20 15:34 ? 次閱讀

前言
瑞佑科技RA8889ML3N是一款功能強(qiáng)大的彩色液晶顯示控制器,內(nèi)置128Mb SDRAM, 支持1366x2048高分辨率液晶顯示屏,單片機(jī)MCU端支持8080/6800 8/16-bit接口,以及?線SPI 或IIC接口。 RA8889支持多圖層應(yīng)用、畫幾何圖形引擎、2D圖形加速引擎(BTE)、畫中畫(PIP 實(shí)現(xiàn)彈窗利器)、支持BMP、JPEG格式圖片顯示,并內(nèi)置了視頻解碼功能。

如何將RA8889強(qiáng)大的顯示控制功能移植到emWin平臺(tái),以求做出流暢、炫酷的UI操作界面,接下來就說明我們?nèi)绾螌A8889的應(yīng)用驅(qū)動(dòng)移植到emWin GUI Library里,實(shí)現(xiàn)在emWin平臺(tái)上使用RA8889內(nèi)置的液晶顯示控制功能。

以下范例是基于使用瑞??萍嫉腞A8889 EV Board開發(fā)板,使用STM32F103VET6 MCU,和使用Keil MDK 編譯。

pYYBAGSIJE2AcfvcAAbZj9plRw4528.png

詳細(xì)步驟如下:

一、 獲得 emWin Graphic Library
1. 安裝 Keil MDK,在 C:Keil_v5ARMSeggeremWin 路徑下獲得 emWin library

pYYBAGSIJ3CAPjb_AAAgk1iXmKc385.png


2. 在 C:Keil_v5ARMSeggeremWinDoc 獲得 emWin User&Reference Guide

pYYBAGSIKTSAIMejAAAk8fq6RTc121.png

3. 與瑞佑科技的深圳分公司(深圳瑞福科技-Q2851189731)聯(lián)絡(luò),以獲得最新版的RA8889_API_Demo_Vxx范例。
二、開始移植

RA8889_API_emwin546_stm32f103_8080IF 范例是由 RA8889_API_Demo_Vxx 加入emWin Library 產(chǎn)生的,以下修改說明請(qǐng)參考范例程序項(xiàng)目。
1. 首先新增 3 個(gè)文件夾 emwin_config, emwin_inc, emwin_lib

pYYBAGSIKsCAIFc-AAArmys2Pg8177.png

1) 在 C:Keil_v5ARMSeggeremWinSampleConfig,復(fù)制 GUIConf.c 、GUIConf.h 、 LCDConf.c 、 LCDConf.h 4 個(gè)文件到emwin_config 文件夾內(nèi)。
(2) 在 C:Keil_v5ARMSeggeremWinSampleDisplayDriver,復(fù)制GUIDRV_Template.c 文件到 emwin_config 文件夾內(nèi)。
(3) 在 C:Keil_v5ARMSeggeremWinSampleGUI_X,復(fù)制 GUI_X.c 文件到emwin_config 文件夾內(nèi)。
(4) 在 C:Keil_v5ARMSeggeremWinInclude,復(fù)制所有的.h 文件到 emwin_inc 文件夾內(nèi)。
(5) 在 C:Keil_v5ARMSeggeremWinLib,復(fù)制 GUI_CM3.lib 文件到 emwin_lib 文件夾內(nèi)。 (由于我們的 STM32F103 是 CM3核心,所以選用 CM3)。
(6) 在 C:Keil_v5ARMSeggeremWinSampleApplicationGUIDemo 內(nèi),復(fù)制全部的文件夾到 emwin_demo 文件夾內(nèi)。

2. 打開 Keil 項(xiàng)目,在 Manage Project Items 內(nèi)建立 emwin_config 、 emwin_lib 、emwin_demo 3 個(gè) Groups 并加入文件,如下圖。

pYYBAGSIK7-AIQSvAADVtLQcs2c916.png

在 Option for Target 里面的 Include Paths 新增 3 個(gè) include paths 如下圖。

pYYBAGSILmaAH2YwAABy55NdajU943.png

3. 以上設(shè)定完后,我們編譯時(shí)應(yīng)該會(huì)產(chǎn)生以下錯(cuò)誤:
Error: L6218E: Undefined symbol GUI_X_GetTaskId (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_InitOS (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_Lock (referred from gui_task.o).
Error: L6218E: Undefined symbol GUI_X_Unlock (referred from gui_task.o).
由于本范例沒使用 OS 操作系統(tǒng),所以我們先忽略這個(gè)問題,為了讓編譯可以正常進(jìn)行,我們?cè)?GUI_X.c 內(nèi)加入這幾個(gè)函數(shù),如下圖。

poYBAGSILyWAGAzxAABove29h4Y418.png

4. emWin GUI 時(shí)基源
emWin GUI 需要一個(gè)時(shí)基源并須1ms遞增,即OS_TimeMS變數(shù)在GUI_X.c文件內(nèi)聲明,MCU必須先提供一個(gè)1ms的timer tick,通常在Cortex-M由SysTick的設(shè)定由SysTick_Handler{}中斷函數(shù)去遞增變量來實(shí)現(xiàn),而本文范例采用MCU TIMER中斷來提供1ms的tick,在stm32f10x_it.c內(nèi)TIM3_IRQHandler()中斷函數(shù)實(shí)現(xiàn)tick遞增。
5 分配內(nèi)存給emWin系統(tǒng)

在GUIConf.c文件內(nèi)設(shè)定,內(nèi)存大小會(huì)影響效能,須根據(jù)MCU的內(nèi)存大小去配置。

pYYBAGSIMyuAf7KoAABlgKPxVJg593.png

6. GUIDRV_Template.c修改

使用GUIDRV_Template.c 作為新增一個(gè)GUI設(shè)備的驅(qū)動(dòng)文件,emWin實(shí)現(xiàn)屏幕的驅(qū)動(dòng)主要在于寫一個(gè)點(diǎn)與讀一個(gè)點(diǎn),我們必須修改static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, LCD_PIXELINDEX PixelIndex)與static LCD_PIXELINDEX_GetPixelIndex(GUI_DEVICE * pDevice, int x, int y)兩個(gè)主要函數(shù),如下圖。

poYBAGSIM3KAN_96AABtZsIZGT0066.pngpYYBAGSIM6uAaOS5AAByC81hfcY658.png

引入的 putPixel()與 getPixel()函數(shù)來自 RA8889_API.h,在這個(gè)范例選用 16bit RGB565 或24bit RGB888 數(shù)據(jù)格式,參考 UserDef.h 選用如下設(shè)定:
支持 16bit RGB565 (使用 emWin GUICC_M565)
#define Parallel_8080
#define MCU_16bit_ColorDepth_16bpp
支持 24bit RGB888 (使用 emWin GUICC_M888)
#define Parallel_8080
#define MCU_16bit_ColorDepth_24bpp_Mode_2
另外為了優(yōu)化填充效率, 在 GUIDRV_Template.c 文件新增定義 Add2D_Optimize, 使用 RA8889 內(nèi)建 2D 繪圖加速功能并增加到_FillRect()、 _DrawHLine()、 _DrawVLine()函數(shù)內(nèi), 如下圖:

poYBAGSINDmATDVxAABTjoPsGLU011.pngpYYBAGSINF-AMRTxAAA9Zmfy1sk605.png

7. 修改LCDconf.c 如下圖:

poYBAGSINMmAKcDUAACCjxtLFjY015.png

上述設(shè)定完成后,在 main.c 加入以下內(nèi)容,開始運(yùn)行 GUIDEMO。

pYYBAGSINQuAVPe5AAAtGtXVb2E160.png

運(yùn)行效果圖如下:

poYBAGSINZqAPY8fAAiDOb51AY0622.png

三、在emWin平臺(tái)上移植RA8889顯示控制功能的優(yōu)勢(shì)

1)顯示效果優(yōu)化

利用RA8889內(nèi)建DRAM與BTE功能取代emWin Memory Device功能,可實(shí)現(xiàn)刷新顯示時(shí)不閃屏,具體如何應(yīng)用,可與瑞福科技聯(lián)系-Q2851189731;

2) 多緩存應(yīng)用

利用RA8889內(nèi)建的128Mbit DRAM ,分配內(nèi)存給emWin在RA8889的顯存上操作,即可實(shí)現(xiàn):緩存1用于液晶屏的顯示(即顯示區(qū))、緩存2 用于emWin的讀寫操作內(nèi)存、另外可分配緩存3、緩存4…等等,比如緩存3可用于顯示掛在RA8889上的Flash的圖片,當(dāng)需要顯示時(shí),即可用BTE的復(fù)制粘貼到顯示區(qū)顯示,比如緩存4用作視頻的緩存紐帶,可完美實(shí)現(xiàn)emWin窗口+視頻播放的顯示搭配效果;以上實(shí)現(xiàn)具體原理,以及代碼例程,可與瑞??萍悸?lián)系Q2851189731技術(shù)交流。

總結(jié):在emWin平臺(tái)上配合使用瑞佑科技的液晶顯示控制器芯片RA8889ML3N,即使低端的MCU,也可驅(qū)動(dòng)高分辨率(1366*2048)液晶顯示屏, 可做出流暢、炫酷的UI操作界面。

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

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177806
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4424

    瀏覽量

    167400
  • TFT
    TFT
    +關(guān)注

    關(guān)注

    10

    文章

    385

    瀏覽量

    111062
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    214

    瀏覽量

    16658
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    彩色液晶TFT-LCD顯示控制芯片RA8889ML3N功能演示#尋找100+國(guó)產(chǎn)半導(dǎo)體廠家

    lcd液晶控制芯片TFT顯示技術(shù)TFT-LCDLCD
    MTCN2013
    發(fā)布于 :2022年09月16日 10:43:53

    模仿RA8875/RA8876做個(gè)圖形LCD控制器,STM32跑emWin接VGA顯示器測(cè)試OK

    RA8875/RA8876上實(shí)現(xiàn),但在emWin應(yīng)用如果沒有文字剪切顯示的話就沒法做移動(dòng)窗口了! 做個(gè)列表對(duì)
    發(fā)表于 06-04 21:32

    TFT-LCD液晶顯示控制器RA887X系列_工業(yè)級(jí)_抗干擾能力強(qiáng)

    系統(tǒng),辦公設(shè)備控制系統(tǒng),語言翻譯機(jī),各類RFID設(shè)備等)開發(fā)板圖片。TFT-LCD液晶顯示控制器RA887X系列選型列表:深圳市瑞??萍加邢?/div>
    發(fā)表于 06-16 16:39

    RA8889ML3N-電路參考,一款帶AVI視頻硬解的TFT-LCD顯示控制芯片

    RA8889ML3N是一款低功耗及顯示功能強(qiáng)大的彩色TFT-LCD顯示控制芯片,內(nèi)帶記憶體SDR
    發(fā)表于 02-17 13:05

    基于CPLD的TFT-LCD控制器的設(shè)計(jì)

    文章介紹了一種基于CPLD的TFT-LCD控制器的設(shè)計(jì)和實(shí)現(xiàn)方法。增加片外SRAM,以提供顯示緩存。并使用CPLD實(shí)現(xiàn)兩大主要功能,一是產(chǎn)生TFT-
    發(fā)表于 12-27 15:11 ?75次下載
    基于CPLD的<b class='flag-5'>TFT-LCD</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    基于Xilinx FPGA SOPC的TFT-LCD 控制器設(shè)計(jì)與實(shí)現(xiàn)

    根據(jù)TFT-LCD的工作原理,采用Xilinx公司的Microblaze微處理軟核,提出了一種基于嵌入式FPGA SOPC平臺(tái)的TFT-LCD控制器方案.并驗(yàn)證了該方案的可行性。該
    發(fā)表于 11-22 07:23 ?2471次閱讀
    基于Xilinx FPGA SOPC的<b class='flag-5'>TFT-LCD</b> <b class='flag-5'>控制器</b>設(shè)計(jì)與實(shí)現(xiàn)

    彩圖TFT-LCD單芯片控制器ST7789V數(shù)據(jù)手冊(cè)

    彩圖TFT-LCD單芯片控制器ST7789V數(shù)據(jù)手冊(cè)
    發(fā)表于 07-16 14:20 ?160次下載

    RA8889ML3N TFT LCD文字圖形控制器規(guī)格書

    RA8889ML3N TFT LCD文字圖形控制器規(guī)格書
    發(fā)表于 02-17 11:42 ?5次下載

    TFT LCD文字圖形控制器RA8873ML4N規(guī)格書

    RA887ML4N是一款功能強(qiáng)大的彩色液晶顯示控制芯片,內(nèi)置64Mb SDRAM,支持800x480分辨率的TFT
    發(fā)表于 09-16 11:12 ?9次下載

    基于單片機(jī)的TFT-LCD控制芯片RA8889ML3N功能介紹

    RA8889ML3N是一款功能強(qiáng)大的彩色液晶顯示控制芯片,內(nèi)置128Mb SDRAM ,內(nèi)置視頻解碼單元,支持JPEG/AVI硬解碼播放
    的頭像 發(fā)表于 09-26 15:34 ?2616次閱讀
    基于單片機(jī)的<b class='flag-5'>TFT-LCD</b><b class='flag-5'>控制</b>芯片<b class='flag-5'>RA8889ML3N</b><b class='flag-5'>功能</b>介紹

    RA8889彩色TFT控制器規(guī)格書

    RA8889ML3N是一款功能強(qiáng)大的彩色液晶顯示控制芯片,內(nèi)置128Mb SDRAM,內(nèi)置視頻解碼單元,支持JPEG/AVI硬解碼播放為普通單片機(jī)實(shí)現(xiàn)視頻播放提供可能.最大驅(qū)動(dòng) 136
    發(fā)表于 02-02 16:01 ?4次下載

    emWin平臺(tái)上應(yīng)用RA8889顯示控制的UI界面的優(yōu)化

    本文在說明如何將瑞佑科技的RA8889(液晶屏控制器TFT LCD Controller)的驅(qū)動(dòng)移植
    的頭像 發(fā)表于 07-20 14:39 ?842次閱讀

    TFT-LCD顯示控制芯片選型表

    電子發(fā)燒友網(wǎng)站提供《TFT-LCD顯示控制芯片選型表.pdf》資料免費(fèi)下載
    發(fā)表于 11-03 15:26 ?7次下載

    TFT-LCD顯示控制器RA8889ML3N原理圖免費(fèi)下載

    TFT-LCD液晶顯示控制方案參考電路-原理圖,適合1366*1024以下分辨率
    發(fā)表于 11-06 18:19 ?6次下載

    開發(fā)工具AP-Tool的MPU寫圖功能介紹-在RA8889ML3N的應(yīng)用

    液晶顯示控制芯片RA8889ML3N的圖片寫入功能介紹
    的頭像 發(fā)表于 11-09 13:16 ?441次閱讀
    開發(fā)工具AP-Tool的MPU寫圖<b class='flag-5'>功能</b>介紹-在<b class='flag-5'>RA8889ML3N</b><b class='flag-5'>中</b>的應(yīng)用
    RM新时代网站-首页