ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:162KB ,
资源ID:3100942      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3100942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(常用串行eeprom应用.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

常用串行eeprom应用.doc

1、SPI 总线SPI 总线(Serial Peripheral Interface 串行外围设备接口总线)是三线式的串行总线,是由摩托罗拉公司所研发,使用三线进行数据传输,分别是 SCK 时钟引脚,SI 数据输入引脚和 SO 数据输出引脚,另外还有 CS 片选引脚可以对同一总线上的芯片进行选通使用,SPI总线已被广泛使用在 EEPROM、单片机和各种设备中。常用串行 EEPROM 中的 25XX 系列芯片就是使用兼容 SPI 总线结构,采用先进 COMS 技术,体积小,是一种理想的低功耗非易失性存储器,广泛使用在各种家电、通讯、交通或工业设备中,通常是用于保存设备或个人的相关设置数据。ATMEL

2、 公司生产的 25 系列的 EEPROM 存储容量从 1K 位到256K 位。其它一些芯片也会用到 SPI 总线,如常用的 CPU 监控芯片 X5043、X5045 就带有 512 字节的 SPI 界面 EEPROM,常用于单片机系统的看门狗电路,同时也可以提供小数据量的存储,给电路设计带来很多的方便。此文将用 X5045 为例讲述 SPI 的编程应用和X5045 的一些其它功能。X5045 由 Xicor 公司出品,电压范围有 2.7V 到 5.5V 和 4.5V 到5.5V 二个版本,擦写次数可达一百万次,最高时钟频率可达 3.3MHz。图一是 X5045 的PID 封装实物图。图 1图

3、2图二是 X5045 的引脚定义图。 CS/WDI 是片选和看门狗复位输入,当 CS 为高时 SO 引脚变为高阻态,这时可以允许其它器件共用 SPI 总线,同时芯片也处于休眠状态,当 CS为低时芯片被选中,并从休眠状态中唤醒,可以进行读写操作。SO 是串行数据输出,在读芯片时数据从此脚输出。WP 是写保护引脚,当 WP 为低时芯片写保护,不能对芯片写操作,但其它功能不受影响。Vss 是电源地。SI 是串行数据输入,接收来自控制器的数据和地址。SCK 是串行时钟输入,RESET 是复位输出,Vcc 是电源。在 25 芯片中还有一个HOLD 引脚,此引脚的功能是保持输入脚,ATMEL 公司生产 2

4、5 芯片的 HOLD 引脚是低电平有效。不用此功能时,HOLD 引脚要保持高电平。在芯片正在串行传输时,将 HOLD 拉为低电平,可以暂停进一步的传送,具体方法是 SCK 变低后,将 HOLD 也拉低,不然在下一个 SCK 变低前不能暂停传送,要恢复串行传送,必须在 SCK 为低电平时将 HOLD 拉高。芯片处于暂停时,SI,SO,SCK 脚为高阻状态,任何时刻只要 HOLD 被拉低时,SO都会处于高阻状态。限于文章的篇幅,下面内容只着重介绍 X5045 芯片的 SPI 总线对 EEPROM 单元的编程应用。在 X5040 芯片中有 6 个指令,它和 25 系列芯片的指令是兼容的,也就是说在

5、25系列芯片中使用时基本上是不需要改变的,具体见表一。指 令 指令格式 说 明WREN 0000 0110 写入允许WRDI 0000 0100 写入禁止RSDR 0000 0101 读状态寄存器WRSR 0000 0001 写状态寄存器,用于操作区块写保护标识和看门狗标识READ 0000 A8011 读数据WRITE 0000 A8010 写数据注:A8 用于数据地址的第 9 位。 表一 指令集写入允许和禁止X5045 芯片内部有一个写入使能寄存器,在需要向芯片写入数据时,需要先用 WREN指令使片内写入使能寄存器先置位,写入数据后可以用 WRDI 指令使寄存器复位到禁止状态。当上电、WR

6、SR 指令执行、WRITE 指令执行、WP 拉低也会使写入使能寄存器复位到禁止状态。图三是 WREN/WRDI 指令的操作时序图。首先要把 CS 拉低,输入数据,向SCK 输入时钟信号,数据在时钟的上升沿有效,时钟上升后至少数据至少保持 30ns。数据是串行的,所以在每个时钟周期的上升沿发送一个位。在操作这两个指令时,SO 是处于高阻状态的。图 3 写入使能时序读写状态寄存器X5045 片内有一个状态寄存器,用于指于芯片的状态和设置,可以读写,芯片出厂时状态寄存器值为 30H。具体每位的功能请看表 2。WIP 写入保护位,是只读位,指示芯片是否正忙于写入操作。当 WIP 为“1“时,说明写入正

7、在进行,为“0“时表示没有进行写入。在编程时,写入数据操作后,可以查询 WIP 位,当 WIP 为 0 后才进行下一次的写入操作,这样可以避免写入出错。WEL 写入使能状态位,是只读位。WEL 位的状态由 WREN 和WRDI 指令确定,WREN 成功执行后 WEL 为“1“ 指示允许写入数据,WRDI 指令成功执行后 WEL 为“0“ 指示禁止写入数据。在编程时可以先查询 WEL 位的状态,如为 0 时则要执行 WREN 后才可以进行写入操作。BL0、BL1 设置当前保护的区块地址,是可读写位,这两个位的设置和区块地址的关系如表 3,区块的内容被保护后,就只能读出而不能写入了。25 系列芯片

8、中不同型号的芯片容量不一样,BL 设置所保护的范围也不一样。WD1、WD0看门狗设置位是 X5045/43 特有的设置位,是可以读写位,在 25 系列芯片中这两个位是保留位,在 X5045 中有看门狗功能,这两个位就用于设置 MCU 喂狗的时间,表 4 是看门狗位的设置时间。状态寄存器的第 6 和第 7 位是保留位。读状态寄存器时,发送完 RSDR 指令后,SO 由高阻态转为输出数据,从数据位的高位开始。写状态寄存器,发送完 WSDR指令后,再发一个字节的状态数据就可以了,其中只读位可以是“1“也可以是“0“ ,它们不会被 WSDR 指令所更改。图 5、图 6 是读写状态寄存器的时序图。7 6

9、 5 4 3 2 1 00 0 WD1 WD0 BL1 BL0 WEL WIP0 0 看门狗位1 看门狗位0 区块保护1 区块保护0 写入使能状态位 写入保护位表 2 状态寄存器定义BL1 BL0 保护地址范围0 0 无保护0 1 180H1FFH1 0 100H1FFH1 1 000H1FFH表 3 BL 设置位WD1 WD0 喂狗时间0 0 1.4 秒0 1 600 毫秒1 0 200 毫秒1 1 功能禁用(出厂设置)表 4 看门狗设置位图 4 读状态寄存器时序图 5 写状态寄存器时序读数据图 6 是读数据时的时序,先拉低 CS 选中芯片,先要把需读取的地址的第 9 位加到指令字节的第 4

10、 个字节中,发送完指令字节就发送地址字节的前 8 位,这时 SO 就会由高阻态转为输出数据。每当一个字节的数据传送完毕后,芯片内部的地址指针自动加 1,指向下一个数据地址,这时如仍有时钟脉冲时,数据会被继续输出,CS 脚拉高后输出才会终止。当最高位地址的数据被读出后,地址指针指向 00H。图 6 读数据时序(点击看大图)写数据在向芯片写入数据之前,写使能寄存器必须处于置位状态,一般可以不必查询写使能寄存器的状态,而直接用 WREN 置位写使能寄存器。在发送完 WREN 指令后,必须把 CS拉高,在 CS 拉高之前写使能寄存器并没有置位,这时向芯片传送数据是不会被写入的。写使能寄存器置位后,再将

11、 CS 拉低,把需读取的地址的第 9 位加到指令字节的第 4 个字节中,发送完指令字节就发送地址字节的前 8 位,然后发送需写入的数据。WRITE 指令可以连续写入 16 个字节,但这 16 个字节的地址必须在同一页中。每一页的地址由xxxxx0000开始,到xxxxx1111结束。操作方法就是在发送完每一个地址和数据后,继续发后面的数据,芯片内部的地址指针会自动累加,当达到页中最后一个字节时,时钟仍在继续,则内部地址指针回到页中第一个地址重新开始累加,并覆盖以前写入的数据。要注意的是,在操作过程中 CS 不能拉高,只有在数据字节的最后一个位传送完成后才可以拉高 CS,不然写入操作将不完全。在

12、写入数据或写状态寄存器指令写送后,芯片会进入一次非易失性写操作,这会花费一定的时间,最大约为 10ms,在这个时间内可以用读状态寄存器,并检查 WIP 位,当 WIP 为 1 时则说明写入还在进行中,只有当 WIP 位为 0 时才可以进行下一次的读写数据操作,否则将会使写入不完全。图 7 写数据时序(点击看大图)下面我们用 AT89C2051 和 X5045 为主做一个密码控制器实验。使用 X5045 的看门狗功能可以使电路在受到干扰或特殊情况死机后,可以自动复位重启电路,使电路保持正常工作。使用 X5045 的数据读写功能,可以保存密码,也可以修改密码。本文附带的实例程序演示 X5045 的

13、状态寄存器的读写、存储位的读写,里面的功能函数可以直接移植到别的程序中。电路上电后,红色 LED 亮,当按下按键时绿色 LED 闪亮一下,当按下“3,1,5,8,1,8“,密码正确,红色 LED 灭,绿色 LED 亮,继电器打开,10 秒后回到上电时的状态。当按下第一次按键后 20 秒内没有按下正确的键值,则会进行下一次键值输入。程序可以方便修改成可以方便更改密码的程序,也可以加入记录工作次数的程序等等,升级成更实用的程序。图 9 是笔者用万用板搭建成的实验电路。在上一篇提供的 EEPROM 读写器电路及程序也支持 25 系列芯片和 X5043/45 芯片,可以直接使用它来读写。图 7 原理图(点击看大图)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。