通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc

上传人:laozhun 文档编号:4150730 上传时间:2023-04-07 格式:DOC 页数:33 大小:309KB
返回 下载 相关 举报
通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc_第1页
第1页 / 共33页
通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc_第2页
第2页 / 共33页
通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc_第3页
第3页 / 共33页
通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc_第4页
第4页 / 共33页
通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc》由会员分享,可在线阅读,更多相关《通信技术毕业设计(论文)基于FPGA的电话远程控制系统设计.doc(33页珍藏版)》请在三一办公上搜索。

1、兰州工业高等专科学校毕业设计(论文)题目 基于FPGA的电话远程控制系统设计 系 别 电子信息工程系专 业 通信技术 班 级 通信09-2班 姓 名 学 号 指导教师(职称) 日 期 2012.02.26 兰州工业高等专科学校毕业设计(论文)任务书 电子信息工程系 2012 届 通信技术 专业毕业设计(论文)任务书毕业设计(论文)题目基于FPGA 的电话远程控制系统设计课题内容性质工程设计课题来源性质教师收集的结合生产实际的课题设计/论文校内(外)指导教师职 称工作单位及部门联系方式吴守霞讲师兰州工业高等专科学校15101204655一、题目说明(目的和意义):随着社会的进步以及科技的进步,人

2、们越来越期望科技能给人们带来更多的便捷。其中在家电领域,为了适应这种时代发展的潮流,家用电器的智能化及可远程控制化越来越受到人们的关注。海尔前几年就提出了智能家居的概念,并且已经研制出了相关的产品。信息家电的产生和发展将对传统家电、计算机和通信业产生深远影响。基于这样的背景,设计了一个电话远程控制系统,本系统可以利用家庭电话,使得用户可以通过电话控制与系统相连的电热水器、空调、电饭锅等各种受控电器的开、关及温度设定等,实现远程控制。二、设计(论文)要求(工作量、内容):1.设计要求:本设计完成基于公共电话通信网络实现远程控制的智能控制系统。本设计采用FPGA 作为控制器,通过电话网络传输密码与

3、指令操作码,实现有用户权限的远程操作。具有可配置性强,控制信号多,系统可靠稳定等特点。 2.设计内容:本系统主要由以下几个部分组成:(1)铃流检测电路: 负责检测电话呼叫铃流。判断是否摘机;(2)摘/ 挂机电路: 负责电话机接通与挂断。实现系统与远程电话通信连接与断开;(3)DTMF 解码电路: 负责对接收到的DTMF 控制信号解码。并将解码数据传送至FPGA;(4)EEPROM: 基于SPI 协议的存储器,负责存储密码等用户信息;(5)语音提示电路: 主要用来存储及播放语音以提示用户执行相关操作;(6)FPGA: 本系统的控制核心,用来控制电话摘机,接收用户输入,控制语音播放等一系列操作;(

4、7)FPGA 配置芯片: 用来对FPGA 进行上电配置,因为FPGA 是基于RAM的存储结构,数据掉电易失,所以采用基于PROM的FPGA 配置芯片,在系统上电时,对FPGA 进行配置。三、进度表日 期内 容20112012学年第一学期第十五周第十六周第十七周第十八周第十九周第二十周20112012学年第二学期第一周第二周 查阅资料、总体方案论证与选择摘/ 挂机电路、DTMF 解码电路基本原理及电路设计EEPROM、语音提示电路设计FPGA电路设计VHDL程序设计撰写论文提交、修改论文答辩完成日期答辩日期 四、主要参考文献、资料、设备和实习地点及翻译工作量:1.EDA技术实用教程VHDL版 潘

