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

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

3天内不再提示

模拟iic和硬件iic区别

工程师邓生 来源:未知 作者:刘芹 2023-09-19 16:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

模拟iic和硬件iic区别

I2C是一种相对于另一种通信协议SPI(Serial Peripheral Interface)更高层次的通讯协议,也称为I2C总线。I2C(Inter-Integrated Circuit)始于1982年由Philips公司开发的串行总线技术,主要应用于连接集成电路芯片,如处理器传感器,数字转换器等。

I2C协议可以被模拟和硬件实现。模拟I2C是用两条GPIO(General Purpose Input Output)管脚的软件模拟的,将一个GPIO设置为数据线SDA,另外一个设置为时钟线SCL。硬件I2C则是通过一个I2C控制器实现的,该控制器被建立在微控制器芯片或单独的I2C芯片中,通过集成的硬件内部逻辑和电路来控制时序和数据格式,实现I2C总线通信。

I2C协议传输时分为两类线,一类为时钟线SCL,另一类为数据线SDA。时钟线由主节点产生,用于同步数据传输,数据线用于传输真正的数据。从I2C线上的数据格式可以看出I2C的核心是如何处理设备之间的“冲突”,比如两个设备同时要向总线上发送数据同时采用不同的速率,此时会出现“冲突”,I2C通过一系列复杂的算法来解决这种冲突问题。

模拟I2C通信需要使用软件和硬件上的两种方法。常见的模拟I2C方法是通过GPIO模拟SCL和SDA信号,并使用GPIO电平高低来识别时钟和数据线上的1和0。模拟I2C的主要限制是不能在高速模式下运行,并且有可能出现线路噪音、误码等问题。

硬件I2C通信更加可靠,并且具有更高的性能。硬件控制器内置在微控制器芯片或者单独的I2C芯片中,在控制器的支持下,可以实现高速数据传输,避免了SCL和SDA之间的相互影响。此外,在硬件I2C中,处理信号和协议的复杂算法已经内置在控制器中,不需要用户自己实现,简化了通信过程,提高了可靠性。

软件I2C作为一个模拟方法,还存在另一个重要的缺点就是不同于硬件I2C,模拟I2C的芯片在同时进行通信时需要耗费大量的CPU资源,对内存和处理器速度的要求更高。反过来,硬件I2C通常可以在任何操作系统和平台上轻松使用,这种通信协议不需要使用大量的额外的内存或处理器周期。

