精品毕业论文--基于单片机的语音合成电话自动应答系统设计内容摘要:

是一个带通滤波器 , 通频带为 300~ 510Hz。 当信号频率落在 320~ 510Hz范围以内时,能从 IRQ端输出方波,否则 IRQ端为低电平。 电源电路设计 供电部分输入 220V、 50Hz 交流电,输出全机所需的两 种电压: +5V 和+3V。 7805 系列为 3 端 正稳压电路 ,TO220 封装,能 够 提供多种固定的输出电压,应用范围广。 内含过流、过热和过载保 护电路。 带散热片时,输出电流可达 1A。 虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。 5V, 3V 电源电路如图所示。 三端集成稳压电源性能优越,但是它的14 最低稳压电压为 5V,采用三个二极管降压,使 5V 的直流电变成约 3V。 图 28 5V电源电路 图 29 3V电源电路 15 第 3章 语音芯片 及录放音电路 语音芯片 ISD4004 ISD4004 芯片 本设计所使用的语音芯片 是 ISD4004。 用于对语音信号的录制存储和输出。 通过单片机的 I/O口对 ISD4004系列语音芯片进行录音、放音等控制,其结构简单、控制可靠、有较高的实用价值。 ISD4004系列工作电压为 3V。 单片录放时间 4至 8分钟 ,音质好 ,适用于移动电话及 他便携式电子产品中。 芯片采用 CMOS技术 ,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。 芯片设计是基于所有操作必须由微控制器控制 , 操作命令可通过串行通信接口(SPI/Microwire)送入。 芯片采用多电平直接模拟量存储技 术 , 每个采样值直接存贮在片内闪烁存贮器中 ,因此能够非常真实、自然地再现语音、音乐、音调和效果声 ,避免了一般固体录音电路因量化和压缩造成的量化噪声和 金属声。 采样频率可为、 、 、 , 频率越低 ,录放时间越长 ,而音质则有所下降 ,片内信息存于闪烁存贮器中 ,可在断电情况下保存 100年 (典型值 ),反复录音 10万次。 引脚说明 图 31 ISD4004 管脚图 16 电源 :(VCCA,VCCD) 为使噪声最小 ,芯片的模拟和数字电路使用不同的电源总线 , 并且分别引到外封装 的不同管脚上 ,模拟和数字电源端最好分别走线 ,尽可能在靠近供电端处相连 ,而去耦电容应尽量靠近器件。 地线 :(VSSA,VSSD) 芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入 (ANA IN+) 这是录音信号的同相输入端。 输入放大器可用单端或差分驱动。 单端输入时 ,信号由耦合电容输入 ,最大幅度为峰峰值 32mV,耦合电容和本端的 3KΩ 电阻输入阻抗决定了芯片频带的低端截止频率。 差分驱动时 ,信号最大幅度为峰峰值 16mV。 反相模拟输入 (ANA IN) 差分驱动时 ,这是录音信号的反相输入端。 信号通过耦合电容 输入 ,最大幅度为峰峰值 16mV 音频输出 (AUD OUT) 提供音频输出 ,可驱动 5KΩ 的负载。 片选 (SS) 此端为低 ,即向该 ISD4003 芯片发送指令,两条指令之间为高电平。 串行输入 (MOSI) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端 ,供 ISD 输入。 串行输出 (MISO) ISD 的串行输出端。 ISD 未选中时 ,本端呈高阻态。 串行时钟 (SCLK) ISD 的时钟输入端 ,由主控制器产生 ,用于同步 MOSI 和MISO 的数据传输。 数据在 SCLK 上升沿锁存到 ISD,在下降沿移出 ISD。 中断 (/INT) 本端为漏极开路输出。 ISD 在任何操作 (包括快进 )中检测到EOM 或 OVF 时 ,本端变低并保持。 中断状态在下一个 SPI 周期开始时清除。 中断状态也可用 RINT 指令读取。 OVF 标志 指示 ISD 的录、放操作已到达存储器的未尾。 EOM 标志 只在放音中检测到内部的 EOM 标志时 ,此状态位才置 1。 行地址时钟 (RAC) 漏极开路输出。 每个 RAC 周期表示 ISD 存储器的操作进行了一行 (ISD4003 系列中的存储器共产 1200 行, ISD4004 系列中的存贮器共 2400 行 )。 该信号 175ms 保持高电平 ,低电平为 25ms。 快进模式下 ,RAC17 的 s 是高电平 , s 为低电平。 该端可用于存储管理技术。 外部时钟 (XCLK) 本端内部有下拉元件。 芯片内部的采样时钟在出厂前已调校 ,误差在 +1%内。 商业级芯片在整个温度和电压范围内 , 频率变化在+%内。 工业级芯片在整个温度和电压范围内 ,频率变化在 6/+4%内 ,此时建议使用稳压电源。 若要求更高精度 ,可从本端输入外部时钟 (如附录所列 )。 由于内部的防混淆及平滑滤波器已设定 ,故上述推荐的时钟频率不应改变。 输入时钟的占空比无关紧要 ,因内部首先进行了 分频。 在不外接地时钟时 ,此端必须接地。 自动静噪 (AMCAP) 当录音信号电平下降到内部设定的某一阈值以下时 ,自动静噪功能使信号衰弱 ,这样有助于养活无信号 (静音 )时的噪声。 通常本端对地接 1mF 的电容 ,构成内部信号电平峰值检测电路的一部分。 检出的峰值电平与内部设定的阈值作比较 ,决定自动静噪功能的翻转点。 大信号时 ,自动静噪电路不衰减 ,静音时衰减 6dB。 1mF 的电容也影响自动静噪电路对信号幅度的响应速度。 本端接 VCCA 则禁止自动静噪。 ISD4004 内部存储信息管理机制 在本设计中, ISD4004 能够储存 4分钟的语音信息因此 能够存储若干条留言。 若干条信息按顺序分别录入到芯片内,比如称其为 4 信息。 需要知道每一时刻的录音信息在 ISD芯片存储器中所处的位置,这样有利于 实时地监控 ISD4004语音芯片工作的位置,从而能够知道所录的每段信息的开头和结尾的准确地址,便于我们对已录入的信息进行管理。 ISD4004内置了特殊的信息寻址机制,即行地址时钟 (以下简称 RAC)。 为了理解其工作原理,有必要先介绍器件的存储结构。 ISD4004的存储器分为 2400行。 对器件寻址,就是选 择一行,从行首开始录、放操作,而每行中的各列是不可寻址的。 每一行的所有操作都从第一列开始。 ISD4004每一行周期为 200ms 这就是器件的地址分辨率。 其中每行18 有 175ms的高电平, 25ms的低电平。 每个录放周期都从这 200ms的“语音存储块”的块首开始,如 下 图所示。 175ms 200ms 图 32 ISD4004周期 RAC在行末前 25ms变低,在恰好到达行末时变高 ,这就类似一个时钟,帮助你确定录放操作已到何处。 这个时钟相对于微控制器的速度来说较慢,上例为 200ms。 因此,微控制器很容易通过软件查询 RAC的方法来确定何时已到达行末。 但由于微处理器的查询速度相对于 RAC 时钟频率要快得多,所以,如果通过查询的方法检测 RAC 每个周期的低电平时,在上一次检测到 RAC 低电平时必须要经过一段延时才能再检测 RAC,这样检测到的低电平才是有效的 , 这段延时可以说是“假延时”。 延时的时间必须大于 RAC低电平的时间,而小于 RAC的周期。 可以利用一个计数器对 RAC引脚进行计数,并且通过 LED显示器实时地把计数器的值显示出来,这样我们不但可以知道录入的每段信息的开头和结尾的地 址,而且还可以知道每段信息之中特定内容的地址,从而可以建立地址表对信息 进行剪辑、合成等处理达到对语音信息特定的要求。 同样,在放音时 也可以实现对语音信息的准确放音。 只需把事先编辑好的语音信息的准确地址传送到 ISD4004的控制口就可以实现指定地址的放音。 如果需要的 话,还可以对 ISD4004的放音地址进行实时的监控,其方法与录音时类似。 ISD4004 录音电路设计 本系统中的语音芯片的输入采用了单端输入的方法, MIC采用小型驻极体麦克风。 由于麦克风的输出信号较小,为了达到语音输入信号要求,采用一个三极管电路来放大信号。 此电路用来把 主 人 不在家的留言信息(例如: ―您19 好 ,这 是 XX的自动留言机 ,主人不在家 ,请留言。 ‖) , 预先录入 ISD4004芯片中,以便需要时可以随时调用。 图 33 电话录音电路 要把电话线上的语音信号录制到 语音芯片 ISD4004中,通 过音频输入变压器把电话线上的语音信号耦合到 MIC输入端。 变压器是变换交流电压、电流和阻 抗的器件,当初级线圈中通有交流电流时,铁芯(或磁芯)中便产生交流磁通,使次级线圈中感应出电压(或电流)。 变压器由铁芯(或磁芯)和线圈组成,线圈有两个或两个以上的绕组, 其中接电源的绕组叫初级线圈,其余的绕组叫次级线圈。 ISD4004 放音电路设计 ISD4004内部功放驱动能力较低,外接一个 LM386 可驱动 W 的喇叭。 自动静噪端 AMCAP通过 1μ F电容接地, XCLK接地,使用内部时钟。 LM386是为低电压应用设计的音频功率放大器。 增益在内部设定到 20可使外部元件数少,在引脚 1 和 8 之间连接电阻和电容可使增益超过 200。 该集成电路适用于调幅 调频无线电放大器、便携式磁带重放设备、内部通信电路、电视音频系统、线性驱动器、超声波驱动器和功率变换电路。 把语音信号加载到电话线上, 由于话线中直流电压比较高,而且还有各 20 图 34 电话放音电路 种信号音,这些都会影响到语音信号加载到电话线上,因此此电路使用一个耦合变压器作为隔离器件。 AT89C51 与 ISD4004 的连接 从下图中可以看 到 89C51和 ISD4004之间的连接 原理图。 单片机的 、 ,控制 电话录音器 工作过程中是否放 录 音和放音内容; ISD4004的串行输出引脚 MISO; ISD4004的串行输入引脚 MSIO,从该引脚读入放音的地址; ISD4004的串行时钟引脚 SCLK和中断引 脚 /INT。 图 35 AT89C51与 ISD4004的连接 21 ISD4004 工作于 SPI 串行接口。 SPI 协议是一个同步串行数据传输协议 ,协议假定微控制器的 SPI 移位寄存器在 SCLK 的下降沿动作 ,因此对 ISD4004而言 ,在时钟上升沿锁存 MOSI 引脚的数据 ,在下降沿将数据送至 MISO 引脚。 协议的具体内容为: (1)所有串行数据传输开始于 SS 下降沿。 (2)SS 在传输期间必须保持为低电平 ,在两条指令之间则保持为高电平。 (3)数据在时钟上升沿移入 ,在下降沿移出。 (4)SS 变低 ,输入指令和地址后 ,ISD 才能开始录放操作。 (5)指令格式是 (5 位控制码 )加 (11 位地址码 )。 (6)ISD 的任何操作 (含快进 )如果遇到 EOM 或 OVF,则产生一个中断 ,该中断状态在下一个 SPI 周期 开始时被清除。 (7)使用 读 指令使中断状态位移出 ISD的 MISO引脚时 ,控制及地址数据也应同步从 MOSI 端移入。 因此要注意移入的数据是否与器件当前进行的操作兼容。 当然 ,也允许在一个 SPI 周期里 ,同时执行读状态和开始新的操作 (即新移入的数据与器件当前的操作可以不兼容 )。 (8)所有操作在运行位 (RUN)置 1 时开始 ,置 0 时结束。 (9)所有指令都在 SS 端上升沿开始执行。 用户不必知道信息的确切地址 ,就能快进跳过一条信息。 信息快进只用于放音模式。 放音速度是正常的 1600 倍 ,遇到 EOM 后停止 ,然后 内部地址计数器加 1,指向下条信息的开始处。 器件延时 TPUD(8kHz 采样时 ,约为 25ms)后才能开始操作。 因此 ,用户发完上电指令后 ,必须等待 TPUD,才能发出一条操作指令。 例如 ,从 00 从处发音 ,应遵循如下时序 : (1) 发 POWERUP 命令。 22 (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(存贮器末尾 )时 ,录音停止。 23 第 4章 软件设计。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。