微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于TCA9555数据资料的疑问,请TI员工指教!

关于TCA9555数据资料的疑问,请TI员工指教!

时间:10-02 整理:3721RD 点击:

1、写操作中有这样一段话:After a restart, the value of the register defined by the command byte matches the register being accessed when the restart occurred. For example, if the command byte references Input Port 1 before the restart, the restart occurs when Input Port 0 is being read. The original command byte is forgotten. If a subsequent restart occurs,Input Port 0 is read first. Data is clocked into the register on the rising edge of the ACK clock pulse. After the first byte is read, additional bytes may be read, but the data now reflect the information in the other register in the pair. For example, if Input Port 1 is read, the next byte read is Input Port 0.

   我的疑问:在Restart信号发生时怎么就开始执行读操作,不应该是在主机发送  Restart信号+从机地址  之后才开始执行读操作吗?而且应该是从命令字节所对应的寄存器开始读取数据?

2、数据资料上说刚上电时所有引脚默认为输入,如果不把引脚配置成输出,写Output Port register不会影响引脚的值,但我一上电没有配置引脚为输出,直接写Output Port register,在引脚上也得到了想要的各种电平。这是怎么回事?

请解答,谢谢!

你好,

1.这段话是解释自动递增特性的,如果发送命令字节到对应的端口0然后读两个字节,TCA9555将会自动把第二个字节增加到端口1。如果因为某种原因在端口0,在一个读命令中出现了重启信号,如果你重新开始读取,你会在输入端口1寄存器中获得数据而不是端口0,因为在内部,寄存器/命令字节会在发送数据之前增加。

2.这种情况不应该出现,端口内部有上拉电阻,一个默认的输入会带来100K的上拉电阻到VCC,如果你在输出寄存器中写0,看到一个端口输出低电平,请检查一下配置寄存器状态,确认是否是输入模式。

谢谢!

1. 是的,在主机发送restart之后,还是需要发送从机地址,然后才执行读操作,这里的意思是说,在发生restart之前,本来要读Port1的数据,但是当你读的时候读的是Port 0的数据,这时候主机就会发生一个restart信号。或者你可以看下Figure29的读操作的时序,这个时序没问题。

你好,

  如果产生了第二个restart信号,那数据不就出错了?比如本来是从端口1开始读取数据,但是却从端口0开始读取数据,这样就产生了新的restart信号,然后就从端口0开始读取数据。可是主机不知道变成了从端口0开始读数据,以为还是从端口1开始,这样后续的数据处理不都乱了吗?请帮忙继续解答一下,谢谢你了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top