개요: DS75의 2-wire 타이밍은 I²C와는 다르다. 이 애플리케이션 노트에서는 그 차이점에 대해 자세히 설명하고자 한다. DS75는 SDA를 내부적으로 유지하지 않기 때문에 SCL의 폴링 에지(falling edge)가 완료될 때가지 버스 마스터가 SDA를 유지해야 한다.
소개
이 애플리케이션 노트에서는 DS75 통신 타이밍과 I²C 규격의 차이점에 대해 상세히 소개하고자 한다. I²C에서는 슬레이브 장치가 내부에서 최소 300ns 동안 SDA 지연을 초래함으로 SCL과 SDA 라인을 동시에 전환하는 것이 가능하다. 하지만 DS75에서는 SCL과 관련해서 SDA 신호가 지연되지 않으므로 부적절한 START 또는 STOP 동작을 발생시키지 않으려면 SCL이 완벽하게 로직 로우로 전환할 때까지 버스 마스터가 SDA를 적절한 로직상태로 유지해야만 한다.
적절한 타이밍
DS75의 SDA 라인은 SCL과 관련해서 내부 지연을 갖지 않는다. 그러므로 데이터를 작성할 때 SCL이 로직 로우로 전환할 때까지 SDA 로직 레벨을 DS75 외부에서 잡아줘야만 한다. 그렇지 않으면 시작 또는 정지 명령으로 인식될 수 있다. 2-wire 버스에 로직 "1"을 작성할 때는 SDA가 로직 하이 임계값 VIH(0.7 x VDD 최소) 이하로 전환되기 전에 SCL이 로직 로우 임계값 VIL(0.3 x VDD 최대)에 도달해야 한다. 로직 "0"을 작성할 때는 SDA가 VIL 이상으로 전환되기 전에 SCL이 V IL 에 도달해야 한다. START 조건을 위해서는 SCL이 VIH 이하로 전환되기 전에 SDA가 V IL 에 도달해야 한다. STOP 조건을 위해서는 SCL이 V IL 이하로 전환되기 전에 SDA가 VIH에 도달해야 한다. 모든 디바이스의 생산성 테스트에서는 VIL 및 VIH 레벨이 모두 테스트된다. 따라서 디바이스의 제조 오차를 포함해 전체 전압과 온도 범위에서 모든 디바이스의 적절한 동작에 대한 보장은 이 타이밍을 통해 이루어지게 된다.
그림 1.
그림 2.
요약
DS75 타이밍과 I²C 규격에는 차이점이 있다. DS75는 SCL과 관련해서 SDA를 내부적으로 지연시키지 않기 때문에 로직 "1"이 START 조건으로 해석되거나 로직 "0"이 STOP 조건으로 해석되지 않도록 하기 위해서는 SCL 하강 에지 때 시스템 호스트가 SDA를 유지해야 한다.