5、松,黄继业 编著 科学出版社 出版时间:2010-6-12.EDA与数字系统设计案例实践 黄科 艾琼龙 李磊编著 清华大学出版社 出版日期:2010-13.基于Quartes 的FPGA/CPLD数字系统设计实例 周润景,图雅,张丽敏编著 电子工业出版社出版时间:2007-8-14.基于FPGA 的电话远程控制系统设计 周毅,陆兆春,王龙伟编 北京工业大学集成电路设计与系统集成实验室指导教师签字教研室主任签字主管系领导签字 年 月 日年 月 日年 月 日注:本任务书要求一式两份,一份系部留存,一份报教务处实践教学科。 摘 要随着科技发展,信息化愈发成为本世纪的发展方向。本文介绍一种基于公共电话

6、通信网络实现远程控制的智能控制系统。本设计采用 作为控制器,通过电话网络传输密码与指令操作码,实现有用户权限的远程操作。具有可配置性强,控制信号多,系统可靠稳定等特点。如何将电话远程控制用于日常生活中正是本文所要研究的课题,本文设计了一种电话远程控制系统,该系统以FPGA和DTMF解码集成电路为核心,借助公共电话网络,通过电话实现对远程设备智能化控制。对“振铃检测、摘挂机控制、DTMF解码、语音提示及家用电器控制”等电路作了详细的说明。用户可通过任意一部手机,根据语音提示,可以对各种电器(如电饭锅、微波炉等电器)进行远程控制。本装置适用于家庭、企事业单位、商店等场所,操作简单方便,系统性能可靠

7、,是未来很有发展前景的科技产品.关键词:远程控制;可编程逻辑阵列;用户权限 Abstract Along with the development of science and technology. Information application has become the way of development in this century.This article describes a kind of intelligent remote control system based on public telephone network. This design use FPGA as

8、 controller. to realize remote operation with user jurisdiction. This system uses public telephone network to transmit password and instruction operational code. It has the characteristics of being highly configurable.Controllable and reliable. This is our motive that how to make the long-distance c

9、ontrol system based on telephone network used in our daily life. In this article a long-distance control system based on telephone network is designed. It can also be called intelligence control system. Depend on the network of telephone, some functions of the long-distance control system become tru

10、e. In this article the compose of the control system and the principle about the long-distance control system are introduced. To meet the needs of long-distance and management of automation industry equipments based on network of communication. The system about long-distance control model and its ar

11、chitecture were put forward, and operation principles of the system were discussed in detail.Key words: Remote Control; FPGA ; User jurisdiction目 录 第一章 绪 论1第二章 系统设计原理22.1 硬件功能分析2第三章 系统硬件电路设计53.1铃流检测电路53.2 摘/挂机电路63.3 DTMF解码电路73.3.1 DTMF 接受的频率标准73.3.2 DTMF 接受的时间序列标准83.3.3 DTMF 整体设计思想和方法83.1 器件EEPROM的介

12、绍93.1.1 EEPROM简介93.1.2 常用串行EEPROM的简介103.1.3 EEPROM应用中出现问题以及处理的办法103.2 FPGA介绍133.2.1 FPGA的基本特点133.2.2 FPGA配置模式143.2.3 I/O信号分配143.2.4 降低静态功耗简介143.2.5 降低动态功耗153.3 FPGA配置芯片153.3.1 FPGA的配置方式153.3.3 主串模式最常用的FPGA配置模式17第四章 系统工作流程19结 束 语21致 谢22参考文献23第一章 绪 论随着社会的进步以及科技的进步,人们越来越期望科技能给人们带来更多的便捷。其中在家电领域,为了适应这种时代

13、发展的潮流,家用电器的智能化及可远程控制化越来越受到人们的关注。海尔前几年就提出了智能家居的概念,并且已经研制出了相关的产品。信息家电的产生和发展将对传统家电、计算机和通信业产生深远影响。 电话属双工通信手段。因此,这可以大大体现出利用电话进行遥控的更大优越性。操作者可以通过各种提示音即时了解受控对象的有关信息,从而进行进一步的操作。电话遥控这一课题目前已有涉足者,而距离实际应用,尤其是对于日常生活尚有一定的差距,并不能完全体现出电话遥控方式的双工通信特点。本次设计正是针对这一点进行了较大改进,采取FPGA智能控制,利用不同的提示音达到对于不同操作的提示及对受控方状态的信息反馈,从而使操作者能

