iic的介绍

iic是用半双工的方式,由两个串口一个sda和scl,一个数据一个时钟

其他spi,UASRT的需要(ch340)电平转换芯片,如果用iic不需要电平转换,硬件实现简单。支持多设备

mcu一个挂载数据一个挂载时钟,都是共用两根信号线,而且可链接多个iic设备,最多可链接127个iic设备。速度不是很快

主机相当于一个mcu,而从机相当于设备

一个iic总线只使用两条总线线路,一条串行数据线(sda)用于表示数据,串行时钟线(scl)用于数据收发。每个设备都有独立地址

主机可以利用设备地址进行不同设备直接访问

(通过独立地址)

总线接上拉电阻接到vcc,sda和scl都是链接到vcc

如果iic空闲时候,会输出高阻态(可以借鉴gpio的四种输出模式1.开漏2.推挽这两个都是用mos管也是类似高阻态)(相当于断路,由于电阻过大,电流过不去)

当所有设备都空闲时,都会输出高阻态,由上拉电阻把总线拉成高电平

多个主机同时使用总线时,为了防止数据冲突,会使用仲裁方式决定哪个设备占用总线

仲裁方式可以比如单片机里的中断优先级,看哪个比较优先

三种传输模式:标准传输为100kb/s,快速模式为400kb/s,高速模式为3.4mb/s,大部分不支持高速模式

硬件iic和软件iic有什么区别?

硬件iic:对于芯片外设有驱动电路,有的原理图芯片标注串口,a9和a10=uart1,有的引脚对应的驱动电路

软件iic:使用普通gpio口,模拟iic的功能

硬件效率比软件快,软件是可以通过gpio口,软件模拟寄存器的工作方式,从而不受引脚限制

而硬件不行,但是硬件iic是直接通过内部寄存器进行配置,实际io口可以看芯片手册,固件iic端口是固定的

区分硬件iic和软件iic:

硬件iic用法比较复杂一些,模拟iic更加清晰

硬件iic比模拟iic快,并且可以用dma

模拟iic用非指定引脚,而硬件iic只能指定引脚

 

版权声明:本文为CSDN博主「编程小白日常」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67033140/article/details/122926872

iic是用半双工的方式,由两个串口一个sda和scl,一个数据一个时钟

其他spi,UASRT的需要(ch340)电平转换芯片,如果用iic不需要电平转换,硬件实现简单。支持多设备

mcu一个挂载数据一个挂载时钟,都是共用两根信号线,而且可链接多个iic设备,最多可链接127个iic设备。速度不是很快

主机相当于一个mcu,而从机相当于设备

一个iic总线只使用两条总线线路,一条串行数据线(sda)用于表示数据,串行时钟线(scl)用于数据收发。每个设备都有独立地址

主机可以利用设备地址进行不同设备直接访问

(通过独立地址)

总线接上拉电阻接到vcc,sda和scl都是链接到vcc

如果iic空闲时候,会输出高阻态(可以借鉴gpio的四种输出模式1.开漏2.推挽这两个都是用mos管也是类似高阻态)(相当于断路,由于电阻过大,电流过不去)

当所有设备都空闲时,都会输出高阻态,由上拉电阻把总线拉成高电平

多个主机同时使用总线时,为了防止数据冲突,会使用仲裁方式决定哪个设备占用总线

仲裁方式可以比如单片机里的中断优先级,看哪个比较优先

三种传输模式:标准传输为100kb/s,快速模式为400kb/s,高速模式为3.4mb/s,大部分不支持高速模式

硬件iic和软件iic有什么区别?

硬件iic:对于芯片外设有驱动电路,有的原理图芯片标注串口,a9和a10=uart1,有的引脚对应的驱动电路

软件iic:使用普通gpio口,模拟iic的功能

硬件效率比软件快,软件是可以通过gpio口,软件模拟寄存器的工作方式,从而不受引脚限制

而硬件不行,但是硬件iic是直接通过内部寄存器进行配置,实际io口可以看芯片手册,固件iic端口是固定的

区分硬件iic和软件iic:

硬件iic用法比较复杂一些,模拟iic更加清晰

硬件iic比模拟iic快,并且可以用dma

模拟iic用非指定引脚,而硬件iic只能指定引脚

 

版权声明:本文为CSDN博主「编程小白日常」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67033140/article/details/122926872

生成海报
点赞 0

编程小白日常

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

STM32中断

中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得单片机暂停当前正在运行的的程序,转而去处理中断程序,处理完成后又返回

USB转TTL给ESP8266-12F芯片下载程序

物料准备: 最近在写ESP8266的程序,想着自己动手做一块电路板,于是学习了一下怎么给一块ESP8266-12F芯片烧录程序,作为新手小白,过程中遇到了一些问题&#xff0