新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于VHDL實(shí)現(xiàn)的十六路彩燈控制系統(tǒng)

基于VHDL實(shí)現(xiàn)的十六路彩燈控制系統(tǒng)

作者: 時(shí)間:2007-04-02 來源:網(wǎng)絡(luò) 收藏
隨著科學(xué)技術(shù)的發(fā)展以及人民生活水平的提高,在現(xiàn)代生活中,彩燈作為一種裝飾,既可以增強(qiáng)人們的感觀,起到廣告宣傳的作用,又可以增添節(jié)日氣氛,為人們的生活增添亮麗,用在舞臺上增強(qiáng)晚會燈光效果。隨著電子技術(shù)的發(fā)展,應(yīng)用向著小型化、快速化、大容量、重量輕的方向發(fā)展,EDA(Elect ron icDesign A u tom at ic)技術(shù)的應(yīng)用引起電子產(chǎn)品及開發(fā)的革命性變革。語言作為可編程邏輯器件的標(biāo)準(zhǔn)語言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),在實(shí)際應(yīng)用中越來越廣泛。在這個(gè)階段,人們開始追求貫徹整個(gè)設(shè)計(jì)的自動化,可以從繁重的設(shè)計(jì)工作中徹底解脫出來,把精力集中在創(chuàng)造性的方案與概念構(gòu)思上,從而可以提高設(shè)計(jì)效率,縮短產(chǎn)品的研制周期。整個(gè)過程通過EDA工具自動完成,大大減輕了設(shè)計(jì)人員的工作強(qiáng)度,提高了設(shè)計(jì)質(zhì)量,減少了出錯(cuò)的機(jī)會。

是美國國防部提出的一種經(jīng)過標(biāo)準(zhǔn)化認(rèn)證的硬件描述語言,使用語言進(jìn)行硬件設(shè)計(jì)有如下特點(diǎn):將一項(xiàng)工程設(shè)計(jì)(或稱設(shè)計(jì)實(shí)體)分成外部(或稱可視部分,即端口)和內(nèi)部(或稱不可視部分),即設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分。

本文介紹應(yīng)用美國ALTERA公司的MAX+PLUSⅡ平臺,使用VHDL硬件描述語言實(shí)現(xiàn)的十六路系統(tǒng)。

十六路系統(tǒng)的實(shí)現(xiàn)

在電路中以1代表燈亮,以0代表燈滅,由0、1按不同的規(guī)律組合代表不同的燈光圖案,同時(shí)使其選擇不同的頻率,從而實(shí)現(xiàn)多種圖案多種頻率的花樣功能顯示。在該電路中只需簡單的修改程序就可以靈活地調(diào)整彩燈圖案和變化方式。下面就以一個(gè)十六路系統(tǒng)的實(shí)現(xiàn)為例進(jìn)行簡單說明。

功能描述

此十六路彩燈控制系統(tǒng)設(shè)定有四種花樣變化,這四種花樣可以進(jìn)行自動切換,且每種花樣可以選擇不同的頻率,四種花樣分別為:

(1)彩燈從右到左,然后從左到右逐次產(chǎn)閃爍。

(2)彩燈從右到左點(diǎn)亮,然后從左到右逐次依次熄滅,全亮全滅。

(3)彩燈兩邊同時(shí)亮2個(gè)逐次向中間移動再散開。

(4)彩燈兩邊同時(shí)亮4個(gè),4亮4滅。

設(shè)計(jì)原理

用VHDL進(jìn)行設(shè)計(jì),首先應(yīng)該理解,VHDL語言是一種全方位硬件描述語言,包括系統(tǒng)行為級,寄存器傳輸級和邏輯門級多個(gè)設(shè)計(jì)層次。應(yīng)充分利用VHDL“自頂向下”的設(shè)計(jì)優(yōu)點(diǎn)以及層次化的設(shè)計(jì)概念,層次概念對于設(shè)計(jì)復(fù)雜的數(shù)字系統(tǒng)是非常有用的,它使得我們可以從簡單的單元入手,逐漸構(gòu)成龐大而復(fù)雜的系統(tǒng)。

首先應(yīng)進(jìn)行系統(tǒng)模塊的劃分,規(guī)定每一模塊的功能以及各個(gè)模塊之問的接口。最終設(shè)計(jì)方案為:以一個(gè)十六路彩燈花樣控制器、一個(gè)四頻率輸出分頻器,一個(gè)四選一控制器和一個(gè)時(shí)間選擇器總共四部分來完成設(shè)計(jì)。四選一控制器從分頻器選擇不同頻率的時(shí)鐘信號輸送到彩燈花樣控制器,從而達(dá)到控制彩燈閃爍速度的快慢,時(shí)間選擇器控制每種速度維持的時(shí)間長短。

