[其它应用] I3C与I2C的区别

[复制链接]
2487|6
 楼主| tpgf 发表于 2025-2-6 13:32 | 显示全部楼层 |阅读模式
I2c, i3c, AC, iic, ic
1.支持热插拔,动态获取slave地址

2.更高的数据传输速率

3.连接方式





===============================

IIC DMA 与IIC 传输的速率对比
1. 加入DMA



2.未加DMA



结论:看起来小批量的数据传输 无论是否加入DMA 对结果没有很大影响

模拟IIC 再写入多页的的设备时需要注意

void IIC_Write_Multi_Reg(uint8_t SlaveAddress,uint8_t RegAddress,uint8_t *Data,int num)
        {
            IIC_Start();
                IIC_Send_Byte(SlaveAddress);   //发送器件地址,写数据
                IIC_Wait_Ack();
                IIC_Send_Byte(RegAddress);                                //发送低地址
                IIC_Wait_Ack();
                IIC_Send_Byte(RegAddress%256);                                //发送低地址
                IIC_Wait_Ack();
                for(int count =0;count<num;count++)
                {
                        IIC_Send_Byte(*Data);
                        IIC_Wait_Ack();
                                printf("%02x ,",*Data);
                                if((count+1)%12==0 ) printf("\r\n");   
                        Data++;
                        //满页操作
                        if((count+1)%8==0)     /* Note :每页写完之后要等该页数据存储完毕之后再进行下页的存储*/
                        {
                                IIC_Stop();
                                HAL_Delay(10);
                                IIC_Start();
                                IIC_Send_Byte(RegAddress);                                //发送地址
                                IIC_Wait_Ack();
                IIC_Send_Byte(RegAddress%256);                                //发送低地址
                IIC_Wait_Ack();
                        }
                }
                IIC_Stop();
                HAL_Delay(10);
        }

1.注意发送的高地址和低地址,需要加入发送地址的两位来确认

2.注意再一页数据写完之后 要等数据完成存储,即结束一个IIC ,使之存储起来,再重新发送数据,此时的地址不用发生偏移
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_43519774/article/details/144829135

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
chenjun89 发表于 2025-2-6 18:07 来自手机 | 显示全部楼层
目前还没有用过I3C,不知道性能如何。
AdaMaYun 发表于 2025-2-18 15:46 | 显示全部楼层
I3C性能一般优于IIC
LOVEEVER 发表于 2025-2-23 20:46 | 显示全部楼层
.注意发送的高地址和低地址,需要加入发送地址的两位来确认
中国龙芯CDX 发表于 2025-6-27 21:52 | 显示全部楼层
这种区别确实非常重要进行区分
桃乐丝 发表于 2025-6-30 12:42 | 显示全部楼层
总线管理:I3C 支持动态设备地址分配、热插拔,主从可切换;I2C 地址固定,主从角色固定。
信号机制:I3C 用开漏 / 推挽混合输出,引入 BSY/INT 双线仲裁;I2C 为开漏输出,靠 SDA 仲裁。
功耗:I3C 支持低功耗模式(如突发传输后进入休眠),功耗优化更优。
协议特性:I3C 兼容 I2C,新增快速访问、广播中断等功能,适合物联网和传感器场景。
老橘树下的桥头 发表于 2025-8-27 13:25 | 显示全部楼层
I3C 比 I2C 速度更快(最高 33Mbps),支持热插拔,多主设备,动态地址分配,兼容 I2C 设备,更适用于现代高速传感器网络。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17635

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部