新闻  |   论坛  |   博客  |   在线研讨会
ISD4004-16M语音芯片的循环录放电路设计
yanqin | 2009-06-24 20:14:40    阅读:2075   发布文章

 

    摘要:针对isd语音芯片的特点,设计一种由单片机控制,能够循环录放的语音电路,可作为录音机,复读机、音频记录仪使用,既节省存储空间,又降低成本,具有较高的实用价值。

    关键词:isd4004 语音 循环录放

目前,市场上的固体录音机及各种录音笔,大多采用的是顺序录音,不具备循环录音功能,一旦存储器录满,必须重新操作才行。本文设计一种能够循环录放的语音电路,即可解决上述问题。

1 器件功能介绍

isd系列语音芯片是美国isd公司推出的产品。该系列语音芯片采用多电平直接接模拟存储(chip corder)专利技术,声音不需要a/d转换和压缩,每个采样值直接存储在片内的闪烁存储器中,没有a/d转换误差,因此能够真实、自然地再现语音、音乐及效果声。避免了一般固体录音电路量化和压缩造成的量化噪声和金属声。

图1

    isd4004语音芯片采用cmos技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等(见图1),因此只需很少的外围器件就可构成一个完整的声音录放系统。芯片设计是基于所有操作由微控制器控制,操作命令通过串行通信接口(spi或microwire)送入。采样频率可为4.0hz、5.3hz、6.4hz、8.0khz,频率越低,录放时间越长,而音质则有所下降。片内信息存于内烁存储器中,可在断电情况下保存100年(典型值)反复录音10万次。器件工作电压3v,工作电流25~30ma,维持电流1μa?单片录放语音时间8~16min,音质好,适用于移动电话机及其它便携式电子产品中。

1.1 引脚描述

isd4004系列芯片引脚图如图2所示。

图2

    同相模拟输入(ana in+)-这是录音信号的同相输入端,输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mv,耦合电容和本端的3kω输入阻抗决定了芯片频率的低端截止频率。在差分驱动时,信号最大幅度为峰峰值16mv。

反相模拟输入(ana in-)-差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mv,本端的标称输入阻抗为56kω,单端驱动时,本端通过电容接地。两种方式下,ana in+和ana in-端的耦合电容值应用相同。

音频输出(aud out)-提供音频输出,可驱动5kω的负载。

片选(ss)-此端为低,即选中isd4004系列。

串行输入(mosi)-此为单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供isd输入。

图3

    串行输出(miso)isd-串行输出端,isd未选中时,本端呈高阻态。

串行时钟(sclk)-isd的时钟输入端,由于控制器产生,用于同步mosi和miso的数据传输。数据在sclk上升沿锁存到isd,在下降沿移出isd。

中断(int)-本端为漏极开路输出,isd在任何操作(包括快进)中检测到eom或ovf时,本端变低并保持,中断状态在下一个spi周期开始清除,中断状态也可用ritn指令读取。

行地址时钟(rac)-漏极开始输出。生个rac周期表示isd存储器的操作进行了一行(isd4004系列中的存储器有2400行)。8khz采样频率的器件,rac周期为200ms,其中175ms保持高电平,低电平为25ms。快进模式下,rac为218.75μs高电平,31.25μs为低电平,该端可用于存储管理技术。

外部时钟(xclk)-本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在+1%内,在不外接时钟时,此端必须接地。

自动静噪(am cap)-1μf电容构成内部峰值检测电路的一部分,检测出的峰值电平与内部设定的阈值作比较,决定自动静噪电路的工作与否。大信号时自动静噪电路不衰减,静音时衰减6db。同时,1μf电容也影响自动静噪电路时信号幅度的响应速度,本端接vcca则禁止自动静噪。

    1.2 串行外部接口(spi)

isd4004工作于spi串行接口。spi协议是一个同步串行数据传输协议,协议假定微控制器的spi移位寄存器在sclk的下降沿动作。因此,对isd4004而言,在时钟上升沿锁存mosi引脚数据,在下降沿将数据送至miso引脚。协议具体内容如下。

①所有串行数据传输开始于ss下降沿。

