一种嵌入式数字语音录放系统的设计

发布者:rocky96最新更新时间:2014-10-20 来源: 21ic关键字:数字语音录放  LCD1602  AT89C52  DS1820 手机看文章 扫描二维码
随时随地手机看文章

随着我国经济建设的迅猛发展, 公安、铁路、民航、金融等部门对语音记录的需求不断增长。把语音生成技术应用于工业监控系统、自动应答系统、多媒体查询系统、智能化仪表、办公自动化系统或家用电气产品中,使它们具有语音输出功能, 使之能在适当的时候用语音实时报告系统的工作状态、警告信息、提示信息或相关的解释说明等, 无疑在提高人机通信能力、减少对错误处理的遗漏、提高系统性能、减轻人们的工作强度等方面都有极大的好处。

数字录音系统是将现场的语音模拟信号转变为离散的数字信号, 然后存储在一定的存储介质上的一种录音方式,它也是数字语音处理技术中常用的一种方式。采用嵌入式数字录音技术具有较高的效率和自动化程度, 而且录音时间长, 并可将信息长期保存于存储介质中, 同时对语音信息进行编辑整理非常方便,并可快速查找。

数字录音系统具有PC机实现和嵌入式系统实现两种方式。使用PC机由于其体积庞大, 耗电高, 造价也高, 并且在某些情况下, 系统的稳定性得不到保证, 所以用PC机来实现各项功能和操作, 就会受到一定的限制。而嵌入式系统则具有体积小、供电方便、造价低、稳定性高等优点,所以得到了广泛的应用。

1 总体硬件方案

本系统采用包含有A/D与D/A电路的语音芯片来实现模拟信号和数字信号的相互转换,而不需要再另外设计专门的A/D与D/A变换电路。在语音信号从驻极体*进入通用单片机之前, 通常应该进行信号的放大和滤波处理, 所以,应有相应的输入电路和器件; 同样, 在放音的时候, 在信号经过D/A变换后, 也要经过滤波和放大处理,最后通过扬声器将语音播放出来。另外,本系统还可以从外部播放设备接收已有的语言信号, 并将语音信号存储在语言芯片中, 然后在播放时将语音信号直接传送到外部功放设备以达到更大输出功率,从而加强了本系统的兼容性、可扩展性和嵌入性。其系统总体结构如图1所示。

系统总体结构框图

图1 系统总体结构框图

为了实现更多的功能, 本系统加入了其他外围硬件设备, 其扩展功能模块及系统总体结构框图如图1所示。本系统扩展有两个可选的液晶显示器LCD1602 和LCD12864, 而最终采用的LCD1602液晶显示器的特点是体积小, 功耗低,具有背光功能,采用通用接口芯片, 兼容性高。

时钟芯片DS1302则是具有串行输入输出高性能的通用时钟芯片。测温芯片DS1820体积小,并可用数据线供电, 同时具有独特的单线口(只需一个接口引脚即可通讯) 是其最大特点。存储器AT24C02,采用串口通讯技术,可三位寻址。系统中的红外接收放大头可接收通用遥控器的命令, 用于实现短距离控制和数据采集功能。

2 软件设计

系统软件主要用于控制和协调单片机及外部设备, 是无需用户干预的各种程序的集合, 它的主要功能是调度、监控和维护系统;负责管理系统中各种独立的硬件, 使得它们可以协调工作。

系统软件可使使用者或其他系统将其当作一个整体而不需要顾及到底层每个硬件是如何工作的。

下面介绍本系统的软件设计。

2.1 系统主程序

系统功能的实现依赖于软硬件的协同工作。

软件开发工作可由单片机控制软件来实现。它能实现录/放音、中断放音、停止录音、读取参数等功能。

单片机控制软件采用循环查询方式, 即各种操作都有一个按键控制, 系统会循环检查按键值(SW1~SW6), 若发现某按键置0,即执行相应的操作, 若有按键同时置0, 则按照程序的顺序先后执行。图2所示是本系统的主程序流程图。

主程序流程图

图2 主程序流程图

2.2 中断子程序

