I2C의 슬 루율은 무엇입니까?


10

설명서의 2.4 절에 설명 된대로 C18 컴파일러의 내장 함수를 사용하여 PIC18에서 I 2 C를 구성 하고 있습니다 .

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

무엇을해야할지 모르겠습니다 slew. 다음에 정의 된 두 가지 옵션 중에서 선택할 수 있습니다 i2c.h.

  • SLEW_OFF: 100kHz 모드에서 슬 루율 비활성화
  • SLEW_ON: 400kHz 모드에서 활성화 된 슬 루율

257 페이지 레지스터 15-1 의 데이터 시트 에서 두 가지 옵션에 대해 좀 더 자세히 설명합니다.

  • 1 = 표준 속도 모드 (100kHz 및 1MHz)에 대해 슬 루율 제어가 비활성화 됨
  • 0 = 고속 모드 (400kHz)에 대해 슬 루율 제어 가능

나는 그것을 이해하지 못합니다-몇 가지 질문이 있습니다.

  1. 무엇 이다 슬 루율은?

  2. 나를 위해 두 가지 옵션이 이해가되지 않습니다. 400kHz의 슬루 레이트를 비활성화하고 100kHz에서 활성화하려면 어떻게해야합니까? 왜 이런거야?

  3. 언제 SLEW_OFF그리고 언제 선택해야 SLEW_ON합니까?

pic  c  i2c  software  c18 

답변:


8

슬 루율은 신호가 낮은 속도에서 높은 속도로 또는 그 반대로 얼마나 빠르게 변하는가입니다. 이 갑작스러운 전환을 제한함으로써 신호 반사로 인한 울림을 줄이고 신호선 간의 누화를 제한 할 수 있습니다.

그러나 100kHz에서 신호 속도가 너무 느려서 슬루 레이트가 실제로 중요하지 않다는 것이 문제가되지 않습니다. 400kHz에서는 문제가있는 회로를 제한하여 고정시킬 수 있습니다. 그러나 1MHz에 도달하면 얻을 수있는 모든 전이 속도가 실제로 필요하므로 신호를 올바르게 일치시키고보다 신중하게 회선을 라우팅하면됩니다.

문제의 비트는 기능을 활성화하거나 비활성화하는 것 이상을 수행하지 않습니다. 나머지는 단순히 조언입니다. 속도는 단지 제안 일 뿐이므로 괄호 안에 있습니다.


감사! 좋은 옵션 인 것 같습니다-왜 슬 루율 제어를 사용 하지 않습니까?

2
@CamilStaps-내 이해, 당신이 대답을 잘못 읽은 것 같습니다. 급격한 전환 (SLEW_ON)이 발생하면 추가적인 EMI 노이즈 및 링잉이 발생합니다. 천이가 느리면 (SLEW_OFF) EMI는 줄이지 ​​만 링크의 최대 사용 가능 주파수는 줄어 듭니다. 절충입니다.
Tim

@gbarry : 아, 따라서 슬루 레이트 컨트롤을 끄면 신호는 uC가 만들 수있는만큼 구형파에 가깝습니다. 웨이브 에서 슬루 레이트 제어 를 사용 하면 높음 / 낮음 전환이 그렇지 않은 경우보다 더 기울어집니다 (= 덜 수직)?
angelatlarge

1
그것이 PIC에 얼마나 극적인지 잘 모르겠지만 (나는 그것을 확인해야 함) 정확합니다. 역사적 메모 : RS232 사양은 슬루 레이트 제한이 있었으므로 누군가 슬로프 출력 신호가 좋은 드라이버 칩을 사용했습니다. 그리고 우리 모두 더 빠르고 빠른 bps 속도를 사용하기 시작하여 칩을 사용할 수 없었습니다.
gbarry

1
3 년 후, 같은 질문이 있었지만 실제로 측정했습니다. 미래의 참조를 위해 버스 4.7K 풀업 단일 슬레이브와 PIC16F1454에서 하강 시간은 (아마도 제 150 MHz의 프로브에 의해 제한) 제한 회전율없이 2.9 NS 및 151 개를 Ns 슬루 레이트 제한. 상승 시간에는 영향을 미치지 않습니다.
파이프
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.