久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

mcu刷屏速度測試—基于STC32G12K128和JLX256128

[復制鏈接]
跳轉到指定樓層
樓主
  常聽到有人說刷屏太慢,于是想測一下我的屏最快能刷多少幀。目的不是為了看視頻,而是減少MCU在刷屏方面占用的時間。提高其使用效率。
  本實驗使用的MCU是STC32G12K128,屏采用了晶聯訊的JLX256128-920-PN。屏的時序是6800.
  測試時采用了一幅256x128的單色圖(黑白圖)。因為這款屏只能顯示單色圖像。
  先在群里咨詢了一下各位大師。用什么辦法方便測試屏的刷新速度。有高人指出。找一個閑置IO口,每次刷新完就讓IO口翻轉一次。然后運行時用示波器測IO口的頻率,其二倍就是刷新速度了。
  按這個思路,寫了一個程序,第一次測出刷新是40X2=80幀。
  不太滿意,又修改了程序。使用了STC32G12K128的硬件LCM接口和DMA功能。再測刷新速度成為265x2=530幀。
  做最后的努力。對程序進行極限優化,測出的刷新速度為323x2=646幀。
  這時mcu的設置到了極限,就是說找不到可以繼續提高的速度的設置了。估計使用STC32F,刷新速度還會有大的提高。
  對這個數據我簡單分析了一下。一屏圖像的數據量為256x128=32768點。單色屏需要4096字節。也就是4K。646幀數據需要每秒傳送2646016字節。不到3M,一個字節需要的時間包括相關使能電平變化,數據的移動,指令的下達,應該是這個時間的4-6倍。按5倍核算的話,這時端口的運行速度在15M。無論對MCU還是屏都是可以接受的。
  下面給出程序的主要內容和測試時示波器的顯示:
void main(void)
{                                                
uint i;
        mcu_initial();
        initial_lcd();                                                 //對液晶模塊進行初始化設置
        transfer_command_lcd(0x08);                //數據格式,
        clear_screen();                                        //清屏
for (i=0;i<4096;i++)
        buffer1[ i]=onecolor[ i];//把code的數據搬到xdata
        lcm_dma_transfer(1,1,256,128,4096,buffer1);//這是個完整的顯示函數
        clear_screen();                                //清屏
      lcd_address(1,1,256,128);
        while(1)
        {
                DMA_LCM_CR = 0xa1; //啟動 DMA 開始發送數據
                P1=~P1;
                while(!(DMA_LCM_STA&0x01));//等待一屏數據發送完成
                        DMA_LCM_STA = 0x00; //清除 DMA 狀態
        }
}
void mcu_initial(void)
{
P1M1=0x00;
P1M0=0x00;   //P1配置為準雙向
P2M1=0x00;
P2M0=0x00;   //P2配置為準雙向
P3M1=0x00;
P3M0=0x00;   //P3配置為準雙向        
P4M0=0xff;
P4M1=0x00;
EAXFR = 1; //使能訪問 XFR
CKCON = 0x00; //設置外部數據總線速度為最快
WTST = 0x00; //設置程序代碼等待參數,
LCMIFCFG = 0x01; //設置 LCM 接口為 8 位數據位,6800 接口,數據口為 P2
LCMIFCFG2 = 0x00;        //RS:P45,RD:P44,WR:P42; Setup Time=0,HOLD Time=0。
LCMIFSTA = 0x00;//標志位清零
LCMIFCR = 0x80; //使能 LCM 接口
}
速度提升最大的是LCM接口的使用和DMA功能的使用。極限優化主要表現在兩點,一個是LCMIFCFG2=0。把數據建立時間和保持時間都設成最小了。
二是主程序循環中把設置項都提前了。避免重復設置。循環中只保留了向屏發送數據指令,IO口翻轉指令和等待任務完成指令。MCU主頻為35M。完整的程序見附件。

40.png (20.49 KB, 下載次數: 54)

40.png

265.png (25.54 KB, 下載次數: 56)

265.png

323.png (23.1 KB, 下載次數: 51)

323.png

實物.jpg (3.94 MB, 下載次數: 51)

實物.jpg

lcd_256.zip

129.83 KB, 下載次數: 12, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:373976 發表于 2023-5-25 18:49 | 只看該作者
學到了DMA方式驅動LCM.
回復

使用道具 舉報

板凳
ID:1039438 發表于 2023-5-26 20:26 | 只看該作者
這款屏所用芯片的幀率上限是153HZ,所以有理由認為這個測試實際是測量了stc32g12k128
的寫屏速度,并且這個速度對單屏圖像顯示是有效的。對于連續寫屏。屏上實際顯示出的內容受限于屏本身的刷新速度。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日韩欧美一区二区三区 | 国产一区二区三区久久久久久久久 | 中文字幕av在线播放 | 国产三级 | 超碰免费在 | 欧美区日韩区 | 99免费在线观看 | 日韩成人免费视频 | 麻豆一区二区三区精品视频 | 亚洲一区二区在线播放 | 日韩欧美一级精品久久 | 五月婷婷激情网 | 久久久久国产一区二区三区四区 | 久久69精品久久久久久国产越南 | 国产精品久久久久久久久久久久冷 | 亚洲精品综合 | 免费污视频 | 亚洲精品久久久久久下一站 | 欧美一级片中文字幕 | 欧美亚洲日本 | 亚洲成av | 精品国产乱码久久久久久牛牛 | 中文字幕在线免费 | 婷婷色国产偷v国产偷v小说 | 日韩在线91 | 国产精品电影在线观看 | 日日夜夜精品免费视频 | 综合色在线| 日本一二三区在线观看 | 欧美a∨ | 成人在线一区二区 | 久久久亚洲一区 | 999久久久精品 | 两性午夜视频 | 女女爱爱视频 | 亚洲成人三区 | 免费成人高清在线视频 | 久久久久久久久久久久一区二区 | 看一级毛片视频 | 精品香蕉一区二区三区 | 91在线视频观看 |