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

编程小白日常

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

暂无评论

发表评论

相关推荐

Arduino零基础实践——1

一:资源层 1.1硬件:Arduino各种开发板,我常用的是Nano,因为比较小而且便宜,某宝上20-30块。还有Arduino的拓展板卡,就是在后面连接外设

无刷直流(BLDC)电机的原理及正确的使用方法

当工程师想利用电气、电子的机器在现实世界中做些什么时,他们会思考怎样才能将电信号变为“力”?将电信号转换为力的就是传动器,即电机。可以将电机视作“将电气转换为机械的力的元件”。 最基本的电机是 “DC电机(有刷电机)”。在磁场中放置线

GP2Y0E03夏普红外测距传感器简单使用

夏普红外测距传感器规格书引脚如下 一共七个引脚,如果要改地址的话还需要用到第八个引脚(当时改地址试了半天,仔细一看数据手册还有第八个引脚),第八个引脚Vpp如下图所示 和GP

STM32 HAL库学习笔记-(SPI驱动ADXL345)

STM32 HAL库学习笔记-(SPI驱动ADXL345) 最近有项目需要需要用到ADXL345,网上转了一圈都是IIC驱动为主,正好最近在学习HAL库,所以本文将使用SPI驱动ADXL345 CU