<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于VHDL的可變速彩燈控制器的設計

          基于VHDL的可變速彩燈控制器的設計

          作者: 時間:2010-05-27 來源:網絡 收藏
          O 引言
          硬件描述語言(HDL)是相對于一般的計算機軟件語言如C,Pascal而言的。HDL是用于硬件電子系統(tǒng)的計算機語言,它描述電子系統(tǒng)的邏輯功能、電路結構和連接方式。者可以利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定其結構特征和電路的行為方式,然后利用綜合器和適配器將此程序變成能控制FPGA和CPLD內部結構,并實現(xiàn)相應邏輯功能的門級或更底層的結構網表文件和下載文件。(VeryHigh Speed Integrated Circuit Hardware descriptionLangtuage)主要用于描述數(shù)字系統(tǒng)的結構、行為、功能和接口。與其他的HDL語言相比,具有更強的行為描述能力,從而決定了它成為系統(tǒng)領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構。從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。在文獻中作者從不同的角度闡述了EDA技術的應用,它具有功能強大、描述能力強、可移植性好、研制周期短、成本低等特點,即使設計者不懂硬件的結構,也能進行獨立的設計。本文以Alter公司提供的Max+PlusⅡ為平臺,設計一個可,可以在不修改硬件電路的基礎上,僅通過更改軟件就能實現(xiàn)任意修改花型的編程控制方案,實現(xiàn)控制16只LED以8種花型和4種速度循環(huán)變化顯示,而且設計非常方便,設計的電路保密性強。

          l 設計原理
          進行設計,首先應該理解,VHDL語言是一種全方位硬件描述語言,包括系統(tǒng)行為級,寄存器傳輸級和邏輯門級多個設計層次。應充分利用VHDL“自頂向下”的設計優(yōu)點以及層次化的設計概念,層次概念對于設計復雜的數(shù)字系統(tǒng)是非常有用的,它使得我們可以從簡單的單元入手,逐漸構成龐大而復雜的系統(tǒng)。
          首先應進行系統(tǒng)模塊的劃分,規(guī)定每一個模塊的功能以及各模塊之間的接口,最終設計方案分為三大模塊:16路花樣、四頻率輸出分頻器、四選一。四選一控制器從分頻器中選擇不同頻率的時鐘信號輸送到花樣控制器,從而達到控制彩燈閃爍速度的快慢和花型的的變換。
          下面是本次設計的頂層模塊原理圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/163060.htm



          2 子模塊及其功能
          (1)四頻率輸出分頻器。根據(jù)要求有4種速度的變化,每種都要顯示8種花樣,就要用到三位計數(shù)器和16位數(shù)字譯碼器。其次,速度有4種變化,而只有一個輸入的時鐘信號,所以要對輸入的時鐘信號進行分頻,本次設計采用了二分頻、四分頻、八分頻和15分頻得到4種不同頻率的信號。
          二分頻電路的程序代碼如下:

          四分頻電路的設計有兩種方案:一是把兩個二分頻電路串聯(lián)起來(見圖2,3),實現(xiàn)四分頻;二是修改二分頻電路的程序代碼來實現(xiàn),做如下修改:

          同理,八分頻電路的設計也有兩種方案:一種是把兩個四分頻電路串聯(lián)起來,實現(xiàn)八分頻;一種是修改二分頻電路的程序代碼,只需做如下修改即可:


          15分頻電路如圖4所示,仿真圖如圖5所示。代碼如下:


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();