在单片机工作的同时, 不论是录音还是放音, 系统都要完成三个过程的处理, 其目的是提高系统的处理能力。中断程序是在微观上的顺序执行,但在宏观上是并行执行的。[page]

软件程序首先是初始化, 即进行开中断准备工作。然后是定时器开始定时中断, 即在单片机运行一个机器周期后,片内中断存储器自动加1,直至存储器溢出后, 中断标志位置1, 单片机在下一个机器周期里响应中断子程序,最后, 中断子程序结束, 返回中断前的主程序继续运行, 程序又开始等待下一次中断。循环中断子程序的工作流程如图3所示。

循环中断处理子程序流程图

图3 循环中断处理子程序流程图

2.3 录音和放音子程序

录音初始化首先会通过查找系统参数找到录音区的空白块和空白页的起始地址, 语音文件的数据就从该地址开始存储;同时读出最大录音时间和长度, 这两个参数是用来自行停止录音的。

当没有收到录音结束的命令时, 如超过最大时间或长度, 录音即自行停止。读出这两个参数后,先打开控制A/D变换速率的定时器, 然后再打开A/D变换操作。图4所示是录音子程序流程图。

录音结束后, 首先停止当前操作, 然后语音芯片掉电待命; 最后返回主程序继续运行。

放音初始化主要是根据输入语音文件所在起始块的地址, 从指定地址开始发出放音命令, 接着再发送从当前地址开始的放音命令直到播完(EOM) 或存储器末尾为止(OVF); 若按下STOP键, 则可直接停止放音并返回主程序。其放音子程序流程图如图5所示。

录音子程序流程图 放音子程序流程图

 图4 录音子程序流程图      图5 放音子程序流程图。

3 PCB板设计

电路图设计完成后, 即可进行PCB板的制作。本项目中用Protel99SE软件进行版图绘制,设计中充分考虑了电磁兼容等问题。图6所示是本系统的PCB的制作版图。

 PCB的制作版图

图6 PCB的制作版图

4 结束语

为满足高端用户的需求, 本系统的硬件还可以进行升级, 也可选用其他的40脚直插的单片机AT89C52、AT89S52、AT89C53、AT89S53、STC89S51、STC89S52、STC89S53等;对于现今的语音芯片而言ISD4003、ISD4004都是可选的;升级存储器也是本系统的一个亮点,系统可使原有2K 字节的存储器升级为4KB、8KB、64KB、128KB,甚至还可以达到几兆的特定容量。所有可替换的元件都具有较好的兼容性, 可满足各类场合下的应用要求。

关键字:数字语音录放  LCD1602  AT89C52  DS1820 引用地址:一种嵌入式数字语音录放系统的设计

上一篇:基于89C51的家庭防盗报警系统的设计
下一篇:基于单片机的汽车中网扫描灯设计

推荐阅读最新更新时间:2024-03-16 13:43

