I2C 풀업 저항 계산


10

내가 운전하는 것을 시도하고 ,이 I2C LCD 디스플레이를ATxmega16A4U의 마이크로 컨트롤러.

두 장치 모두 최대 400kHz의 I2C 클록 주파수에서 작동하도록 나열되어 있습니다. 두 장치는 I2C 버스의 유일한 장치입니다.

그러나 풀업 저항 한계에 대한 계산을 수행하면 다소 이상한 값이 제공됩니다.

I2C 최소 풀업 저항 값 계산 :

아르 자형미디엄나는=V0.4미디엄=966.7Ω

uC 데이터 시트를 보면 92 페이지의 최대 핀 입력 커패시턴스가 10pF입니다.

그러나 LCD의 경우 8 페이지에 Capacitive load represent by each bus lineCb 라는 레이블 이 붙어 있으며 최대 400pF로 나열되어 있습니다. 나는이 값을 10pF uC 입력 커패시턴스에 추가해야한다고 가정하고 있지만, 이것은 정말로 높은 것처럼 보이고 계산은 기이합니다.

예를 들어, 400kHz 클록의 최대 풀업 저항 값을 계산하려고 할 때 :

아르 자형미디엄엑스=300에스10에프+400에프=731.7Ω

LCD 데이터 시트를 잘못 해석하고 있습니까? 분명히 최대 허용 풀업 저항 값은 최소 허용 값보다 작을 수 없습니다.

마찬가지로, 최대 순 버스 커패시턴스가 400pF라고 가정하면 다음과 같은 이점이 있습니다.

아르 자형미디엄엑스=300에스400에프=750Ω

여전히 최대 허용 값 미만입니다.

답변:


11

Atmel 데이터 시트에 오타가 있습니다 .100kHz 케이스의 상승 시간은 100ns가 아니라 1000ns이어야합니다 (300ns의 400kHz보다 낮을 필요는 없습니다).

1에스400에프=2.5케이Ω

LCD 데이터 시트 (거의 확실하게)는 버스에 추가되는 정전 용량이 아니라 최대 버스 정전 용량을 의미합니다. 아마도 약 10pF를 더할 것입니다. LCR 미터로 확인하거나 2k 저항으로 설정하고 상승 시간을 볼 수 있습니다.

많은 장치가 공식 400kHz 사양을 완벽하게 준수하지 않으므로 400kHz가 작동 할 수있는 조건 (버스 커패시턴스, 풀업 / 전류 소스 등)을 이해하려면 이러한 장치를 참조하는 것이 가장 좋습니다 (예 : 6 장 참조) 페이지 47의 주 4 :

[4] 400 kHz에서 전체 버스 부하를 구동하려면 0.6 V VOL에서 6 mA IOL이 필요합니다. 이 사양을 충족하지 않는 부품은 여전히 ​​작동하지만 400 kHz 및 400 pF에서는 작동하지 않을 수 있습니다.)

또한이 표는 매우 유용하며 계산에 동의합니다.

I2C 풀업


예, 데이터 시트에 대해 알고 있습니다. 400kHz의 신호는 100kHz의 신호보다 짧은 상승 시간을 가져야한다 : D
helloworld922

1

계산이 합리적입니다. 이 TI 애플리케이션 노트 (섹션 4.1) 에서도 비슷한 계산이 이루어 집니다. R min 을 계산 하기 위해 V cc = 1.8V를 사용 합니다.

C b 는 LCD가 버스에 추가하는 커패시턴스가 아니라 LCD가 작동 할 수있는 최대 버스 커패시턴스 라고 생각할 수 있습니다. RC 상수를 측정 하여 I 2 C 입력 의 커패시턴스를 테스트 할 수 있습니다. 그것은 크기 순서 위생 검사를 제공 할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.