欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7338|回復: 5
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主

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


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


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



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





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



看的出是emWin做的界面嗎?













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



  不要以為文字剪切顯示是個簡單的事情,用FPGA邏輯來實現并不那么簡單,也許瑞佑覺得這個功能不重要所以沒在RA8875/RA8876上實現,但在emWin應用中如果沒有文字剪切顯示的話就沒法做移動窗口了!
做個列表對RA8876SSD1963圖形LCD控制器做個比較:

  
   
  
RA8876
圖形LCD控制器
SSD1963
MCU接口
8080/6800/I2C/SPI
8080/SPI
8080/6800
最大分辨率
多顯存
  1366×768@16.77M
雙顯存
  1280×800@16.77M
單顯存
  864×480@16.77M
顯存區
多顯存區,用戶隨意切換和操作各個顯存區;可實現混合透明、畫中畫等
雙顯存區,操作區和顯示區自動切換管理
單顯存區
BTE區塊傳輸引擎
顯存/區域拷貝、光柵操作、混合透明、淡入淡出、畫中畫等
顯存/區域拷貝
不支持
外部ROM
SPI-Flash
Nand-Flash
不支持
外部ROM訪問接口
不支持
USB(U盤模式)
  FAT32文件系統管理
不支持
字庫
SPI字庫芯片
  ASCII/GB2312/BIG5/
  Unicode
  文字90度旋轉顯示
  通過寄存器控制顯示(DMA)
自己制作BIN字庫
  U盤模式寫入Nand-Flash
  ASCII/GB2312/BIG5/
  Unicode(等寬/非等寬)
  文字剪切顯示
  通過指令控制顯示(DMA)
不支持
圖片
BMP位圖
  單色/TFT相同顏色
  預存外部SPI-Flash
  通過寄存器控制顯示(DMA)
BMP位圖
  16/24位色
  U盤模式寫入Nand-Flash
  通過指令控制顯示(DMA)
不支持
2D圖形加速協處理器
畫點、線、曲線、橢圓、三角形、矩形、圓角矩形、區域填充
  通過寄存器管理
畫點、線、橢圓、矩形、區域填充
  通過指令管理
不支持
指令緩存
不支持
支持
不支持
PS/2設備
不支持
PS/2鼠標、PS/2鍵盤
不支持
矩陣鍵盤
5×5矩陣鍵盤
4×6矩陣鍵盤
不支持
觸摸屏
4線電阻
4線電阻(外接控制器IC)
不支持
光標
4個圖形光標
1個文本光標,1個圖形光標
不支持
PWM
2
1
不支持
RTC實時時鐘
不支持
支持(外接RTC時鐘IC)
不支持
待機模式
支持
不支持
不支持


最后奉獻上emWin通過Skinning方式實現位圖皮膚的源代碼,用emWin的朋友應該很感興趣:

demo_emwin_skinPRJ_V530noOS_CodeBlocks_v116.rar (4.13 MB, 下載次數: 65)


評分

參與人數 1黑幣 +6 收起 理由
6789364 + 6 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:125154 發表于 2016-6-6 01:27 | 只看該作者
自己頂一下~~~~~
回復

使用道具 舉報

板凳
ID:6044 發表于 2016-8-15 17:01 | 只看該作者
謝謝分享 正好需要
回復

使用道具 舉報

地板
ID:143385 發表于 2017-5-28 09:12 | 只看該作者
這么好的方案,贊一個。
回復

使用道具 舉報

5#
ID:108573 發表于 2020-2-9 12:05 | 只看該作者
這個例程非常好,非常適合實際項目開發應用,能做出比較漂亮的界面
回復

使用道具 舉報

6#
ID:352986 發表于 2020-5-12 11:21 | 只看該作者
學習目標啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表