查看原文
其他

4线I2C比2线I2C多了些什么呢

一口Linux 2021-11-06

The following article is from 嵌入式杂牌军 Author 追梦星空


文 章 导 读


     我们用得比较多的是2线I2C,随着技术的发展,为了满足更为复杂的通讯需求,增强通信效率,4线I2C出现了,今天我以RT1052中的LPI2C的结构为例,带大家看看它与2线I2C有啥区别,欢迎交流哈,


1先看看LPI2C的主从结构吧


    下图为RT1052低功耗I2C的结构图。



    可以看到其上放的方框为主机部分,主要由FIFO、配置寄存器、主机逻辑模块、预分频器和错误过滤器组成。



    从机由发送数据、接收数据/地址、配置寄存器、从机逻辑模块、错误过滤器组成。


    时钟有功能时钟、外部时钟、总线时钟。


    ① 功能时钟。

 

    它是LPI2C的根时钟LPI2C_CLK_ROOT,有PLL分配或外部OSC晶振作为时钟源。


    LPI2C功能时钟与总线时钟异步,在低功耗模式其仍可以处于启用状态,此时LPI2C主机的I2C总线仍可以进行数据传输。

 

    LPI2C从机也使用功能时钟来支持数字滤波器和数据保持时间配置。

 

    LPI2C主机通过一个预分频器将功能时钟分开,产生的频率必须至少比I2C总线带宽快8倍。

 

    ② 外部时钟。

 

    LPI2C从机逻辑直接从外部引脚SCL和SDA(或SCLS和SDAS,如果主和从在不同的引脚上实现)获取时钟。

 

    这使得,即使LPI2C功能时钟被禁用,LPI2C从机仍可以处于工作状态。

 

    注意:如果LPI2C功能时钟被禁用,则必须禁用LPI2C从数字滤波器,这可能会影响对I2C规范中某些定时参数的一致性,例如数据保持时间。

 

    ③ 总线时钟。

 

    指RT1052内部外设总线(Internal Soc Peripheral Bus)的时钟。


    总线时钟仅用于总线访问控制和配置寄存器。

 

    总线时钟频率必须足以支持LPI2C主寄存器和从寄存器的数据带宽要求。


2从引脚对比下4线与2线的差别

 

     2线I2C与4线I2C引脚功能对比如下。


信号名称2线4线I/O
SCLLPI2C时钟线SCL4线模式的SCL输入I/O
SDALPI2C数据线SDA4线模式的SDA输入I/O
HREQ主机请求如果主机请求有效且I2C总线空闲,将启动一个LPI2C主机传输。同2线I
SCLSI2C辅助时钟线未用4线模式的SCLS输出。如果主机和从机被配置为独立的,此引脚为LPI2C的从机SCL引脚I/O
SDASI2C辅助数据线未用4线模式的SDAS输出。如果主机和从机被配置为独立的,此引脚为LPI2C的从机SDA引脚I/O


    可以看出4线I2C多出了SCLS和SDAS时钟线和数据线。


    当LPI2C被配置为主、从机独立引脚的模式时,SCL和SDA线用于主机模式,而SCLS和SDAS线则用于从机模式,互不干扰。


    HREQ也增加的引脚,它用于外部设备向LPI2C主机申请发起通讯的请求。


    总结一下:


    4线模式:SCL、SDA对应输入,SCLS,SDAS对应输出。


    主从机独立:SCLS,SDAS对应从机。


3从总线结构对比2线I2C与4线I2C

    

    2线总线结构图如下所示。



    可以看出手册中的2线总线图和我们平时见的是一样。


    4线总线结构图如下所示。



    其中虚线即为下图的硬件驱动电路。


    4线模式,硬件中会限制数据线是SDA(输入)还是SDAS(输出)起作用,收发不同时,所谓的4线其实是假的,只是分开走数据,这样的好处是干扰少了。


    有些应用程序可能会在I2C总线上提供大量的负载和噪声,为了确保可靠的I2C操作,可以使用4线接口,将2条线分为输入和输出。


    利用上图所示的晶体管、电阻和二极管,可以制造出自己的廉价线路驱动器。


总结

    今天给大家对比了下LPI2C的4线和2线总线的构成及差异,后面还会有I2C相关的内容,小伙伴们尽情期待哈。


推荐阅读


【1】【从0学ARM】你不了解的ARM处理异常之道
【2】为什么使用结构体效率比较高? 必读【3】9. 基于Cortex-A9 LED汇编、C语言驱动编写必读【4】一文包你学会网络数据抓包必读【5】10. 基于Cortex-A9的pwm详解 必读【6】11. 基于ARM Cortex-A9中断详解 必读
【7】12. 如何基于Cortex-A9的UART详解
【8】网络/命令行抓包工具tcpdump详解

 


 

进群,请加一口君个人微信,带你嵌入式入门进阶。


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存