모든 RTC가 BCD 인코딩을 사용합니까?
Philips / NXP의 RTC (독립형 및 ARM7 또는 Cortex-M3 칩에 통합)는 BCD 인코딩을 사용하지 않습니다.
BCD RTC에 어떤 문제가 있습니까?
플랫 카운터와 비교할 때 분할 BCD 클럭으로 더 어려운 작업은 시차 계산 (초 추가 또는 경과 시간 계산)입니다. "현재 시간이 사용자가 설정 한 알람 시간보다 큼"과 같은 시간 비교는 쉽습니다.
BCD (및 일반적으로 분할 필드) RTC의 장점은 무엇입니까?
달력 날짜를 관리 할 때 필드를 분할하면 정말 좋습니다. 휴먼 캘린더는 길이가 다른 달과 그 윤년 위에 재미있는 것들이 있습니다. 단일 카운터에서 그렇게하십시오 (거의 전력을 사용하지 않으면 보너스 포인트를 얻을 수 있습니다). 아, 그리고 요일을 지원해보십시오 (알람 시계에서 히터 컨트롤러에 이르기까지 모든 사람에게 유용한 모든 장치에 유용합니다).
BCD 접근 방식에는 시간 또는 날짜를 계산할 필요없이 "초마다"또는 "10 초마다"인터럽트가 무료로 제공됩니다.
기록적인 윤년 계산의 경우 NXP RTC에서 4 규칙으로 만 나눌 수 있고 100과 400으로 나누기를 확인하지 않기 때문에 NXP RTC에서 약간의 계산이 이루어집니다. BCD에서 연도 카운터를 유지하면 사소하고 아마도 아마도 잘했다.
요약
단조로운 시계를 원한다면 시계를 사용하십시오. "RTC 카운터"(자율 32kHz 발진기가있는 비동기 카운터)를 사용하여 PIC 또는 AVR을 구입할 수 있습니다. 단순히 날짜를 표시하는 것은 어려울 수 있습니다. :)
시간과 날짜를 표시하고 시간과 날짜의 사용자 입력을 기반으로 알람을 설정해야하는 경우 RTC를 사용하십시오. 또한 사용자가 현재 시간과 날짜를 변경하면 RTC 기반 인터럽트가 정확하지 않을 수 있습니다.