整個(gè)十六路彩燈控制系統(tǒng)設(shè)計(jì)的模塊圖如圖1所示。

子模塊及其功能

本次設(shè)計(jì)分為四個(gè)子模塊,即十六路彩燈花樣控制器、四頻率輸出分頻器,四選一控制器和時(shí)問選擇器,其子模塊及其功能如下:

(1)四頻率輸出分頻器:在本次設(shè)計(jì)中,我們只設(shè)計(jì)了四種花樣,我們要求這四種花樣以不同的頻率顯示,而只有一個(gè)輸入的時(shí)鐘信號,所以我們對所輸入的時(shí)鐘信號進(jìn)行2分頻、4分頻、8分頻、16分頻,得到四種頻率信號,CLKDIV模塊就是來完成此功能。

(2)時(shí)間選擇器:時(shí)間選擇器實(shí)際上是兩個(gè)分頻器,其中一個(gè)頻率是另一個(gè)頻率的兩倍。本來這兩個(gè)分頻器可以在上述的四頻率輸出器中實(shí)現(xiàn)的,但為了方便地為四選一控制器提供不同的時(shí)間選擇條件,就將這兩個(gè)分頻器獨(dú)立開來。這兩個(gè)輸出的的時(shí)鐘信號組合起來就可以為四選一控制器提供00、01、10、11四個(gè)時(shí)間選擇條件,如圖2所示。

(3)四選一控制器:四選一控制器功能是從分頻器中選擇不同頻率的時(shí)鐘信號送給彩燈控制器,實(shí)現(xiàn)彩燈閃爍的頻率變化。

(4)彩燈控制器:彩燈控制電路是整個(gè)設(shè)計(jì)的核心,它負(fù)責(zé)整個(gè)設(shè)計(jì)的輸出效果即各種彩燈圖案的樣式變化。該程序充分地說明了用VHDL設(shè)計(jì)電路的“彈”性,即可通過改變程序中輸出變量Q的位數(shù)來改變彩燈的數(shù)目。其中,P1進(jìn)程對燈閃的速度進(jìn)行控制,有兩種方式可改變燈閃的速度:一是改變外部時(shí)鐘的賦值,二是改變信號U的位數(shù)。P2進(jìn)程能進(jìn)行彩燈的圖案控制,改變s的位數(shù)即可改變要控制圖案的數(shù)目,改變輸出變量O的組合即可變幻彩燈圖案。彩燈控制器的實(shí)現(xiàn)程序如下:

Librarv ieee;

其仿真波形如圖3所示,模塊符號如圖4所示。

仿真結(jié)果

最后,當(dāng)各個(gè)模塊均完成上述操作之后,即可利用MAXPLLUS2的原理圖輸入,調(diào)用各個(gè)元器件(底層文件),以原理圖的形式形成最后的十六路彩燈顯示系統(tǒng)(頂層文件),并且進(jìn)行仿真。仿真通過,即可下載到指定的CPLD芯片里面,并進(jìn)行實(shí)際連線,進(jìn)行最后的硬件測試。當(dāng)然,可以將各個(gè)模塊所生成的元件符號存放在元件庫中,以被其他人或其他的設(shè)計(jì)所重復(fù)調(diào)用,以簡化后面的設(shè)計(jì)。

與其它硬件設(shè)計(jì)方法相比,用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的:VHDL具有很強(qiáng)的行為描述能力,支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用,可讀性好,易于修改和發(fā)現(xiàn)錯(cuò)誤,可以使用仿真器對VHDL源代碼進(jìn)行仿真,允許設(shè)計(jì)者不依賴于器件,容易發(fā)現(xiàn)設(shè)計(jì)中出現(xiàn)的問題,以便及時(shí)處理。能實(shí)現(xiàn)設(shè)計(jì)與工藝無關(guān),可移植性好,上市時(shí)間快,成本低,ASI(:移植等優(yōu)點(diǎn)。應(yīng)用FPGA可以實(shí)現(xiàn)復(fù)雜電路的控制,本文只是應(yīng)用其簡單的控制設(shè)計(jì)的一個(gè)具體實(shí)現(xiàn)過程。

分頻器相關(guān)文章:分頻器原理


關(guān)鍵詞: VHDL 彩燈控制 系統(tǒng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