亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的數碼管音樂流水燈設計

        2019-03-29 07:56:30張鵬鳴
        關鍵詞:音樂設計

        劉 玲, 劉 新, 張鵬鳴

        (1. 沈陽師范大學 物理科學與技術學院, 沈陽 110034;2. 中國科學院 近代物理研究所, 蘭州 730000)

        現(xiàn)場可編程門陣列(Field Programmable Gate Arrays, FPGA)是一種可編程的電子器件[1], 可以利用硬件描述語言(Verilog或VHDL)改變內部邏輯結構來實現(xiàn)各種功能。與專用集成電路相比,FPGA具有速度快、串口多、邏輯簡單、開發(fā)周期短等優(yōu)勢[2-3]。它可以在EDA開發(fā)平臺中(如QUARTUS II)通過編程將芯片內部的邏輯門連接成電路,仿真通過后將硬件邏輯輸出。這不僅能使設計的效率有所提高,而且還能降低外部印刷電路板的復雜性[4]。同時,FPGA技術在數據獲取、信號處理、智能通訊、航天軍工等領域都有廣泛應用[5-9]。

        近年來,人們對FPGA的設計研發(fā)產生了極大的興趣。Jin等[10]用基于FPGA的數據獲取系統(tǒng)實現(xiàn)了對環(huán)境信息和圖像數據的實時感知和獲取,建立了一種無線傳感器網絡節(jié)點的數字傳輸與處理系統(tǒng)。同時,Xu等[11]也通過FPGA技術改良了液晶觸摸屏,提高了幀數并降低了處理器負擔。此外,Arkani等[12]為分析隨機時間間隔脈沖的隨機過程,在FPGA設備上實現(xiàn)了一種雙通道時間分析器數據采集系統(tǒng)。由此可見,傳統(tǒng)的集成電路已經不能適應技術發(fā)展的要求,FPGA的應用具有一定的實用價值。

        現(xiàn)如今,由于電子產品在日常生活中占據很大比例,導致電子市場競爭也愈發(fā)激烈。為了更快地滿足用戶要求,縮短研發(fā)周期就顯得尤為重要。而FPGA恰恰能滿足這一要求,特別是它的可編程性能夠使產品具有很大的升級空間,不同于市面上流通的基于單片機的產品,一旦設計完成就不可更改,因此,應用FPGA的產品更受歡迎。隨著生活水平提高,人們更加注重生活的品質,從美化城市的景觀燈,兒童手中的電子玩具,再到住宅中的各種智能家電,無一不體現(xiàn)出FPGA在市場經濟中的巨大潛在價值。雖已有很多人研究了音樂流水燈和帶數碼管顯示的播放器[13],但對于音樂流水燈的研究,大都只能存放一首歌曲且無法控制流水燈的閃爍頻率,而對帶數碼管顯示的音樂播放器流水燈功能是如何設計的并不是十分清楚。因此,本文基于FPGA研發(fā)了一款電子產品----帶數碼管顯示的音樂流水燈。

        本文詳細地介紹了如何用單一狀態(tài)機控制音樂、流水燈、數碼管3個模塊, 通過按鍵控制各個狀態(tài)之間的切換并在硬件上驗證成功。 此產品可以應用在公共景觀設施、汽車外部裝飾及兒童玩具等領域。

        1 總體設計思路

        人們對于音樂和美的熱愛是永不停歇的,音樂流水燈將視聽完美地結合起來,并可以根據個人的喜好自定義歌曲,通過數碼管上顯示的數字可以知道當前是第幾首歌,燈光的閃爍頻率與歌曲切換都通過按鍵進行操作,更顯人性化。圖1所示為帶數碼管顯示的音樂流水燈的總體設計思路圖,共4個部分,狀態(tài)機輸出信號并同時傳入LED模塊,蜂鳴器模塊以及數碼管模塊。

        圖1 原理框圖Fig.1 The principle diagram

        要想達到上述目標,需要注意以下幾點:

        1) 本裝置所有模塊的控制是通過一個狀態(tài)機(Finite State Machine, FSM)實現(xiàn)的。當條件被滿足的時候,狀態(tài)機就會從一個狀態(tài)轉為另一個狀態(tài);沒有條件被觸發(fā)的時候,會保持原有狀態(tài)不變。

        2) 采用無源蜂鳴器,由于不帶振蕩源,直流信號無法令其鳴叫,因此只能用不同頻率的方波驅動它。AC620開發(fā)板上的晶振輸出時鐘頻率為50 MHz,根據每個音符對應的頻率,利用公式求出對應的預設值,再按照歌曲的音調順序,依次存入ROM中。

        3) 由于AC620開發(fā)板上的led燈數量有限,因此采用不同的閃爍頻率來區(qū)分不同的歌曲。

        2 各模塊設計方案

        2.1 LED燈模塊

        改變計數器的分頻值可以改變LED燈閃爍的快慢,當達到計數次數時輸出一個tick1信號給移位寄存器,從而使LED燈依次點亮。當為第一首歌的時候,流水燈閃爍頻率為5 Hz; 當前為第2首歌時,閃爍頻率為2.5 Hz。FPGA輸出低電平時,LED燈亮;輸出為高電平時,LED燈滅。

        2.2 蜂鳴器模塊

        本設計采用的是無源蜂鳴器,需要用2~5 kHz的方波來驅動。要想使蜂鳴器發(fā)出不同的音調,就是要改變蜂鳴器的驅動頻率,在程序上體現(xiàn)為改變定時器的分頻值(又稱預重裝值,counter_arr)。預重裝值與頻率的對應關系為

        表1為50 MHz的時鐘頻率下,頻率與預重裝值的對應關系。根據歌曲中音符的先后順序將預重裝值輸入到查找表當中,并與索引值一一對應。索引值的位寬取決于樂曲中音符的數量。查找表采用累加的方式遍歷所有音符。當定時器計數達到分頻值減1時,會清零并發(fā)送一個tick信號,令電平發(fā)生變化,從而達到使蜂鳴器發(fā)聲的目的。本設計有2首歌曲,不同的狀態(tài)對應不同的查找表。如果是歌曲比較多的設計,則可以將各個歌曲的音符分別存入不同的查找表中,然后根據狀態(tài)的不同讀取相應的arr值。圖2為整個音樂模塊的設計流程。

        表1 各音調頻率預重裝值對應表Tab.1 The relationship between the tone frequency and counter_arr

        圖2 音樂模塊設計圖Fig.2 The design of music module

        2.3 8位7段數碼管模塊

        AC620開發(fā)板上的數碼管是段式顯示共陽極的數碼管,需要給其低電平才能使其點亮,共有8個這樣的數碼管。數碼管工作的方式采用動態(tài)顯示的方式。將所有位數碼管段選線并聯(lián)在一起,位選線控制哪一位數碼管有效。這樣能有效地減少IO口,避免資源的浪費。本設計以12.5 MHz的頻率進行掃描,利用發(fā)光管的余暉與眼睛視覺暫留現(xiàn)象,讓人覺得相應的數碼管都在同時發(fā)光。由于開發(fā)板上是一個8位8段的數碼管,以級聯(lián)的方式連接2個74HC595芯片,構成16位的移位寄存器并將串行的信號變?yōu)椴⑿械男盘栞敵龅蕉芜x和位選口,這樣僅用3個IO口即可控制全部數碼管。

        表2 數碼管編碼譯碼表Tab.2 Code decoding table of digital tube

        在代碼設計方面:首先,需要一個分頻計數器產生驅動時鐘;其次,74HC595內部可以看做由一個8位串行移位器和一個8位寄存器組成,當數據全部存入移位寄存器之后,產生一個stcp信號,存入寄存器,接著才會輸出數據。由于有2個這樣的芯片,經過16次移位之后才會儲存一次數據。因此需要編寫一個查找表來表示這一過程。最后,需要將數碼管顯示的數字與段碼一一對應,它們的對應關系如表2。

        只要確定好數碼管段選與位選的段碼值,即可以在相應的數碼管上輸出數據。本設計在位選數據線上為8′b0000_0001,即數碼管7被選中。當為mode1時,段選數據線上為8′b1111_1001;當為mode2時,段選數據線上為8′b1010_0100;當為idle時,段選數據線上為8′b1111_1111。此處需要注意,移位是從第7位開始,段碼需要從第7位倒著輸入。

        2.4 狀態(tài)機模塊

        圖3 狀態(tài)機的狀態(tài)轉換圖Fig.3 State transition diagram

        對于本設計來說,需要3個狀態(tài)來實現(xiàn)歌曲的切換,分別是:idle,mode1,mode2。狀態(tài)機的設計如圖3所示。其中KEY[0]、KEY[1]的管腳連接的是AC620板子上的按鍵1,按鍵2。KEY[0]=0代表按鍵1被按下,輸出低電平,電路導通;KEY[0]=1代表按鍵1沒被按下,輸出高電平,電路截止。KEY[1]與之同理。狀態(tài)機要實現(xiàn)的功能及現(xiàn)象如下:

        對于led模塊:當按下按鍵1,狀態(tài)變?yōu)閙ode1時,led燈會以很快的頻率滾動閃爍;當按下按鍵2,狀態(tài)變?yōu)閙ode2時,led燈以一個較慢的頻率閃爍;當狀態(tài)變?yōu)閕dle時,led燈全滅。

        對于音樂模塊:當為mode1狀態(tài)時,播放第1首歌曲;當為mode2狀態(tài)時,播放第2首;為idle狀態(tài)時,不播放音樂。

        對于數碼管模塊:當為mode1時,數碼管顯示數字“1”;mode2狀態(tài)時,數碼管顯示“2”;當為idle狀態(tài)時,無顯示。

        值得注意的是,要保證按鍵1按下后,狀態(tài)繼續(xù)保持為mode1而不回到idle狀態(tài),僅有KEY[0]=0這個條件是不夠的,還需要判斷按鍵1的前一狀態(tài)。(prekey[0]=1表示按鍵1的前一狀態(tài)為抬起,prekey[0]=0表示按鍵1的前一狀態(tài)為按下。)那么如何定義按鍵1的前一狀態(tài)呢?需要編寫一個D觸發(fā)器,通過非阻塞賦值的方式將KEY[0]的值賦給prekey[0],這樣在同一個周期中,prekey[0]的值就等于KEY[0]的舊值。為了實現(xiàn)設定的功能,需要定義當按鍵的前一狀態(tài)與現(xiàn)在的狀態(tài)不同時,狀態(tài)機才會切換狀態(tài),否則則保持系統(tǒng)的前一狀態(tài)不變。除此之外,因為本設計由按鍵控制,這樣編寫也可以消除按鍵抖動。

        3 頂層設計與驗證

        將相應的代碼按功能整合到一起,進行封裝例化。例化后的模塊像零件一樣,按照正確的順序連接,被頂層調用,從而構成一個清晰的系統(tǒng)。部分仿真波形圖如圖4所示。

        圖4 部分仿真波形圖Fig.4 Simulating waveform

        由波形圖可知,當前選中的是數碼管7。圖中state的值為1時,說明進入到mode1中,7號數碼管上的顯示為11111001,對應在數碼管上則顯示數字“1”;當state的值為2時,則為mode2狀態(tài),數碼管值為10100100,對應在數碼管上的結果為數字“2”。只有當state的值發(fā)生改變時,數碼管的數字才發(fā)生改變,否則則保持當前顯示結果不變,與預期結果相符。

        最后,將配置文件燒寫到FPGA中,進行板級驗證,驗證結果如圖5所示。

        (a)—歌曲1顯示結果; (b)—歌曲2顯示結果圖5 LED和數碼管顯示結果Fig.5 Displaying results of LED and Digital tube

        圖5(a):按鍵1按下,數碼管顯示數字“1”,LED燈快速閃爍,播放樂曲《生日快樂歌》,圖5(b):按鍵2按下,數碼管顯示數字“2”,LED燈閃爍變慢,播放樂曲《兩只老虎》,整個設計測試成功。

        4 結 論

        本文研究了一種基于FPGA的帶數碼管顯示的音樂流水燈控制系統(tǒng)。利用Verilog語言進行編譯,一個狀態(tài)機控制led燈閃爍、音樂播放以及數碼管的同步輸出,代碼簡潔高效,若想增加新的狀態(tài)或其他功能模塊,便于修改,復用性好。同時,本文提供的一種消除按鍵抖動設計思路,可應用于其他的控制系統(tǒng)。此外,AC620開發(fā)板上有多個接口,利用SOPC技術搭建外設,可實現(xiàn)更多的功能,從而本設計有更多優(yōu)化升級的空間??傊?本裝置以FPGA為核心,代碼簡單,系統(tǒng)穩(wěn)定,可移植性強,應用范圍廣,具有一定的市場投資價值。

        猜你喜歡
        音樂設計
        奇妙的“自然音樂”
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        音樂從哪里來?
        藝術啟蒙(2018年7期)2018-08-23 09:14:16
        圣誕音樂路
        兒童繪本(2017年24期)2018-01-07 15:51:37
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        音樂
        音樂
        日本又色又爽又黄又免费网站| 国产精品自拍首页在线观看| 一二区视频免费在线观看| 给我看免费播放的视频在线观看 | 国产性感主播一区二区| 国语对白免费观看123 | 亚洲中文字幕无码一区| 国产成人亚洲精品电影| 亚洲欧美日本| 国产短视频精品区第一页| 国产剧情亚洲一区二区三区| 日本免费一区二区在线看片| 国产成人精品无码一区二区三区| 亚洲xxxx做受欧美| 欧美综合区自拍亚洲综合| 国产在线观看女主播户外| 丰满人妻一区二区三区免费视频| 久久精品国产自清天天线| 色综合999| 国产精品一区二区偷拍| 丰满岳乱妇一区二区三区| 欧美自拍视频在线| 一区二区三区国产偷拍| 亚洲视频一区二区三区视频| 久久精品麻豆日日躁夜夜躁| 国产美女在线精品免费观看网址| 蜜桃av无码免费看永久| 在线播放草猛免费视频| 99999久久久久久亚洲| 无遮高潮国产免费观看| 久久洲Av无码西西人体| 一区二区视频中文字幕| 97高清国语自产拍| 国产精品一区二区资源| 国产一区二区三区中出| 精品欧美一区二区三区久久久 | 国产精品久久久久久久久KTV| 人妻少妇久久精品一区二区 | 成人午夜福利视频镇东影视| 亚洲AV无码成人品爱| 一区二区激情偷拍老牛视频av|