女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA學(xué)習(xí)系列:38. 電子琴的設(shè)計(jì)

FPGA學(xué)習(xí)交流 ? 2018-09-26 12:51 ? 次閱讀

設(shè)計(jì)背景:

FPGA的學(xué)習(xí)也算是是一種日積月累才能有成就的過程,前面我們學(xué)習(xí)了各個(gè)模塊,各個(gè)芯片的配置等等,之后筆者通過兩個(gè)簡單的例子來讓大家去系統(tǒng)的學(xué)習(xí)和認(rèn)識(shí)FPGA。所學(xué)習(xí)的電子琴設(shè)計(jì)也算是一次簡單的各個(gè)模塊的聯(lián)系調(diào)用的一個(gè)過程,對(duì)以后工作中的學(xué)習(xí)有很好的幫助。

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

本次的設(shè)計(jì)主要是通過控制ps2鍵盤來使蜂鳴器發(fā)出哆來咪法嗦拉西7種音來,音符主要又高低音等等,本設(shè)計(jì)只選擇發(fā)出高音的多來咪發(fā)嗦啦西。本設(shè)計(jì)中還用到了VGA的設(shè)計(jì),通過VGA來在顯示屏上畫出如下圖的黑白的電子琴鍵:


當(dāng)按下多來咪發(fā)嗦啦西時(shí),對(duì)應(yīng)的鍵值變顏色表示按下,不變色表示不按下,顏色自己可以調(diào)節(jié),但是琴的按鍵必須為黑白色來顯示出來。

當(dāng)按下按鍵的時(shí)候,蜂鳴器來鳴響對(duì)應(yīng)時(shí)間的音符,本設(shè)計(jì)蜂鳴器響的時(shí)間為0.25S一個(gè)音符持續(xù)的時(shí)間。

本次設(shè)計(jì)用到的PS2和VGA的設(shè)計(jì)原理筆者在這里就不過多的介紹了,不明白的可以翻看前面發(fā)的文檔內(nèi)容。

在本設(shè)計(jì)中介紹蜂鳴器的使用和各音符發(fā)聲的頻率大小。本設(shè)計(jì)用的是無源蜂鳴器,原理圖如下:

image.png

由于FPGA的驅(qū)動(dòng)能力不夠,我們添加了一個(gè)三極管來驅(qū)動(dòng)這個(gè)無源蜂鳴器,而無源蜂鳴器的主要特點(diǎn)是內(nèi)部不帶振蕩源,所以如果使用直流信號(hào)是無法使無源蜂鳴器鳴叫的,必須使用方波去驅(qū)動(dòng)它。

現(xiàn)在我們明白了,只要往蜂鳴器發(fā)送一定頻率的方波,就可以使得蜂鳴器發(fā)出聲音,然后現(xiàn)在的問題是,我們究竟要往蜂鳴器發(fā)送什么頻率的方波信號(hào)呢?具體的頻率可以查看下圖:

現(xiàn)在我們知道了如何讓蜂鳴器響起,又知道發(fā)送什么頻率可以讓蜂鳴器響起什么的聲音,所以我相信我們已經(jīng)有能力讓蜂鳴器響起我們需要的音樂了。

image.png


設(shè)計(jì)架構(gòu)圖:

image.png

設(shè)計(jì)代碼:

頂層模塊

0modulemusic_ps2(clk,rst_n,hs,vs,r_g_b,ps2_clk,ps2_data,beep);

1

2 inputclk;

3 inputrst_n;

4

5 outpuths;

6 outputvs;

7 output[7:0]r_g_b;

8 outputbeep;

9

10 inputps2_clk;

11 inputps2_data;

12

13 wireflag;

14 wire[7:0]data,data_n;

15 wireclk_1M;

16

17

18 frenp frep_dut(

19 .clk(clk),

20 .rst_n(rst_n),

21 .clk_1M(clk_1M)

22 );

23

24 ps2_rec rec_dut(

25 .clk(clk_1M),

26 .rst_n(rst_n),

27 .ps2_clk(ps2_clk),

28 .ps2_data(ps2_data),

29 .flag(flag),

30 .data(data)

31 );

32

