用51单片机处理音频信号

用51单片机处理音频信号,第1张

介绍基于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的IS61LV641664K*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

注册一下就可以下载

数字信号处理复习方法是理解掌握基本概念和基本方法,以复习要点为线索,结合教材内容,对知识进行作适当展开。

数字信号处理复习要点:

数字信号处理主要包括如下几个部分

1、 离散时间信号与系统的基本理论,信号的频谱分析。

2、 离散傅立叶变换,快速傅立叶变换。

3、 数字滤波器的设计

一、离散时间信号与系统的基本理论、信号的频谱分析

1、离散时间信号:

1)离散时间信号,时间是离散变量的信号,即独立变量时间被量化了。信号的幅值可以是连续数值,也可以是离散数值。

2) 数字信号,时间和幅值都离散化的信号。

(本课程主要讲解的实际上是离散时间信号的处理)

3) 离散时间信号可用序列来描述。

4)袜芦迅 序列的卷积和(线性卷积)。

5)几种常用序列

a)单位抽样序列(也称单位冲激序列) 。

b)单位阶跃序列 。

c)矩形序列。

d)实指数序列。

6) 序列的周期性

所有 存在一个最小的正整数 ,满足: ,则称序列 是周期序列。(注意:按此定义,模拟信号是周期信号,采用后的离散信号未必是周期的)

7)时域抽样定理:一个限带模拟信号 ,若其频谱的最高频率为 ,对它进行等间隔抽样而得 ,抽样周期为T,或抽样频率 ;只有在抽样频率 时,才可由 准确恢复 。

2、离散时间信号的频域表示(信号的傅立叶变换)

周期性所有 存在一个最小的正整数 ,满足: ,则称序列 是周期序列 。(注意:按此定义,模拟信号是周期信号,采用后告此的离散信号未必是周期的)

7)时域抽样定理:一个限带模拟信号 ,若其频谱的最高频率为 ,对它进行等间隔抽样而得 ,抽样周期为T,或抽样频率为 ;只有在抽样频率 时,才可由 准确恢复 。

2、离散时间信号的频域表示(信号的傅立叶变换)

3、序列的Z变换

1) Z变换与傅立叶变换的关系,

2) Z变换的收敛域。收敛区域要依据序列的性质而定。同时,也只有Z变换的收敛区域确定之后,才能由Z变换唯一地确定序列。

3)有限长序列: ,

右序列: ,|Z|>Rx-

左序列: ,(|z|<Rx+,N2>0时:0≤|Z|<Rx+;N2≤0时: 0<|Z|<Rx+)

双边哗手序列: ,常用序列的Z变换:x,C:收敛域内绕原点逆时针的一条闭合曲线。

1) 留数定理。

2) 留数辅助定理。

3) 利用部分分式展开: 然后利用定义域及常用序列的Z变换求解。

http://www.embeded.cn/article/6176.htm

在第三代移动通信系统WCDMA和CDMA2000中,为了能提供大容量和高质量的语音、可变速率数据、图像等业务,无线空中接口的传输速率在室内环境最高要达到2Mbit/s,在室外移动环境最高要达到384kbit/s。因此需要无线基站提供强大的处理能力。TI公司新推出的TMS320C6416是目前处理能力最强大的处理器(DSP),它的主频高达600MHz,专门用于设计高性能的3G无线基站。本文仅就TMS320C6416的硬件结构及其在 3G基站上行链路基带处理中的应用做一介绍。

1 TMS320C6416硬件结构

TMS320C6416 的硬件结构如图1所示。内部包括一个DSP内核、一级数据Cache、一级程序Cache、二级存储器、增强型DMA控制器(EDMA)、Vterbi译码协处理器(VCP)、Turbo译码协处理器(TCP);对外接口包括两个外部存储器接口(EMIFA和EMIFB)、主机接口(HPI)、PCI接口、UTOPIA接口、多通道缓冲串口(McBSP)。

DSP内核采用超长指令字(VLIW)体系结构,有8个功能单元、64个32bit通用寄存器。一个时钟周期同时执行8条指令,运算能力可达到 4800MIPS(每秒百万条指令),支持8/16/32/64bit的数据类型。两个乘法累加单元一个时钟周期可同时执行4组16×16bit乘法或8 组8×8bit乘法,每个功能单元在硬件上都增加了附加功能,增强了指令集的正交性。除此之外还增加了一些指令用以削减代码长度和增加寄存器的灵活性。 TMS320C6416以后版本的主频可升级到1.1GHz。

