2. 方案说明
芯片选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的aDSP,采用硬解码的方式,更加保广告法证了系统的稳定性和音质。小巧的封装尺寸更加满足嵌入其它产品的需求
2.1 参数说明
名称 |
参数 |
MP3文件格式 |
1、支持有比特率11172-3和ISO13813-3 layer3音频解码 |
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电平,波特率可设[用户不可设] |
输入电压 |
3.3V-5V[7805后级串一个二极管为佳] |
额定电流 |
10MA[静态] |
低功耗电流 |
<200uA |
功放功率 |
驱耳机,功放 |
尺寸 |
16S |
工作温度 |
[-40度] -- [80度] |
湿度 |
5% ~ 95% |
主芯片型号 |
YX6100-16S[SSOP24] |
引脚序号 |
引脚名称 |
功能描述 |
备注 |
1 |
VDD |
5V 电源输入 |
不可以超过5.2V |
2 |
DAC-L |
音频输出左声道 |
驱动耳机、功放 |
3 |
DAC-R |
音频输出右声道 |
驱动耳机、功放 |
4 |
BUSY |
Busy 输出 |
播放时输出低电平 |
5 |
RX |
UART 串行数据输入 |
3.3V 的TTL 电平 |
6 |
TX |
UART 串行数据输出 |
3.3V 的TTL 电平 |
7 |
GND |
电源地/音频地 |
|
8 |
PO1 |
触发输出口 |
对地触发 |
9 |
SPK+ |
喇叭+ |
接1-5W喇叭 |
10 |
SPK- |
喇叭- |
接1-5W喇叭 |
格式:$S VER Len CMD Feedback para1 para2 checksum $O |
|
||
|
|
|
|
$S |
起始位0x7E |
每条命令反馈均以$开头,即0x7E |
|
VER |
版本 |
版本信息 |
|
Len |
len后字节个数 |
校验和不计算在内 |
|
CMD |
命令字 |
表示具体的操作,比如播放/暂停等等 |
|
Feedback |
命令反馈 |
是否需要反馈信息,1反馈,0不反馈 |
|
dat |
参数 |
和前面的len相关联,不限制长度 |
|
checksum |
校验和[占两个字节] |
累加和校验[不计起始位$] |
|
$O |
结束位 |
结束位0xEF |
CMD命令 |
对应的功能 |
参数(16位) |
0x01 |
下一曲 |
|
0x02 |
上一曲 |
|
0x03 |
指定曲目(根目录) |
详见3.4.1 |
0x04 |
音量+ |
|
0x05 |
音量- |
|
0x06 |
指定音量 |
详见3.4.2 |
0x07 |
保留 |
保留 |
0x08 |
单曲循环指定曲目播放(根目录) |
详见3.4.3 |
0x09 |
指定播放设备 |
详见3.4.4 |
0x0A |
进入睡眠 -- 低功耗 |
功耗10MA |
0x0B |
唤醒睡眠 |
|
0x0C |
芯片复位 |
|
0x0D |
播放 |
|
0x0E |
暂停 |
|
0x0F |
指定文件夹文件名播放 |
详见3.4.5 |
0x13 |
插播广告 |
详见3.4.6 |
0x14 |
单个文件夹支持1000首曲目 |
保留 |
0x15 |
停止插播播放背景音乐 |
|
0x16 |
停止 |
|
0x17 |
指定文件夹循环播放 |
详见3.4.7 |
0x18 |
指定整个设备随机播放 |
详见3.4.8 |
0x19 |
对当前播放的曲目设置为循环播放 |
详见3.4.8 |
0x1A |
开启和关闭芯片的DAC输出 |
详见3.4.9 |
0x21 |
保留 |
详见3.4.10 |
0x25 |
多文件夹插播 |
详见3.4.11 |
这里是查询芯片的状态和相关的参数
CMD命令详解(查询) |
对应的功能 |
参数(16位) |
0x3C |
保留 |
|
0x3D |
保留 |
|
0x3E |
保留 |
|
0x3F |
查询在线的设备 |
详见3.5.1 |
0x40 |
返回错误,请求重发 |
|
0x41 |
应答 |
|
0x42 |
查询当前状态 |
详见3.4.10 |
0x43 |
查询当前音量 |
|
0x44 |
查询当前EQ |
保留 |
0x45 |
保留 |
该版本保留此功能 |
0x46 |
保留 |
该版本保留此功能 |
0x47 |
查询UDISK文件总数 |
设备的总文件数 |
0x48 |
保留 |
保留 |
0x49 |
查询FLASH的总文件数 |
5个文件夹的总文件数 |
0x4B |
查询UDISK的当前曲目 |
物理顺序 |
0x4C |
保留 |
保留 |
0x4D |
查询FLASH的当前曲目 |
返回文件夹号和曲目指针 |
0x4E |
查询指定文件夹的曲目总数 |
详见3.5.3 |
0x4F |
查询当前设备的总文件夹数 |
详见3.5.4 |
0x61 |
查询当前文件夹指针 |
仅支持FLASH |
芯片在关键地方均会有数据返回。供用户掌控芯片的工作状态
n 芯片上电初始化成功的数据
n 芯片播放完当前曲目的数据
n 芯片成功接收到指令返回的ACK(应答)
n 芯片接收一帧数据出错[包括数据没收完整、校验出错两种情况]
n 芯片在繁忙时,有数据过来,芯片会返回忙的指令
n U盘、TF卡插入拔出,均有数据返回
(1)、芯片上电,需要一定的时间初始化,这个时间是需要根据TF卡、U盘、SPIFLASH设备的文件多少决定的,一般情况在小于500ms这个时间。如果超过这个时间芯片的初始化数据还没有发送出来,说明芯片初始化出错,请检查硬件的连接
(2)、芯片初始化返回的数据为当前的有效文件夹,譬如返回7E FF 06 3F 00 00 03 xx xx EF
==>其中0x03代表的是U盘和TF这两个设备在线
U盘 -- 在线 |
7E FF 06 3F 00 00 01 xx xx EF |
各设备之间是或的关系 |
PC -- 在线 |
7E FF 06 3F 00 00 04 xx xx EF |
|
FLASH -- 在线 |
7E FF 06 3F 00 00 08 xx xx EF |
|
(3)、MCU必须等待芯片初始化指令发出之后才能发送相应的控制指令,否则发送的指令芯片将不予处理。同时还会影响芯片的正常初始化。
U盘播放完第1曲 |
7E FF 06 3C 00 00 01 xx xx EF |
U盘播放第1曲完毕 |
U盘播放完第2曲 |
7E FF 06 3C 00 00 02 xx xx EF |
U盘播放第2曲完毕 |
FLASH播放完第1曲 |
7E FF 06 3E 00 01 01 xx xx EF |
第1曲播放完 |
FLASH播放完第2曲 |
7E FF 06 3E 00 02 02 xx xx EF |
第2曲播放完 |
1、针对很多的触发型的播放需求,我们芯片更正为播放一曲之后自动进入停止状态。如果用户需要此类应用。只需要指定曲目播放即可。这样,曲目播放完毕会自动停止,等待指令
2、另外我们专门开辟一个IO作为解码和暂停的状态指示。请参见第16脚
(1)、播放状态输出低电平[很多功放有静音脚,可以通过此IO直接进行控制]
(2)、播放暂停状态,输出高电平。芯片睡眠状态。也是低电平
3、芯片通电之后,初始化正常 ,芯片会自动进入设备播放状态。并且停止解码,等待用户发送播放的相关指令
4、另外用户在指定设备之后,需要等待200ms的时间,再发送指定的曲目,因为一旦指定曲目之后,系统会对指定的设备进行文件系统的初始化,如果立刻发送指定的曲目命令,会导致芯片接收不到。
芯片返回ACK |
7E FF 06 41 00 00 00 xx xx EF |
说明成功接收数据 |
(1)、为了加强数据通信之间的稳定性,我们增加了应答处理,ACKB字节就是设置是否需要回复应答。这样做的好处是保广告法证每次通信都有握手信号,收到应答就表示MCU发送的数据,芯片已经成功收到,马上处理。
(2)、对于一般的应用,客户可以自由选择,不加这个应答处理也是可以的。
返回忙 |
7E FF 06 40 00 00 01 xx xx EF |
芯片在文件系统初始化时 |
当前处于睡眠模式 |
7E FF 06 40 00 00 02 xx xx EF |
睡眠模式只支持指定设备 |
串口接收错误 |
7E FF 06 40 00 00 03 xx xx EF |
串口一帧数据没接收完毕 |
校验出错 |
7E FF 06 40 00 00 04 xx xx EF |
和校验出错 |
指定文件超范围 |
7E FF 06 40 00 00 05 xx xx EF |
文件的指定超过设定的范围 |
未找到指定的文件 |
7E FF 06 40 00 00 06 xx xx EF |
指定为文件没有被找到 |
数据不符合规则 |
7E FF 06 40 00 00 08 xx xx EF |
如小为1的地方,发送为0 |
(1)、为了加强数据通信之间的稳定性,我们增加了数据错误处理机制。芯片收到不符合格式的数据,均会有信息反馈出来
(2)、在环境比较恶劣的情况下,强烈建议客户处理此命令。如果应用环境一般,可以不用处理。
(3)、芯片返回忙,基本上是芯片上电初始化的时候才会返回,因为芯片需要初始化文件系统
(4)、芯片上电之后,进入的是设备状态,设备是SPIFLASH。如果SPIFLASH不在线的话,会自动进入睡眠状态。
(5)、只要参考我们给出的测试SDK程序,移植里面的串口操作部分,就不会出现校验出错,在这里强烈建议用户使用我们给出的校验方式。因为谁都不能保广告法证数据的传输不会出错。
(6)、文件指定部分出错,请参考下面的详解
U盘插入 |
7E FF 06 3A 00 00 01 xx xx EF |
|
PC插入 |
7E FF 06 3A 00 00 04 xx xx EF |
|
U盘拔出 |
7E FF 06 3B 00 00 01 xx xx EF |
|
PC拔出 |
7E FF 06 3B 00 00 04 xx xx EF |
|
(1)、为了加强芯片的灵活性,我们特别增加了,设备插入、拔出的指令反馈。方便用户知道芯片的工作状态。
(2)、设备插入的时候,我们默认进入到设备等待状态,如果用户插入的是带灯的U盘,可以看到U盘灯闪烁。也可以接收到设备插入的串口消息。
以下我们对关键的地方进行详细的说明--针对控制指令:
n 指定曲目播放
n 指定播放的音量
n 指定播放的设备
n 全部循环播放指令
n 组合播放功能[亮点]
n 带音量参数的指定曲目播放
我们给出的指令是支持指定曲目播放的,歌曲的选择范围为0~3000.其实是可以支持更多的,因为涉及到文件管理的原因,支持过多的歌曲,会导致系统操作缓慢,一般的应用也不需要支持这么多的文件。如果客户有非常规的应用,请事前和我们沟通。此指令在TF卡和U盘状态是按照存储的物理顺序指定的。FLASH则是默认为FOLDER1区域
(1)、例如选择第1首歌播放,串口的发送部分7E FF 06 03 00 00 01 FF E6 EF
7E --- 起始命令
FF --- 版本信息
06 --- 数据长度(不包含校验)
03 --- 代表产品编号
00 --- 是否需要应答[0x01:需要应答,0x00:不需要返回应答]
00 --- 曲目的高字节[DH]
01 --- 曲目的低字节[DL],这里代表的是第1首歌播放
FF --- 校验的高字节
E7 --- 校验的低字节
EF --- 结束命令
(2)、对于选曲,如果选择第100首,首先将100转化为16进制,默认为双字节,就为0x0064。
DH = 0x00 ; DL = 0x64
(3)、其它的操作依次类推即可,因为在嵌入式领域采用16进制是为方便的一种操作。
(1)、我们系统上电默认的音量为30级,如果要设置音量的话,直接发送相应的指令即可
(2)、芯片内部设置的音量细分级数为0--30.请用户注意
(3)、例如指定音量为15级,串口发送的指令:7E FF 06 06 00 00 0F FF D5 EF
(4)、DH = 0x00 ; DL = 0x0F ,15转化为16进制为0x000F。可以参照播放曲目部分的说明
循环播放指定曲目 |
7E FF 06 08 00 00 01 xx xx EF |
根目录循环播放第1曲 |
|
7E FF 06 08 00 00 02 xx xx EF |
根目录循环播放第二曲 |
|
7E FF 06 08 00 01 03 xx xx EF |
根目录循环播放第三曲 |
(1)、争对一些需要单曲循环播放的要求,我们改进这一条控制指令0x08。在操作SPI flash者U盘时,根目录按照的是文件存储的物理顺序指定,这点请用户注意。但是在操作FLASH时,是按照文件夹分区指定的,请参考上面的测试指令。
(2)、在循环播放的过程中,可以正常的操作播放/暂停,上一曲、下一曲、音量调节,包括EQ等等
并且状态仍然是循环播放.可以通过指定单曲触发播放或者停止来关闭循环播放状态
(1)、我们的芯片默认是支持4种类型的播放设备,只有设备在线才能指定设备去播放
设备是否在线,我们软件会自动检测,无需用户关系。
(4)、看下表,选择合适的指令发送
(3)、指定设备之后。芯片会自动进入停止解码状态,等待用户指定曲目播放。从接收到指定设备到芯片内部完成初始化文件系统。大概需要200ms。请等待200ms之后再发送指定曲目的指令。
指定播放设备-U盘 |
7E FF 06 09 00 00 01 xx xx EF |
xx xx:代表校验 |
指定播放设备-PC |
7E FF 06 09 00 00 03 xx xx EF |
指[读卡、声卡]模式 |
指定播放设备-FLASH |
7E FF 06 09 00 00 04 xx xx EF |
|
指定播放设备-SLEEP |
7E FF 06 09 00 00 05 xx xx EF |
|
文件夹01的001xxx.mp3 |
7E FF 06 0F 00 01 01 xx xx EF |
TF卡或者U盘或者FLASH |
文件夹11的100xxx.mp3 |
7E FF 06 0F 00 0B 64 xx xx EF |
TF卡或者U盘或者FLASH |
文件夹99的255xxx.mp3 |
7E FF 06 0F 00 63 FF xx xx EF |
TF卡或者U盘或者FLASH |
更多内容请向业务员索取资料。
联系人:李曙光
手 机:17266260250
邮 箱:Lur@yxin18.com
公 司:广州悦欣电子科技有限公司
地 址:广州市花都区商业大道334号