BSD5015 SD卡长时间高音质播放模块doc.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:124KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

BSD5015 SD卡长时间高音质播放模块doc.pdf

BSD5015SD卡长时间高音质播放模块doc.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

BSD5015/BSD7515SD卡长时间高音质播放模块BSD5015SD卡长时间高音质播放模块应用了上海奔流公司最新推出的智能语音控制芯片BLA902+SD卡的新架构新技术,具有众多优点:*、支持1GB以内的各种常见SD卡。*、采用WINDOWS标准的FAT文件格式,支持最多512个文件播放。*、音乐内容直接通过通用读卡器等写入。奔流公司提供相应的语音转换软件。*、音质好,最高支持32KHZ采样。*、设计有“上一曲、下一曲、播放/停止”按键,支持直接按键播放、循环播放。*、带有通用控制串口和忙信号脚,可以实现500个语音文件的指定曲目播放、暂停、停止、音量+/-等功能。适合外部MCU控制。*、主芯片自带0.5W功放,可直接驱动0.5W/8欧喇叭。*、功耗极低,适合纽扣电池供电(工作时电流约35MA,静态功耗2UA)。*、外围电路简洁,成本更低。*、主要适用于公交车语音报站器、导游机、游艺机、数码播放仪等需要“长时间、高音质播放、语音内容需要改动、低成本”的语音应用。一、应用电路原理图:BLA902采用标准SOP20封装,外围电路简洁。从SPK+、SPK-端可以输出0.5W的功率,可以直接驱动0.5W/8欧姆的喇叭。如果采用放大器输出,请从EQO端输出,功放接法可以参考上图,带静音功能。二、成品板接线、按键功能简要说明:电源:BSD5015板采用5V直流电源。板上标有SPK+、SPK-的端子接0.5W/8欧喇叭。BSD7515板采用12V直流电源。板上标有SPK的插针接5-10W/8欧的喇叭。BSD7515板自带7.5W功放。板上已经预留了一个AT89C2051的位置,2051芯片除了必要的和902连接的端口外,其他空余的端口全部外引到了插针上,可以根据客户要求开发相应的控制程序,比如转RS232串口程序、11段单键触发程序、8421编码程序等。UP:点按向上加一曲,并播放。DOWN:点按向下减一曲,并播放。PLAY:点按开始播放。播放中再次点按,停止播放。停止状态下,长按该键3秒,循环播放所有曲目。三、SD卡语音文件格式说明本产品可以兼容市面上1GB容量内的绝大部分SD卡。要求SD卡必须格式化成“FAT”的文件格式,否则无法播放。本产品支持.AD4和.WAV两种语音格式文件的播放。其中AD4格式可以通过奔流公司提供的专用语音转换软件进行格式转换,AD4格式可以最高支持到32KHZ采样。WAV格式最高支持到16KHZ采样,高于16K无法播放,请注意。SD卡内的语音文件写入请客户借助通用读卡器写入。本模块不提供写入语音的功能。语音文件的播放顺序以文件名的数字编号为准。文件名统一采用四位十进制数字编码。如0001.AD4表示第一个文件,0002.AD4即表示第2个文件,0010.AD4表示第十个文件,0105.AD4表示第105个语音文件。。。SD卡写入语音文件后,建议最好将SD卡的写保护开关置于“LOCK”位置。四、串口命令说明:BMP902A支持双线通讯方式(类似I2C通讯SLAVE方式),分别为时钟线(CLK)和数据线(DATA)。一共发送16bit,从高位先开始发送。时序图请见下图说明。注意:BLA902_20S的工作电压是2.4V-3.6V,因此,与之相接的单片机也应该采用3.3V供电。如果采用5V电源的单片机,请务必加上I/O电平转换电路,可采用74LVX4245、三极管转换电路等均可。直接连接5V电源的单片机I/O口会引起BLA902芯片不可恢复的损坏。单曲播放命令:直接发送曲目的文件序号(4位10进制)编码即可。编码FFF0H~FFFFH为命令编码,其中:FFF0H表示第1级音量,FFF1H表示第2级音量;。。。FFF7H为第8级音量,也是最大音量,在默认条件下,播放时为最大音量。FFF8H—FFFDH:预留功能。FFFEH表示暂停播放,暂停中再发一次就继续播放。FFFFH为停止播放。/********************************************************I2C控制子函数*********************************************************/voidI2CSend(unsignedintCMD){unsignedcharj;unsignedinti;SDA=1;SCK=0;Delay500us(6);for(j=0,i=0x8000;j<16;j++,i>>=1){if(CMD&i){SDA=1;}else{SDA=0;}Dela