查看: 5147|回復: 1
打印 上一主題 下一主題

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

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2016-6-4 23:04:47 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
   看到STM32+RA8875+emWin做人機界面這么流行,于是也用FPGA模仿RA8875做了個(gè)圖形LCD控制器。圖形LCD控制器的系統主構架是:FPGA+DDR2+Nand-Flash,FPGA里面還跑了個(gè)8051,因為要做指令緩沖、FAT32文件系統、Nand-Flash驅動(dòng)程序,這三樣東西沒(méi)有C語(yǔ)言單靠FPGA基本是沒(méi)法實(shí)現的,其實(shí)這也是圖形LCD控制器和RA8875/RA8876最大不同的地方,可以說(shuō)在某些方面是RA8875/RA8876的升級版!還是先上圖:

   LCD控制器的Nand-Flash可以?xún)Υ孀謳旌蛨D片,支持FAT32文件系統管理,通過(guò)N-LINK下載線(xiàn)連接電腦USB,就可以和U盤(pán)一模一樣使用(使用系統自帶驅動(dòng),寫(xiě)速度是3.2Mbytes/S,讀速度是5.6Mbytes/S)

這樣用的話(huà)其實(shí)就是一個(gè)SLC顆粒的U盤(pán)。。。
這個(gè)是用圖形LCD控制器做好的GVGA顯示卡,可以接大尺寸的VGA顯示器,目前最大支持24位色1280*800@60Hz分辨率:


  兩個(gè)2.54簡(jiǎn)牛插座一個(gè)是SPI接口的,另一個(gè)是Intel 8080接口的,VGA插座旁邊那個(gè)是PS/2鍵盤(pán)和鼠標接口,因為市面上大部分USB鼠標和鍵盤(pán)都兼容PS/2,所以就做成了USB插座;再過(guò)去那個(gè)42.54排針是觸摸屏插座,可以接15寸以上的4線(xiàn)電阻觸摸屏都沒(méi)問(wèn)題,因為觸摸屏程序是經(jīng)過(guò)優(yōu)化的,誤差和跳動(dòng)非常!鼠標、鍵盤(pán)、觸摸屏的觸發(fā)事件是通過(guò)指令回傳給CPU,鼠標的光標是由圖形LCD控制器內部產(chǎn)生的。
  對于具備2D圖形加速和指令緩沖功能的LCD控制器來(lái)說(shuō),其實(shí)用SPI接口發(fā)送指令顯示圖形、文字、圖片就足夠了,沒(méi)必要用Intel 8080總線(xiàn),麻煩而且顯示速度基本一樣。
目前具備的功能和特征:
1) 基于emWin應用,可實(shí)現組態(tài)、拖放式人機用戶(hù)界面設計。
2) 硬件2D圖形加速協(xié)處理器,以硬件DMA的方式顯示BMP圖片、文字、矩形、圓形、直線(xiàn)、點(diǎn)、區域填充、區域拷貝、顯存拷貝等等。
3) Nand-Flash作為字庫和圖片的儲存器(結合N-LINK下載線(xiàn)U盤(pán)一模一樣使用)。
4) 雙顯存自動(dòng)管理設計,避免屏幕更新時(shí)出現”拉窗簾”現象。
5) 24位色(RGB888)顯示,帶VGA時(shí)序輸出。
6) 基于FAT/FAT32文件系統管理字庫和圖片,支持多級文件夾(子目錄)。
7) 可自行制作BIN字庫,支持多種字庫工具生成的字庫。
8) 字庫顯示編碼格式支持ASCII、GB2312、GBK、BIG5、UNICODE(等寬/非等寬),并且支持文字剪切顯示。
9) 支持16bbp(RGB565)/24bbp(RGB888)BMP格式位圖,可實(shí)現圖片裁剪、透明顯示。
10) 支持SPI(串行) 或者Intel 8080(并行)通信接口。
11) 支持4線(xiàn)電阻觸摸屏、PS/2鼠標、PS/2鍵盤(pán)、4×6矩陣鍵盤(pán)、RTC時(shí)鐘顯示、背光亮度調節、文本光標、蜂鳴器。
  注意了,以下功能是沒(méi)有2D圖形加速的:文字放大/縮小、文字旋轉、圖片放大/縮小、圖片旋轉、圖片半透明顯示、圖層半透明疊加、圖層淡入淡出;因為若要實(shí)現這些功能, FPGA成本可能要翻倍!

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


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