为使数据能保持对超快速DSP内核的供给,TMS320C6416采用了两级超高速缓存器,即16Kbyte的一级数据Cache、16Kbyte的一级程序Cache和1024Kbyte的数据和程序统一内存。为了达到更大的扩展,1024Kbyte内存中的256Kbyte存储空间可设置用作二级Cache。

在内存和外设接口(EMIFA接口、EMIFB接口、HPI或PCI接口、McBSP串口、UTOPIA接口等)之间所有的数据传输都由EDMA来处理。 TMS320C6416的EDMA共有64个通道,每个通道的优先级都可编程设置,每个通道都对应一个专用同步触发事件,使得EDMA可以被外设来的中断、外部硬件中断、其它EDMA传输完成的中断等事件触发,开始进行数据的搬移。EDMA完成一个完整的数据搬移后,可从通道传输参数记录指定的链接地址处重新加载该通道传输参数。EDMA传输完成后,EDMA控制器可以产生一个到DSP内核的中断,出可以产生一个中断触发另一个EDMA通道开始传输。

TMS320C6416的存储器接口提旦派供了到SDRAM、SBSRAM、异步器件如SRAM/ROM等存储器的无终接口,也可连接到外部I/O器件。存储器接口有EMIFA和EMIFB,其中EMIFA接口有模宽贺64bit宽的数据总线,可连接64/32/16/8bit的器件;EMIFB接口有16bit宽的巧拿数据总线,可连接16/8bit的器件。一般情况下,EMIFA接口连接外部存储器(如SDRAM),EMIFB接口连接外部I/O器件(如FPGA)。

HPI是一个16/32Bit宽的异步并行接口,外部主机通过它可直接访问DSP的地址空间,也可向DSP加载程序。HPI接口支持16bit宽的数据总线和32bit宽的数据总线两种模式,两者均工作在异步从方式。

在TMS320C6416 中,增加了一个PCI接口,使得DSP很容易通过PCI接口无缝连接到一个具有PCI功能的外部主CPU上。PCI接口符合PCI2.2规范;具有PCI 主/从功能;支持32bit宽的地址和数据复用总线;工作频率最高为33MHz;外部主机可通过PCI接口访问DSP内部所有地址空间,向DSP加载程序;DSP也可通过该接口访问外部PCI存储空间。PCI接口和HPI接口共用相同的管脚,因此实际设计时两者只能选一个。

在TMS320C6416 中,还增加了一个UTOPIA接口,它支持UTOPIA II规范,发送数据总线和接收数据总线均为8bit宽,工作频率最高可达50MHz。UTOPIA接口作为ATM控制器的从方,在ATM层器件和物理层器件之间提供了一个标准的硬件接口。由于TMS320C6416内部没有专用的硬件模块处理ATM适应层功能,因此ATM适应层功能应该由DSP软件来实现。

另外,TMS320C6416还有三个多通道缓冲串口(McBSP),工作频率最高可达100MHz。其中McBSP1串口和UTOPIA接口复用,McBSP2串口和PCI的EEPROM接口复用,使用时要注意。

由于TMS320C6416采用了新型芯片制造工艺,I/O电压为3.3V,内核电压仅为1.2V。当时钟频率为600MHz时,DSP的最大功耗小于1.6W。

2 Viterbi译码协处理器VCP

在WCDMA系统中,语音和低速信令传输采用卷积码。卷积码译码方法有门限译码、硬判断Viterbi译码和软判断Viterbi译码。TMS320C6416中的VCP可进行硬判决Viterbi译码或办判决Viterbi译码。

VCP的输入为DSP软件根据待译码数据计算得到的分支度量。若为硬判决,每个输出符号用1bit表示;若为软判决,每个输出符号用16bit表示, VCP也计算Vterbi译码的质量指示Yamamoto比特。VCP的可编程参数包括:约束长度K(5、6、7、8、9)、编码速率r(1/2、 1/3、1/4)、编码器生成多项式、编码块长度F、是否使用滑窗及滑窗参数(可靠程度R、收敛长度C)、硬判决还是软判决、计算状态矩阵的初始条件、质量指示Yamamoto比特门限等。

