使用Aardvark监测I2C链路——项目调试实例
1、 Aardvark是Total phase公司推出的一款I2C、SPI总线的调试工具。其功能包括,作为主/从设备调试I2C或SPI的相关功能,监测I2C总线上的数据,调试GPIO端口等。
2、 在项目中报了一个问题:BMC web下面显示硬盘小概率的发生在位信息丢失,然后3秒后恢复,但是系统下并没有log显示硬盘有发生过丢失的过程。用示波器量测硬盘的present信号,触发模式抓取一晚上,没有捕捉到present信号的边沿变化(一直是低电平)。事实上,3s是BMC的一次轮询的周期,因此怀疑是BMC内部进程间的冲突导致present的某些值被修改,因此为论证这一问题,尝试接上total phase,监测链路上的i2c信号的波形,如果在硬盘present error发生的时刻,硬件链路上i2c信号是正确的,那么即可说明是BMC内部的问题。
3、 连接Total phase,将I2C的三个信号线(GND,CLK,DAT)焊到板子上的对应pin脚上。Total phase上的pin序如下图所示:
4、 将USB连接到PC上,安装相应的驱动文件(附件中的totalphaseusb-v2.15)。然后进入Aardvark的操作界面ÿ