搜档网
当前位置:搜档网 › KT603C datasheet_V1.1

KT603C datasheet_V1.1

KT603C datasheet_V1.1
KT603C datasheet_V1.1

文件状态:[]草稿[√]正式发布[

]正在修改

文件标识:QYVHOME

当前版本:V1.1作

者:

完成日期:

2014-09-01

KT603C 芯片使用手册

版本历史

版本日期原因V1.02014/02/18内测版本和优化版本

V1.12014/09/011、增加FLASH的文件系统讲解

2、增加调试的方法,串口调试,按键调试

3、增加进入下载模式的详细说明

4、增加随机播放指令

5、增加一些框图详解,说明更直观

6、增加指定音量播放

7、增加组合播放功能

8、完善睡眠模式下的说明

9、增加芯片或者芯片的供电说明

目录

1.概述 (6)

1.1简介 (6)

KT603C是一个提供串口的语音芯片,完美的集成了MP3、WAV的硬解码。同时软件支持工业级别的串口通信协议,以SPIFLASH、TF卡或者U盘作为存储介质,用户可以灵活的选用其中的任何一种设备作为语音的存储介质。通过简单的串口指令即可完成播放指定的语音,以及如何播放语音等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点。 (6)

1.2功能 (6)

1.3应用 (6)

2.方案说明 (7)

2.1参数说明 (7)

2.2管脚说明 (8)

3.串口通讯协议 (9)

3.1通讯格式 (9)

3.2通讯指令 (10)

3.2.1控制指令 (10)

3.2.2查询指令 (11)

3.3芯片返回的数据 (12)

3.3.1芯片上电返回的数据 (12)

3.3.2曲目播放完毕返回的数据 (13)

3.3.3芯片应答返回的数据 (13)

3.3.4芯片错误返回的数据 (14)

3.3.5设备插入拔出消息 (14)

3.4串口控制指令详解 (15)

3.4.1指定歌曲播放指令[可以直接参考3.4.7] (15)

3.4.2指定音量播放指令 (15)

3.4.3单曲循环播放指令 (16)

3.4.4指定播放设备 (16)

3.4.5进入睡眠 (16)

3.4.6指定文件夹文件名播放 (17)

3.4.7插播ADVERT文件夹下的广告 (18)

3.4.9播放停止指令 (18)

3.4.10指定文件夹开始循环播放 (19)

3.4.11随机播放设备文件 (19)

3.4.12对当前的曲目设置为循环播放 (19)

3.4.13开启和关闭DAC (19)

3.4.14组合播放功能指令 (20)

3.4.16多文件夹插播功能 (21)

3.5串口查询指令详解 (22)

3.5.1查询当前在线的设备 (22)

3.5.2播放状态查询指令 (22)

3.5.3指定文件夹曲目总数查询 (23)

3.5.4当前设备的总文件夹数目查询 (23)

4.参考电路 (24)

4.1串行接口 (24)

4.2按键接口 (25)

4.2.1通过2个电阻来配置按键功能 (25)

4.2.2通过CFG文件来配置 (26)

4.2.1按键的功能 (27)

4.3外接单声道功放 (30)

4.5芯片的指示灯说明 (30)

4.7USB更新语音说明[业内首创功能] (31)

4.7.1USB更新SPIFLASH的语音详细说明 (33)

4.8用户使用空白的FLASH说明 (34)

5.注意事项 (35)

5.1GPIO的特性 (35)

5.2应用中的注意点 (36)

5.3注意事项点 (37)

5.3.1芯片上电的工作流程图 (37)

5.3.2串口编程参考的说明 (38)

5.3.3串口编程需要适当延时的注意点 (38)

5.3.4校验的重要说明 (38)

5.3.5校验的计算说明 (39)

5.3.6MCU的晶振选择 (39)

5.3.7指定播放的说明 (40)

5.3.8串口调试说明 (41)

5.3.9校验代码的移植 (42)

5.3.10芯片或者芯片的供电说明 (44)

6.免责声明 (45)

7.订货信息 (46)

8.参考例程 (47)

9.PC端串口调试指令举例 (49)

