微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DIY之乐:基于PIC32的以太网音箱设计案例,硬件框图、器件选型、数据结构、软件流程

DIY之乐:基于PIC32的以太网音箱设计案例,硬件框图、器件选型、数据结构、软件流程

时间:04-09 来源:3721RD 点击:

过程中,必须结合主数据开始指针的值来确定主数据的开始位置。主数据包含的数据有缩放因子、哈夫曼数据及附加数据。这些字段在主数据中有固定的格式。

哈夫曼解码和反量化在MP3编码过程中,根据心理声学模型的输出,对离散余弦变换的输出样本以粒度为单位进行的量化和分配,再对量化的结果进行哈夫曼编码。量化和编码主要是通过循环迭代完成的,循环模块分为三层来描述,最高层为帧循环,它调用外层迭代循环,而外层迭代循环又调用内层迭代循环。但在解码过程中,哈夫曼解码和反量化过程是分开实现的。每个粒度组的频率线都是用不同的哈夫曼表来进行编码的,因此在解码过程中,需要采用不同的解码方法。反量化频谱过程就是基于所得到的哈夫曼解码数据,根据逆量化全缩放公式和帧边信息,对于不同的窗类型采用不同的公式以恢复576个频率线的真实值。

反量化过程中得出的频谱值不是按相同顺序排列的。在编码的MDCT过程中,对于长窗产生的频谱值先按子带然后按频率排列;对于短窗,产生的频谱值按子带、窗、频率的顺序排列。为了提供哈夫曼编码效率,短窗中的数据被重新排列,按照子带、频率、窗的顺序排列。解码时,重排序及时将短窗中的频谱值重新排列。同样,在编码的MDCT过程中,为了得到更好的频域特性,对长窗对应每个子带进行了去混叠处理,为了得到正确的音频信号,在解码时必须对长窗对应的子带进行混叠重建。

逆向离散余弦变换主要是使用逆向离散余弦变换的公式,对反量化得出的信号进行变换。逆向离散余弦变换的计算十分复杂,为了提高效率,可以对计算做一些优化。

频率反转和子带合成频率反转是对逆向离散余弦变换的输出值中的奇数号子带(0到31号子带中的1,3,5,...,31)中的奇数号样本值(每个子带中的 0到17号样本值的1,3,5,...,17号样本值)进行反相处理,用来补偿编码时为提高离散余弦变换效率而进行的频率反转。子带合成滤波器将32个带宽相等的子带中的频域信号反变换成时域信号。子带合成是逆向离散余弦变换后的一个通道中32个子带的样值,经过一系列的计算还原出32个PCM数字音频信号的过程。子带合成过程先将32个子带样值进行逆向离散余弦变换,生成64个中间值,将这64个中间值转入到一个长为1024点的类似先进先出FIFO的缓存,再在这1024个值中抽取一半,构成一个512个值的矢量,再进行加窗运算,最后将加窗结果进行叠加生成32个时域输出。

2.1.2 RTLL

应用程序开发人员可能考虑在他们的应用程序中使用开源的代码组件。开源代码的证书可能要求覆盖特殊代码。这个要求对开发人员的开发或拥有者很不方便。RTLL(Run-Time Library Loading),运行时库载入技术便应用于这种情形下。利用这种技术不会将开源代码链接到主应用程序。它们被另外编译,两者不相互联系。开源程序库是在运行时才会利用载入器将函数指针集合载入[4]

2.2系统原理

本系统在PIC32 Ethernet Starter Kit硬件基础上,利用PIC32 Starter Board PIM Adapter外接DA驱动底板,构成以太网音响终端设备。由PC作为服务器利用以太网以MP3帧为单位,将MP3音频数据以播放速率传输到以太网音箱终端。在终端中利用PIC32运行网络协议,接收由服务器发过来MP3帧,并解码缓冲到终端的缓冲队列里,保证终端设备的播放流畅。

图1系统原理图

图1系统原理图

图1中描述了以太网音响的系统原理,描述了以太网音响的各个部分。图2中描述了以太网音响的工作模型。以太网音响工作在局域网中,每个终端节点按需跟服务器相连,索要数据。

图2系统模型图

图2系统模型图

3硬件设计

3.1 PIC32 Ethernet Starter KIT简介

PIC32 Ethernet Starter Kit[5]是一个非常简单易用,低成本的用于体验PIC3210/100Ethernet等功能的开发工具。PIC32可提供工作频率80MHz的32位MIPS处理器内核、512KB的编程FLASH、32KB的RAM内存以及众多的外围设备。这些设备包括USB控制器、定时器/计数器、串口控制器、A/D转换器以及更多的设备。该板具有大量的I/O接口和电源选项,其中也包括USB电源[5]。它同时还具有与Microchip MPLAB开发软件相兼容的内置编程、调试、下载电路。图3就是本文中所用到的开发板。

图3PIC32 Ethernet Starter Kit实物图

图3PIC32 Ethernet Starter Kit实物图

3.2 DAC7512芯片

DAC7512是德州仪器生产的一个DAC芯片。该DAC7512是款低功耗,单向,12位缓冲电压输出的数模转换器(DAC)。其内置的精密输出放大器允许轨对轨摆幅输出。该DAC7512采用了通用的三线串行接口。工作时钟速率最高30MHz,兼容标准的SPI,QSPI,Microwire和DSP接口。

DAC7512的参考电压

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top