내가 운전하는 것을 시도하고 ,이 I2C LCD 디스플레이를 와 ATxmega16A4U의 마이크로 컨트롤러.
두 장치 모두 최대 400kHz의 I2C 클록 주파수에서 작동하도록 나열되어 있습니다. 두 장치는 I2C 버스의 유일한 장치입니다.
그러나 풀업 저항 한계에 대한 계산을 수행하면 다소 이상한 값이 제공됩니다.
I2C 최소 풀업 저항 값 계산 :
uC 데이터 시트를 보면 92 페이지의 최대 핀 입력 커패시턴스가 10pF입니다.
그러나 LCD의 경우 8 페이지에 Capacitive load represent by each bus line
Cb 라는 레이블 이 붙어 있으며 최대 400pF로 나열되어 있습니다. 나는이 값을 10pF uC 입력 커패시턴스에 추가해야한다고 가정하고 있지만, 이것은 정말로 높은 것처럼 보이고 계산은 기이합니다.
예를 들어, 400kHz 클록의 최대 풀업 저항 값을 계산하려고 할 때 :
LCD 데이터 시트를 잘못 해석하고 있습니까? 분명히 최대 허용 풀업 저항 값은 최소 허용 값보다 작을 수 없습니다.
마찬가지로, 최대 순 버스 커패시턴스가 400pF라고 가정하면 다음과 같은 이점이 있습니다.
여전히 최대 허용 값 미만입니다.
답변
Atmel 데이터 시트에 오타가 있습니다 .100kHz 케이스의 상승 시간은 100ns가 아니라 1000ns이어야합니다 (300ns의 400kHz보다 낮을 필요는 없습니다).
LCD 데이터 시트 (거의 확실하게)는 버스에 추가되는 정전 용량이 아니라 최대 버스 정전 용량을 의미합니다. 아마도 약 10pF를 더할 것입니다. LCR 미터로 확인하거나 2k 저항으로 설정하고 상승 시간을 볼 수 있습니다.
많은 장치가 공식 400kHz 사양을 완벽하게 준수하지 않으므로 400kHz가 작동 할 수있는 조건 (버스 커패시턴스, 풀업 / 전류 소스 등)을 이해하려면 이러한 장치를 참조하는 것이 가장 좋습니다 (예 : 6 장 참조) 페이지 47의 주 4 :
[4] 400 kHz에서 전체 버스 부하를 구동하려면 0.6 V VOL에서 6 mA IOL이 필요합니다. 이 사양을 충족하지 않는 부품은 여전히 작동하지만 400 kHz 및 400 pF에서는 작동하지 않을 수 있습니다.)
또한이 표는 매우 유용하며 계산에 동의합니다.
답변
계산이 합리적입니다. 이 TI 애플리케이션 노트 (섹션 4.1) 에서도 비슷한 계산이 이루어 집니다. R min 을 계산 하기 위해 V cc = 1.8V를 사용 합니다.
C b 는 LCD가 버스에 추가하는 커패시턴스가 아니라 LCD가 작동 할 수있는 최대 버스 커패시턴스 라고 생각할 수 있습니다. RC 상수를 측정 하여 I 2 C 입력 의 커패시턴스를 테스트 할 수 있습니다. 그것은 크기 순서 위생 검사를 제공 할 것입니다.