14、够及时了解受控方信息,使产品达到交互式与智能化。本设计的各种电器接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。设计为突出电话遥控的信息反馈功能,并使产品达到非常高性价比。故未对电话装置的其他功能进行进一步的扩展,而且所有使用的集成电路和其它元器件都尽量选择廉价的。在该作品的基础上进行了功能扩展是很方便的。基于无线寻呼的遥控方式利用了现有的寻呼频率资源,虽然遥控距离不受限制,但可靠性差,如处于信号弱区域内的通信设备,就无法实现控制。长期以来,困扰遥控装置发展的关键问题,是如何实现远程电器设备可靠控制。基于FPGA的电话远程控制系统,借助公共电话网络,操作者可在语音提示下实

15、现对远程设备的可靠控制。该装置具有可靠性高,不受传输距离限制,不占用频率资源等特点。适用于家庭、企事业单位、工业现场、商店等场所,利用手机或固定电话就能实现电器设备的控制和运行状态查询. 基于这样的背景,本文设计了一个电话远程控制系统,本系统可以利用家庭电话,使得用户可以通过电话控制与系统相连的电热水器、空调、等各种受控电器的开、关及温度设定等,实现远程控制。第二章 系统设计原理2.1 硬件功能分析本系统的硬件设计框图见图2-1 所示。 DTMF解码 EEPROM 摘机电路电话输入FPGA 铃流检测 FPGA配置芯片 语音电路图2-1 系统的硬件设计框图系统设计可行性分析 根据电话远程控制系统

16、的具体设计要求该系统必须满足以下功能: 通过电话网对异地的电器实现控制(开/关); 控制器可以实现自动模拟摘挂机; 控制器设置密码校验;系统必须具有以下单元功能模块: 铃音检测、计数; 自动摘挂机; 密码校验; 双音频信号解码; 输入信息分析; 控制电器开关; 电器状态查询; 本设计以FPGA芯片为控制中心,进行主要的信息处理,接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;系统包括振铃检测电路,摘挂机电路,DTMF解码电路,以及语音提示电路等。 1)铃流检测电路: 负责检测电话呼叫铃流。判断是否摘机; 2)摘 / 挂机电路: 负责电话机接通与挂断。实现系统与远程电话通信连接与断开

17、; 3)DTMF 解码电路: 负责对接收到的 DTMF 控制信号解码。并将解码数据传送至 FPGA; 4)EEPROM: 基于 SPI 协议的存储器,负责存储密码等用户信息; 5)语音提示电路: 主要用来存储及播放语音以提示用户执行相关操作; 6)FPGA: 本系统的控制核心,用来控制电话摘机,接收用户输入,控制语音播放等一系列操作; 7)FPGA 配置芯片: 用来对 FPGA 进行上电配置,因为 FPGA 是基于 RAM 的存储结构,数据掉电易失,所以采用基于 PROM 的 FPGA 配置。 本装置使用普通电话机发出遥控命令信号,以DTMF信号作为运载遥控命令的媒体,而无需专门安装遥控发送装

18、置,利用电话网络传送遥控命令或其他数字信息时,只需把接收装置安装在任何一个电话用户线的终端,就可以接收任何地方只要电话能通达的地方的遥控操作或其他数字信息,接收装置就像一部普通电话机,传真机或其他电话用户终端设备一样被使用,因此不受距离的局限。本装置并联于电话机的两端,不会影响到电话机的正常使用。用户通过异地的电话机拨通本装置所连接外线的电话号码,通过市局交换机向电话机发出振铃信号。本装置如果检测到振铃5次,即5次响铃后无人接,自动摘机,进入密码检测,输入正确后选择被控制电器,然后输入开或关进行遥控电器,完成后返回。系统基本工作原理是:系统上电,FPGA复位,系统开始工作,当电话线路中有振铃信