看的出是emWin做的界面嗎?







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


  不要以為文字剪切顯示是個(gè)簡(jiǎn)單的事情,用FPGA邏輯來(lái)實(shí)現并不那么簡(jiǎn)單,也許瑞佑覺(jué)得這個(gè)功能不重要所以沒(méi)在RA8875/RA8876上實(shí)現,但在emWin應用中如果沒(méi)有文字剪切顯示的話(huà)就沒(méi)法做移動(dòng)窗口了!
做個(gè)列表對RA8876、SSD1963圖形LCD控制器做個(gè)比較:

  
  

RA8876


圖形LCD控制器


SSD1963


MCU接口


8080/6800/I2C/SPI


8080/SPI


8080/6800


最大分辨率


多顯存
  1366×768@16.77M


雙顯存
  1280×800@16.77M


單顯存
  864×480@16.77M


顯存區


多顯存區,用戶(hù)隨意切換和操作各個(gè)顯存區;可實(shí)現混合透明、畫(huà)中畫(huà)等


雙顯存區,操作區和顯示區自動(dòng)切換管理


單顯存區


BTE區塊傳輸引擎


顯存/區域拷貝、光柵操作、混合透明、淡入淡出、畫(huà)中畫(huà)等


顯存/區域拷貝


不支持


外部ROM


SPI-Flash


Nand-Flash


不支持


外部ROM訪(fǎng)問(wèn)接口


不支持


USB(U盤(pán)模式)
  FAT32文件系統管理


不支持


字庫


SPI字庫芯片
  ASCII/GB2312/BIG5/
  Unicode
  文字90度旋轉顯示
  通過(guò)寄存器控制顯示(DMA)


自己制作BIN字庫
  U盤(pán)模式寫(xiě)入Nand-Flash
  ASCII/GB2312/BIG5/
  Unicode(等寬/非等寬)
  文字剪切顯示
  通過(guò)指令控制顯示(DMA)


不支持


圖片


BMP位圖
  單色/TFT相同顏色
  預存外部SPI-Flash
  通過(guò)寄存器控制顯示(DMA)


BMP位圖
  16/24位色
  U盤(pán)模式寫(xiě)入Nand-Flash
  通過(guò)指令控制顯示(DMA)


不支持


2D圖形加速協(xié)處理器


畫(huà)點(diǎn)、線(xiàn)、曲線(xiàn)、橢圓、三角形、矩形、圓角矩形、區域填充
  通過(guò)寄存器管理


畫(huà)點(diǎn)、線(xiàn)、橢圓、矩形、區域填充
  通過(guò)指令管理


不支持


指令緩存


不支持


支持


不支持


PS/2設備


不支持


PS/2鼠標、PS/2鍵盤(pán)


不支持


矩陣鍵盤(pán)


5×5矩陣鍵盤(pán)


4×6矩陣鍵盤(pán)


不支持


觸摸屏


4線(xiàn)電阻


4線(xiàn)電阻(外接控制器IC)


不支持


光標


4個(gè)圖形光標


1個(gè)文本光標,1個(gè)圖形光標


不支持




2


1


不支持


RTC實(shí)時(shí)時(shí)鐘


不支持


支持(外接RTC時(shí)鐘IC)


不支持


待機模式


支持


不支持


不支持



最后奉獻上emWin通過(guò)Skinning方式實(shí)現位圖皮膚的源代碼
GLCD-EMWIN模擬器效果演示.rar (497.4 KB)
demo_emwin_skinPRJ_V530noOS_CodeBlocks_v116.rar (4.13 MB)


沙發(fā)
 樓主| 發(fā)表于 2016-6-6 01:28:25 | 只看該作者
自己頂一下~~~~~
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页