单片机在语音存储与回放中的应用
扫描二维码
随时随地手机看文章
一、引言
目 前,随着数字化信号处理技术的不断提高,单片机,数字信号处理器以及语音处理大规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越 广泛,尽管现在各种语言合成芯片,语音处理应用电路有许多,但都需要增加硬件投资,在一些由单片机构成的测控系统中,由于单片机接口有限,还需要扩宽硬件 接口线路,本文介绍的语音存储与回放系统中,没有使用专用的语音处理芯片,不需扩宽接口电路,只利用一般的单片机测控系统中都有的硬件电路(如A/D、 D/A、,存储器等)就能完成语音信号的数字化处理,即能完成语音的存储与回放,实现单片机测控系统的语音提示报警及语音提示操作。因此特别适用于单片机 测控系统,为单片机测控系统的语音报警及语音提示操作在几乎不需增加硬件投资情况下的语音处理提供了一种思路。
2、系统总体结构
数字化语音存储与回放系统的基本思想是将模拟语音信号通过模数转换器A/D转换成数字信号,再通过单片机控制存储在存储器中,回放时,由单片机控制将数据从存储器中读出,然后通过数模转换器D/A 转换成模拟信号,经放大在扬声器或耳机上输出语音。
本设计方案系统总体结构框图如图1所示:
3、各部分电路设计
1)音频前置放大器
声音通过MIC转换成微弱的电信号(mv级),必须进行放大才能经A/D转换送入单片机。可采用专用的音频前置放大器。本方案采用宽频带,低噪声及失真小的NE5534组成,放大器增益可调,如图2所示。
2)带通滤波器(BPF)
本方案选择有源带通滤波器,]由运算放大器OP07组成。其中心频率为f。=1000Hz,通带为300Hz-3.4KHz。品质因数可调如图2所示
3)A/D转换器
带 通滤波器的输出信号经采样保持(LF398)后送A/D转换器转换,本方案选用的是AD574芯片,本系统中采样频率fs=8KHz,字长为8位。 AD574是快速、逐次逼近型、12/8位模/数转换器,转换速度最大为35us,转换精度小于等于0.05%。AD574片内具有三态输出缓冲电路,可 直接与8位或16位单片机接口,使用非常方便,应用广泛,价格适中。
4)D/A转换器
语音回放需将存储的数字信号通过D/A转换器转换成语音模拟信号,本方案选用DAC0832芯片,变换频率为fc-8KHz,字长为8位,DAC0832是一种具有两个输入缓冲器的8位D/A芯片,转换时间为1us,可直接与89C51相连。
5)单片机及存储器
本方案采用ATMEL公司的AT89C51微控制器,选用闪速存储器 AT29C040作为存储器供采集用。
AT89C51与8031相比,它内部有4K E2PROM,可省去最少系统,节省并行口,两者兼容。
AT29C040具有在线可擦写,非挥发性,信息保存可靠,存储容量大等优点,每片的容量为512K字节,它是国外最新产品。该产品的读写与一般RAM相同。由于89C51一般能寻址64K字节。
所以需要利用P1口进行地址扩宽。本系统中另加三根线(P1.1,P1.2,P1.3),作地址线用,使寻址空间扩宽到512K字节,并采用分页管理方式进行管理分配内存,即在总线输出地址之前,先对外加的3根高位地址选页, 然后在所选页中,进行输入,输出操作。
由于系统的采样频率fs=8KHz,字长为8位字节,1秒钟的语音需要8K字节的存储空间。这样一片AT29C040可存储60秒钟的语音。
单片机与A/D、D/A及存储器的连接如图3所示。
4、软件设计
利 用89C51的INT0和INT1设置两按钮,INT0中断完成语音存储功能,INT1中断完成语音回放功能。为保证语音的采样频率为8KHz,利用 CTC定时采样 ,同样在回放时的变换频率也通过CTC确定为8KHz,其INT0中断服务程序和INT1中断服务框图如图4所示。
5、结束语
本系统电路简单,程序乘法。采用闪存保存语音,即使断电仍然能保持信息不丢失,所以保存信息安全可靠。如果在软件中增加压缩算法,可节省存储空间,是一种实用的电路方案。