실시간 클럭

Real-time clock
1988년에 제조된 댈러스 반도체 DS1287 실시간 클럭
중국에서 시판되는 취미용 RTC 모듈 종류

실시간 클럭(RTC)은 시간의 흐름을 측정하는 전자 장치(대부분 집적회로 형식)입니다.

용어는 종종 개인용 컴퓨터, 서버 및 임베디드 시스템의 장치를 가리키지만, RTC는 하루 중 정확한 시간을 유지해야 하는 거의 모든 전자 장치에 존재합니다.

용어.

실시간 클럭이라는 용어는 디지털 전자제품을 지배하는 신호일 뿐 인간의 단위로 시간을 계산하지 않는 일반적인 하드웨어 클럭과의 혼동을 피하기 위해 사용됩니다.RTC는 실시간 컴퓨팅과 혼동해서는 안 됩니다.실시간 컴퓨팅은 3글자의 약자를 공유하지만 시간과는 직접 관련이 없습니다.

목적

RTC 없이도 시간을 유지할 수 있지만 [1]RTC를 사용하면 다음과 같은 이점이 있습니다.

  • 저소비전력[2](대체전원에서 가동할 때 중요)
  • 메인 시스템을 시간 요건이 되는 태스크에 사용할 수 있습니다.
  • 다른 방법보다 정확할 수 있습니다.

GPS 수신기는 RTC에 따르면 현재 시간을 유효한 [3]신호를 마지막으로 수신한 시간과 비교함으로써 시작 시간을 단축할 수 있습니다.몇 시간이 지나지 않은 경우에도 이전 사용 후기를 사용할 수 있습니다.

어떤 메인보드는 실시간 시계 없이 만들어진다.(라즈베리 파이 시스템 아키텍처에서처럼) 비용을 절약하려는 욕구 또는 (Arduino 시스템[4] 아키텍처에서처럼) 실시간 클럭이 전혀 필요하지 않을 수 있기 때문에 실시간 클럭이 생략됩니다.

전원

실시간 클럭 IC 내부의 리튬 배터리

RTC에는 대체 전원이 있는 경우가 많기 때문에 프라이머리 전원이 꺼지거나 사용할 수 없는 경우에도 시간을 유지할 수 있습니다.이 대체 전원은 일반적으로 구형 시스템에서는 리튬 배터리이지만, 일부 최신 시스템에서는 충전 가능하고 납땜[5][6]수 있기 때문에 슈퍼 캐패시터를 사용합니다.대체 전원은 배터리 백업 [7]RAM에도 전력을 공급할 수 있습니다.

타이밍.

대부분의 RTC는 수정 오실레이터[8][9]사용하지만 전원 라인 [10]주파수를 사용하는 옵션이 있습니다.결정 주파수는 보통 32.768kHz로 [8]석영시계나 시계에 사용되는 주파수와 동일합니다.정확히15 초당 2사이클이므로 간단한 이진 카운터 회로와 함께 사용하면 편리한 속도입니다.저주파수는 인간의 청력 범위 이상으로 유지하면서도 전력을 절약합니다.이들 결정의 석영 음정은 온도와 크기가 크게 달라지지 않기 때문에 주파수가 크게 변하지 않는다.

일부 RTC는 RTC의 실리콘 칩에 마이크로메니컬 공진기를 사용합니다.이를 통해 부품 수를 줄임으로써 RTC의 규모와 비용을 절감할 수 있습니다.마이크로메니컬 공진기는 석영 공진기보다 온도에 훨씬 민감합니다.그래서 이것들은 전자 온도계와 전자 [11]논리를 사용하여 온도 변화를 보상합니다.

일반적인 크리스털 RTC 정밀도 사양은 ±100 ~ ±20ppm(하루 8.6 ~ 1.7초)이지만 온도 보정 RTC IC는 [12][13]5ppm 미만의 정밀도를 제공합니다.현실적으로 이것은 크로노미터의 고전적인 작업인 천체 항해를 하기에 충분하다.2011년에는 칩스케일의 원자시계를 사용할 수 있게 되었다.1μW 미만에서 120mW의 고비용과 전력 소모가 매우 크지만, 50pps/s(5×10−11)[14] 이내의 시간을 유지합니다.

