概述
校电子设计大赛做的低年级赛题是简易电压计的制作,里面的eeprom可擦可编程只读存储电路,AD转换电路以及ADS1115测量电压电路都用到了这一协议,故进行了学习。
IIC 通信协议(Inter-Integrated Circuit)是嵌入式系统中常用的一种总线协议;
其特点如下:
二线制
信号线包含SDA和SCL,且信号线是双向的,开路结构,需要通过上拉电阻到VCC,具体的电阻值影响的是信号反应速度和驱动能力。
8位地址线
最多可以挂载的器件127个(8位地址位,去掉一位广播地址,然后去掉0x00)。
粗俗来说,使用到这一协议的器件都由SDL(串行数据线)、SCL(串行时钟)两条线与单片机IO口相连,通过寄存器地址识别数据传输。
传输特点
开始时:SDA、SCL都处于高电平
void Init()
{
SCL = 1;
delay();
SDA = 1;
delay();
}
IIC开始的条件:SCL保持高电平,SDA从高电平跳跃到低电平
void StartUp
{
SCL = 1;
SDA = 1;
delay();
SDA = 0;
delay();
}
IIC传输时:要保持SCL为高电平不变,SDA保持稳定,此时数据锁定!要改变SDA数据就要在SCL低电平时
IIC停止通讯的条件:SCL保持高电平,SDA从低电平跳跃到高电平
void End()
{
SCL = 1;
SDA = 0;
delay();
SDA = 1;
delay();
}
总结:作为数字通信协议中的小协议,IIC和SPI各有所长。
IIC的优点:
1.硬件资源耗费小:IIC 只需两根信号线,而标准SPI至少四根信号,如果有多个从设备,信号需要更多。虽然只有有限的7位地址空间,但新标准中已经使用使用10位地址。(我咋没见识过?)
2.优雅性(呸呸,文绉绉的)它可以用很轻盈的架构实现了多主设备仲裁和设备路由。
缺点:传输数据慢!!!!(如果应用中必须使用高速数据传输,那么SPI是必然的选择。因为SPI是全双工,IIC 的不是。SPI没有定义速度限制,一般的实现通常能达到甚至超过10 Mbps。IIC 最高的速度也就快速+模式(1 Mbps)和高速模式(3.4 Mbps),后面的模式还需要额外的I/O缓冲区,还并不是总是容易实现的。)没啥体验,可能做的项目太低级了┭┮﹏┭┮
最后
以上就是悦耳苗条为你收集整理的IIC通信协 最通俗易懂的解释的全部内容,希望文章能够帮你解决IIC通信协 最通俗易懂的解释所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复