原创 MP3汽车报站器的实现

2009-8-14 08:35 1165 6 6 分类: MCU/ 嵌入式
介绍一种基于AT89C51SNDlC单片机和闪存实现的MP3公交车报站器,可通过键盘和播放列表文件实现高品质语音信息的播放。电子园51单片机学习网W X8ya |el{
电子园51单片机学习网/X1X#R jMNE2b
  同时使用LED点阵显示播放的内容,报站器可作为优盘方便地更换语音文件,便于车载广告信息的更换。电子园51单片机学习网.L0lKY X n5Z^

k8G yT E6M.Y6o+~44606  随着城市的快速发展,公交线路不时地在进行调整,站名也随之进行变化,而且车载广告也越来越受到商家的重视,因此一款能够方便地更换语音信息、播放高质量语音信息的汽车报站器显得越来越重要。传统的汽车报站器都是采用专用语音合成芯片制成的。语音合成芯片受信息容量、语音音质的限制,且更换信息需专业设备及人士,因而使研制一种新型汽车报站器显得极为重要。本文设计的报站器可非常方便地更换播放内容,并可播放高品质的音乐。电子园51单片机学习网 dP2f.L'Y+Dy~t{

l.Kw/jv(VVC(A446061 报站器功能电子园51单片机学习网![#p eX3jL3w

6{0Cz.I#x:E44606  该报站器具有如下功能:
B1p3n.vl[44606电子园51单片机学习网Vu6\ _k)rF n-B
  ◇可作为优盘与电脑连接。用户可自行下载报站器的播放内容,也可方便地更改播放内容。电子园51单片机学习网'xg Lh6jxG1oK/pJ!u

-L$A-J4}3?qC,WD#F44606  ◇可通过编辑播放列表文件更改所要播放的文件。
Uwxu5WN44606
GX R Vez;us44606  ◇具有16个16×16的点阵汉字,语音播放时可同时用汉字提示播放内容。
w0_{.WM `44606电子园51单片机学习网j$]'v F nw
  ◇播放高品质的音乐,无报站播放时可作为MP3播放器,提高公交车服务质量。电子园51单片机学习网u/X5Di!us3f Q2m5w

;_&O5AI+v4M446062 系统工作原理
5V`0aQ I44606电子园51单片机学习网6@I0i#j5k
  本系统采用AT89C51SNDlC单片机(内部集成MP3解码器)作为主控CPU及解码MP3数据,实现对报站信息播放、点阵字符显示、文件存储以及用作优盘功能时USB与PC机联机的控制。系统利用FATl6在K9F1208上实现文件系统,形成一个Windows可识别访问的64MB寻址区域。结合USB控制器,系统可作为优盘在Windows下使用,从而实现在Windows下对文件的管理以及数据存储功能。系统利用FATl6文件系统在 K9F1208上设置了一个名为SCHEDULE.LST的列表文件。电子园51单片机学习网 y:L?0j+L*|1g3P6{

2F.d#j7g [rDf7K#I*Lm44606  该列表文件的不同行列取了根目录下不同的MP3文件名称,键盘的不同按键对应了列表文件不同行中的MP3文件名称;当有一按键按下时,程序找到列表文件中相应行对应的MP3文件进行播放。这样通过程序的设定,公交车可通过键盘实现MP3格式声音信号的报站以及各种信息的广播。列表文件在系统对闪存初始化时生成,系统在对闪存进行格式化的同时生成该名为 sCHEDULE.LST的列表文件。该列表文件可在Windows下利用记事本打开,编辑所需播放的MP3名称。播放报站信息的同时通过16个16× 16的LED点阵显示相应的播放内容。电子园51单片机学习网]'JAwJVN j

P'v3}1bYJ,D44606  系统框图如图1所示。
c|M5vTbw44606

电子园51单片机学习网"X-g7SxqO8aX/r.Rt

3 部分电路电子园51单片机学习网L KE Cv,jc{;L.B
电子园51单片机学习网 _*mf3@&d;c8xcw&z&E
  AT89C51SNDlC是Atmel公司推出的一款集成MP3硬件解码器及USB revl.1控制器的单片机。它基于8位C51 MCU核(最高时钟频率为20 MHz),内置2304字节RAM及64KB Flash程序空间,具有4KB引导闪存,提供超过44个可用的通用I/O口及多种接口。其中非常方便的设计是4位可中断的键盘口和I2S格式音频接口。 4位可中断键盘口可组成4×4的键盘矩阵,而I2S接口简化了系统电路。
(N+ut$x-S w} YV0`~,m44606
n X-W5Uf*kyL5j44606  本设计的DAC采用的是UDAl330。UDAl330 是Philips公司推出的一款内部集成耳机运算放大器、带有I2S接口的DAC。采用UDAl330可进一步简化系统电路,并且提供L3模式及静态控制两种控制方式,最高可提供20位的高品质声音,是一种较为理想的选择。
^#j|A"S:r+Sm&s44606
7YYs0Tcm i44606  系统原理图如图2所示。电子园51单片机学习网 _+_S)BO:wIAPS\

点击看大图

:tCOo2f8o CW/m44606电子园51单片机学习网c lg4Nf
3.1 语音处理部分电子园51单片机学习网"bb*GCCes

(N-UuQF!Mo44606  AT89C51SNDlC芯片内部的解码电路支持MEPG I/II声音格式第三层格式的硬解码,可处理48 kHz、44.1kHz、32 kHz、24 kHz、22.05kHz和16 kHz采样频率的MP3音频信号,支持31级的低、中、高均衡控制及左右声道独立音量控制,音质效果方面明显好于语音合成芯片。电子园51单片机学习网 i.x9|k(IV^s9n.cX
电子园51单片机学习网b7d*xT~]+Cn
   MP3文件存储于闪存K9F1208中。当进行报站信息播放时,MCU按照系统当前的状态及所按的按键,按照程序的设定从列表文件SCHEDULE. IST中查找应播放的MP3文件名。在查找、打开该文件后,检测该文件MP3数据的各帧,并查看帧头所带的信息是否与该帧一致。如果发现整个错误在容差范围内,则认定文件可以播放。MCU对解码器的控制是通过9个与MP3解码器相关的特殊功能寄存器来实现的。只有输入缓冲区中已经有一完整的帧时,解码器才能开始播放。电子园51单片机学习网0y)Ipa"F

PL(]2T-t"d W:C#NC?44606  解码器通过MP3解码状态寄存器MP3STA及MP33TAl中的MPREQ、MPFREQ、MPBREQ位来实现对MP3输入缓冲管理的握手信号。播放时,MCU从MP3文件中取出MP3数据帧送入MP3DAT寄存器。当解码器需要数据时,通过握手信号,并引发相应中断,通知MCU向MP3DAT中输入数据。解码器还支持CRC校验、帧同步错误校验等功能,这里不再赘述。
{"YIt{[44606
5S)SO6Q-I8Ec44606  与UDAl330的连接上,AT89C51SND1C的I2S接口引脚分别接到UDAl330对应的引脚上。为提高音频信号音质,UDAl330采用L3模式,APPSEL 接地。该模式下,APPL0作为测试引脚,APPL1作为L3模式的时钟,APPL2作为L3模式控制,APPL3作为L3模式的数据输入,它们分别与 AT89C5lSNDlC的P4.7、P4.4、P4.5、P4.O相连。
3SL*L \}44606
H {#m#a i G5W`44606  报站器不需要录音功能,因此MIC电路无须接入MP3电路中。MIC电路的音频信号作为汽车功放的另一路输入接入,如图3所示。
tQ~] r xKI'k9x0?44606

点击看大图电子园51单片机学习网 A#Hx5@[4k | t;c

电子园51单片机学习网&BC/T r&g)w$g
3.2 优盘功能部分电子园51单片机学习网*Q|9cE2m!B2[sG

bv[:E,N(F._)K44606  该功能涉及在K9F1208上FATl6文件系统的实现与管理,以及作为USB从机与主机间的通信。 K9F1208是三星公司推出的一款64 MB的Flash芯片,芯片存储区域分为4096个块,每个块又分32页,每页有512 KB+16字节。Flash的读/写有如下特点:必须以页为单位进行读写,写之前必须先擦除原内容;擦除操作必须对Block进行,即一次至少擦除一个 Block的内容。电子园51单片机学习网#} G2w0m1_r

)c-|:?$D4gP9e0r"l6}1k44606  因此FATl6的实现,可将Flash出的一页定为1个扇区,将其2个块(64个扇区)定为一个簇。这样,簇的容量刚好为512字节×64=32KB,满足FATl6对簇大小的要求。在FATl6分配空间时,其逻辑块地址(LBA)与Flash实际物理地址的转换可以按以下公式进行:
r8Iu8]E7ip44606电子园51单片机学习网v)M\3c!mc;}}+X7F
  F1ash的块地址=逻辑块地址/0x20
u`bn1N44606
8E4j fBF~s44606  Flash的页地址=逻辑块地址%0x20
us _ i6w%o*C8L44606
E1sKo*p1FH!^!N44606  按照这样的结构及FATl6的要求,在K9F1208上实现DBR、FAT、DIR和DATA四个区,即可实现优盘中的磁盘管理功能。 AT89C5lSND1C芯片内集成有USB控制器,由于Mass Storage协议及端点配置、枚举、通信过程较为复杂,这里不再赘述,硬件连接请参考图2。电子园51单片机学习网-g|t:Y4R `
电子园51单片机学习网+k8NLTz
3.3 显示电路
?DJ c'E A44606电子园51单片机学习网1A sV p0SX J
  如图4所示,显示电路由IDT7132、AT89C5l、74LSl54、74HC573以及1个16×256的LED点阵屏构成。IDT7132是一片容量为32 KB的双口RAM,由于16×256的LED点阵屏显示缓存共需512字节的存储空间,电路使用它与AT89C5lSNDlC接口并存储汉字显示信息。 16×256的LED点阵屏可显示16个16×16的点阵汉字,显示屏分32页,每页又分成16行。
c.fM1u ~:W,cO7u44606
PN\JD,KXVN44606  本设计采用两片4-16译码器74LS154组合成一个5-32译码器,作为页译码器;采用一片74LSl54作为行译码器。每一页对应一个74HC573,用于锁存该页某一行显示的内容;32个74HC573可锁存16×256的LED点阵屏一行的内容,显示屏由7407驱动。AT89C5l从双口RAM规定区域取出显示内容,控制页译码器把数据分别送入每一页的当前行中,然后控制行译码器换行,如此循环形成动态显示。显示电路作为~独立模块使用,报站器显示信息时,只需把欲显示的汉字字模送入双口RAM对应的存储区域。电子园51单片机学习网xuH uO]2u4w

点击看大图电子园51单片机学习网A2m1adg:s5Y6W

结语
;pV,I#p"wPI44606
NW/l?bU L3K6q44606  随着MP3播放器硬件成本的降低,MP3报站器的性能及成本优势越来越明显,有着广阔的应用前景;且MP3报站器可方便地更换广播信息,具有较高的使用价值和推广价值。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条