오래된 PC로부터의 Dallas Semiconductor(DS1387) 실시간 클럭.이 버전에는 배터리 백업식 SRAM도 포함되어 있습니다.
DIP-8 패키지의 Dallas DS1307 RTC 칩

Epson, Intersil, IDT, Maxim, NXP Semiconductors, Texas Instruments, STMicroelectronics, Ricoh 등 많은 집적회로 제조업체가 RTC를 만들고 있습니다.싱글보드 컴퓨터에서 일반적으로 사용되는 RTC는 Maxim Integrated DS1307입니다.

RTC는 1984년 IBM PC/AT에 의해 PC 호환성에 도입되었으며, IBM PC/[15][16]AT는 Motorola MC146818 RTC를 사용했습니다.나중에 댈러스 세미컨덕터는 호환성이 있는 RTC를 만들었습니다.이것들은 오래된 개인용 컴퓨터에 자주 사용되었으며 독특한 검은색 배터리 캡과 실크스크린 로고로 인해 메인보드에서 쉽게 찾아볼 수 있습니다.

새로운 컴퓨터 시스템에서는 RTC가 사우스브리지 [17][18]칩에 통합되어 있습니다.

일부 마이크로컨트롤러에는 실시간클럭이 내장되어 있습니다.일반적으로 다른 많은 기능과 주변기기가 탑재되어 있는 컨트롤러만 있습니다.

무선 기반 RTC

일부 최신 컴퓨터는 디지털 라디오로 시계 정보를 수신하여 시간 기준을 홍보하기 위해 사용합니다.일반적인 방법은 두 가지가 있습니다.대부분의 휴대폰 프로토콜 (예: LTE)은 현재 현지 시간을 직접 제공합니다.인터넷 무선을 사용할 수 있는 경우 컴퓨터는 네트워크 시간 프로토콜을 사용할 수 있습니다.로컬 타임 서버로 사용되는 컴퓨터는 GPS 또는 국가 표준 기관(무선[20] 시계 등)에 의해 방송되는 초저주파 무선 전송을 사용하는[19] 경우가 있습니다.

소프트웨어 기반 RTC

다음 시스템은 임베디드 시스템 프로그래머들에게 잘 알려져 있습니다.이 프로그래머들은 때때로 RTC가 없는 시스템에 RTC를 구축해야 합니다.대부분의 컴퓨터에는 석영 결정이나 세라믹 공진기의 타이밍 신호를 사용하는 하드웨어 타이머가 1개 이상 있습니다.이 경우 절대 타이밍(100ppm 이상)이 부정확하고 반복이 매우 용이합니다(종종 1ppm 미만).소프트웨어는 정확한 RTC로 만들기 위해 계산을 할 수 있습니다.하드웨어 타이머는 이력 RTC를 모방하기 위해 예를 들어 50Hz와 같은 주기적인 인터럽트를 발생시킬 수 있습니다(아래 참조).그러나 정확한 타이밍 체인을 조정하기 위해 다음과 같은 연산을 사용합니다.

time = time + rate.

"time" 변수가 상수(통상은 2의 거듭제곱)를 초과하면 공칭 계산 클럭 시간(예를 들어 1/50초)을 "time"에서 빼서 클럭의 타이밍 체인 소프트웨어를 호출하여 초, 초 등의 분수를 계산합니다.시간과 속도에 대한 32비트 변수를 사용하면 "속도"의 수학적 분해능이 10억분의 1을 초과할 수 있습니다.클럭은 1초의 몇 분의 1초를 건너뛰거나 2분의 1씩 증가하는 경우가 있기 때문에 정확성이 유지됩니다.작은 스킵('지터')은 RTC의 거의 모든 실제 사용에서 감지되지 않습니다.