1.概述

1.1简介

KT603C是一个提供串口的语音芯片,完美的集成了MP3、WAV的硬解码。同时软件支持工业级别的串口通信协议,以SPIFLASH、TF卡或者U盘作为存储介质,用户可以灵活的选用其中的任何一种设备作为语音的存储介质。通过简单的串口指令即可完成播放指定的语音,以及如何播放语音等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点。

无需任何烧录器,无需任何软件,USB直接烧写FLASH。

同时可以以SPIFLASH为存储介质的U盘功能,后面章节详细说明

1.2功能

1、支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48

2、24位DAC输出,动态范围支持90dB,信噪比支持85dB

3、最大支持16M字节的SPIFLASH。例如W25Q16[2M字节]、W25Q128[16M字节]

4、多种控制模式,并口控制模式、串口模式、AD按键控制模式

5、Miniusb接口更新语音文件,无需安装任何软件。支持XP和WIN7系统。

6、支持组合播放功能,可以实现报时、报温度,在一定程度上可以替代一些昂贵的TTS方案

7、30级音量可调,5级EQ可调[此功能暂不开放]

8、自带3W的功放,直接外接喇叭即可完成放音

9、支持6段语音的触发播放,IO检测的方式,所以适合碳膜按键等等场合

10、可以同时支持U盘、TF卡以及SPIFLASH作为存储介质

1.3应用

1、车载导航语音播报

2、公路运输稽查、收费站语音提示;

3、火车站、汽车站安全检查语音提示;

4、电力、通信、金融营业厅语音提示;

5、车辆进、出通道验证语音提示;

6、公安边防检查通道语音提示;

8、电动观光车安全行驶语音告示;

9、机电设备故障自动报警;

2.方案说明

芯片选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的aDSP,采用硬解码的方式,更加保证了系统的稳定性和音质。小巧的封装尺寸更加满足嵌入其它产品的需求

1、另外KT603C不仅可以完成音频解码功能,其内部的MCU功能,不会逊色于STC系列的芯片,所以充当控制的角色是毫无压力的。

2、默认KT603C烧录我们的标准程序。如果有其它的需求,请提前和我们沟通,我们提供技术服务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电平,波特率可设[用户不可设]输入电压 3.3V-5V[7805后级串一个二极管为最佳]

额定电流10MA[静态]

低功耗电流<200uA

封装SSOP24

工作温度[-40度]--[80度]湿度5%~95%

2.2管脚说明

引脚序

引脚名称功能描述备注号

1DACL左声道

2DACR右声道

33V3 3.3V稳压输出

4VIN电源输入

5GND电源地

6TX通用输入输出口串口的发送脚7RX通用输入输出口串口的接收脚8X1晶振输入可以做GPIO 9X2晶振输出可以做GPIO 10INT/GPIOA0通用输入输出口外部中断[低触发] 11GPIOA1通用输入输出口SPI的输入12GPIOA2通用输入输出口SPI的时钟13GPIOA3通用输入输出口SPI的输出14GPIOA4通用输入输出口

15GPIOA5通用输入输出口

16GPIOA6通用输入输出口

17GPIOB4通用输入输出口SDCLK

18GPIOB3通用输入输出口SDCMD

19GPIOB2通用输入输出口SDDAT

20GPIOB1通用输入输出口USB-

21GPIOB0通用输入输出口USB+

22RST复位脚复位脚

23VCOM DAC的参考电压DAC的参考电压24DACVSS DAC的输出地DAC的输出地

3.串口通讯协议

串口作为一种在控制领域常用的通信,我们进行了工业级别的优化,加入的帧的校验、重发、错误处理等措施,大大加强通信的稳定性和可靠性,同时可以在此基础上扩展更加强大的RS485

进行组网功能,串口的通信波特率可自行设置,默认为9600

3.1通讯格式

支持异步串口通讯模式,通过串口接受上位机发送的命令

通讯标准:9600bps

数据位:1

校验位:none

流控制:none

格式:$S VER Len CMD Feedback para1para2checksum$O