19、号时,振铃检测电路将产生方波,方波从外部计数端输入,系统在程序控制下进行计数,当振铃次数为5次时约25秒若没有人接电话,表明没有人在场,系统一方面,启动语音提示电路,发出“尊敬的用户,您好!欢迎您使用电话远程控制系统,请输入用户密码,并以#字确认”;另一方面,发出自动摘机控制信号,外线经摘挂机控制的开关电路与DTMF译码电路接通,译码电路将对外线传递的信号进行译码,译码信号以四位二进制形式输出。经译码输出的四位二进制数从FPGA的I/O口输入,控制器对读入的二进制数与预置于EEPROM的密码进行比较,如果所拨的密码与预置的相同,则发出“请输入操作码,并按#字键加以确认”的提示音,如果所拨的密码

20、与预置的不同,则发出“对不起,你拨的密码不正确,请核对密码后重新输入,挂机请按*字键确认”的提示音。系统只有接到正确的用户密码才具有操作权。以上操作即实行“模拟提机”接通电话。操作者在主叫话机键盘上输入4位密码,若密码输入正确,会在听筒里听到约2秒的音乐声。按入遥控命令,按“1”,“#”表示第一路开,按“1”,“*”表示第一路关.依次类推,每个操作命令结束时均能听到约1秒的音乐声作为确认信号。 操作完毕按入“0”,接收电路收到“0”这一信息后即“挂断”电话。如果有人在默认的振铃次数之前接听电话,则不进入电话遥控状态,因此不影响电话的正常通话使用。系统设计中的关键技术。在整个系统功能的实现中,利

21、用DTMF解码器对用户通过电话输入的DTMF号码进行检测是系统功能实现的关键。MT8870应该能及时并准确地检测到电话线传入的DTMF信号,并以中断方式通知CPU接收其检测到的DTMF号码;而MT8870能否及时检测到DTMF信号并正确译码出该信号对应的主叫号码,与LE78D11的初始化密切相关。在初始化时需要特别注意如下几个方面:(1)设置参数要根据系统情况精确计算确定,尤其输入信号增益参数调整不能让DTMF信号饱和失真,否则会导致MT8870对DTMF音检测译码出错;(2)MT8870的时钟频率寄存器应在芯片上电后第一个进行设置。确保MT8870能及时检测系统时钟与8kHz的帧同步信号的同

22、步情况并给出指示;(3)在初始化最后要启动模拟通道校准功能并确保校准完成;(4)MT8870在进行DTMF音的检测译码时,语音通道连通并都处于激活状态,向单片机发出中断请求,单片机响应中断,接收来电信息。根据电话通信信令,在电话通信过程中,使用某些特定频率音的不同断续组合来指示通信进程。为了判定当前处于何种进程状态,需要及时识别出拨号音、忙音、回铃音、空号音以及其他电信信令规定的进程音。为了简化系统结构,节约硬件成本,提高信号音检测的准确性与灵敏度,本系统不采用通常的信号音检测硬件模块进行检测,而是采用软件实现上述信号音的智能检测。由于上述信号音的频率都是450Hz,仅断续时长不一样,据此,采

23、用电路把信号音整理成方波脉冲串,固定时问间隔(例如1ms)检测输入管脚上脉冲信号,当脉冲信号出现后,立即开始在一定时长内(例如1.2s)分若干时间片(例如0.1s)计数每个时间片内出现的脉冲个数。通过分析比较给定时长内各个时间片的脉冲个数分布情况,可以判别出信号音的类型。第三章 系统硬件电路设计3.1铃流检测电路振铃检测电路如图所示,图中二极管有2种作用:1)将不确定的线路供电正负变为固定的正负输出;2)将交流的振铃信号变为脉动直流以供检测。图3-1 振铃检测电路当没有振铃信号时,线路上的供电电压为48V(部分交换机为60V),经四个二极管构成的全桥整流后,不足以使62V稳压管导通,振铃信号输

