实现SMBus传输的方法和系统与流程

文档序号:33743460发布日期:2023-04-06 10:45阅读:40来源:国知局
实现SMBus传输的方法和系统与流程

本发明的实施方式总体上涉及系统管理通信,更具体地,涉及一种实现smbus传输的方法和系统。


背景技术:

1、smbus(system management bus,系统管理总线)最早是由intel公司提出来的。现在由sbs-if(smart battery system-implementers forum,智能电池系统实现者论坛)管理维护这一个规格。此规格是用飞利浦(philips)的i2c(inter-integrated circuit,集成电路总线)90简化而来。smbus是由两条信号线组成。用于在系统上较慢速的设备及电源管理设备之间的沟通使用。以便系统取得这些设备的制造厂商、型号、一些控制信息、错误信息及状态。

2、这两条信号线为smbclk和smbdata。这和i2c上的时钟线clock(scl)和数据线data(sda)是一样的。

3、smbus:不同的设备都接在同一bus上。在smbus上只有一个主设备(master)。所有的命令均由此master发出。其他的从设备(slave)只能接收master发出的命令或回复数据给master。

4、smbus开始及结束:当scl为高而sda由高变低时表示开始一个smbus的命令。当scl为高而sda由低变高时表示结束一个smbus的命令。这二种状态在smbus里是唯一的。在一般传送数据时均不可能发生。而一般传送的数据,则是在每一次scl的上升缘时的sda状态来决定。这些数据包含了仲裁、确认、发送数据给某个设备,或是要取得某个设备的信息。

5、关于i2c bus与smbus,许多人很少去谈论与了解两者的细节差异,包括很多国外的简报文件也经常将两者混写、交杂描述、交替运用。

6、确实,在一般运用下,i2c bus与smbus没有太大的差别,从实体接线上看也几乎无差异,甚至两者直接相连多半也能相安无误地正确互通并运作。不过若真要仔细探究,其实还是有诸多不同,如果电子设计工程师不能明辨两者的真实差异,那么在日后的开发设计的验证除错阶段时必然会产生困扰。

7、当前并不是所有设备都支持smbus协议,并且有些设备虽支持但接口存在漏洞难以使用。而i2c协议的普及度高,且接口都较成熟。


技术实现思路

1、为了解决现有技术中的上述问题,在第一方面,本发明的实施方式提供了一种实现smbus传输的方法,所述smbus传输在仅支持i2c的主设备与支持smbus的从设备之间进行,其中,所述主设备的控制线与所述从设备的控制线连接,所述主设备的数据线与所述从设备的数据线连接,所述主设备配备有外部中断引脚,所述外部中断引脚与所述从设备的警报信号线连接,所述方法包括:

2、在正常工作模式下,

3、所述主设备的控制线和数据线以及所述从设备的控制线和数据线通过上拉电阻而输出浮空,所述主设备和所述从设备通过i2c通信方式实现开始标志、结束标志和响应;

4、在警报模式下,

5、所述从设备的警报信号线的电平拉低,从而使得所述主设备的所述外部中断引脚处的电平下降;

6、所述主设备在检测到所述外部中断引脚处的电平下降沿时,发起对警报地址的访问;

7、所述从设备接收到所述警报地址时做出响应,将所述从设备的地址通过i2c通信方式传输回所述主设备。

8、在一些实施方式中,所述主设备与所述从设备的通信频率设置为i2c和smbus的交集运作频率。

9、在一些实施方式中,所述主设备与所述从设备的通信频率设置为10khz。

10、在一些实施方式中,所述方法包括在所述正常工作模式下,所述主设备的控制线的准位下降后,所述主设备的数据线上的数据持续保留300ns。

