前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统驱动之I2C视频介绍

Linux系统驱动之I2C视频介绍

作者头像
韦东山
发布2021-12-08 10:37:43
2.3K0
发布2021-12-08 10:37:43
举报
文章被收录于专栏:韦东山嵌入式

资料下载

coding无法使用浏览器打开,必须用git工具下载:

代码语言:javascript
复制
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

I2C视频介绍

参考资料:

  • I2CTools:https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/

1. I2C硬件框架

在这里插入图片描述
在这里插入图片描述
  • 在一个芯片(SoC)内部,有一个或多个I2C控制器
  • 在一个I2C控制器上,可以连接一个或多个I2C设备
  • I2C总线只需要2条线:时钟线SCL、数据线SDA
  • 在I2C总线的SCL、SDA线上,都有上拉电阻

2. I2C软件框架

在这里插入图片描述
在这里插入图片描述

以I2C接口的存储设备AT24C02为例:

  • APP:
    • 提出要求:把字符串"www.100ask.net"写入AT24C02地址16开始的地方
    • 它是大爷,不关心底层实现的细节
    • 它只需要调用设备驱动程序提供的接口
  • AT24C02驱动:
    • 它知道AT24C02要求的地址、数据格式
    • 它知道发出什么信号才能让AT24C02执行擦除、烧写工作
    • 它知道怎么判断数据是否烧写成功
    • 它构造好一系列的数据,发给I2C控制器
  • I2C控制器驱动
    • 它根据I2C协议发出各类信号:I2C设备地址、I2C存储地址、数据
    • 它根据I2C协议判断

3. 我们讲什么

3.1 对于Linux
在这里插入图片描述
在这里插入图片描述

从上到下:

  • 先讲I2C协议
  • APP可以通过两类驱动程序访问设备
    • I2C设备自己的驱动程序
    • 内核自带的i2c-dev.c驱动程序,它是i2c控制器驱动程序暴露给用户空间的驱动程序(i2c-dev.c)
  • I2C Device Driver
    • I2C设备自己的驱动程序
    • 内核自带的i2c-dev.c驱动程序,它是i2c控制器驱动程序暴露给用户空间的驱动程序(i2c-dev.c)
  • I2C Controller Driver
    • 芯片I2C控制器的驱动程序(称为adapter)
    • 使用GPIO模拟的I2C控制器驱动程序(i2c-gpio.c)
3.2 对于单片机/裸机
在这里插入图片描述
在这里插入图片描述

从上到下:

  • 先讲I2C协议
  • APP
  • I2C Device Driver
  • I2C Controller Driver(也被称为adapter)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 资料下载
  • 视频观看
  • I2C视频介绍
    • 1. I2C硬件框架
      • 2. I2C软件框架
        • 3. 我们讲什么
          • 3.1 对于Linux
          • 3.2 对于单片机/裸机
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档