https://e2e.ti.com/support/interface-group/interface/f/interface-forum/639217/tca9539-int-questions
部件号:TCA9539您好,先生:
从TCA9539,我们将多个中断输入链接到不同的设备
但只有一个INT连接到主板,我们的问题是
1.主板如何知道哪个设备发送中断?
2.主板是否可以检查输入端口值是否与原始值相同? 还是其他注册机构可以使用?
示意图:
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
https://e2e.ti.com/support/interface-group/interface/f/interface-forum/639217/tca9539-int-questions
部件号:TCA9539您好,先生:
从TCA9539,我们将多个中断输入链接到不同的设备
但只有一个INT连接到主板,我们的问题是
1.主板如何知道哪个设备发送中断?
2.主板是否可以检查输入端口值是否与原始值相同? 还是其他注册机构可以使用?
示意图:
嘿,Shu-Cheng,
1.主板如何知道哪个设备发送中断?
当输入引脚更改了值时,TCA9539将使INT引脚处于低位。 为了了解哪些输入已更改,您需要读取之前的输入值并将其存储在主内存中。 然后,当INT引脚被拉低时,读取输入寄存器并将以前存储的值与当前值进行比较,以找出哪个引脚已更改状态。 您可以通过对上一个与当前的执行XOR来进行比较...无论返回的是什么,1都将是已更改的。
2.主板是否可以检查输入端口值是否与原始值相同? 还是其他注册机构可以使用?
TCA9539中没有寄存器存储哪些PIN已更改,因此很遗憾,您必须使用第一个问题答案中描述的过程。
最后,X值由您将输入值设置为外部时所确定。 因此,如果端口1上有一个上拉电阻器,则它将是默认值1。
您的原理图似乎没有上拉或下拉,这可能会导致输入波动。 最好是在输入端放置上拉或下拉电阻器,以确保输入端口不浮动,而且您也会知道默认的起始值。我建议您将其用于某些点,如T1005和T1004。
额外:您的SDA/SCL总线还需要将上拉电阻绑定到它们上,我建议您将它们绑定到与TCA9539相同的Vcc上。
-Bobby