지금은 I 2 C 데이터 및 클럭 라인 (SDA 및 SCL)에 풀업 저항이 있어야 한다는 것을 깨달았습니다 .
글쎄, 아래 회로도에 따라 DS1307 RTC ( 데이터 시트 참조 )를 사용하여 몇 개의 시계를 만들었습니다 . 풀업 저항을 모두 생략했습니다.
두 시계 모두 제대로 작동하며 그 중 하나가 현재 3 개월 이상 작동하고 있습니다. 어떻게 가능합니까? 어쨌든 나는 알고 싶었다.
I 2 C 풀업이 생략 되면 어떻게됩니까 ?
풀업이 없으면 보드에있는 두 IC 중 하나를 손상시킬 수 있습니까?
내가 제공 한 회로도와 같이 ATmega328P를 DS1307 RTC에 연결하는 특정 사례를 다루는 답변을 받았고 질문이 너무 광범위하지 않으면 풀업이 일반적으로 생략 될 때 어떤 일이 발생하는지 아는 것이 도움이 될 것입니다 즉, 다른 시나리오의 I 2 C 작동에서.
추신. 나는 그물을 검색하여 답을 찾았지만 풀업 치수 측정에 대한 기사를 찾을 수있었습니다.
업데이트 : Arduino IDE 1.03을 사용하고 있으며 펌웨어는 DS1307RTC Arduino lib를 사용하여 RTC를 처리합니다 ( RTC.read()
및 기능을 통해 RTC.write()
). 그 lib는 차례로 Wire.h
RTC와 대화하는 데 사용 됩니다.
업데이트 2 : 아래는 외부 풀업없이 I 2 C가 어떻게 작동 하는지 설명하는 데 도움이되는 일련의 스코프 샷 입니다.
업데이트 3 (I 2 C 풀업 추가 후 ) : 아래는 I 2 C 라인 (같은 보드의)에 적절한 (4K7) 풀업 저항 을 추가 한 후 촬영 한 또 다른 스코프 샷 입니다. 상승 시간은 약 5µs에서 290ns로 떨어졌습니다. I 2 C는 지금 훨씬 행복합니다.