极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

2021-09-09 22:55:25      索煒達電子      1012     

看到STM32+RA8875+emWin做人機界面這么流行,于是也用FPGA模仿RA8875做了個圖形LCD控制器。圖形LCD控制器的系統(tǒng)主構(gòu)架是:FPGA+DDR2+Nand-Flash,F(xiàn)PGA里面還跑了個8051,因為要做指令緩沖、FAT32文件系統(tǒng)、Nand-Flash驅(qū)動程序,這三樣?xùn)|西沒有C語言單靠FPGA基本是沒法實現(xiàn)的,其實這也是圖形LCD控制器和RA8875/RA8876最大不同的地方,可以說在某些方面是RA8875/RA8876的升級版!還是先上圖:

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

LCD控制器的Nand-Flash可以儲存字庫和圖片,支持FAT32文件系統(tǒng)管理,通過N-LINK下載線連接電腦USB,就可以和U盤一模一樣使用(使用系統(tǒng)自帶驅(qū)動,寫速度是3.2Mbytes/S,讀速度是5.6Mbytes/S):

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

這樣用的話其實就是一個SLC顆粒的U盤。。。

這個是用圖形LCD控制器做好的GVGA顯示卡,可以接大尺寸的VGA顯示器,目前最大支持24位色1280*800@60Hz分辨率:

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

兩個2.54簡牛插座一個是SPI接口的,另一個是Intel 8080接口的,VGA插座旁邊那個是PS/2鍵盤和鼠標接口,因為市面上大部分USB鼠標和鍵盤都兼容PS/2,所以就做成了USB插座;再過去那個4腳2.54排針是觸摸屏插座,可以接15寸以上的4線電阻觸摸屏都沒問題,因為觸摸屏程序是經(jīng)過優(yōu)化的,誤差和跳動非常?。∈髽?、鍵盤、觸摸屏的觸發(fā)事件是通過指令回傳給CPU,鼠標的光標是由圖形LCD控制器內(nèi)部產(chǎn)生的。

  對于具備2D圖形加速和指令緩沖功能的LCD控制器來說,其實用SPI接口發(fā)送指令顯示圖形、文字、圖片就足夠了,沒必要用Intel 8080總線,麻煩而且顯示速度基本一樣。

目前具備的功能和特征:

1) 硬件2D圖形加速協(xié)處理器,以硬件DMA的方式顯示BMP圖片、文字、矩形、圓形、直線、點、區(qū)域填充、區(qū)域拷貝、顯存拷貝等等。

2) Nand-Flash作為字庫和圖片的儲存器(結(jié)合N-LINK下載線和U盤一模一樣使用)。

3) 雙顯存自動管理設(shè)計,避免屏幕更新時出現(xiàn)”拉窗簾”現(xiàn)象。

4) 24位色(RGB888)顯示,帶VGA時序輸出。

5) 基于FAT/FAT32文件系統(tǒng)管理字庫和圖片,支持多級文件夾(子目錄)。

6) 可自行制作BIN字庫,支持多種字庫工具生成的字庫。

7) 字庫顯示編碼格式支持ASCII、GB2312、GBK、BIG5、UNICODE(等寬/非等寬),并且支持文字剪切顯示。

8) 支持16bbp(RGB565)/24bbp(RGB888)的BMP格式位圖,可實現(xiàn)圖片裁剪、透明顯示。

9) 支持SPI(串行) 或者Intel 8080(并行)通信接口。

