串口语音芯片YX520024QS使用说明书V18 YX520024SS新封装.docx
- 文档编号:3602067
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:36
- 大小:854.62KB
串口语音芯片YX520024QS使用说明书V18 YX520024SS新封装.docx
《串口语音芯片YX520024QS使用说明书V18 YX520024SS新封装.docx》由会员分享,可在线阅读,更多相关《串口语音芯片YX520024QS使用说明书V18 YX520024SS新封装.docx(36页珍藏版)》请在冰豆网上搜索。
串口语音芯片YX520024QS使用说明书V18YX520024SS新封装
1.概述
1.1简介
YX5200-24QS是一个提供串口的语音芯片,完美的集成了MP3、WAV的硬解码。
同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。
通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点。
1.2功能
1、支持采样率(KHz):
8/11.025/12/16/22.05/24/32/44.1/48
2、24位DAC输出,动态范围支持90dB,信噪比支持85dB
3、完全支持FAT16、FAT32文件系统,最大支持32G的TF卡,支持32G的U盘。
4、多种控制模式可选。
IO控制模式、串口模式、AD按键控制模式
5、广播语插播功能,可以暂停正在播放的背景音乐。
广告播放完回到背景音继续播放。
6、音频数据按文件夹排序,最多支持100个文件夹,每个文件夹可以分配255首曲目
7、30级音量可调,5种EQ可选。
微X-189-2510-3846
1.3应用
1、车载导航语音播报
2、公路运输稽查、收费站语音提示;
3、火车站、汽车站安全检查语音提示;
4、电力、通信、金融营业厅语音提示;
5、车辆进、出通道验证语音提示;
6、公安边防检查通道语音提示;
7、多路语音告警或设备操作引导语音;
8、电动观光车安全行驶语音告示;
9、机电设备故障自动报警;
10、消防语音报警提示;
11、自动广播设备,定时播报
2.芯片使用说明
芯片选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的aDSP,采用硬解码的方式,更加保证了系统的稳定性和音质。
小巧的封装尺寸更加满足嵌入其它产品的需求
2.1硬件参数
名称
参数
MP3文件格式
1、支持所有比特率11172-3和ISO13813-3layer3音频解码
2、采样率支持(KHZ):
8/11.025/12/16/22.05/24/32/44.1/48
3、支持Normal、Jazz、Classic、Pop、Rock等音效
USB接口
2.0标准
UART接口
标准串口,TTL电平9600,波特率可定制
输入电压
3.3V-5V
额定电流
15ma[不带U盘]
封装尺寸
QSOP24标准
工作温度
-40度~80度
湿度
5%~95%
2.2管脚说明
引脚序号
引脚名称
功能描述
备注
1
DACL
音频输出左声道
驱动耳机、功放
2
DACR
音频输出右声道
驱动耳机、功放
3
VDDIO
3.3V电源输出
给TF卡、SPI、24C02供电
4
VDD
5V电源输入
不可以超过5.2V
5
VSS
电源地
6
TX
UART串行数据输出
7
RX
UART串行数据输入
8
CHOICE
无
9
PLAYLED
播放指示灯
播放为高输出
10
INFRARED
红外遥控接收
11
BUSY
Busy输出
待机输出高,播放输出脉冲
12
SPICS
SPI_CS片选总线
13
SPIDO
SPI_DO数据总线
14
SPICLK
SPI_CLK数据总线
15
ADK2
ADK2外接按键
22K上拉
16
ADK1
ADK1外接按键
22K上拉
17
SDCLK
SD_CLK时钟总线
18
SDCMD
SD_CMD命令总线
19
SDDAT
SD_DAT数据总线
20
USB-
USB-DM
接U盘和电脑的USB口
21
USB+
USB+DP
接U盘和电脑的USB口
22
NC
无
23
VCOM
退耦
24
DACVSS
音频地
3.串口通讯协议
串口作为一种在控制领域常用的通信,我们进行了工业级别的优化,加入的帧的校验、重发、错误处理等措施,大大加强通信的稳定性和可靠性,同时可以在此基础上扩展更加强大的RS485进行组网功能,串口的通信波特率可自行设置,默认为9600。
3.1通讯格式
支持异步串口通讯模式,通过串口接受上位机发送的命令
通讯标准:
9600bps
数据位:
1
校验位:
none
流控制:
none
格式:
$SVERLenCMDFeedbackpara1para2checksum$O
$S
起始位0x7E
每条命令反馈均以$开头,即0x7E
VER
版本
版本信息[目前默认为0xff]
Len
len后字节个数
校验和不计算在内
CMD
命令字
表示具体的操作,比如播放/暂停等等
Feedback
命令反馈
是否需要反馈信息,1反馈,0不反馈
para1
参数1
查询的数据高字节(比如歌曲序号)
para2
参数2
查询的数据低字节
checksum
校验和[占两个字节]
累加和校验[不计起始位$]
$O
结束位
结束位0xEF
举个例子,如果我们指定播放TF卡,就需要发送:
7EFF0609000002FEF0EF,数据长度为6,这6个字节分别是[FF0609000002]。
不计算起始、结束、和校验。
再然后对得到的结果进去。
3.2通讯指令
1、直接发送的指令,不需要返回参数
CMD命令(指令)
对应的功能
参数(16位)
0x01
下一曲
0x02
上一曲
0x03
指定曲目(NUM)
1-2999
0x04
音量+
0x05
音量-
0x06
指定音量
0-30
0x07
指定EQ0/1/2/3/4/5
Normal/Pop/Rock/Jazz/Classic/Bass
0x08
单曲循环指定曲目播放
0-2999
0x09
指定播放设1/2
U/SD
0x0A
保留
0x0B
保留
0x0C
芯片复位
0x0D
播放
0x0E
暂停
0x0F
指定文件夹播放
1-10(需要自己设定)
0x10
扩音设置(无)
[DH=1:
开扩音][DL:
设置增益0-31]
0x11
全部循环播放
[1:
循环播放][0:
停止循环播放]
0x12
指定MP3文件夹曲目
0--3000
0x13
插播广告
0--3000
0x14
支持16个文件夹
详见下面的详细说明
0x15
停止插播,播放背景
0x16
停止播放
2、查询系统的参数
CMD命令详解(查询)
对应的功能
参数(16位)
0x3C
STAY
0x3D
STAY
0x3E
STAY
0x3F
发送初始化参数
0-0x0F(低四位每位代表一种设备)
0x40
返回错误,请求重发
0x41
应答
0x42
查询当前状态
0x43
查询当前音量
0x44
查询当前EQ
0x45
查询当前播放模式
该版本保留此功能
0x46
查询当前软件版本
该版本保留此功能
0x47
查询UDISK的总文件数
0x48
查询TF卡的总文件数
0x49
保留
0x4A
保留
0x4B
查询UDISK的当前曲目
0x4C
查询TF卡的当前曲目
0x4D
保留
3.3芯片返回的数据
芯片在关键地方均会有数据返回。
供用户掌控芯片的工作状态。
⏹芯片上电初始化成功的数据。
⏹芯片播放完当前曲目的数据。
⏹芯片成功接收到指令返回的ACK(应答)。
⏹芯片接收一帧数据出错[包括数据没收完整、校验出错两种情况]。
⏹芯片在繁忙时,有数据过来,芯片会返回忙的指令。
⏹U盘、TF卡插入拔出,均有数据返回。
3.3.1芯片上电返回的数据
(1)、芯片上电,需要一定的时间初始化,这个时间是需要根据U盘、TF卡等设备的文件多少决定的,一般情况在1.5~3S这个时间。
如果超过这个时间芯片的初始化数据还没有发送出来,说明芯片初始化出错,请复位芯片的电源,另外检测硬件的连接。
(2)、芯片初始化数据包括在线设备,譬如发送7EFF063F000001xxxxEF
DL=0x01说明上电过程中,只有U盘在线。
其它的数据请参照下表,各设备之间是或的关系
U盘在线
7EFF063F000001xxxxEF
各设备之间是或的关系
TF在线
7EFF063F000002xxxxEF
U盘、TF在线
7EFF063F000003xxxxEF
PC在线
7EFF063F000004xxxxEF
(3)、MCU必须等待芯片初始化指令发出之后才能发送相应的控制指令,否则发送的指令芯片将不予处理。
同时还会影响芯片的正常初始化。
3.3.2曲目播放完毕返回的数据
U盘播放完第1曲
7EFF063C000001xxxxEF
U盘播放第1曲完毕
U盘播放完第2曲
7EFF063C000002xxxxEF
U盘播放第2曲完毕
TF卡播放完第1曲
7EFF063D000001xxxxEF
TF卡播放第1曲完毕
TF卡播放完第2曲
7EFF063D000002xxxxEF
TF卡播放第2曲完毕
FLASH播放完第1曲
7EFF063E000001xxxxEF
FLASH播放第1曲完毕
FLASH播放完第2曲
7EFF063E000002xxxxEF
FLASH播放第2曲完毕
1、针对很多的触发型的播放需求,我们芯片更正为播放一曲之后自动进入停止状态。
如果用户需要此类应用。
只需要指定曲目播放即可。
这样,曲目播放完毕会自动停止,等待指令
2、另外我们专门开辟一个IO作为解码和停止的状态指示。
请参见第6脚,GPIO1
(1)、播放状态输出低电平[很多功放有静音脚,可以通过此IO直接进行控制]
(2)、播放暂停状态,输出高电平。
芯片睡眠状态。
也是高电平
3、针对连续播放应用,可以这样实现。
假如U盘播放第一首歌完毕之后,会返回
7EFF063C000001xxxxEF
3C----表示的是U盘命令
0001----表示播放完毕的曲目。
此时再发送播放下一曲的指令,即可顺序循环播放
4、芯片通电之后,初始化正常,芯片会自动进入设备播放状态。
并且停止解码,等待用户发送播放的相关指令
5、另外用户在指定设备之后,需要等待200ms的时间,再发送指定的曲目,因为一旦指定曲目之后,系统会对指定的设备进行文件系统的初始化,如果立刻发送指定的曲目命令,会导致芯片接收不到。
3.3.3芯片应答返回的数据
U盘播放完第1曲
7EFF063C000001xxxxEF
U盘播放第1曲完毕
(1)、为了加强数据通信之间的稳定性,我们增加了应答处理,ACKB字节就是设置是否需要回复应答。
这样做的好处是保证每次通信都有握手信号,收到应答就表示MCU发送的数据,芯片已经成功收到,马上处理。
(2)、对于一般的应用,客户可以自由选择,不加这个应答处理也是可以的。
3.3.4芯片错误返回的数据
返回忙
7EFF0640000001xxxxEF
芯片在文件系统初始化时
当前处于睡眠模式
7EFF0640000002xxxxEF
睡眠模式只支持指定设备
串口接收错误
7EFF0640000003xxxxEF
串口一帧数据没接收完毕
校验出错
7EFF0640000004xxxxEF
和校验出错
指定文件超出范围
7EFF0640000005xxxxEF
文件的指定超过设定的范围
未找到指定的文件
7EFF0640000006xxxxEF
指定为文件没有被找到
插播指令错误
7EFF0640000007xxxxEF
当前状态不接受插播
(1)、为了加强数据通信之间的稳定性,我们增加了数据错误处理机制。
芯片收到不符合格式的数据,均会有信息反馈出来。
(2)、在环境比较恶劣的情况下,强烈建议客户处理此命令。
如果应用环境一般,可以不用处理。
(3)、芯片返回忙,基本上是芯片上电初始化的时候才会返回,因为芯片需要初始化文件系统
(4)、芯片上电之后,进入的是设备状态,设备的顺序是U盘--TF卡。
如果U盘和TF卡均不在线的话,芯片会进入睡眠状态。
(5)、只要参考我们给出的测试SDK程序,移植里面的串口操作部分,就不会出现校验出错,在这里强烈建议用户使用我们给出的校验方式。
因为谁都不能保证数据的传输不会出错。
(6)、文件指定部分出错,请参考下面的“指定文件名播放详细说明”
3.3.5设备插入拔出消息
U盘插入
7EFF063A000001xxxxEF
TF插入
7EFF063A000002xxxxEF
PC插入
7EFF063A000004xxxxEF
U盘拔出
7EFF063B000001xxxxEF
TF拔出
7EFF063B000002xxxxEF
PC拔出
7EFF063B000004xxxxEF
(1)、为了加强芯片的灵活性,我们特别增加了,设备插入、拔出的指令反馈。
方便用户知道芯片的工作状态。
(2)、设备插入的时候,我们默认进入到设备等待状态,如果用户插入的是带灯的U盘,可以看到U盘灯闪烁。
也可以接收到设备插入的串口消息。
3.4串口指令详解
以下我们对关键的地方进行详细的说明:
⏹指定曲目播放[针对按照存储的物理顺序播放]
⏹指定播放的音量
⏹指定播放的设备
⏹指定文件夹播放[这里有多种方式,参见下面的详细说明]
⏹全部循环播放指令
3.4.1指定歌曲播放指令
我们给出的指令是支持指定曲目播放的,歌曲的选择范围为0~2999.其实是可以支持更多的,因为涉及到文件系统的原因,支持过多的歌曲,会导致系统操作缓慢,一般的应用也不需要支持这么多的文件。
如果客户有非常规的应用,请事前和我们沟通。
(1)、例如选择第一首歌播放,串口的发送部分7E100603000001FFE6EF
7E---起始命令
FF---版本信息
06---数据长度(不包含校验)
03---代表命令字节
00---是否需要应答[0x01:
需要应答,0x00:
不需要返回应答]
00---曲目的高字节[DH]
01---曲目的低字节[DL],这里代表的是第一首歌播放
FF---校验的高字节
E6---校验的低字节
EF---结束命令
(2)、对于选曲,如果选择第100首,首先将100转化为16进制,默认为双字节,就为0x0064。
DH=0x00;DL=0x64
(3)、如果选择第1000首进行播放,首先将1000转化为16进制,默认为双字节,就为0x03E8
DH=0x03;DL=0xE8
(4)、其它的操作依次类推即可,因为在嵌入式领域采用16进制是最为方便的一种操作。
3.4.2指定音量播放指令
(1)、我们系统上电默认的音量为30级,如果要设置音量的话,直接发送相应的指令即可
(2)、例如指定音量为15级,串口发送的指令:
7EFF060600000FFFD5EF
(3)、DH=0x00;DL=0x0F,15转化为16进制为0x000F。
可以参照播放曲目部分的说明
3.4.3指定播放设备
(1)、我们的芯片默认是支持2种类型的播放设备,只有设备在线才能指定设备去播放
设备是否在线,我们软件会自动检测,无需用户关心。
(2)、看下表,选择合适的指令发送
(3)、指定设备之后。
芯片会自动进入停止解码状态,等待用户指定曲目播放。
从接收到指定设备到芯片内部完成初始化文件系统。
大概需要200ms。
请等待200ms之后再发送指定曲目的指令。
指定播放设备-U盘
7EFF0609000001xxxxEF
xxxx:
代表校验
指定播放设备-SD卡
7EFF0609000002xxxxEF
3.4.4指定文件夹播放
指定文件夹01里面的001xxx.mp3
7EFF060F000101xxxxEF
指定文件夹11里面的100xxx.mp3
7EFF060F000B64xxxxEF
指定文件夹99里面的255xxx.mp3
7EFF060F0063FFxxxxEF
(1)、指定文件夹播放是我们制定的扩展功能,默认文件夹的命名方式为"01","11"这样的方式因为我们的芯片不支持汉字名称的文件夹名称识别,为了系统的稳定性和歌曲切换的速度,每个文件夹下默认最大支持255首歌,最多支持99个文件夹的分类,如果客户有特殊要求,需要按照英文名称来分类,我们也是可以实现的,但是名称只能是“GUSHI”、“ERGE”等英文名称组成。
但是mp3文件是需要增加前缀的,可以在“不得不爱.mp3”基础上改成“002不得不爱.mp3”。
(2)、例如指定"01"文件夹的100xxx.MP3文件,串口发送的指令为:
7EFF060F000164xxxxEF
DH:
代表的是文件夹的名字,默认支持99个文件,即01--99的命名
DL:
代表的是曲目,默认最多255首歌,即0x01~0xFF
(3)、为了芯片的标准性,必须同时指定文件夹和文件名,来锁定一个文件。
单独指定文件夹或者单独指定文件名也是可以的,但是这样文件的管理会变差。
指定文件夹和指定曲目是支持MP3、WAV
(4)、下面截两个图说明文件夹和文件名的指定[分左右两个图]
3.4.5指定MP3文件夹中的曲目播放
指定MP3文件夹
7EFF0612000001FEE8EF
"MP3"文件夹,曲目为"0001"
7EFF0612000002FEE7EF
"MP3"文件夹,曲目为"0002"
7EFF06120000FFFDEAEF
"MP3"文件夹,曲目为"0255"
7EFF06120007CFFE13EF
"MP3"文件夹,曲目为"1999"
7EFF0612000BB8FE26EF
"MP3"文件夹,曲目为"3000"
(1)、在指定文件夹和文件名的基础上,我们扩展单个文件夹的功能,文件夹的命名必须为“MP3”
(2)、最多支持65536首曲目,但是鉴于文件系统的操作速度,可能会随着文件的增大,曲目切换的速度会相应的减慢,所以暂时设定3000段。
(3)、指定的文件命名如下:
3.4.6插播ADVERT文件夹下的广告
插播广告
7EFF0613000001FEE7EF
"ADVERT"文件夹,曲目为"0001"
7EFF0613000002FEE6EF
"ADVERT"文件夹,曲目为"0002"
7EFF06130000FFFDE9EF
"ADVERT"文件夹,曲目为"0255"
7EFF06130007CFFE12EF
"ADVERT"文件夹,曲目为"1999"
7EFF0613000BB8FE25EF
"ADVERT"文件夹,曲目为"3000"
(1)、我们支持选曲播放过程中插播其它的曲目进行播放,这样就可以满足需要在背景音乐播放的过程中插播一下广告的需求。
(2)、发送0x13指令之后,系统会存储当前正在播放的曲目的IDV3信息,然后播放指定的插播曲目。
等到插播的曲目播放完毕之后,系统会回到保存的那个播放断点处继续播放的。
直至播放完毕。
(3)、设置的格式是,在设备中建立一个“ADVERT”名字的文件夹,在里面存储需要插播的曲目即可,曲目设置为“0xxx+曲目名.MP3/WAV”
(4)、另外系统如果当前处于暂停或者停止状态,发送插播指令,均得不到响应,并且会有错误信息返回。
如果在插播的过程中,可以继续插播其它曲目,但是播放完毕之后,还是回到第一次存储的IDV3信息处。
(5)、指定插播广告设置如下:
3.4.7单个文件夹支持3000首曲目
支持3000首
7EFF06140010FFFDD8EF
指定为"01"的文件夹,曲目为"0255"
7EFF06140017CFFE01EF
指定为"01"的文件夹,曲目为"1999"
7EFF061400C001FE26EF
指定为"12"的文件夹,曲目为"0001"
7EFF061400C0FFFD28EF
指定为"12"的文件夹,曲目为"0255"
7EFF061400C7CFFD51EF
指定为"12"的文件夹,曲目为"1999"
针对很多客户要求16个文件夹,每个文件夹能管理3000首曲目的要求,我们特别增加此条指令工用户调用,详细的说明如下:
(1)、串口的命令字节为0x14
(2)、参数为两个字节,假如指定为"12"的文件夹,曲目为"1999"
串口的数据:
7EFF061400C7CFFD51EF
其中0xC7和0xCF为参数,组合起来就是0xC7CF.总共为16位
其中高4位代表文件夹的命名,这里的C表示的是12
其中低12位表示文件名的命名,这里7CF代表是1999,也就是文件前缀为“1999”的曲目
(3)、文件夹的命名如下:
3.4.8全部循环播放指令
0×11
循环播放
[1:
循环播放][0:
停止循环播放]
(1)、针对一些需要循环播放根目录下面曲目的要求,我们加多这一条控制指令0x11。
循环播放开始
7EFF0611000001xxxxEF
循环播放所有曲目
循环播放停止
7EFF0611000000xxxxEF
停止循环播放曲目
(2)、在循环播放的过程中,可以正常的操作播放/暂停,上一曲、下一曲、音量调节等
(3)、循环播放开始之后,芯片会不停的播放设备里面的曲目,按照存储的物理顺序。
播完一遍之后会继续再播放一边,直到接收到播放完成,或者暂停等等指令
3.4.9单曲循环播放指令
0×08
单曲循环播放指定曲目播放
1-3000
循环播放开始
7EFF06
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口语音芯片YX520024QS使用说明书V18 YX520024SS新封装 串口 语音 芯片 YX520024QS 使用 说明书 V18 YX520024SS 封装
![提示](https://static.bdocx.com/images/bang_tan.gif)