硬件I2C和模拟I2C都各自具有优缺点,请根据您的具体需求来选择使用哪种方法。

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

    关注

    49

    文章

    8926

    浏览量

    166214
  • I2C总线
    +关注

    关注

    8

    文章

    424

    浏览量

    63601
  • GPIO
    +关注

    关注

    16

    文章

    1338

    浏览量

    56731
  • SDA
    SDA
    +关注

    关注

    0

    文章

    125

    浏览量

    29820
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通过9295的IIC访问外设有什么注意事项

    手上有个摄像头,串行器是9295A,解串器在FPGA开发板上,FPGA通过IIC可以读到串行器和解串器,就是读不到sensor的寄存器,请问通过9295的IIC访问外设有什么注意事项呢,现在我是直接按照读9295的这种方式读的
    发表于 06-02 07:09

    0.96寸4针IIC OLED显示模块的设计与使用指南

    0.96寸4针IIC OLED显示模块的设计与使用指南 一、引言 在电子设备的设计中,显示模块是不可或缺的一部分。0.96寸4针IIC OLED显示模块以其小巧的尺寸、低功耗和高对比度等优点,被
    的头像 发表于 05-09 14:30 333次阅读

    行芯科技亮相IIC 2026国际集成电路展览会暨研讨会

    近日,全球集成电路领域的年度标杆盛会——2026国际集成电路展览会暨研讨会(IIC 2026)在上海圆满落幕。
    的头像 发表于 04-02 17:28 756次阅读

    如何使用 VisionFive IIC 读取 SHTC3 数据?

    使用 VisionFive IIC 读取 SHTC3 数据
    发表于 03-27 07:09

    IIC的正确用法

    的上拉电阻可以使能,这样就省去了外部的上拉电阻,AVR单片机,就是使能内部上拉电阻。但是如果是使用单片机的引脚模拟IIC协议,就得看你的单片机引脚是否支持漏极开路模式或者上拉模式,一般推挽模式的输出
    发表于 01-21 07:28

    【瑞萨RA × Zephyr开发板评测】+模拟IIC实现OLED输出(与硬件IIC输出的失败经验)

    无需额外工具即可编写/调试程序。此外,通过Arduino Uno和Pmod™接口,包括对微控制器所有引脚的标准和通孔访问等,它具有很高的可扩展性。 按照上图进行Oled接线,首先使用IIC硬件接口
    发表于 01-19 22:23

    RA MCU众测宝典 | IIC之【RA2E1】IIC通信的OLED显示

    “RAMCU众测宝典”IIC专题上线啦!这次,瑞萨嵌入式小百科将和大家一起聚焦【瑞萨RA2E1】开发板,一步步玩转IIC通信的OLED显示。从IIC协议的核心原理、FSP中I2CMaster的配置
    的头像 发表于 01-01 10:04 4000次阅读
    RA MCU众测宝典 | <b class='flag-5'>IIC</b>之【RA2E1】<b class='flag-5'>IIC</b>通信的OLED显示

    通信协议IIC与SPI最全对比分析

    的一些关键点。 总线拓扑结构信号路由硬件资源耗费 IIC只需两根信号线,而标准SPI至少四根信号,如果有多个从设备,信号需要更多。一些SPI变种虽然只使用三根线——SCLK、SS和双向的MISO
    发表于 12-10 06:04

    英诺达亮相IIC Shenzhen 2025

    2025年11月25日,国际集成电路展览会暨研讨会(IIC Shenzhen)在深圳举办,英诺达创始人及CEO王琦博士应邀出席,并于“全球CEO峰会”发表题为《低功耗设计新范式:突破算力芯片能效瓶颈》的主旨演讲,引发行业广泛关注。
    的头像 发表于 12-03 10:53 796次阅读

    【瑞萨RA6E2】硬件IIC驱动九轴传感器与OLED显示

    一、项目概述 1.1 项目简介 本次试用基于瑞萨RA6E2开发板,通过硬件IIC协议驱动GY-85九轴传感器模块(包含ITG3205陀螺仪、ADXL345加速度计和QMC5883P磁力计),并在
    发表于 11-27 02:18

    请问模拟iic的速度为什么比硬件的慢这么多?

    模拟的时候一次翻转硬件都可以做两次了
    发表于 11-25 07:14

    基于hbirdv2-sdk的iic 0.96寸lcd调试

    一.前言 简介: 基于hbird-sdk的硬件IIC控制 0.96寸lcd. 二.工程结构 硬件: mcu200t fpga开发板 软件结构: 主要由Makefile main.c
    发表于 10-30 06:20

    请问IIC的设备驱动兼容SMbus协议吗?

    请问IIC的设备驱动兼容SMbus协议么?
    发表于 09-29 09:53

    组件中的iic和标准版driver包里面的iic有什么区别?是不是用其中之一就可以了呢?

    实际使用起来好像也是只启用其中一个就可以,另外我发现有些版本的menuconfig没有控制组件iic的定义。
    发表于 09-16 07:24

    【微五科技CF5010RBT60开发板试用体验】硬件IIC点亮OLED小屏幕

    传输效率高,整体功耗比软件模拟方案更低。 长时间 (数小时) 满负荷刷新测试,显示稳定,无花屏、乱码、死机现象,IIC 总线通信稳定可靠。 得益于硬件 IIC 内置的协议处理和错误检测
    发表于 08-08 11:01