RK3568驱动指南|第十五篇 I2C-第176章 通过逻辑分析仪认识I2C波形

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568 支持安卓 11 和 linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、卡拉 OK、云终端、车载中控等行业。


【公众号】迅为电子

【粉丝群】258811263(加群获取驱动文档+例程)

【视频观看】嵌入式学习之Linux驱动(第十五篇 I2C_全新升级)_基于RK3568

【购买链接】迅为RK3568开发板瑞芯微Linux安卓鸿蒙ARM核心板人工智能AI主板


第176章 通过逻辑分析仪认识I2C波形

在本章节将使用逻辑分析仪对前面章节编写的FT5X06 I2C驱动产生的波形进行分析,由于采集触摸芯片的波形需要飞线,操作较为复杂,所以同学们不需要自己实际进行采集,只需要看作者采集到的波形即可。

采集到的整体波形如下所示:

接下来对每一部分的波形进行分析。

176.1写操作

在数据传输之前,主机要先发送一个起始信号,起始信号为SDA线从高电平到低电平的跳变,同时SCL线保持高电平,就对应下图所示部分,逻辑分析仪软件也用一个绿色的远点进行了标注,

 然后传输了一个8位的数据,分别为7位的地址和读写方向,前七个时钟周期的值为0111000,转换为16进制就是0x38,也就是FT5X06的芯片地址,第8个时钟周期为0,表示读写方向为写入。

然后是一个ACK应答信号,这里为0低电平表示I2C外设已发送应答,然后就要数据传输了,要操作的寄存器地址为0x80,要写入的数据为0x4b,具体波形图如下所示:

发送完成之后主机会发送一个终止信号,终止信号为SDA线从低电平到高电平的跳变,同时SCL线保持高电平,具体波形图如下所示:

可以将写操作分为以下步骤:

1.主机发送一个起始信号

2.主机发送I2C外设的地址和写操作,等待应答信号

3.从机发送应答信号

4.主机要发送寄存器的地址,等待应答信号

5.从机发送应答信号

6.主机发送要写入的寄存器的数据,等待应答信号

7.从机发送应答信号

8.主机要发送终止信号,如果写多个寄存器,重复6,7步骤。

176.2读操作

无论是读操作还是写操作,都要先写入I2C外设地址,所以最开始的波形是相同的,如下图所示:

然后是发送要都读取的寄存器地址,也就是0x80,具体波形如下图所示:

接下来主机就可以读取该寄存器地址的数据了,读取到的数据为0x4B,具体波形如下图所示:

可以将读操作分为以下步骤:

1.主机发送一个起始信号

2.主机要发送12C外设地址和写操作,等待应答信号

3.从机发送应答信号

4.主机要发送要读取的寄存器的地址,等待应答信号

5.从机发送应答信号

6.主机发送起始信号

7.主机发送要读取的12C外设的地址和读操作,等待应答信号

8.从机发送应答信号

9.从机发送数据,也就是要读取的寄存器的数据,等待应答或者非应答信号

10.主机如果不在读取数据,就要发送非应答信号,如果继续读取,就发送应答信号

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值