VCP的内部结构如图2所示。其中EDMA接口包含译码输入数据 FIFO和输出数据FIFO;存储单元包含存储器内部状态矩阵和判决的回溯路径;运算单元根据输入分支度量进行加、比较、选择运算和回溯;VCPINT为 VCP译码完成后到DSP内核的中断;VCPXEVT触发EDMA通道29,搬移VCP的可编程配置参数或待译码数据的分支度量到VCP内部寄存器或内部输入FIFO;VCPREVT触发EDMA通道28,从VCP输出FIFO搬移译码结果到DSP内部或外部存储区。

DSP协同VCP进行译码处理的过程如下:

(1)DSP初始化输入缓冲区。DSP根据待译码数据预先计算其分支度量(分支度量的计算见参考文献[5]),并写入指定的缓冲区。

(2)DSP分配输出缓冲区,准备存储译码结果。

(3)准备VCP的寄存器配置参数。这些参数首先准备好放在DSP的内存或外存,当VCP启动时由EDMA写入VCP内部寄存器。

(4)设置EDMA参数。设置EDMA通道29参数,由VCPXEVT触发,搬移VCP配置参数到VCP内部寄存器,搬移待译码数据的分支度量到VCP内部输入 FIFO;设置EDMA通道28参数,由VCPREVT触发,从VCP输出FIFO搬移VCP译码结果到DSP指定的输出缓冲区。

(5)使能EDMA。使能EDMA通道28和29,使其可以响应VCPXEVT和VCPREVT同步触发事件。

(6)启动VCP。DSP写“开始”命令到VCP内部的命令寄存器(VCPEXE),这会使VCP生成VCPXEVT事件,触发EDMA通道29,搬移配置参数和待译码数据的分支度量到VCP。

(7)处理VCP译码结果。VCP译码完成后会触发EDMA,由EMDA通道28搬移译码结果到DSP指定的输出缓冲,还会产生到DSP内核的中断。DSP应响应这个中断,对译码结果进行处理。

VCP 的工作频率为150MHz,最大可处理558路7.95 ARM语音信道。对于3G ARM 12.2K语音信道,约束长度为9,编码速率为1/3,编码数据的长度为81,当信噪比SNR为1dB时译码结果的误码率BER为1.00E-02,当信噪比SNR为3.25dB时译码结果的误码率BER为1.00E-05。

3 Turbo译码协处理器TCP

在WCDMA、CDMA2000系统中,数据传输采用Turbo码。Turbo译码算法包括软输出Viterbi算法(SOVA)、最大后验概率算法(MAP)。TMS320C6416中的TCP中采用的是MAX*-LOG-MAP译码算法。

TCP 执行的译码算法是一种迭代MAP算法,原理框图如图3所示。第一个MAP译码器接收信息比特R0和校验比特R1,产生的软输出A1e进行交织作为对先验概率的改进估计,输入到第二个MAP译码器中。第二个MAP译码器还同时输入接收信息序列的交绞序列/RO和校验比较序列R2,译码产生的软输出A2e进行解交织并作为第一个MAP译码器的先验概率,这样反复进行,成为迭代译码。经过多次迭代后,对第二个MAP译码器的输出结果A2进行解交织和硬判决,作为 Turbo译码器的译码结果。

TCP有两种译码模式,当编码块长度大小等于5114时,TCP完成MAP算法和整个迭代过程,直接输出译码硬判决结果;当编码块长度大于5114(仅对CDMA2000而言)时, TCP仅完成MAP算法,多次迭代、交织、解交织和硬判决由DSP软件来完成。对WCDMA系统而言,编码块长度小于等于5114,此时TCP完成整个译码过程。

待译码数据的系统信息位和校验位必须由DSP进行8 比特量化处理。8比特中第一位为符号位,接着四位是整数位,最后三位为小数位(具体计算见参考文献[2])。量化后才能输入到TCP进行译码。TCP译码后每个输出符号用1bit表示。TCP的可编程配置参数包括:编码速率r(1/3、1/4)、编码块长度F、译码模式选择、最大迭次数、停止迭代的信噪比(SNR)门限等。DSP输入到TCP的数据还包括Turbo码交织表。

