导航:首页 > 操作系统 > 音频显示单片机

音频显示单片机

发布时间:2022-10-31 22:34:38

1. 用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
注册一下就可以下载

2. 51单片机实现音频信号的频谱显示 有硬件电路吗

思路:外来音频信号经过51单片机,在单片机中进行频谱分析,并将结果显示在LCD为外部存储器的读写提供控制信号,既提供读信号和谐信号,这些可以从时序图上

3. 如何用51单片机实现音频信号的频谱显示

这个很复杂,需要用到快速傅立叶转换

4. 如何通过单片机读取音频并通过LED显示出来

用AD,然后自己做算法,驱动LED就可以了

5. 用51单片机实现音乐播放的原理是什么

需要写一段程序。
如果是简单的音乐,编乐谱推蜂鸣器就可以;如果是mp3/wav之类的音乐,需要芯片自带解码模块,或者使用外部解码芯片,还需要dac将声音推出来。

声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。要准确奏出一首曲子,必须准确地控制乐曲节奏,即一音符的持续时间。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。

6. 用89C51单片机怎么做出音频频谱。然后用一排LED小灯珠显示。小生刚学单片机。大神们能给相应的程序参考

傅立叶转换,将采样到的数据使用LED灯排对应输出即可。比如8*8的LED排,那么,你可以使用74HC595来做驱动,采样128个点。那么,第一个点开启第一众排的LED,然后送数据显示,然后第二点送第二排的LED,然后送数据显示,依次类推....来回循环就可以实现啦。

7. 如何把音频加入单片机

不同的单片机有不同的操作方法。
简单点的,可能只需要把几个频率特征码作为数组存储到存储器中,供发音系统调用即可。
复杂些的,需要先录音,再转换格式,最后翻译为源码中的二进制文件。
也有可能单片机本身的系统支持音频文件,可以在通讯或上位机支持下,直接将文件发送过去即可。
这个过程涉及到对单片机的编程或程序本身的设计,不同单片机、不同操作系统或不同人员有不同的思路。

8. 如何用51单片机实现音频信号的频谱显示(在LCD上显示)

12864可以作为显示器件

频谱分析涉及到FFT,如果你这个不会,那还是再学习学习吧。
简单原理: 通过快速FFT将音频分析成多个正弦波的组合,正弦波的频率就是高音低音,振幅就是音量的大小。
FFT运算量比较大,普通51难以接受,要选用1T的高速51,
声音信号要通过ad进行采样,然后将其进行分析,所以要选用一个精度高速度快的ad,一般高档51中ad可以胜任这个工作
声音信号在ad采样之前需要调整成合适振幅的信号

9. 谁能给我介绍下 单片机音乐播放器 是怎么实现 播放音乐 功能的 其原理 重谢


电路连接很简单,我用的是P3.0端口接个蜂鸣器就可以了(你可以根据你的具体硬件连接去改下
音乐程序的设计原理和程序如下:
设计原理
⑴ 总体原理:
乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。
⑵ 单片机产生不同频率脉冲信号的原理:
1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。
2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:
例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。
计数脉冲值与频率的关系公式如下:
N=Fi/2/Fr
(N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率 )
⑶ 其计数值的求法如下:
T=65536-N=65536-Fi/2/Fr
计算举例:
设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr
低音DO的T=65536-500000/262=63627
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1047=65059
⑷ C调个音符频率与计数值T的对照表如下表所示:

表9.1 C调各音符频率与计数值T的对照表
音符 频率(Hz) 简谱码T值 音符 频率(Hz) 简谱码T值
低1DO 262 63628 #4FA# 740 64860
#1DO# 277 63731 中5SO 784 64898
低2RE 294 63835 #5SO# 831 64923
#2RE# 311 63928 中6LA 880 64968
低3M 330 64103 #6 932 64994
低4FA 349 64103 中7SI 988 65030
#4FA# 370 64260 高1DO 1046 65058
低5SO 392 64260 #1DO# 1109 65085
#5SO# 415 64331 高2RE 1175 65110
低6LA 440 64400 #2RE# 1245 65124
#6 466 64463 高3M 1318 65157
低7SI 494 64524 高4FA 1397 65178
中1DO 523 64580 #4FA# 1480 65198

⑸ 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。
表9.2 节拍码对照表
1/4节拍 1/8节拍
节拍码 节拍数 节拍码 节拍数
1 1/4拍 1 1/8拍
2 2/4拍 2 1/4拍
3 3/4拍 3 3/8拍
4 1拍 4 1/2拍
5 1又1/4拍 5 5/8拍
6 1又1/2拍 6 3/4拍
7 1又3/4拍 7 7/8拍
8 2拍 8 1拍
9 2又1/4拍 9 1又1/8拍
A 2又1/2拍 A 1又1/4拍
B 2又3/4拍 B 1又3/8拍
C 3拍 C 1又1/2拍
D 3又1/4拍 D 1又5/8拍
E 3又1/2拍 E 1又3/4拍
F 3又3/4拍 F 1又7/8拍
表9.3 各调节拍的时间设定表
1/4节拍 1/8节拍
曲调值 DELAY 曲调值 DELAY
调4/4 125毫秒 调4/4 62毫秒
调3/4 187毫秒 调3/4 94毫秒
调2/4 250毫秒 调2/4 125毫秒
⑹ 建立音乐的步骤:
1)先把吧乐谱的音符找出,然后由上表建立T值表的顺序。
2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。
3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。

