IIC接口

一、IIC总线简介

IIC总线是由飞利浦公司推出的一种串行、同步、半双工通信协议。它由两条线组成,时钟线(SCL)和数据线(SDA)。主机产生通信用的时钟,可以产生起始信号和结束信号来开始或者结束一次通信。

二、IIC时序

2.1、空闲状态

IIC总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。

2.2、数据的有效性

SDA 线上的数据必须在时钟的高电平周期保持稳定 数据线的高或低电平状态只有在 SCL 线的时钟
信号是低电平时才能改变。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dm3ykZoc-1685338848150)(https://note.youdao.com/yws/res/f/WEBRESOURCE2e46527160d47bcbe19eceb8d38e31ff)]

2.3、起始信号和停止信号

  • 起始信号:SCL高电平期间,SDA由高到低的跳变;
  • 停止信号:SCL高电平期间,SDA由低到高的跳变;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEUjflvJ-1685338848151)(https://note.youdao.com/yws/res/5/WEBRESOURCE87d09b7aa6dc3ebd3f46b5e4d0134ef5)]

参考代码:

void IIC_Start()
{
	SdaOut();
	sda(1);
    scl(1);
	I2cDelayUs(2);
	sda(0);
	I2cDelayUs(2);
	scl(0);
}

2.3、数据传输和响应

  • 发送到 SDA 线上的每个字节必须为 8 位 每次传输可以发送的字节数量不受限制 每个字节后必须跟一个响应位, 首先传输的是数据的最高位 MSB。;
  • 在响应的时钟脉冲期间 接收器必须将 SDA 线拉低 使它在这个时钟脉冲的高电平期间保持稳定的低
    电平;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8KURCDOW-1685338848151)(https://note.youdao.com/yws/res/b/WEBRESOURCEf6d3545e08afa594b0d8426588d189db)]

参考代码:


void IIC_SendByte(char ch)
{
    int i;
	SdaOut();
	scl(0);
	for(i=0;i<8;i++)
	{
		sda(ch & 0x80);	
		I2cDelayUs(1);	
		scl(1);	
		I2cDelayUs(2);
		scl(0);
		I2cDelayUs(1);
		ch = ch << 1;
	}
}
char IIC_ACK(){
	SdaOut();
	I2cDelayUs(2);	//5us
	scl(0);
	sda(0);
	I2cDelayUs(2);
	scl(1);
	I2cDelayUs(2);
	sda(0);
	I2cDelayUs(2);
	scl(0);
	I2cDelayUs(2);
}
unsigned char IIc_Wait_Ack(void)
{
    unsigned char ackflag = 1;
	unsigned char timeout = 0;
	unsigned char status = 1;;
    SdaIn();

	scl(1);
	
    while(status)
	{
		timeout++;
		if(timeout >= 200)
		{
			ackflag = 0;
			break;
		}
		status = ReadBit();
	}
	I2cDelayUs(2);
	scl(0);
	I2cDelayUs(2);
	return ackflag;
}

三、7位寻址模式

  • 一台主机可以连接多台从机,不同类型的从机可以通过地址来区分访问。
  • 数据的传输遵循图 10 所示的格式 在起始条件 S 后 发送了一个从机地址 这个地址共有 7 位紧接着的第 8 位是数据方向位 (R/ W) '0’表示发送 写 ‘1’ 表示请求数据读数据传输一般由主机产生的停止位 P 终止;
  • 当主机发送了一个地址后 系统中的每个器件都在起始条件后将头 7 位与它自己的地址比较 如果一样器件会认为它被主机寻址;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mjGwLDjU-1685338848151)(https://note.youdao.com/yws/res/d/WEBRESOURCE9cad796c1de2cc846da3001c987c532d)]

猜你喜欢

转载自blog.csdn.net/weixin_39270987/article/details/130926523
IIC
今日推荐