首 页科技博览科普图片植物王国动物世界科普常识农村科普生活科普信息技术科普创作自然之谜
历史今天留言繁體中文
设为首页
加入收藏
联系我们
您当前的位置:科普知识网 -> 电子电工 -> IC电子 -> 博览内容 退出登录 用户管理
 

· 有线电视 · 电子系统
· 显示元件 · 接口电路
· 存储器 · 无线通信
· 传感控制 · EDA/PLD
· 单片机 · DSP技术
· 模拟技术 · 通信网络
· 测试仪表 · 视频音频
· 芯片应用 · 电子通信
· IC电子 · 电子设计
· 自控测量 · IC嵌入式
· IC系统 · EDA系统
· 传感控制 · 电源技术
· 接口电路 · 消费电子
· DSP产品 · 元件工艺
· 模拟技术 · 存储器设备
· 设计应用 · 智能网应用
· 电子电源 · 电子传感
热门博览
· 涡轮
· 什么是路肩?硬路肩?..
· 神秘的海底世界
· 民用飞机
· 电路设计
· 梁桥
· 航空发动机
· 环保--功在当代,利..
· 气球
· 双曲拱桥是一种什么..
相关博览
· 视频、音频、数据三..

三线制Microware同步串行EEPROM在MCS-51单片机上的运用

作者:佚名  来源:不详  
2006年5月21日 星期日    网站首页  技术文章  电子书籍  下载中心  产品展示  技术论坛  电子博客  电子黄页  
联系站长
加入收藏
会员登陆
 您的位置: 技术文章 >> 微控制器 >> [专题]51单片机 >> 正文 本站完成了与论坛整合 论坛金钱与网站点币为对等使用  [tanggl  2006-05-04 12:16:07]      本网站正在升级中  [中国电子设计网  2006-02-25 20:45:52]      
   □  三线制Microware同步串行EEPROM在MCS-51单片机上的运用   3星级
