你(们)好
如果我想设置 GPIO 输出 高电平-低电平-低电平,就像50% PWM 波形
我可以达到的最大频率是多少
我的主 I2C 为1MHz
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.
你(们)好
如果我想设置 GPIO 输出 高电平-低电平-低电平,就像50% PWM 波形
我可以达到的最大频率是多少
我的主 I2C 为1MHz
您好、Dimitry、
对于此器件、使用典型的3数据字节 I2C 通信、每次写入(每次位切换)将由27位(3个数据字节* 9位/字节、带 ACK)组成。 为每次切换使用新的事务意味着需要27位时间、不包括开始和停止条件以及等待时间。 这是正常模式下接近3kHz (100kHz 时钟)的闪烁频率、快速模式下接近25kHz (400kHz)。
我们还可以向输出寄存器发送一个真正长的数据字节字符串、而不是为每次切换使用新的 I2C 事务。 由于第三个数据字节会覆盖寄存器内容、因此我们可以通过执行此操作来加快切换速度。 这将只需要在切换之间进行9位时间、并且在切换之间没有开始或停止。 使用此方法、我们可以在正常模式下实现接近20kHz 的闪烁频率、在快速模式下实现接近80kHz 的闪烁频率。
此处的频率估算是粗略近似值、可能会因 I2C 主设备及其驱动恒定通信的能力而有很大差异。 这种方法基本上还需要 I2C 总线上的带宽、因此主器件在不暂停 GPIO 闪烁的情况下无法与其他从器件通信。
希望这些信息能有所帮助。 如果您有任何疑问或希望帮助设置所描述的通信序列、请告诉我。
此致、
Eric