24、出端电压接近0V,当振铃信号到来时,线路上的90V交流振铃信号经全桥整流变换后90V的脉动直流电,其峰值足以击穿耐压值为62V稳压管,经电阻R1给U1提供电压,从光电耦合器输出的波形是时通时断的方波信号,可以直接输出至单片机的中断输入口, CPU可以根据振铃信号光电转换后的高低电平检测有无振铃。铃流检测部分VHDL程序如下: Recess(irq,pick,stop) variable cnt:integer; constant lm_1792:integer:=1792; begin if(pick=0); dial=0; cnt:=0; els if(stop and cnt=lm_179

25、2) then dial=0;/*电话遇忙,发忙状态标志*/ busy=lm_1792) then dial=1;/*电话通,拨号使能有效*/ busy=0; els if(irq)event and irq=1) then cnt:=cnt+1;/*电话音检测计数*/ end if; end process; 3.2 摘/挂机电路根据ITU及国家标准规定:不论任何电话机,摘机状态的直流电阻应300,有“R”键的电子电话机的摘机状态直流电阻应350。在挂机状态下,其漏电流5A。当用户摘机时,电话机通过叉簧接上约250的负载,使整个电话线回路流过约30mA的电流。交换机检测到该电流后便停止铃流发

26、送,并将线路电压变为十几伏的直流,完成接续。 图3-2 摘挂机电路 模拟摘挂机电路如图所示。平时电话挂机时,两条电话线处于开路状态,两电话线的电压为48V(部分电话为60V),加到电话机的振铃电路两端,当摘机时振铃电路断开,两电话线接通,阻值大约250。当拨打电话号码时,来自电话线的高压振铃信号经铃流检测电路,通过光电耦合器在其二次侧形成方波脉冲信号送到单片机进行振铃脉冲进行计数,当振铃次数达到设定次数时,由单片机内部软件程序控制,控制摘挂机口输出一个低电平,然后电平送到三极管PNP1的基极,使三极管饱和此时,+5V电源经三极管,再通过继电器线圈接地,继电器线圈得电,使继电器的常开触电闭合,2

27、50的电阻接入电路当中,电话接通。当用户输入密码错误,或者是操作结束后,系统由软件控制PNP1截止,继电器线圈失电,常开触点断开,电话线又处于开路状态,从而实现模拟挂机。摘/挂机电路部分VHDL程序如下: process(clk,stop,busy,en,delay) begin if(clkevent and clk=1) then if(reset=1 or stop=1) then /*复位或拨号完成后挂机*/ pick=0; els if(en=1) then /*信号触发摘机*/ if(busy=0) then pick=1; els if(delay=1) then /*遇忙延时后

28、重新摘机*/ pick=1; else pick=0; /*遇忙挂机*/ end if; end if; end if; end process; 3.3 DTMF解码电路 3.3.1 DTMF 接受的频率标准DTMF(Dual Tone Multi Frequency)双音多频信号解码电路是目前在按键电话(固定电话、移动电话)、程控交换机及无线通信设备中广泛应用的集成电路。它包括DTMF发送器与DTMF接受器,前者主要应用于按键电话作双音频信号发送器,发送一组双音多频信号,从而实现音频拨号。双音多频信号是一组由高频信号与低频信号叠加而成的组合信号,CCITT和我国国家标准都规定了电话键盘按键

29、与双音多频信号的对应关系如表1所示:电话远程控制系统采用MITEL公司生产的MT8870 DTMF接受器作为DTMF信号的解码核心器件。MT8870主要用于程控交换机、遥控、无线通信及广播系统,实现DTMF信号的分离滤波和译码功能,输出相应16种频率组合的四位并行二进制码。MT8870具有拨号音抑制和模拟信号输入可调功能,所以在设计MT8870 DTMF解码电路时,只需外加一些阻容元件即可。高频低频 1209hz1306hz1477hz1633hz669hz123A770hz456B852hz789C941hz*0#D 表一 电话键盘与DTMF的关系本系统的双音多频DTMF信号解码电路由MT8

