EEPROM的功能测试-基于I2C总线技术

2022-02-28 19:08:15, 曾典 北京汉通达科技有限公司


一 什么是I2C
I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它只需要两根线即可在连接于总线上的器件之间传送信息。
它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。串行扩展总线有突出的优点,电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等

二 I2C总线特点及工作原理  

I2C总线特点可以概括如下:
(1)在硬件上,I2C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且片上接口电路的滤波器可以滤去总线数据上的毛刺.因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。因为I2C芯片除了这两根线和少量中断线,与系统再没有连接的线,用户常用IC可以很容易形成标准化和模块化,便于重复利用。
(2)I2C总线是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据破坏,每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。数据传输和地址设定由软件设定,非常灵活。总线上的器件增加和删除不影响其他器件正常工作。
(3)I2C总线可以通过外部连线进行在线检测,便于系统故障诊断和调试,故障可以立即被寻址,软件也利于标准化和模块化,缩短开发时间。
(4)连接到相同总线上的IC数量只受总线最大电容的限制,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。
(5)总线具有极低的电流消耗.抗高噪声干扰,增加总线驱动器可以使总线电容扩大10倍,传输距离达到15m;兼容不同电压等级的器件,工作温度范围宽。

I2C总线工作原理可以概括如下:
SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC.当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小,因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容.而线路中电容会影响总线传输速度.当电容过大时,有可能造成传输错误.所以,其负载能力为400pF,因此可以估算出总线允许长度和所接器件数量。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送
 
三 I2C总线数据传输  
    I2C运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。参见图1。


   3.1控制字节  
在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。如图2所示。


  3.2 写操作
写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。关于字节写、页面写的地址、应答和数据传送的时序参见图3。


     3.3 读操作
读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。


 
四  I2C总线应用下的EEPROM的测试方法
这里以常见的24C32A容量为32K的EEPROM芯片为例详细介绍该总线方式下工作的EEPROM测试方法。
  4.1 24C32A芯片特点
24C32A是容量为32Kbit的应用于I2C总线工作方式的EEPROM芯片,其芯片管脚定义如图5。


 图中,A0、A1、A3为片选端,其硬件地址就这三个片选端决定;WP是写保护端,在发送Word Address之前起作用。24C32A在写入数据的时候有两种模式:Byte write 和 Page write。由此可知,在Byte write模式下,一次可写入8bit数据,而在Page write模式下一次可写入8bytes的数据。
  4.2 24C32A的测试
以TESTER(UI6920)作为Master对24C32A写入数据,然后读取其数据验证与写入的数据是否一致。
芯片中的Start/stop Logic单元处理Start/Stop信号,控制芯片是否开始工作;Slave address register&comparator单元译码Master发送的Slave address,完成与片选信号的比较,并设定write/read模式;Word address counter单元管理要写入或读取的地址,地址由xdec和ydec单元译码成行地址和列地址。根据以上分析,我们提出如下功能测试方法:
对芯片写入各种不同的字节数据来验证读取到的数据是否和写入的一致
(1)每个字节写入随机码数据,这里随机码我们选择00~FF,读取看与写入的是否一致,如果该项测试通过,说明芯片基本上工作正常,但不能保证EEprom Array所有bit位都能正常写入数据。
这里每个字节写入00~FF保证了写入每个wordaddress的数据都不一样,其目的是验证Word address counter、xdec、ydec等单元是否能正常工作。假设我们这里每个字节写入相同的数据(如00或FF等),那么在这种情况下,要是Wordaddress counter无法正常工作,那么我们写入或读取的可能是部分地址所指向的EEprom Array中的bit位,而且无法保证xdec和ydec能正常解码行地址和列地址,譬如说我们对“10101010” word address所指向的字节写入00,如果读取“10101010”这个地址数据时,Word address counter、xdec、ydec任意单元发生了错误,那么最终我们读取到的数据就不是“10101010”这个地址所指向的字节数据,也就是说因为每个字节数据是一样的,所以即使写入和读取的地址发生了错位,我们也会认为测试是通过的。
由此可见,要保证Word address counter、xdec、ydec等单元正常工作,我们写入的数据必须满足下列三个条件:
①写入EEprom Array的每一行数据不一样(验证xdec单元);
②写入EEprom Array的每一列数据不一样(验证ydec单元);
③写入EEprom Array的每一个字节数据不一样(验证Word address counter单元);
这就是我们选择写入00~FF的理由(当然也可以选择写入其他数据,只要符合上述最后一个条件即可)。
(2)每个字节写入数据00,读取看是否与写入的一致 通过上述第一项测试,其实已经可以基本保证芯片各单元能正常工作,接下来只需测试验证EEprom Array中的每个bit位是否良好,这里写入数据00,可排除EEprom Array中恒为“1”的bit位。
(3)每个字节写入数据FF,读取看是否与写入的一致,可排除EEprom Array中恒为“0”的bit位。
(4)从00H地址开始写入4个字节55,接着写入4个字节AA,如此重复,直至写满256个字节,读取看是否与写入的一致。
EEprom Array中相邻bit位(包括行相邻、列相邻、对角线相邻)会互相影响。所以我们写入上述的数据使得每个相邻bit位的数据都不一样,经过该项测试可排除相邻bit位的数据窜扰。最好是再测试一下写入4个字节AA,写入4个字节55……,看读取与写入的是否一致。

