본문 바로가기

아두이노우노 R4

실시간 클록 RTC DS1307 모듈

반응형

 

실시간 클록 RTC DS1307 모듈 

 

  • 실시간 시계 (RTC)는 현재 시간과 날짜를 추적하는 데 사용됩니다. 일반적으로 컴퓨터, 랩톱, 모바일, 임베디드 시스템 응용 장치 등에 사용됩니다.
  • 많은 임베디드 시스템에서 센서 값, GPS 좌표 등과 같은 데이터를 기록하는 동안 타임 스탬프를 넣어야합니다. 타임 스탬프를 얻으려면 RTC (Real Time Clock)를 사용해야합니다.
  • LPC2148, LPC1768 등과 같은 일부 마이크로 컨트롤러에는 온칩 RTC가 있습니다. 그러나 PIC, ATmega16 / 32와 같은 다른 마이크로 컨트롤러에서는 온칩 RTC가 없습니다. 따라서 외부 RTC 칩을 사용해야합니다.
  • DS1307, DS12C887 등과 같이 RTC에 사용되는 다양한 유형의 IC가 있습니다.이 섹션에서는 DS1307을 볼 수 있습니다.

 

 

DS1307 RTC 모듈

 

RTC DS1307 핀 다이어그램

 

DS1307 RTC 핀 다이어그램

 

  •  RTC DS1307은 위 그림과 같이 8 핀 IC입니다.
  • RTC DS1307은 32.768kHz 주파수의 외부 크리스탈을 사용하므로 32.768kHz의 크리스탈을 X1 및 X2 핀에 연결해야합니다.
  • 3V CMOS 배터리를 Vbat 핀에 연결합니다. RTC DS1307에는 5V VCC를 감지하는 메커니즘이 내장되어 있습니다. 외부 5V VCC가 없으면 3V CMOS 배터리에서 전원을 공급받습니다.
  • SDA (직렬 데이터) 및 SCL (직렬 클록) 핀은 마이크로 컨트롤러의 I2C 핀과 연결하는 데 사용되는 I2C 직렬 통신 핀입니다.
  • SQW / OUT 핀은 구형파 출력 드라이버입니다. SQW / OUT 핀은 내부 레지스터 비트를 설정하여 4 개의 구형파 주파수 1Hz, 4kHz, 8kHz, 32kHz 중 하나를 출력합니다.

 

일반적으로 RTC (Real Time Clock)를 처음 사용하는 경우 RTC에서 현재 시간과 날짜를 설정해야합니다. 그런 다음 RTC는이 값을 몇 초 안에 계속 업데이트합니다. RTC DS1307에서 Timekeeper Register 에서이 시간과 날짜를 설정할 수 있습니다 . 시간과 날짜 값을 설정 한 후 RTC DS1307은 몇 초 안에 계속 업데이트하므로 나중에 업데이트 시간을 알 수 있습니다.

 

타임 키퍼 레지스터

 

  • 타임 키퍼 레지스터의 내용은 BCD (Binary Coded Decimal value) 형식입니다.
  • 초, 분,시, 요일, 날짜, 월, 연도 및 제어를 설정하기 위해 타임 키퍼 레지스터에 총 8 개의 레지스터가 있습니다.
  • 이 레지스터의 값을 설정하면 계속해서 자체적으로 업데이트되고이 레지스터를 읽어 업데이트 된 값을 얻을 수 있습니다.

 

DS1307 RTC 레지스터 데이터 시트에서

주소-00H : 02H : 클럭 레지스터

주소-00H :

 

  • 이 레지스터에서 비트 -7은 수정 발진기 활성화 / 비활성화 비트 인 CH 비트이고, 0 일 때 수정 발진기가 활성화되고 그렇지 않으면 발진기가 활성화되지 않으므로 RTC를 사용하는 동안 항상이 비트를 0으로 만듭니다.
  • 다른 비트는 두 번째 읽기 / 쓰기에 사용됩니다. 타임 키퍼 레지스터는 값을 BCD 형식으로 저장하므로 여기서 Bit-4 ~ Bit-6은 초의 상위 BCD 숫자 (0 ~ 5의 값)를 저장하고 Bit-0 ~ Bit-3은 초의 하위 BCD 숫자 ( 0에서 9까지의 값). 초 값은 00에서 시작하여 59에서 끝납니다.

 

