基于SoC FPGA芯片的異步全彩LED顯示控制器解決方案
3 京微雅格SoC FPGA方案
本文引用地址:http://www.ex-cimer.com/article/221571.htm京微雅格CME-M5系列 FPGA集成了增強(qiáng)型8051 MCU,兼容標(biāo)準(zhǔn)8051指令集,12倍于標(biāo)準(zhǔn)8051的MIPS,頻率最高可達(dá)200MHz,支持高達(dá)8MB數(shù)據(jù)及代碼空間擴(kuò)展,支持硬件32/16- bit MDU(Multiplication Division Unit),128K Byte SPRAM,可作為8051的代碼或數(shù)據(jù)存儲器,集成片上調(diào)試系統(tǒng)OCDS,支持JTAG在線調(diào)試;外設(shè)有3個16-bit定時器,1個16-bit看門狗,1個I2C接口,1個SPI接口,2個USART接口,1個RTC實(shí)時時鐘,8通道DMA;支持STOP,IDLE電源管理模式。支持基于 MSS(Microcontroller Subsystem)的系統(tǒng)編程、系統(tǒng)多配置、系統(tǒng)在線更新、動態(tài)頻率切換等特性。CME-M5內(nèi)部結(jié)構(gòu)框圖見圖5。
圖5:京微雅格CME-M5器件結(jié)構(gòu)框圖
在本設(shè)計(jì)中,增強(qiáng)型 8051實(shí)現(xiàn)以太網(wǎng)TCP/IP協(xié)議棧,實(shí)現(xiàn)對NandFlash / SD卡的訪問,顯示特效處理,并調(diào)度FPGA功能模塊實(shí)現(xiàn)LED顯示。FPGA則負(fù)責(zé)LED刷新控制,其功能包含:灰度控制、刷新率控制、亮度控制、伽馬校正等。PC提供人機(jī)交互,讓用戶通過上位機(jī)軟件編輯“節(jié)目”,即需要最終在LED屏上顯示的內(nèi)容,包含文本,圖片,視頻以及顯示特效,例如百葉窗,流水等;最后上位機(jī)軟件把“節(jié)目”轉(zhuǎn)換成特定的數(shù)據(jù)文件通過以太網(wǎng)傳送給CME-M5,由CME-M5把接收到的數(shù)據(jù)文件寫入NandFlash/SD卡。系統(tǒng)框圖如下:
圖6:基于CME-M5解決方案框圖
CME-M5 FPGA功能描述
1)伽馬校正
根據(jù)LED的響應(yīng)特性,需要對輸入的8位灰度值進(jìn)行伽馬校正,使之映射到14~16位灰度值,這部分功能是FPGA通過查表方式的實(shí)現(xiàn)的。伽馬校正的參數(shù)可以通過PC上位機(jī)進(jìn)行修改。
2)灰度控制
下面以8bit/256級灰度作為例子,闡述LED灰度控制原理。對于RGB三基色LED顯示,256級灰度意味著R、G、B各使用8bit來表示灰度值(2^8=256,即256級灰度)。每顆LED有獨(dú)立的R、G、B三個信號供FPGA分別控制。
全彩LED驅(qū)動芯片通常分為自帶PWM的恒流源以及不帶PWM的恒流源。接下來以不帶PWM的驅(qū)動芯片MBI5024為例介紹灰度控制原理。MBI5024的內(nèi)部結(jié)構(gòu)框圖見圖7。 FPGA向SDI送入每個像素點(diǎn)R/G/B灰度值,OUT0~OUT15連接LED的R/G/B,OE_n控制對應(yīng)每bit灰度值點(diǎn)亮LED時間的長短。 8bit/256級灰度控制,通常使用19場方式,假設(shè)子場的周期為T,那么一個刷新周期的總時間為19T。19場被分為8份,時間分別為 8T,4T,2T,1T,1T,1T,1T,1T;OE_n有效時間分別為8T,4T,2T,1T,1/2T,1/4T,1/8T,1/16T。
以下介紹如何對R進(jìn)行灰度控制,G,B的灰度控制原理是類似的。8T對應(yīng)8bit灰度值的最高位R[7],其刷新的時間長度為8T;4T對應(yīng)8bit灰度值的次高位R[6],其刷新的時間長度為4T……1/16T對應(yīng)最低位R[0],其刷新的時間長度為1/16T。如圖8所示, R[7]在T0周期送出,R[6]在T1周期送出,R[5]在T2周期送出……R[0]在T7周期送出。
OUT0~OUT15分別連接第0顆~第15顆LED的R。使用Ri[j]表示第i顆LED的R灰度值的第j位,以下是操作流程:
1. SDI移入 {R0[7], R1[7], R2[7], R3[7], R4[7], R5[7], R6[7], R7[7], R8[7], R9[7], R10[7], R11[7], R12[7], R13[7], R14[7], R15[7]};R15[7]先移入,R0[7]最后移入;
fpga相關(guān)文章:fpga是什么
評論