新闻中心

EEPW首页 > 测试测量 > 设计应用 > I2C总线应用下的EEPROM测试

I2C总线应用下的EEPROM测试

作者:时间:2012-04-13来源:网络收藏

1 的工作原理及其特点

本文引用地址:http://www.eepw.com.cn/article/194073.htm

是一种用于IC器件之间连接的二线制,最早由Philips公司推出。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。串行扩展总线有突出的优点,电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。

采用总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。I2C总线接口电路结构如图1所示。

11.gif

当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。在总线上,既没有中心机,也没有优先机。

在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状庙,于是这些器件将进入高电平等待的状态。

当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在 SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。在I2C总线技术规范中,开始和结束信号的定义如图2所示。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号;当SCL线为低电平时,SDA线发生低电平到高电平的跳变为“结束”信号。

22.gif

I2C总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。

I2C 总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。

目前世界上采用的I2C总线有两个规范,它们分别是由荷兰 PHILIPS公司和日本SONY公司提出的。现在广泛采用的是PHILIPS公司的I2C总线技术规范,它已成为被电子行业认可的总线标准。采用I2C 技术的单片机以及外围器件已广泛应用于家用电器、通讯设备及各类电子产品中,而且应用范围将会越来越广。

2 IC总线应用下的EEPROH的方法

这里以常见的24LC02容量为2K的芯片为例来详细介绍该总线方式下工作的方法。

2.1 24LC02芯片特点

24LC02是台湾CERAMATE公司生产的容量为2Kbit的应用于I2C总线工作方式的芯片,其芯片管脚定义如图3。

33.gif

图中,A0、A1、A3为片选端,因为I2C总线最多可以挂接16Kbit的EEPROM,也就是说可以挂接8个24LC02芯片,其硬件地址就这三个片选端决定;WP是写保护端,在发送Word Address之前起作用。

24LC02在写入数据的时候有两种模式:Byte write和Page write,如图4。

44.gif

以TESTER作为Master对24LC02写入数据,然后读取其数据验证与写入的数据是否一致。

对于24LC02的命令格式等细节,这里不再赘述,下面我们来看看24LC02的BLOCK DIAGRAM图6。

由此可知,在Byte write模式下,一次可写入8bit数据,而在Page write模式下一次可写入8bytes的数据。

2.2 24LC02的

根据I2C总线工作方式,我们将其测试图连接如图5。

66.gif

芯片中的Start/stop Logic单元处理Start/Stop信号,控制芯片是否开始工作;S1ave address registercomparator单元译码Master发送的Slave address,完成与片选信号的比较,并设定write/read模式;Wordaddress counter单元管理要写入或读取的地址,地址由xdec和ydec单元译码成行地址和列地址,24LC02的EEPROMArray分为64行×4列字节单元。

这里我们对于一些简单的电流测试不再讨论,主要讨论功能测试。

根据以上分析,我们提出如下测试方法:

对芯片写入各种不同的字节数据来验证读取到的数据是否和写入的一致:

(1)每个字节写入随机码数据,这里随机码我们选择00~FF,共256 bytes,读取看与写入的是否一致

如果该项测试通过,说明芯片基本上工作正常,但不能保证EEPROMArray(2Kbit)所有bit位都能正常写入数据。

这里每个字节写入00-FF保证了写入每个word address的数据都不一样,其目的是验证Word address counter、xdec、ydec等单元是否能正常工作。

上一页 1 2 下一页

关键词: EEPROM I2C 总线 测试

评论


相关推荐

技术专区

关闭