999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VHDL的16路可調速彩燈控制器設計

2010-04-12 00:00:00張喜鳳,屈寶鵬
現代電子技術 2010年14期

摘 要:彩燈作為一種常見的裝飾,在生活中應用廣泛。為了使彩燈變得更加絢麗多彩,這里在Quartus Ⅱ開發環境下,用VHDL語言設計了一種可用于控制16路彩燈,具有4種彩燈變換模式,且變換速度可調的彩燈控制器。仿真結果表明,所設計的彩燈控制器成功地實現了4種變換模式的循環和各種變換速度的調節。最后,以ACEX1K系列EP1K30QC208芯片為硬件環境,驗證了各項設計功能的正確性。

關鍵詞:VHDL; 彩燈控制器; 變換模式; EP1K30QC208

中圖分類號:TN710; TP332.1 文獻標識碼:A

文章編號:1004-373X(2010)14-0180-03

Design of Adjustable Speed Sixteen Groups Illuminations Controller Based on VHDL

ZHANG Xi-feng,QU Bao-peng

(Electronics Engineer Department, Sh

nxi Institute of Technology, Xi'an 710300,China)

Abstract: The FPGA/CPLD is applied in digital system development extensively with the development of large scale integrated circuit. Illuminations which are common decorations have a broad application in daily life. In order to make the illuminations colorful, a switch speed adjustable controller which can control 16 groups of illuminations and has 4 switch patterns was designed with the language of VHDL in the environment of Quartus II. The simulation results indicate that the designed controller realized the cycle of 4 switch patterns and all sorts of speeds adjustable. The validity of whole designed functions is verified with the EP1K30QC208 chip of ACEX1K series.

Keywords: VHDL; illuminations; controller; switch mode; EP1K30QC208

0 引 言

近年來,FPGA/CPLD發展迅速,隨著集成電路制造工藝的不斷進步,高性價比的FPGA/CPLD器件推陳出新[1-3],使FPGA/CPLD成為當今硬件設計的重要途徑,與傳統電路設計方法相比,FPGA/CPLD具有功能強大、開發周期短、投資少,便于追蹤市場變化及時修改產品設計以及開發工具智能化等特點[4]。在諸多FPGA/CPLD的設計語言中,VHDL語言作為一種主流的硬件描述語言,具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和可靠性,并在語言易讀性和層次化、結構化設計方面,表現出了強大的生命力和應用潛力[5-6]。

Quartus Ⅱ是Altera公司在21世紀初推出的FPGA/CPLD集成開發環境,是Altera公司前一代FPGA/CPLD集成開發環境Max+PlusⅡ的更新換代產品,其界面友好,使用便捷,功能強大,為設計者提供了一種與結構無關的設計環境,使設計者能方便的進行設計輸入、快速處理和器件編程[7-8]。

本文在Quartus Ⅱ開發環境下,用VHDL語言設計了一種可用于控制16路彩燈,具有4種彩燈變換模式,且變換速度可調的彩燈控制器。

1 16路可調速彩燈控制器設計思路

16路可調速彩燈控制器根據功能可分為3個部分,如圖1所示。其中,8 Hz分頻部分用于對頻率為10 MHz的時鐘信號進行分頻,獲得頻率為8 Hz的時鐘信號CLK8。CLK8作為速度控制部分的基準時鐘,通過計數分頻方式又可獲得頻率分別為4 Hz,2 Hz和1 Hz的時鐘信號,然后由調速信號選擇其中之一作為彩燈時鐘信號CLKQ,CLKQ即為彩燈控制部分的基準時鐘,用于決定彩燈變換的速度,由此實現調速信號SPD對彩燈變換速度的控制,使彩燈可調速。

圖1 16路可調速彩燈原理圖

彩燈控制部分通過輸出1個16位二進制數(即彩燈輸出信號Q)來控制16個彩燈,每一位二進制數對應1個彩燈的開關,當該位數字為“1”時燈亮,該位數字為“0”時燈滅。彩燈的變換共設置4種模式:

s0模式:只亮1個燈,從最左端逐個移動到最右端,即輸出信號Q從第15位開始將1個“1”依次移動到第0位;

s1模式:只亮1個燈,從最右端逐個移動到最左端,即輸出信號Q從第0位開始將1個“1”依次移動到第15位;

s2模式:亮2個燈,同時從左右兩端向中間移動,即輸出信號Q從第15位開始將1個“1”依次移動到第8位,同時從第0位開始將1個“1”依次移動到第7位;

s3模式:亮2個燈,同時從中間向左右兩端移動,即輸出信號Q從第8位開始將1個“1”依次移動到第15位,同時從第7位開始將1個“1”依次移動到第0位。

四種模式依次循環,若復位信號RST輸入為高電平,則循環中斷,輸出信號Q置零,彩燈全滅,RST恢復為低電平后,再次從s0模式開始循環。

2 16路可調速彩燈控制器的實現

本文所設計的16路可調速彩燈控制器,其電路符號如圖2所示,其中clk為10 MHz時鐘信號輸入端,rst為復位控制端,spd為調速信號輸入端,q為彩燈控制信號輸出端。

圖2 16路可調速彩燈控制器的電路符號

本文所設計的16路可調速彩燈控制器的VHDL代碼如下所示:

LIBRARY IEEE;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_unsigned.ALL;

ENTITY lights16 IS

PORT(clk: in std_logic;----10MHz時鐘輸入信號

rst: in std_logic;----復位信號

spd: in std_logic_vector(1 downto 0);

q: out std_logic_vector(15 downto 0));

END lights16;

ARCHITECTURE one OF lights16 IS

type states is (s0,s1,s2,s3);----定義4種模式

signal present:states;

signal clk8hz:std_logic;

signal clkq:std_logic;

signal q1:std_logic_vector(15 downto 0);

signal cnt:std_logic_vector(3 downto 0);

BEGIN

process(clk)----8Hz分頻

variable count:integer range 0 to 624999;

begin

if clk′event and clk=′1′ then

if count=624999

then clk8hz<=not clk8hz;count:=0;

else count:=count+1;

end if;

end if;

end process;

process(clk8Hz)----速度控制

variable count1:std_logic_vector(2 downto 0);

begin

if clk8Hz′event and clk8Hz=′1′

then count1:=count1+1;

end if;

case spd is

when\"00\"=>clkq<=count1(2);

when\"01\"=>clkq<=count1(1);

when\"10\"=>clkq<=count1(0);

when\"11\"=>clkq<=clk8Hz;

end case;

end process;

----系統復位

process(clkq,rst)

begin

if rst=′1′ then present<=s0;q1<=(others=>′0′);

elsif clkq′event and clkq=′1′ then

case present is

----s0模式:從左到右逐個點亮LED

when s0=>

if q1=\"0000000000000000\"

then q1<=\"1000000000000000\";

elsif cnt=\"1111\" then

cnt<=(others=>′0′);

q1<=\"0000000000000001\";

present<=s1;

else q1<=q1(0)q1(15 downto 1);

cnt<=cnt+1;present<=s0;

end if;

----s1模式:從右到左逐個點亮LED

when s1=>

if cnt=\"1111\" then

cnt<=(others=>′0′);

q1<=\"1000000000000001\";

present<=s2;

else q1<=q1(14 downto 0)q1(15);

cnt<=cnt+1;present<=s1;

end if;

----s2模式:從兩邊到中間逐個點亮LED

when s2=>

if cnt=\"1111\" then

cnt<=(others=>′0′);

q1<=\"0000000110000000\";

present<=s3;

else q1(15 downto 8)<=q1(8)q1(15 downto 9);

q1(7 downto 0)<=q1(6 downto 0)q1(7);

cnt<=cnt+1;present<=s2;

end if;

----s3模式:從中間到兩邊逐個點亮LED

when s3=>

if cnt=\"1111\" then

cnt<=(others=>′0′);

q1<=\"1000000000000000\";present<=s0;

else q1(15 downto 8)<=q1(14 downto 8)q1(15);

q1(7 downto 0)<=q1(0)q1(7 downto 1);

cnt<=cnt+1;present<=s3;

end if;

end case;

end if;

end process;

q<=q1;

END ARCHITECTURE one;

值得注意的是,本文設計的16路可調速彩燈控制器使用了數據循環算法,較以往的case when語句[10],更加簡潔,實現的功能更加強大,其具有如下特點:

(1) 在硬件驗證時,將速度控制端spd的pin腳接到撥碼開關上,從而實現彩燈變換速度快慢的手動控制,在更進一步的設計中,也可以通過對spd信號的內部控制,實現各種變換速度的自動調整。

(2) 該設計采用數據移位的方式實現彩燈的變換,更有利于彩燈變換模式的擴展。該設計雖然只設計了4種變換模式,但可以根據需要輕松的擴展至6~8種模式,甚至更多。

(3) 8 Hz分頻部分的分頻比很大,不適于計算機仿真驗證,在仿真時需要調小分頻比,在硬件驗證時再恢復較大的分頻比。

3 仿真結果分析

本文設計的16路可調速彩燈控制器在Quartus Ⅱ開發環境下進行了仿真驗證,仿真波形如圖3所示。仿真結果分析如下:

(1) clk為時鐘信號,由時鐘信號的上升沿觸發分頻器計數;

(2) rst為復位信號輸入端,當其為高電平時,彩燈控制輸出信號q清零,rst恢復為低電平后彩燈控制輸出信號q從s0模式重新開始循環;

(3) spd為調速信號輸入端,對應于spd的“00”,“01”,“10”,“11”這4個數值,彩燈變換的速度分別為1 Hz,2 Hz,4 Hz,8 Hz;

(4) q為彩燈控制信號輸出端,由圖3可知,該設計成功地實現了4種變換模式的循環和各種變換速度的調節。

圖3 16路可調速彩燈控制器仿真波形

4 結 語

設計的16路可調速彩燈控制器在Quartus Ⅱ開發環境下進行了仿真驗證后,下載到湖北眾友科技實業股份有限公司的ZY11EDA13BE實驗箱中進行了硬件驗證,該實驗箱使用ACEX1K系列EP1K30QC208芯片作為核心芯片,實驗證明設計正確,功能完整,運行穩定。另外,本文所設計的16路可調速彩燈控制器可根據需要增加更多的變換模式,使彩燈更加絢麗多姿。

參考文獻

[1]潘松,黃繼業.EDA技術實用教程[M].北京:科學出版社,2004.

[2]康華光.電子技術基礎(數字部分)[M].北京:高等教育出版社,2004.

[3]馬或,王丹利,王麗英.CPLD/FPGA可編程邏輯器件實用教程[M].北京:機械工業出版社,2006.

[4]侯伯亨,顧新.VHDL硬件描述語言與數字邏輯電路設計[M].西安:西安電子科技大學出版社,2000.

[5]李國麗,朱維勇,欒銘.EDA與數字系統設計[M].北京:機械工業出版社,2005.

[6]盧毅,賴杰.VHDL與數字電路設計[M] .北京:科學出版社,2001.

[7]李志,田永清,朱仲英.VHDL的設計特點與應用研究[J].微型電腦應用,2002(10):5-8.

[8]周潤景,圖雅,張麗敏.基于Quartus Ⅱ的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.

[9]呂曉蘭.基于VHDL實現的16路彩燈控制系統[J].電子技術,2007(2):57-59.

主站蜘蛛池模板: 成年人免费国产视频| 亚洲国产欧洲精品路线久久| 亚洲狼网站狼狼鲁亚洲下载| 97成人在线视频| 亚洲国产中文欧美在线人成大黄瓜 | 无码乱人伦一区二区亚洲一| 亚洲av无码牛牛影视在线二区| 国产精品无码影视久久久久久久| 福利在线不卡| 麻豆AV网站免费进入| 亚洲AV成人一区二区三区AV| 亚洲男人的天堂在线观看| 超碰aⅴ人人做人人爽欧美| 亚洲第一在线播放| 一级爱做片免费观看久久| 国产喷水视频| 亚洲美女一级毛片| 日韩国产精品无码一区二区三区 | 青青青草国产| 亚洲无码熟妇人妻AV在线| 一个色综合久久| 亚洲无码视频喷水| 免费 国产 无码久久久| 中字无码av在线电影| 丁香婷婷久久| 在线观看国产精美视频| www.日韩三级| 91 九色视频丝袜| 五月激情婷婷综合| 免费看一级毛片波多结衣| 91色爱欧美精品www| 色AV色 综合网站| 国产对白刺激真实精品91| 欧美日韩中文国产| 欧美天天干| 超薄丝袜足j国产在线视频| 国产无人区一区二区三区| 人妻丰满熟妇啪啪| 久青草国产高清在线视频| 高清不卡毛片| 欧美精品啪啪| 在线国产毛片| 无码中文字幕精品推荐| 第一区免费在线观看| 亚洲成人免费在线| 欧美一区二区人人喊爽| 97免费在线观看视频| 国产国语一级毛片| 亚洲天堂日本| 欧美国产中文| 国产迷奸在线看| 亚洲天堂免费在线视频| 久久久久亚洲精品无码网站| 亚洲国产成人在线| 97在线国产视频| 97国产在线视频| 欧美午夜在线视频| a毛片免费在线观看| 亚洲最大在线观看| www成人国产在线观看网站| 老熟妇喷水一区二区三区| 成人福利在线观看| 亚洲午夜天堂| 91精品小视频| 蜜臀AV在线播放| 成人福利免费在线观看| 日韩天堂在线观看| 亚洲欧洲日韩久久狠狠爱| 香蕉久久国产超碰青草| 欧美精品影院| 色偷偷一区| 99九九成人免费视频精品| 精品无码人妻一区二区| 国产成人综合日韩精品无码不卡| 又粗又大又爽又紧免费视频| 免费无码网站| 极品国产在线| 日本尹人综合香蕉在线观看 | 色欲综合久久中文字幕网| 91破解版在线亚洲| 久久人人爽人人爽人人片aV东京热| 久久黄色一级视频|