基于单片机的语音记录仪

2011-06-09 10:15王彦茹胡体玲
电子设计工程 2011年24期
关键词:录音串口语音

王彦茹,胡体玲

(杭州电子科技大学 电子信息学院,浙江 杭州 310018)

语音信号是人们相互传递信息的最基本的手段,其直观,信息量大,优点十分明显。将语音信号采集并存储起来,而且可以按照人们的想法来控制和播放一直是人们研究和利用的重点,因此人们从未中断过对语音信号的探索和研究。随着科学的进步和技术的提高,人们早已不满足于单纯只将语音采集和存储起来,人们越来越注重保证语音信号高清晰度和低失真度。传统的模拟磁性录音机每录一次就会增加录音的噪声,不方便多次录放和广泛传播,这在一定程度上也限制了语音信号方面的发展。现代数字技术对语音信号进行采集,将模拟信号转化成数字信号,极大地方便了语音信号的存储和复制,且通过处理芯片能过滤掉语音信号中的噪声分量,使语音信号更加纯净。

文中采用8位单片机AT89S52[1]结合专门的语音芯片ISD25120实现了对语音信号的模数转换,并对转换后的数字信号进行一系列的处理。与一般的语音记录仪相比,不仅大大提高了语音信号的清晰度,降低了失真度,而且实现了语音信号的分段采集、选段播放,设计更加人性化。由于采用ISD25120可使播放时间长达2分钟之久。

1 技术方案

ISD25120是一个语音信号处理芯片,该芯片可处理4.0、5.3、6.4和8.0 kHz频率范围的音频信号,录音时间可达120 s,最多可分为600个段,能反复录放10万次。同时该芯片内部集成了A/D、D/A数模和模数转换器,免去了繁杂的外围电路也避免掺杂进噪声分量,具有良好的音色又避免了一般固体录音电路因量化和压缩造成的量化噪声。相对于传统记录仪电路,该电路又集成了放大电路,时钟电路,编码解码功能模块,采样时钟等功能模块,能保证录音质量的高保真度和放音质量高清晰度。

ISD2500系列语音芯片[2]将480 k的EEPROM分为 600个信息段,每段800个字节。每个信息段的录放音时间等于总时间除以600。如ISD25120的总时间为120 s,则每个信息段的录放音时间为200 ms。将这些信息段进行组合分配就可以达到多段语音录放功能,因此在系统实现过程中,只需要从片机输出相应的位地址来控制ISD25120芯片中语音存储的位置来确认从哪里读取信号即可。

综上所述,在该系统中单片机主要用于对该芯片的功能以及语音存储地址进行控制,所以单片机的编程变得十分简单。此外,为了美化界面,实现人机通信,该系统添加了LCD1602液晶显示器、键盘、串口等外围设备。整个系统可以分为语音输入模块、语音输出模块、键盘模块、显示模块、串口模块、语音芯片模块。硬件实现框图如图1所示。

图1 硬件实现框图Fig.1 Block of the hardware system

2 硬件实现电路

系统以ISD25120为核心,充分利用其丰富的片内资源对语音信号进行采样、量化、编解码等处理。系统实现可以分为ISD25120语音芯片电路模块,单片机控制电路模块。

2.1 ISD25120语音芯片电路模块

文中采用ISD25120语音芯片构成的语音处理电路模块,如图2所示。ISD25120的地址/模式输入口A0~A9与单片机相应的I/O口连接以实现分段录放音,通过单片机输出相应的位地址来控制ISD25120芯片中语音存储的位置,确认从哪里读取信号。P/R、EOM、PD、CE引脚与单片机的I/O口连接,利用单片机输出相应的控制信号来控制语音的录放模式。MIC和MIC-REF通过耦合电路连接咪头,用来采集语音信号。SP+和SP-连接一个喇叭,用来播放语音信号。

2.2 单片机控制电路模块

单片机通过各I/O口的数据来控制与其相连的外围设备的工作。图3所示的单片机电路中已经标出与单片机各引脚相连的所有端口,包括液晶显示器、语音芯片、复位电路、晶振电路、按键及串口等。其中,键盘模块通过按键与单片机引脚的连接用来选择录音/放音,通道选择,执行/停止,以及复位功能。显示模块采用2×16液晶显示器LCD1602对系统所处的状态(录音/放音,通道)进行显示。串口模块串口以及串口驱动芯片MAX23与单片机管脚进行连接,实现单片机与PC机的联系,以进行程序的抄写。

图2 ISD25120芯片电路模块Fig.2 Circuit diagram of ISD25120 chip

图3 单片机控制电路Fig.3 Diagram of MCU control circuit

3 软件设计

图4是系统的软件流程图。软件设计采用C语言编程[6],它具备可读性和可移植性,易于调试编程。系统初始化后,通过C语言编程和三个按键进行控制可实现语音信号的录放和选段播放。同时可利用液晶显示器进行状态、通道和路线以及正在录放音的通道信息的显示。程序的编写主要实现四个功能:键盘扫描,LCD显示,录放音功能和选段功能,其中编程的重点和难点在于实现分段录放音。

4 结束语

本文介绍了一种基于单片机AT89S52和语音芯片ISD25120的语音记录仪,该系统可实现分段存储,选段播放的功能。语音播放的时间可长达120 s,同时可通过按键和液晶1602实现人机对话,对功能(录音或者放音),频道(存储或播放的位置)以及音量的大小进行选择和控制。此语音系统结构合理,设计简洁紧凑,能实现预期功能。如果更换存储量更大的语音芯片,则语音播放时间会相应延长,应用将更加广泛。

图4 软件设计的流程图Fig.4 Flow chart of the software design

[1]张大为,刘迪,赵亚范.基于AT89S52芯片的简易智能小车的设计与实现[J].电子设计工程,2011(19):138-140.ZHANG Da-wei, LIU Di, ZHAO Ya-fan.Design and implementation of simple intelligent car based on AT89S52 chip[J].Electronic Design Engineering,2011(19):138-140.

[2]肖海荣,王凤英,杨金清,等.基于AT89C2051和ISD2560的录放音系统设计[J].微计算机信息,2004,1(7):63-64.XIAO Hai-rong, WANG Feng-ying, YANG Jin-qing, et al.Design of record&play system based on AT89C2051 and ISD2560[J].Microcomputer Information,2004,1(7):63-64.

[3]阮炎林,高红亮.单片机语音处理技术应用[J].工业控制技术,2011(4):88-90.RUAN Yan-lin,GAO Hong-liang.The application of SCM speech processing technology[J].Tndustrial Control Technique,2011(4):88-90..

[4]戴仙金,冼进.51单片机及其C语言程序开发实例[M].北京:清华大学出版社,2008.

[5]姜宝港.智能家用电器技术[M].北京:机械工业出版社,2010.

[6]戴佳,戴卫恒,刘博文.51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社,2008.

猜你喜欢
录音串口语音
Funny Phonics
浅谈AB PLC串口跟RFID传感器的通讯应用
funny phonics
Listen and Choose
Listen and Color
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
数字电源内部数据传输的串口通信方法实现