I2C总线测试和分析
1、I2C总线简介
I2C((Inter-Integrated Circuit bus))总线是一种由飞利浦公司开发的串行总线,产生于上个世纪80年代,最初为音频和视频设备开发,现已广泛应用到通信、计算机、工业控制、多媒体等多个行业,主要作为设备管理承载使用。它由两条串行线(一条地址线和一条时钟线)构成总线网络,用于连接微控制器及低速的外围设备通信。I2C总线包括一个两端接口,通过一个带有缓冲区的接口,数据可以被I2C发送或接受。利用I2C技术可以对连接在总线的所有部件进行集中管理,可随时监控风扇、内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。主要的优点是其简单性和有效性。图1是 I2C总线架构示意图。
图1 I2C 总线架构
I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,传送速率从100kbps到最高3.4Mbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,地址码用来选址,即接通需要控制的IC部件,确定总线上哪个部件需要接收数据;同时发送端设备(CPU或外设)还要发出“读”或“写”的操作指示,以及具体的消息内容。I2C协议的报文内容可分成以下几部分:
* 开始位--Start Bit
* 地址 -- Address :7 或 10比特
* 读/写标志位-- Read/Write Bit:
指示数据方向
读 = 数据从从设备读到主设备
写 = 数据从主设备写到从设备
* 确认位 -- Acknowledge Bit
* 字节数据 -- Data Byte(s)
除EEPROM数据读/写外,通常数据长度都=4
* 重启动位 -- ReStart Bit
出现在组合的读/写消息内容中
* 停止位 -- Stop Bit
下图2是7位和10位两种地址长度的 I2C协议帧结构。
图2 7位和10位两种地址长度的 I2C协议帧结构
2、I2C总线测试的需求
工程师对I2C总线测试和分析的需求主要涵盖以下三个方面:
2.1了解总线正在发生什么
软件工程师设计了I2C主控设备发出的消息内容,但硬件工程师需要确定消息是不是被准确无误的传送到物理线路上,需要了解总线上真正在发生什么。传统的使用示波器的方式是先用探头把信号捕获下来,然后根据电平特点转换成“1”或“0”,然后再去对比I2C协议,将其还原成有意义的消息帧。这种方式费时费力,对工程师的业务能力要求很高,而且仪器使用效率很低。工程师需要仪器能提供一种自动化的方式,直接将采集到的波形翻译成容易识别的内容,再根据不用类别工程师的需求,以不同的方式动态显示在仪器屏幕上。比如硬件工程师可能希望以二进制的方式查看I2C消息内容,底层驱动工程师希望以16进制方式分析波形,而应用软件工程师则希望以ASCII文本的方式去了解总线上实际运行的数据内容
2.2调试总线上有故障的节点
I2C是由多个节点组成的总线网络,每一个节点都用唯一的地址符加以识别。主控设备发出的消息会被总线上所有节点接收到,但只有目标地址和本节点匹配的消息才会被该节点送入上层软件接口处理,因此当某个特点的节点出了故障,或我们仅对该节点收发的数据感兴趣时,我们希望仅观测到目标地址为该节点的 I2C消息帧,而忽略其他地址节点的信息。
工程师可能还面临这样一种情况:我不清楚I2C总线上有无故障节点,或不清楚是哪个节点收发数据有误,但我希望一旦总线上有出错状态时,我能立即定位到故障来源。
2.3分析EEPROM内存单元的有效性
EERPOM是在各类系统单板上广泛使用的存储器件,主要作用是存储系统上电时需要导入的信息,比如主内存地址、容量、模式,CPU初始化状态等,EEPROM器件一般都采用I2C总线与CPU建立通信传递数据。当读写EEPROM配置信息出错的情况下,我们就不仅仅需要知道是哪片EEPROM出问题,更有意义的是要深入到器件内部,定位具体是哪个地址单元出了问题,是读数据过程中有问题还是写数据过程中有问题。
3、力科示波器充分满足工程师测试 I2C总线的需求
广大工程师用户日益需要能处理各种通用测量任务、同时又能满足分析 I2C总线等低速串行总线的专用需求、且符合有限预算的解决方案,力科基于Windows操作系统的全系列示波器产品满足了这些需求,这些系列包括WaveSurfer Xs、WaveRunner Xi、WavePro 7Zi和WaveMaster 8Zi,这些产品一个很重要的的应用方面就是调试串行总线。示波器不仅要能测量信号电平、频率等常规项目,还要能提供专门的软件包以更深入分析和调试I2C总线。
力科 I2C测试软件包主要包括三大功能,完全涵盖了嵌入式开发工程师分析I2C的以上需求,分别是总线协议解码、总线触发和EEP
- 现代实时频谱测试技术(10-23)
- TD-SCDMA系统终端CC实体的一致性测试(10-27)
- 用数字荧光示波器对开关电源功率损耗进行精确分析(11-04)
- 基于FFT的低频谐波失真度测试仪(01-30)
- 针对高速物理层的测试解决方案(03-29)
- 秘密武器助你从容应对噪声检测难题(03-29)