導航:首頁 > 操作系統 > 51單片機音樂頻譜

51單片機音樂頻譜

發布時間:2022-09-01 05:44:36

㈠ 用51單片機處理音頻信號

介紹基於DSP和FPGA的專業級音頻處理開發板資料

介紹基於DSP和FPGA的專業級音頻處理開發板資料

採用TMS320C5409和Cyclone EP1C3T144C8 FPGA、作為主處理器、協處理器。採用24bit高精度音頻專用AD/DA轉換晶元,特別適合應用於電台、錄音室等專業級音頻處理設備開發。

該開發板是面向專業級音頻開發而設計的硬體平台,主要集成了ALTERA的EP1C3,STC的MCU和cirrus公司的高保真度音頻AD/DA,音頻經AD/DA轉換後的信噪比達到90dB,完全達到專業音頻處理的水平。

硬體資源:

◆TMS320VC5409-100:32K字片內RAM,3個McBSP口,8bit的HPI口(支持

16bit非復用模式),支持外部匯流排到內部存儲器的DMA操作,相對5402,5409的資

源要豐富一些,特別在多位高速音頻信號處理中,外部DMA特性能使處理速度提高

很多.

◆EP1C3T144C8: 2910個LE,內置13個獨立的128X36bit的RAM塊,104個可用

I/O口,內置PLL. 大量的管腳和內置RAM(可做各種FIFO)為擴展專業視頻介面提

供了足夠的硬體資源.

◆SST39VF160/1601:2M Bytes flash晶元(1M*16bit),能容納大量程序。 提供從該flash晶元Bootload DSP程序的例子代碼。

◆Bootload SPI EEPROM CSI25256:32K*8bit,支持在線下載DSP程序,不須通過JTAG介面;

◆Sram:ISSI的IS61LV6416;64K*16bit;

◆點陣LCD介面:支持128*64的點陣屏;

◆128*64屏(綠底黑字,藍底白字):61202或K0107晶元組;該屏為用戶另選配

的器件.

◆音頻AD/DA:Crystal公司的專業級音頻AD/DA轉換器,最高支持精度為24bit寬,

采樣率為96K.綜合信噪比超過90db.

◆STC89C58RD+:32K位元組的單片機,為DSP提供良好和低價的用戶介面,同時也為

DSP做高速信號處理節省了寶貴的時間,使DSP不必忙於做用戶介面的工作.

◆預留HPI口,可方便與上位機通訊。

軟體資源:

DSP定時中斷的匯編程序和C語言程序;

McBSP程序;

16位並行介面的Bootload程序和實現過程;

SPI介面通過McBSP2介面Bootload的程序和過程,McBSP0配置程序;

音頻頻譜分析的演示程序:音頻信號經FFT實時轉換後送到LCD顯示的目標文件;

多段均衡器設計過程的介紹;

CSL庫應用的介紹;

應用CSL庫進行DMA配置的介紹;

單片機相應的原代碼,包括在線下載串口bootload程序的代碼;

FPGA的原碼;

該音頻信號處理套件以高速DSP為核心信號處理器,FPGA為信號處理的協處理器,處理包括視音頻時序對齊和部分硬解碼過程,MCU為用戶介面協處理器,實現LCD顯示和鍵盤操作,該開發板是為專業音頻信號處理度身訂做的,同時它可以為靜態圖象處理提供廉價的開發平台.

4層PCB板設計,具有更強的抗干擾性和進一步降低了系統的雜訊.

基於DSP和FPGA的專業音頻處理開發板的特點:

1、 該音頻處理平台的最高處理能力為96kHz,24 bits,綜合信噪比達到90dB,而音頻CD的極限值為44.1 kHz,16 bits,該平台的的音頻處理質量要遠遠優於CD音頻,主要用於專業音頻如電台,電視台等要求較高的場合上的設備開發。

