基于VHDL的16路可調(diào)速彩燈控制器設(shè)計(jì)
0 引言
近年來,F(xiàn)PGA/CPLD發(fā)展迅速,隨著集成電路制造工藝的不斷進(jìn)步,高性價(jià)比的FPGA/CPLD器件推陳出新,使FPGA/CPLD成為當(dāng)今硬件設(shè)計(jì)的重要途徑,與傳統(tǒng)電路設(shè)計(jì)方法相比,F(xiàn)PGA/CPLD具有功能強(qiáng)大、開發(fā)周期短、投資少,便于追蹤市場(chǎng)變化及時(shí)修改產(chǎn)品設(shè)計(jì)以及開發(fā)工具智能化等特點(diǎn)。在諸多FPGA/CPLD的設(shè)計(jì)語言中,VHDL語言作為一種主流的硬件描述語言,具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性,并在語言易讀性和層次化、結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)出了強(qiáng)大的生命力和應(yīng)用潛力。
QuartusⅡ是Altera公司在21世紀(jì)初推出的FPGA/CPLD集成開發(fā)環(huán)境,是Altera公司前一代FPGA/CPLD集成開發(fā)環(huán)境Max+PlusⅡ的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷,功能強(qiáng)大,為設(shè)計(jì)者提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便的進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。
本文在QuartusⅡ開發(fā)環(huán)境下,用VHDL語言設(shè)計(jì)了一種可用于控制16路彩燈,具有4種彩燈變換模式,且變換速度可調(diào)的彩燈控制器。
1 16路可調(diào)速彩燈控制囂設(shè)計(jì)思路
16路可調(diào)逮彩燈控制器根據(jù)功能可分為3個(gè)部分,如圖1所示。其中,8 Hz分頻部分用于對(duì)頻率為10 MHz的時(shí)鐘信號(hào)進(jìn)行分頻,獲得頻率為8 Hz的時(shí)鐘信號(hào)CLK8。CLK8作為速度控制部分的基準(zhǔn)時(shí)鐘,通過計(jì)數(shù)分頻方式又可獲得頻率分別為4 Hz,2 Hz和1 Hz的時(shí)鐘信號(hào),然后由調(diào)速信號(hào)選擇其中之一作為彩燈時(shí)鐘信號(hào)CLKQ,CLKQ即為彩燈控制部分的基準(zhǔn)時(shí)鐘,用于決定彩燈變換的速度,由此實(shí)現(xiàn)調(diào)速信號(hào)SPD對(duì)彩燈變換速度的控制,使彩燈可調(diào)速。
彩燈控制部分通過輸出1個(gè)16位二進(jìn)制數(shù)(即彩燈輸出信號(hào)Q)來控制16個(gè)彩燈,每一位二進(jìn)制數(shù)對(duì)應(yīng)1個(gè)彩燈的開關(guān),當(dāng)該位數(shù)字為“1”時(shí)燈亮,該位數(shù)字為“O”時(shí)燈滅。彩燈的變換共設(shè)置4種模式:
sO模式:只亮1個(gè)燈,從最左端逐個(gè)移動(dòng)到最右端,即輸出信號(hào)Q從第15位開始將1個(gè)“1”依次移動(dòng)到第0位;
s1模式:只亮1個(gè)燈,從最右端逐個(gè)移動(dòng)到最左端,即輸出信號(hào)Q從第0位開始將1個(gè)“1”依次移動(dòng)到第15位;
s2模式:亮2個(gè)燈,同時(shí)從左右兩端向中間移動(dòng),即輸出信號(hào)Q從第15位開始將1個(gè)“1”依次移動(dòng)到第8位,同時(shí)從第O位開始將1個(gè)“1”依次移動(dòng)到第7位;
s3模式:亮2個(gè)燈,同時(shí)從中間向左右兩端移動(dòng),即輸出信號(hào)Q從第8位開始將1個(gè)“1”依次移動(dòng)到第15位,同時(shí)從第7位開始將1個(gè)“1”依次移動(dòng)到第0位。
四種模式依次循環(huán),若復(fù)位信號(hào)RST輸入為高電平,則循環(huán)中斷,輸出信號(hào)Q置零,彩燈全滅,RST恢復(fù)為低電平后,再次從sO模式開始循環(huán)。
2 16路可調(diào)速彩燈控制器的實(shí)現(xiàn)
本文所設(shè)計(jì)的16路可調(diào)速彩燈控制器,其電路符號(hào)如圖2所示,其中clk為10 MHz時(shí)鐘信號(hào)輸入端,rst為復(fù)位控制端,spd為調(diào)速信號(hào)輸入端,q為彩燈控制信號(hào)輸出端。
評(píng)論