EEPROM驱动程序的开发设计

来源 :网络与信息 | 被引量 : 0次 | 上传用户:doboho
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  1引言
  
  电可擦除、可编程只读存储器(Elec-ricallyErasableProgrammableRead-OnlyMemory,以下简称为EEPROM),具有存取速度快,可以随机访问,并在掉电时,不会丢失任何信息等优点。对EEPROM进行编程时,无须将它从原插座中取出,擦除信息方便,不需任何条件。由于它本身所具有的普通存储芯片没有的优点,因此,有一定应用前景。
  
  2EEPROM的硬件分析
  
  EEPROM的擦除不需要借助于其他设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入。EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用专用刷新程序就可以轻而易举地改写内容,所以,它属于双电压芯片。借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,可以方便地升级和控制。
  
  3EEPROM设计原理与指令
  
  (1)起始条件:如果CS和DI引脚在CLK出现首个上升沿的时候同时为高电平,器件就视之为起始位。
  (2)数据输入/数据输出(DI/DO):数据输入引脚和数据输出引脚可以连接在一起。驱动器电流源输出能力越强,数据输出引脚上的电压就越高。为了限制电流,应该在DI引脚和DO引脚之间串接一个电阻。
  (3)数据保护:如果VCC低于1.5V的典型电压值或3.8V的典型电压值,所有的操作模式都将被禁止。在正常操作过程中,EWEN和EWDS命令可以提供额外保护以避免发生意外编程操作。
  (4)擦除(ERASE):ERASE指令使指定地址的所有数据位都强行设置为逻辑1状态。DO引脚为逻辑0表明编程仍在进行。DO引脚为逻辑1表明指定地址的寄存器已被清空,器件准备好执行下一条指令。
  (5)全部擦除(ERAL):全部擦除(ERAL)指令会把整个存储器阵列清空,即设置为逻辑1状态。
  (6)擦写禁止和使能(EWDS/EWEN):93XX系列器件上电后处于擦写禁止(EWDS)状态。执行EWEN指令,将一直保持编程使能,直至执行EWDS指令或器件不连接VCC信号。EWDS指令可用来禁止所有的擦写功能。
  (7)读(READ):READ指令把所寻址的存储单元中数据串行输出到DO引脚。在CS保持高电平期间可进行连续读取操作。存储器上的数据将会自动周期性地转移到下一个寄存器中,然后依次输出。
  (8)写(WRITE):WRITE指令执行完后,将在指定的地址内写入8位(如果ORG为低电平或A版器件)或16位数据(如果ORG为高电平或B版器件)
  (9)全部写(WRAL):全部写(WRAL)指令将会在整个存储器阵列中写入命令中所指定的数据。
  4EEPROM的设计过程
  
  该EEPROM占用4个端口:
  (1)SK310
  (2)CS311
  (3)DI312
  (4)DO313
  本驱动是运行在用户空间的,实现了EEPROM提供的6个功能:读一个单元、写一个单元、擦除一个单元,擦除所有单元、擦除/写使能、擦除/写禁止。
  (1)读:先串行地向EEPROM的DI端口写入读的命令代码110,接着写入想读的单元的地址,再使用inb()函数就可以读出相应单元中的数据。
  (2)写:先串行地向EEPROM的DI端口写入写的命令代码,接着写入想写的单元的地址,最后,写入想写的数据,接着使用outb()向EEPROM中写数据。由于EEPROM的速度一般比较慢,不能立即写下一个数据,必须等待设备已经写完一个数据才能继续写下一个数据。可以通过读取端口DO来判断比较设备是处于就绪还是忙状态。在写之前必须先使擦除/写使能打开。
  (3)擦除:擦除有两种情况,一种是擦除某一个具体的单元,擦除的过程是先向EEPROM写入ERASE的命令代码,接着写入要擦除的单元地址,EEPROM就会执行擦除的动作,单元擦除后的值默认为0xFF。另一种情况是擦除所有的单元,只需要向设备发出ERAL的命令就可以了,设备会自动地擦除所有单元。
  (4)用户接口:给用户提供了六个功能函数:
  a.读
  提供了两个读函数,分别实现读取一个字节的数据和多个连续单元的数据。
  intread_eeprom_b(intindex,unsignedchar*value)
  intread_eeprom_a(intstart,intcount,unsignedchar*buf)
  b.写
  与读一样,同样有两个接口函数,分别实现写一个字节数据和多个字节数据。
  intwrite_eeprom_b(intindex,unsignedcharvalue)
  intwrite_eeprom_a(intstart,intcount,unsignedchar*buf)
  c.擦除
  擦除也有两个函数接口,一个为擦除某个单元,一个为擦除所有单元。
  interase_eeprom_b(intindex)
  interase_eeprom_all()
  
  5EEPROM的测试
  
  通过debug的d命令可以很方便地观测到存入到EEPROM中的数据。在C:dos622目录下直接调用Debug程序(命令格式为:-dd000:0000,ffff)就可以观测到EEPROM中各单元的值。
