I2C的压摆率是多少?


10

我正在使用C18编译器的内置功能在PIC18上配置I 2 C,如文档的第2.4节中所述:

void OpenI2C2( unsigned char sync_mode,
    unsigned char slew );

我不确定该怎么办slew。我可以从以下两个选项中进行选择i2c.h

  • SLEW_OFF:在100 kHz模式下禁用摆率
  • SLEW_ON:为400 kHz模式启用了摆率

在第257页的寄存器15-1中的数据表中,对这两个选项进行了更详细的说明:

  • 1 =在标准速度模式(100 kHz和1 MHz)下禁用摆率控制
  • 0 =为高速模式(400 kHz)使能摆率控制

我还是不明白-我有几个问题:

  1. 什么转换率?

  2. 对我来说,这两个选项没有意义-如果我想禁用400kHz的摆率并启用100kHz,该怎么办?为什么是这样?

  3. 我应该SLEW_OFF何时选择何时SLEW_ON

pic  c  i2c  software  c18 

Answers:


8

摆率是信号从低到高变化的速度,反之亦然。通过限制这种突然的过渡,可以减少信号反射引起的振铃,并限制信号线之间的串扰。

但是,计算方法是在100kHz时,信号速率非常慢,以至于压摆率并不重要。在400kHz时,您可以通过限制它来修复其他问题电路;但是,当您达到1MHz时,您确实需要获得所有可能的转换速度,因此您只需要进行良好的信号匹配并更仔细地布线即可。

有问题的位只不过是启用或禁用该功能。剩下的仅仅是建议。速度在括号中,仅作​​为建议。


谢谢!这似乎是一个不错的选择-为什么我使用摆率控制?

2
@CamilStaps-我的理解,听起来您可能误解了答案。具有急剧的跳变(SLEW_ON)会引起额外的EMI噪声和振铃。缓慢的跳变(SLEW_OFF)会降低EMI,但会降低链路的最大可用频率。这是一个权衡。
蒂姆(Tim)

@gbarry:嗯,所以在关闭压摆率控制的情况,信号与uC所能产生的方波非常接近。使用摆率控制,波的高/低过渡比其他情况会更倾斜(=垂直度更低)?
angelatlarge 2013年

1
没错,尽管我不确定PIC的效果如何(我应该检查一下)。历史记录:RS232规范具有压摆率限制,因此有人提出了具有良好的y斜率输出信号的驱动器芯片。然后我们所有人都开始使用越来越快的bps速率,因此我们无法使用该芯片...
gbarry

1
三年后,我也遇到了同样的问题,但实际上是对它进行了测量。为了将来参考,在具有4.7k上拉电阻且总线上有单个从器件的PIC16F1454上,下降时间为2.9 ns(无摆率限制)(可能受我的150 MHz探头限制),而下降时间为151 ns(摆率限制)。它不影响上升时间。
管道
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.