2、 使用cirrus公司性價比較高的音頻處理晶元,差分輸入輸出,有很高的共模抑制能力,AD通道帶片外運放前置驅動,DA通道帶片外運放後級驅動和有源濾波,大大提高了系統的信噪比和驅動能力。

3、 該開發板源於已成功開發且量產的專業化音頻處理設備,我們結合實際的開發流程,使用DSP-FPGA-MCU的設計框架,做到了用DSP做演算法處理,FPGA做邏輯和時序對齊處理,MCU做用戶介面。這種架構能很好的發揮DSP的高速處理性能,而不需耗費資源去管理介面,特別在跟專業視頻AD/DA如SAA7114和SAA7121介面的時候,FPGA做埠操作和時序對齊就遠遠勝於DSP了,用戶利用該系統做視頻處理時,只需在FPGA中提取出有效的視頻數據和開通PING和PONG兩級FIFO,然後在DSP中利用DMA操作將數據PING-PONG進DSP就可以了。而EP1C3為我們提供了足夠的RAM做緩沖FIFO,該功能為實際開發提供了很大方便,我們結合實際對DSP,FPGA, MCU管腳做了適當的擴充。用戶可以方便地擴展自己的PCB板。

4、 該開發板提供了兩種bootload方式,16bit並行flash和8bit串列EEPROM方式,提供整個bootload過程的源代碼和上位機軟體。串列EEPROM bootload方式提供了在線下載功能,通過計算機串口直接實現了DSP 16進制文件的燒寫,省卻了HPI介面bootload時對MCU重新編程的繁瑣操作,同時將HPI口預留給用戶使用。

5、 板上預留了點陣LCD介面,同時提供縱模LCD 12864的MCU驅動程序。音頻處理類的產品一般需要一個比較大的LCD顯示處理前後的音頻數據信息,如輸入音頻的幅度波形,頻譜圖,處理後輸出的幅度波形和頻譜圖等。在做均衡器處理時,通過點陣LCD,就能描出用戶需要的各頻段的增益曲線,這在產品開發中是非常有用的。

6、 該開發板定位在專業音頻處理上,跟一般的DSP學習板有較大的區別,它提供了豐富的片級處理資源。為用戶提供一個良好的二次開發平台,特別適合研究生和公司做音頻或靜態圖像處理項目時使用。

FAQ:

1、該開發套件提供多少東西?

核心板+開關電源+音頻線+串口線+開發資料光碟

2、5409相對於5402性能上有哪些改進和不同?

5409有32K*16bit片內RAM,較5402大1倍,5409有3個McBSP口,較5402多1個McBSP2口,其中McBSP2支持串列EEPROM bootload。支持非復用模式的16bit HPI介面,5402不支持。支持外部匯流排到內部RAM的DMA傳輸,5402不支持。但5409隻有1個時鍾Timer0,5402有2個時鍾。

3、該平台做高速音頻處理的依據是什麼?

我們在該平台上開發過多段音頻均衡器(基於IIR濾波器)和音頻頻譜分析及單峰干擾檢測消除等項目,均取得較好的效果,只要在軟體架構上做適當的配置,如利用FPGA和DSP結合做DMA數據傳輸通道,將DSP從數據傳輸中解放出來,同時關鍵程序使用匯編和C結合的方式編程,就能獲得較高的處理性能。

4、使用串口bootload和使用並口flashrom bootload有什麼優缺點?

我們提供2種方式的bootload方式的目的是讓用戶有更多的選擇,一般在串口資源足夠的話就用串口bootload方式,但5409有個問題是它只支持32k*8bit的串口EEPROM,因而當程序大於32K時就考慮用並口方式了。

5、能不能在FPGA晶元EP1C3中植入NIOS系統?

可以的,但是因為沒有對EP1C3做 flashrom和sdram擴展,如果單純在EPCS1中定製程序的話,程序容量就非常有限了。

詳情請登陸 www.21control.com
=================================================================
這個是51單片機實驗及實踐教程,從入門到精通,附有匯編,C源程序
http://www.51kaifa.com/bbs/viewthread.php?tid=154
注冊一下就可以下載