三线制Microware同步串行EEPROM在MCS-51单片机上的运用
[作者:厦门大学机电工程系 扈宏毅 游龙翔    转贴自:国外电子元器件    点击数: 42    更新时间:2005-9-22
【字体:
<---->
摘  要:介绍了三线制Microware串行总线及相关的EEPROM,给出了该类具有三线制Microware总线的EEPROM与AT89C51的连接方式和软件模拟,同时给出了采用C51编写的模拟三线制Microware串行总线的操作源程序。
    关键词:三线制;串行总线;EEPROM;MCS-51


1 三线制Microware串行总线
  三线制Microware同步串行总线接口是NationalSemicondutor公司在其生产的COP系列和HPC系列微控制器上采用的一种串行总线,它使用的三根信号线分别为数据输入线SI、数据输出线SO和时钟信号线SK。由于三线制Microware总线只需3~4根数据线和控制线即可扩展具有三线制Microware总线的各种I/O器件,而并行总线扩展方法却需要8根数据线、8~16根地址线和2~3位的控制线,因此,使用三线制Microware串行总线可以简化电路设计,提高设计的可靠性。
2 三线制Microware总线的EEPROM
  EEPROM是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM在联机操作中可读可改写的特性,又具有非易失性存储器ROM在掉电后仍然能保持所存储的数据的优点。93C06/46/56/66是采用CMOS工艺制成的分别为64/128/256/512×8位或16/64/128/256×16位8引脚的可支持三线制Microware串行总线的EEPROM,其自定时写周期的自动擦除时间不超过10ms,Microchip公司的串行EEPROM的擦除和写入一个字节的时间可缩短到2ms以下,擦除/写入周期寿命一般都可达到10万次以上,有的产品(如NS公司和Microchip公司的产品)已可达到100万次,片内写入的数据保存寿命可达40年以上。这些三线制Microware总线的EEPROM一般采用单一+5V电源供电,低功耗时工作电流仅400μA,备用时为25μA,同时具有三态输出,并可与TTL电平兼容。
  NM93C06/46/56/66是National Semiconductor公司的产品,与其兼容的有Microchip公司的93C06/46/56/66(4.5V~5.5V)、93LC46/56/66(2.0V~6.0V)、93AA06/46/56/66和Atmel公司的AT93C46/56/66等产品,其中AT93C66的引脚排列如图1所示。各引脚说明如下:
    CS:片选信号;
  SK:串行时钟输入信号,同时也是微处理器与EEPROM之间通信的同步信号,数据在它的上升沿锁定有效;
    DI:数据输入;
    DO:数据输出;
  ORG:Microchip公司产品特有引脚。该引脚接Vcc时,器件的内部存储组织结构以16位为一个单元;接GND时,器件的内部存储组织结构以8位为一个单元。
  该芯片有7种指令,其中5种指令集的安排如 表1所列,此外,还有整片写指令(WRAL-Write All)和整片擦除指令(ERAL-Erase All)。应当说明的是:在操作码为00时,为了区分不同指令,通常借用地址的前两位来识别。

javascript:if(this.width>500)this.style.width=500;" border=0>

  不同型号的EEPROM有不同的存储空间,93C66有512字节的存储空间,其地址为A8~A0,在编程时,A8可以作为操作指令字节的最后一位,如果需要读93C56中某个存储单元(8位)中的数据,其读指令为0000110A8,地址码为××××××××,此时,如果A8为0,则地址为00H…FFH,如果A8为1,则地址为100H…1FFH,而93C06/46/56的存储空间不超过256个字节,其A8始终为0。
  有关93C06/46/56/66的具体操作时序可参考有关文献[1]
3 在MCS-51单片机上的应用
  串行EEPROM技术是一种非易失性存储器技术,它是嵌入式控制解决方案中的先进技术,可在MCS-51单片机应用系统中用于数据的掉电保护、在线设置参数的存储、用户在线编程查表法中的表格存储,以及在微控制器的I/O线较少情况下的应用等。

javascript:if(this.width>500)this.style.width=500;" border=0>

  MCS-51系列单片机没有三线制Microware串行总线接口,当它与93C06/46/56/66等具有三线制Microware串行总线的EEPROM连接时,应使用相应的软件来模拟三线制Microware串行总线的操作,其中包括串行时钟、数据输入和数据输出。图2为串行EEPROM芯片AT93C66与AT89C51单片机的硬件连接图,图中的R为上拉电阻,AT89C51的P1.0口用于模拟AT93C66的片选端CS,P1.1口模拟AT93C66的时钟输入端SK,P1.2口模拟它的数据输入端DI,P1.3口模拟数据输出端DO(DI和DO也可以连接在一起)。当在时钟的上升沿第一次检测到CS和DI都为高电平时,可启动AT93C66。在写操作时,首先使AT89C51的P1.1由低变高并产生一个脉冲,再在脉冲的上升沿将1位数据(先为高位)从P1.2输出到AT93C66中,并清P1.1为0,然后再置P1.1为1,随之P1.2又输出1位数据……依次循环8次,AT89C51便可完成1个字节的输出操作。在写入周期完成后,P1.0由高变低,并在保持最少100ns后变为高电平,这时93C66的DO线用来表示芯片的状态,DO为1表示数据已写入指定的地址中,D0为0则表示正在编程。利用AT89C51可通过查询P1.3的状态来决定是否继续操作,读操作时,P1.1由低变高,AT89C51经P1.3从AT93C66读入1位数据,并循环8次,然后读入1个字节,下面是根据操作时序写出的AT90C51与93C66连接时的模拟三线制Microware串行总线的操作源程序。
  首先根据AT93C66的指令集,规定如下指令格式:
  指令格式:00001××A8,其中1为起始位,××为操作码,A8为第9位地址码;
  读指令(READ):00001100,即0x0c(如果对93C66的100H…1FFH地址空间操作,则指令最后一位为1,写和擦除指令均如此); 写指令(WRITE):00001010,即0x0a 擦除指令(ERASE):00001110,即0x0e
  擦/写允许指令(EWEN):0000100110000000,即0x0980,该指令分两次写入。

javascript:if(this.width>500)this.style.width=500;" border=0>

  本程序可用C51语言编写,具体代码如下(不包括整片写和擦除功能):
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>
javascript:if(this.width>500)this.style.width=500;" border=0>

参考文献

1.窦振中.单片机外围器件实用手册存储器分册.北京:北京航空航天大学出版社,1998 2.徐爱钧,彭秀华.单片机高级语言C51应用程序设计.北京:电子工业出版计,1998
3.白驹衔,雷晓平.单片计算机及其应用.成都:电子科技大学出版社,1994

 

 

免责声明:作品版权归所属媒体与作者所有!!本站刊载此文仅为普及科学技术知识提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站核实后立即删除。kpzsnet#126.com (#改为@)
[] [返回上一页] [打 印] [收 藏]
∷相关博览评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 帮助 - 合作 - 声明 - 连接 - 地图 -
Copyright ?2002-2005 Kpzs.Net. All Rights Reserved .
BY::KPZS.NET