查看: 610|回复: 2

[原创] 【LPC860-max板卡试用】1. I3C协议学习笔记整理(一)

[复制链接]
  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 596 天

    [LV.9]以坛为家II

    51

    主题

    2227

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7086
    最后登录
    2024-4-29
    发表于 2023-12-3 18:44:06 | 显示全部楼层 |阅读模式
    本帖最后由 andeyqi 于 2023-12-3 21:13 编辑

    简介:      


           LPC860-max  开发板集成了I3C IP模块,开发板的原理图的U5上是有个I3C的六轴传感器(icm42688p
    ),不过这颗料没有贴,论坛上已经有大佬贴了这颗料抛弃了测试程序,出于从0开始学习I3C接口的初衷,也购置了一颗贴上去如下图1,贴上料后运行 sdk 内\boards\lpcxpresso860max\driver_examples\i3c\master_read_sensor_icm42688p 测试程序后会在串口上打印出传感器数据如图2.



    3536.jpg

    图1
    3536(1).jpg
    图2

    1  12C/13C 硬件资源占用比较
    图 1.1 是I2C 的硬件涉及拓扑图,I2C 虽然只有SCL,SDA 线,但是还是需要额外的线连接到控制芯片上,如enable/reset/int 等控制信号线,而I3C 会把enable/rst/int 等信号放到内置的命令字里面,这样I3C的信号线只有SCL/SDA两根线,这样会节省硬件资源从而节约PCB资源,图1.2 为I3C系统的硬件连线状况。
    图片1.png

    图1.1

    图片2.png

    图1.2

    2. I2C/I3C/SPI硬件资源速率比较图2.1 为MIPI_Alliance_I3C_Whitepaper.pdf 文档中对三种协议的说明比较的表格。


    i3c_i2c_spi.png

    图 2.1

    PIN 脚数量比较

    • SPI 协议本身就有四根线一进一出/时钟/片选信号线,中断信号也是需要额外的信号线来提供,并且spi是不支持多个master
    • I2C 协议是SDA/SCL两根线,中断信号等也是需要额外的信号线来提供
    • I3C 只需要SDA/SCL两根线,中断是集成在内置的命令字里面

    通信速率比较
    • SPI 最高速率可以达到60 Mbps
    • I2C 3.4 Mbps
    • I3C 30 Mbps ,现阶段的SDR mode 可以达到12.5 Mbps

    I3C 相对I2C 速率上的提升主要是因为I2C 是open-drian 的总线结构I3C 是push-pull 的结构,以下图片是两种结构的对比结果400k 的场景open-drian 结构是能正常通信,但是波形相对push-pull不是很规整,在12.5M的场景下波形已经无法通信了。
    26496.jpg


    3.I2C 和 I3C 协议方面比较根据以下截图来对比I2C和I3C 协议,以下截图来自NXP 官方的I3C协议视频

    7238.jpg


    5502.jpg

    • #wires:I2C  scl/sda 线都是open-drian 接口的,sda scl 线是双向的,scl 大部分是单向的master-slave,slave 在时钟延展的时候也是可以控制scl线。I3C的scl 线是push-pull接口方向是单向的,sda 线是既可以工作在push-pull 也可以工作在opendrian ,sda 线是双向的。
    • power:I2C SCL/SDA 线是open-drian结构外接上拉电阻,I3C SCL 是一直是push-pull 模式,sda 大部分时间是push-pull 偶尔 open-drian 所以功耗方面I3C 相对I2C 要小。
    • slave read termination: I2C 传输结束需要master 结束,I3C slave 可以结束传输
    • IBI:I2C 是没有内置中断的I3C 则是支持IBI中断
    • Hot-Plug:I2C 不支持热插拔,I3C 是支持热插拔
    • error-detection: I2C 对故障的处理相对是很弱的,如果总线被拉死只能通过连续发送九个周期的scl信号恢复总线,I3C 则是有许多故障检出机制
    • build-in command:I2C 是没有内置命令字的,I3C是支持内置命令字,可以通过内置命令字来分配地址检查总线状态等

    以下是I2C 和 I3C 在1V8 和3V3 工作电压下的功耗和速率的对比图。

    15309.jpg

    以上资料资源来自以下视频:




    ======资料分割线======

    MIPI_Alliance_I3C_Whitepaper.pdf (1003.28 KB, 下载次数: 10)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    839

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3986
    最后登录
    2024-4-29
    发表于 2023-12-4 12:58:09 | 显示全部楼层
    我们有单独的LPC800的讲I3C的视频哟~
    https://www.bilibili.com/video/B ... id_from=333.999.0.0
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 596 天

    [LV.9]以坛为家II

    51

    主题

    2227

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    7086
    最后登录
    2024-4-29
     楼主| 发表于 2023-12-4 13:51:51 | 显示全部楼层
    mgn 发表于 2023-12-4 12:58
    我们有单独的LPC800的讲I3C的视频哟~
    https://www.bilibili.com/video/BV1bF411D7hh/?spm_id_from=333.999. ...

    感谢分享   看了一遍又有些收获了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-29 13:01 , Processed in 0.125656 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表