TCP 的结构框图和VCP的结构框图类似,如图4所示。输入数据(待译码数据、配置参数、交织表)都由EDMA通道31输入到TCP内,EDMA通道31由 TCP发出的同步事件TCPXEVT触发;译码结果由EDMA通道30从TCP内搬移到DSP指定的存储区,EDMA通道30由TCP发出的同步事件 TCPREVT触发;TCP译码完成后也生成一个到DSP内核的中断TCPINT。

DSP协同TCP进行译码处理的过程和VCP类似,具体过程如下:

(1)DSP初始化输入缓冲区。DSP对待译码数据进行8bit量化并写放指定缓冲区,Turbo码交织表也写入指定缓冲区。

(2)DSP分配输出缓冲区,准备存储结果。

(3)准备TCP的寄存器配置参数,TCP启动后由EDMA写入TCP内部寄存器。

(4)设置EDMA参数。设置EDMA通道30、31参数,由TCP的两个同步事件触发,控制EDMA向TCP输入数据和从TCP输出译码结果。

(5)使能EDMA。使能EDMA通道30和31,使其可以响应TCPXEVT和TCPREVT同步触发事件。

(6)启动TCP。DSP写“开始”命令到TCP内部命令寄存器,这会使TCP生成TCPXEVT事件,触发EDMA通道31,搬移待译码数据、交织表、寄存器配置参数到TCP。

(7)处理TCP译码结果。TCP译码完成后会触发EDMA通道30输出译码结果,还会产生到DSP内核的中断。DSP响应这个中断,对译码结果进行处理。

TCP 的工作频率为300MHz,最大可处理29路384K数据信道;对编码速率1/3、编码块长度为3840的数据帧进行6次迭次译码所需时间为0.3ms。对于编码速率1/3、编码块长度为1400的数据帧进行8次迭代译码,当信噪比SNR为0.8dB时译码结果的误码率BER为1.00E-04,当信噪比 SNR为1.6dB时译码结果的误码率BER为5.00E-08。

4 TMS320C6416在WCDMA基站上行链路基带处理中的应用

TMS320C6416 在WCDMA基站上行链路基带处理中的应用方案如图5所示。在该方案中,经过射频接收、A/D转换、中频处理后的数据送到FPGA/ASIC, FPGA/ASIC完成码片速率级处理如RAKE接收等;然后送到DSP,DSP(TMS320C6416)主要进行符号速率级算法处理,如第二次解交织、物理信道合并、传输信道解复用、解速率匹配、合并无线帧、第一次解交织、Viterbi译码/Turbo译码、去CRC校验比特、FP帧组成等。外部主CPU完成信令面协议的处理,同时控制整个单板。

DSP的 16bit宽的EMIFB异步接口连接到FPGA/ASIC,用来控制FPGA/ASIC并读取解调后的数据;DSP的HPI接口连接到外部主CPU,外部主CPU通过HPI下发信道的建立、删除等命令;DSP的64bit宽的EMIFA接口连接到一个外部SDRAM,用来缓存处理过程中的中间数据; UTOPIA接口连接到接口电路,把FP帧转换成ATM信元进而送到RNC进行上层业务处理。

在WCDMA 系统中,移动终端发出的信号通过空中接口到达无线基站。在基站中经过射频接收、中频处理、RAKE接收,然后进行信道解复用、解交织和 Viterbi/Turbo译码处理。在没有采用TMS320C6416的系统中,两种译码可以由DSP软件来实现,但这会大大降低DSP处理其它业务的能力;译码也可以由外部FPGA/ASIC硬件实现,但这会增加单板器件的密度和功耗。TMS320C6416除了具有比一般DSP更强大的处理能力外,内部还集成了一个Viterbi译码处理器和Turbo译码协处理器,提供的符号率处理性能几乎是TMS320C6203的十几倍,因此 TMS320C6416十分适合3G基站基带符号速率级处理。

TMS320C6203 现已用在大多数无线设备制造商的3G基站设计中。为了在低功耗和低成本下具有更大的通道密度,这些厂商需重新设计他们的设备。而TMS320C6416目标代码与TMS320C6203兼容,软件移值方便,再加上TMS320C6416具有的强大处理能力和低功耗特性,目前已有很多无线设备制造商打算在 3G基站设计中采用TMS320C6416。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12241615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存