30、870主要承担。MT8870的连线如图3.2-3所示,其的2、3脚接收来自电话机的双音多频脉冲信号该双音多频信号先经其内部的拨号音滤波器,滤除拨号音信号,然后经前置放大后送入双音频滤波器,将双音频信号按高,低音频信号分开,再经高、低通滤波器,幅度检测器送入输出译码电路,经过数字运算后,在其数据输出端(1114脚)输出相对应的8421码。图3-3 DTMF信号解码电路3.3.2 DTMF 接受的时间序列标准根据 ITU-T Q.24 建议,DTMF 信号的技术指标是:传送/接收率为每秒 10 个号码,或每个号码 100ms。每个号码传送过程中,信号存在时间至少 45ms,且不多于 55ms,10

31、0ms 的其余时间是静音。在每个频率点上允许有不超过1.5%的频率误差。任何超过给定频率 3.5%的信号,均被认为是无效的,拒绝承认接收。另外,在最坏的检测条件下,信噪比不得低于5dB。3.3.3 DTMF 整体设计思想和方法 要设计一个能够完成 DTMF 信号的接收及判别电路系统,可以考虑的方案有很多,可以选择利用 MCU 编程实现,利用 DSP 编程实现,但是为了实现较好的性能,以及合理的电路结构,设计采用了纯数字电路的实现方法。设计的主要功能是完成经 A/D 采样的数字信号的滤波和频率判断,检测整个信号的时序并完成接口控制。其中: 1) high_tone 滤波和 low_tone 滤波

32、完成数字信号的滤波。 2) high_tone 过零检测和 low_tone 过零检测根据过零率大小来检测信号的频率。 3) decode 结果输出部分完成译码并同时采用 LED 进行显示3.4 语音提示电路 主要用来存储及播放语音以提示用户执行相关操作。本部分电路主要由ISD2560 系列芯片及其外围附件组成。本电路的作用是在用户进行操作的过程中进行相关的语音提示,这部分电路的硬件并不复杂,但提示音的播放需要程序参与。本系统采用ISD2560 实现语音提示的存储与播放提示。分别在FPGA 的控制下提示用户输入密码,输入操作码,修改密码等一系列操作。本部分电路还有一个可开关的喇叭,可用来提示现

33、场。电话远程控制系统利用语音提示电路实现用户和系统的交流。语音提示电路预先存储若干段系统提示音,FPGA中央处理单元电路判断用户发送的DTMF信号后,对语音提示电路进行寻址,播放相应的提示音,从而向用户反馈信息提示下一步该如何操作。本系统选用美国ISD公司的ISD2560单片语音录放集成电路作为语音提示电路的核心部分。ISD2560采用EEPROM存储器,信息可永久保存,零功能存储;它还采用了DA盯直接模拟量存储技术,因而能较好地保留语音信息中的有效成分,提高录放音的清晰度。ISD2560可以存储长达90s的语音,能够实现1600段语音分段,每段录放音均有一个起始端,该起始端地址选择由A0A9

34、确定。ISD2560的外围电路也非常简单,只需少许阻容元件即可。检测 DTMF信号以后,根据软件设定,对语音电路进行寻址放音。例如系统收到用户发出“1234,用户密码信号时,若密码正确,则寻址播放语音提示“密码正确,否则,寻址播放语音提示“密码错误。 原理分析 电路可录放3260 s,串行控制时可分256段以上,并行控制时最大可分8段。与ISD公司同类芯片相比,它具有价格便宜,有多种手动控制方式,分段管理方便,多段控制时电路简单,采样速度及录放音时间可调,每个单键均有开始、停止、循环多种功能等特点。 图3-4 语音提示电路1.3 电器控制电路原理说明:本单元电路主要是由反向电路、D触发器和继电

