当前位置:网站首页>单片机之IIC通信协议「建议收藏」
单片机之IIC通信协议「建议收藏」
2022-06-27 21:35:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
概念
I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。
硬件IIC:硬件IIC速度比模拟快,并且可以用DMA。硬件IIC会自动匹配与从机的通信时序,只需配置好硬件IIC的一些函数就可以了。 软件IIC:用软件模拟IIC的时序图,从而与从机实现通信
IIC传输特点
1.半双工:半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输,可切换方向的单工通信
2.串行同步通信:数据通过一根SDA线传输,SCL提供同步时钟。同步通信的最大特点就是通信双方的SCL时钟线连在一起。
3.主从式通信:每一个通信周期的发起和结束都是由主设备来做的,从设备只有被动的响应主设备,没法自己自发的去做任何事情。有主机从机之分,支持多个从机。
4.传输顺序:高位在前,低位在后
5.只有SDA与SCL两根线,但是主机与从机之间还需要一根共地线,不然从机怎么知道主机发过来的电平时序是高还是低呢!
6.SDA与SCL总线一定要接上拉电阻。
7,传输速率:I2C协议v2.1规定了三种速率(bps) -100K -400K -3.4M
通信速率是按照主机的SCL的速度来通信,SCL上的通信速度要同时小于主从规定的最大通信速度
一主多从的通信过程:主设备在每个通信周期会先发8位的从设备地址,其实8位中只有7位是从设备地址(datasheet有设备地址),还有1位表示主设备下面要写入还是读出(由从设备决定)到总线(主设备是以广播的形式发送的,只要是总线上的所有从设备其实都能收到这个信息)。然后总线上的每个从设备都能收到这个地址,并且收到地址后和自己的设备地址比较看是否相等。如果相等说明主设备本次通信就是给我说话,如果不想等说明这次通信与我无关,不用听了不管了。
IIC时序
空闲状态:SDA与SCL总线都处于高电平状态
起始信号时序与结束信号时序
应答信号时序
发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。 应答信号为低电平(0)时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平(1)时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。
数据的有效性
SCL处于高电平期间,SDA的数据不能发生变换;SCL处于低电平期间,SDA的数据才允许发生变换。
对从机的读字节与写字节时序需要按照从机的时序图来写
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133025.html原文链接:https://javaforall.cn
边栏推荐
- 智慧风电 | 图扑软件数字孪生风机设备,3D 可视化智能运维
- 撰写外文时怎样引用中文文献?
- C language character pointer and string initialization
- How to quote Chinese documents when writing a foreign language?
- 【PCL自学:PCLVisualizer】点云可视化工具PCLVisualizer
- 自定义MySQL连接池
- MySQL read / write separation configuration
- Sécurité, économie de carburant et protection de l'environnement chameau
- 零基础自学SQL课程 | CASE函数
- How to solve the problem that the browser developed with CeF3 does not support flash
猜你喜欢
随机推荐
It supports deleting and updating the priority queue of any node
Eliminate gaps around El image images
Teach you how to transplant tinyriscv to FPGA
golang使用mongo-driver操作——查(基础)
计数质数[枚举 -> 空间换时间]
How to solve the problem that the browser developed with CeF3 does not support flash
2022 PMP project management examination agile knowledge points (3)
【AI应用】NVIDIA Tesla V100-PCIE-32GB的详情参数
MSP430F5529 单片机 读取 GY-906 红外温度传感器
表单form 和 表单元素(input、select、textarea等)
零基础自学SQL课程 | IF函数
vmware虚拟机桥接连通
Msp430f5529 MCU reads gy-906 infrared temperature sensor
How to select documents for literature review? For example, I can't finish reading more than 200 search results. How to select documents
[AI application] detailed parameters of NVIDIA geforce RTX 3060
Although the TCGA database has 33 cancers
撰写外文时怎样引用中文文献?
MYSQL的下载与配置安装
Detailed explanation of MATLAB axis coordinate axis related settings
文献综述如何挑选文献进行阅读,比如我的检索结果有200多篇根本看不完,如何进行文献挑选呢?...








