BL24Cxx系列EEPROM测试总结 | 您所在的位置:网站首页 › 1551芯片规格书 › BL24Cxx系列EEPROM测试总结 |
EEPROM芯片测试
测试对象
华大半导体|上海贝岭 BL24C128A BL24C512A BL24CM1A BL24CM2A 测试点1、芯片的使用寿命 2、读写速度 3、全片有效性 4、温度临界值 5、电压临界值 一、芯片的使用寿命芯片的使用寿命、就是芯片的读写次数,在存储过程中最重要就是数据的可靠性,如果写进去和读上来的不一致,可能会造成重要数据的丢失。 芯片手册上一般会注明芯片的读写寿命是多少,如BL24C128A芯片手册上标明的寿命为1百万次。在实际的长运过程中发现,读写了620万+还是没有将一块内存写坏掉,我测试的方式是定义一块指定大小的存储空间,循环写入0x00-0xFF,然后在读上来,对比写进去与读出来的是否一致,不一致的话,错误计数加1。(注意:这里循环写入0x00-0xFF,前一次写入的0x00,那么下一次就写入0x01,依次类推) 发现实际测试的读写有效次数与芯片手册的描述有较大的差异,于是询问芯片的技术支持,技术支持的答复是128K这颗芯片,通常的寿命在600w-700w之间,也是测试超过1000w,芯片手册一般按照100w来的。 规格书上一般写1百万,只是保证前1百万次读写的百分之百可靠,从前1百万次以后读写数据就变得不可靠,可能这个不可靠的次数是从1000w以后才出来,也可能这个不可靠次数从第101次开始,规格书之所以写1百万,可能是芯片厂家留有回旋的余地吧。大家在使用时候一定要注意,读写寿命,计算好写到不可靠的时间,提前做好软件规避。 具体见芯片规格书 官网下载地址链接: link 二、读写速度读写速度,芯片规格书中也有说明,一般分为写单个字节的时间和写一页的时间,根据芯片的容量不同、页大小的不同,这些时间可能会存在一些差异。这个时间与底层驱动写操作之后延迟时间有关,比如你写了一块区域之后,又立刻读上来,可能在你读的过程中芯片还在执行写操作中,那么读回来的数据肯定会有问题呀。EEPROM芯片不像是Flash芯片,有单独的状态寄存器,可以通过读取状态寄存器的值来判断芯片是否处于忙碌状态,所以这里写时间要特别注意。 芯片手册推荐: 芯片类型写一个字节写一页页大小BL24C128A3ms3ms64字节BL24C512A3ms3ms128字节BL24CM1A5ms5ms256字节BL24CM2A8ms8ms256字节实际测试数据与芯片手册的数据相近,可以参考芯片手册中的数据。 测试方法: 指定地址,写入一个字节数据,然后在读上来,查看写入的和读上来的是否一致。每次改变写操作和读操作之间的延时时间。(IIC驱动写函数中写操作完成后加的毫秒延时),测试页同理,每次写入一整页测试。 三、全片有效性测试全片有效性测试就是对全片的每一个位进行测试,防止某些位固定为1或者固定为0,导致写入的数据与实际数据不一致。这里的测试方法是全片写入0xAA,再读取上来,观察写入的和读取的数据是否一致。再全片写入0x55,读取比较。循环操作几次,就可以将坏的位筛选出来。这里为什么要写入0xAA、0x55呢?因为0xAA 的二进制为1010 1010, 0x55的二进制为0101 0101,刚好可以将每个位进行0写1、1写0测试。 如果是做产品的话,可以将该操作增加到出厂前的测试代码中,检查一遍EEPROM有效性,防止有问题的产品流入市场,减少损失。 四、温度临界值同样芯片规格书中有明确的说明,芯片的操作温度范围、存储温度范围。自己也最好放到温箱里面实际测试下,跑个下限温度和上限温度。 芯片规格书温度数据(操作温度有的手册中没有注明奇怪): 芯片类型操作温度存储温度BL24C128A手册中没有找到-65℃ to +150℃BL24C512A-40℃ to +85℃-65℃ to +150℃BL24CM1A手册中没有找到-65℃ to +150℃BL24CM2A手册中没有找到-65℃ to +150℃测试方法: 低温(-40℃) 指定区域读写、记录读写不一致次数 高温(+85℃)指定区域读写、记录读写不一致次数 如果你的芯片应用场合是那种高温或者低温环境,这个温箱测试就很有必要了,之前有遇到过市场问题就和应用环境问题有关,家里找了半天不复现。 五、电压临界值EEPROM芯片电源供电一般由板子供电,如果在板子刚上电的时候,芯片的供电电压还不稳定时,读写芯片可能会存在一些未知的风险和错误。故测试电压临界值就很有必要了,一般芯片规格书中都有说明供电电压的范围。 电源过低或者过高时想要保证数据操作的可靠性,就和IIC驱动中的时钟高电平的最短保持时间和最长保持时间有关系,之前看IIC驱动代码时,一直不太明白使用IO口模拟IIC时序时,时钟线的延时时间有怎样定义的,不同的代码延时时间不尽相同。看了芯片手册才明白,一般供电电压不同,芯片识别的时钟信号低电平和高电平的保持时间不相同,为了保证芯片正常工作,时钟电平的保持时间一般都会大于所需最长的保持时间。 如:BL24C128A芯片 测试方法: EEPROM芯片电源引脚外接可变电源,调节不同电源电压在规定范围下,修改IIC驱动的时钟芯片保持时间,观察读写状态。 (修改IIC_DELAY_US宏的值) 如果你的驱动程序想兼容所有BL系列芯片,需要注意以下两点: 第一点: 时钟信号低/高电平最短保持时间,应当与需要时间最长的芯片为准。 第二点: 芯片的设备地址和操作地址需要注意 |
CopyRight 2018-2019 实验室设备网 版权所有 |