表9.4 简谱对应的简谱码、T值、节拍数
简谱 发音 简谱码 T值 节拍码 节拍数
5 低5SO 1 64260 1 1/4拍
6 低6LA 2 64400 2 2/4拍
7 低7SI 3 64524 3 3/4拍
1 中1DO 4 64580 4 1拍
2 中2RE 5 64684 5 1又1/4拍
3 中3M 6 64777 6 1又2/4拍
4 中4FA 7 64820 7 1又3/4拍
5 中5SO 8 64898 8 2拍
6 中6LA 9 64968 9 2又1/4拍
7 中7SI A 65030 A 2又2/4拍
1 高1DO B 65058 B 2又3/4拍
2 高2RE C 65110 C 3拍
3 高3M D 65157 D 3又1/4拍
4 高4FA E 65178 E 3又2/4拍
5 高5SO F 65217 F 3又3/4拍
不发音 0

1/4拍的延迟时间=187毫秒
DELAY: MOV R7,#2
D2: MOV R4,#187
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
RET
4.程序范例
ORG 0000H ;主程序起始地址
SJMP START ;跳至主程序
ORG 000BH ;TIMER0中断起 始地址
LJMP TIM0 ;跳至TIMER0中断子程序
START: MOV TMOD,#01H ;设T0在M1
MOV IE,#82H ;中断使能
START0:MOV 30H,#00 ;取简谱码指针
NEXT: MOV A,30H ;简谱码指针载入A
MOV DPTR,#TAB ;至TAB取简谱码
MOVC A,@A+DPTR ;
MOV R2,A ;渠道的简谱码暂存于R2
JZ END0 ;是否渠道00(结束码)
ANL A,#0FH ;不是,则取低4位(节拍码)
MOV R5,A ;将节拍码存入R5
MOV A,R2 ;将取到的简谱码再载入A
SWAP A ;高低4位交换
ANL A,#0FH ;取低4位(音符码)
JNZ SING ;取到的音符码是否为0?
CLR TR0 ;开始,则不发音
SJMP D1 ;跳至D1
SING: DEC A ;取到的音符码减1(不含0)
MOV 22H,A ;存入(22H)
RL A ;乘2
MOV DPTR,#TAB1 ;至TABLE1取相对的高位字节计数值
MOVC A,@A+DPTR ;
MOV TH0,A ;取到的高位字节存入TH0
MOV 21H,A ;取到的高位字节存入(21H)
MOV A,22H ;在载入取到的音符码
RL A ;乘2
INC A ;加1
MOVC A,@A+DPTR ;至TABLE1取相对的低位字节计数值
MOV TL0,A ;取到的低位字节存入TL0
MOV 20H,A ;取到的低位字节存入(20H)
SETB TR0 ;启动TIMER0
D1: LCALL DELAY ;其本单位时间1/4拍187毫秒
INC 30H ;取简谱码指针加1
JMP NEXT ;取下一个简谱码
END0: CLR TR0 ;停止TIMER0
JMP START0 ;重复循环
TIM0: PUSH ACC ;将A的值暂存于堆栈
PUSH PSW ;将PSW的值暂存于堆栈
MOV TL0,20H ;重设计数值
MOV TH0,21H ;
CPL P3.0 ;将P3.0位反相,控制蜂鸣器发声
POP PSW ;至堆栈取回PSW的值
POP ACC ;至堆栈取回A的值
RETI
DELAY:MOV R7,#02
D2: MOV R4,#187
D3: MOV R3,#248
DJNZ R3,$
DJNZ R4,D3
DJNZ R7,D2
RET
TAB1: ;决定节拍
DW 64260,64400,64521,64580
DW 64684,64777,64820,64898
DW 64968,65030,65058,65110
DW 65157,65178,65217
TAB: ;乐曲名称《梁祝》
DB 02H,82H,62H,52H,48H,02H,52H,32H,22H,18H
DB 83H,91H,72H,62H,51H,61H,71H,61H,83H,61H
DB 81H,51H,61H,71H,61H,51H,46H,82H,32H,52H
DB 22H,42H,16H,21H,41H,18H,0E4H,13H,21H,43H
DB 51H,21H,41H,12H,83H,81H,61H,81H,58H,53H
DB 61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21H
DB 11H,91H,41H,18H,63H,81H,32H,52H,21H,41H,
DB 16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43H
DB 51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4H
DB 44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18H
DB 61H,81H,51H,61H,51H,41H,32H,21H,41H,18H
DB 08H,0H,04H ;曲子最后静音5拍长的时间
DB 00H ;乐曲结束
END

10. 单片机播放音乐的原理

单片机发音原理:利用定时器或PWM功能,输出PWM,经一级有源滤波后放大驱动扬声器。
单片机演奏音乐基本是单音频率,它不包含相应幅度的谐波频率,
也就是说不能象电子琴那样能奏出多种音色的声音,但一定要弄清楚两个概念即可,也就是“音调”和“节拍” 。音调 表示一个音符唱多高的频率。节拍 表示一个音符唱多长的时间
1.要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。

2. 利用8051的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法。

阅读全文

与音频显示单片机相关的资料

热点内容
相机卡满了没文件夹 浏览:747
如何批量快速压缩视频 浏览:432
我的世界如何加入ice服务器 浏览:873
兄弟cnc编程说明书 浏览:204
php闪电入门教程学习 浏览:152
金岳霖逻辑pdf 浏览:938
linuxtomcat线程 浏览:77
pboc长度加数据加密 浏览:187
英雄联盟国际服手游怎么下安卓 浏览:297
程序员的思路 浏览:234
只能用命令获得的四种方块 浏览:358
怎么用命令方块防止开创造 浏览:807
扫描版的pdf 浏览:790
编程猫怎样做3d游戏 浏览:207
怎么查找云服务器上的ftp 浏览:156
我的世界服务器如何注册账号 浏览:934
统计英文字符python 浏览:424
linux信息安全 浏览:910
压缩机接线柱爆 浏览:1001
程序员自主创业 浏览:586