编辑: 我不是阿L | 2015-01-09 |
2. 主机接着发送一个命令字节. 该字节由
7 位的外围器件地址和一位读写控制位 R/W 组成(此时 R/W=0) ;
3. 相对应的从机接收到命令字节后,向主机回馈应答信号 ACK(ACK=0) ;
4. 主机接收到从机的应答信号后,开始发送第一个字节的数据;
5. 从机接收到数据后返回一个应答信号 ACK;
6. 主机接收到应答信号后,再发送下一个数据字节;
广州致远电子股份有限公司 双通道热电阻隔离测温模块 工程技术笔记 ?2018 Guangzhou ZHIYUAN Electronics CO., LTD.
6 TPS02R 7. 当主机发送最后一个数据字节并收到从机的 ACK 后,通过向从机发送一个停止信 号P结束本次通信并释放总线.从机收到 P 信号后也退出与主机之间的通信. 以上所述即为主机发送数据的步骤,图3.1 为主机发送的数据格式. 图3.1 主机发送数据图示 主机通过发送地址码与对应的从机建立了通信关系, 而挂接在总线上的其他从机虽然同 时也收到了地址码,但因为与其自身的地址不相符,因此提前退出与主机的通信.主机的一 次发送通信,其发送的数据数量不受限制.主机通过 P 信号通知发送结束,从机收到 P 信 号后退出本次通信.主机的每一次发送后都是通过从机的 ACK 信号了解从机的接收情况, 如果应答错误则重发. 3.2.2 主机接收数据流程 1. 主机送法启动信号后,接着发送命令字节(其中 R/W=1) ;
2. 对应的从机收到地址字节后,返回一个应答信号并向主机发送数据;
3. 主机收到数据后向从机反馈一个应答信号;
4. 从机收到应答信号后再向主机发送了下一个数据;
5. 当主机完成接收数据后, 向从机发送一个 非应答信号 (ACK=1) , 从机收到 ASK=1 的非应答信号后便停止发送;
6. 主机发送非应答信号后,再发送一个停止信号,释放总线结束通信. 以上所述即为主机接收数据的步骤,图3.2 为主机接收数据的图示. 图3.2 主机接收数据图示 主机所接收数据的数量是由主机自身决定,当发送 非应答信号 时从机便结束传送并 释放总线(非应答信号的作用有两个,前一个数据接收成功,停止从机再次发送 广州致远电子股份有限公司 双通道热电阻隔离测温模块 工程技术笔记 ?2018 Guangzhou ZHIYUAN Electronics CO., LTD.
7 TPS02R 3.3 I2C 时序与寄存器 3.3.1 I2C 时序 I2C 总线的传输速率限制如图 3.3 所示. 图3.3 I2C 时钟与信号传输时间要求 I2C 总线主机发送数据时序,如图 3.4 所示. 图3.4 主机向 TPS02R 发送数据 温度测试模块 TPS02R 通过 I2C 向外进行通信时,测温模块作从机.主机接收 TPS02R 模块数据时序图如图 3.5 所示. 广州致远电子股份有限公司 双通道热电阻隔离测温模块 工程技术笔记 ?2018 Guangzhou ZHIYUAN Electronics CO., LTD.
8 TPS02R 图3.5 主机接收 TPS02R 数据 图 是外部设备通过 I2C 接收 TMM-100 的数据时序图. TPS02R 模块的 I2C 的地址与上图中的有差异, 由于 TPS02R 测温模块只有一根地址线, 所以现在 TPS02R 的地址设置为 100100x,即采用
7 位地址的方式,高6位固定为 100100. 3.3.2 寄存器定义 TPS02R 模块的 I2C 通信协议的寄存器内部结构示意图如图 3.1 所示. 主要分为 Pointer 寄存器、Temperature 寄存器、Configuration 寄存器、TLOW 寄存器及 THIGH 寄存器. 图3.1 寄存器结构示意图 广州致远电子股份有限公司 双通道热电阻隔离测温模块 工程技术笔记 ?2018 Guangzhou ZHIYUAN Electronics CO., LTD.