1、题目 基于 DSP 的 MP3 播放器设计 一 技术指标 表一 技术指标 序号 技术指标 参数 1 内存 2GB 2 数据流速度 64kb/s320kb/s 3 谐波失真 0.01% 4 信噪比 90dB 5 动态范围 85dB 6 通道分离度 80dB 7 录音格式 ADPCM 8 录音数据流速率 16kb/s-32kb/s 9 解码功能 16、 32kb/s 等( WAV 格式) 16、 32、 48、 64、 128kb/s 等( MP3 格式) 10 USB 接口 34Mb/s( 下载) 56Mb/s(上传) 11 音频输出功率 ( 5-7.5) mW 2 12 电池 AAA 型 1
2、节 13 静态电流 2uA 14 待机电流 30mA 15 工作电流 70mA 16 录音取样频率 8kHz 二 功能描述 表二 功能描述 序号 功能 当前状态 操作 结果 1 播放 待机、停止 按 PLAY 键 顺序播放内存中的 MP3 歌曲 2 随机播放 播放 按随机键 MP3 中的歌曲随机播放 3 重复播放 播放 重复按 REPEAT键 普通播放单曲重复所有歌曲重复普通播放 4 循环播放 播放 按 MODE 键 按一次设起点,再按一次设终点,两点间循环播放 循环播放 按 MODE 键 返回原播放 5 音场选择 待机、播放 重复按 EQ 键 普通( NORMAL)古典( CLASSIC)摇
3、滚( ROCK)重低音( BASS)迪斯科( DISCO)爵士( JAZZ)流行( POP)普通( NORMAL) 6 音量控制 播放 按 VOL+键 声音增大 按 VOL-键 声音减小 7 搜索 播放 按 REW 或 FF 键 向前或向后搜索歌曲并播放 待机、停止 按 REW 或 FF 键 向前或向后 搜索歌曲文件名 8 暂停 播放 按 PLAY 键 暂停播放 暂停播放 按 PLAY 键 恢复播放 9 删除 待机:选定文件 按 DEL 键二次 删除选定文件 10 锁定 待机、播放 按 HOLD 键 其他键失去作用 锁定 按 HOLD 键 取消锁定 11 浏览 停止 按 REW 或 FF 键
4、顺序显示存储器中的歌曲文件名 12 停止 播放 按 STOP 键 停止 13 关机 停止 按“开关”键 关机 待机 n 分钟 无 三 方案论证 1 硬件要求 预期的 MP3 播放器的目标系统硬件要求实现以下功能: 能够存 储一定量的 MP3 码流文件,供解码系统使用。在系统初步实现时,存储的码流长度至少要保证能够从主观上感受到音频信号解码的效果; 能够对 MP3 码流进行解码,从 MP3 格式恢复成 PCM 码流。系统应该能够保证解码过程的正确性,并能够解码算法在实现过程中所需要的存储空间、计算速度等需求; 能够把解码后输出的 PCM 码流通过扬声设备,如耳机、音箱等播放出来,这样才能够从直观
5、上判断解码的效果,并且方便后期在使用该系统方案时进行直观性能评价和直接应用; 能够满足系统的功率要求。对于电子类便携式系统,或者嵌入式应用方案 来说,系统的功耗要比较低,用电池供电能够满足系统的工作需要。 2 软件要求 系统的软件应该能够实现以下功能: 能够从数据存储介质中读取 MP3 码流数据,要能保证数据读取的速度满足系统的需要; 能够正确对 MP3 码流进行解码,并且以所需要的格式和方式输出。解码算 法要在目标系统中实现,因此,不但要保证算法的正确性,也要保证算法的适应 性,充分利用目标系统性能特性,并满足系统的运算速度要求; 能够正确协调硬件各个模块的工作,提供正确的芯片控制信号,这项
6、软件 功能是专门针对硬件的,需要根据目标系统的硬件需 求来设计实现; 3 两种设计方案 为了能够设计和实现出较高性能的系统,需要了解当前的 MP3 解码器系统的实现方案。市场调查和技术咨询的结果显示,目前 MP3 播放器系统 MP3 解码模块一般有两种实现方案。 第一、使用专业的 MP3 解码芯片,辅以简单的外围电路实现。这种方案的优点是系统个体集成度高,电路结构紧凑,实现相对比较简单,能够很快设计实现出目标系统并投入使用,但是由于使用的是专业芯片,芯片中的功能模块即使能扩充,幅度和范围都相对较小,系统很难进行算法升级或功能扩充,在嵌入式应用中与原系统的集成度不高。 第二、以 通用数字信号处理
7、器 (DSP,Digital Signal Processor)为核心,搭建相应的外部电路形成一个系统,解码功能通过对数字信号处理芯片编程来实现。这种方案中,使用一定开发环境进行软件的设计实现和调试测试。为了满足解码系统的需求,需要根据性能和技术要求,对通用的数字信号处理芯片进行外围电路扩充。这种方案的优点是系统实现的灵活性高,功能的可扩展性强,系统成本可以通过对芯片的选择控制到相对较低的水平,而且对于同样使用数字信号处理芯片实现的系统来说,能最大程度地进行系统集成。但是由于整个系统从硬件到软件都需要自行设计和搭建,系统实现的难度和复杂度比较高。 对于本系统设计采用方案二,即采用以 DSP 实
8、现编解码的系统。 四 设计方案 基于 DSP 的系统设计方案 MP3 解码器的解码算法完全由 DSP 芯片实现,其控制部分用单片机实现,作为硬件电路设计的一个部分。电路的整体设计与开发需要综合考虑前面两部分程序算法接口内容,可以在进行详细的程序设计的基础上进行。这样,可以把 MP3解码器的开发工作分为两大模块,即 MP3 解码程序 DSP 实现,即软件设计,以单片机控制程序和电路板设计部分,即硬件设计。 MP3 系统开发从模块上可以 划分为硬件开发和软件开发两个部分,软件主要实现 MP3 解码算法,单片机实现存储器访问控制, MP3 文件播放控制等功能。系统总体的功能结构如图一所示。 硬 件
9、系 统M P 3 播 放 器 系 统软 件 系 统主译码模块控制模块模拟音频模块电源模块D S P子 系 统控 制子 系 统图 5.1 系统结构框图 软件系统设计方案是用 DSP 软件实现 MP3 解码算法功能,并完成相应的接口访问功能,软件功能图如图二所示。 键 盘 用 户 接 口应 用 程 序F L A S H文 件 系 统H P I驱 动通 用驱 动应 用 程 序H P I驱 动M P 3解 码输 出均 衡D / A控 制 子 系 统 M P 3 子 系 统图 5.2 MP3 解码器软件系统功能原理图 五 系统整体框图 MP3 解码算法要被用来实现数码 MP3 实时解码适配器,所以 必须
10、通过硬件实现其算法。本系统以 DSP(TMS320VC5416)作为解码的主要部分,还包括音频 D/A转换,单片机的控制模块,电源系统,存储器模块等组成,图三给出了系统框图。 D S P( M P 3 解 码 )M C B S PD M AH P I接口音 频 D / A 转换 模 块电 源 模 块F L A S HS D R A MA T 8 9 C 5 2人 机 接口 模 块U S B接 口驱 动L C D显 示耳 机基 于 D S P 的 M P 3 播 放 器 框 图图 5.3 系统整体框图 六 硬件电路设计 1 主译码模块 ( 1) TMS320C6711 接口与时钟电路 veloc
11、i 结构使 C6000 DSP 成为高性能的 DSP 芯片。典型的 VLIW 结构由多个并行运行的执行单元组成,这些单元在单个时钟周期内可执行多条指令。并行是突破传 统设计而获得高性能的关键。 C6711 处理器由三个主要部分组成 :CPU 内核、外设和存储器。 CPU 中 8 个功 能单元可以并行操作,这些功能单元被分成类似的两套,每套由 4个基本功能单元组成。 CPU 有两组寄存器,每组寄存器由 16 个 32位寄存器组成。由于在运行期间个做硬件数据相关性的检查,所以程序的并行性在编译时就被确定。片内程序存储器的总线宽度为 256 的,使每个周期可取 8条 32 位指令。 C6711 腆芯
12、片包括片内程序存储器和数据存储器,有些芯片将这些存储器作为高速缓冲存储器。外设包括直接存储器访问 (DMA)、低功耗逻辑、外部存储器接口、串口、扩展总线或主机口和定时器等。 具有以下特点: 1 运行速度快。指令周期为 6ns,峰值运算能力为 1336MIPS,对于单精度运算可达 1G FLOPS,对于算精度运算可达 250MFLOPS. 2 硬件支持 IEEE 格式的 32 位单精度与 64 为双精度浮点操作。 3 继承了 32*32bit 的乘法器,其结果可为 32 或 64bit. 4 C6711 的指令集在 C62 的指令集基础上增加了浮点执行能力,可以看作是C62 指令集的超集。 与
13、C62 系列芯片一样,由于其出色的运算能力、高效的指令集 、智能外设、大容量的片内存储器和大范围的寻址能力,这个系列的芯片适合用于基站数字波束形成、图像处理、语音识别等对运算能力和存储量有高要求的应用场合。 CLKINA3CLKOUT1D7CLKOUT2Y12CLKMODE0C4PLLFB5TMSB7TDOA8TDIA7TCKA6TRSTB6EMU5B12EMU4C11EMU3B10EMU2D10EMU1B9EMU0D9RESETA13NMIC13EXT_INT7E3EXT_INT6D2EXT_INT5C1EXT_INT4C2HINTJ20HCNTL1G19HCNTL0G18HHWILH20H
14、R/WG20HD15B14HD14C14HD13A15HD12C15HD11A16HD10B16HD9C16HD8B17HD7A18HD6C17HD5B18HD4C19HD3C20HD2D18HD1D20HD0E20HASE18HCSF20HDS1E19HDS2F18HRDYH19CE3V6CE2W6CE1W18CE0V17BE3V5BE2Y4BE1U19BE0V20HOLDAJ18HOLDJ17BUSREQJ19ECLKINY11ARE/SDCAS/SSADSV11AOE/SDRAS/SSOEW10AWE/SDWE/SSWEV12ARDYY5EA21U18EA20Y18EA19W17EA18
15、Y16EA17V16EA16Y15EA15W15EA14Y14EA13W14EA12V14EA11W13EA10V10EA9Y9EA8V9EA7Y8EA6W8EA5V8EA4W7EA3V7EA2Y6ED31N3ED30P3ED29P2ED28P1ED27R2ED26R3ED25T2ED24T1ED23U3ED22U1ED21U2ED20V1ED19V2ED18Y3ED17W4ED16V4ED15T19ED14T20ED13T18ED12R20ED11R19ED10P20ED9P18ED8N20ED7N19ED6N18ED5M20ED4M19ED3L19ED2L18ED1K19ED0K18TOU
16、T1F1TINP1F2TOUT0G1TINP0G2CLKS1E1CLKR1M1CLKX1L3DR1M2DX1L2FSR1M3FSX1L1CLKS0K3CLKR0H3CLKX0G3DR0J1DX0H2FSR0J3FSX0H1RSV0C12RSV1D12RSV2A5RSV3D3RSV4N2RSV5Y20ECLKOUTY10PLLVA4PLLGC6U2ATMS320C6711GFN150A1B2C3OE2A4OE2B5OE16Y77GND8Y69Y510Y411Y312Y213Y114Y015VCC16U3DM74LS138NY0Y1Y2Y3Y4Y5Y6Y7SEWEnSDRASnSDCASnCLKM
17、EMBFSR0BDX0BFSX0BDX1BFSX1BCLKX1CE1GND5VVinVoutGNDE1Volt RegNUC9Cap SemiNUC10Cap SemiNUC11Cap SemiNUCT1Cap Pol10R21Res1NUR24Res13.3V0R25Res11KR26Res1NUEMI FILTERPLLGPLLFPLLVPLLG PLLFPLLV0R8Res133R9Res133R10Res1120R15Res10R14Res1NUR6Res1NUR7Res110KR12Res110KR13Res110KR16Res110KR17Res110KR19Res110KR20R
18、es10R11Res10R18Res15V5VU22A(12)PPC_ENDIANOE1OUTPUT5U725MHZ1A22A53A94A121/OE12/OE43/OE104/OE131Y32Y63Y84Y11U5SN74LVTH125PWS14S06OE7X1/ICLK1X28CLK5U4ICS504 CLKIN_MULTS14S06OE7X1/ICLK1X28CLK5U6ICS504 CLKIN_MULTECLKINCLKINCLKINTMS1/TRST2TDI3GND4PD5KEY6TDO7GND8TCK_RET9GND10TCK11GND12EMU013EMU114U8JTAG+5G
19、NDPWR_RST4K7R22Res24K7R23Res25VLCD_DIRBCLK0BDR0ECLKINDSP A4.19DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DSP A15DSP A16DSP A17DSP A18DSP A19DSP A2.17DSP A2DSP A3DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DSP A15DSP A16DSP A17DSP A0.15DSP A0DSP
20、A1DSP A2DSP A3DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DSP A15DSP A0.15DSP A0DSP A1DSP A2DSP A3DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DSP A15DSP A0DSP A1DSP A2DSP A3DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DS
21、P A15DSP A16DSP A17DSP A18DSP A0.18DSP D0.7DSP D4DSP D5DSP D6DSP D7DSP D0DSP D1DSP D2DSP D3DSP D8.15DSP D12DSP D13DSP D14DSP D15DSP D8DSP D9DSP D10DSP D11DSP D16DSP D17DSP D18DSP D19DSP D20DSP D21DSP D22DSP D23DSP D16.23DSP D24DSP D25DSP D26DSP D27DSP D28DSP D29DSP D30DSP D31DSP D24.31DSP D0DSP D1DS
22、P D2DSP D3DSP D4DSP D5DSP D6DSP D7DSP D8DSP D9DSP D10DSP D11DSP D12DSP D13DSP D14DSP D15DSP D16DSP D17DSP D18DSP D19DSP D20DSP D21DSP D22DSP D23DSP D24DSP D25DSP D26DSP D27DSP D28DSP D29DSP D30DSP D31DSP A4DSP A5DSP A6DSP A7DSP A8DSP A9DSP A10DSP A11DSP A12DSP A13DSP A14DSP A15DSP A16DSP A17DSP A18D
23、SP A19DSP A2DSP A3DSP A0DSP A1图 6.1 时钟, JTAG 和 DSP 接口电路 时钟电路有 25MHZ 晶振,两片 ICS504 和 SN74LVTH125PW 组成,如图所示 0R8Res133R9Res133R10Res1120R15Res10R14Res1NUR6Res1NUR7Res110KR12Res110KR13Res110KR16Res110KR17Res110KR19Res110KR20Res10R11Res10R18Res15V5VU22A(12)PPC_ENDIANOE1OUTPUT5U725MHZ1A22A53A94A121/OE12/OE
24、43/OE104/OE131Y32Y63Y84Y11U5SN74LVTH125PWS14S06OE7X1/ICLK1X28CLK5U4ICS504 CLKIN_MULTS14S06OE7X1/ICLK1X28CLK5U6ICS504 CLKIN_MULTECLKINCLKINVin VoutGNDE1Volt RegNUC9Cap SemiNUC10Cap SemiNUC11Cap SemiNUCT1Cap Pol10R22Res1NUR23Res13.3V0R24Res1NUEMI FILTERPLLGPLLFPLLV图 6.2 时钟电路 ( 2) JTAG 仿真口电路 连接测试组( JTA
25、G)接口用于连接最小系统和仿真器,实现仿真器对 DSP的访问, JTAG 接口的连接需要和仿真器上的接口一致。 一般情况下,最小系统板需要引出双排 的 14 脚插针,图中引脚间隔为 0.1英寸,引脚宽度为 0.025 英寸,引脚长度为 0.235 英寸。在大多数情况下,如果开发板和仿真器之间的连接电缆不超过 6 英寸,可采用上述接法,在 EMU0 和 EMU1接上拉电阻 4.7K。 图 6.3 JTAG 电路 2 模拟音频模块 声音采集电路以 TI 公司的音频编解码器 TLV320AIC23 为核心来完成, AIC23把麦克风输出的模拟音频信号转换成数字音频信号,形成 PCM 码流,送给 DS
26、P芯片。 DSP 则以 DMA 方式,通过多通道缓冲串口读取 PCM 样值,并在片内 RAM 建立帧缓冲区,每帧的大 小为 12, DSP 通过 I2C 接口对芯片的内部寄存器进行控制设置,使其工作在合适的的工作模式下。 (1) A1C23 与 6711 的连接方式 AIC23 与 DSP 的接口有两个 :一个是控制口,用于设置 AIC23 的工作参数 ;另一个是数据口,用于传输 AIC23 的 A/D、 D/A 数据。将 6711 的 McASP 配置成脉冲帧同步模式, 2 通路 TDM 格式的数据流,与 4片 AIC23 的数据接口相连 ;使用 I2C总线与 AIC23 的控制口接口。 A
27、IC23 的数据口 AIC23 的数据口有 4 种工作方式,分别为 Rightiustitled、 Leftjustified、xlsMode、 DSPMode。其中后两种可以很方便的与 DSP 的 McASP 串口相连接。采用DSPMode 工作方式。 AIC23 的数据口可以和 6711 的 McASP 接口无缝连接,方便地实现主模式与从模式两种工作方式。当 McASP 为从模式时, McASP 的接收时钟与帧同步信号都由 AIC23 来提供 ;当 McASP 为主模式时, McASP 产生所有的信号。McASP 串口相连接。采用 DSPMode 工作方式。 AIC23 的数据口可以和 6
28、711 的 McASP接口无缝连接,方便地实现主模式与从模式两种工作方式。当 McAS 为从模式时,McASP 的接收时钟与帧同步信号都由 AIC23 来提供 ;当 McAS 为主模式时, McASP产生所有的信号。 AIC23 的控制口 AIC23 的控制口有两种工作方式 :两线制的 I2C 方式 (MODE 为低 );三线制的 SPI方式 (MODE 为高 ),文中采用 I2C 方式,时序图如图 4.6 所示。 图 6.4 I2C 总线配置 AIC23 的时序图 使用 I2C 总线对 AIC23 进行配置时, I2C 总线选择 7 位地址的寻址方式,由于 AIC23 的寄存器只有写操作无读
29、操作,因而其通讯协议规定每个 WORD 的前7Bit 为寄存器的地址,后 1Bit 为寄存器内容。在两线制的 I2C 方式下 SDI 为串行数据线, SCLK 为串行时钟线,开始条件是当 SCLK 为高而 SDI 为下降沿, 1到7个位时钟传输寄存器地址, R/W 位决定数据传输方向,第 9 个位时钟识别地址并接受数据传输,后 2 个 8 位时钟传输控制数据位 (9 位 )。单片 AIC23 接口电路。 LLENEIN19RLENEIN20MICIN18MICBIAS17/CS21MODE22SDIN23SCLK24DIN4LRCIN5DOUT6LRCOUT7BCLK3XTI25XT026CL
30、OCKOUT2DGND28DVDD27BVDD1AGND15HPGND11VMID16AVDD14HPVDD8LOUT12ROUT13LHPOUT9RHPOUT10U19AIC2312Y3XTAL0.01uFC49Cap0.01uFC48Cap0.01uFC53Cap0.01uFC51CapMICINLHPOUTRHPOUTMICBIASLLENEINRLENEINLOUTROUTR52RPot SM2.2uFC50Cap Pol12.2uFC52Cap Pol10.01uFC47CapBCLK0BDR0BFSR0BDX0BFSX0BDX1BFSX1BCLKX1J1Phonejack32.2u
31、FC44Cap Pol12.2uFC45Cap Pol1 1KR48Res21KR49Res21KR50Res21KR51Res20.1uFC43Cap0.1uFC46CapGND3.3V3.3VGND图 6.5 音频转换电路 3 电源模块 TMS320C6711 的内核电压典型值为 1.26V,电压范围为 1.1 1.8V;外部接口电压典型值为 3.3V,电压范围为 3.0 3.6V。另外单片机需 +5V 供电;电平转换电路需 3.3V 供 电;故电源系统有 5V、 3.3V 和 1.26V 四种电压。电系统的 5V电压由外部稳压电源供给; 3.3V 和 1.26V 由系统内部线性电压调节器
32、提供。采用 TI 公司的 TPS767D3011 线性调压电路芯片,能满足系统设计要求。 TPS767D3011 为双输出低漏电压调整器。其特点如下:具有快速瞬态响应功能; 3.3V/1.26V 可调电压输出; 输出电流范围为 01A; 200MS 延迟的双通道上电复位; 热关断保护; 超低静态电流,典型值为 80uA;关断电流为 1uA。 采用 TPS767D3011 构成的电源电路如图 6.2 所示 。从外部稳压电源引入 5V电压。 5V 电压一方面输入给 TPS767D3011,经 TPS767D3011 后输出电压 1.26V和 3.3V,另一方面又直接供给单片机电源。 1IN51IN
33、62IN112IN121OUT231OUT242OUT172OUT18/1EN41GND32GND9/2EN10NC7NC8NC13NC14NC21NC20NC16NC151FB/SENSE252SENSE19/1RESET18/2RESET22U1TPS676D30110.1uFC4Cap0.1uFC8Cap0.1uFC3Cap10uFC6Cap Pol147uFC7Cap Pol110uFC2Cap Pol147uFC1Cap Pol133uFC5Cap Pol110.7KR2Res2D3Diode 1N4148D2Diode 1N4148D1Diode 1N4148D4Diode 1N4
34、14833R5Res233R1Res2150R4Res230.1KR3Res212P1Header 2GNDGND5V1.26V3.3VPWR_RST图 6.6 电源电路 4 存储扩展 (1) SDRAM 扩展 本系统采用 MICron 公司生产的 MT48LC4M16AZ 作为 SDRAM 存储芯片,并可与DSP 完全兼容,能够与 6711 实现无缝连接。 MT48LC4M16AZ 连线图如图 4.12 所示。通过对 6711 的 EMIF 与 SDRAM 相关寄存器的设置之后, DSP 对 SDRAM 的访问操作将变的非常透明,可像 访问片外 SRAM 一样访问它,因此非常方便。系统中采用
35、一片 Mieron 公司的 MT48LC4M16AZ,数据宽度 16bit,工作电压为 3.3V。该芯片可以满足系统对内存容量和读写速度的要求。板上通过 6711 的 EMIF 总线扩展了一片 64M 位 (IM*4Blank*16)的 SDRAM,它将占用 oM642 的石而和瓦 1 二个片外存储空间可寻址范围 oXo40000 一 oX7FFFFF:最大配置时,板上可安装一片 128M 为的 SDRAM,它将占用 6711 的 CEO 一 CE3。全部四个片外存储空间,可寻址范围0x040000 一 OxFEFFFF(6711 状态寄存器 ST3 中的 MPNMC=O),或 oxO40000 一OxFFFFFF(MPNMC=0),上电复位时, MPNMC 被清 0。由于 EMIF 每个片选的最大空间为 64M 比特,所以一片 64M 比特的 SDRAM 就要占用 1个片选空间,然而仅有 1个对应映射范围开始的 CE 引脚作为 SDRAM 的片选信号。所以同时选用 CEO 和 CEI空间,用 EMIF 的 CEO 与 SDRAM 片选 CS 相联, CEI 引脚悬空。