IIC总线测试总结

2015-05-15 10:02:34   来源:ednchina   

关键字: IIC总线  测试总结

一、信号完整性测试简要介绍

        前一段时间在做板卡信号完整性测试。

        信号完整性测试主要是对信号质量进行测试,观察信号电平是否满足门限,有无过冲、振荡、回沟,时序是否满足要求等。

        由于在产品需求层面,是不会将信号质量作为一项需求提出,因此很多时候在归档的测试报告中只会存在功能测试报告,而是将信号完整性测试报告作为内部公开的一份参考资料,但这并不意味着我们可以减少对信号完整性测试的重视程度,因为信号完整性测试往往能够发现很多潜在的风险,比如自己在以前的测试中就遇到过低电平门限是0.8V,而测得的信号低电平也接近0.8V,虽然在功能上的验证是正常的,但这就是一项风险项,很有可能在量产上市后,随着长期运行或者环境改变,而导致故障,后来通过调整串阻阻值,降低了信号低电平,规避了风险;还有调整FPGA时序改善信号时序余量等很多由信号完整性测试发现解决的潜在风险项。

        另外,信号完整性测试很多时候还能提前规避掉很多电磁干扰问题,减少后期整改的工作。比如过陡的边沿或过大的过冲,有时会是辐射发射的来源;

        最后,通过信号完整性测试,将所有信号都控制在器件的要求范围内,这也提高了器件的工作可靠性,保障其工作寿命。

        综上所述,不仅不能还应该更加重视对信号完整性的测试。

        在有些公司,信号完整性测试又称之为单元测试,这是因为信号完整性测试需要覆盖板卡上的每一个元器件。

        对于信号完整性测试的方案制定方法。个人的理解,应该关注每个器件的输入端口,主要又分为信号电平(一般需测试高电平电压、低电平电压、上冲和下冲)和信号时序(一般需测试建立时间和保持时间),具体根据器件手册制定,信号测试点也应该选择最靠近器件输入端口处的位置;而对于器件的输出端口,是不需要关注的,因为这是器件自身特性所决定的。

二、IIC总线操作过程说明

        对于IIC总线,自己以前很少用到,只对某块板卡上一片预留的INTERSIL的IIC接口光传感器写过驱动进行功能调试。这次是第一次认真对IIC总线进行了信号完整性测试。

       IIC总线由时钟线SCL和数据线SDA组成,设备连接到总线上的输出端为OD或OC输出,总线电平由外部上拉电阻决定。IIC总线速率分标准模式100Kbps,快速模式400Kbps和高速模式3.4Mbps。IIC总线上最多可以挂接400pf容性负载,挂接设备数量受此限制。IIC总线的运行由主机控制,被主机寻访的设备称为从机,每个接到IIC总线的设备都有一个唯一的地址,以便于主机寻访。

        本次IIC信号完整性测试的其中一个器件为IIC接口的EEPROM,用作一个MCU的配置信息存储芯片,MCU每次上电后均会去读取配置,也可以执行对EEPROM的配置升级操作。对于EEPROM,读写过程都要测试。由于进度紧张,自己未经思考,首先在上电时,选择在MCU的IIC接口处测试EEPROM的读过程;然后再执行EEPROM配置升级命令,并在EEPROM的IIC接口处测试EEPROM的写过程。

        但在测试过程中,却越来越感觉困惑,比如时序测试中有一项tSU:DAT参数,表示START信号的建立时间,但在测试写过程中,往往就很难捕捉到。随着测试的进行,困惑的地方越来越多,于是自己觉得该停一停,看看究竟测试方法有没有问题。

       稍稍冷静下,读了下器件手册,很快便发现了问题所在,自己还停留在以前测试的惯性思维中,认为读就是数据读出,而写就是数据写入,没有对IIC总线操作过程作一思考。

        对于IIC写过程,一般而言有如下几种情况:

001.jpg

图1 IIC总线写操作过程

        分为Byte Write和Page Write,Byte Write一次写入一个数据,Page Write一次可写入多个数据。在未进行写保护(WC为低时)才能进行写操作。

        对于Byte Write,分为以下几个过程:

        1、由主设备发出START信号;

        2、由主设备发出DEV SEL信号,DEV SEL为从设备的识别码,一般由7位组成,高四位为每类IIC设备特有,低三位通过从设备外部引脚配置得到,如图2所示的E2、E1、E0三个引脚;

002.jpg

图2 IIC设备引脚图

        3、主设备在发出DEV SEL信号后,需继续发出一位“读/写控制位(R/W)”,以表示接下来执行的是何种操作。此时该位应置为低(写操作);

        4、从设备进行ACK应答,为低电平;

        5、主设备发出Byte addr信号,即要将数据写入到从设备的单元地址,图中所示为16位地址带宽,主设备每发出8位地址,从设备进行一次ACK应答;

        6、主设备写入8位数据,从设备应答,之后主设备发出STOP信号,结束此次写操作。

        对于Page Write,其过程与Byte Write基本一致,仅仅是其在写入多个数据后,才由主设备控制发出STOP信号,结束写操作。

        对于IIC读过程,一般而言有如下几种情况:

003.jpg

图3 IIC总线读操作过程

        分为Current Address Read、Random Address Read、Sequential Current Read、Sequential Random Read。后两种读模式与前两种读模式的区别仅仅在于后两种是一次读出多个数据,因此不作累述。

[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0515/article_11781.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文