KT148A是一款32位的DSP语音芯片,标准的SOP8封装。内置420KByte的语音空间,最大支持420秒的语音长度,支持多段语音,同时支持直驱0.5W的扬声器,支持用户更换语音
语音芯片
目 录
KT148A是一款32位的DSP语音芯片,标准的SOP8封装。内置420KByte的语音空间,最大支持420秒的语音长度,支持多段语音,同时支持直驱0.5W的扬声器,支持用户自己更换语音
1、 性价比高,相比较传统的OTP芯片来说,工艺的提升大大降低了成本,同时芯片可重复烧录
2、 用户可以自行的更换声音,通过电脑端的串口即可自己完成,无需其他昂贵的工具
1. 32 位 DSP 语音芯片、5MHZ的内部振荡,PLL到120MHZ; |
2. 工作电压 2.0~5.5V; 注意低于3.3V的供电,硬件上有细节的区别 |
3. 待机功耗小于 25ua;另有低功耗模式1.5uA |
4. 16bit 的 PWM输出、可直接驱动 8欧姆 /0.5W 喇叭; |
5. 提供工具自行转换音频格式,全部用户可以自己操作,非常简单 |
6. 16KHZ 下最大可以支持200秒。8KHZ 下最大可以支持400秒 |
7. 客户可以通过电脑端的工具软件,通过串口直接更换语音内容 |
8. 支持一线串口控制,当然可以根据需求订制各种协议 |
9. 支持 224 段地址,有更多需求可以扩展; |
10.具有硬件 iic接口、UART 接口,可以为客户定制各类功能。 |
11.芯片具备重复烧录的能力,所以任何时候不用担心测试不完整,导致批量性的问题 |
状态 | 详细描述 |
播放状态 | 1、播放状态的功耗,取决于外接的扬声器负载大小,基本维持在150mA--200mA之间 2、芯片本身的在播放时,功耗在8mA左右 |
空闲状态 | 1、当芯片本身没有播放,或者播完完毕之后,会自动进入待机状态 2、芯片自身的功耗是在25uA左右,足够一般的应用场景了 |
超低功耗状态 | 1、芯片同时有一条指令,是让芯片进入超低功耗,也就是关机状态,功耗是2uA 2、详见手册的4.3章节描述 |
芯片选用的是SOC方案,集成了一个16位的MCU,以及一个专门针对音频解码的aDSP,采用硬解码的方式,更加保证了系统的稳定性和音质。小巧的封装尺寸更加满足嵌入其它产品的需求
Pad No | Pad Name | ATTR | Description 描述 |
1 | GND | Power | 电源负极 |
2 | PB9 | I/O | Busy信号=播放输出低空闲输出高 复用串口下载,连接MCU或者USB转TTL的RX脚 |
3 | PB1 | I/O | [ONELINE-DATA]一线串口输入端 复用串口下载,连接MCU或者USB转TTL的TX脚 |
4 | PB0 | I/O | KEY按键--测试IO--对地触发就播放 |
5 | SPK1 | Out | 不分正负,支持8欧姆0.5W |
6 | SPK2 | Out | 不分正负,支持8欧姆0.5W |
7 | VDDIO | Power | 芯片内部的LDO输出,最大100mA |
8 | VBAT | Power | 电源正极 |
1、供电的注意事项:
(1)、建议给芯片的供电,做到5V供电,电压越高芯片驱动喇叭的功率也越高,声音也越大
(2)、如果是[3.3--4.2V]锂电池的场景,电源正极直接进芯片的8脚即可
(3)、如果是干电池的供电场景,电源正极也是直接进芯片的8脚
(4)、如果需要超低电压供电,如2V--3V之间的纽扣电池,建议芯片的7脚和8脚直接短路,再连接电源正极
2、快速测试说明:
==》芯片的是第4脚为测试脚,外接一个按键或者镊子对地触发一下,就会播放下一个语音
==》连接好扬声器,然后供电之后,就可以用第4脚对地测试了
IO输入特性 | ||||||
符号 | 参数 | 最小 | 典型 | 最大 | 单位 | 测试条件 |
VIL | Low-Level Input Voltage | -0.3 | - | 0.3*VDD | V | VDDIO=3.3V |
VIH | High-Level Input Voltage | 0.7VDDIO | - | VDDIO+0.3 | V | VDDIO=3.3V |
IO输出特性 | ||||||
符号 | 参数 | 最小 | 典型 | 最大 | 单位 | 测试条件 |
VOL | Low-Level Output Voltage | - | - | 0.33 | V | VDDIO=3.3V |
VOH | High-Level Output Voltage | 2.7 | - | - | V | VDDIO=3.3V |
Port | General Output | High Drive | Internal Pull-Up Resistor | Internal Pull-Down Resistor | Comment |
PB0,PB1 | 8mA | 64mA | 10K | 60K | 1、PB0 & PB1 default pull down 2、internal pull-up/pull-down resistance | accuracy ±20% |
PB9 | 8mA | 10K | 60K |