综上所述,我们概括出EEprom的一般测试方法:
1)每个字节写入random code,读取验证是否与写入时一致,从而测试Word addresscounter、xdec、ydec等单元是否能正常工作;Random code需要满足下面这个条件:写入EEprom Array的每一个字节数据不一样。
2)每个字节写入数据00或FF,读取验证是否与写入时一致,排除EEprom Array中恒“0”或恒“1”的bit位。
3)每个字节写入数据55或AA,对EEprom Array写入相邻bit位(包括行相邻、列相邻、对角线相邻)都不一样的数据,读取验证是否与写入时一致,排除相邻bit位的数据窜扰。

五  数字功能模块

UI X6920是由联合仪器研发设计,针对数字芯片的测试板卡。此板卡采用PXI架构,可靠性高,扩展性好,开放式的架构可按照客户需求进行开发,为客户提供灵活开放的服务。

板卡特点:
n  32路通道,每通道PMU功能
n  FV,MI,FI,MV功能
n  100MHz速率
n  8个电流量程:±32mA, ±8mA, ±2mA, ±512uA, ±128uA,±32uA, ±8uA, ±2uA
n  电压量程 -1.5V~+6.5V
n  64M 每通道存储空间
n  64 Timing set,4 Phase,4windows,4K sequence steps
n  最小分辨率1ns
n  支持NRZ,RO, RZ,ZD, SBC等多种数据格式
n  可以支持多site并行同步测试
n  支持VC,VC++,Labwindows/CVI,Labview 等

如果想要了解更多联合仪器相关产品信息,请多关注北京汉通达科技,将给大家提供更全、更详细、更新测试行业资讯。




北京汉通达科技主要业务为给国内用户提供通用的、先进国外测试测量设备和整体解决方案,产品包括多种总线形式(台式/GPIB、VXI、PXI/PXIe、PCI/PCIe、LXI等)的测试硬件、相关软件、海量互联接口等。经过二十年的发展,公司产品辐射全世界二十多个品牌,种类超过1000种。值得一提的是,我公司自主研发的BMS测试产品、芯片测试产品代表了行业一线水平









 


  • 客服电话: 400-6699-117 转 1000
  • 京ICP备07018254号
  • 电信与信息服务业务经营许可证:京ICP证110310号
  • 京公网安备1101085018
  • 客服电话: 400-6699-117 转 1000
  • 京ICP备07018254号
  • 电信与信息服务业务经营许可证:京ICP证110310号
  • 京公网安备1101085018

Copyright ©2007-2024 ANTPEDIA, All Rights Reserved