日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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í)也算是是一種日積月累才能有成就的過(guò)程,前面我們學(xué)習(xí)了各個(gè)模塊,各個(gè)芯片的配置等等,之后筆者通過(guò)兩個(gè)簡(jiǎn)單的例子來(lái)讓大家去系統(tǒng)的學(xué)習(xí)和認(rèn)識(shí)FPGA。所學(xué)習(xí)的電子琴設(shè)計(jì)也算是一次簡(jiǎn)單的各個(gè)模塊的聯(lián)系調(diào)用的一個(gè)過(guò)程,對(duì)以后工作中的學(xué)習(xí)有很好的幫助。

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

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


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

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

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

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

image.png

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

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

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

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


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

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639597
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    DAC38RF82和DAC38RF89:高性能射頻采樣DAC的詳細(xì)解析

    DAC38RF82和DAC38RF89:高性能射頻采樣DAC的詳細(xì)解析 在電子工程領(lǐng)域,高性能的數(shù)模轉(zhuǎn)換器(DAC)對(duì)于實(shí)現(xiàn)各種復(fù)雜的射頻應(yīng)用至關(guān)重要。今天我們就來(lái)深入了解一下德州儀器(TI
    的頭像 發(fā)表于 04-18 16:05 ?560次閱讀

    探索DAC38RFxx系列DAC:高性能與多應(yīng)用的完美結(jié)合

    探索DAC38RFxx系列DAC:高性能與多應(yīng)用的完美結(jié)合 在電子設(shè)計(jì)領(lǐng)域,數(shù)模轉(zhuǎn)換器(DAC)一直是實(shí)現(xiàn)數(shù)字信號(hào)到模擬信號(hào)轉(zhuǎn)換的關(guān)鍵器件。今天,我們將深入探討德州儀器(TI)的DAC38
    的頭像 發(fā)表于 04-18 15:55 ?534次閱讀

    高性能RF采樣DAC:DAC38RFxx系列深度剖析

    高性能RF采樣DAC:DAC38RFxx系列深度剖析 在電子工程師的日常工作中,高性能的數(shù)模轉(zhuǎn)換器(DAC)是設(shè)計(jì)中的關(guān)鍵組件。今天,我們就來(lái)深入探討一下德州儀器(TI)的DAC38R
    的頭像 發(fā)表于 04-18 15:55 ?529次閱讀

    探索Arria V系列FPGA:高性能與低功耗的完美結(jié)合

    探索Arria V系列FPGA:高性能與低功耗的完美結(jié)合 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)憑借其靈活性和高性能,成為了眾多工程師的首選。而Intel的Arria V
    的頭像 發(fā)表于 03-29 13:05 ?223次閱讀

    onsemi FDA38N30 N 溝道 MOSFET 深度解析

    onsemi FDA38N30 N 溝道 MOSFET 深度解析 在電子工程師的日常設(shè)計(jì)工作中,MOSFET 是不可或缺的重要元件。今天我們來(lái)深入探討 onsemi 公司的一款高性能 N 溝道
    的頭像 發(fā)表于 03-29 10:50 ?250次閱讀

    Atmel AT17LV系列FPGA配置EEPROM的全面解析

    Atmel AT17LV系列FPGA配置EEPROM的全面解析 在FPGA設(shè)計(jì)領(lǐng)域,配置存儲(chǔ)器的選擇至關(guān)重要。Atmel的AT17LV系列FPGA
    的頭像 發(fā)表于 02-27 16:15 ?402次閱讀

    STWLC38JRM:高效15W無(wú)線(xiàn)充電接收器的卓越之選

    STWLC38JRM:高效15W無(wú)線(xiàn)充電接收器的卓越之選 引言 在當(dāng)今電子設(shè)備飛速發(fā)展的時(shí)代,無(wú)線(xiàn)充電技術(shù)憑借其便捷性和創(chuàng)新性,成為了電子工程師們關(guān)注的焦點(diǎn)。STMicroelectronics推出
    的頭像 發(fā)表于 01-28 09:35 ?309次閱讀

    僅3.8cm!視覺(jué) AI 迷你核心板:ICORE-1126BQ38

    ICORE-1126BQ38采用Rockchip四核AI視覺(jué)處理器RV1126B,集成3TOPSNPU,支持主流AI大模型和深度學(xué)習(xí)框架。內(nèi)置12MISP、8MPAI-ISP、集成多種算法加速器
    的頭像 發(fā)表于 01-20 17:03 ?1552次閱讀
    僅3.8cm!視覺(jué) AI 迷你核心板:ICORE-1126BQ<b class='flag-5'>38</b>

    Altera Agilex 5系列FPGA與SoC產(chǎn)品榮膺2025全球電子成就獎(jiǎng)

    近日,全球 FPGA 創(chuàng)新技術(shù)領(lǐng)導(dǎo)者 Altera 的 Agilex 5 FPGA 與 SoC 產(chǎn)品系列,榮獲 2025 年 AspenCore 全球電子成就獎(jiǎng)(WEAA)的處理器/D
    的頭像 發(fā)表于 12-03 11:13 ?2685次閱讀

    DAC38RF83技術(shù)手冊(cè)

    DAC38RFxx 是一系列高性能、雙通道/單通道、14 位、9GSPS 射頻采樣數(shù)模轉(zhuǎn)換器 (DAC),能夠合成 0 至 4.5 GHz 的寬帶信號(hào)。高動(dòng)態(tài)范圍使 DAC38RFxx 系列
    的頭像 發(fā)表于 11-10 09:37 ?645次閱讀
    DAC<b class='flag-5'>38</b>RF83技術(shù)手冊(cè)

    DAC38RF93技術(shù)手冊(cè)

    DAC38RFxx 是一系列高性能、雙通道/單通道、14 位、9GSPS 射頻采樣數(shù)模轉(zhuǎn)換器 (DAC),能夠合成 0 至 4.5 GHz 的寬帶信號(hào)。高動(dòng)態(tài)范圍使 DAC38RFxx 系列
    的頭像 發(fā)表于 11-07 15:34 ?695次閱讀
    DAC<b class='flag-5'>38</b>RF93技術(shù)手冊(cè)

    DAC38RF80 系列技術(shù)文檔核心總結(jié)

    DAC38RFxx 是一系列高性能、雙通道/單通道、14 位、9GSPS 射頻采樣數(shù)模轉(zhuǎn)換器 (DAC),能夠合成 0 至 4.5 GHz 的寬帶信號(hào)。高動(dòng)態(tài)范圍使 DAC38RFxx 系列
    的頭像 發(fā)表于 11-07 14:47 ?828次閱讀
    DAC<b class='flag-5'>38</b>RF80 <b class='flag-5'>系列</b>技術(shù)文檔核心總結(jié)

    DAC38RF86技術(shù)手冊(cè)

    DAC38RF86/96 是一系列高性能、雙通道、14 位、9GSPS、射頻采樣數(shù)模轉(zhuǎn)換器 (DAC),能夠合成 0 至 4.5 GHz 的寬帶信號(hào)。DAC38RF87/97 還是一個(gè)高性能、雙通道
    的頭像 發(fā)表于 11-07 14:18 ?841次閱讀
    DAC<b class='flag-5'>38</b>RF86技術(shù)手冊(cè)

    SkyOne? Ultra 2.0 前端模塊,用于 FDD/TDD LTE 頻段 7、30、38、40、41 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()SkyOne? Ultra 2.0 前端模塊,用于 FDD/TDD LTE 頻段 7、30、38、40、41相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有SkyOne? Ultra 2.0
    發(fā)表于 10-21 18:30
    SkyOne? Ultra 2.0 前端模塊,用于 FDD/TDD LTE 頻段 7、30、<b class='flag-5'>38</b>、40、41 skyworksinc

    FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用

    隨著機(jī)器學(xué)習(xí)和人工智能技術(shù)的迅猛發(fā)展,傳統(tǒng)的中央處理單元(CPU)和圖形處理單元(GPU)已經(jīng)無(wú)法滿(mǎn)足高效處理大規(guī)模數(shù)據(jù)和復(fù)雜模型的需求。FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)作為一種靈活且高效的硬件加速平臺(tái)
    的頭像 發(fā)表于 07-16 15:34 ?3120次閱讀
    玉溪市| 安多县| 崇文区| 靖西县| 兴文县| 菏泽市| 泗水县| 左云县| 布拖县| 凤山市| 汤原县| 清新县| 罗定市| 怀集县| 贞丰县| 黎平县| 册亨县| 晴隆县| 独山县| 天等县| 三江| 桓仁| 三亚市| 丹江口市| 平塘县| 龙口市| 陈巴尔虎旗| 连平县| 潍坊市| 容城县| 沂南县| 昌黎县| 通海县| 邯郸县| 洪江市| 平乐县| 新乡市| 渝北区| 浦县| 江西省| 建瓯市|