이 시스템의 복잡성은 변수 "속도"에 대한 순간 보정 값을 결정하는 것입니다.가장 단순한 시스템은 클럭의 두 설정 사이에서 RTC 시간과 기준 시간을 추적하고 기준 시간을 RTC 시간으로 나누어 "속도"를 찾습니다.인터넷 시간은 보통 20밀리초 미만으로 정확하기 때문에 설정 간에 8000초 이상(2.2시간 이상)의 오차를 40밀리초(또는 그 이하)에서 5ppm 이하로 분할하여 크로노미터와 같은 정확도를 얻을 수 있습니다.이 시스템의 주요 복잡성은 날짜와 시간을 초수로 변환하는 것이지만 방법은 잘 [21]알려져 있습니다.

장치가 꺼진 상태에서 RTC가 실행되는 경우 일반적으로 장치가 켜질 때와 꺼질 때 두 가지 속도로 RTC가 실행됩니다.이는 각 상태의 온도와 전원 전압이 일정하기 때문입니다.이러한 상태를 조정하기 위해 소프트웨어는 두 가지 환율을 계산합니다.첫 번째로 소프트웨어는 클럭이 설정된 마지막 3회 사이의 2개의 인터벌 동안 RTC 시간, 기준 시간, 초 및 오프 시간을 기록합니다.이를 사용하여 2개의 인터벌의 정밀도를 측정할 수 있으며, 각 인터벌은 on/off 초의 다른 분포를 가집니다.속도 산술은 두 개의 선형 방정식을 풀어 두 개의 속도를 계산합니다. 하나는 켜짐이고 다른 하나는 꺼짐입니다.

또 다른 접근법은 전자 온도계(예: 서미스터아날로그-디지털 변환기)를 사용하여 발진기의 온도를 측정하고 다항식을 사용하여 분당 약 1회 "속도"를 계산합니다.여기에는 여러 온도에서 주파수를 측정하는 교정이 필요하며, 온도 방정식을 구하기 위해 선형 회귀가 필요합니다.시스템에서 가장 일반적인 석영 결정은 SC 절단 결정이며, 온도에 대한 속도는 3차 다항식으로 특징지을 수 있습니다.이를 보정하기 위해 주파수는 4온도로 측정됩니다.시계 및 많은 RTC 구성요소에 사용되는 일반적인 튜닝 포크 스타일의 결정에는 포물선(2도) 온도 방정식이 있으며, 3개의 측정만으로 보정할 수 있습니다.MEMS 발진기는 기계적 설계에 따라 3차 다항식에서 5차 다항식까지 다양하므로 4~6차 교정 측정이 필요합니다.이러한 접근방식은 상업용 RTC IC에서 사용될 수 있지만, 효율적인 고속 제조를 위한 실제 방법은 독점적입니다.

이력 RTC

더 작은 IBM System/360s,[22] PDP-8s[23] Novas와 같은 일부 컴퓨터 설계에서는 정확하고 단순하며 저렴한 실시간 시계를 사용했습니다.유럽, 북미 및 기타 일부 그리드에서 AC 주전원의 주파수는 국가 표준의 장기 주파수 정확도에 따라 조정됩니다.이러한 그리드에서 AC 주전원을 사용하는 클럭은 조정 없이 완벽한 시간을 유지할 수 있습니다.이러한 시계는 AC 주전원의 주파수를 규제하지 않는 휴대용 컴퓨터나 그리드(예: 남아시아)에서는 실용적이지 않다.

이러한 컴퓨터의 전원 공급 장치는 변압기 또는 저항 분배기를 사용하여 논리 전압에서 사인파를 생성합니다.이 신호는 선형 증폭기 또는 슈미트 트리거를 사용하여 제로 교차 검출기에 의해 조절됩니다.그 결과 주 주파수에서 단일 고속 에지가 있는 사각파가 생성됩니다.이 논리 신호는 인터럽트를 트리거합니다.인터럽트 핸들러 소프트웨어는 보통 사이클, 초 등을 카운트합니다.이렇게 하면 전체 시계와 달력을 제공할 수 있습니다.IBM 360에서 인터럽트는 표준화된 시스템 소프트웨어에 의해 사용되는 64비트 마이크로초의 카운트를 업데이트합니다.클럭의 지터 에러는 각 사이클이 아니라 각 제로 크로싱에 대해 클럭이 인터럽트하는 경우 절반입니다.

