当前位置: 首页 > news >正文

TCA9555芯片手册解读(6)

接前一篇文章:TCA9555芯片手册解读(5)

 

4dd96f1d14274e7b9eafdc4b968fdd19.png

二、详述

7. 上电复位

当电源(从0V)施加到VCC时,内部通电复位将TCA9555保持在复位状态,直到VCC达到VPOR。此时,重启条件被释放,TCA9555寄存器和I2C/SMBus状态机初始化为默认状态。之后,VCC必须降低到0.2V以下,然后回到工作电压进行上电—复位循环。

8. 中断(/INT)输出

在输入模式下,端口输入的任何上升沿或下降沿都会产生中断。经过时间tiv后,信号/INT有效。

当端口上的数据改变为原始设置时,可以重置中断电路。数据从产生中断的端口或在一个停止事件中被读取。

在读取模式下,重置发生在SCL信号下降沿后的确认(ACK)位或不确认(NACK)位。由于在该脉冲期间重置中断,在ACK或NACK时钟脉冲期间发生的中断可能会丢失(或非常短)。复位后I/O的每次变化都会被检测到,并作为/INT传输。

从另一设备读取或向另一设备写入不会影响中断电路,配置为输出的引脚也不会导致中断。

将I/O从输出更改为输入可能会导致错误中断,如果引脚的状态与输入端口寄存器的内容不匹配。因为每个8位端口都是独立读取的,所以端口0引起的中断不会被端口1的读取清除,反之亦然。

/INT具有开漏结构,需要一个上拉电阻器连接到VCC。

9. 总线传输

数据通过写和读命令在主设备和TCA9555之间交换。

(1)写

写时序如下图所示:

8b265a8e4c0e488eaf108c8d6feede13.png

1)通过发送设备地址并将最低有效位设置为逻辑0(设备地址见图4),数据被传输到TCA9555;

2)命令字节在地址之后发送,并确定哪个寄存器接收命令字节后面的数据(TCA9555中的8个寄存器被配置为4个寄存器对。这4对分别是输入端口、输出端口、极性反转端口和配置端口);

3)在将数据发送到一个寄存器后,下一个数据字节被发送到该对中的另一个寄存器(见图6和图7)。例如,如果第一个字节被发送到输出端口(register 3),则下一个字节被存储在输出端口0(register 2);

4)在一次写入传输中发送的数据字节数没有限制。这样,每个8位寄存器都可以独立于其它寄存器进行更新。

(2)读

读时序如下图所示:

94f1a69c07ea487fb5d05ee46e86d0db.png

56568c2d4a4f4ae1bdc46176476c5deb.png

9bc8cc8bea2443e8af0a2896813ed981.png

1)总线主控器首先必须发送TCA9555的地址,其中最低有效位设置为逻辑0(设备地址见图4);

2)命令字节位于地址之后,用于确定访问哪个寄存器;

3)发送重新启动(restart)信号;

4)再次发送设备地址。但这次,最低有效位被设置为逻辑1;

5)然后,TCA9555发送由命令字节定义的寄存器中的数据(见图8至图10);

6)重新启动时,命令字节定义的寄存器值与重新启动时访问的寄存器匹配。例如,如果命令字节在重新启动之前引用输入端口1,并且在读取输入端口0时重新启动,则存储的命令字节将更改为引用输入端口0,原始命令字节已被遗忘。如果随后重新启动,则首先读取输入端口0。数据在ACK时钟脉冲的上升沿被时钟记录到寄存器中。在读取第一个字节之后,可以读取其它字节,但是
数据现在反映了该对中另一个寄存器中的信息。例如,如果读取了输入端口1,则下一个读取的字节是输入端口0。

数据在ACK时钟脉冲的上升沿被时钟记录到寄存器中。在一次读取传输中接收到的数据字节数没有限制,但当接收到最后一个字节时,总线主控器不得确认数据。

 

 

http://www.lryc.cn/news/503997.html

相关文章:

  • NodeJs-fs模块
  • Transformer: Attention Is All You Need (2017) 翻译
  • 【记录】Django解决与VUE跨域问题
  • Java 常见Exception异常解决方法
  • 东方通 TongWebV7 Docker 部署与 Spring Boot 集成指南
  • TIM输入捕获---STM
  • 【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?
  • MSF(Metasploit Framework)
  • Python中的OpenCV详解
  • IMX6ULL开发板学习嵌入式技术过程中为了测试本地网络是否正常而常用的Ping命令
  • Blue Ocean 在Jenkins上创建Pipeline使用详解
  • 2024 年最新前端ES-Module模块化、webpack打包工具详细教程(更新中)
  • photoshop的2个形状-箭头
  • 【经验分享】搭建本地训练环境知识点及方法
  • AI知识-多模态(Multimodal)
  • 代码随想录 leetcode-数据结构刷题笔记
  • Oracle最佳实践-优化硬解析
  • Windows中将springboot项目运行到docker的容器中
  • 30、使用ESP8266跟SG90舵机制作四足蜘蛛机器人
  • 相比普通LED显示屏,强力巨彩软模组有哪些优势?
  • 部门操作和日志
  • antdv-<a-button>中属性的使用
  • python解题之寻找最大的葫芦
  • iOS 环境搭建教程
  • 制作容器镜像
  • 基于Python对xslxslx文件进行操作
  • 语音芯片赋能可穿戴设备:开启个性化音频新体验
  • Unity学习笔记(一)如何实现物体之间碰撞
  • LinkedList与链表 和 链表面试题
  • ansible自动化运维(一)简介及清单,模块