$S起始位0x7E每条命令反馈均以$开头,即0x7E

VER版本版本信息

Len len后字节个数校验和不计算在内

CMD命令字表示具体的操作,比如播放/暂停等等Feedback命令反馈是否需要反馈信息,1反馈,0不反馈dat参数和前面的len相关联,不限制长度checksum校验和[占两个字节]累加和校验[不计起始位$] $O结束位结束位0xEF

举个例子,如果我们指定播放SPIFLASH,就需要发送:7E FF0609000004FF dd EF

数据长度为6,这6个字节分别是[FF0609000004]。不计算起始、结束、和校验。然后对得到的结果进行累加,再用0减,即“0-checksum=校验数据”。如果这里不明白,可以参考我们的“QYMxFS 辅助说明文档”。另外用户也可以直接忽视校验,参考我们的5.3.4章节说明。

3.2通讯指令

我们的通讯分为以下两大块

?控制指令

?查询芯片的参数以及状态

3.2.1控制指令

CMD命令对应的功能参数(16位) 0x01下一曲

0x02上一曲

0x03指定曲目(NUM)详见3.4.1

0x04音量+

0x05音量-

0x06指定音量详见3.4.2

0x08单曲循环指定曲目播放详见3.4.3

0x09指定播放设备详见3.4.4

0x0A进入睡眠--低功耗详见3.4.5

0x0B唤醒睡眠

0x0C芯片复位

0x0D播放

0x0E暂停

0x0F指定文件夹文件名播放详见3.4.6

0x13插播广告详见3.4.7

0x14单个文件夹支持1000首曲目保留

0x15停止插播播放背景音乐详见3.4.9

0x16停止

0x17指定文件夹循环播放详见3.4.10

0x18指定根目录随机播放详见3.4.11

0x19对当前播放的曲目设置为循环播放详见3.4.12

0x1A开启和关闭芯片的DAC输出详见3.4.13

0x21组合播放详见3.4.14

0x22指定音量同时指定文件播放详见3.4.15

0x25多文件夹插播详见3.4.16

3.2.2查询指令

这里是查询芯片的状态和相关的参数

CMD命令详解(查

询)对应的功能参数(16位) 0x3C保留

0x3D保留

0x3E保留

0x3F查询在线的设备详见3.5.1

0x40返回错误,请求重发

0x41应答

0x42查询当前状态详见3.4.10

0x43查询当前音量

0x44查询当前EQ保留

0x45保留该版本保留此功能

0x46保留该版本保留此功能

0x47查询UDISK文件总数设备的总文件数

0x48查询TF文件总数设备的总文件数

0x49查询FLASH的总文件数5个文件夹的总文件数

0x4B查询UDISK的当前曲目物理顺序

0x4C查询TF的当前曲目物理顺序

0x4D查询FLASH的当前曲目返回文件夹号和曲目指针0x4E查询指定文件夹的曲目总数详见3.5.3

0x4F查询当前设备的总文件夹数详见3.5.4

0x61查询当前文件夹指针仅支持FLASH

3.3芯片返回的数据

芯片在关键地方均会有数据返回。供用户掌控芯片的工作状态

?芯片上电初始化成功的数据

?芯片播放完当前曲目的数据

?芯片成功接收到指令返回的ACK(应答)

?芯片接收一帧数据出错[包括数据没收完整、校验出错两种情况]

?芯片在繁忙时,有数据过来,芯片会返回忙的指令

?U盘、TF卡插入拔出,均有数据返回

3.3.1芯片上电返回的数据

(1)、芯片上电,需要一定的时间初始化,这个时间是需要根据TF卡、U盘、SPIFLASH设备的文件多少决定的,一般情况在小于500ms这个时间。如果超过这个时间芯片的初始化数据还没有发送出来,说明芯片初始化出错,请检查硬件的连接

(2)、芯片初始化返回的数据为当前的有效文件夹,譬如返回7E FF063F000003xx xx EF

==>其中0x03代表的是U盘和TF这两个设备在线

U盘--在线7E FF063F000001xx xx EF各设备之间是或的关系TF--在线7E FF063F000002xx xx EF

