主题中讨论的其他器件: TCA6408、 MSP430G2001
根据我的计算、在400kHz I2C 总线上、我更改器件输出的最快速度是3字节、每个9位-> 67.5uS。
我需要更快地完成此操作、因此我想知道是否有某种方法可以缩短通信时间、例如启动消息、发送输出寄存器、以及仅为输出发送新值而不会占用前两个字节的开销。 这是一个选项吗? 如果不是、您可以推荐能够快速更改输出的器件? 我使用该器件来切换多路复用器通道、系统中的瓶颈是写入 TCA6408A。
谢谢
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.
根据我的计算、在400kHz I2C 总线上、我更改器件输出的最快速度是3字节、每个9位-> 67.5uS。
我需要更快地完成此操作、因此我想知道是否有某种方法可以缩短通信时间、例如启动消息、发送输出寄存器、以及仅为输出发送新值而不会占用前两个字节的开销。 这是一个选项吗? 如果不是、您可以推荐能够快速更改输出的器件? 我使用该器件来切换多路复用器通道、系统中的瓶颈是写入 TCA6408A。
谢谢
您好!
您无法更改与器件的 I2C 标准通信。 该器件具有自己的内部逻辑、这将使其等待直至看到其地址、然后等待寄存器和该寄存器的数据。 如果您只是继续发送数据字节、它将不会响应、因为您发送的数据字节很可能与器件的地址不匹配。 它 不具有顺序写入功能。
有些 I2C 器件的工作频率高达1000kHz 及更高。 在我们了解其他选项之前、您能否更详细地解释此 I2C 器件的用途? 是否需要电平转换? 您是否需要8个输出端口? 此应用甚至需要 I2C 吗? 您的系统的电压要求是什么? 最后、您希望以何种速度运行?
这一切都将帮助我为您提供备选器件的建议。
最棒的
Chris
我还想补充一点、从技术角度讲、您可以在超过400kHz 的频率下运行该器件。 最小时钟低电平时间和高电平时间分别为1.3us 和0.6us。 如果没有上升和下降时间、这将为您提供526kHz 的速度。 但是、时钟的上升和下降时间取决于总线和上拉电阻器的电容。 总线上的最大下降/上升时间为300ns。 因此、通过减小电容并缩短下降/上升时间、您可以达到高于400kHz 的时钟速度。
TI 不保证该器件能够在超过400kHz 的频率下工作。 我不建议尝试以更高的速度运行此器件、我只需寻找一个替代方案。
请告诉我的理解是否正确。 在这种情况下、您甚至不需要 I2C、只需向6个输出发送开关信号即可?
没有支持更快时钟速率的 I2C P2P 解决方案。 我们确实制作了一个18位 I/O 扩展器、其运行频率可达1000kHz。 但是、即使在这种速度下、我认为它也会非常接近。 我个人认为 I2C 不是解决这个问题的正确解决方案、就像您发送一个微控制器会更好地工作。
例如、MSP430G2001比 TCA6408便宜、它有10个 GPIO 引脚、并且时钟速度为16MHz。
如果您有任何疑问、请告诉我。
最棒的
Chris