国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

Xilinx FPGA入門連載11:PWM蜂鳴器驅(qū)動(dòng)之功能概述

發(fā)布時(shí)間:2015-10-9 12:53    發(fā)布者:rousong1989
Xilinx FPGA入門連載0
特權(quán)同學(xué),版權(quán)所有
配套例程和更多資料下載鏈接:
http://pan.baidu.com/s/1jGjAhEm
1 功能概述
蜂鳴器是一種最簡(jiǎn)單的發(fā)聲元器件,它的應(yīng)用也非常廣泛,大都是作為報(bào)警或發(fā)聲提醒裝置。比如我們家里的電腦在剛開啟時(shí),通常主板上會(huì)發(fā)出一聲較短的尖銳的“滴……”的鳴叫聲,提示用戶主板自檢通過(guò),可以正常進(jìn)行后面的啟動(dòng);而如果是1長(zhǎng)1短或1長(zhǎng)2短的鳴叫聲,則表示可能發(fā)生了電腦內(nèi)存或顯卡故障;當(dāng)然還可以有其他不同的鳴叫聲提示其他的故障,總而言之,可別小看了這顆區(qū)區(qū)幾毛錢的小家伙,關(guān)鍵時(shí)刻還挺有用的。可以毫不夸張的說(shuō),蜂鳴器也算是一種人機(jī)交互的手段。
PWM(Pulse Width Modulation),即脈沖寬度調(diào)制,如下圖所示,PWM的輸出只有高電平1和低電平0。PWM不停的重復(fù)輸出周期為T,其中高電平1時(shí)間為t的脈沖,t/T是它的占空比,1/T是它的頻率。
      如下圖所示,這是SF-SP6板上蜂鳴器的電路原理圖,BEEP網(wǎng)絡(luò)連接到FPGA的IO上,當(dāng)BEEP = 1時(shí),三極管Q1的BE導(dǎo)通,則CE也導(dǎo)通,那么U4的2端直接接地,因此在它兩端有5V的電壓,那么蜂鳴器就發(fā)聲了。同理,BEEP =0時(shí),Q1截止,U4的2端相當(dāng)于開路,則蜂鳴器不會(huì)發(fā)出聲音。
         如下圖所示,基于蜂鳴器在FPGA的IO輸出1就發(fā)聲、0則不發(fā)聲的原理,我們給IO口一個(gè)占空比為50%的PWM的信號(hào),讓蜂鳴器間歇性的發(fā)聲鳴叫。如果它的頻率高則發(fā)聲就顯得相對(duì)尖銳急促一些,如果它的發(fā)聲頻率低則發(fā)聲就顯得低沉平緩一些。
         在我們給出的實(shí)例代碼中,我們期望產(chǎn)生一個(gè)輸出頻率為25Hz(40ms)、占空比為50%的PWM信號(hào)去驅(qū)動(dòng)蜂鳴器的發(fā)聲。因此,我們使用系統(tǒng)時(shí)鐘25MHz(40ns)進(jìn)行計(jì)數(shù),每計(jì)數(shù)1,000,000次,這個(gè)計(jì)數(shù)器就清零重新計(jì)算。因?yàn)檫@個(gè)計(jì)數(shù)器是2進(jìn)制的,要能夠表達(dá)0-999999的任意一個(gè)計(jì)數(shù)值,那么這個(gè)2進(jìn)制計(jì)數(shù)器至少必須是20位的。此外,為了得到輸出的PWM占空比為50%,那么我們只要判斷計(jì)數(shù)值小于最大計(jì)數(shù)值的一半即500000時(shí),輸出高電平1,反之輸出低電平0。
2 設(shè)計(jì)源碼
//產(chǎn)生頻率為25Hz,占空比為50%的蜂鳴器發(fā)聲信號(hào)
module sp6(
            input ext_clk_25m,  //外部輸入25MHz時(shí)鐘信號(hào)
            input ext_rst_n,    //外部輸入復(fù)位信號(hào),低電平有效
            output reg beep //蜂鳴器控制信號(hào),1--響,0--不響
        );
//-------------------------------------
reg[19:0] cnt;      //20位計(jì)數(shù)器
    //cnt計(jì)數(shù)器進(jìn)行0-999999的循環(huán)計(jì)數(shù),即ext_clk_25m時(shí)鐘的1000000分頻,對(duì)應(yīng)cnt一個(gè)周期為25Hz
always @ (posedge ext_clk_25m or negedge ext_rst_n)
    if(!ext_rst_n) cnt <= 20'd0;
    else if(cnt < 20'd999_999) cnt<= cnt+1'b1;
    else cnt <= 20'd0;
//-------------------------------------
    //產(chǎn)生頻率為25Hz,占空比為50%的蜂鳴器發(fā)聲信號(hào)
always @ (posedge ext_clk_25m or negedge ext_rst_n)
    if(!ext_rst_n) beep <= 1'b0;
    else if(cnt < 20'd500_000) beep<= 1'b1;    //蜂鳴器響
    else beep <= 1'b0;      //蜂鳴器不響
endmodule

本文地址:http://m.4huy16.com/thread-154162-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國(guó)技術(shù)精英年會(huì)深圳站回顧
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)——采訪篇
  • 電動(dòng)兩輪車設(shè)計(jì)生態(tài)系統(tǒng)
  • 技術(shù)熱潮席卷三城,2025 Microchip中國(guó)技術(shù)精英年會(huì)圓滿收官!
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表