基于51单片机的LCD1602液晶驱动实现
本文的主要内容目录: 一、LCD1602的基本介绍 二、LCD1602液晶驱动的实现     根据对现有的LCD1602液晶的驱动进行分析,总感觉写的有些乱,有些麻烦,说白了就是不好用,这里打算自己写一个,既简单又实用的。 一、LCD1602的基本介绍 开发环境:keil, 睿智51开发板 LCD1602的液晶原理图如下: 引脚对应关系:     P2.0  : 状态引脚,为0时表示指令或者状态,为1时表示数据     P2.1  :读写引脚,为0时表示写,为1时表示读     P2.2  :使能引脚,为1时使能     P0.0 ~ P0.7 :数据引脚,用来传输数据 经过分析,整个液晶时序的核心就是两个:写命令、写数据
[单片机]
26-基于单片机的简单温控风扇
具体实现功能 系统由STC89C51单片机+LCD1602液晶显示屏+L298N控制模块+直流电机+DS18B20温度传感器构成。 具体功能: (1)LCD1602实时显示DS18B20测得的温度值; (2)无人情况下风扇停止转动; (3)有人情况下,实现温度对风扇转速的调整,温度越低,风扇转速越慢;温度越高,风扇转速越快。 设计背景 近些年来,随着空调行业的迅速发展,电风扇行业受到一定的打击。然而,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。与空调相比,一方面,空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用。另一方
[单片机]
26-基于单片机的简单温控风扇
ARINC429航空总线与AT89C52单片机接口设计
1 DEI1016的主要功能 DEI1016是DeviceEngineeringIncorporated生产的一种可支持ARINC429航空总线协议的串行接收、发送器件。该器件的主要功能如下: ●串行数据字长为32或25位; ●串行数据速率为100kbps或12.5kbps; ●具有独立的收、发电路; ●两个独立的接收器可直接与ARINC429总线接口; ●具有串/并接收数据转换,和并/串发送数据转换功能; ●对接收的数据可进行奇偶状态校验;并可对发送数据奇偶状态进行设置; ●可自动产生字与字之间的间隔; ●采用单一+5V供电。 2 DEI1016的工作原理 DEI1016的引脚功能及特点以前已有介绍,现仅
[单片机]
51单片机之lcd1602步进电机控制
#include reg51.h //51芯片管脚定义头文件 #include intrins.h //内部包含延时函数 _nop_(); #define uchar unsigned char #define uint unsigned int #define delayNOP(); {_nop_();_nop_();_nop_();_nop_();}; char code SST516 _at_ 0x003b; uchar code FFW ={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; uchar code REV ={0xf9,0xf8,0xfc,0
[单片机]
RS485协议的串行通信电路的设计与应用介绍
在电参数仪的设计中,数据采集由单片机AT89C52负责,上位PC机主要负责通信(包括与单片机之间的串行通信和数据的远程通信),以及数据处理等工作。在工作中,单片机需要定时向上位PC机传送大批量的采样数据。通常,主控PC机和由单片机构成的现场数据采集系统相距较远,近则几十米,远则上百米,并且数据传输通道环境比较恶劣,经常有大容量的电器(如电动机,电焊机等)启动或切断。为了保证下位机的数据能高速及时、安全地传送至上位PC机,单片机和PC机之间采用RS485协议的串行通信方式较为合理。 实际应用中,由于大多数普通PC机只有常用的RS232串行通信口,而不具备RS485通信接口。因此,为了实现RS485协议的串行通信,必须在PC机侧配
[单片机]
RS485协议的串行通信电路的设计与应用介绍
AT89C51\52的编程原理
AT89C51和AT89C52的编程原理完全相同,内部都有一个可重复编程的Flash ROM,AT89C51的ROM容量为4KB,而AT89C52的容量为8KB. 我们以AT89C52为例来说明其编程原理: A:由其ROM的容量可知其地址线需要13条,硬件连接如图1所示,整个P1口和P2口的低5位为编程地址输入线, P0口为数据输入端,P2.6、P2.7、P3.6、P3.7为编程模式.其电平组合见表1. B:以下是编程过程: 1.将RST接高电平,PSEN接低电平. 2.擦除芯片,每次重新编程前都要首先把原来ROM里面的程序擦除掉,将编程模式组合为擦除模式,送ALE端一个10ms宽度的低电平脉冲即可. 3.在地址线上输
[单片机]
单片机的两种型号区别 AT89C51和AT89C52的区别
单片机的两种型号。主要区别是容量不同。at89c51最多支持4KB的程序,at89c52则最多支持8KB的程序。 AT89C51简介: AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT
[单片机]
基于单片机的FPGA并行配置方法
在当今变化的市场环境中,产品是否便于现场升级、是否便于灵活使用,已成为产品能否进入市场的关键因素。在这种背景下,Altera公司的基于SRAM LUT结构的FPGA器件得到了广泛的应用。这类器件的配置数据存储在SRAM中。由于SRAM的掉电易失性,系统每次上电时,必须重新配置数据,只有在数据配置正确的情况下系统才能正常工作。这种器件的优点是可在线重新配置ICR(In-Circuit Reconfigurability),在线配置方式一般有两类:一是通过下载电费由计算机直接对其进行配置;二是通过微处理器对其进行配置。前者调试时非常方便 ,但在应用现场是很不现实的。因此,如果系统重新上电时,系统本身具有自动加载可编程逻辑器件的编程文件
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved