Silabs公司efm8bb3是对的SMBus/I2C主机传输速度很慢
虽然与简单Studio和Silabs公司EFM8BB3(8051基于SoC)的工作,我观察到一个巨大的暂停(最多到60毫秒)一个非常低的传输速率之间每个字节传输以及i2c协议上的完整信息(通过smbus主接口)之间(最多160毫秒)。Silabs公司efm8bb3是对的SMBus/I2C主机传输速度很慢
为什么传输速度这么慢,是有什么我可以做些什么来解决这个问题?
回答:
问题通过激活只负责SCL延迟/超时识别(注意,这不是很清楚的数据表中说明)另一个计时器被解决。上Silabs公司EFM8BB3芯片组定时器T2有一定的作用,以提供I2C数据流传输调制。 定时器T3有提供i2c SCL超时处理的作用。为了能够减少字节间的暂停,必须启用T3。必须在启用低字节中断的情况下,在two timers, 8-bit auto reload
模式下配置T3。如果是400KHz i2c传输速率,T3低字节溢出频率必须设置为50000 (reload value is 215)
。简化的中断处理程序(只需放下中断标志)必须实现。 T3高字节溢出频率可以设置为最低可用的8000 (reload value is 1)
。 SMBUS接口实体需要激活Enable SMBus SCL Timeout Detection
。
以上是 Silabs公司efm8bb3是对的SMBus/I2C主机传输速度很慢 的全部内容, 来源链接: utcz.com/qa/264255.html