11、在第二方面,本发明的实施方式提出了一种实现smbus传输的系统,所述系统包括仅支持i2c的主设备和支持smbus的从设备。所述主设备的控制线与所述从设备的控制线连接;所述主设备的数据线与所述从设备的数据线连接;所述主设备配备有外部中断引脚,所述外部中断引脚与所述从设备的警报信号线连接。所述主设备用于:在正常工作状态下,所述主设备的控制线和数据线通过上拉电阻而输出浮空,并且通过i2c通信方式实现开始标志、结束标志和响应;在警报模式下,在检测到所述外部中断引脚处的电平下降沿时,发起对警报地址的访问,并且通过i2c通信方式接收所述从设备传输的所述从设备的地址。所述从设备用于:在正常工作状态下,所述从设备的控制线和数据线通过上拉电阻而输出浮空,并且通过i2c通信方式实现开始标志、结束标志和响应;在警报模式下,将所述警报信号线的电平拉低,并且在接收到所述主设备发送的所述警报地址时,将所述从设备的地址通过i2c通信方式传输回所述主设备。

12、在一些实施方式中,所述主设备与所述从设备的通信频率设置为i2c和smbus的交集运作频率。

13、在一些实施方式中,所述主设备与所述从设备的通信频率设置为10khz。

14、在一些实施方式中,所述主设备还用于:在所述正常工作模式下,所述主设备的控制线的准位下降后,所述主设备的数据线上的数据持续保留300ns。

15、本发明的实施方式提出的实现smbus传输的方法和系统通过软件修改硬件i2c电平高低认定,电流,时序,以及响应条件等来满足smbus通信条件,之后再通过额外连线以及额外程序实现警报功能,使得只支持i2c的主设备可以使用smbus与从设备通信。

16、通过本发明的实施方式提出的实现smbus传输的方法和系统,在主设备不支持smbus但支持i2c的情况下,可以完成smbus通信。在只支持i2c协议的硬件基础上实现了完整的smbus协议,通过软件约束i2c使其满足smbus电平协议等要求,通过编写程序以及添加导线满足了smbus的警报功能。



技术特征:

1.一种实现smbus传输的方法,其特征在于,所述smbus传输在仅支持i2c的主设备与支持smbus的从设备之间进行,其中,所述主设备的控制线与所述从设备的控制线连接,所述主设备的数据线与所述从设备的数据线连接,所述主设备配备有外部中断引脚,所述外部中断引脚与所述从设备的警报信号线连接,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述主设备与所述从设备的通信频率设置为i2c和smbus的交集运作频率。

3.根据权利要求2所述的方法,其特征在于,所述主设备与所述从设备的通信频率设置为10khz。

4.根据权利要求1所述的方法,其特征在于,所述方法包括在所述正常工作模式下,所述主设备的控制线的准位下降后,所述主设备的数据线上的数据持续保留300ns。

5.一种实现smbus传输的系统,其特征在于,所述系统包括仅支持i2c的主设备和支持smbus的从设备,

6.根据权利要求5所述的系统,其特征在于,所述主设备与所述从设备的通信频率设置为i2c和smbus的交集运作频率。

7.根据权利要求6所述的系统,其特征在于,所述主设备与所述从设备的通信频率设置为10khz。

8.根据权利要求5所述的系统,其特征在于,所述主设备还用于:在所述正常工作模式下,所述主设备的控制线的准位下降后,所述主设备的数据线上的数据持续保留300ns。


技术总结
提供了一种实现SMBus传输的方法和系统,SMBus传输在仅支持I2C的主设备与支持SMBus的从设备之间进行。主设备的控制线和数据线分别与从设备的控制线和数据线连接,主设备配备有外部中断引脚,外部中断引脚与从设备的警报信号线连接。方法包括:在正常工作模式下,主设备和从设备的控制线和数据线通过上拉电阻而输出浮空,通过I2C通信方式实现开始标志、结束标志和响应;在警报模式下,从设备的警报信号线的电平拉低;主设备在检测到外部中断引脚处的电平下降沿时,发起对警报地址的访问;从设备接收到警报地址时将从设备的地址通过I2C通信方式传输回主设备。本发明使得只支持I2C的主设备可以使用SMBus与从设备通信,并且满足了SMBus的警报功能。

技术研发人员:丁琳珺,吴志勇,李猛,吴圣兰,王腾腾,王垚尧,周越新
受保护的技术使用者:太初(无锡)电子科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1