首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I2C从站是否有内部振荡器或外部时钟

I2C从站是否有内部振荡器或外部时钟
EN

Stack Overflow用户
提问于 2017-06-16 00:07:23
回答 2查看 669关注 0票数 0

因此,我搞不懂从属设备/外设是由SCL还是其他时钟控制的。

假设芯片运行在时钟时钟上。根据预分频器对该时钟进行分频,使获得的时钟(Mhz _ freq)为i2cclk,i2cclk是i2c主机工作时的频率,然后将i2cclk进一步降低到Khz以产生SCL。

但是,从机端是scl、i2cclk还是其他设备,哪个时钟被馈送到i2c从机端呢?

为什么我会感到困惑?

1.)我看到了一些I2C led外设的图片和规格,它们使用scl本身作为寄存器的输入时钟。

现在Led是单向交易,所以我猜scl的时钟是有效的。

2.)这是我的理论,但如果从机也可以向主机发送数据,例如。那么,如果从机以scl为时钟,那么如何将数据设置在时钟的低周期中,如果它将scl拉低,它如何释放它?

EN

回答 2

Stack Overflow用户

发布于 2019-04-02 03:14:55

根据我的说法1)在I2C协议中,时钟(在SC1引脚上)总是由主设备产生。从机将根据它接收数据(在SDA引脚上)或发送数据来工作。从站不能产生时钟。

2)所有的过程都是由主站设计的。如果主机想要向其发送数据,它将在SCL引脚上产生时钟,并在SDA引脚上产生数据。如果主机需要一些数据,它会在SCL引脚上产生时钟,现在从会在SDA引脚上产生数据。

3)时钟扩展,即当从设备忙时,它会将SCL引脚(仅用于理解)连接到地。这样主机就会知道从机现在很忙。并且在SCL引脚变为高电平之前,主机不会产生进一步的时钟。所以时钟伸展总是由从属设备完成的。

票数 1
EN

Stack Overflow用户

发布于 2019-03-29 12:19:34

我不是一个工程师,而是一个相当有经验的技术员。我正在为一个高端立体声系统学习I2C,我正试图让它复活。

所以这里是我的2美分的价值-如果你有一个范围,你可以看到主从之间的SCL线,你可以得到一些想法,他们运行的速度和波形是什么样子。如果它是方波,那么根据定义,它不是您正在查看的参考振荡器。我的是外部的,并由离散的组件-两个上限,两个电阻和一个晶体振荡器在这种情况下运行在27 Mine,其中一个是一个很好的正弦波。总线时钟比此慢得多,根据SCL和SDA线路上使用的上拉电阻的值以及整个器件使用的电压,总线时钟可能在50 Khz或更低的数量级。推荐电压与电阻值之间存在一定的关系。我的接收器使用的是一个3.3V的HDMI切换器,带有1.8K的上拉电阻。我不确定总线时钟频率,但我知道它远低于水晶参考频率,而且也是数字的。如果您的设备由3.3伏供电,它将从3.3伏向下参考。高电平,激活时脉冲变低。你应该能够得到一份数据表,它会告诉你应该使用什么电压。

无论如何,I2C对写命令使用“低有效”,对读命令使用“高”(拉高)。

主机开始和结束地址和数据流,并控制总线,除非从机没有完成最后一次操作,在这种情况下,它可以保持SDA线为低电平,只要它需要完成它正在做的事情(假设它是正常工作的)。您可以在线了解I2C的所有信息,但您肯定需要访问所有设备的数据表,希望至少需要一个示波器。

祝你好运,我希望我回答了你的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44572200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档