新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于FPGA的LED大屏幕控制系統設計

        基于FPGA的LED大屏幕控制系統設計

        作者: 時間:2011-03-24 來源:網絡 收藏

        摘要:介紹顯示屏的工作原理,提出圖文顯示屏MCU+方案。單片機系統負責接收和存儲上位機點陣數據,控制器完成顯示數據的轉換、動態掃描并驅動LED顯示屏。控制器由VHDL語言編程實現,并在QuartuslI中仿真測試通過。整個系統外圍電路簡單,易于擴展。
        關鍵詞:FPGA;LED;

        引言
        目前,市場上的中小規模LED顯示系統,一般采用傳統的單片機作為主控芯片。對LED大屏幕顯示屏來說,由于數據傳輸量大,要求掃描速度快,而單片機內部的資源較少、運行速度較慢,難于滿足系統要求。以FPGA作為控制器,一方面,FPGA采用軟件編程實現硬件功能,速度較快;另一方面,它的引腳資源豐富,可擴展性強。因此,用單片FPGA和簡單的外圍電路就可以實現大屏幕LED顯示屏的控制,無需另外漢字庫,具有集成度高、穩定性好、靈活和效率高等優點。

        1 系統總體結構
        LED大屏幕顯示系統由上位機(PC機)、單片機系統、FPGA控制器、LED顯示屏的行列驅動電路等模塊組成,如圖1所示。上位機負責漢字、字符等數據的采集與發送。單片機系統與上位機之間以異步串行通信工作方式,通過串行端口從上位機獲得已完成格式轉換的待顯示的圖形點陣數據,并將其存入EEPROM存儲器。之后通過FPGA控制器,將存儲器的顯示數據還原到LED顯示屏。掃描控制電路采用可編程邏輯芯片Cyclone EP1C6,利用VHDL語言編程實現,采用1/16掃描方式,刷新頻率在60 Hz以上。本文著重介紹256×1024的單色圖文顯示屏的FPGA控制模塊。

        本文引用地址:http://www.104case.com/article/169049.htm

        a.jpg



        2 LED顯示屏基本工作原理
        對大屏幕LED顯示屏來說,列顯示數據通常采用的是串行傳輸方式,行采用1/16的掃描方式。圖2為16×32點陣屏單元模塊的基本結構,列驅動電路采用4個74HC595級聯而成。在移位脈沖SRCLK的作用下,串行數據從74HC595的數據端口SER一位一位地輸入,當一行的所有32列數據傳送完后,輸出鎖存信號RCLK并選通行信號Y0,則第1行的各列數據就可按要求顯示。按同樣的方法顯示其余各行,當16行數據掃描一遍(即完成一個周期)后,再從第1行開始下一個周期的掃描。只要掃描的周期小于20 ms,顯示屏就不閃爍。

        b.jpg


        256×1024大屏幕顯示屏由16×32個的16×32點陣屏級聯而成。為了縮短到屏體的信號傳輸時間,將顯示數據分為16個區,每個區由16×1024點陣組成,每行數據為1024/8=128字節,顯示屏的像素信號由LED顯示屏的右側向左側傳輸移位,把16個分區的數據存在同一塊存儲器。一屏的顯示數據為32 KB,要準確讀出16個分區的數據,其存儲器的讀地址由16位組成,由于數據只有32 KB,因此最高可置為0。其余15位地址從高到低依次為:行地址(4位)、列地址(7位)、分區地址(4位)。4位分區地址的譯碼信號(Y0~Y15)作為鎖存器的鎖存脈沖,在16個讀地址發生周期內,依次將第1~16分區的第1字節數據鎖存到相應的鎖存器,然后在移位鎖存信號上升沿將該16字節數據同時鎖存入16個8位并轉串移位寄存器組中。在下一個16個讀地址發生時鐘周期,一方面,并轉串移位寄存器將8位數據移位串行輸出,移位時鐘為讀地址發生時鐘的二分頻;另一方面,依次將16個分區的第2字節數據讀出并鎖入相應的鎖存器,按照這種規律將所有分區的第一行數據依次全部讀出后,在數據有效脈沖信號的上升沿將所有串行移位數據輸出,驅動LED顯示。接下來,移位輸出第2行的數據,在此期間第1行保持顯示;第2行全部移入后,驅動第2行顯示,同時移入第3行……按照這種各分區分行掃描的方式完成整個LED大屏幕的掃描顯示。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宝鸡市| 舞阳县| 合江县| 奉新县| 华亭县| 聂荣县| 美姑县| 迁西县| 田东县| 承德市| 通州市| 无为县| 舞阳县| 德兴市| 新蔡县| 定安县| 嵩明县| 东丰县| 沿河| 临洮县| 都匀市| 铜梁县| 商城县| 浦东新区| 友谊县| 裕民县| 石首市| 唐山市| 益阳市| 社旗县| 宁晋县| 龙口市| 六枝特区| 长子县| 华坪县| 大港区| 肥东县| 云南省| 八宿县| 剑川县| 晋宁县|