基于單片機(jī)和可編程邏輯器件的LED顯示屏顯示
LED顯示屏主要由電流驅(qū)動電路及LED點(diǎn)陣陣列、控制系統(tǒng)和PC端管理軟件三部分構(gòu)成(圖1)??刂葡到y(tǒng)負(fù)責(zé)接收、轉(zhuǎn)換和處理各種外部信號,并實(shí)現(xiàn)掃描控制,然后驅(qū)動LED點(diǎn)陣顯示需要的文字或圖案??刂葡到y(tǒng)作為LED顯示屏的核心部分,直接決定了顯示屏的顯示效果和性能的優(yōu)劣。本文詳細(xì)分析采用Verilog HDL對ATF1508AS進(jìn)行編程,實(shí)現(xiàn)雙口RAM訪問和產(chǎn)生LED點(diǎn)陣驅(qū)動電路所需的各種時(shí)序信號。
本文引用地址:http://butianyuan.cn/article/171620.htm1 LED顯示屏的基本結(jié)構(gòu)及關(guān)鍵技術(shù)
本系統(tǒng)設(shè)計(jì)中,控制系統(tǒng)采用單片機(jī)+CPLD的方案來實(shí)現(xiàn),整個控制系統(tǒng)可分為:信號接收及處理模塊和CPLD的掃描控制模塊和LED點(diǎn)陣驅(qū)動模塊,如圖1 所示。本系統(tǒng)的關(guān)鍵技術(shù)是使用雙口RAM和CPLD芯片,解決LED顯示屏中高速數(shù)據(jù)傳輸和快速掃描控制的難題,大大提高了動態(tài)顯示的刷新率。
信號接收與處理模塊的功能是AT89S52單片機(jī)通過串口接收PC送來的點(diǎn)陣信息,同時(shí)對點(diǎn)陣信息做各種不同的處理。利用雙口RAM IDT7007在單片機(jī)和ATF1508AS之間以共享的方式建立高速的數(shù)據(jù)交換通道。
CPLD的掃描控制模塊采用ATF1508AS芯片實(shí)現(xiàn)。其功能是從雙口RAM讀取點(diǎn)陣信息,串行化后送顯示掃描驅(qū)動電路,同時(shí)輸出各種所需的控制信號。CPLD具有掃描速度快,延時(shí)短等特點(diǎn),克服了單片機(jī)由于傳輸速率慢而造成在大屏幕顯示時(shí)產(chǎn)生的閃爍效應(yīng)。
2 基于CPLD的掃描控制模塊的設(shè)計(jì)
2.1 設(shè)計(jì)思想
本模塊的功能是從存儲器中讀取數(shù)據(jù),將數(shù)據(jù)輸送到顯示屏體上,同時(shí)產(chǎn)生各種控制信號。時(shí)序產(chǎn)生模塊由兩部分構(gòu)成,一是產(chǎn)生訪問雙口RAM的時(shí)序,二是產(chǎn)生LED顯示屏接口所需的各種信號。
硬件電路我們采用較常見的CPLD芯片ATF1508來實(shí)現(xiàn)控制系統(tǒng)中的時(shí)序產(chǎn)生部分。CPLD是一種具有豐富的可變成I/O引腳的可編程邏輯器件,不僅可以實(shí)現(xiàn)常規(guī)的邏輯器件功能,還可以實(shí)現(xiàn)復(fù)雜而獨(dú)特的時(shí)序邏輯功能。軟件我們采用Verilog HDL語言來進(jìn)行設(shè)計(jì)。Verilog HDL是用于邏輯設(shè)計(jì)的硬件描述語言,已成為IEEE標(biāo)準(zhǔn)。利用Verilog HDL語言對ATF1508AS進(jìn)行編程,實(shí)現(xiàn)掃描控制模塊所需的功能。
掃描控制部分的原理電路如圖2所示,ATF1508AS是核心部分,需要根據(jù)系統(tǒng)需要定義ATF1508AS的各個I/O端口,下面是I/O端口定義和內(nèi)部寄存器定義的Verilog HDL語言代碼。
module LedSequ(color, datain, addrout, CE, OE, SEMR, RWC, sdr, sdb, sck, le, oe1, cs, clk, counter);
input clk; //系統(tǒng)時(shí)鐘
input[7:0] datain;//RAM數(shù)據(jù)輸入
input[1:0] color;//顏色控制
output[13:0] addrout;//地址輸出口
output SEMR,RWC;
output CE,OE,sdr,sdb,sck,le,oe1,cs;
output[3:0] counter;
reg[3:0] hcnt;//38譯碼器計(jì)數(shù)器
reg [7:0] data1;//數(shù)據(jù)寄存器
reg[3:0] counter;//38翻碼器輸出端
reg SEMR,RWC;
reg SDA,SDC;
評論