0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用最少引脚的多设备通信

星星科技指导员 来源:嵌入式计算设计 作者:Jeremy S. Cook 2022-06-27 15:37 次阅读

I 2 C 也经常拼写为 I2C,并且(很少)扩展为完整的“内部集成电路”绰号,是飞利浦半导体(现为 NXP)于 1982 年发明的设备到设备通信协议。

从那时起,I2C 一直用于计算设备及其外围设备之间的通信,并且自 2006 年 10 月 6 日起,它可以免费实施,无需支付任何许可费用。

该系统使用起来非常简单,只需要两个或多个设备之间的 SDA(串行数据)和 SCL(串行)时钟线,以及一个上拉电阻器以保持线路正常高电平。在最基本的用法中,您可能有一个 I2C 设备,例如 Arduino 板,充当主设备(控制器),而单个从设备(外围设备)设置为在发出请求时发出信号甚至发回数据。

我已经在许多设置中使用此接口进行基本的一对一通信——例如我的JC Pro Macro 计算机输入设备上的显示——但实际上大量设备可以使用单个总线来传递消息。 该协议包括一个寻址字节,随后传输附加数据。128 个设备通常可以通过 7 个寻址位来访问,因为第 8 位用于指示是否要启动读取或写入操作。

这是对协议工作原理的非常详细的介绍,如果您想深入了解,TI 在此处更深入地解释了详细信息。通过 i2c-bus.org还可以获得大量信息。从概念的角度来看,这是一项有趣的技术,但如果您只是想让事情正常运行,好消息是使用它的许多细节都可以通过预先编写的库来处理。

为什么选择 I2C?

如前所述,I2C 的最大优势在于其接线简单,同时仍允许在多个设备之间进行通信。另一种选择是 SPI,它速度更快,能够进行一对多传输,但需要四根线。RS-232 就其本身而言,甚至比 I2C 更简单,因为它不需要上拉电阻,但只能进行一对一通信。值得注意的是,许多 I2C 设备已经包含上拉电阻,因此在这种情况下,您甚至不必添加额外的组件。

人们可能还听说过TWI(双线接口)和SMBus(系统管理总线)这两个术语,它们都是 I2C 的子集。I2C 横幅中还有多种样式,具有不同的功能,包括 8 位和 10 位寻址方案以及从 100kbit/s 到 3.2Mbit/s 的时钟速度。好消息是,经过 39 年的开发和标准化,如果你有一个类似 I2C 的设备,并且你把它扔到总线上,它很有可能会工作。在基于 Arduino 的系统的上下文中,传输是通过预定义引脚上的Wire 库处理的,这使得这更加简单。

Arduino I2C 示例

如上图所示,JC Pro Macro 2可以在其 I2C 引脚上安装 OLED 显示器以获取用户反馈,这些引脚从其“Arduino” Pro 微控制器上的引脚 2 (SDA) 和 3 (SCL) 断开。此处的设置主要是从 Adafruit ssd1306 库示例中复制/粘贴的。我设计了这个设备,我必须做的一个更改是将第 36 行从 0x3D 更改为 0x3C,因为我使用的 eBay 购买的屏幕地址与Adafruit 销售的不同。

poYBAGK5XqSAXGp0AADXCgBm1uc924.png

在研究本文时,我将 Adafruit 示例代码(地址更改)直接加载到控制我的键盘的 Pro Micro 上。没有任何进一步的修改,它开始在屏幕上显示 Adafruit 示例。请注意,上面显示的代码中的第 35 行不是问题,即使我没有连接复位引脚。不管是不是这个结果,在开发板重置后似乎确实需要一段时间才能重新开始工作,但这通常不是什么大问题。如前所述,如果您的地址正确,一切似乎都可以正常工作。

I2C 扫描仪:轻松获取正确的 I2C 地址

pYYBAGK5Xq2AcY9HAAF8z3r0lTk737.png

如果您没有正确的地址,一切都不会丢失,并且您不必在在线论坛上闲逛和/或猜测。使用这款 Arduino I2C 扫描仪实际上很容易找到。要安装,只需在 Arduino IDE 库管理器中搜索i2c 扫描仪。将执行示例代码加载到您的开发板上并打开您的串行监视器。如果您有任何 I2C 设备连接到您的 Arduino,它们的地址将通过串行监视器显示。这是一个肯定可以节省大量挫败感的工具!

可以用了!