10) 支持4線電阻觸摸屏、PS/2鼠標、PS/2鍵盤、4×6矩陣鍵盤、RTC時鐘顯示、背光亮度調(diào)節(jié)、文本光標、蜂鳴器。

  注意了,以下功能是沒有2D圖形加速的:文字放大/縮小、文字旋轉(zhuǎn)、圖片放大/縮小、圖片旋轉(zhuǎn)、圖片半透明顯示、圖層半透明疊加、圖層淡入淡出;因為若要實現(xiàn)這些功能, FPGA成本可能要翻倍!

  因為圖形LCD控制器具備圖形2D加速功能,而且可儲存并顯示BIN字庫和BMP圖片,因此拿它做emWin的顯示屏再合適不過了,因為emWin底層驅(qū)動已經(jīng)預(yù)留了圖形LCD控制器的接口,只要把LCD驅(qū)動移植好,顯示速度是飛快的,而且不需要擔心沒有ROM儲存字庫和圖片,還可以用emWin的Skinning方式實現(xiàn)位圖皮膚,做位圖皮膚時可以整幅圖片貼圖,而不再需要對整幅圖片進行切片分解,界面貼圖非常方便、快捷!測試的硬件連接圖:

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

以下是800×600分辨率下點亮12寸VGA顯示器的效果:

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

看的出是emWin做的界面嗎?

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

圖形LCD控制器還有一個比RA8875/RA8876好的地方就是能實現(xiàn)文字剪切顯示:

【E976】模仿RA8875/RA8876做個圖形LCD控制器,STM32跑emWin接VGA顯示器測試OK

不要以為文字剪切顯示是個簡單的事情,用FPGA邏輯來實現(xiàn)并不那么簡單,也許瑞佑覺得這個功能不重要所以沒在RA8875/RA8876上實現(xiàn),但在emWin應(yīng)用中如果沒有文字剪切顯示的話就沒法做移動窗口了!

目錄│文件列表:

 │ 不繞彎路,獲取海量資源.jpg

 └ demo_emwin_skinPRJ_V530noOS_CodeBlocks_v116

    │ CleanUp.bat

    │ ReadMe.html

    │ readme.txt

    │ SimError.log

    │ SimulationTrial.cbp

    │ SimulationTrial.cscope_file_list

    │ SimulationTrial.depend

    │ SimulationTrial.layout

    ├ Application

    │  │ bitmap.h

    │  │ MainTask.c

    │  │ WindowDLG.rar

    │  │ WINpage1.c

    │  │ WINpage1_top.c

    │  │ WINpage2.c

    │  │ WINpage2_top.c

    │  │ wintop.c

    │  │ wintop.h

    │  ├ pics

    │  │  │ Page1_M.bmp

    │  │  │ Page1_M.c

    │  │  │ Page1_N.bmp

    │  │  │ Page1_N.c

    │  │  │ Page1_P.bmp

    │  │  │ Page1_P.c

    │  │  │ Page1_TN.bmp

    │  │  │ Page1_TN.c

    │  │  │ Page2_M.bmp

    │  │  │ Page2_M.c

    │  │  │ Page2_N.bmp

    │  │  │ Page2_N.c

    │  │  │ Page2_P.bmp

    │  │  │ Page2_P.c

    │  │  ├ mov0

    │  │  │  │ 00.bmp

    │  │  │  │ 00.c

    │  │  │  │ 01.bmp

    │  │  │  │ 01.c

    │  │  │  │ 02.bmp

    │  │  │  │ 02.c

    │  │  │  │ 03.bmp

    │  │  │  │ 03.c

    │  │  │  │ 04.bmp

    │  │  │  │ 04.c

    │  │  │  │ 05.bmp

    │  │  │  │ 05.c

    │  │  │  │ 06.bmp

    │  │  │  │ 06.c

    │  │  │  │ 07.bmp

    │  │  │  │ 07.c

    │  │  │  │ 08.bmp

    │  │  │  │ 08.c

    │  │  │  │ 09.bmp

    │  │  │  │ 09.c

    │  │  │  │ 10.bmp

    │  │  │  │ 10.c

    │  │  │  │ 11.bmp

    │  │  │  │ 11.c

    │  │  │  │ 12.bmp

    │  │  │  │ 12.c

    │  │  │  │ 13.bmp

    │  │  │  │ 13.c

    │  │  │  │ 14.bmp

    │  │  │  │ 14.c

TAGRA8875
  • 5 次
  • 1 分