ROCKCHIP I2C 开发指南

本文是ROCKCHIP I2C开发指南,详细介绍了I2C流程、驱动参数配置、使用方法、I2C工具、GPIO模拟I2C及常见问题。针对i2c-rk3x.c和i2c-rockchip.c驱动的不同,提供了配置和故障排查指导,包括时钟频率、中断响应和外部设备无应答等问题。

想深耕嵌入式?这个专辑值得收藏

MCU、FPGA、工控、传感器一站式学习,实战项目直接抄

ROCKCHIP I2C 开发指南

前言

ROCKCHIP 系列芯片为客户提供了标准 I2C 总线,方便客户实现对不同外接设备的控制和访问。I2C 总线控制器通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。
Rockchip I2C 控制器支持下列功能︰

  • 兼容 I2C 与 SMBus 总线
  • 仅支持主模式下的 I2C 总线
  • 软件可编程时钟频率支持到 400kbps,部分芯片可高达 1000kbps
  • 支持 7 位和 10 位寻址模式
  • 一次中断或轮询至多 32 个字节的数据传输

下图为 I2C 总线的硬件连接方式,需要上拉电阻,改变上拉电阻大小可调节 I2C 总线的上拉强度。
ROCKCHIP I2C 在不同芯片,不同内核版本上的驱动不一样:i2c-rk3x.c 或者 i2c-rockchip.c(i2c-rockchip.c 驱动为 3.10 内核版本上使用),I2C 可以跑的最高频率一般都是 1000K。
在这里插入图片描述

在这里插入图片描述


目录

1. I2C 流程

I2C 的流程在两个驱动上大致是一样,写是单纯的 TX 模式 (I2C_CON[1:0]=2’b00),而读一般使用 TRX 模式(I2C_CON[1:0]=2’b01)。下面的 I2C 控制器操作流程图是描述软件如何通过这个 I2C 控制器寄存器来配置和执行 I2C 任务。描述分为 3 部分,传输模式,混合模式和接收模式。

1.1. Trasmint only mode(I2C_CON[1:0]=2’b00)

在这里插入图片描述

1.2. Mix mode (I2C_CON[1:0]=2’b01 or I2C_CON[1:0]=2’b11)

在这里插入图片描述

1.3. Receive only mode (I2C_CON[1:0]=2’b10)

想深耕嵌入式?这个专辑值得收藏

MCU、FPGA、工控、传感器一站式学习,实战项目直接抄

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值