最近在做4k-led的項目,一個接收卡驅動的led的點數是1024 * 256,今天來分享一下FPGA驅動led的原理,接收卡的板卡如下圖所示:
一個接收卡包含了16個HUB75接口,一個HUB75接口驅動64256個點,那么16個驅動一共有1664256 = 1024256個點。
首先來看一下HUB75接口的定義,如下圖所示:
一、 顯示的原理:
每一個HUB75接口由R1/B1/G1/和R2/G2/B2組成,也就是說一個64掃的LED屏是由兩個32掃的RGB組成的,分為上下兩屏,即一個地址是同時選中了兩行的。
16個HUB75接口的相對應的是同時顯示的,即第0 32 64 96 128 行 …… 是同時顯示的。
到了第二次循環的時候地址加1,此時同時顯示是第1 33 65 97 ……
如此下去直到1024行顯示完畢,利用人眼的視覺殘留效果顯示一副圖像。
二、SDRAM儲存量計算
此項目在硬件上用FPGA+SDRAM(一片)的架構。
圖像來了之后先儲存在SDRAM,那么SDRAM是如何劃分的?SDRAM的速率帶寬是多少?又是如何計算的?我們一起來討論一下。
一副圖像的信息量是1024256,則一個點是RGB888,那么信息量是102425624 bit;一秒鐘來60幀圖像,那么1秒來的數據量是10242562460 bit = 377,487,360 bit ,約等于380M bit;如果是按照來一副圖像則顯示一副圖像的時候,那么SDRAM的速度要求為3802 =760M bit,現在來一副圖像的時候是根據19場原理來顯示的話(19場原理這里就不做介紹了)則有SDRAM的要求為380 * 3.5 = 1330Mbit。在此項目中我們使用的SDRAM的數據位寬為32位,時鐘頻率為100M,則有根據SDRAM的效率為70%來算的由32100*0.7 = 2100Mbit>1330Mbit,SDRAM的速率滿足要求。
三、SDRAM儲存圖像的原理
SDRAM的位寬是32位,一行有256*24 bit = y * 32,則y=192。即一行圖像在SDRAM中占據了192個地址。那么則有R 、G 、B三種顏色各自占據了64個地址,其中R[7:0]的R[0]占了8個地址,同理R[1]占了8個地址,以此類推每一個場占了8個地址,那么SDRAM可以劃分如下:
第0行
也就是說第0行的R[0]地址0-7,R[1]:8-15,……,R[7]:55-63, G[0]:64-71 , …,G[7]:120-127, …同理下去;
第一行的R[0]: 192 …199, R[1] : 200…207, …, … …
第二行:R[0]:384…391, … … …
…
…
…
…
…
一直到1023行
地址的計算:
R: cnt0*192 + cnt1 * 8
G: cnt0 *192 + cnt1 * 8+64
B: cnt0 * 192 + cnt1*8+128
cnt0:表示第幾行,cnt1表示第幾場。
這就是我們劃分SDRAM的數據的存儲過程。
對此技術感興趣的朋友可以聯系明德揚蘭老師。
溫馨提示:明德揚擅長的項目主要包括的方向有以下幾個方面:
1. MIPI視頻拼接
2. SLVS-EC轉MIPI接口(IMX472 IMX492)
3. PCIE采集系統
4. 圖像項目
5. 高速多通道ADDA系統
6. 基于FPGA板卡研發
7. 前端模擬采集、射頻、電荷靈敏前置放大器
有相關需求可以聯系:蘭老師18011939283(微信同號)