摘 要:為了能顯示穩(wěn)定的圖像,對掃描電路的速度要求很高,特別是在實(shí)現(xiàn)灰度控制時(shí),要求更高。所以,精心地設(shè)計(jì)掃描電路是提高圖像穩(wěn)定性的關(guān)鍵。介紹LED大屏幕顯示電路結(jié)構(gòu)及掃描電路的設(shè)計(jì)方法,給出Altera公司的EPM7128在大屏幕掃描電路中的設(shè)計(jì)實(shí)例,闡述可編程邏輯器件在高速數(shù)字系統(tǒng)應(yīng)用中的優(yōu)點(diǎn)。通過實(shí)驗(yàn),掃描圖像非常穩(wěn)定,充分體現(xiàn)了可編程邏輯器件在高速復(fù)雜數(shù)學(xué)系統(tǒng)中的優(yōu)勢。
關(guān)鍵詞:可編程邏輯器件;點(diǎn)時(shí)鐘;掃描單元;顯示存儲器;VHDL語言
中圖分類號:TP311.1文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2008)24-017-03
Design of Big Screen Scan Circuit Based on CPLD
ZHENG Baohua1,2
(1.College of Instrument Science and Electronic Engineering,Jilin University,Changchun,130026,China;
2.Jilin Institute of Chemical Technology,Jilin,132022,China)
Abstract:In order to display a stable image,the speed of scan circuit is needed,especially to realize grey control.The design of scan circuit is a key to improve scability of image.The design method of LED big screen scan circuit is introduced in this paper,and the virtue of Programmable Logic Device(PLD) application on high speed digital system is presented.An application example based on EPM7128 of Altera Corp.and its programme are also provided.According to the experiment,scan image is stable,and advantages of PLD in high speed complex digital system are proved.
Keywords:programmable logic device;bit-colck;scan unit;display memory;VHDL-language
1 引 言
LED大屏幕是由許多相互獨(dú)立的發(fā)光二極管排列而成的,由于發(fā)光管的離散性,決定了其發(fā)光控制和驅(qū)動只能以數(shù)字方式進(jìn)行[1]。大屏幕的顯示控制方式可以靜態(tài)驅(qū)動也可以動態(tài)掃描驅(qū)動。相比較而言,動態(tài)掃描驅(qū)動方式可以節(jié)省大量的硬件成本,所以,一般情況下均采用動態(tài)掃描驅(qū)動方式。為了能顯示穩(wěn)定的圖像,對掃描電路的速度要求很高,特別是實(shí)現(xiàn)灰度控制時(shí),要求更高。所以,精心地設(shè)計(jì)掃描電路是提高圖像穩(wěn)定性的關(guān)鍵。
在此給出了以Altera公司的EPM7128可編程邏輯器件為核心的大屏幕動態(tài)掃描電路,其數(shù)據(jù)點(diǎn)時(shí)鐘可達(dá)20 MHz 。提高了圖像的穩(wěn)定性,并且使每個(gè)掃描單元可控制較大面積的屏
體。
2 屏體顯示電路
屏體顯示電路俗稱燈板,最常用的是采用8×8 LED點(diǎn)矩陣構(gòu)成。這就決定了掃描行周期只能為8的整數(shù)倍,基于亮度和硬件成本的綜合考慮,一般采用16行為1個(gè)掃描周期[2]。發(fā)光器件選用D05881行共陽點(diǎn)矩陣構(gòu)成,掃描單元的每行二極管共陽連接,由掃描電路輸出的行地址經(jīng)4∶16譯碼控制。由于掃描單元的每行二極管共陽連接電流比較大,如果用單只大功率管子驅(qū)動,會使局部電流很大而增加制版的難度。這里采用多支小功率P946并聯(lián)驅(qū)動,由于P946在物理上是分開的,這樣可使大電流分散,并且不增加硬件成本。
行數(shù)據(jù)由掃描控制電路從顯示存儲器中讀出,串行輸出到燈板,當(dāng)每行數(shù)據(jù)串行發(fā)送完之后輸出鎖存信號和行地址信號。電路如圖1所示。
3 動態(tài)掃描電路
動態(tài)掃描的核心是由EPM7128可編程邏輯器件來控制的(見圖2),EPM7128要按時(shí)序形成對雙端口顯示存儲器讀操作的地址信號(ADD_1)和讀(RD)信號,讀入數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換后輸出到顯示電路。同時(shí),為完成掃描顯示EPM7128要按時(shí)序形成數(shù)據(jù)移位時(shí)鐘信號(CLK_1)、鎖存信號(SUOCUN)、行地址信號(ADD_2)。
傳統(tǒng)的掃描控制多由單片機(jī)構(gòu)成,筆者曾用12片華邦的78E58(24 MHz)單片機(jī)實(shí)現(xiàn)9 m2大屏幕的掃描,雖然精心設(shè)計(jì)了指令代碼,但在掃描速度上還是捉襟見肘。如果由EPM7128實(shí)現(xiàn)掃描則很容易實(shí)現(xiàn)數(shù)據(jù)點(diǎn)時(shí)鐘20 MHz或更高,并且在1片器件上可實(shí)現(xiàn)多路數(shù)據(jù)輸出,很好地改善了單片機(jī)掃描速度慢的問題,提高了顯示圖像的穩(wěn)定度。
4 頂層設(shè)計(jì)及仿真
可編程邏輯器件的設(shè)計(jì)方法與傳統(tǒng)的數(shù)字邏輯設(shè)計(jì)方法不同,是采用自上而下的設(shè)計(jì)流程。同時(shí),在設(shè)計(jì)過程中可通過仿真手段驗(yàn)證電路功能是否有效[3]。
該系統(tǒng)以16×32點(diǎn)陣單元為例進(jìn)行測試。頂層原理圖文件由2個(gè)模塊構(gòu)成(見圖3)。
其中,74165模塊調(diào)用了max2lib\\\\mf庫中的74165模塊,完成數(shù)據(jù)的并/串轉(zhuǎn)換。READ_1模塊完成讀顯示存儲器、控制掃描輸出等功能,采用VHDL等硬件描述語言的輸入方法,使系統(tǒng)的設(shè)計(jì)更加靈活[4]。下面是程序源文件清單,圖4為仿真后的波形。
其中,CLK_1為點(diǎn)時(shí)鐘;RD為存儲器讀信號;ADD_1為存儲器地址;ADD_2為掃描行地址;SUOCUN為行鎖存信號。
READ_1模塊源文件:
__ Max+Plus II VHDL Template
__ Clearable flipflop with enable
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY read_1 IS
PORT
(reset,clk: IN STD_LOGIC;--復(fù)位,時(shí)鐘輸入信號
rd,clk_1 : out STD_LOGIC;--讀信號,串行時(shí)鐘
add_1 : out std_logic_vector(6 downto 0);--存儲器地址
add_2: out std_logic_vector(3 downto 0);--掃描行地址
suocun : out std_logic);--鎖存信號輸出
END read_1;
ARCHITECTURE a OF read_1 IS
SIGNAL count : INTEGER RANGE 0 TO 15; --模16計(jì)數(shù)器,形成rd信號
SIGNAL count_2 : INTEGER RANGE 0 TO 1;--模2計(jì)數(shù)器,形成clk_1時(shí)鐘
signal count_b : std_logic_vector(3 downto 0);--掃描行地址內(nèi)部信號
signal count_a : std_logic_vector(6 downto 0);--存儲器地址內(nèi)部信號
signal count_c : INTEGER RANGE 0 TO 127;--控制形成鎖存信號,與實(shí)際屏寬而定
signal indata: std_logic; --控制rd_1信號
signal rd_1 : std_logic; --讀信號內(nèi)部信號
signal sss: std_logic; --掃描行控制信號
signal ale : std_logic;
signal sss_1 : std_logic;
BEGIN
PROCESS (clk,RESET)
BEGIN
IF RESET = ′1′ THEN
COUNT<= 0;
ELSIF (clk′EVENT AND clk = ′0′) THEN
count<=count+1;
END IF;
END PROCESS;
PROCESS (clk,RESET)
BEGIN
IF RESET = ′1′ THEN
COUNT_2<= 0;
ELSIF (clk′EVENT AND clk = ′0′) THEN
count_2<=count_2+1;
END IF;
END PROCESS;
PROCESS (clk,RESET)
BEGIN
if reset=′1′ then
clk_1<=′0′;
elsif clk′event and clk=′1′ then
if count_2=1 then
clk_1<=′0′;
else clk_1<=′1′;
end if;
end if;
END PROCESS ;
PROCESS (clk,RESET)
BEGIN
if reset=′1′ then
indata<=′0′;
elsif clk′event and clk=′0′ then
if count=15 then
indata<=′0′;
else
indata<=′1′;
end if;
end if;
END PROCESS ;
PROCESS (clk,RESET)
BEGIN
if reset=′1′ then
ale<=′0′;
elsif clk′event and clk=′1′ then
if count=15 then
ale<=′0′;
else
ale<=′1′;
end if;
end if;
END PROCESS ;
PROCESS (clk,RESET)
BEGIN
if reset=′1′ then
rd_1<=′0′;
elsif clk′event and clk=′0′ then
if indata=′0′ then
rd_1<=′0′;
else
rd_1<=′1′;
end if;
end if;
END PROCESS ;
PROCESS (clk,RESET)
BEGIN
if reset=′1′ then
sss_1<=′0′;
elsif clk′event and clk=′0′ then
if sss=′0′ then
sss_1<=′0′;
else
sss_1<=′1′;
end if;
end if;
END PROCESS ;
PROCESS(reset,indata)
BEGIN
if reset=′1′ then
count_a<=\"0000000\";
elsif (indata′event and indata=′0′) then
count_a<=count_a+1;
end if;
END PROCESS;
PROCESS(reset,clk)
BEGIN
if reset=′1′ then
count_c<=0;
elsif (clk′event and clk=′0′) then
count_c<=count_c+1;
if(count_c=127) then
sss<=′0′;
else
sss<=′1′;
end if;
end if;
END PROCESS;
PROCESS(reset,sss_1)
BEGIN
if reset=′1′ then
count_b<=\"0000\";
elsif (sss_1′event and sss_1=′0′) then
count_b<=count_b+1;
end if;
END PROCESS;
add_1<=count_a;
add_2<=count_b;
rd<=rd_1;
suocun<=sss_1;
END a;
5 結(jié) 語
給定的掃描電路點(diǎn)時(shí)鐘為20 MHz,它是普通單片機(jī)串行時(shí)鐘的20倍。并且,在同一芯片上可實(shí)現(xiàn)多路串行輸出。這樣,一片EPM7128可控制較大面積的掃描單元<sup>[5]</sup>。通過實(shí)驗(yàn),掃描圖像非常穩(wěn)定,充分體現(xiàn)了可編程邏輯器件在高速、復(fù)雜數(shù)字系統(tǒng)應(yīng)用中的優(yōu)勢。
參考文獻(xiàn)
[1]劉澤民.大屏幕視頻真彩色顯示技術(shù)[J].電子技術(shù),1997(4):19-21.
[2]張藝.LED智能顯示屏驅(qū)動顯示電路[J].電子技術(shù),1994(4):35-37.
[3]馬彧,王丹利,王麗英.CPLD/FPGA可編程邏輯器件實(shí)用教程 [M].北京:機(jī)械工業(yè)出版社,2006.
[4]侯伯亨,股新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2000.
[5]李國麗,朱維勇,欒銘.EDA與數(shù)字系統(tǒng)設(shè)計(jì) [M].北京:機(jī)械工業(yè)出版社,2005.
[6]王春玲,吳順偉.FPGA/CPLD選型及與其他技術(shù)的融合.現(xiàn)代電子技術(shù),2007,30(16):30-33,40.
作者簡介 鄭寶華 男,1963年出生,吉林扶余人,在讀博士,副教授。主要從事測控技術(shù)及儀器方面的研究工作。