PC--在线7E FF063F000004xx xx EF

FLASH--在线7E FF063F000008xx xx EF

U盘、TF--在线7E FF063F000003xx xx EF

(3)、MCU必须等待芯片初始化指令发出之后才能发送相应的控制指令,否则发送的指令芯片将不予处理。同时还会影响芯片的正常初始化。

3.3.2曲目播放完毕返回的数据

U盘播放完第1曲7E FF063C000001xx xx EF U盘播放第1曲完毕

U盘播放完第2曲7E FF063C000002xx xx EF U盘播放第2曲完毕

TF卡播放完第1曲7E FF063D000001xx xx EF TF卡播放第1曲完毕

TF卡播放完第2曲7E FF063D000002xx xx EF TF卡播放第2曲完毕

FLASH播放完第1曲7E FF063E000101xx xx EF FOLDER1的第1曲播放完FLASH播放完第2曲7E FF063E000202xx xx EF FOLDER2的第2曲播放完

1、针对很多的触发型的播放需求,我们芯片更正为播放一曲之后自动进入停止状态。如果用户需要此类应用。只需要指定曲目播放即可。这样,曲目播放完毕会自动停止,等待指令

2、另外我们专门开辟一个IO作为解码和暂停的状态指示。请参见第5脚

(1)、播放状态输出低电平[很多功放有静音脚,可以通过此IO直接进行控制]

(2)、播放暂停状态,输出高电平。芯片睡眠状态。也是低电平

3、芯片通电之后,初始化正常,芯片会自动进入设备播放状态。并且停止解码,等待用户发送播放的相关指令

4、另外用户在指定设备之后,需要等待200ms的时间,再发送指定的曲目,因为一旦指定曲目之后,系统会对指定的设备进行文件系统的初始化,如果立刻发送指定的曲目命令,会导致芯片接收不到。

3.3.3芯片应答返回的数据

芯片返回ACK7E FF0641000000xx xx EF说明成功接收数据

(1)、为了加强数据通信之间的稳定性,我们增加了应答处理,ACKB字节就是设置是否需要回复应答。这样做的好处是保证每次通信都有握手信号,收到应答就表示MCU发送的数据,芯片已经成功收到,马上处理。

(2)、对于一般的应用,客户可以自由选择,不加这个应答处理也是可以的。

3.3.4芯片错误返回的数据

返回忙7E FF0640000001xx xx EF芯片在文件系统初始化时

当前处于睡眠模式7E FF0640000002xx xx EF睡眠模式只支持指定设备串口接收错误7E FF0640000003xx xx EF串口一帧数据没接收完毕校验出错7E FF0640000004xx xx EF和校验出错

指定文件超范围7E FF0640000005xx xx EF文件的指定超过设定的范围

未找到指定的文件7E FF0640000006xx xx EF指定为文件没有被找到

数据不符合规则7E FF0640000008xx xx EF如最小为1的地方,发送为0 (1)、为了加强数据通信之间的稳定性,我们增加了数据错误处理机制。芯片收到不符合格式的数据,均会有信息反馈出来

(2)、在环境比较恶劣的情况下,强烈建议客户处理此命令。如果应用环境一般,可以不用处理。

(3)、芯片返回忙,基本上是芯片上电初始化的时候才会返回,因为芯片需要初始化文件系统

(4)、芯片上电之后,进入的是设备状态,设备是SPIFLASH。如果SPIFLASH不在线的话,会自动进入睡眠状态。

(5)、只要参考我们给出的测试SDK程序,移植里面的串口操作部分,就不会出现校验出错,在这里强烈建议用户使用我们给出的校验方式。因为谁都不能保证数据的传输不会出错。

(6)、文件指定部分出错,请参考下面的详解

3.3.5设备插入拔出消息

U盘插入7E FF063A000001xx xx EF

TF插入7E FF063A000002xx xx EF

PC插入7E FF063A000004xx xx EF

U盘拔出7E FF063B000001xx xx EF

TF拔出7E FF063B000002xx xx EF

PC拔出7E FF063B000004xx xx EF

