首页> 中国专利> 基于I2C总线协议的单线接口总线收发系统系统及I2C单线通讯方法

基于I2C总线协议的单线接口总线收发系统系统及I2C单线通讯方法

摘要

本发明公开了一种单线接口总线收发系统,包括I2C主机、主机收发器、信号线、从机收发器和I2C从机;主机收发器用于对从I2C主机接收到的主机数据和主机时钟进行曼彻斯特编码,形成主机单线信号并通过信号线发送给从机收发器,还用于对通过信号线接收到的经曼彻斯特编码后的从机单线信号进行解码,并将解码后的从机数据发送给I2C主机;从机收发器用于对从I2C从机接收到的数据进行曼彻斯特编码,形成从机单线信号并通过信号线发送给主机收发器,还用于对通过信号线接收到的经曼彻斯特编码后的主机单线信号进行解码,产生恢复的主机时钟,并将解码后的主机数据和恢复的主机时钟发送给I2C从机。本发明的I2C总线协议的单线接口总线可以降低I2C总线电子设计中的噪音和地电平不等势,并与I2C协议完全相兼容。

著录项

  • 公开/公告号CN104978291A

    专利类型发明专利

  • 公开/公告日2015-10-14

    原文格式PDF

  • 申请/专利权人 NXP股份有限公司;

    申请/专利号CN201410140410.6

  • 发明设计人 张红云;卿健;陈忠盟;

    申请日2014-04-09

  • 分类号G06F13/38(20060101);G06F13/42(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人王波波

  • 地址 荷兰艾恩德霍芬

  • 入库时间 2023-12-18 11:28:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-22

    授权

    授权

  • 2015-11-18

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20140409

    实质审查的生效

  • 2015-10-14

    公开

    公开

说明书

技术领域

本方明涉及一种基于I2C总线协议的单线接口总线。

背景技术

传统的I2C总线通信需要双线,这对于工业应用中的远距离电缆来说并不适合。因为会出现严重的噪音和地电平不等势的情况。

发明内容

为了解决传统应用中严重的噪音和地电平不等势的情况。

本发明提供了一种单线接口总线收发系统,包括I2C主机、主机收发器、信号线、从机收发器和I2C从机;

主机收发器用于对从I2C主机接收到的主机数据和主机时钟进行曼彻斯特编码,形成主机单线信号并通过信号线发送给从机收发器,还用于对通过信号线接收到的经曼彻斯特编码后的从机单线信号进行解码,并将解码后的从机数据发送给I2C主机;

从机收发器用于对从I2C从机接收到的数据进行曼彻斯特编码,形成从机单线信号并通过信号线发送给主机收发器,还用于对通过信号线接收到的经曼彻斯特编码后的主机单线信号进行解码,产生恢复的主机时钟,并将解码后的主机数据和恢复的主机时钟发送给I2C从机。

本发明的I2C的单线接口总线可以减少一根线,可以与I2C总线协议完全兼容。

本发明的单线接口总线混合了时钟线与数据线,优选的,根据曼彻斯特-Ⅱ进行双相编码和解码,并包含I2C时钟延伸。

本发明的I2C总线协议的单线接口总线可以降低I2C总线电子设计中的噪音和地电平不等势,并与I2C协议完全相兼容。

附图说明

图1示出了单线接口总线收发系统的结构图;

图2示出了单线接口总线的主机收发器的结构图;

图3示出了单线接口总线从机收发器的结构图;

图4示出了曼彻斯特编码原理图;

图5示出了I2C主机开始命令编码的方法;

图6示出了I2C主机STOP(停止)命令编码的方法;

图7示出了I2C从机对主机接受成功响应编码的方法;

图8示出了I2C从机对主机接受不成功响应编码的方法;

图9示出了I2C主机对从机接受成功响应编码的方法;

图10示出了I2C主机对从机接受不成功响应编码的方法。

具体实施方式

请参考图1,图1示出了单线接口总线收发系统的结构图。单线接口总线收发系统包括包括依次相连的I2C主机、主机收发器、信号线、从机收发器和I2C从机。

I2C主机和主机收发器互相传输数据SDA和主机时钟SCL,主机时钟SCL即总线时钟。主机收发器用于对从I2C主机接收到的主机数据SDA和主机时钟SCL进行曼彻斯特编码,形成主机单线信号(MD)并发送给信号线,还用于对从信号线接收到的经曼彻斯特编码后的从机单线信号(MD)进行解码,并将解码后的从机数据发送给I2C主机。

信号线用于将从主机收发器接收到的主机单线信号传输给从机收发器;信号线还用于将从从机收发器接收到的从机单线信号传输给主机收发器。

I2C从机和从机收发器互相传输数据。从机收发器用于对从I2C从机接收到的数据进行曼彻斯特编码,形成从机单线信号并发送给信号线,还用于对从信号线接收到的经曼彻斯特编码后的主机单线信号进行解码,并将解码后的主机数据发送给I2C从机。

单线接口总线系统的主机收发器和从机收发器的工作原理具体请见图2、图3及其描述。

参考图2,图2示出了单线接口总线的主机收发器的结构图,单线接口总线主机收发器包括主机编码时钟发生器、主机时钟恢复器、主机曼彻斯特编码器和主机曼彻斯特解码器。

主机编码时钟发生器接收主机时钟和主机收发器系统时钟,通过主机收发器系统时钟采样I2C主机时钟SCL来产生主机编码时钟,该主机编码时钟的频率是主机时钟的2倍。主机曼彻斯特编码器将I2C主机数据SDA和主机编码时钟进行曼彻斯特编码,形成主机单线信号。主机曼彻斯特编码器还产生I2C主机时钟延长控制,该I2C主机时钟延长控制用于在主机数据传输结束时而曼彻斯特编码未完成的情况下,延迟主机数据的传输。该I2C主机时钟延长控制发送给主机。主机曼彻斯特编码器还产生使能信号(EN),用于控制信号线的传输方向。来自主机的数据和主机时钟通过该主机编码时钟发生器和主机曼彻斯特编码器形成主机单线信号,然后通过信号线传输给传输给从机收发器,实现主机与从机的通信。

主机时钟恢复器对从机单线信号进行采样,恢复出从机时钟的频率,形成恢复的从机时钟,实现主机和从机收发器系统时钟的同步。主机曼彻斯特解码器接收来自从机收发器的经曼彻斯特编码的从机单线信号、恢复的从机时钟、主机收发器系统时钟,对该从机单线信号进行曼彻斯特解码,形成解码后的I2C从机数据。来自从机的经过从机收发器曼彻斯特编码的从机单线信号通过信号线传输给主机收发器,主机收发器的主机曼彻斯特解码器对该从机单线信号进行解码,从而得到解码后的I2C从机数据,并将解码后的从机数据发送给I2C主机。

优选的,本发明的实施例中,主机收发器系统时钟和从机收发器系统时钟都是主机时钟的13倍,可以使得恢复的时钟更准确,数据的误码率也更低。

请参考图3,图3示出了单线接口总线从机收发器的结构图,单线接口总线从机收发器包括从机时钟恢复器、从机曼彻斯特编码器、从机曼彻斯特解码器、从机I2C时序发生器。

从机时钟恢复器接收从机收发器系统时钟和来自主机的主机单线信号,形成2倍主机时钟频率的从机编码时钟,并恢复主机时钟,形成恢复的主机时钟。从机曼彻斯特编码器接收从机收发器系统时钟,I2C从机数据SDA和从机编码时钟,将I2C从机的数据SDA和从机编码时钟进行曼彻斯特编码,形成从机单线信号,然后通过信号线传输给主机收发器,实现从机与主机的通信。

从机曼彻斯特解码器接收从机收发器系统时钟、恢复的主机时钟和主机单线信号,并对该主机单线信号进行曼彻斯特解码,形成解码后的主机数据。I2C时序发生器接收从机收发器系统时钟、恢复后的主机时钟和解码后的主机数据,I2C时序发生器对其进行缓冲,控制恢复后的主机时钟和解码后的主机数据符合I2C标准时序关系,即发送给I2C从机的主机数据和主机时钟是在I2C标准时间要求内的。来自主机的经过曼彻斯特编码的主机单线信号通过信号线传输给从机收发器。从机收发器的从机曼彻斯特解码器对主机单线信号进行解码,得到解码后的主机数据。从机时钟恢复器恢复出主机时钟。I2C时序发生器使得恢复后的主机时钟和解码后的主机数据满足I2C标准时序要求,并将恢复后的主机时钟和解码后的主机数据发送给从机。

请参考图4,图4示出了曼彻斯特编码原理图。本发明优选的使用曼彻斯特II双相编码(常简称为曼彻斯特编码)方式进行编码。曼彻斯特编码提供了一种结合数据位序列的自同步波形。它不是一个独立的时钟信号,因为该时钟信号中还嵌入了数据。数据SDA的逻辑“1”表示半个时钟周期的高电平后接着半个时钟周期的低电平,逻辑“0”表示半个时钟周期的低电平后接着半个时钟周期的高电平。对时钟SCL和数据SDA进行曼彻斯特编码,形成如图所示的曼彻斯特码(Manchester Coded Data),曼彻斯特数据“1”表示半个时钟周期的高电平后接着半个时钟周期的低电平,曼彻斯特数据“0”表示半个时钟周期的低电平后接着半个时钟周期的高电平。

图5至图10列举了本发明收发器的具体编码方式。

请参考图5,图5示出了I2C主机START(开始)命令编码的方法。通过系统时钟采样I2C主机时钟SCL来产生主机编码时钟,该编码时钟的频率是主机时钟的2倍。当主机时钟为高电平时,数据SDA从高电平变为低电平时,这就表示开始命令。开始命令之后,后面可以接着传输数据。所有主收发器和从收发器之间的数据编码,都以同步头开始,该同步头包含一个主机时钟周期的低电平和一个主机时钟周期的高电平。对主机编码时钟和主机数据SDA进行编码,编码后的开始命令是一个同步头后跟随一个主机时钟周期的低电平。

请参考图6,图6示出了I2C主机STOP(停止)命令编码的方法。通过系统时钟采样I2C主机时钟SCL来产生主机编码时钟,该编码时钟的频率是主机时钟的2倍。当主机时钟为高电平时,数据SDA从低电平变为高电平时,这就表示停止命令。停止命令之后,后面可以重新传输数据。对主机编码时钟和主机数据SDA进行编码,编码后的停止命令是一个同步头后跟随两个主机时钟周期的低电平和两个主机时钟周期的高电平。

请参考图7,图7示出了I2C从机对主机接受成功(ACK)响应编码的方法。使用从机编码时钟,编码后的I2C从机对主机接受成功响应的代码是一个同步头后跟随一个主机时钟SCL周期低电平。

请参考图8,图8示出了I2C从机对主机接受不成功(NACK)响应编码的方法。使用从机编码时钟,编码后的I2C从机对主机接受不成功响应的代码是一个同步头后跟随一个主机时钟周期高电平。

请参考图9,图9示出了I2C主机对从机接受成功(ACK)响应编码的方法。使用主机编码时钟,编码后的I2C主机对从机接受成功响应的代码是一个同步头后跟随一个曼彻斯特数据位0。

请参考图10,图10示出了I2C主机对从机接受不成功(NACK)响应编码的方法。使用主机编码时钟,编码后的I2C主机对从机接受不成功响应的代码是一个同步头后跟随一个曼彻斯特数据位1。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号