论文部分内容阅读
单片机的应用无处不在,利用单片机控制语音的录放也多不胜举。用单片机控制语音芯片,再把单片机和语音芯片嵌入到通信设备,智能仪器,治安报警及儿童玩具中,就可做成语音播放的机器,应用范围广泛。本文介绍的是用AT89C51单片机及ISD4004语音芯片设计一个语音录放的播报器。它用语音芯片存储语音,并用单片机控制语音芯片。该系统功能多,录放音音质好,外围电路简单。
1、ISD4004芯片的性能
ISIM004系列语音芯片是美国ISD公司采用直接模拟量存储技术推出的语音录放器件,该芯片采用了直接模拟量存储技术,将语音信息通过多级存储技术以接近原始模拟量的形式存储,声音信号无需进行A/D转换和数据压缩就可以直接存放,录制的声音失真小,音质好,无背景噪声。而录制的声音信号在播放时也无需D/A转换和语音合成等复杂的数字信号处理过程。
同相模拟输入(ANA IN+);这是录音信号的同相输入端,输入放大器可用单端或差分驱动。
反相模拟输入(ANA IN-):差分驱动时,这是录音信号的反相输入端。
音频输出(AUD OUT):音频输出端。
片选(SS):此端为低,即选中ISD4004系列。
串行输入(MOSI):单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO):ISD4004串行输出端,ISD4004未选中时,本端呈高阻态。
串行时钟(SCLK):ISD4004的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。
中断(INT):本端为漏极开路输出,ISIM004在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持,中断状态在下一个SPI周期开始清除。
行地址时钟(RAC):漏极开始输出。
外部时钟(XCLK):本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在±1%内,在不外接时钟时,此端必须接地。
自动静噪(AM CAP):当录音信号电平下降到内部设定的某个阈值以下时,自动静噪功能使信号衰弱,有助于消除无信号(静音)时的噪声。
ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。SPI接口指令如表1所示。
x为0或为1均可。ISD4004的分段地址(A0~A15)为0000H-0960H。
2、硬件电路的设计
本文的语音录放系统所采用的是录放时间为8min的ISD4004语音芯片。该语音录放电路主要由单片机AT89C51,ISD4004构成,本系统可以主要分为三部分单片机控制部分、录音部分和放音部分。控制部分则主要由单片机AT89C51构成,包含必要的按键电路、复位电路和指示电路等外围电路。录放音部分主要由ISD4004构成,包含配套的变压电路、功放电路等。该电路通过操作3个微动开关实现功能转换,操作命令由串行通信接口(SPI)送入。在电路原理图中整个电路又可具体分为单片机控制指示电路、ISD4004语音录放电路、话筒输入电路、音频功率放大电路等几部分。单片机AT89C51的串行口工作于同步移位寄存器方式,同步移位脉冲由P1.1输出至ISD4004的串行时钟输入端SCLK。因AT89C51单片机没有硬件SPI总线接口,在使用AT89C51单片机对ISD4004进行控制时,可以通过单片机的FO引脚采用软件模拟的方式实现SPI总接口。
3、软件设计
软件设计步骤:
①初始化部分:初始化操作包括单片机控制部分的初始化、语音芯片的初始化(只需初始化一次)。该部分程序主要是完成系统单片机及ISD4004语音芯片的初始化,使得整个系统能够有序的进行下去。
②单片机控制部分:该部分主要是完成单片机与ISD4004的连接和对ISD4004的控制功能,并根据系统单片机发出的命令形式作出相应的操作。
③录音程序部分:该部分主要包括对ISIM004语音芯片的录音控制,复位操作程序,延时操作程序等。
④放音程序部分:该部分主要包括对ISD4004语音芯片的放音控制,复位操作程序,延时操作程序等。
1、ISD4004芯片的性能
ISIM004系列语音芯片是美国ISD公司采用直接模拟量存储技术推出的语音录放器件,该芯片采用了直接模拟量存储技术,将语音信息通过多级存储技术以接近原始模拟量的形式存储,声音信号无需进行A/D转换和数据压缩就可以直接存放,录制的声音失真小,音质好,无背景噪声。而录制的声音信号在播放时也无需D/A转换和语音合成等复杂的数字信号处理过程。
同相模拟输入(ANA IN+);这是录音信号的同相输入端,输入放大器可用单端或差分驱动。
反相模拟输入(ANA IN-):差分驱动时,这是录音信号的反相输入端。
音频输出(AUD OUT):音频输出端。
片选(SS):此端为低,即选中ISD4004系列。
串行输入(MOSI):单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO):ISD4004串行输出端,ISD4004未选中时,本端呈高阻态。
串行时钟(SCLK):ISD4004的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。
中断(INT):本端为漏极开路输出,ISIM004在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持,中断状态在下一个SPI周期开始清除。
行地址时钟(RAC):漏极开始输出。
外部时钟(XCLK):本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在±1%内,在不外接时钟时,此端必须接地。
自动静噪(AM CAP):当录音信号电平下降到内部设定的某个阈值以下时,自动静噪功能使信号衰弱,有助于消除无信号(静音)时的噪声。
ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。SPI接口指令如表1所示。
x为0或为1均可。ISD4004的分段地址(A0~A15)为0000H-0960H。
2、硬件电路的设计
本文的语音录放系统所采用的是录放时间为8min的ISD4004语音芯片。该语音录放电路主要由单片机AT89C51,ISD4004构成,本系统可以主要分为三部分单片机控制部分、录音部分和放音部分。控制部分则主要由单片机AT89C51构成,包含必要的按键电路、复位电路和指示电路等外围电路。录放音部分主要由ISD4004构成,包含配套的变压电路、功放电路等。该电路通过操作3个微动开关实现功能转换,操作命令由串行通信接口(SPI)送入。在电路原理图中整个电路又可具体分为单片机控制指示电路、ISD4004语音录放电路、话筒输入电路、音频功率放大电路等几部分。单片机AT89C51的串行口工作于同步移位寄存器方式,同步移位脉冲由P1.1输出至ISD4004的串行时钟输入端SCLK。因AT89C51单片机没有硬件SPI总线接口,在使用AT89C51单片机对ISD4004进行控制时,可以通过单片机的FO引脚采用软件模拟的方式实现SPI总接口。
3、软件设计
软件设计步骤:
①初始化部分:初始化操作包括单片机控制部分的初始化、语音芯片的初始化(只需初始化一次)。该部分程序主要是完成系统单片机及ISD4004语音芯片的初始化,使得整个系统能够有序的进行下去。
②单片机控制部分:该部分主要是完成单片机与ISD4004的连接和对ISD4004的控制功能,并根据系统单片机发出的命令形式作出相应的操作。
③录音程序部分:该部分主要包括对ISIM004语音芯片的录音控制,复位操作程序,延时操作程序等。
④放音程序部分:该部分主要包括对ISD4004语音芯片的放音控制,复位操作程序,延时操作程序等。