클럭은 보통 컴퓨터의 소프트웨어 타이밍 체인의 기초를 형성하기도 했습니다.예를 들어, 통상, operating system의 태스크 전환에 사용되는 타이머였습니다.최신 컴퓨터에 사용되는 카운트 타이머는 동일한 기능을 낮은 정밀도로 제공하며 이러한 유형의 클럭에 대한 요구 사항을 추적할 수 있습니다.(예: PDP-8에서는 메인 기반 클럭인 모델 DK8EA가 먼저 나왔고, 이후 결정 기반 클럭인 DK8EC가 그 뒤를 이었습니다.)

소프트웨어 기반 클럭은 컴퓨터를 켤 때마다 설정해야 합니다.원래 이것은 컴퓨터 오퍼레이터에 의해 수행되었습니다.인터넷이 보편화되면서 네트워크 시간 프로토콜이 이러한 유형의 시계를 자동으로 설정하기 위해 사용되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Ala-Paavola, Jaakko (2000-01-16). "Software interrupt based real time clock source code project for PIC microcontroller". Archived from the original on 2007-07-17. Retrieved 2007-08-23.
  2. ^ Enabling Timekeeping Function and Prolonging Battery Life in Low Power Systems, NXP Semiconductors, 2011
  3. ^ US 5893044 빠른 수집 또는 GPS 신호용 실시간 클럭 장치
  4. ^ 단, 대부분의 Arduino 소프트웨어 스위트에는 설명에 따라 저정밀 타이머에서 실행되는 옵션 소프트웨어 RTC가 포함되어 있습니다.
  5. ^ New PCF2123 Real Time Clock Sets New Record in Power Efficiency, futurle
  6. ^ Application Note 3816, Maxim/Dallas Semiconductor, 2006
  7. ^ Torres, Gabriel (24 November 2004). "Introduction and Lithium Battery". Replacing the Motherboard Battery. hardwaresecrets.com. Archived from the original on 24 December 2013. Retrieved June 20, 2013.
  8. ^ a b Application Note 10337, ST Microelectronics, 2004, p. 2
  9. ^ Application Note U-502, Texas Instruments, 2004, p. 13
  10. ^ Application Note 1994, Maxim/Dallas Semiconductor, 2003
  11. ^ "Maxim DS3231m" (PDF). Maxim Inc. Retrieved 26 March 2019.
  12. ^ "Highly Accurate Real-Time Clocks". Maxim Semiconductors. Retrieved 20 October 2017.
  13. ^ Drown, Dan (3 February 2017). "RTC comparison".
  14. ^ "Chip Scale Atomic Clock". Microsemi. Retrieved 20 October 2017.
  15. ^ "Real-time Clock/Complementary Metal Oxide Semiconductor (RT/CMOS) RAM Information". IBM PC AT Technical Reference (PDF). International Business Machines Corporation. 1984. p. System Board 1–45.
  16. ^ MC146818A REAL-TIME CLOCK PLUS RAM (RTC) (PDF). Motorola Inc. 1984.
  17. ^ "ULi M1573 Southbridge Specifications". AMDboard.com. Retrieved 2007-08-23.
  18. ^ https://www.intel.com/Assets/PDF/datasheet/290562.pdf[베어 URL PDF]
  19. ^ "GPS Clock Synchronization". Orolia. 9 December 2020. Retrieved 6 January 2021.
  20. ^ "Product: USB Radio Clock". Meinburg. Retrieved 20 October 2017.
  21. ^ "Calendrical Applications". U.S. Naval Observatory. U.S. Navy. Archived from the original on 2016-04-04. Retrieved 7 November 2019.
  22. ^ IBM (September 1968), IBM System/360 Principles of Operation (PDF), Eighth Edition, A22-6821-7 수정자 및 수정자
  23. ^ Digital Equipment Corp. "PDP-8/E Small Computer Handbook, 19" (PDF). Gibson Research. pp. 7–25, the DK8EA. Retrieved 12 November 2016.

외부 링크

  • Wikimedia Commons 실시간 클럭 관련 미디어