②ss在传输期间必须保持为低电平,在两条指令之间保持为高电平。

③数据在时钟上升沿移入,在下降沿移出。

④ss变低,输入指令和地址后,isd行才开始录放保持。

⑤指令格式是8位控制码加16位地址码。

图5

    ⑥isd的任何操作(含快进)如果遇到eom或ovf,则产生一个中断,该中断状态在下一个spi周期开始时被清除。

⑦使用“读”指令会使中断状态位移出isd的miso引脚时,控制及地址数据也同步从mosi端移入。

⑧所有操作在运行位(run)置1时开始,置0时结束。

    ⑨所有指令都在ss端上升沿开始执行。

    ovf标志指示isd录放操作已到达存储器的末尾。eom标志只有放音过程中检测到内部的eom标志时,此状态位置1,如图3所示。

以下列举了几种对isd器件进行操作进的批令次序。

图6

    *信息快进。用户不必知道确切的地址,就能快地跳过一条信息。信息快进只用于放音模式。放音速度是正常的1600倍,遇到eom后停止,内部地址计数器加1,并接下条信息开始处。

*上电顺序。器件延时tpud(8khz)采样时,约25ms后才能开始操作。因此,用户发完上电指令后,必须等待tpud,才能发出一条操作指令。例如从00处放音,应遵循如下时序:发power up命令;等待tpud(上电延时);发地址值为00的setplay命令;发play命令。器件会从00地址开始放音,当出现eom时,立即中断,停止放音。如果从00处录音,则按以下时序:发power up命令;等待tpud(上电延时);发power up命令;等待2倍tpud;发地址值为00的setrec命令;发rec命令。器件便从00地址开始录音,一直到出现ovf(存储器末尾),录音停止。

1.3 时序

8位及24位命令格式如图4和图5所示。

录音、放音、停止时序如图6所示。

图7

2 循环录放电路的设计

该电路采用at89c51单片机,通过操作5个微型按扭开关和一个微动开关实现功能转换,操作命令由串行通信接口(spi)送入。电路即可工作在顺序模式,又可工作在循环模式。当工作在循环模式。当工作在循环模式的录音状态时,isd芯片将始 终记录最后16min的语音信息,直至按下停止键。

2.1 硬件电路设计

电路原理图如图7所示,整个电路由单片机控制显示电路、isd4004语音录放电路、话筒输入电路、音频功率放大电路几部分构成。isd4004的片选信号ss由控制器p2.0提供。单片机at89c51的串行口工作于同步移位寄存器方式,同步移位脉冲由txd(p3.1)输出至isd4004的串行时钟输入端sclk,数据由rxd(p3.0)输入输出。因at89c51单片机不具备(spi)接口,故这里通过三态门将rxd(p3.0)数据线复用。对单片机而言,发射时作为输出,接至isd4004的串行输入端(mosi);接收时作为输入,接至isd4004的串行输出端(miso)。电路中拔动开关ks用于选择启用或取消循环录音功能。

2.2 软件设计

整个程序包括主程序和中断子程序两部分。at89c51单片机提供了用户键盘、显示和isd4004所需接口。它接收击键功作,并将相应指令传给isd4004,同时监控isd4004的中断输出。当开关ks闭合(ks=1)时,读取isd4004的状态寄存器,从而根据ovf和eom的状态进行相应的处理。当ovf=1,即存储器溢出时,则不管当前为何种状态均将isd4004的地址置零,并继续运行原指令;当eom=1时,当前状态只可能为放音或快进,若为快进则置为放音态,并继续运行。如此设计便实现了循环录放的功能,同时在快进时,自动停止在下一个语音段开始处,并继续放音。

中断程序流程图如图8所示。源程序清单见网站www.dpj.com.cn。

3 总体性能与功能扩展

该电路正常工作时功耗为200mw,音量增大时功耗有所增加。整个电路工作稳定、可靠,输出的声音清晰,音色优美,主观上听不到循环模式下将isd地址置零所产生的间断音。系统最大录放时间为16min,如需增加录放时间,只需增加isd4004芯片数量,通过片选即可实现。例如,采用4片isd4004,就能达到近一个小时的录音长度。

  


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客