㈡ 51單片機實現音頻信號的頻譜顯示 有硬體電路嗎

思路:外來音頻信號經過51單片機,在單片機中進行頻譜分析,並將結果顯示在LCD為外部存儲器的讀寫提供控制信號,既提供讀信號和諧信號,這些可以從時序圖上

㈢ 51單片機AD0804寫音樂頻譜源代碼

是樂譜吧,頻譜就很吃力啦

㈣ 用51單片機實現音樂播放的原理是什麼

需要寫一段程序。
如果是簡單的音樂,編樂譜推蜂鳴器就可以;如果是mp3/wav之類的音樂,需要晶元自帶解碼模塊,或者使用外部解碼晶元,還需要dac將聲音推出來。

聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機某個口線的「高」電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發出一定頻率的聲音,若再利用延時程序控制「高」「低」電平的持續時間,就能改變輸出頻率,從而改變音調。要准確奏出一首曲子,必須准確地控制樂曲節奏,即一音符的持續時間。音符的節拍我們可以用定時器T0來控制,送入不同的初值,就可以產生不同的定時時間。便如某歌曲的節奏為每分鍾94拍,即一拍為0.64秒。

㈤ 51單片機12864頻譜分析

這個需要12864畫圖的功能,51處理器做效果不是很好,應該採用處理速度更快的單片機430 avr等,

㈥ 求單片機音樂頻譜程序,並且解釋下藍牙模塊怎樣接收

這是音樂頻譜程序之一,可以參考一下:

T0HEQU30H
T0LEQU31H
ORG0000H
LJMPMAIN
ORG000BH
LJMPT0ISR
ORG0030H
MAIN:
MOVSP,#5FH
MOVTMOD,#01H
SETBET0
SETBEA
LOOP:
MOVDPTR,#FREQ
MOVA,P2;控制高中低音區
MOVR1,#0
ANLA,#03H
JBACC.0,LOOP01
MOVR1,#14
SJMPLOOP0
LOOP01:
JBACC.1,LOOP0
MOVR1,#28
LOOP0:
JBP0.0,LOOP1;控制音頻1234567
MOVA,R1
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP1:
JBP0.1,LOOP2
MOVA,R1
ADDA,#2
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#2
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP2:
JBP0.2,LOOP3
MOVA,R1
ADDA,#4
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#4
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP3:
JBP0.3,LOOP4
MOVA,R1
ADDA,#6
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#6
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP4:
JBP0.4,LOOP5
MOVA,R1
ADDA,#8
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#8
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP5:
JBP0.5,LOOP6
MOVA,R1
ADDA,#10
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#10
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP6:
JBP0.6,LOOP7
MOVA,R1
ADDA,#12
MOVCA,@A+DPTR
MOVT0H,A
INCDPTR
MOVA,R1
ADDA,#12
MOVCA,@A+DPTR
MOVT0L,A
LJMPLOOP
LOOP7:
CLRTR0
LJMPLOOP
;-----------------------------
T0ISR:
CLRTR0
MOVTH0,T0H
MOVTL0,T0L
SETBTR0
CPLP3.0
RETI
;-----------------------------
FREQ:
DB0F2H,03DH;低音1
DB0F3H,0BDH;低音2
DB0F5H,014H;低音3
DB0F5H,0B1H;低音4
DB0F6H,0D0H;低音5
DB0F7H,0D1H;低音6
DB0F8H,0B5H;低音7
DB0F9H,01EH;中音1
DB0F9H,0DEH;中音2
DB0FAH,08AH;中音3
DB0FAH,0D8H;中音4
DB0FBH,068H;中音5
DB0FBH,0E8H;中音6
DB0FCH,05AH;中音7

DB0FCH,08FH;高音1
DB0FCH,0EFH;高音2
DB0FDH,045H;高音3
DB0FDH,06CH;高音4
DB0FDH,0B4H;高音5
DB0FDH,0F4H;高音6
DB0FEH,029H;高音7
;-----------------------------
END

