上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 16 下一页
摘要: 由于I2C是低速总线,其上传输的大部分消息都很小,因此不认为它是DMA访问的主要用户。在撰写本文时,只有10%的I2C总线master驱动程序实现了DMA支持。而且绝大多数事务都很小,因此为其设置DMA可能会比普通的PIO传输增加更多的开销。 因此,并不强制要求I2C消息的缓冲区是DMA安全的。当这 阅读全文
posted @ 2021-08-18 18:40 闹闹爸爸 阅读(1257) 评论(0) 推荐(0) 编辑
摘要: 通常,I2C设备是由内核驱动程序控制的。但是也可以通过/dev接口从用户空间访问适配器上的所有设备。为此,您需要加载模块i2c-dev。 每个注册的I2C适配器获得一个从0开始计数的数字。您可以检查/sys/class/i2c-dev/以查看哪个适配器对应哪个数字。或者,您可以运行“i2cdetec 阅读全文
posted @ 2021-08-18 18:18 闹闹爸爸 阅读(1189) 评论(0) 推荐(2) 编辑
摘要: 对于那些想要为I2C或SMBus设备编写内核驱动程序,使用Linux作为协议host/master(而不是slave)的人来说,这是一个小指南。 要设置一个驱动程序,您需要做几件事。有些是可选的,有些事情可以做得稍微不同或完全不同。把它作为指导,而不是规则手册! 备注 尽量保持内核名称空间的整洁。最 阅读全文
posted @ 2021-08-17 18:06 闹闹爸爸 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 概述 由于I2C MUX (I2C多路复用器)的存在,I2C拓扑会变得很复杂。Linux内核将MUX通道抽象为逻辑I2C总线号。然而,从I2C总线物理编号和MUX拓扑 到 逻辑I2C总线编号的映射还存在认知差距。本文档旨在填补这一空白,以便读者(例如硬件工程师和新软件开发人员)通过了解物理I2C拓扑 阅读全文
posted @ 2021-08-17 11:59 闹闹爸爸 阅读(1475) 评论(0) 推荐(0) 编辑
摘要: 描述 i2c-mux-gpio 是一个i2c mux驱动程序,提供从主i2c总线和通过GPIO管脚控制的硬件MUX访问i2c总线段。 例如: Bus segment 1 - - - - - | | SCL/SDA | | | | | | | | | | | | Bus segment 2 | | | 阅读全文
posted @ 2021-08-16 18:56 闹闹爸爸 阅读(822) 评论(0) 推荐(0) 编辑
摘要: 构建更复杂的I2C拓扑,而不是带有一个适配器和一个或多个设备的直观的I2C总线,有几个原因。 在总线上可能需要一个多路交换器来防止地址冲突。 总线可能可以从一些外部总线主机访问,并且可能需要仲裁来确定是否可以访问总线。 一个设备(特别是射频调谐器)可能想要避免来自I2C总线的数字噪声,至少在大多数时 阅读全文
posted @ 2021-08-16 18:45 闹闹爸爸 阅读(2019) 评论(0) 推荐(0) 编辑
摘要: 与PCI或USB设备不同,I2C设备不在硬件级别枚举。相反,软件必须知道每个I2C总线段上连接了哪些设备,以及这些设备使用的地址。由于这个原因,内核代码必须显式地实例化I2C设备。根据上下文和需求,有几种方法可以实现这一点。 方法一:静态声明I2C设备 当I2C总线是系统总线时(如许多嵌入式系统的情 阅读全文
posted @ 2021-08-16 16:34 闹闹爸爸 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 下面是SMBus协议的概要。它适用于协议的所有版本(1.0、1.1和2.0)。在本文的最后对某些协议特性进行了简要描述,这些特性是本软件包不支持的。 有些适配器只理解SMBus(系统管理总线)协议,它是I2C协议的一个子集。幸运的是,许多设备只使用相同的子集,这使得将它们放在SMBus上成为可能。 阅读全文
posted @ 2021-08-16 15:01 闹闹爸爸 阅读(3967) 评论(0) 推荐(0) 编辑
摘要: 符号注解 S Start 条件 P Stop 条件 Rd/Wr (1 bit) 读/写位。Read等于1, Write等于0。 A, NA (1 bit) 确认(ACK)和不确认(NACK)位 Addr (7 bits) I2C 7位地址。注意,这可以像往常一样进行扩展,以获得10位I2C地址。 C 阅读全文
posted @ 2021-08-16 11:23 闹闹爸爸 阅读(463) 评论(0) 推荐(0) 编辑
摘要: I²C(发音:I方C,在内核文档中写成I2C)是由Philips开发的协议。它是一个慢的两线协议(变速,高达400khz),具有高速扩展(3.4 MHz)。它提供了一种廉价的总线,用于连接不频繁或低带宽通信需求的许多类型的设备。I2C广泛应用于嵌入式系统。有些系统使用的变体不符合品牌要求,因此不被宣 阅读全文
posted @ 2021-08-16 10:32 闹闹爸爸 阅读(2213) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 16 下一页