MCP3421

写指令:写 MCP3421 的时序图
读指令:读 MCP3421 的时序图

1、IIC器件寻址
START位之后的第一个字节总是器件的地址字节,它包含了器件代码(4 位)、地址位(3 位)和R/W 位。MCP3421 器件代码为1101,出厂前已经被编程。紧随器件代码之后为三位地址位(A2、A1 和A0),也在出厂前已经被编程。三位地址位允许多达8 个MCP3421器件连接到同一数据总线。R/W 位决定主器件是读取转换数据还是写配置寄存器。如果R/W 位置1(读模式),器件在随后的时钟作用下输出转换数据。如果R/W 位被清零(写模式),则器件期望接收配置字节。当器件接收到正确的地址字节,它将在R/W 位之后输出一个应答位。

2、写指令(即配置ADC):
主IIC器件(MCU)发出启动位来宣布占用总线→发送地址字节(4位器件代码+3位IIC地址码+1位读/写使能位R/W(这里为0,写有效))→主器件等待IIC的ACK反馈→发送配置数据→主IIC器件(MCU)发出停止位来宣布释放总线。

3、读指令
主IIC器件(MCU)发出启动位来宣布占用总线→发送地址字节(4位器件代码+3位IIC地址码+1位读/写使能位R/W(这里为1,读有效))→主器件发出IIC的ACK→读高位字节→读中间字节(可选)→读低位字节→主器件发出IIC的NACK→主IIC器件(MCU)发出停止位来宣布释放总线。

4、IIC 规范定义了以下总线协议:
• 只有当总线不忙(数据和时钟线均保持高电平)时才会启动数据传输。
• 传输数据时,每当时钟线为高电平,数据线就必须保持稳定。在时钟线为高电平时改变数据线的电平将被视为START 或STOP 条件。
当时钟(SCL)为高电平时,SDA 线上从高到低的跳变定义为START 条件。所有命令必须在START 条件出现后有效。
当时钟(SCL)为高电平时,SDA 线上从低到高的跳变定义为STOP 条件。所有操作都以STOP 条件结束。
5、每次数据传输都以START条件开始以STOP条件结束。

发布了4 篇原创文章 · 获赞 0 · 访问量 3963

猜你喜欢

转载自blog.csdn.net/abc54188116/article/details/90700606
今日推荐