㈦ 如何用51單片機實現音頻信號的頻譜顯示(在LCD上顯示)

12864可以作為顯示器件

頻譜分析涉及到FFT,如果你這個不會,那還是再學習學習吧。
簡單原理: 通過快速FFT將音頻分析成多個正弦波的組合,正弦波的頻率就是高音低音,振幅就是音量的大小。
FFT運算量比較大,普通51難以接受,要選用1T的高速51,
聲音信號要通過ad進行采樣,然後將其進行分析,所以要選用一個精度高速度快的ad,一般高檔51中ad可以勝任這個工作
聲音信號在ad采樣之前需要調整成合適振幅的信號

㈧ 哪位大神有51單片機音樂頻譜程序的發給我!謝了!

1、音樂頻譜程序不通用,不同的音樂對應不同的編碼,所以給你你也沒法改造!
2、告訴你最快捷的方法就是網路上下載一個單片機音樂代碼生成器,把你想要的音樂對照的樂譜輸到軟體裡面,然後生成就出來代碼,輸入的是音符,輸出的是完整代碼,直接下載到單片機就可以使用。
3、還可以自己編寫,找到低中高的,ran,mi,fa,sao,la,xi的頻率,自己在定時器寫個不斷改變頻率的定時,輸出不同的頻率就可以了!
希望可以幫到你,如果滿意,請採納!
這是我寫的一段,不用照抄,知道方法改造很快!
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit BEEP = P3^7;
uchar code SONG_TONE[]=
{
212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0
};
uchar code SONG_LONG[]=
{
9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0
};

void DelayMS(uint ms)
{
uchar t;
while(ms--)
{
for(t=0;t<120;t++);
}
}

void PlayMusic()
{
uint i =0,j,k;
while(SONG_LONG[i]!=0||SONG_TONE[i]!=0)
{
for(j=0;j<SONG_LONG[i]*20;j++)
{
BEEP = ~BEEP;
for(k=0;k<SONG_TONE[i]/3;k++);
}
DelayMS(10);
i++;
}
}

void main()
{
while(1)
{
PlayMusic();
DelayMS(500);
}
}

㈨ 51單片機怎麼用32*64點陣做音樂頻譜

推薦去中國電子DIY之家找找相關資料,希望可以幫到你。

㈩ 51單片機音律和節拍是怎麼送到P2.0口的

51單片機產生音樂的原理是每個節拍的持續時間內,將定時的定時時間設為周期的一半,定時器時間到就產生中斷,將P2.0口的狀態取反一次。例如,聲音頻率是1KHZ,周期是1ms,定時500us就可以了 。由於音樂的頻率是有規律的,可以將不同的音符的定時器初值製成表格,主程序根據樂譜內容查表,即可得到頻率有規律的方波,推動揚聲器發聲即可。

閱讀全文

與51單片機音樂頻譜相關的資料

熱點內容
績效考核權重分配演算法 瀏覽:502
android應用logo 瀏覽:898
光遇安卓服墓土商店什麼時候開 瀏覽:566
月收益翻倍的源碼 瀏覽:636
asop源碼放在哪裡 瀏覽:988
電腦伺服器密碼怎麼找 瀏覽:574
jdp轉換pdf 瀏覽:748
把pdf導入iphone 瀏覽:508
米哈游租賃的雲伺服器是哪個 瀏覽:524
android直接打電話 瀏覽:1016
ubuntu停止命令 瀏覽:283
cnc攻絲編程 瀏覽:869
換個手機號碼app怎麼注冊 瀏覽:320
怎麼下載小猴口算app 瀏覽:115
輕鏈app的貨怎麼樣 瀏覽:625
電腦里的u盤如何加密 瀏覽:370
我的世界全部版本伺服器下載地址 瀏覽:50
交換原理pdf 瀏覽:228
菜鳥驛站app怎麼邀請新人 瀏覽:448
電腦里總是有一些1k的文件夾 瀏覽:45