(1)、为了加强芯片的灵活性,我们特别增加了,设备插入、拔出的指令反馈。方便用户知道芯片的工作状态。

(2)、设备插入的时候,我们默认进入到设备等待状态,如果用户插入的是带灯的U盘,可以看到U 盘灯闪烁。也可以接收到设备插入的串口消息。

3.4串口控制指令详解

以下我们对关键的地方进行详细的说明--针对控制指令:

?指定曲目播放

?指定播放的音量

?指定播放的设备

?全部循环播放指令

?组合播放功能[亮点]

?带音量参数的指定曲目播放

3.4.1指定歌曲播放指令[可以直接参考3.4.7]

我们给出的指令是支持指定曲目播放的,歌曲的选择范围为0~3000.其实是可以支持更多的,因为涉及到文件管理的原因,支持过多的歌曲,会导致系统操作缓慢,一般的应用也不需要支持这么多的文件。如果客户有非常规的应用,请事前和我们沟通。此指令在TF卡和U盘状态是按照存储的物理顺序指定的。FLASH则是默认为FOLDER1区域

(1)、例如选择第一首歌播放,串口的发送部分7E FF0603000001FF E6EF

7E---起始命令

FF---版本信息

06---数据长度(不包含校验)

03---代表产品编号

00---是否需要应答[0x01:需要应答,0x00:不需要返回应答]

00---曲目的高字节[DH]

01---曲目的低字节[DL],这里代表的是第一首歌播放

FE---校验的高字节

F7---校验的低字节

EF---结束命令

(2)、对于选曲,如果选择第100首,首先将100转化为16进制,默认为双字节,就为0x0064。

DH=0x00;DL=0x64

(3)、其它的操作依次类推即可,因为在嵌入式领域采用16进制是最为方便的一种操作。

3.4.2指定音量播放指令

(1)、我们系统上电默认的音量为30级,如果要设置音量的话,直接发送相应的指令即可

(2)、芯片内部设置的音量细分级数为0--30.请用户注意

(3)、例如指定音量为15级,串口发送的指令:7E FF060600000F FF D5EF

(4)、DH=0x00;DL=0x0F,15转化为16进制为0x000F。可以参照播放曲目部分的说明

3.4.3单曲循环播放指令

循环播放指定曲目7E FF0608000001xx xx EF循环播放第一曲

7E FF0608000002xx xx EF循环播放第二曲

7E FF0608000101xx xx EF循环播放FOLDER1的第1曲(1)、争对一些需要单曲循环播放的要求,我们改进这一条控制指令0x08。在操作TF卡或者U盘时,按照的是文件存储的物理顺序指定,这点请用户注意。但是在操作FLASH时,是按照文件夹分区指定的,请参考上面的测试指令。

(2)、在循环播放的过程中,可以正常的操作播放/暂停,上一曲、下一曲、音量调节,包括EQ等等并且状态仍然是循环播放.可以通过指定单曲触发播放或者停止来关闭循环播放状态

3.4.4指定播放设备

(1)、我们的芯片默认是支持4种类型的播放设备,只有设备在线才能指定设备去播放

设备是否在线,我们软件会自动检测,无需用户关系。

(4)、看下表,选择合适的指令发送

(3)、指定设备之后。芯片会自动进入停止解码状态,等待用户指定曲目播放。从接收到指定设备到芯片内部完成初始化文件系统。大概需要200ms。请等待200ms之后再发送指定曲目的指令。

指定播放设备-U盘7E FF0609000001xx xx EF xx xx:代表校验

指定播放设备-TF卡7E FF0609000002xx xx EF

指定播放设备-PC7E FF0609000003xx xx EF指[读卡、声卡]模式

指定播放设备-FLASH7E FF0609000004xx xx EF

指定播放设备-SLEEP7E FF0609000005xx xx EF

3.4.5进入睡眠

进入睡眠模式7E FF060A000000FE F1EF xx xx:代表校验

指定芯片进入睡眠之后,有两种方式对芯片或者芯片进行唤醒

(1)、指定一下播放的设备,指定播放U盘或者TF卡,或者