35、器等控制电路组成。电路图如图35所示。首先,单片机AT89C51从P0口的八位都用作输出控制信号。这八位数据连接八个反向器进行整流隔离,然后连接D触发器进行数据锁存。每个D触发器的输出端都控制一路继电器,而每一路继电器也控制一路电器的开关。二极管指示灯串联在开关三极管基极作为电器开关指示。这样就可以完成单片机对多路电器的控制。设计采用控制带有继电器的电源插座来实现对家电的最终控制,诸如电饭煲、热水器、空调之类的电器只需插上插头,主控单片机即可通过控制插座中各继电器来控制电器电源的通断。该方式简单且易于实现。图3.7所示的为一路电器控制电路图,在本装置中一共有八路电器可以控制,其它电器控制相同。

36、3.1 器件EEPROM的介绍3.1.1 EEPROM简介 EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器-一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。 EEPROM即电可擦写可编程只读存储器,其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候是可频繁地重编程的,EEPROM的寿命是一个很重要的设计考虑参数。EEPROM的一种特殊形式是闪存,其应

37、用通常是个人电脑中的电压来擦写和重编程。DRAM断电后存在其中的数据会丢失,而EEPROM断电后存在其中的数据不会丢失。 另外,EEPROM可以清除存储数据和再编程。 3.1.2 常用串行EEPROM的简介1) 引脚描述SCL:串行时钟SDA:串行数据A20:设备地址、页地址WP:写禁止VCC:电源供电GND:地2) 内存管理 以Atmel公司的2线EEPROM为例,从AT24C01AT24C16,其内存架构分别由16page*8byte、32page*8byte、32page*16byte、64page*16byte、128page*16byte组成。寻址字节需要711bit的数据字。AT2

38、4C32和AT24C64分别由128page*32byte、256page*32byte组成。系统提供了2个字节的寻址数据字。3) 器件操作 时钟和数据传输:SDA引脚正常状态下由外部器件拉高。SDA上的数据只有在SCL为低的时间段才能进行改变,在SCL为高时SDA数据的更改会表现为如下所述的一个开始条件或者一个结束条件。开始条件:SCL为高,SDA由高变为低是一个开始条件,开始命令优先于其他所有的命令。结束条件:SCL为高,SDA由低变为高是一个结束条件。在一个读序列之后的结束命令,会将EEPROM置于一个待机电源模式。4)响应:所有的地址和数据字都是以8bit字,串行的传入或者传出EEPR

39、OM。在第九个时钟周期,EEPROM发出一个0来作为收到一个字的响应信号。3.1.3 EEPROM应用中出现问题以及处理的办法 在实际应用过程中,发现一些问题,整理如下,希望能够对各位有所帮助。因快速操作E2PROM造成读写数据出错: 在实际应用中有时会发现对E2PROM的读写会有随机的出错现象,而程序控制上检查不出有任何问题,从示波器上捕获的波形来看读写操作波形正常,但读操作时从E2PORM传输出的数据与E2PROM实际存储的数据不同,对写操作而言波形显示的写入数据与预期相同,但写操作完毕后E2PROM中存储的数据确与写入数据不符。这种现象有时会随机出现,但根据示波器捕获的波形判断与控制程序

40、本身无关,并且可以排除硬件问题,在查阅E2PROM规格书后发现有一个很容易忽略的参数:TDHDL,此参数用于规定当对E2PROM进行一次I2C操作后必须再等待一段时间才能再对E2PROM进行I2C操作。TDHDL如下图所示图 3-5 TDHDL 当对E2PROM访问完成后,如果没有等待大于TDHDL定义的时间就对E2PROM进行新的访问(无论是读或写),将可能出错,读出或写入的数据无法保证正确。上诉问题就是由此引起的。解决措施: 在每次访问E2PROM前或每次访问E2PROM后强制等待大于TDHDL规定的时间肯定可以解决此问题,但会增加每次访问E2PROM的时间,人为降低了系统的性能。 针对此

