WTN6 E 系列语音芯片 单线时序及示例代码

1. 概述:

WTN6 系列为多功能,低功耗,高性能的 CMOS 语音芯片。现有 WTN6020E、WTN6040E、 WTN6080E、WTN6170E 四种芯片(语音长度分别为 20s40s80s170s),已投入市场。 音频采样率目前最高可达 32kHz16 级音量控制,两种音频输出方式 PWM 输出和 DAC 输 出。精准的+/-1%内部震荡,不需要加外部震荡,具备超低功耗待机。

2. 功能简述:

1)工作电压:2.2V~5.5V

2)待机模式下,静态电流小于 5uA(语音播放完成后,DATA /CLK 信号线保持稳定的电平 2 秒左右即可休眠)

3)精准的+/-1%内部震荡,有低压复位(LVR=2.0V)

412 PWM 纯音频输出,可直接驱动 8Ω/0.5W 喇叭和蜂鸣器,DAC 音频输出,可外接播放;

5)具备串口控制模式:数脉冲,按键,一线串口,两线串口(最多可以加载 224 段语音, 后续有详解)

6)支持 BUSY 状态输出(标准程序 BUSY 脚默认为高电平,语音播放过程中为低电平。另外,串口控制模式下,只有当语音芯片收到正确的语音地址时序 BUSY 脚才会有电平变化)

3. 管脚描述:

 3.1. 管脚分布图

Pad NamePadNo.ATTR.Description描述
PA21I/O忙信号输出
PA12I/O两线串口时钟信号输入端/一线串口数据信号输入端/数脉冲数据信号输入端
PA03I/O两线串口数据信号输入端/复位脚
PA34I/O暂未使用(NC)
PWM-5outPWM 输出脚
VDD6Power电源正极
PWM+/DAC7I/OPWM、DAC 输出脚
GND8Power电源负极

 4. 极限参数

标识范围值单位
VDD~GND 电源电压-0.5 ~ +5.5V
Vin 输入电压GND-0.5 < Vin < VDD+0.5V
Vout 输出电压GND < 0.3V ~ VDD+0.3V
Top 工作温度-20~ +85ºC

5.管脚分配

6. 一线串口时序图

7. 语音说明

8. 示例代码

Driver_speaker.h

//
// Created by seven on 2024/10/24.
//

#ifndef LOCK_DRIVER_SPEAKER_H
#define LOCK_DRIVER_SPEAKER_H

#include <driver/gpio.h>
#include "Utils.h"

#define P_DATA 9

#define UC8 uint8_t

#define  DATA_LOW   gpio_set_level(9,0)
#define  DATA_HIGH  gpio_set_level(9,1)

/*--------------------------------------
;模块名称:Line_1A_WTN6(UC8 DDATA)
;功 能:实现一线串口通信函数
;入 参: DDATA 为发送数据
;出 参:
;P_DATA 为数据口
;-------------------------------------*/

void Line_1A_WTN6_Init(void);

void Line_1A_WTN6( uint8_t DDATA);




#endif //LOCK_DRIVER_SPEAKER_H

Driver_speaker.c

//
// Created by seven on 2024/10/24.
//

#include "Driver_speaker.h"

void Line_1A_WTN6_Init(void){
    gpio_config_t io_conf = {};
    io_conf.intr_type = GPIO_INTR_DISABLE;
    io_conf.mode = GPIO_MODE_OUTPUT;
    io_conf.pin_bit_mask = (1ULL << P_DATA);
    gpio_config(&io_conf);
}

void Line_1A_WTN6( uint8_t DDATA)
{
    uint8_t S_DATA,j;
    uint8_t B_DATA;
    S_DATA = DDATA;
    DATA_LOW;
    Delay(10); //延时 5ms
    B_DATA = S_DATA&0X01;
    for(j=0;j<8;j++)
    {
        if(B_DATA == 1)
        {
            DATA_HIGH;
            Delay_Us(600); //延时 600us
            DATA_LOW;
            Delay_Us(200); //延时 200us
        }
        else
        {
            DATA_HIGH;
            Delay_Us(200); //延时 200us
            DATA_LOW;
            Delay_Us(600); //延时 600us
        }
        S_DATA = S_DATA>>1;
        B_DATA = S_DATA&0X01;
    }
    DATA_HIGH;
    Delay(2);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值