




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
燕山大学本科毕业(设计)论文:电梯语音自动播放系统的设计与实现电梯语音自动播放系统的设计与实现学号:00042125 姓名:王 杰 峰燕山大学信息科学与工程学院 电子信息工程00级摘要当今社会,在工业以及民用系统中,越来越要求系统的智能化,人性化。随着高楼大厦的逐渐增多,电梯的使用已经相当普遍,在电梯的人机接口设备中,语音设备也开始有所应用。相对于传统的按键和LED显示,语音设备的使用为用户提供了更多的便利。本文阐述了一种用单片机控制,用ISD2560语音芯片来实现语音存储与播放的电梯语音自动播放报站系统的原理及其软硬件实现。在其中还涉及到了新式铁电存储器的应用,并对ATMEL公司的MCU AT89S52的看门狗的使用作了详细的介绍。在本文的最后,还对系统在电梯设备中的应用,系统的改进作了一些探讨。关键词:语音报站;微机控制;ISD2560;电梯;I2C;FM24C64The Designation of Lift Speech Auto-play System and Its ImplementionStudent No: 00042125 Name: Wang Jie FengYanshan University, Information Science & Engineering CollegeElectronic Information Engineering, Grade: 2000abstractIn the morden society,people ask for more and more intelligentize and humanistic system.With the development of building,the use of lift is very popular,and people began to use voice device in the interface between human and machine.To traditional key and LED display device, voice deice is more convenient.This article introduces a automatic lay-reporter system designed for lift witch is based on single-chip to realize voice saving and broadcasting with voice-chip ISD2560. Also,involves the application of new style electro-iron memorizer, the introduction of watchdog in the AT89C51 produced by ATMEL Inc.Finally, there are some discussion based on the application and betterment of the system .Keywords: Voice Reporter;Microcomputer Control;ISD2560;lift; I2C;FM24C64目录1 绪论12 总体设计22.1 设计概述22.2 器件选用22.2.1 语音芯片22.2.2 存储器件52.2.3 电源监测芯片62.2.4 显示电路62.2.5 控制芯片63 硬件设计83.1 层站信号的采集83.2 语音芯片与单片机的接口设计93.3 存储器与单片机的接口设计93.4 显示模块与单片机的接口设计103.5 其它硬件部分的设计104 软件设计114.1 系统操作说明114.2 软件总流程设计114.3 对存储器的读写114.4 对串行显示模块的操作184.5 对语音芯片的操作184.6 硬件看门狗的使用:255 结论285.1设计中遇到的问题及解决办法285.2系统的改进28参考文献30谢辞3131信息科学与工程学院电子信息工程专业1 绪论近年来,随着科学技术的发展,微型计算机技术日益发展,已经在许多领域得到了广泛的应用。在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得语音报时、报站、报警的实现成为可能,使得人们能够得到更加人性化的服务。电梯是高层建筑的重要机电设备,随着电梯使用范围的不断扩大,人们对电梯操作的智能化要求也不断提高。现代化智能大厦不仅要求电梯能够安全平稳地将乘客送达目的地,而且也能够预报层站、插播宣传语及进行特定层站说明、特定情况提示,如“欢迎您光临酒店”、“请不要倚靠轿门“等等。目前大部分电梯厂家生产的电梯都未配置语音报站系统,因此,开发一种适合于各种型号电梯的、可随意录制、自动播放的多功能电梯自动语音报站系统是十分必要的。 在目前市场上,有许多关于语音报站报时以及进行语音提示的设备,本文参考这些系统,并针对课题设计的要求,以功能强大的单片机AT89S52为核心,用ISD2560来实现语音播放、存储,设计出了适合于各种电梯设备的多功能语音报站系统。2 总体设计2.1 设计概述本系统主要实现语音的分段录取和随机组合放音功能,通过与电梯系统控制设备的接口,来实现电梯的自动语音报站。系统总的设计思想为:用语音芯片来实现语音段的录放,用外部数据存储器来实现语音段地址的存储,用单片机来将各语音段按所需顺序组合,控制语音芯片播放,来实现本系统功能。语音芯片MCU AT89S52存储器电源监测 电路录放音控制按键显示电路图2。1 系统硬件电路框图2.2 器件选用2.2.1 语音芯片一般的语音芯片为固态数字化声音压缩存储形式,工作方式为,声音一模拟量一AD一存储一DA一模拟量一播放,这种方式的语音芯片外围电路复杂,对声音质量有一定的失真。美国ISD(Information Storage Device)公司的ISD系列芯片采用直接模拟存储专利技术,把语音信号以原始的模拟形式直接存储在片内EEPROM存储器中,无需进行A/D转换和压缩处理等,因而能较好地保留模拟量中的有效成份,从而减少了失真,而且音质好,大大提高了录放音质量,并且掉电不丢失,能随意更改内容和耗电省等优点。ISD2560是ISD系列单片语音录放集成电路的一种,是永久记忆型录放语音电路,录音时间为60s,可重复录放达10万次。它集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和容量为480K字节的片内EEPROM等。其内部EEPROM可均匀分为600行,因而具有600个地址单元,每个地址单元指向其中一行,每一个地址单元分辨率为100ms。ISD的控制电平与TTL兼容,接口简单,使用方便。ISD 器件的DIP封装为DIP-28,各引脚功能如下:图2。2 ISD2560引脚图电源(VCCA,VCCD)芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,这样可使干扰最小。模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近芯片。地线(VSSA,VSSD)芯片内部的模拟和数字也可使用不同的地线,这两脚最好在引脚焊盘上相连。节电控制(PD)本端拉高使芯片停止工作,进入不耗电的节电状态。芯片发生溢出,即/OVF端输出低电平后,要将本端短暂变高复位芯片,才能使之再次工作。片选(/CE)本端变低后(而且PD为低),允许进行录放操作。芯片在本端的下降沿锁存地址线和P/-R端的状态。录放模式(P/-R)本端状态在/CE的下降沿锁存。高电平选择放音,低电平选择录音。录音时,由地址端提供起始地址,录音持续到/CE或PD变高,或内存溢出;如果是前一种情况,芯片自动在录音结束处写入EOM标志。放音时由地址端提供起始地址,放音持续到EOM标志。如果/CE一直为低,或芯片工作在某些操作模式,放音会忽略EOM,继续进行下去。信息结尾标志(/EOM) EOM标志在录音时由芯片自动插入到该信息的结尾。放音遇到EOM时,本端输出低电平脉冲。芯片内部会检测电源电压以维护信息的完整性,当电压低于3.5V时,本端变低,芯片只能放音。溢出标志(/OVF)芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随/CE端的状态,直到PD端变高。本端可用于级联。话筒输入(MIC)本端连至片内前置放大器。片内自动增溢控制电路(AGC)将置增益控制在-15至24dB。外接话筒应通过串联电容耦合到本端。耦合电容值和本端的10K输入阻抗决定了芯片频带的低频截止点。话筒参考(MIC REF)本端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。自动增益控制(AGC) AGC动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持最小。响应时间取决于本端的5K输入阻抗外接的对地电容(即线路图中C2)的时间常数。释放是境取决于本端外接的并联对地电容和电阻(即线路图中R2和C2)的时间常数。470K和4.7uF的标称值在绝大多数场合下可获得满意的效果。模拟输出(ANA OUT) 前置放大器的输出。前置电压增益取决于AGC端电平。模拟输入(ANA IN ) 本端为芯片录音信号输出。对话筒输入来说ANA OUT端应通过外接电容连至本端。该电容和本端的3K输入阻抗给出了芯片频带的附加低端截止频率。其它音源可通过交流耦合直接连至本端(绕过了TER的前置)。喇叭输出(SP+、SP-)这对输出端级驱动16以上的喇叭(内存放音时功率为12.2mW,AUX IN 放音时功率为50mW)。单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又不能将功率提高至4倍。录音和节电模式下,它们保持为低电平。多个芯片的喇叭输出端不能并联,否则可能损坏芯片。不用的喇叭输出端不能接地。辅助输入(AUX IN) 当/CE和P/-R为高,放音不进行,或处入放音溢出状态时,本端的输入信号过内部功放驱动喇叭输出端。当多个2500芯片级联时,后级的喇叭输出通过本端连接到本级的输出放大器,为防止噪声,建议在放内存信息时,本端不要有驱动信号。外部时钟(XCLK)本端内部有下拉元件,不用时应接地。芯片内部的采样时钟在出厂前已调节器校,误差地+1%内.商业级芯片在整个温度和电压范围内,频率变化在+2.25%内.工业级芯片在整个温度和电压范围内,频率变化在+5%内,建议使用稳压电源。若要求更高精度或系统同步,可从本端输入外部时钟。输入时钟的占空比无关紧要,因内部首先了进行分频。地址/模式输入(AX/MX)地址端有两个作用,取决于最高两位(MSB,即2532/2548的A7和A8,或2560/2590/25120的A8和A9)的状态。当最高两位中有一个为0时,所有输入均解释为地址位,作为当前录入操作的起始地址。地址端只做输入,不输出操作过程中的内部地址信息。地址在/CE的下降沿锁存。2.2.2 存储器件数据存储器件选用美国Ramtron国际公司的铁电存储器(Fram)FM24C64。FM24C64是用先进的铁电技术制造的64K位的非易失性的记忆体,铁电随机性存储器FRAM是一种具有非易失性,并且可以像RAM一样快速读写,数据在掉电时可以保存10年,且比EEPROM或其他非易失性存储器可靠性更高,系统更简单。图2。3 FM24C64引脚图FM24C64通过I2C总线与单片机接口,总线速度可以达到1MHZ,数据送到FM24C64直接写到具体的单元地址,下一个操作可以立即执行,无延时,所以,铁电存储器比EEPROM写的速度快的多。在硬件上,FM24C64可以直接替换串行EEPROM。在有噪声的环境下写数据,对于EEPROM来说,由于写入时间要几个毫秒,太容易受干扰,而FRAM写的速度非常快,噪声和电源波动来不及干扰。另外,FM24C64的两线接口可以占用单片机较少的IO口。2.2.3 电源监测芯片 对于一个要求正常工作的系统,为了防止由于电源波动而产生误操作,电源监测是非常重要的。本系统的电源监测芯片采用IMP812L,它的复位电压为4.63V,当系统电压低于4.63V时,IMP812L的RESET引脚发出140ms的高电平:复位信号,将单片机复位,从而避免系统误操作。IMP812L还有一手动复位引脚MR,在实际应用中,可以在电梯回到底层时,通过硬件使MR作用,将单片机复位,这样,在电梯每运行到底层一次,都将语音电路复位一次,可以极大地提高系统的可靠性。2.2.4 显示电路本系统的显示电路采用太阳人公司的SMS0408段码式液晶显示模块。该液晶模块工作时只需向其提供+5V电源,单片机通过两线串行接口将楼层信号送往该模块进行显示。2.2.5 控制芯片本系统的控制芯片采用ATMEL 公司的AT89S52。ATMEL公司新推出的可在系统编程的MCS51兼容单片机AT89S51/52将全面替代AT89C51/52单片机。AT89S系列单片机有以下特点:兼容MCS51微控制器 4/8K字节FLASH存贮器支持在系统编程ISP 1000次擦写周期128/256字节片内RAM 工作电压4.0V到5.5V 全静态时钟0 Hz 到33 MHz 三级程序加密 32个可编程IO口 2/3个16位定时/计数器 6/8个中断源 全双工UART 完全的双工UART串行口 低功耗支持Idle和Power-down模式 Power_down模式支持中断唤醒 看门狗定时器 双数据指针 上电复位标志 AT89S51/52和AT89C相比新增加了以下功能 支持在系统编程ISP 生产及维护更方便 增加了片内看门狗使用户的应用系统更坚固 双数据指针使数据操作更加快捷方便 速度更高最高可使用33MHZ的晶振 尽管AT89S系列单片机新增加了不少功能但用户也可以直接替换应用系统中的AT89C51/52而软件硬件均不需作任何修改。 3 硬件设计3.1 层站信号的采集电梯层站信号采集有多种方式,如旋转编码器采集法,层站显示板采集法,井道磁感应器采集法等。由于不同型号的电梯所用的旋转编码器不同,所采用的层站显示方式也不同,因此,这两种层站信号采集方式不具有普遍性。而不同型号的电梯,其井道内部都设有磁感应器,以检测楼层及开门区,因此采用井道磁感应器采集法具有普遍性,同时这种方法的接线简单,对现有电梯控制系统不会产生影响。本系统采用这种方式。干簧感应器的结构图如图3.1:图3.1 干簧感应器结构图在U形槽两侧,分别放置永久磁铁和干簧管。当没有隔磁板(也称为桥板)插入U形槽时,在磁场作用下,常闭触点2、3闭合;当将隔磁板插入U形槽时,永久磁铁磁场经气隙和隔磁板构成闭合磁路,于是在簧片弹性作用下,触点2、3断开,常开触点3、4闭合。这样,根据电梯控制的需要,可以将感应器安装轿厢顶部,将隔磁板固定在井道所需位置的导轨架上。但要获取楼层信号,就需要将感应器安装在井道适当位置的导轨架上,而将感应器安装在轿厢顶上。这样,在轿厢运行过程中,通过隔磁板对感应器U形槽的插入从而使起触点工作,驱动该层的楼层继电器ZJ吸合,便可获得电梯控制所需要的楼层信号。把信号经过光电耦合就可以输入到单片机中以使单片机进行相关操作。在本次设计中,主要阐述如何实现语音信号的录制和如何将语音信号按一定顺序组合播放,故对此部分不再说明。3.2 语音芯片与单片机的接口设计 ISD2560有10个地址输入端A0A9,ISD2560有10个地址输入端A0A9,寻址能力可达1024位,地址空间为01023。起分配情况是:地址0599做分段用,地址600767未使用,地址7681023为工作模式选择(即A8、A9均为高)。ISD2560的地址线有两种用途,一是作为工作模式控制,二是作为分段录放音的起始段地址。当最高位地址(MSB)A8、A9都为高电平时(即地址7681023)。地址端A0-A6就作为工作模式选择端M0-M6,对应7种工作模式。当A8、A9任一位为低或都为低时(即地址0599),只要在分段录放音操作前(不少于300ns)给地址A0A9赋值,操作就从该地址开始。ISD2560与AT89S52的接口部分包括输入地址线A0A9,片选CE,芯片低功耗状态控制PD,录放音控制选择P/R,录放音结束信号输出EOM(将它作为AT89S52外部中断0的输入信号,放音时通过它告知本语音段结束,便于单片机立即播放另一个语音段)。我们需要的语音总时间小于60S,溢出端OVF未用;若需要总时间大于60S,可级联多个ISD2560,此时需要使用溢出端OVF。ISD2560的输入引脚都与TTL电平兼容,可由微处理器系统驱动,但是ISD2560的地址线与微处理器总线是不兼容的,经实验,如果直接将ISD2560的地址线与AT89S52的P0口连接,P0口的逻辑“1”电平只有2.85V,加上5K的上拉电阻,逻辑“1”电平也只有3.65V。如果要用P0口,则需在P0口外加锁存和缓冲电路。本系统为了简化设计,用P1和P2口来驱动ISD2560的输入引脚。3.3 存储器与单片机的接口设计 存储器FM24C64通过I2C总线与AT89S52接口。I2C总线是一双串行总线,两根线中,一根是串行数据线(SDA),另一根是串行时钟线(SCL),总线和器件间的数据传送均由这根线完成。每一个器件都有唯一的一个地址,以区别总线上的其它器件。FM24C64的物理地址由7bit 组成,位7-4是部件类型,FM24C64为1010,部件类型用于区分挂在两线接口上的各种功能部件,位3-1对应于FM24C64的引脚A2-A0,用于区分挂在两线接口上的相同部件。在本系统中,只使用一片FM24C64,将A2-A0接地,故FM24C64的地址为1010000。当执行数据传送时,AT89S52作为主器件,FM24C64作为从器件。总线上,每一次数据传送,都是由主器件发送起始信号开始,发送停止信号结束。I2C总线的两根线需要加上拉电阻,电阻值视总线上的器件数目而定,本系统采用3K的上拉电阻。由于系统只需一次录音,故数据存储器也只需一次写入操作,为了防止误操作,设置了一个写保护开关连在FM24C64的写保护引脚WP上,采用手工控制,在录音时,将开关合上,进行录音;平时电梯工作时,将开关断开,这样可以防止里面的地址数据丢失。3.4 显示模块与单片机的接口设计显示模块采用两线制串行接口与单片机连接,它的串行接口不同于I2C总线,显示的数据是单向传送,该模块采用了类似SPI串行总线的时序,与SPI不同的是该模块没有片选控制线。这样的接口比I2C总线容易实现,而且在与AT89S52接口时无须加上拉电阻就可驱动总线。3.5 其它硬件部分的设计 为了指示录音和放音的状态,用两个LED来表示是录音还是放音,用单片机的P1.6和P1.7控制,用开关三极管2N2222驱动,根据LED的工作电流,为了防止LED烧坏,用480om的电阻进行限流。为了防止电源中尖峰干扰,在各芯片的Vcc上接一个0.1uF的瓷片电容进行滤波,同时也可防止大的毛刺电压损坏器件。按键采用硬件防抖动设计,在每个按键上接一个0.1uF电容。为了降低功耗和干扰,系统采用6M晶振。AT89S52内置的硬件看门狗可以将系统从死机中复位。4 软件设计4.1 系统操作说明系统由5个按键,S1为录音总控制键,按下一次使S2有效,录音指示LED1亮,再次按下则退出录音子程序,LED1熄灭。S2为录音键,按下时开始录一段音,松开后,停止录当段音。再次按下S2时录下一段音,操作同上。S3键为楼层选择键,每按下一次楼层加一。S4为放音键,按下后播放该楼层的语音报站录音,放音指示LED2亮,当放音结束后,LED2熄灭。S5为系统复位键。S6为存储器数据保护开关,录音时应将起按下。操作:录音:闭合开关S6,使数据存储器脱离写保护状态,按下S1键,这时进入录音程序,录音指示LED1发光,按下S2,同时说话人说出:“您好!第”,说完后松开S2,第一段语音录音完毕,再次按下S2,同时说话人说出:“一”,说完后松开S2,第二段语音录音完毕,第13次按下S2,将“层到了”录进芯片中,按下S1,录音指示LED1熄灭,断开S6,使数据存储器处于写保护状态,录音完毕。放音:S3为楼层选择键,每按下S3一次,楼层加一,按下S3任意次,以选择需要放音的楼层。按下S4,松开S4后系统开始将对应楼层的语音读出来。4.2 软件总流程设计软件总的流程为:首先将系统初始化,然后系统进入一个死循环,判断是否有按键按下,以执行相应的录音、放音及选择放音楼层的操作。流程图如图4.1。4.3 对存储器的读写系统初始化的步骤之一就是将语音段的地址从数据存储器中读出,使放音程序能得到正确的语音段地址。系统采用的数据存储器为两线制串行数据存储图4.1 系统总流程图器FM24C64,对其进行读写要遵从I2C串行总线协议。I2C总线是Philips的一种的双向两线总线。下面是I2C 总线的一些特征: 只要求两条总线线路一条串行数据线SDA 一条串行时钟线SCL 每个连接到总线的器件都可以通过唯一的地址和主机通讯 它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏 串行的8 位双向数据传输位速率在标准模式下可达100kbit/s 快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制数据的有效性SDA 线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变(见图4.2)起始和停止条件在I2C 总线中,唯一出现的是被定义为起始(S)和停止(P)条件(见图4.3)的情况。图4.2 I2C总线的位传输时序图其中一种情况是在SCL 线是高电平时,SDA 线从高电平向低电平切换。这个情况表示起始条件。当SCL 是高电平时,SDA 线由低电平向高电平切换表示停止条件。起始和停止条件一般由主机产生。在本文的剩余部分符号S 将作为一个通用的术语既表示起始条件又表示重复起始条件,除非有特别声明。传输数据:字节格式发送到SDA 线上的每个字节必须为8位,每次传输可以发送的字节数量不图4.3 I2C总线的起始和停止条件受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB )(见图4.4)。 如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。响应数据传输必须带响应。相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间,发送器释放SDA线(高)。在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平(见图4.5)。当然,必须考虑建立和保持时间。当从机不能响应从机地址时(例如它正在执行一些实时函数不能接收或发送),从机必须使数据线保持高电平。主机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。图4.4 I2C总线的数据传输图4.5 I2C总线的响应7 位的地址格式数据的传输遵循图4.6所示的格式。在起始条件(S) 后发送了一个从机地址。这个地址共有7 位,紧接着的第8 位是数据方向位(R/W)-0表示发送(写),1表示请求数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr)和寻址另一个从机,而不是首先产生一个停止条件。第一个字节的位定义第一个字节的头7位组成了从机地址(见图4.7)。 最低位(LSB)是第8图4.6 I2C总线完整的数据传输位。它决定了报文的方向。第一个字节的最低位是0表示主机会写信息到被选中的从机。1表示主机会向从机读信息。当发送了一个地址后,系统中的每个器件都在起始条件后将头7位与它自己的地址比较。如果一样,器件会任务它被主机寻址,至于是从机接收器还是从机发送器都由R/W位决定。图4.7 起始条件后的第一个字节从机地址由一个固定和一个可编程的部分构成。由于很可能在一个系统中有几个同样的器件,从机地址的可编程部分使最大数量的这些器件可以连接到I2C 总线上。器件可编程地址位的数量由它可使用的管脚决定。例如,如果器件有4个固定的和3个可编程的地址位,那么相同的总线上共可以连接8个相同的器件。FM24C64的读写FM24C64内部地址可分为8192个字单元,每个字单元为8位,数据被串行移动。它使用两线协议,包括一个从地址1010000以区别其他存储器或器件,一个页地址和一个字地址,每256个地址被指定为一个8位的字地址,每256个地址为一页,FM24C64为32页页地址,选择页位为5位,完全地址为13位,每个字节地址都是唯一的。字地址:在FM24C64接受者应答装置地址后,主机将把记忆体地址送到总线上进行一个写操作。地址需要两个字节,第一个是高位字节MSB,因为记忆体只使用了13位地址,高3位没有使用。第2个是低八位字节LSB,保存8位地址,地址被内部锁存。每一次访问后,FM24C64内部地址锁存,计数器递。当前的地址是被锁存的值或是最后写入的或是下一个要访问的地址。只要电源恒定或是没有新的数据写入,当前的地址不变,读总是使用当前地址。一个随机读操作可以由以下的方式,先执行一个写操作,即开始。每一个字节传送后,在应答之前,FM24C64内部地址锁存计数器递增。这样在没有另外的寻址要求就可以访问下一个顺序地址。在最后一个地址1FFFH到达后,地址计数器的内容又回到0000H。在一个读写操作中没有字节数的限制。数据传送:地址信息被传送后,主机和FM24C64之间的数据交换开始。进行一个读操作,FM24C64将把8位数据放到总线上,然后等待应答。应答出现,开始下一个传送;应答不出现,读操作退出。对于写操作,FM24C64接受8位数据后,给出应答,所有数据首先产生最高有效位。写操作:所有写操作开始一个从机地址和一个字地址。主机通过设置从地址的最低有效位为0来表示一个写操作。寻址后,主机送每个字节到记忆体,记忆体产生应答。任何数量的顺序字节可被写入。如果地址到最后一个字节,地址计数器从1FFFH翻转到0000H。不像其他的非易失性技术FRAM,没有写延时,整个记忆体周期比单纯总线时钟还短。这样,任何操作,包括读写能跟随写操作。记忆体写操作出现在第8位数据被传送以后,在确认送出之前完成。那样如果用户需要退出写操作又不变更记忆体内容,应该在第8位数据之前用开始或停止条件。FM24C64不需要页缓冲,记忆体可以用WP脚作写保护,把WP拉高VDD。写保护地址从1800H到1FFFH。FM24C64将不会应答写入被保护的地址的数据。另外,地址计数器也不会递增。WP拉低,这些特性不起作用。WP脚位不应悬空。图4.8描述的是单字节和多字节的操作读操作:有两种基本类型的读操作:当前地址读和可选地址读。在当前地址读FM24C64使用内部锁存器提供低八位地址;在可选地址读操作,用户执行一个图4.8 写操作步骤设置低位地址为指定值。当前地址顺序读:FM24C64使用内部锁存器时低八位地址进行读操作,当前地址读使用在地址锁存器中的值作为读操作开始地址执行当前读操作。主机提供从地址把LSB置为1,页选择位用于指定记忆体的页面。应答后M24C64将开始从当前地址移出。当前地址是从机地址位加上内部锁存器位合成的地址。由当前地址开始,主机能随意读写任意的字节数。这样顺序连读即是当前连读数据。在内部,地址计数器将连续递增。每次主机确认一个字节,随后FM24C64就可以读下一个连续的字节。有四种方式可以正确的终止读操作。失败地终止读操作就相当于FM24C64试图在总线上读出另外的数据。四种可行方式如下:1)主机在第9个时钟周期不应答,在第十个时钟周期停止2)主机在第9个时钟周期不应答,在第十个时钟周期开始3)主机在第9个时钟周期停止,可能导致总线竞争4)主机在第9个时钟周期开始,可能导致总线竞争如果内部地址到1FFFH,下一个周期翻转到0000H。 图4.9为当前地址读的正确操作:选择随机读:FM24C64允许选择随机地址作为读数据的起点,包括:首先使用两个字节的写操作来设置内部地址字节,主机送出从地址把LSB置0,这样就指定出一个写操作。根据写数据协议,然后主机送字地址,调进内部地址锁存器。FM24C64应答字节地址后,主机发出开始命令。这同时退出写操图4.9 读操作作以及允许读命令被发出。从地址LSB置1, 操作现在为当前读地址。这个操作说明在图4.10中图4.10 选择随机读操作在本次设计中,由于数据量较小,采用的是选择随机读的方式,一次读取一个字节的数据。为了配合硬件电路进行数据保护,数据存放的首地址为1800H。这样,在S6断开时可有效的保护数据。4.4 对串行显示模块的操作串行显示模块SMS0408的内部地址如下:先送数据到数据口线DI,再使时钟线发一个低电平脉冲。如此循环8次,即可将一位数据传送到显示模块中。将要显示的数据在人为设定的显示缓冲区按顺序放置,就可将数据显示。该模块能自动将显示锁存,所以,在程序中不能采取扫描的方式,只需在数据需要改变时讲数据写入SMS0408内部存储区。4.5 对语音芯片的操作ISD2560有10个地址输入端A0A9,寻址能力可达1024位,地址空间为表4.1 SMS0408地址映射表01023。其分配情况是:地址0599做分段用,地址600767未使用,地址7681023为工作模式选择(即A8、A9均为高)。ISD2560的地址线有两种用途,一是作为工作模式控制,二是作为分段录放音的起始段地址。当最高位地址(MSB)A8、A9都为高电平时(即地址7681023)。地址端A0-A6就作为工作模式选择端M0-M6,对应7种工作模式。当A8、A9任一位为低或都为低时(即地址0599),只要在分段录放音操作前(不少于300ns)给地址A0-A9赋值,操作就从该地址开始。ISD256090120系列内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也由地址端控制;当最高两位都为 1 时,其它地址端置高就选择某个(或某几个)模式。因此操作模式和直接寻址相互排斥。操作模式可由微控制器也可由硬件实现。使用操作模式有两点要注意:(1)所有操作最初都是从0地址,即存储空间的起始端开始。后续操作根据选用的模式可从其它地址开始。但是,电路由录转为放,或由放转为录时(M6模式除外),或执行了掉电周期后,地址计数器复位为0。(2)当/CE变低,最高两地址位同高时,执行操作模式。这种操作模式一直有效,除非/CE再次由高变低,芯片重新锁存当前的地址/模式端电平,然后执行相应操作。本系统要实现电梯的语音报站,需要录制并随机组合长度不同的信息,采用信息检索模式就可以实现上述功能,采用信息检索模式具有口线占用少并且编程简单的优点。但是为了系统的以后扩展和软件升级,并且能够适应不同的系统及工作方式需要,本次设计采用常规方式,即通过输出地址来录放音,使得本系统由更大的灵活性和适应性。2500系列语音芯片将480K的EEPROM分为600个信息段,每段800个字节。作为一个整体单位进行寻址和控制,应给每个信息段分配一个供外部控制的地址,而不是对每个字节进行寻址,否则至少需要19个地址端口。这样,大大减少了信息检索所需要的地址线。对较长的语音信号可以跨越多个信息段进行录音,表 4.2 操作模式简表不受内部存储信息段的限制,且内部的信息段地址会自动增加。在每个语音段的尾部自动增加一个结束标志EOM,组合放音时,通过检测EOM来控制各语音段的结束和下一段的开始。每个信息段的录放音时间等于总时间除以600。如ISD2560的总时间为60s,则每个信息段的录放音时间为100ms;ISD25120的总时间为120s,则每个信息段的时间为200ms.因此可以利用该时间长度作为一个段地址,通过单片机定时器的计时平行地映射信息段的地址,从而得到每段录音的起始地址。这样,就需要设置一个地址计数器。一般录音从0地址开始,首先通过CPU将它赋给A0-A9,然后通过单片机控制ISD启动录音,同时启动单片机的定时器开始计时,图4.11 ISD2560录音时序每到一个信息段的时间,就给地址计数器加1。当单片机停止控制ISD录音时,同时停止定时器计时。此时地址计数器的值即为该段语音的末地址,加1即为下一段语音的首地址,并将它存入EEPROM中,为下一将放音提供的地址信息。通过CPU将该地址赋给A0-A9,即可录制下一段语音。依次下去,即可在录制图4.12 放音时序完所有语音段的同时得到各段的起始地址。如果不是从0地址开始的语音段,只需将初始地址赋给A0-A9,加上地址计数器的值,即可得到语音段的末地址。这里不用同时保存各语音段的起始地址和结束地址,因为各个段是相邻的,前一段的末地址加1即是本段的起始地址,且每个语音段的结尾均有EOM标志,并可发出中断。放音时利用它和保存在外部数据存储器中各语音段的起始地址即可按任意顺序组合各个语音段。用户在每一段语音录制结束后,芯片会自动设置结束标志(EOM)。如果用单片机等控制电路按某一段的起始地址进行放音操作,该系统在遇到段结束标志(EOM)时将自动停止放音,单片机收到段结束标志(EOM),可立即触发下一段语音的起始地址,如此控制即可将很多不同段的语音组合在一起进行播放,从而实现语音的自动组合。系统的各个子程序介绍如下:录音子程序:首先判断是第几次按下录音键(S2),如果是第一次按下,则要录音的首地址为0。如果不是第一次按下,则要录音的首地址为前一段语音信息的尾地址加一,然后将地址通过P2口和P1的部分I/O口输出到ISD2560上,然后使P/-R、PD、/CE都为低电平,即开始录音。开始录音时,启动定时器T0,将定时器T0的计数初值定为5毫秒,在中断程序里,定时器T0每溢出一次,产生一次中断,使记录溢出次数的变量加一。当溢出20次时,录音时间为100毫秒,此时将地址变量加一。当录音键(S2)松开时,地址变量的值就是所录语音段在ISD2560 存储器中占用的长度。此时停止录音,停止定时器。开始计算当前所录语音段图4.13 启动录音子程序流程图的尾地址。计算方法为:如果所录语音段为第一段,则第一段尾地址就是地址变量的值;如果不是第一段,该段的尾地址为前一段尾地址加1再加地址变量。将得到的尾地址写入外置数据存储器中,以免掉电丢失。最后将段号加1,将地址变量清零,继续判断下一步操作。在电梯报站应用中,需要将语音按一定的顺序预先录进芯片中,以便以一定的次序将语音播放。在本系统中,只考虑30层一下楼层的报站,各语音段录制顺序如表4.3。 图4.14 停止录音子程序流程图表4.3 语音存储顺序表段号1234内容您好!第一二三段号5678内容四五六六段号9101112内容九十二十层到了如果需要播放30层以上的层站,需要加录音段数,并在放音部分增加相应程序。放音子程序:当选择好要播放的楼层后,按下播放键(S4)就可以将语音播放出来。具体实现如下: 首先播放“您好!第”,这是所有楼层都要播放的内容,只要选择播放第一语音段即可。然后根据楼层选择相应的语音组合方式,比如:选择播放16层的语音,首先播放“十”,语音“十”在ISD2560存储器中的第10段,即播放第10语音段,该语音播放完,后播放“六”,即第七语音段。数字播放完后,播放“层到了”。该层报站结束。具体播放单个语音段的过程如下:用与放音子程序相同的方法取得要播放语音段的首地址。置P/-R为高电平,PD都为低电平,/CE施加一个低脉冲,即开始放音。为了及时判断语音播放结束,用外部中断0来判断EOM输出,需要把外部中断0打开。设置一个标志位,开始放音时将标志位复位,放音结束后在中断程序中将标志位置位。开始放音后,就循环判断标志位是否置位,如果置位,说明当前语音段播放结束,此时停止。程序继续下一语音段的播放。编程时,应当注意:在放音期间,EOM必须保持高电平。在发完一段地址的语音后,会遇到一个EOM标志,EOM为一个低电平脉冲,持续时间为12.5ms,所以下一段发音必须是在这个低电平消失以后才会发出。设计时必须通过延时的方法将这个低电平脉冲消掉。具体的延时方法有两种:一种是通过循环嵌套产生时间延迟,同时通过执行指令来消磨一段已知的时间。这种延时方式是依靠一定数量的时钟周期来实现的,它使控制器在延时循环时不接收其它数据的输入,这显然在实时性要求较高的场合不适合。由于该设计的时实性要求很高,故不采用这种方式。图4.15 启动放音子程序流程图另一种方式是使用定时器计时。在实时系统中,通常采用定时器计时的方式,这与软件循环定时完全不同,在定时器计时方式中,其它事件可继续进行,而这在软件定时中是不允许的。4.6 硬件看门狗的使用AT89S52的内置看门狗具体使用方法如下:在程序初始化中向看门狗寄存器(WDTRST地址是0A6H)中先写入01EH,再写入0E1H。即可激活看门狗。图4.16 外部中断0服务子程序流程图图4.17 定时中断服务子程序在C语言中要增加一个声明语句。在AT89X51.h声明文件中增加一行 sfr WDTRST = 0xA6;Main()WDTRST=0x1E;WDTRST=0xE1;/初始化看门狗。While (1)WDTRST=0x1E;WDTRST=0xE1;/喂狗指令注意事项:1 89S51的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位,否则看门狗也无法工作。2 看门狗使用的是CPU的晶振。在晶振停振的时候看门狗也无效。3 89S51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。当晶振为6M时每32个毫秒需喂狗一次。5 结论5.1设计中遇到的问题及解决办法ISD芯片在供电电源不稳定、特别是上下电的时候可能会出现误录音情况,误录音或抹音最常见是出现在芯片的首地址。解决方法:25系列芯片电路板如只用于放音,可直接将录放选择端(27脚)接至高电平,有效解决问题。如果需要录放,可以将第一语音段的首地址往后移适当位置。2500系列芯片在录放音至片末遇到OVF标志后,会出现不接受录放指令的情况,跟计算机的死机相似,须用PD端复位或断电才能继续工作。解决方法:将OVF连接到单片机I/O上,一旦OVF输出信号,就将PD复位。在实际系统中,可能会出现误触发的问题,这都是由于将板上触发端引出很长的引线后造成的,属于外引线过长受外部信号干扰而产生的误触发。建议如果必须要求长引线外引触发,就必须采取加装光藕隔离等的抗干扰措施。在实际应用中,为了取得较为完善的录音效果,可采用电脑程控自动分段录音系统实现自动分配地址、合理调整录音电平、按地址分段精确录音等,并通过软件优化,全面解决ISD语音电路存在的抹音问题。5.2系统的改进系统的改进主要是信躁比的改进。有很多因素会影响到ISD系列器件实际的录音信噪比性能。印制电路板的合理布局能有效地改善信噪比,方法是将电路中产生噪声的部分与小信号电平输入引脚相隔离,这些对噪声敏感的引脚是麦克风输入MIC(17脚)、模拟输入ANAIN(20脚)、自动增益控制AGC(19脚)和麦克风补偿MICREF(18脚)。来自ISD期间的主要噪声是VCCD即28脚,并且噪声仅在录音周期内产生。噪声频率分布在几个区域内,一个噪声在以80Hz(指ISD2560)为中心的区域,它是器件内部产生的EEPROM变成电源的重复速率。另一个噪声源分布在30MHz到200MHz之间大量的离散频段内。放音时无明显的噪声源。不过有时会听到存储阵列固有的电平很低的“嘶嘶”声。用示波器观测,任一个扬声器输出对地都是10mV峰峰值,用交流表量,噪声小于4mV RMS。这是录音时ANA IN(20脚)通过0.1F电容接地引起的。录放音时一个可能的噪声源是地址/控制引脚上的信号电压过高或过低引起的。如果出现持续或极短暂的比Vcc高0.3V以上的信号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浮游生物碳循环物理过程-洞察及研究
- 高温润滑材料-洞察及研究
- 【《劳动合同法》中经济补偿规则完善探析9200字】
- 2025版房地产项目合作协议书范本
- 2025合同管理感悟之承包模式
- 2025年农村个人房屋买卖合同协议书
- 政府出资买车合同范本
- 劳务服务购买合同范本
- 商超授权合同范本
- 采购承诺合同范本
- 巷道围岩注浆加固施工安全技术措施
- 实验中学初一新生分班考试数学试卷附答案
- 区治安巡防队员面试题
- 施工组织设计施工总体部署完整版
- TUPSW微机控制电力专用不间断电源(UPS)系统使用说明书
- 骨质疏松诊治与中医药
- LY/T 2383-2014结构用木材强度等级
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- 中日关系历史
- GB/T 15171-1994软包装件密封性能试验方法
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
评论
0/150
提交评论