虽然这个简短的概述应该让您开始您的 I2C 之旅,但仍有大量的设备和技术可供探索。I2C 是一种在设备与设备之间以合理速度进行通信的好方法,适用于许多应用程序,同时使用最少的 GPIO 引脚。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4969

    浏览量

    139916
  • 开发板
    +关注

    关注

    25

    文章

    5027

    浏览量

    97361
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186923
收藏 人收藏

    评论

    相关推荐

    ADS129x无法与设备正确通信的原因?

    ADS129x设备SPI通信问题调试步骤 如果MCU无法与设备正确通信,请先参阅数据表的Programming和SPI部分,以查看通信协议
    发表于 11-28 06:28

    串口通信设备连接方法 串口通信在嵌入式开发中的应用

    硬件连接 串口通信通常涉及两个设备:一个发送器和一个接收器。连接这两个设备需要以下步骤: 选择正确的接口 :确保发送器和接收器的接口类型相匹配,如DB9、DB25、RJ45等。 连接数据线 :将发送器的TX(发送)
    的头像 发表于 11-22 09:07 474次阅读

    输出电压谐波含量最少的是什么电路

    在电力电子领域,输出电压谐波含量最少的电路通常是指具有高功率因数、低谐波失真和高效率的电路。 一、引言 随着电力电子技术的不断发展,电力电子设备在工业、民用和军事等领域得到了广泛应用。然而,这些设备
    的头像 发表于 08-14 14:48 395次阅读

    mipi显示器接口多少引脚

    MIPi(Mobile Industry Processor Interface)是一种用于移动设备的显示接口标准,由MIPI联盟制定。MIPi接口主要用于连接处理器和显示设备,提供高速数据传输
    的头像 发表于 07-16 09:11 2219次阅读

    通信的核心技术和IP地址管理

    在现代网络通信中,IP地址是每个设备在网络中的唯.一标识,而通信(Multicast)则是一种高效的数据传输方式。本文将详细解析IP地址的定义、IP
    的头像 发表于 07-15 16:45 401次阅读

    PLC如何与其他设备进行通信

    与其他设备进行通信,以实现数据的交换和指令的传递。本文将详细探讨PLC如何与其他设备进行通信,包括通信方式、
    的头像 发表于 06-27 14:07 1926次阅读

    北斗通信指挥终端设备

    北斗通信指挥终端设备还支持短报文收发通信,使得在没有4G/5G基站信号的区域,依然能够作为通信通道的补充,确保信息的可靠传输。这些特点使得北斗通信
    的头像 发表于 06-15 13:40 400次阅读
    北斗<b class='flag-5'>通信</b>指挥终端<b class='flag-5'>设备</b>

    IN628E的引脚复用

    引脚
    橙群微电子
    发布于 :2024年05月21日 16:25:59

    USB转协议串口通信

    、232、TTL协议串口的通信。板子上预留了5V和3.3V的供电输出,输出电流最大500mA。 一. 产品简介: 1)项目背景是在实际应用中需要多种串口调试工具,携带起来也不太方便就做了这款USB转
    的头像 发表于 04-29 16:23 573次阅读
    USB转<b class='flag-5'>多</b>协议串口<b class='flag-5'>通信</b>

    STM32 GPIO引脚配成AF功能,对应设备未启用时引脚是什么状态?

    STM32 的 GPIO 配置中,对 MODER 设置使某引脚为复用功能,也就是分配给片上设备用,输入输出由片上设备决定。 但若所选的片上设备还没有启用,那么这时此
    发表于 04-24 07:59

    请问USB CDC host怎么与串口的从机通信

    USB CDC host怎么与串口的从机通信? 有一个从设备的USB虚拟了3个串口,作为主设备,如何分别识别出每个串口,分别于每个串口通信
    发表于 04-11 06:11

    基于通信设备的家庭防盗系统

    电子发烧友网站提供《基于通信设备的家庭防盗系统.rar》资料免费下载
    发表于 03-04 09:44 2次下载

    通信的未来:业务光端机的优势与应用场景

    随着科技的进步和人们对信息传输速度需求的不断提高,光通信作为一种高速、高效的通信方式,正逐渐成为未来通信领域的主流。而业务光端机,作为光通信
    的头像 发表于 02-23 14:09 944次阅读

    关于通信和单跳通信两种方式有什么区别

    通信和单跳通信是两种不同的通信方式,各有优缺点。单跳通信简单直接,但距离有限;
    的头像 发表于 01-19 17:58 1748次阅读

    请问SWD烧录最少需要接几个引脚啊?

    请问SWD烧录最少需要接几个引脚啊?
    发表于 01-15 06:05