주소-01H :

 

  • 이 주소는 분 값을 읽고 쓰는 데 사용됩니다.
  • 분의 상위 BCD 자리는 Bit-4 ~ Bit-6에 저장되고 아래쪽 BCD 자리는 Bit-0 ~ Bit-3에 저장됩니다.

 

주소-02H :

 

  • 이 주소는 Hour 읽기 / 쓰기에 사용됩니다.
  • 시계는 12Hr 또는 24Hr 형식으로 실행할 수 있습니다.
  • 12 시간 형식 : 12 시간 시계 형식을 설정하려면 Bit-6을 논리 1로 설정해야합니다. 12 시간 시계 형식에서 Bit-5는 AM / PM, 논리 1은 PM, 논리 0은 AM을 나타냅니다. . Bit-4는 10 Hour로 표시되며 12 시간 시스템의 경우 0 또는 1 인 시간 값의 상위 자리를 저장합니다. Bit-0 ~ Bit-3은 시간의 하위 자릿수 값을 저장합니다 (0 ~ 9 값).
  • 24 시간 형식 : 24 시간 시계 형식을 설정하려면 Bit-6을 논리 0으로 재설정해야합니다. Bit-4 및 Bit-5는 10 Hour로 표시되며 시간 값의 상위 자리 인 0을 저장합니다. 24 시간 시스템의 경우 2로 설정됩니다. Bit-0 ~ Bit-3은 시간의 하위 자릿수 값을 저장합니다 (0 ~ 9 값).

 

주소-03H : 06H : 달력 등록

 

주소-03H :

 

  • 이 주소는 1에서 7까지의 일 값을 읽거나 쓰는 데 사용됩니다. Bit-0에서 Bit-2는 일 값을 읽거나 쓰는 데 사용됩니다.

 

주소-04H :

 

  • 이 주소는 날짜 값을 읽고 쓰는 데 사용됩니다. Bit-4 및 Bit-5는 날짜의 상위 숫자 값 (0에서 3까지의 값)을 읽고 쓰는 데 사용됩니다. Bit-0 ~ Bit-3은 날짜 값 (0 ~ 9의 값)의 하위 자리에 사용됩니다.

 

주소-05H :

 

  • 이 주소는 월을 읽고 쓰는 데 사용됩니다. 0 또는 1 인 월의 상위 자릿수 값에 사용되는 Bit-4 및 Bit- 0 ~ Bit- 3은 월의 하위 자릿수 값 (0-9 사이의 값)을 저장하는 데 사용됩니다.

 

주소 -06H :

 

  • 이 주소는 연도 값을 읽고 쓰는 데 사용됩니다. 연도 값의 마지막 두 자리 만 제공합니다. 비트 0에서 비트 -3은 낮은 숫자를 저장하고 비트 -4에서 비트 -7은 연중 높은 숫자를 저장합니다.

 

Address-07H : 제어 레지스터

 

DS1307 RTC 제어 레지스터

 

Bit 7-OUT : 출력

 

핀 SQW / OUT의 출력 레벨을 제어합니다. 구형파 출력이 비활성화되면 SQWE 비트는 0입니다. 따라서 SQW / OUT의 로직 레벨은이 OUT 비트가 높을 때 높고이 OUT 비트가 0이면 0입니다.

 

비트 4 – SQWE

 

SQW / OUT 핀에서 사각 파 출력을 활성화 / 비활성화하려면

1 = 오실레이터 출력 활성화

0 = 오실레이터 출력 비활성화

 

구형파의 주파수는 RS0 및 RS1 비트에 따라 다릅니다.

 

비트 0 : 1-RS0 및 RS1 

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^