集成编解码和语音录/放芯片ISD5216的应用
ISD5216是华邦电子美洲公司推出的具有语音编解码和数据存储功能的语音录/放芯片。该芯片具有8至16分钟的录音/播放能力和4MB的数字资料存储功能。它采用固态存储器,并具有先进的信息管理功能,如向前/向后略过、无倒带延迟,可随意听取信息等;同时还可自行选择取样频率(4.0、5.3、6.4或8.0kHz)、具有I2C接口、3V工作电压;芯片内部,包含有AGC、麦克风前置放大器、扬声器驱动器、振荡器、存储器和PCM编译码器等。其数字信息可以重复写入1万次,模拟信息可以重复写入10万次以上,并可实现无耗电信息存储,所存储的信息可保存100年,共电电源范围为2.7~3.3V,其工业级产品的工作温度范围为-40~+85℃。
1 引脚排列及功能
ISD5216具有28脚TSOP、SOIC和PDIP封装形式。其TSOP封装的引脚排列如图1所示,各引脚的功能说明如表1所列。
表1 ISD5216引脚功能表
引脚号(TSOP) | 引脚名称 | 功 能 | 引脚号(SOIC) |
1,15,21 | VSSA | 模拟地 | 11,14,23 |
2 | SDI | PCM语音信号输入 | 22 |
3 | SDIO | PCM语音信号输出或I2S接口输入/输出口 | 24 |
4 | RAC | 存储器地址时钟 | 25 |
5 | INT | 输出中断 | 26 |
6 | MCLK | 编码器外接时钟 | 27 |
7,8 | VCCD | 数字电源 | 1,28 |
9 | SCL | I2C接口串行时钟 | 2 |
10 | A1 | I2C接口LSB+1位地址 | 3 |
11 | SDA | I2C接口串行数据 | 4 |
12 | A0 | I2C接口LSB位地址 | 7 |
13,14 | VSSD | 数字地 | 5,6 |
16 | MIC+ | 麦克风输入+ | 10 |
17 | MIC- | 麦克风输入- | 9 |
18 | MICBS | 麦克风偏置电压 | 8 |
19 | ACAP | 外接AGC电容 | 12 |
20 | SP- | 喇叭输出- | 13 |
22 | SP+ | 喇叭输出+ | 15 |
23 | VCCA | 模拟电源 | 16 |
24 | AUX IN | 辅助模拟输入 | 17 |
25 | AUX OUT | 辅助模拟输出 | 20 |
26 | NC | 空脚 | 21 |
27 | SCK | PCM编码器或I2S接口时钟 | 19 |
28 | WS | PCM帧同步或I2S接口字同步 | 18 |
2 应用特性
2.1 录音长度
ISD5216的录音长度从8至16分钟不等,录音长度和采样频率有关,其关系如表2所列。
表2 ISD5216的录音长度与采样频率的关系
采样频率(kHz) | 录音长度 |
8.0 | 8分3秒 |
6.4 | 10分4秒 |
5.3 | 12分9秒 |
4.0 | 16分6秒 |
2.2 存储单元
该芯片存储单元具有一个新特点,就是在存储数据时可以指定存储空间是用来存储数字信号还是模拟信号。该功能是通过系统微控制器事先将存储空间划分为数字和模拟区域,并形成存储分区的地址表来实现的。
2.3 与微控制器(单片机)的接口
ISD5216的控制是通过一个2线的I2C接口实现的。控制指令的传送以及地址信号、数据信息的写入与读出都是通过该同步串行通信口实现的。
在微控制器的配合下,可以利用ISD5216在录音电路机中完成话音的录制、播放,也可将用户事先存入的字、词组合播放从而在语音电路中实现自动报时、报温度等语音会话、提示功能。
2.4 编译码器
编译码器的接口是和I2S接口共用的复用接口。ISD5216的编译码器接口符合A律、μ律压扩的ITU G.712/G.714建议要求,编译码器工作时需要外部时钟信号(可以是13.824MHz、20.48MHz、27.648MHz或40.96MHz),其采样频率范围为8kHz~48kHz。
3 典型应用
ISD5216可用于便携式通讯设备中,图2是用华邦公司推出的4位通用电话控制器W742C814和ISD5216构成的一个具有信息存储功能的典型录音电路电路。W742C814是带有324LCD驱动电路的高性能4位专用单片机,它有5个4位I/O接口(包括1个LED驱动接口)。
W742C814对ISD5216的控制是通过I2C接口实现的,控制ISD5216实现录音和重放只需通过I2C接口写入命令字91H和A9H即可,而向ISD5216读出和写入数据则相对较为复杂,其数据传送格式如图3所示。下面是W742C814从ISD5216读出一个字节数据的子程序:
RDBYTE
MOV ACC,SLAVE;读取从地址
MOV TXBUF,ACC;将从地址传送到发送程序缓冲寄存器等待发送
CALL BSTART ;调用启动总线通信子程序
CALL TX ;调用发送数据子程序
MOV ACC,ADDR ;获取数据格式
MOV TXBUF,ACC ;将数据地址传送到发送程序缓冲寄存器等待发送
CALL TX ;调用发送数据子程序
MOV ACC,SLAVE ;获取从地址
MOV TXBUF,ACC ;将从地址传送到发送程序缓冲寄存器等待发送
CALL BSTART ;调用启动总线通信子程序
图2
CALL TX ;调用发送数据子程序
CALL RX ;调用读入数据子程序
CALL BSTOP ;调用结束总线通信子程序
MOV ACC,RXBUF ;从读入数据寄存器获得数据
MOV DATAI,ACC ;将数据保存
JMP wrt-end
评论