您当前的位置:五五电子网电子知识电子知识资料总线技术DS4830的多地址I2C总线从机模块设计解析 正文
DS4830的多地址I2C总线从机模块设计解析

DS4830的多地址I2C总线从机模块设计解析

点击数:7793 次   录入时间:03-04 11:55:23   整理:http://www.55dianzi.com   总线技术
    实际验证中,当I2C总线模块不使能Clock stretching后,上位机(I2C总线主机)对DS4830 0xA0地址的3种I2C总线读操作为:当前读、页读、单字节读,其读出的结果均为0xA1。原因即是I2C总线主机发送到从器件的I2C总线地址值为0xA1(读模式),在SCL时钟低电平期,真正要发送的数据还未送到数据寄存器(I2C_BUF),此时数据寄存器中仍为接收到的地址值。SCL高电平来到,直接将这个值移位出了数据寄存器送到I2C总线上,如图2所示。

a.JPG

   
    (2)SMBus Timeout机制
    SMBUS(System Management Bus),是1995年Intel公司提出的,最初设计应用于移动PC和桌面PC系统中的低速率通信。它与I2C总线电气及协议定义上类似,但在速率、超时错误、逻辑电平和总线协议上有所区别。DS4830主机I2C总线模块是使用兼容I2C总线协议,并引入SMBUS超时错误功能,使用一个30 ms的定时器,当总线SCL低电平超过这个时间后,触发TIMEOUT中断,以释放I2C总线,避免I2C总线的锁死。由于各种公司的I2C总线兼容协议可能存在一些差异,各种时序,包括一些非法或错误的时序都有可能在总线上出现,所以使用TIMEOUT机制来避免I2C总线死锁是相当有效和实用的。DS4830使能TIMEOUT功能,通过I2CCN_S(M)控制寄存器的SMB_MOD置位来实现。

结论
   
本文通过介绍DS4830相应主从I2C总线模块接口的寄存器,利用IAR编译环境实现了I2C总线从器件操作,并满足SFF-8472协议对多从机地址的要求。系统的上位机发出各种常规的I2C总线读操作及写操作均正常。该方法已应用于SFP+ZR、QSFP产品中,并得到客户系统验证,I2C总线可靠、稳定。



上一页  [1] [2] 


本文关键字:暂无联系方式总线技术电子知识资料 - 总线技术

《DS4830的多地址I2C总线从机模块设计解析》相关文章>>>