单片机
返回首页

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

2011-10-25

1三线制Microware串行总线
  三线制Microware同步串行总线接口是松下半导体公司在其生产的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年以上,采用单一电源+5V供电,低功耗工作电流400μA,备用时为25μA,三态输出,与TTL电平兼容。
  NM93C06/46/56/66是松下半导体公司的产品,与其兼容的有Microchip公司的93C06/46/56/66(4.5V~5.5V)、93LC/46/56/66(2.0V~6.0V)、93AA06/46/56/66和Atmel公司的AT93C46/56/66,其封装形式如图1。

    引脚说明:CS:片选信号;SK:串行时钟输入信号,是微处理器与EEPROM之间通信的同步信号,数据在它的上升沿锁定有效;
    DI:数据输入;
    DO:数据输出;
  ORG:Microchip公司产品特有引脚,接Vcc时内部存储组织结构是16位为一个单元,接GND时内部存储组织结构是8位为一个单元。
    芯片有7种指令,指令集的安排见表1。表1

 

  注意:在操作码为00时,为了区分不同指令,借用地址的前两位来识别。此外还有整片写指令(WRAL-Write All)和整片擦除指令(ERAL-EraseAll)。
  不同型号的EEPROM有不同的存储空间,93C66有512字节的存储空间,其地址为A8…A0,在编程时A8可以作为操作指令字节的最后一位,如:读93C66中某个存储单元(8位)中的数据,读指令0000110A8,地址码××××××××,如果A8为0,则地址00H…FFH,如果A8为1,地址为100H…1FFH。而93C06/46/56的存储空间不超过256个字节,A8始终为0。
  有关93C06/46/56/66的具体操作时序见参考文献〔1〕。
3三线制Microware总线EEPROM在MCS┐51单片机上的运用
  串行EEPROM技术是一种非易失性存储器技术,它是嵌入式控制解决方案中的先进技术,在MCS-51单片机应用系统中可用于数据的掉电保护、可在线设置参数的存储、用户在线可编程查表法中的表格存储、微控制器I/O线较少情况下的应用等等场合。
  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表示数据已写入指定的地址中,为0则表示正在编程,AT89C51可以查询P1.3的状态来决定是否继续操作。读操作时,P1.1由低变高,AT89C51经P1.3从AT93C66读入1位数据,循环8次,读入1个字节。根据操作时序可以写出AT90C51与93C66连接时的操作程序。
                            
  模拟三线制Mircroware串行总线的操作源程序。根据AT93C66的指令集,规定如下指令格式:
  指令格式:00001××A8,其中1为起始位,××为操作码,A8为第9位地址码;
  读指令(READ):00001100,即0x0c(如果对93C66的100H…1FFH地址空间操作,则指令最后一位为1,写和擦除指令均如此);
    写指令(WRITE):00001010,即0x0a;
    擦除指令(ERASE):00001110,即0x0e;
  擦/写允许指令(EWEN):0000100110000000,即0x0980,该指令分两次写入;
  本程序用C51语言编写(不包括整片写和擦除功能)
  
  
  
  
  
  
 
  
  
  

 

  参 考 文 献
1 窦振中.单片机外围器件实用手册存储器分册.北京:北京航空航天大学出版社,1998
2 徐爱钧,彭秀华.单片机高级语言C51应用程序设计.北京:电子工业出版社,1998
3 白驹衔,雷晓平.单片计算机及其应用.成都:电子科技大学出版社,1994
进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 优化电路板布局的简单方法

  • 一个简单的立体声平衡指示器电路

  • 电谐波图形均衡器示意图

    相关电子头条文章