FLASH都可以唤醒

(2)、对当前的设备进行一次拔出,再插入

芯片或者芯片进入睡眠之后,待机功耗大概在10MA。功耗依

然较大,所以用户对功耗有要求的地方,请注意了。可以选择

使用一个mos管和一个三极管来控制芯片或者芯片的供电,不

需要的时候可以完全断电。如右图

3.4.6指定文件夹文件名播放

文件夹01的001xxx.mp37E FF060F000101xx xx EF TF卡或者U盘或者FLASH 文件夹11的100xxx.mp37E FF060F000B64xx xx EF TF卡或者U盘或者FLASH 文件夹99的255xxx.mp37E FF060F0063FF xx xx EF TF卡或者U盘或者FLASH

(1)、指定文件夹播放是我们制定的扩展功能,默认文件夹的命名方式为"01","11"这样的方式,为了系统的稳定性和歌曲切换的速度,每个文件夹下默认最大支持255首歌,最多支持99个文件夹(2)、例如指定"01"文件夹的100xxx.MP3文件,串口发送的指令为:7E FF060F000164xx xx EF DH:代表的是文件夹的名字,默认支持99个文件,即01--99的命名

DL:代表的是曲目,默认最多255首歌,即0x01~0xFF

(3)、为了芯片的标准性,必须同时指定文件夹和文件名,来锁定一个文件。单独指定文件夹或者单独指定文件名也是可以的,但是这样文件的管理会变差。指定文件夹和指定曲目是支持MP3、WAV (4)、下面截两个图说明文件夹和文件名的指定[分左右两个图]

(5)、SPIFLASH的操作和TF卡以及U盘一致,只是SPIFLASH的空间有限,能存放的语音数量有限

3.4.7插播ADVERT文件夹下的广告

插播广告7E FF0613000001FE E7EF"ADVERT"文件夹,曲目为"0001"

7E FF0613000002FE E6EF"ADVERT"文件夹,曲目为"0002"

7E FF06130000FF FD E9EF"ADVERT"文件夹,曲目为"0255"

7E FF06130007CF FE12EF"ADVERT"文件夹,曲目为"1999"

7E FF0613000B B8FE25EF"ADVERT"文件夹,曲目为"3000" (1)、我们支持选曲播放过程中插播其它的曲目进行播放,这样就可以满足需要在背景音乐播放的过程中插播一下广告的需求。

(2)、发送0x13指令之后,系统会存储当前正在播放的曲目的IDV3信息,然后播放指定的插播曲目。等到插播的曲目播放完毕之后,系统会回到保存的那个播放断点处继续播放的。直至播放完毕。(3)、设置的格式是,在设备中建立一个“ADVERT”名字的文件夹,在里面存储需要插播的曲目即可,曲目设置为“0xxx+曲目名.MP3/WAV”

(4)、另外系统如果当前处于暂停或者停止状态,发送插播指令,均得不到响应,并且会有错误信息返回。如果在插播的过程中,可以继续插播其它曲目,但是播放完毕之后,还是回到第一次存储的IDV3信息处。

(5)、指定插播广告设置如下:

3.4.9播放停止指令

停止播放广告7E FF0615000000FE E6EF停止当广告,回到背景音乐继续播

停止播放7E FF0616000000FE E5EF停止软件解码

(1)、在芯片的播放过程中,我们有两种停止方式,一种是停止当前的插播广告,回到当前断点处继续播放背景音乐。另一种是停止所有的播放,包括背景音乐

(2)、假如当前在播放插播广告,这时发送停止指令0x16,芯片会停止所有播放任务

3.4.10指定文件夹开始循环播放

指定文件夹循环播放7E FF0617000002FE E2EF指定02文件夹循环播放

7E FF0617000001FE E3EF指定01文件夹循环播放

(1)、对于TF卡和U盘或者SPIFLASH,文件夹的命名方式必须是”01”---“99”。不可以超过99

(2)、一旦指定文件夹循环之后,可以使用播放/暂停/上一曲/下一曲。这些操作命令都不会打断当前的文件夹循环播放状态。也就是说,发送下一曲指令之后,还是会循环当前的文件夹。

(3)、用户可以发送停止指令来结束循环播放,返回至触发播放状态

3.4.11随机播放设备文件

随机播放7E FF0618000000xx xx EF整个设备的随机播放(1)、此指令是随机播放设备里面存储的所有语音文件,是按照物理顺序随机播放,不分设备里面是否带有文件夹。并且播放的第一个语音文件必须是设备里面的第一个语音文件

3.4.12对当前的曲目设置为循环播放

循环播放开启关闭7E FF0619000000FE E2EF单曲循环播放开启

7E FF0619000001FE E1EF单曲循环播放关闭

(1)、在播放的过程中发送此指令,会循环播放当前的曲目。如果当前是处理暂停或者停止状态,则芯片不会响应此指令

(2)、如果要关闭单曲循环播放,发送关闭的指令即可,这样会把当前的曲目播放完毕之后,就停止。

3.4.13开启和关闭DAC

设置DAC7E FF061A000000FE E1EF开DAC

7E FF061A000001FE E0EF关DAC[高阻]

(1)、在一些用户需要叠加自己音源的场合,可以先暂停当前播放的语音,再将我们芯片的DAC输出设置为高阻,这样用户就可以共用一个功放来播放自己的音源了,但是DAC的开启和关闭,会有一声po音,请用户朋友们注意。

(2)、芯片任何时候都可以关闭DAC。如果当前正在播放语音,关闭了DAC,芯片还会继续播放,只是没有声音了而已。芯片上电之后是默认开启DAC的,只有被设置为关闭之后,才会被关闭。如果再需要打开,就需要通过指令打开DAC了

3.4.14组合播放功能指令

组合播放7E FF0921000501020304FE C8EF播放5、1、2、3、4

组合播放7E FF0C21000501020304060708FE B0EF播放5、1、2、3、4、6、7、8 (1)、很多应用场合需要用到TTS的功能,譬如报时,报温度,报金额等等应用,如果用户拿我们的芯片模仿简单的TTS功能的话,可能会在效果上面大打折扣,矛盾点就是在语音和语音之间的延时。直接按照一个一个文件的指定播放的话,会存在语音和语音之间的延时,这样是不能接受的。因此我们增加了组合播放的功能,同时支持指定播放12个语音,按照串口发送的顺序依次播放。(2)、如果发送7E FF0C21000501020304060708FE B0EF这一帧数据,我们分析一下

CMD=0x21---查阅指令表

LEN=0x0c=12个字节---FF0C21000501020304060708[去掉红色标记的字节,就是曲目的顺序]芯片会依次播放第5曲、第1曲、2、3、4、6、7,8这8段语音。播放完毕就停止

(3)、在组合播放的过程中,是允许用户进入播放暂停和设置音量,但是不允许指定上下曲。如果用户对组合播放的要求比较高的话,请用户对音源自行编辑一下,去掉音源头和尾的一些静音。这样就可以减少语音和语音之间的延时,可以采用“Adobe Audition CS5.5”或者“GoldWave.exe”等等专业音频软件制作。

(4)、有了这个功能,就可以很方便的实现“欢迎光临,现在时间是13年12月24日”这样的灵活播报方式,大大提高了产品的竞争力。

(5)、另外在组合播放的过程中,需要停止,可以直接发送停止指令。组合播放的过程中,不允许穿插其他的组合播放,要打断组合播放之前,必须先发送停止指令。

(6)、组合播放的文件,必须存放在“01”文件夹里面,文件必须重命名为“001xx.mp3或者其他”,如下截图

文件夹为“01”,文件名的序号对应我们的指令

如果发送7E FF0C21000501020304060708FE B0EF这一帧数据,我们分析一下

芯片会依次播放005.mp3/001.mp3/002.mp3/003.mp3/004.mp3/006/007.mp3/008.mp3。播放完毕就停止

(7)、如果组合播放发送的指定文件播放,而设备中没有对应的文件的话,组合播放会在当前停止。请一定让发送的指令能找到相对应的文件。

相关主题