33 decode decode_dut(

34 .clk(clk_1M),

35 .rst_n(rst_n),

36 .flag(flag),

37 .data(data),

38 .data_n(data_n)

39 );

40

41 music music_dut(

42 .clk(clk_1M),

43 .rst_n(rst_n),

44 .data_n(data_n),

45 .beep(beep)

46 );

47

48 vga vga_dut(

49 .clk(clk),

50 .rst_n(rst_n),

51 .hs(hs),

52 .vs(vs),

53 .r_g_b(r_g_b),

54 .data_n(data_n)

55 );

56

57endmodule

蜂鳴器模塊

0modulemusic(clk,rst_n,data_n,beep);端口列表

1

2 inputclk;

3 inputrst_n;

4 input[7:0]data_n;//輸入的鍵值

5 outputregbeep;//蜂鳴器

6

7 reg[10:0]music_data;

8 wire[10:0]data;

9

10 always@(posedgeclk)

11 if(!rst_n)

12 begin

13 music_data <=0;

14 end

15 else

16 case(data_n)

17 1 : music_data <=478;//蜂鳴器的高音1

18 2 : music_data <=425; //蜂鳴器的高音2

19 3 : music_data <=379; //蜂鳴器的高音3

20 4 : music_data <=358;//蜂鳴器的高音4

21

22 5 : music_data <=319; //蜂鳴器的高音5

23 6 : music_data <=284; //蜂鳴器的高音6

24 7 : music_data <=253; //蜂鳴器的高音7

25 default:music_data <=0;

26 endcase

27

28

29 reg[20:0]count,cnt;

30

31 always@(posedgeclk)

32 if(!rst_n &&!data_n)

33 begin

34 count <=0;

35 end

36 else

37 if(count <250_000-1)

38 begin

39 count <=count +1;

40 end

41 else

42 begin

43 count <=0;

44 end

45

46 //計(jì)數(shù)0.25S的時(shí)間

47 assigndata =(count ==250_000-1)?music_data :data;

48

49 always@(posedgeclk)

50 if(!rst_n)

51 begin

52 cnt <=1;

53 beep <=0;

54 end

55 else

56 if(data ==0)//控制蜂鳴器不響

57 begin

58 cnt <=1;

59 beep <=0;

60 end

61 elseif(cnt <data)//計(jì)數(shù)對(duì)應(yīng)的頻率

62 begin

63 cnt <=cnt +1;

64 end

65 else

66 begin

67 cnt <=1;//蜂鳴器響

68 beep <=~beep;

69 end

70

71

72

73endmodule