41、情况,可以定义全局变量,用于指定访问E2PROM需要等待的时间,每次访问完E2PROM后设置此全局变量大于等于下次访问需要等待的时间,然后结束本次访问并返回主程序。此全局变量将在定时中断中根据系统运行时间的消耗进行修订。在访问E2PROM时首先检测上述全局变量中要求等待的时间是否已经完成,如果完成就可以立即进行E2PROM的访问,如果没有完成就强制等要求等待的时间完成后再进行E2PROM的访问,从而解决此问题。连续进行写操作会出现错误: 在连续进行对E2PROM的操作时会可能会出现数据不能够正确写入E2PROM。此时如果用示波器捕获波形,将会发现写操作的波形与需要的操作完全符合,但操作完成后E

42、2PROM中存储的数据却与写入数据不符。引起此问题的原因为没有等待足够的时间供E2PROM进行写入。在进行写操作时,E2PROM内部硬件具备缓冲寄存器,待写入的数据不是直接写入指定地址存储器中,而是先存储在缓冲寄存器中,然后再通过内部电路写入指定地址存储器中。当通过I2C协议将需要写入的数据写入E2PROM的缓冲寄存器后,I2C传输完成,此时需要等待一段时间供E2PROM进行从缓冲寄存器写入指定地址存储器中,否则写入数据可能失败,造成写操作出现错误。图3-6解决措施:使用语音快速操作E2PROM造成读写数据出错类似的方法,定义一个全局变量,用于指定写入E2PROM需要等待的时间,每次对E2PR

43、OM进行写操作后设置此全局变量大于等于E2PROM写入数据需要等待的时间,然后结束本次写操作并返回主程序。此全局变量将在定时中断中根据系统运行时间的消耗进行修订。在每次访问E2PROM时首先检测上述全局变量中要求等待的时间是否已经完成,如果完成就可以立即进行E2PROM的访问,如果没有完成就强制等要求等待的时间完成后再进行E2PROM的访问,从而解决此问题。使用页写操作时出现错误:E2PROM支持页写或多字节连续写操作,实际应用过程中可能出现写操作错误,表现为写入数据没有写入期望地址,同时会将期望地址附近数据破坏。进行页写或多字节连续写操作时,首先需要指定地址,然后连续传输指定地址及跟随其后的

44、地址对应的数据,E2PROM硬件在进行写操作后时会自动对操作地址加1,以方便下一次操作。但是E2PROM这种地址自加操作对应写操作而言自是针对子地址的低几位(具体是几位与E2PROM硬件有关,不同厂家的E2PROM有所区别),当参与自加的低几位地址都加到二进制的“1”时,再次操作完毕后自加的结果将会使低几位地址变为“0”,即操作地址指针跳回本页的起始地址,而不是继续增加。如可以进行16字节页写的E2PROM,即参与自加的子地址为低4位,如果从0x010开始连续写不超过16字节数据将不会出错;而从0x011开始连续写16字节数据将会出错,E2PROM内部地址自加电路将会把前15个字节数据写入0x

45、0110x01f中,这部分为正确的,而第16个字节的数据将会写入0x010中,而不是预期的0x020中。解决措施: 当需要进行页写或连续多字节写入时,首先需要对数据长度和起始写入地址进行判断,如果可能存在E2PROM地址自加出错现象,需要将需要操作的数据分为两部分,先将前面数据通过连续多字节写操作写入E2PROM的自加地址结束处,然后再循环进行页写操作或多字节连续写操作。使用读操作引起的失误:E2PROM支持多字节连续读操作,实际应用过程中可能出现读操作错误,表现为读出数据与E2PROM实际地址对应数据不符。进行多字节连续读操作时,首先需要指定地址,然后读取指定地址及跟随其后的地址对应的数据,E2PROM硬件在进行读操作后时会自动对操作地址加1,以方便下一次操作。但是当所访问的地址超过MEMORY的最大容量时,EEPROM的数据读取将会发生“卷边”,操作地址跳回该EEPROM的起始地址,然后再顺序自加。解决措施: 当需要进行读取连续多字节时,首先需要对数据长度与起始读取地址进行判断,如果可能存在E2PROM地址自加出错现象(越限现象),则需要做相应的出错处理,或者返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号