家电维修论坛

 找回密码
 请使用中文注册

QQ登录

只需一步,快速开始

搜索
新手快速入门友情链接新手学发贴无法收到EMAIL邮件
禁发广告贴旧版论坛老用户无法登录版主申请维修联盟网站大事记
查看: 1916|回复: 0
收起左侧

串行E2PROM的类型及应用(上)

[复制链接]
发表于 2003-2-17 22:42:00 | 显示全部楼层 |阅读模式

马上登录【中国家电维修联盟论坛】获取更多更全面的信息!

您需要 登录 才可以下载或查看,没有帐号?请使用中文注册

x
串行E2PROM的类型及应用(上)
9 E7 j9 c7 I' I1 u6 i& t! a4 t% ^* E2 t4 ^1 z, B# Z- M& d' t
5 U. {, x. m) {" \9 r+ O, d
: i$ d7 r( ?/ w, q5 K9 K% C
  串行E2PROM是可在线电擦除和电写入的存储器,具有体积小、接口简单、数据保存可靠、可在线改写、功耗低等特点,而且为低电压写入,在单片机系统中应用十分普遍。5 V; j5 [. p# X) R& J0 h. Q1 T
  串行E2PROM按总线形式分为三种,即I2C总线、Microwire总线及SPI总线三种。本文将以Microchip公司的产品为例对以上三种串行E2PROM进行介绍。
. R  y# y9 ~: @/ h  一、I2C总线型
1 j: @* U( A# \" e9 F! ]  I2C总线,是INTER INTEGRATED CIRCUIT BUS的缩写,即“内部集成电路总线”。I2C总线采用时钟(SCL)和数据(SDA)两根线进行数据传输,接口十分简单。Microchip公司的24XX系列串行E2PROM存储容量从128位(16×8)至256k位(32k×8),采用I2C总线结构。24XX中,XX为电源电压范围。
& ~$ T. u" b! s7 B' s  1?引脚
4 P: f, }4 y! ~- Z; R2 @0 H8 I( m  图1是24AA00/24LC00/24C00型128位I2C总线串行E2PROM的引脚图。
* L# p2 r( W2 |4 m  SDA是串行数据脚。该脚为双向脚,漏极开路,用于地址、数据的输入和数据的输出,使用时需加上拉电阻。
5 \4 T/ e/ J3 K+ C  SCL是时钟脚。该脚为器件数据传输的同步时钟信号。' P* A& H' D5 W: n+ ^6 |, O
  SDA和SCL脚均为施密特触发输入,并有滤波电路,可有效抑制噪声尖峰信号,保证在总线噪声严重时器件仍能正常工作。
3 f* N3 B+ p% E  }$ C! c! y  在单片机系统中,总线受单片机控制。单片机产生串行时钟(SCL),控制总线的存取,发送STRAT和STOP信号。
7 j- `/ N. W; o% t: g/ r8 Z  2?总线协议
7 \; J; ^* t0 P1 \4 m. U  ●仅当总线不忙(数据和时钟均保持高电平)时方能启动数据传输。
8 Q* x6 }  Q% F* m! x' N  ●在数据传输期间,时钟(SCL)为高电平时数据(SDA)必须保持不变。在SCL为高电平时数据线(SDA)从高电平跳变到低电平,为开始数据传输(START)的条件,开始数据传输条件后所有的命令有效;SCL为高电平时,数据(SDA)从低电平跳变到高电平,为停止数据传输(STOP)的条件,停止数据传输条件后所有的操作结束。
0 ~, [' D  z( A- Z7 \: u  ●开始数据传输START后、停止数据传输STOP前,SCL高电平期间,SDA上为有效数据。
; k- [" ]8 ?6 W8 c3 f  ●字节写入时,每写完一个字节,送一位传送结束信号ACK,直至STOP;读出时,每读完一个字节,送一位传送结束信号ACK,但STOP前一位结束时不送ACK信号。6 w6 `0 S: [# _. I
  3?器件寻址
- f3 p5 y. Q( R" a+ T  START后,单片机发送一个控制字,该控制字包括Start位(S)、受控地址(7位,对24XX00来说前四位为1010,后三位无关系)、读写(R/W)选择位(“1”为读,“0”为写)及传送结束位ACK。24XX00的控制字格式如下:
# p5 C/ T( F7 c5 J: c% k* G* m  S  1  0  1  0  X  X  X  R/W  ACK4 w$ h' p/ O  O8 m) D0 N
  24XX00随时监视总线上是否为有效地址,若受控地址正确且器件未处在编程方式下,则产生传送结束位ACK。
% s) g& U$ k- m5 W  4?写操作 
8 A6 v' C0 _" v) f6 b! ^2 a  单片机送出开始信号后,接着送器件码(7位)、R/W位(“0”),表示ACK位后面为待写入数据字节的字地址和待写入数据字节,然后结束一个字节的写入。即S+写控制字(R/W位为“0”)+ACK(“0”)+字地址+ACK(“0”)+写入数据+ACK(“0”)+STOP。
* {8 i  d9 L- S! }' m( S  5?读操作* g# e9 A6 G% p" Y
  读操作有三种,读当前地址的内容、读指定地址的内容、读指定起始地址后的若干字节的内容。# n+ E( C6 N" C& M% H
  读当前地址的内容为:S+读控制字(R/W位为“1”)+ACK+读出数据+no ACK+STOP2 w1 J* V3 v/ ?0 V/ e
  读指定地址的内容为:S+写控制字(R/W位为“0”)+ACK+写入数据+ACK+读控制字(R/W位为“1”)+ACK+读出数据+no ACK+STOP
0 u& v/ U$ t. B1 m0 l" l3 C7 Z  读指定起始地址后的若干字节的内容为:S+写控制字(R/W位为“0”)+ACK+写入数据+ACK+读控制字(R/W位为“1”)+ACK+读出数据(1)+ACK+……+读出数据(n+x)+noACK+STOP4 G0 I2 `) Y7 a' T5 L7 z" p
  24XX系列串行E2PROM存储芯片与单片机硬件接口只有SCL和SDA两根线,非常简单。(未完待续) 
您需要登录后才可以回帖 登录 | 请使用中文注册

本版积分规则

QQ|Archiver|手机版|小黑屋|粤ICP备09021106号|大众电子网
深圳市深威志电子有限公司 版权所有 站长QQ:17158联系站长请点这里

GMT+8, 2026-2-23 18:36 , Processed in 0.255277 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表