其他文献
一、项目简介     最近笔者为本地一家宾馆提供了基于有线电视网络的双向点播服务项目,下面是有关此项目双向线路改造方面的设计方案。   首先了解清楚了该宾馆的楼层结构,经过实地考察,得到的信息如下:该宾馆用于住宿的楼层为10层至24层(共计15层),每层均有客户,除顶层24层的客房较少外,其它楼层的客房房间均为15间。     二、线路设计原则     该宾馆为新建宾馆,所以在有线电视网络
摘要:计算机网络系统是数字化医院信息发展的基础平台。智能化网络建设是通过对网络环境和网络设备合理、科学地构建及配置实现医疗信息、影像信息、设备信息等医院各项工作的信息化、智能化管理。  关键词:计算机网络;数字化医院;智能化    随着网络技术。信息通信领域的不断进步,医院的信息化建设进程得到了迅猛发展,如何建立优质高效的网络系统,利用先进的网络技术提高医院的管理水平和服务质量,是医院信息化建设中
本文利用挣值分析的项目管理方法,提出了利用信息化管理工具对项目过程跟踪监控的设计思想。
扫描仪技术发展一日千里,对于公司、企业用户来说,可以帮助他们实现数字化管理,无需浪费空间把资料存档。但是选购扫描仪是一件挺头疼的事情,采购人员对一些专业的技术参数和选购要点不熟悉,就很容易被商家忽悠。今天,小编就把自己对扫描仪选购的一些心得体会与大家分享,希望帮助读者选购到合适的产品。
目前主板已经朝着更多功能化迈进,厂商在提高主板超频性能以及兼容性的同时,还提供了一些独特的功能,如节能、32相供电等。随着时间推移,很多昔日还高高在上的应用慢慢进入主流,不知不觉融入到我们的生活中。以无线主打特色的产品遍布全球,DIY的PC除了可以使用无线键鼠降低机箱背部走线之外,难道就别无他法?最近有不少厂商高举无线旗号,推出了多款主打无线的主板,其中无线网络(Wifi)就是其中之一。目前市售主
与其他媒体一样,网站也是一个媒体,同样需要经常更新维护才会起到既定的商业效果。网站日常运营维护的好坏决定了顾客对网站的感受和印象,在非常大的程度上影响顾客是否会对
全业务运营的环境下,三网融合已不再仅仅是个概念的纲要,或者是政府鼓励的趋势,而是在市场竞争的浪潮以及用户需求的提升中到了逐步落实的阶段。不容置疑地说,IPTV是三网融合取得进展的最佳突破口。IPTV在很多地区的成功案例都说明。未来在“两网融合”的平台上搭建通信网的接入,将会成为政府促进融合的重要开端。电信将IPTV作为基于传统业务上的重要的新业务增长点,虽然在以往的部署中面临一定困境,然而在经验的
网络安全防范是指,计算机网络系统资源和信息资源不受自然和人为因素的威胁和危害,不因偶然的或者恶意的原因而遭到更改、泄露,确保系统能连续可靠地运行,使网络服务不中断,硬件投