概述
概述:本文主要介绍一款新型的音频芯片WT2605在录音产品中的应用与实现,主要依靠音频芯片通过ADC采集数据,将数据编码为音频流数据存储在本地,也可通过外设将数据传给蓝牙/WiFi/4G模块,实现录音数据上传到手机APP或服务器上,便于监控录音数据。
系统组成
该方案主要通过WT2605芯片进行音频数据的编解码以及存储等操作,其主要参数如下:
1: 带有16 bit DAC和16 bit ADC的音频编解码器。
2: 支持音频均衡器调整。
3: ADC支持采样率8,11.025,12,16,22.05,32,44.1和48KHz。
4: 96dB SNR的高性能音频DAC以及90dB SNR ADC。
5: 一个USB 2.0接口,支持主机和从机模式。
6: 一个SPI接口和一个SD卡接口,支持外挂SPI FLash和SD卡,可通过USB连接电脑访问SD卡数据。
7: 一个全双工UART接口,通讯速率高达1Mbps,主要通过该接口与外部器件进行交互。
1 WT2605拾音原理
MIC的内部设计,MIC内部设计可以简单理解为一个电容,电容的一端是固定的,另一端是可动的,两端之间的距离和声音输入有关系,声音的大小、频率导致金属片震动产生幅度和频率的变化,如此,在电容这边就转换为电容电荷量大小与充电快慢,在MIC输出端就表示为一个幅度和频率有随着声音输入变化而变化的电信号,WT2605通过ADC对这个变化的电信号进行采样,经过滤波后转化为数字信号编码为MP3数据(ADC采样的原理这里不多介绍,各位读者可自行搜索查找)。由于WT2605的ADC最大支持48KHz的采样,意味着每秒能够采集48000个点,产生的数据量非常大,所以一般不会直接保存为PCM格式,经过编码后的MP3格式基本上能够满足大部分应用场景,高达90dB的信噪比也使得声音的还原度更高。
2 系统组成图
整套系统主要由WT2605芯片+4G或者WiFi/BLE模组组成,通过WT2605采集MIC的数据,将数据编码后存储到SPI FLash或者TF卡内,同时通过UART串口将录音数据发给4G或者WiFi/BLE模块上传到服务器或者手机APP进行保存,实现本地录音数据的存储和录音数据上传功能,系统框图如下:
电路设计
1 WT2605与WiFi模块电路
上述电路以WiFi模块作为主控,控制WT2605采集录音数据存储到SPI FLash内,同时WiFi模块实时获取WT2605编码好的音频数据上传到服务器;注意WiFi模块与WT2605芯片以UART进行数据交互,当大量传输音频数据时,需要根据WiFi模块本身的性能参数,设定好音频数据编码的比特率大小,一般可设置为32kbps、64kbps、96kbps、128kbps等,同时根据设定的比特率大小设置好UART的通讯速率。
调节R3、R4的参数可以调整MIC的灵敏度,由上述对MIC工作原理的介绍,可以知道经过R4的电流大小影响输入电容端的电流大小,进而影响到MIC输出端的动态电平范围,也就是灵敏度,若经过的电流太小,输出的电平较小,录音时被当做噪音滤掉,在电路设计时,这个电路参数的设置需要综合考虑噪音和灵敏度。
2 功放电路
WiFi模块通过指令,控制WT2605解码存储在SPI FLash的音频数据,经过功放后播放。
通讯命令格式介绍
通信协议主要定义主控和 WT2605之间的交互规则,处理器如何将数据推送给WT2605进行相应的处理,WT2605反馈相应的处理结果。通信数据主要以命令帧的方式进行,一个有效的命令帧必须包含:帧头,命令包长,命令包,校验码,帧尾等五部分。
帧头 | 命令包长 | 命令包 | 校验码 | 帧尾 |
0x7E (1字节) |
0xXX (1字节) |
数据 (N字节) |
0xXX (1字节) |
0xEF (1字节) |
帧头由1个固定的十六进制数据表示,帧类型包含下传命令帧(模组接收的命令帧)以及上传命令帧(模组接收数据后反馈的命令帧,即ACK或NAK)。
命令包长表示命令帧除帧头和帧尾外的字节数,即命令包长(1字节)+命令包(N字节)+校验码(1字节)= N+2 字节。
命令包是具体的命令,主要包含:命令+参数。
校验码,为命令包长+命令包的和。
名称 | 长度 | 说明 |
帧头 | 1字节 | 定义为十六进制的“0x7E” |
命令包长 | 1字节 | 命令帧去除帧头和帧尾的字节数,N + 2字节 |
命令包 | N字节 | 命令字 + 参数,详情参考每条命令的说明 |
校验码 | 1字节 | 校验和 = [∑(命令包长+命令包)] & 0xFF |
帧尾 | 1字节 | 定义为十六进制的“0xEF” |
基于WT2605芯片良好的性能参数,可广泛应用在一些高品质录音产品,如录音笔,录音耳机等等。