如何扫描超过 100 个数字输入(低电平或高电平)?
How to scan more than 100 digital inputs (low level or high level)?
我有 120 个接受高电平或低电平的数字输入。如果考虑使用IO扩展器,则需要8个IO扩展器(16位)。在这种情况下,我的板子上只有一个 I2C 接口可以连接 8 个 I2C 设备。另一种方法是使用 2 个 IO 扩展器(16 位)来构建两个 8x8 矩阵,如键盘矩阵。但问题是键盘短接了列线和行线,而我的输入只接受高电平或低电平。
对于这个需求有没有更好的硬件设计?任何建议表示赞赏。
为了减少芯片的占用空间和焊接工作量,建议使用具有大量 GPIO 引脚的 I2C GPIO 扩展器。
例如,PCA9505/PCA9506在TSSOP-56封装中提供了40个GPIO。只需要4颗芯片就可以支持128个GPIO,还有32个GPIO备用。
编程只需要处理I2C设备的4个地址
希望对您有所帮助。
我有 120 个接受高电平或低电平的数字输入。如果考虑使用IO扩展器,则需要8个IO扩展器(16位)。在这种情况下,我的板子上只有一个 I2C 接口可以连接 8 个 I2C 设备。另一种方法是使用 2 个 IO 扩展器(16 位)来构建两个 8x8 矩阵,如键盘矩阵。但问题是键盘短接了列线和行线,而我的输入只接受高电平或低电平。
对于这个需求有没有更好的硬件设计?任何建议表示赞赏。
为了减少芯片的占用空间和焊接工作量,建议使用具有大量 GPIO 引脚的 I2C GPIO 扩展器。
例如,PCA9505/PCA9506在TSSOP-56封装中提供了40个GPIO。只需要4颗芯片就可以支持128个GPIO,还有32个GPIO备用。
编程只需要处理I2C设备的4个地址
希望对您有所帮助。