代碼驗(yàn)證正確無誤,筆者在這邊就不過多的驗(yàn)證,大家可以自主的補(bǔ)全代碼,后續(xù)代碼會(huì)在論壇中發(fā)出來供大家參考個(gè)學(xué)習(xí)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21960

    瀏覽量

    614066
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DS28E38 adi

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)DS28E38相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有DS28E38的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,DS28E38真值表,DS28E
    發(fā)表于 03-10 18:55
    DS28E<b class='flag-5'>38</b> adi

    flash MP3語音IC芯片廠介紹兒童電子琴智能語音方案

    現(xiàn)在兒童樂器都會(huì)配各種音效,這些語音方案是如何實(shí)現(xiàn)的呢,是使用了什么語音ic芯片呢,今天語音ic公司九芯電子給大家說一說N9300兒童樂器方案。兒童電子琴智能語音方案主要依賴于特定的語音芯片,?如
    的頭像 發(fā)表于 02-07 18:31 ?311次閱讀
    flash MP3語音IC芯片廠介紹兒童<b class='flag-5'>電子琴</b>智能語音方案

    基于FPGA電子琴設(shè)計(jì)

    過簡單的例子來讓大家去系統(tǒng)的學(xué)習(xí)和認(rèn)識(shí)FPGA。本次的電子琴設(shè)計(jì)也算是一次簡單的各個(gè)模塊的聯(lián)系調(diào)用的一個(gè)過程,也可以幫助各位去加深理解,多動(dòng)手,熟練掌握會(huì)有意想不到的效果。
    的頭像 發(fā)表于 01-20 14:07 ?697次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>電子琴</b>設(shè)計(jì)

    DAC38J84 SYSREF的時(shí)鐘頻率如何確定?

    最近在使用JESD204B協(xié)議,遇到一下問題。我使用的是FPGA與DAC38J84。 1:有關(guān)SYSREF時(shí)鐘問題,DAC的時(shí)鐘為1.2GHz, FPGA中JESD204B IP核配置為發(fā)射
    發(fā)表于 01-06 08:08

    DAC38J84使用JESD與FPGA對(duì)連,CGS階段過不去怎么解決?

    DAC使用DAC38J84,FPGA使用Xilinx ZYNQ7045。 只想使用DAC輸出的A-Channal輸出,LMF配置的是841,實(shí)際上DAC與FPGA只有4條LANE連接在一起 在
    發(fā)表于 12-27 06:03

    dac38j82 IOUTx為什么沒有波形輸出?

    DAC使用DAC38J82,FPGA使用Xilinx XC7VX690T。 DAC設(shè)置為dual dac,LMFS配置的是8212,DAC與FPGA有8條LANE連接在一起 dacclk為
    發(fā)表于 12-06 07:19

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場可編程門陣列)加速深度學(xué)習(xí)模型是當(dāng)前硬件加速領(lǐng)域的一個(gè)熱門研究方向。以下是一些FPGA加速深度學(xué)習(xí)模型的案例: 一、基于FPGA
    的頭像 發(fā)表于 10-25 09:22 ?1061次閱讀

    UCC38C42系列高速BiCMOS電流模式PWM控制器

    電子發(fā)燒友網(wǎng)站提供《UCC38C42系列高速BiCMOS電流模式PWM控制器.pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:30 ?0次下載
    UCC<b class='flag-5'>38</b>C42<b class='flag-5'>系列</b>高速BiCMOS電流模式PWM控制器

    九芯電子電子琴語音芯片的無限可能——N930X-S16 MP3解碼芯片

    隨著科技的不斷進(jìn)步,電子琴已經(jīng)成為了音樂愛好者和專業(yè)音樂家們的重要樂器之一。而九芯電子推出的N930X-S16MP3解碼芯片,更是將這一傳統(tǒng)樂器推向了智能與個(gè)性化的新高度。語音方案:電子琴實(shí)現(xiàn)音樂
    的頭像 發(fā)表于 10-13 08:01 ?697次閱讀
    九芯<b class='flag-5'>電子</b><b class='flag-5'>電子琴</b>語音芯片的無限可能——N930X-S16 MP3解碼芯片

    雅馬哈電子琴PSR-E213維修手冊(cè)

    雅馬哈電子琴PSR-E213維修手冊(cè)
    發(fā)表于 09-29 10:22 ?7次下載

    雅馬哈電子琴PSR-280/PSR-282維修手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《雅馬哈電子琴PSR-280/PSR-282維修手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 09-29 10:20 ?6次下載

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

    今天給大俠帶來在FPAG技術(shù)交流群里平時(shí)討論的問題答疑合集(十四),以后還會(huì)多推出本系列,話不多說,上貨。 FPGA技術(shù)交流群目前已有十多個(gè)群,QQ和微信均覆蓋,有需要的大俠可以進(jìn)群,一起交流學(xué)習(xí)
    發(fā)表于 09-27 20:53

    TJ-56-653激光電子琴說明書

    TJ-56-653激光電子琴說明書
    發(fā)表于 07-05 10:54 ?0次下載

    基于51單片機(jī)矩陣鍵盤音樂電子琴電路圖proteus仿真及程序

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)矩陣鍵盤音樂電子琴電路圖proteus仿真及程序設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開
    發(fā)表于 06-21 14:32 ?4次下載

    labview顯示錯(cuò)誤聲卡驅(qū)動(dòng)或聲卡不支持該配置

    各位大佬好 我想做一個(gè)基于labview的簡易36鍵電子琴,除了高音6.5,其它的按鍵都可以發(fā)聲。顯示錯(cuò)誤是:聲卡驅(qū)動(dòng)不支持。各位大佬有沒有解決的辦法,在此謝謝各位大佬!
    發(fā)表于 06-13 13:53