基于ISD4004芯片的语音录放系统设计毕业设计论文.doc_第1页
基于ISD4004芯片的语音录放系统设计毕业设计论文.doc_第2页
基于ISD4004芯片的语音录放系统设计毕业设计论文.doc_第3页
基于ISD4004芯片的语音录放系统设计毕业设计论文.doc_第4页
基于ISD4004芯片的语音录放系统设计毕业设计论文.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ANYANG INSTITUTE OF TECHNOLOGY 本本 科科 毕毕 业业 论论 文文 基于 ISD4004 芯片的语音录放系统设计 The Design of Voice Recording and Playback System Based on ISD4004 系 院 名称 电子信息工程学院 专 业 班 级 11 届电子信息工程 学 生 姓 名 李昌 学 生 学 号 1107050017 指导教师姓名 xx 指导教师职称 讲师 2015 年 5 月 毕业设计 论文 原创性声明和使用授权说明毕业设计 论文 原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺 所呈交的毕业设计 论文 是我个人在指导教师的指 导下进行的研究工作及取得的成果 尽我所知 除文中特别加以标注和致谢 的地方外 不包含其他人或组织已经发表或公布过的研究成果 也不包含我 为获得安阳工学院及其它教育机构的学位或学历而使用过的材料 对本研究 提供过帮助和做出过贡献的个人或集体 均已在文中作了明确的说明并表示 了谢意 作 者 签 名 日 期 指导教师签名 日 期 使用授权说明使用授权说明 本人完全了解安阳工学院关于收集 保存 使用毕业设计 论文 的规 定 即 按照学校要求提交毕业设计 论文 的印刷本和电子版本 学校有 权保存毕业设计 论文 的印刷本和电子版 并提供目录检索与阅览服务 学校可以采用影印 缩印 数字化或其它复制手段保存论文 在不以赢利为 目的前提下 学校可以公布论文的部分或全部内容 作者签名 日 期 基于 ISD4004 芯片的语音录放系统设计 摘要摘要 用单片机控制语音芯片 再把单片机和语音芯片嵌入到通信设备 智能仪器 治安报警及儿童玩具中 就可做成语音播放的机器 本文介绍了基于 AT89C52 单片机及 ISD4004 语音板为主要部件的语音录放电路的工 作原理 硬件和软件的设计 ISD4004 系列工作电压 3V 单片录放时间 8 至 16 分钟 音质 好 适用于移动电话及其他便携式电子产品中 芯片设计是基于所有操作必须由微控制器 控制 操作命令可通过串行通信接口 SPI 送入 论文概述了语音录放电路的原理 并且在 介绍语音录放系统功能的基础上 提出了系统的总体构成 针对录放系统的录音 放音 部分的总体设计方案进行了论证 进一步介绍了单片机 AT89C52 应用在系统中的应用 分析了系统各部分的硬件及软件实现 本次设计目是完成一个简单方便 能可靠稳定工作的语音录放系统 该方案结构简 单 控制可靠 便于推广 关键词关键词 ISD4004 AT89C52 单片机 语音录放 The design of voice recording and playback system based on isd4004 Abstract With the single chip microcomputer control and then make the pronunciation chip microcontroller and pronunciation chip embedded in communication equipment intelligent instruments security alarm and children s toys so can make a speech broadcast machine This paper introduces ISD4004 based on AT89C52 single chip computer and of the main parts of speech plate as the working principle of voice recording circuit and the design of hardware and software ISD4004 series working voltage monolithic 3V recording time 8 to 16 minutes timbre suitable for mobile phones and other portable electronics Chip design is based on all the operation must by micro controller control operation orders through serial communication interface SPI into This paper summarizes the principle of voice recording circuit and introduces the function of speech on the basis of recording system puts forward the general structure of the system Recording system for the recording playback part of the overall design scheme is demonstrated This paper introduces microcontroller AT89C52 single applications in system the application system were analyzed each part of hardware and software realization This design is to complete a reliable and stable working voice recording circuit The design is simple in structure reliable control and facilitate promotion Keywords ISD4004 89C52microcontroller voice recording and playback 目 录 引 言 1 第 1 章绪论 2 1 1 系统设计的意义 2 1 2 系统设计的目的 2 1 3 系统采用的实现方法 3 第 2 章 单片机控制技术和开发环境介绍 4 2 1 89C52 单片机性能和引脚介绍 4 2 1 1 概述 4 2 1 2 AT89C52 主要性能参数 4 2 1 3 引脚功能说明 4 2 2 KEIL开发环境和建立工程 8 2 2 1 keil 简介 8 2 2 2 Keil 工程建立 8 2 3 ISD4004 介绍 11 2 3 1 性能简述和引脚图 11 2 3 2 引脚描述 11 2 4 SPI 串行外设接口 13 2 4 1 协议介绍 13 2 4 2 信息快进 14 2 4 3 上电顺序 14 2 4 4 SPI 端口的控制位 15 2 4 5 SPI 控制寄存器 16 2 4 6 时序 16 第 3 章 系统总体设计 18 3 1 硬件电路设计 18 I 3 1 1 硬件电路图 18 3 1 2 ISD4004 原理图 18 3 2 软件设计 19 3 2 1 语音芯片的内部信息寻址机制 19 3 2 2 监控 ISD4004 录音地址的实例 20 3 2 3 程序流程图 21 第 4 章 测试实例 23 4 1 测试内容 23 4 2 测试结果 23 4 3 基于 ISD4004 的家庭语音报警系统设计 23 4 3 1 语音录放模块设计 24 4 3 2 系统软件设计 25 4 4 基于 ISD4004 的红外遥控医院语音播报系统的设计 26 4 4 1 系统的硬件设计 26 4 4 2 系统原理电路设计 27 4 4 3 语音录放模块 28 结 论 29 致 谢 30 参考文献 31 0 引 言 语音 作为一种典型的非平稳随机信号 是人类交流信息最自然 最有效 最方便 的手段 在人类文明和社会进步中起着重要的作用 随着电子通信业的出现和计算机技 术的发展 人们开始可以从数字信号处理的角度了解语音 语音信号的研究可以从时域 和频域两个方面进行 其中时域的分析处理有两种方法 一是进行语音信号分析 这属 于小型处理的范畴 主要是通过信号的加减 时移 倍乘 卷积 求相关函数等来实现 另一种是生成和变换成各种调制信号 这属于非线性的范畴 主要是对信号平均累加器 的动态范围进行压缩扩张 用门限方法对噪声的抑制 对频域分析处理 即对信号的频 率特性在频谱中加以分析研究 这拓展了信号分析的范围 是对不确定信号分析的主要 方法 随着计算机技术处理和信息技术的发展 语音交互已经成为人机交互的必要手段 而语音信号的采集处理是人机交互的前提和基础 声卡是计算机对语音信息进行加工的 重要部件 它具有对信号滤波 放大 采样保持 A D 和 D A 转换等功能 语音信号处理作为一个重要的研究领域 已经有很长的研究历史 但是它的快速发 展可以说是从 1940 年前后 Dudley 的声码器和 Potter 等人的可见语音开始的 20 世纪 60 年代中期形成的一系列数字信号处理方法和技术 如数字滤波器 快速傅里叶变换等成 为语音信号数字处理的理论和技术基础 到了 80 年代 由于矢量量化 隐马尔克夫模型 和人工神经网络等相继被应用于语音信号处理 并经过不断改进与完善 使得语音信号 处理技术产生了突破性的进展 进入 90 年代以来 语音信号处理在实用化方面取得了许 多实质性的进展 一方面 对声音语音学统计模型的研究逐渐深入 鲁棒的语音识别 基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点 另一 方面 为了语音识别使用化的需要 讲着自适应 听觉模型 快速搜索识别算法以及进 一步的语言模型的研究等课题备受关注 1 第 1 章绪论 1 1 系统设计的意义 语音不仅是人与人之间进行信息交流最直接 最方便和最有效的工具 而且也是人与 机器之间进行通信的重要工具 1874 年电话的发展可以认为是现代处理的开端 电话的 理论基础是尽可能不失真地传送语音波形 这种 波形原则 几乎统治了其后整整一百 年 1939 年产生了一种概念全新的语音处理技术 这就是著名的通道声码器技术 声码 器的理论基础是认为语音是由人的声带振动产生的生源 载波 受到运动的声道的控制 调制 而产生的 因而将载波和调制两部分分开来进行传送便可极大地压缩频带 这 一概念已经包含着其后出现的语音参数模型的基本思想 40 年代后期 研制成功了能够 把语音信号的时变谱用语音表示出来的仪器 语音仪 为语音信号分析提供了一个有 力的工具 对于语音信号 数字处理比模拟处理具有更多的优点 这是因为 第一 数字技术 能够完成许多很复杂的信号处理工作 第二 通过语音进行交换的信息本质上具有离散 的性质 因为语音可以看成是因素的组合 这就特别适合于数字处理 第三 数字系统 具有高可靠性 价廉 紧凑 快速等特点 很容易完成实时处理任务 第四 数字语音 适合于在强干扰通信中传输 易于和数据一起在通信网中传输 也易于进行加密传输 因此数字语音信号处理是主要研究方向 无论是人与人之间还是人与计算机之间的语音通信 语音处理 特别是语音数字处 理的理论和技术 具有特别重要的作用 单片机的应用无处不在 利用单片机控制语音的录放也多不胜举 用单片机控制语音 芯片 再把单片机和语音芯片嵌入到通信设备 智能仪器 治安报警及儿童玩具中 就 可做成语音播放的机器 应用范围广泛 用单片机控制语音芯片设计语音录放系统 该系 统功能多 录放音音质好 外围电路简单 1 2 系统设计的目的 设计一个语音录放系统 可以应用于通讯设备 智能仪表 治安报亭 语音报站 报数报价 语音讲解 语音记录 语音复读 教学仪器 智能玩具 电子礼品等领域 要求放音质量好 用二极管显示工作状态 系统具有较强的抗干扰能力 便于安装和扩 2 展 1 3 系统采用的实现方法 设计硬件原理图 焊接语音模块 包括电压转换芯片 音频小功率放大器和 ISD4004 的连 接 编写软件程序 利用单片机控制技术 实现录 放 停等操作 3 第 2 章 单片机控制技术和开发环境介绍 2 1 89C52 单片机性能和引脚介绍 2 1 1 概述 AT89C52 是美国 ATMEL 公司生产的低电压 高性能 CMOS8 位单片机 片内含 8k bytes 的可反复擦写的只读程序存储器 PEROM 和 256 bytes 的随即存储数据存储 RAM 器 件采用 ATMEL 公司的高密度 非易失性存储技术生产 与标准 MCS 51 指令系统及 8052 产品引脚兼容 片内置通用 8 位中央处理器和 FLASH 存储单元 功能强大 AT89C52 单片 机适合与许多较为复杂控制应用场合 AT89C52 提供以下标准功能 8k 字节 FLASH 闪速存储器 256 字节内部 RAM 32 个 I O 口线 3 个 16 位定时 计数器 一个 6 向量两级中断结构 一个全双工串行通信口 片内震荡器及时钟电路 同时 AT89C52 可降至 OHZ 的静态逻辑操作 并支持两种软件可 选的节点工作模式 空闲方式停止 CPU 工作 但允许 RAM 定时 计数器 串行口及中断 系统继续工作 掉电方式保存 RAM 中的内容 但震荡器停止工作并禁止其他所有部件工 作直到下一个部件复位 2 1 2 AT89C52 主要性能参数 AT89C52 单片机与 MCS 51 产品指令和引脚兼容 内部含有 8K 字节可擦写 FALSH 闪存 1000 次擦写周期 同时具有全静态操作 OHZ 24MHZ 三级加密程序存储器 256 8 字 节内部 RAM 32 个可编程 I O 口线 3 个 15 位定时 计数器 8 个中断源 可编程串行 UART 通道的功能部件 2 1 3 引脚功能说明 引脚图如图 2 1 所示 4 图 2 1 AT89C52 单片机引脚图 功能说明如下 1 VCC 电源电压 2 GND 地 3 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用口 作为输出口用时 每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存储器或程序存储器时 这组口线分时转 换地址 低 8 位 和数据总线复用 在访问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校验时 要求外接上拉电阻 4 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可驱动 5 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端口 拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被 外部信号拉低时会输出一个电流 IIL 与 AT89C51 不同之处是 P1 0 和 P1 1 还可分 别作为定时 计数器 2 的外部计数输入 P1 0 T2 和输入 P1 1 T2EX 参见表 2 1 Flash 编程和程序校验期间 P1 接收低 8 位地址 表 2 1 P1 0 和 P1 1 的第二功能 引脚号功能特性 P1 0 T2 定时 计数器 2 外部计数脉冲输入 时钟输出 P1 1 T2EX 定时 计数 2 捕获 重装载触发和方向控制 5 P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲级可驱 动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口 P2 写 1 通过内部的上拉电阻 把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个 引脚被外部信号拉低时会输出一个电流 IIL 在访问外部程序存储器或 16 位地址的外 部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数据存储器 如执行 MOVX RI 指令 时 P2 口输出 P2 锁存器的内容 Flash 编程或校验时 P2 亦接收高位地址和一些控制信号 6 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲级可驱 动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上拉电 阻拉高并可作为输入端口 此时 被外部拉低的 P3 口将用上拉电阻输出电流 IIL P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 如表 2 2 所示 此外 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号 6 表 2 2 P3 口第二功能 7 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平将使单 片机复位 8 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存允许 输出 脉冲用于锁存地址的低 8 位字节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定 的脉冲信号 因此它可对外输出时钟或用于定时目的 要注意的是 每当访问外部数据 存储器时将跳过一个 ALE 脉冲 对 Flash 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该 引脚会被微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 9 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁 存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器中的指令 Flash 存储器编程时 该引脚加上 12V 的编程允许电源 Vpp 当然这必须是该器件是使 用 12V 编程电压 Vpp XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 XTAL2 振荡器反相放大器的输出端 7 2 2 keil开发环境和建立工程 2 2 1 keil 简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显的优势 因而易学易 用 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具 全Windows 界面 另外重要的一点 只要看一下编译后生成的汇编代码 就能体会到Keil C51 生成的目标代码效率非常之高 多数语句生成的汇编代码很紧凑 容易理解 2 2 2 Keil 工程建立 启动 uVison3 点击 File New 在工程管理器的右侧打开一个新的文件输入窗口 在这个窗口里输入一个源程序 注意大小写及每行后的分号 不要错输及漏输 输入完毕之后 选择 File Save 给这个文件取名保存 取名字的时候必须要加上扩 展名 一般 C 语言程序均以 C 为扩展名 这里将其命名为 fgf c 保存完毕后可以将该 文件关闭 Keil 不能直接对单个的 C 语言源程序进行处理 还必须选择单片机型号 确 定编译 汇编 连接的参数 指定调试的方式 而且一些项目中往往有多个文件 为管 理和使用方便 Keil 使用工程 Project 这一概念 将这些参数设置和所需的所有文件都 加在一个工程中 只能对工程而不能对单一的源程序进行编译和连接等操作 点击 Project New Project 菜单 出现对话框 要求给将要建立的工程起一个名字 这里起名为 fgf 不需要输入扩展名 点击 保存 按钮 出现第二个对话框 如图 2 2 所 示 这个对话框要求选择目标 CPU 即你所用芯片的型号 Keil 支持的 CPU 很多 这 里选择 Atmel 公司的 89S52 芯片 点击 ATMEL 前面的 号 展开该层 点击其中的 89S52 然后再点击 确定 按钮 回到主窗口 此时 在工程窗口的文件页中 出现了 Target 1 前面有 号 点击 号展开 可以看到下一层的 Source Group1 这时的 工程还是一个空的工程 里面什么文件也没有 需要手动把刚才编写好的源程序加入 点击 Source Group1 使其反白显示 然后 点击鼠标右键 出现一个下拉菜单 如图 2 3 所示 选中其中的 Add file to Group Source Group1 出现一个对话框 要求寻找源文件 8 图 2 2 选择单片机型号 图 2 3 加入文件 双击 fgf c 文件 将文件加入项目 注意 在文件加入项目后 该对话框并不消失 等待继续加入其它文件 但初学时常会误认为操作没有成功而再次双击同一文件 这时 会出现如图 2 4 所示的对话框 提示你所选文件已在列表中 此时应点击 确定 返回前 一对话框 然后点击 Close 即可返回主接口 返回后 点击 Source Group 1 前的加号 fgf c 文件已在其中 双击文件名 即打开该源程序 9 图 2 4 重复加入源程序得到的提示 10 2 3 ISD4004 介绍 2 3 1 性能简述和引脚图 ISD4004 系列工作电压 3V 单片录放时间 8 至 16 分钟 音质好 适用于移动电话及其他 便携式电子产 品中 芯片采用 CMOS 技术 内含振荡器 防混淆滤波器 平滑滤波器 音频放大器 自动静噪及高密 度多电平闪烁存贮陈列 芯片设计是基于所有操作必须由 微控制器控制 操作命令可通过串行通信接口 SPI 送入 芯片采用多电平直接模拟量存储 技术 每个采样值直接存贮在片内闪烁存贮器 中 因此能够非常真实 自然地再现语音 音乐 音调和效果声 避免了一般固体录音电路因量化和压缩 造成的量化噪声和 金属声 采样频率可为 4 0 5 3 6 4 8 0kHz 频率越低 录放时间越长 而音质则有所下 降 片内信息 存于闪烁存贮器中 可在断电情况下保存 100 年 典型值 反复录音 10 万次 图 2 5 ISD4004 引脚图 2 3 2 引脚描述 1 电源 VCCA VCCD 为使噪声最小 芯片的模拟和数字电路使用不同的电源总线 并且分别引到外封装的 不同管脚上 模拟和数字电源端最好分别走线 尽可能在靠近供电 端处相连 而去耦电容应尽量靠近器件 11 2 地线 VSSA VSSD 芯片内部的模拟和数字电路也使用不同的地线 3 同相模拟输入 ANA IN 这是录音信号的同相输入端 输入放大器可用单端或 差分驱动 单端输入时 信号由耦合电容输入 最大幅度为峰峰值 32mV 耦合电容和本端 的 3K 电阻输入阻抗决定了芯片频带的 低端截止频率 差分驱动时 信号最大幅度为峰 峰值 16mV 为 ISD33000 系列相同 4 反相模拟输入 ANA IN 差分驱动时 这是录音信号的反相输入端 信号通过耦 合电容输入 最大幅度为 峰峰值 16mV音频输出 AUD OUT 提供音频输出 可驱动 5K 的负载 5 片选 SS 此端为低 即向该 ISD4004 芯片发送指令 两条指令之间为高电平 6 串行输入 MOSI 此端为串行输入端 主控制器应在串行时钟上升沿之前半个周 期将数据放到本端 供ISD输入 7 串行输出 MISO ISD 的串行输出端 ISD 未选中时 本端呈高阻态 8 串行时钟 SCLK ISD 的时钟输入端 由主控制器产生 用于同步 MOSI 和 MISO 的数据传输 数据在 SCLK上升沿锁存到 ISD 在下降沿移出 ISD 9 中断 INT 本端为漏极开路输出 ISD 在任何操作 包括快进 中检测到 EOM 或 OVF 时 本端变低并保 持 中断状态在下一个 SPI 周期开始时清除 中断状态也可 用 RINT 指令读取 OVF 标志 指示 ISD 的录 放操作已到达存储器的未尾 EOM 标 志 只在放音中检测到内部的 EOM 标志时 此状态位才置1 10 行地址时钟 RAC 漏极开路输出 每个 RAC 周期表示 ISD 存储器的操作进行 了一行 ISD4004 系列中的 存贮器共 2400 行 该信号 175ms 保持高电平 低电平为 25ms 快进模式下 RAC 的 218 75 s 是高电 平 31 25 s 为低电平 图2 6 时序 11 外部时钟 XCLK 本端内部有下拉元件 芯片内部的采样时钟在出厂前已调校 误差在 1 内 商业级 芯片在整个温度和电压范围内 频率变化在 2 25 内 工业级芯 12 片在整个温度和电压范围内 频率变化 在 6 4 内 此时建议使用稳压电源 若要求更高 精度 可从本端输入外部时钟 如前表所列 由于内部 的防混淆及平滑滤波器已设定 故 上述推荐的时钟频率不应改变 输入时钟的占空比无关紧要 因内部首 先进行了分频 在不外接地时钟时 此端必须接地 12 自动静噪 AMCAP 当录音信号电平下降到内部设定的某一阈值以下时 自动静噪 功能使信号衰弱 这样有 助于养活无信号 静音 时的噪声 通常本端对地接 1mF 的电容 构 成内部信号电平峰值检测电路的一部 分 检出的峰值电平与内部设定的阈值作比较 决 定自动静噪功能的翻转点 大信号时 自动静噪电路不 衰减 静音时衰减 6dB 1mF 的电 容也影响自动静噪电路对信号幅度的响应速度 本端接 VCCA 则禁止自动静噪 2 4 SPI 串行外设接口 2 4 1 协议介绍 ISD4004 工作于 SPI 串行接口 SPI 协议是一个同步串行数据传输协议 协议假定微控 制器的 SPI 移 位寄存器在SCLK 的下降沿动作 因此对ISD4004 而言 在时钟止升沿锁存 MOSI 引脚的数据 在下降沿将数据送至 MISO 引脚 协议的具体内容为 1 所有串行数据传输开始于 SS 下降沿 2 SS 在传输期间必须保持为低电平 在两条指令之间则保持为高电平 3 数据在时钟上升沿移入 在下降沿移出 4 SS 变低 输入指令和地址后 ISD 才能开始录放操作 5 指令格式是 8 位控制码 加 16 位地址码 6 ISD 的任何操作 含快进 如果遇到 EOM 或 OVF 则产生一个中断 该中断状态在下 一个 SPI 周期开始时被清除 7 使用 读 指令使中断状态位移出 ISD 的 MISO 引脚时 控制及地址数据也应同步从 MOSI 端移入 因此要注意移入的数据是否与器件当前进行的操作兼容 当然 也允许在 一个 SPI 周期里 同时执行读状 态和开始新的操作 即新移入的数据与器件当前的操作可 以不兼容 8 所有操作在运行位 RUN 置 1 时开始 置 0 时结束 9 所有指令都在 SS 端上升沿开始执行 13 2 4 2 信息快进 用户不必知道信息的确切地址 就能快进跳过一条信息 信息快进只用于放音模式 放音速度是正常的 1600 倍 遇到 EOM 后停止 然后内部地址计数器加 1 指向下条信息的开 始处 2 4 3 上电顺序 器件延时 TPUD 8kHz 采样时 约为 25 毫秒 后才能开始操作 因此 用户发完上电指 令后 必须等待TPUD 才能发出一条操作指令 参见表2 3 例如 从 00 从处发音 应遵循如下时序 1发 POWERUP 命令 2等待 TPUD 上电延时 3 发地址值为 00 的 SETPLAY 命令 4 发 PLAY 命令 器件会从此 00 地址开始放音 当出现 EOM 时 立即中断 停止放音 如果从 00 处录音 则按以下时序 1 发 POWER UP 命令 2 等待 TPUD 上电延时 3 发 POWER UP 命令 4 等待 2 倍 TPUD 5 发地址值为 00 的 SETREC 命令 6 发 REC 命令 器件便从 00 地址开始录音 一直到出现 OVF 存贮器末尾 时 录音停 止 表2 3 指令表 指令8 位控制码操作摘要 POWERUP00100XXX上电 等待TPUD后器件可以工作 14 SET PLAY11100XXX 从指定地址开始放音 后跟 PLAY 指令可使 放音继续进行下去 PLAY 11110XXX 从当前地址开始放音 直至 EOM 或 OVF SET REC10100XXX 从指定地址开始录音 后跟 REC 指令可使录 音继续进行下去 REC 10110XXX 从当前地址开始录音 直至 OVF 或停止 SET MC11101XXX 从指定地址开始快进 后跟 MC 指令可使快 进继续进行下去 MC 11111XXX 执行快进 直到 EOM 若再无信息 则进入 OVF 状态 STOP 0X110XXX 停止当前操作 STOP WRDN 0X01XXXX 停止当前操作并掉电 RINT 0X110XXX 读状态 OVF 和 EOM 注 快进只能在放音操作开始时选择 2 4 4 SPI 端口的控制位 SPI 端口有两个硬件控制位 MISO 和 MOSI SPI 控制寄存器控制放 录 信息检索 上电 掉电 启动和停止 忽视地址指示等功能 详见图 2 4 图2 4 各端口功能 2 4 5 SPI 控制寄存器 SPI控制寄存器控制器件的每个功能 如录放 录音 信息检索 快进 上电 掉电 开始和停止操 作 忽略地址指针等 详见表2 5 15 表2 5 控制器功能 位值功能位值功能 RUN 1 0 允许 禁止操作 开始 停止 PU 1 0 电源控制 上电 掉电 P R 1 0 录 放模式 放音 录音 IAB 1 0 操作是否使用指令地址 忽略输入地址寄存的内容 使用输入地址寄存的内容 MC 1 0 快进模式 允许快进 禁止 P15 P0 A15 A0 行指针寄存器输出 输入地址寄存器 注 IAB 置 0 时 录 放操作从 A9 A0 地址开始 为了能连贯地录 放到后续的存储 空间 在操作到达该 行末之前 应发出第二个 SPI 指令将 IAB 置 1 否则器件在同一地址上 反复循环 这个特点对语音提 示功能很有用 RAC 脚和 IAB 位可用于信息管理 SPI 端口简单框图如下 图 2 7 SPI 端口 2 4 6 时序 SPI 总线协议是一个环形总线结构 由 ss cs sck sdi sdo 构成 其时序主要是在 sck 的控制下 两个双向移位寄存器进行数据交换 假设下面的8位寄存器装的是待发送 的数据10101010 上升沿发送 下降沿接收 高位先发送 那么第一个上升沿来的时候 数据将会是 sdo 1 寄存器 0101010 x 下降沿到来的时候 sdi 上的电平将所存到寄存器 中去 那么这时寄存器 0101010sdi 这样在8个时钟脉冲以后 两个寄存器的内容互相交 换一次 这样就完成里一个 spi 时序 16 表2 6 SPI 时序参数 SymbolParametersMinTypMaxUnits TSSS SS Setup Time500nsec TSSH SS Hold Time500nsec TDISData in Setup Time200nsec TDIHData in Hold Time200nsec TPDOutput Delay500nsec TDFOutput Delay to Hiz500nsec TSSmin SS HIGH1 sec TSCKhiSCLK High Time400nsec TSCKlowSCLK Low Time400nsec F0CLK Frequency 1000kHz 17 第 3 章系统总体设计 3 1 硬件电路设计 本文的语音录放系统所采用的是录放时间为八至十六分钟的ISD4004 语音芯片 该 语音录放电路主要由单片机AT89C51 ISD4004 构成 本系统可以主要分为三部分单片 机控制部分 录音部分和放音部分 控制部分则主要由单片机AT89C51 构成 包含必要的按键电路 复位电路和指示电 路等外围电路 3 1 1 硬件电路图 本文讨论的主要由单片机89C52 和ISD4004 构成 该系统的硬件电路连接如图1 所示 本系统可以主要分为三部分 单片机控制部分 录音部分 放音部分 控制部分则主要由单片机89C52 构成 包含必要的按键电路 复位 电路和看门狗电 路等外围电路 放音部分主要由ISD4004 构成 包含配套的变压 电路 功放电路等 图3 1 硬件连接图 3 1 2 ISD4004 原理图 ISD4004 开发板是由 ISD4004 芯片 LM386 低压音频小功率放大器和 AMS1117 电压 转换芯片焊接而成 其连接如图 3 2 所示 18 图3 2 ISD4004原理图 3 2 软件设计 3 2 1 语音芯片的内部信息寻址机制 ISD4004语音芯片具有能够准确控制语音录放地址的功能 这种功能使我们能够 方便灵活地对语音信 息进行处理以达到我们对语音信息的要求 例如 我们可以利 用软件编程的方法实现对语音信息的剪辑 合成等操作来达到我们对语音信息特殊的 要求 还有 我们可以通过程序控制做到语音的定时放音和循 环 放音 若干条信息按 顺序分别录入到芯片内 比如称其为a b c d信息 我们需要知道每一时刻的录音信息 在芯 片存储器中所处的位置 这样有利于我们实时地监 控ISD4004语音芯片工作的位置 从 而能够知道所录的每段信息的开头和结尾的准确地址 便于我们对已录入的信息进行 管理 下面以ISD4004 8MP 为例来说明如何利用硬件结构寻址 ISD4004 8MP 内置了特殊的信息寻址机制 即行地址时钟 以下简称RAC 为了理 19 解其工作原理 有必要先介绍器件的存储结构 ISD4004的存储器分为2400行 对器件寻址 就是选择一行 从行首开始录 放操作 而每行中的各列是不可寻址的 每一行的所有操作都从第一列开始 ISD4004 8MP 每一 行周期为200ms 这就是器件的地址分辨率 其中每行有175ms的高电平 25ms的低电平 每个录放周期都从这200ms的 语音存储块 的块首开始 如图3 21 所示 还以ISD4004 8MP为例 RAC在行末前25ms变低 在恰好到达行末时变高 这就类似一个时钟 帮助 你确定录放操作已到何处 这个时钟相对于微控制 器的速度来说较慢 上例为200ms 因此 微控制器 很容易通过软件查询RAC的方法来确定何时已到达 图3 3 录放时序 行末 但由于微处理器的查询速度相对于RAC时钟频率要快得多 所以 如果通过查询的 方法检测RAC 每个周期的低电平时 在上一次检测到RAC低电平时必须要经过一段延时 才能再检测RAC 这样检测到的低电平才是有效的 这段延时可以说是 假延时 延时 的时间必须大于RAC低电平的时间 而小于RAC的周期 我们可以利用一个计数器对RAC引脚进行计数 并且通过LED显示器实时地把计数 器的值显示出来 这样我们不但可以知道录入的每段信息的开头和结尾的地址 而且还 可以知道每段信息之中特定内容的地址 从而可以建立地址表对信息进行剪辑 合成等 处理达到对语音信息特定的要求 同样 在放音时我们也可以实现对语音信息的准确放音 只需把事先编辑好的语音 信息的准确地址传送到ISD4004的控制口就可以实现指定地址的放音 如果需要的话 我 们还可以对ISD4004的放音地址进行实时的监控 其方法与录音时类似 3 2 2 监控 ISD4004 录音地址的实例 我们可以用ST89C51来检测ISD4004的RAC引脚来实现录音地址的监控 如图3 4所 示 当AN键按下时则开始录音 放开则停止录音 可检测INT引脚看ISD芯片是否到末 R2R3为地址计数器 20 图 3 4 硬件原理图 3 2 3 程序流程图 电路上电后 程序首先完成程序的初始化 随后查询按键状态 进入系统待机状态 如果有按键按下 则转去执行该按键指向的工作程序 按键包括录音键看 放音键 21 图 3 5 程序流程图 22 第第 4 章章 测试实例测试实例 4 1 测试内容 本次测试将应用程序下载到 89C52 单片机中 然后用杜邦线连接 ISD4004 开发板 进行 功能测试 表 4 1 功能测试表 测试点内容说明 1 录音功能是否实现当按下 P3 5 键时 从指定地址开始录 音 2 放音功能是否实现当按下 P3 6 键时 从指定地址开始放 音 3 停止按键是否正常当按下 P3 7 键时 停止当前的操作 4 2 测试结果 测试 1 当按下 P3 5 键时 从 0XA0 地址开始录音 运行结果与预期相同 测试 2 当按下 P3 6 键时 从 0XE0 地址开始放音 能够回放录音内容 测试 3 若录音时按下 P3 7 键 则能停止录音功能 若放音时按下 P3 7 键 能够停止放音功能 4 3 基于 ISD4004 的家庭语音报警系统设计 现代家庭的防盗方式主要以安装防盗门 防盗锁为主 但是这类设备主要是以增加 盗贼入室的难度来达到防盗目的的 这种单纯的机械装置 在较长时间无人在场的情况下 防盗效果往往不尽如人意 所以人们需要有新的防盗系统作为补充 市场上的不少门禁系统虽说性能优良 保险系 数较高 但是由于其高昂的价格让一般的家庭感到难以接受 不少系统是在门窗被破坏 23 非法人员入侵后才报警 且安装这些防盗设备会对原有的门窗有较大破坏性 在有警情 发生时这些报警系统会通知主人或报警中心 但是他们的响应都需要一定的时间 很有 可能在他们的响应时间内不法分子已经完成了偷盗行为 所以 安防的最好方法是在不 法分子有入侵企图时就通过给出语音警告 增加其心理压力 使其主动离开 在这种方 法失效的情况下 可以记录入侵时间 进行现场录音 然后通过电话或其他方式通知主 人或报警中心 本系统主要由报警子系统和语音服务子系统两大部分组成 如图 4 1 所示 其中报警 子系统采用热释电红外传感器作为报警信号采集装置 AT89S51 单片机作为主控制器 语音芯片 ISD4004 作为报警和语音服务执行装置 键盘和数码管作为人机接口 图 4 1 系统整体结构框图 系统工作时 热释电红外传感器对警戒区的红外信号不断地进行采集 当在警戒范 围内出现人体时 信号处理电路向单片机输出高电平 由于不法分子一般在门外待的时 间相对较长 因此使用者结合自己家庭所处环境及人流情况 通过键盘设置最佳的报警 响应时间 以便对他们进行区分 设置完毕后 单片机将根据报警响应时间对经信号处 理电路处理过的数字信号进行采集处理 判断是否启动报警 若启动报警 则通过控制 已存有报警内容的语音芯片对不法分子进行语音警告 然后重复播放若干次语音报警内 容以警醒主人或周围的人 接着对现场进行录音 记录报警时间 同时在数码管上显示 报警次数 并可以通过相应按键查询报警时间 便于破案 4 3 1 语音录放模块设计 语音录放模块的硬件电路如图 4 2 所示 MKl 为麦克风 用于录入语音 可完成普通 的现场录音 在放音电路中 输出端选用低电压通用集成功率放大器 LM386M 一 1 的典型 应用电路作为扬声器 LSl 的驱动电路 该典型电路中 LM386M 一 1 的 1 脚和 8 脚间外接 10uF 的旁路电容 可以使电路的放大倍数提高 200 倍 ISD4004 的工作电压是 3V 可以 24 通过变压电路将 5V 电压转变为 3 V 图 4 2 语音录放模块硬件电路 4 3 2 系统软件设计 基于上述硬件原理图和相关分析 软件部分的主要任务是完成对热释电红外传感模 块传出的数字信号 V0 的处理 语音服务的软件实现以及适时的语音录放 软件流程如图 4 3 25 图 4 3 系统流程图 4 4 基于 ISD4004 的红外遥控医院语音播报系统的设计 随着医院现代化 智能化的推进 靠人工咨询挂号 了解专家 药品报价 科室介 绍 疾病预防传达等已经不能适应医院信息化建设的需求 本文以单片机和 ISD 语音芯 片为核心 设计了一种医院语音服务系统 实现了医院语音服务的智能化和自动化 它 可以提供信息发布功能 医院介绍 医院背景 医学力量 科室情况等 医生介绍 科室 医生 知名专家 药品介绍 就医流程介绍 保健常识疾病防知识的传达以及对特殊情 况进行广播 以适应各种服务要求 减轻了患者的精神压力 4 4 1 系统的硬件设计 本研究采用 ATMEL 公司的 AT89S52 单片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论