目前芯片支持一线串口通讯协议,采用的也是高低电平时间宽度来确定0或者1 。

注意:必须高电平在前,低电平在后。
推荐使用 200us:600us。取值范围:窄脉冲=[150us--400us] 宽脉冲[500us--1000us]
注意使用 3:1 和 1:3 电平比例以保障通讯稳定。
注意起始的6ms低电平,初次调试时,尽量用示波器或者逻辑分析仪看一下,误差在10%左右都能接受
1、0x00H到0xDFH为声音地址码或定义功能码。
2、0xFE为语音停止码,发送该命令可以停止播放语音。
3、编码之间的间隔须大于20ms
NO.序号 | Data编码 | Voice语音表 |
0 | 0x00 | 保留 |
1 | 0x01 | 声音1 |
2 | 0x02 | 声音2 |
3 | 0x03 | 声音3 |
…… | ||
224 | 0xE0~0xEF | 15级音量,0xE0H为最小音量0,0xEFH最大音量 (上电默认)。 (若需要调节音量,则先发音量码,隔20ms再发声音码) |
225 | 0xF0 | 关机。进入超低功耗状态=1.7uA,详见4.3章节 进入此状态之后,还需要控制芯片,则需要先拉低DATA脚40ms 目的是唤醒芯片,就可以正常发指令控制了, |
242 | 0xF2 | 循环码 -- 详见4.1章节 若需要循环某个声音,则先发声音码,隔20ms再发循环码) |
243 | 0xF3 | 连码播放 -- 详见4.2章节 F3H+语音地址 A,语音地址 B,语音地址 C,… 在播放地址 A 的时候,收到后面的码不打断,播放完 A,就播放 B,然后播放 C…。F3 与地址之间需要加 20ms 的延时。而一组连码地址与下一组地址最大需要 40ms 延时(“F3+语音地址”为一组连码地址) |
254 | 0xFE | 停止码 |
/*******************************************************************************
- 函数说明:一线通数据发送【注意调试的时候,用示波器或者逻辑分析仪看一下脉冲宽度】
- 隶属模块:内部
- 参数说明:dat = 待发送的数据
- 返回说明:无
********************************************************************************/
#define IO1_HIGH()JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT |= BIT(6);
#define IO1_LOW()JL_PORTA->DIR &= ~BIT(6);JL_PORTA->OUT &= ~BIT(6);
void oneline_send_one_data(u8 dat)
{
u8 i = 0 ;
IO1_LOW() ;/*现将总线拉低*/
udelay(5000) ;/*延时6MS --- 这里就是发起通讯的起始信号*/
CPU_SR_ALLOC();//关中断--芯片不同,可能接口不同
OS_ENTER_CRITICAL();//关中断
for(i=0 ; i<8 ;i++){
if(dat & 0x01){
IO1_HIGH() ;
udelay(500);/*延时600us*/
IO1_LOW();
udelay(170) ;/*延时200us*/
}else{
IO1_HIGH() ;
udelay(170);/*延时200us*/
IO1_LOW();
udelay(500) ;/*延时600us*/
}
dat = dat >> 1 ;/*发送的时候,先发送最高位,再发送次高位,以此类推*/
}
IO1_HIGH() ;/*空闲时将该脚拉高即可*/
OS_EXIT_CRITICAL();//开中断
/*同时注意,芯片初始化的时候,请将信号脚拉高。*/
}
oneline_send_one_data(0x05);//对应播放第5段声音
void oneline_test_CMD_F2(void){
oneline_send_one_data(0x01) ;
udelay(20) ;/*延时25ms*/
oneline_send_one_data(0xF2) ;
udelay(20) ;/*延时25ms*/
} 实现的效果,就是第一段声音,循环播放,不停止。如果需要停止,可以发送FE指令
void oneline_test_CMD_F3(void){
oneline_send_one_data(0xF3) ;
udelay(20) ;/*延时25ms*/
oneline_send_one_data(0x01) ;
udelay(20) ;/*延时25ms*/
oneline_send_one_data(0x02) ;
udelay(20) ;/*延时25ms*/
oneline_send_one_data(0x03) ;
udelay(20) ;/*延时25ms*/
} 组合播放第1段、第2段、第3段声音,依次按照顺序播放。如果需要停止,可以发送FE指令
同时,在组合播放的过程中,接收到新的组合播放数据,会停止当前的组合播放,转去播放新的指令
1、专用于芯片进入超低功耗,因为芯片在播放结束之后,会自动进入待机状态,功耗维持在25uA 。
2、如果需要芯片的功耗再低,则需要发送F0指令,任何状态下都可以
3、芯片接收到F0指令之后,就会进入关机状态,功耗维持在1.7uA左右
4、如果需要芯片再次接收指令,必须先将dat信号拉低40ms,让芯片被唤醒,再发送数据就可以了
1、控制MCU上电之后,第一时间就要将通讯IO,也就是ONELINE脚设置为高电平输出
2、尽量和KT148A芯片的通讯之间,串1K的电阻,来适配不同的电平
3、芯片的2脚PB9,在播放的时候,电压大概是3.1V左右 。一旦进入空闲状态,此IO会变成2.8V左右
因为芯片内部有一个空闲进入低功耗待机的机制。
芯片支持通过串口更换声音,需要的工具如下:
1、PC端的音频压缩软件---我们提供
2、PC端的下载工具软件---我们提供
3、USB转TTL的串口工具---推荐使用CH340G的USB转TTL模块
1、这个可以通过TTS合成软件,自己生成mp3或者wav文件 。也可以找真人录音等等方式
2、获取了这些音频文件之后,自己可以试听一下效果
3、音频的效果,必须是在这一步完成,包括,修音、去头去尾,调整好音量大小等等
待续。。。。。。。。。

1、使用我们提供的工具软件,格式只能选择F1A
2、采样率和码率,就自己去灵活的选择了,一般推荐“采样率16K”,码率6K ,效果就很好了
如果空间允许,就自由发挥。如果语音比较多,建议使用“采样率8K,码率8K”
3、添加文件,选择输出的目录 ,最后点击转换就可以了
4、他会将原始的音频文件,生成为xxx.f1a格式的文件,注意这个文件在电脑端是不能播放的,只能下载到芯片里面去解码播放

1、一定要把芯片的5脚对地短路再上电 ,听到喇叭“滴”的一声,松开就可以了
2、这个时候,芯片就自动进入到下载状态 。建议选用CH340G的USB转TTL模块
3、连接串口模块到电脑,USB转TTL的TX接芯片的2脚,USB转TTL的RX接芯片的3脚,然后共地 。
4、点击上位机上面的,打开串口,波特率固定115200 ,选择导入文件,再点击“下载全部”,等待完成5、注意下载完了之后,可以用芯片的4脚对地触发一下,试听下载的声音文件

完整的测试框架如上实物图
我们默认出货都是管装,每管100pcs。一盒是10K。一箱是100K

封装和常用的SOP8芯片是一致的,如:LM358等等SOP8封装的芯片。详见芯片规格书
问题 | 1、KT148A是什么? 具备哪些功能? 有什么特色? |
答疑 | 1、KT148A是一颗专用于语音播报,芯片内置420秒的语音空间,直驱扬声器,可以重复烧录,用户也可以自己更换声音,使用简单的一线串口控制,成本低,性价比高 2、支持一线串口控制,支持插播和组合播报,非常适合游戏机、播报金额 3、提供上位机进行用户下载语音,不限段数 4、超低的待机功耗20uA,超低的关机功耗2uA ,不支持外挂功放,需要外挂功放可以选择KT142A的芯片,或者KT404A |
问题 | 2、KT148A工作电压多少?电流是多少?控制方式是多少?支持多大的喇叭? |
答疑 | 1、KT148A的工作电压是2.0V--5V,供电电压越高,扬声器功率越足,当然声音也就越好 2、KT148A最佳的工作电压是4.6V 。如果是5V的供电,建议串一个二极管适当的降压 二极管选择4001或者4148之类的都可以。 3、待机电流20uA,工作电流大概8mA。如果外接喇叭,则视喇叭功率而定 4、控制方式是一线串口,详见手册的章节3,最好搭配逻辑分析仪调试,最简单 |
问题 | 3、KT148A我焊接到PCB板上面之后,为什么没有任何反应呢? |
答疑 | 1、这个问题比较模糊,所以需要多重判断,才能找出问题来 2、首先看一下芯片的供电正常不正常,也就是芯片的8脚,输入电压是否是2.0--5.2V之间 3、在看看芯片的7脚,是否有3.3V的电压输出。如果超过3.7V以上则极有可能芯片被击穿了,只能更换了 4、然后再看看芯片的第2脚,这个脚是busy脚,播放输出低电平,空闲输出高电平,空闲超时五秒自动进入待机,IO则是变成高阻态 。 5、芯片还有一个测试脚,也就是第4脚,对地触发一下,可以播放出来声音,这个io就是方便客户测试用的 |
问题 | 4、KT148A如何下载语音到芯片里面呢? 拷贝是按照什么顺序呢? |
答疑 | 1、详见手册的章节5,总共分为3步,详细看一下, 2、拷贝的顺序,是按照上位机里面加载文件的顺序来编号的 |

复制产品链接
长按图片保存/分享