내장형 설계에 효율적인 실시간 클록/캘린더 기능을 빠르게 구현

작성자: Steve Leibson

Digi-Key 북미 편집자 제공

대부분의 내장형 응용 제품은 정해진 시간 및 날짜에 특정 작업을 작동할 시간을 알고 있거나 이벤트에 시간 소인이 있어야 하거나 이 두 가지가 모두 필요합니다. 이 기능을 수행할 실시간 클록 및 캘린더(RTCC) 칩은 수십 년 동안 사용할 수 있지만, 설계자가 전력 소비 및 설계 시간을 최소화하면서 부품 수와 실장 면적을 줄여야 합니다.

통합된 RTCC 장치와 혁신적인 모듈이 이러한 과제를 충족합니다.

이 기사에서는 공간 및 전력 소비를 최소화하면서 RTCC 칩을 선택하여 내장형 시스템에 맞게 빠르게 설계하는 방법에 대해 설명합니다. RTCC가 내장된 MCU에 대해 설명하고 이용 가능한 RTCC 모듈을 사용하여 표면 실장 RTC 및 기타 부품으로 시제품 제작을 지원하는 방법을 설명합니다.

모듈에 통합된 RTCC 칩은 일반적으로 Arduino 라이브러리 및 Raspberry Pi Raspbian 드라이버 오버레이에서 지원합니다. 이러한 장치로 내장형 실험 및 시제품 제작을 쉽게 할 수 있습니다.

RTCC의 역할

대부분의 내장형 응용 제품은 주 프로세서가 다른 작업을 할 수 있도록 보조하면서 최소한의 전력 소비로 실제 환경을 기준으로 시간을 추적해야 합니다.

하지만 RTCC 칩이 단독으로 많은 작업을 수행할 수는 없습니다. 내장형 시스템의 전력이 차단된 경우에도 시간을 추적하도록 백업 배터리 전력과 시간 유지를 위한 정확한 수정(정확한 시간 추적을 위해 온도 보정형 수정)이 필요합니다. 이러한 보조 부품은 다음 두 가지 기본 작업을 수행하도록 RTCC의 기능을 정의합니다.

  1. 모든 조건에서 정확한 시간과 날짜를 일관성 있게 유지함
  2. 나머지 내장형 시스템의 전력이 꺼졌을 때 전력 소비 최소화

RTCC를 통합하는 일부 마이크로 컨트롤러

Microchip Technology 32비트 PIC32MZ2064DAA288 마이크로 컨트롤러와 같은 일부 마이크로 컨트롤러는 내부 RTCC 블록을 통합합니다. 특히 마이크로 컨트롤러의 일반 전원 공급 장치 핀(VDDCORE 및 VDDIO)에서 장치에 전력을 공급할 전압이 부족한 경우 PIC32MZ2064DAA288 마이크로 컨트롤러가 내부 전력을 해당 배터리 입력 핀(VBAT)으로 자동 전환하므로 정확한 시간 유지가 필요한 시스템 설계에 이 장치를 사용하는 것이 좋은 방법인 것처럼 보일 수 있습니다.

그러나 위에 나열된 RTCC의 두 가지 필수 작업, 즉 정확한 시간 유지 및 저전력 작동과 직접 관련된 장치에는 몇 가지 추가적인 문제가 있습니다.

첫째로, PIC32MZ2064DAA288 마이크로 컨트롤러의 RTCC 블록에는 마이크로 컨트롤러의 전력이 차단된 동안에 정확한 시간을 유지하기 위해 32768Hz 수정을 2개의 보조 발진기 핀에 부착해야 합니다. 마이크로 컨트롤러의 주 클록 발진기를 사용하여 RTCC 블록을 작동할 수 있지만, 이 발진기는 마이크로 컨트롤러가 중간 절전 모드에 있는 경우 실행이 중지됩니다.

온칩 RTCC는 보정 레지스터를 통합하고 마이크로칩은 수정 발진기 주파수에 시간 유지 오류를 월별 0.66초까지 줄임으로써 무려 260ppm까지 줄일 수 있는 보정 절차를 제공합니다. 하지만 고정 보정은 온도 변화를 고려하지 않으므로 발진기 주파수에 영향을 줄 수 있고 이로 인해 시간 유지 정확성에도 영향을 줄 수 있습니다.

둘째로, 마이크로 컨트롤러는 RTCC 블록을 제외하고 배터리 공급으로 전환될 경우 전력이 완전히 차단되지 않습니다. 마이크로 컨트롤러의 다른 블록은 소프트웨어에 의해 제어되므로 배터리 작동 중에 활성화되거나 활성화되지 않을 수 있습니다. 여기서 발생하는 문제는 배터리 드레인과 수명이 소프트웨어에 따라 달라진다는 점입니다.

이는 PIC32MZ2064DAA288 마이크로 컨트롤러에만 해당되는 문제가 아닙니다. RTCC 블록을 통합한 모든 마이크로 컨트롤러에서 발생합니다. 별도의 RTCC 칩을 사용하면 시간 유지 기능을 마이크로 컨트롤러에서 분리하여 문제를 극복할 수 있으며, 이는 마이크로 컨트롤러에 내부 RTCC가 없는 경우 유일한 설계 방법이기도 합니다.

RTCC 칩 및 모듈

설계 엔지니어는 수십 년간 별도의 RTCC 칩을 사용하여 여러 내장형 및 컴퓨팅 응용 분야의 시간을 유지했습니다. 이제 여러 IC 판매업체가 그러한 칩을 제공하지만 장치를 쉽게 직접 납땜하거나 소켓을 장착할 수 없기 때문에 표면 실장 기술(SMT)로 인해 RTCC 칩의 평가가 복잡해졌습니다.

적합한 솔루션은 작은 표면 실장된 IC와 연관된 시제품 제작 문제가 없는 이러한 RTCC 칩을 기반으로 한 저렴한 모듈을 사용하는 것입니다. 이러한 모듈도 배터리, 일반적으로 동전형 전지를 통합하여 주 시스템의 전력이 차단된 동안에도 전력을 유지합니다.

이러한 모듈의 좋은 예가 Adafruit255 Chronodot입니다(그림 1). 이 모듈은 대개 RTCC 칩 평가, 브레드 기판 및 시제품 제작, 대량 생산에 편리합니다.

Adafruit의 255 Chronodot 이미지

그림 1: Adafruit의 255 Chronodot은 RTCC 칩과 배터리를 스루홀 모듈에 통합합니다. (이미지 출처: Adafruit)

표 1에는 두 IC 판매업체의 다른 3가지 RTCC 칩을 기반으로 한 6가지 RTCC 모듈이 나와 있습니다.

RTCC 모듈 RTCC 칩 인터페이스 배터리 최소 배터리 수명(통상)
DFRobot DFR0151 Maxim DS1307 I²C CR1225 9(17)년
SparkFun BOB-12708 Maxim DS1307 I²C CR1225 9(17)년
Adafruit 3103 Maxim DS3231 I²C CR1220 NA
Adafruit 255 Chronodot Maxim DS3231 I²C CR1632 8년
Maxim DS3231MPMB1# Maxim DS3231 I²C CR1025 NA
STM STEVAL-FET001V1 STMicro M41T62 I²C 외장형 NA

표 1: 6가지 RTCC 모듈은 폭넓은 가용성 및 다양한 RTCC 모듈을 보여줍니다. (데이터 출처: Digi-Key Electronics)

표 1에 나열된 6가지 모듈과 같은 RTCC 모듈을 사용하면 시제품 시스템에 시간 유지를 쉽게 추가할 수 있습니다. 이러한 모듈을 설계한 방법을 자세히 살펴보면 기존의 RTCC 칩을 통합한 보드를 개발할 때 유용한 정보를 얻을 수 있습니다.

표 1을 보면 이러한 RTCC 모듈 전체가 공통적으로 한 가지, 즉 I2C 인터페이스를 공유한다는 것을 알 수 있습니다. 1970년대 초반의 RTCC 칩은 병렬 주소와 데이터 버스를 사용하여 작은 SRAM을 에뮬레이트했습니다. 이때는 병렬 마이크로프로세서 버스가 널리 사용되었고 온 보드 직렬 프로토콜이 아직 널리 사용되지 않았습니다.

현재는 칩 간 직렬 프로토콜, 특히 I2C는 비교적 작은 대역폭이 필요한 주변 장치용으로 선택하는 인터페이스입니다. RTCC 칩은 날짜 및 시간 정보를 전송하는 데 바이트가 거의 필요하지 않으므로 가장 적합합니다.

표 1에 표시된 처음 2개의 RTCC 모듈인 DFRobotDFR0151SparkFunBOB-12708은 모두 8핀 장치인 Maxim IntegratedDS1307 RTCC 칩을 기반으로 합니다. 큰 인기를 얻게 되면서 이 칩을 기반으로 한 모듈에 사용할 수 있는 Arduino 라이브러리와 Raspberry Pi Raspbian 드라이버 오버레이가 사용되고 있습니다.

DS1307 RTCC는 시스템 전원 공급 장치에 장애가 발생하는 경우 내장형 시스템의 전원 공급 장치 레일과 백업 배터리 간에 자동으로 전환하기 위해 제공되는 전원 공급 장치 레일용 및 배터리용의 별도 핀이 있습니다(그림 2).

Maxim Integrated의 DS1307 RTCC 칩 구성도

그림 2: Maxim Integrated의 DS1307 RTCC 칩은 VCC 핀 전압이 약 4.5V 이하로 떨어지는 경우 자동으로 VCC에서 VBAT로 전환합니다. (이미지 출처: Maxim Integrated)

그림 2는 또한 DS1307 RTCC 칩과 수정 간의 연결을 보여줍니다. RTCC 칩의 경우 이 수정은 IQD Frequency ProductsWATCH-2X6처럼 거의 항상 저렴한 32768Hz 시계 수정입니다. 이 수정은 RTCC 칩으로 설계할 때 고려한 두 가지 새로운 요소를 소개합니다.

첫 번째 요소는 온도에 대한 수정 안정성입니다. 대부분의 RTCC는 처음에 손목시계용으로 설계된 "소리굽쇠" 수정을 사용합니다. 이 수정은 온도에 대한 해당 정격 주파수에서 파생됩니다(그림 3).

32768Hz 수정의 공진 주파수 그래프

그림 3: 32768Hz 수정의 공진 주파수는 온도에 따라 달라지며 이로 인해 RTCC의 시간 유지 정확도에 영향을 줍니다. (이미지 출처: IQD Frequency Products)

IQD WATCH-2X6 수정의 공진 주파수는 온도에 따라 변하며 이로 인해 발진기의 주파수가 변경되므로 시간 유지 오류가 발생하게 됩니다. 발진기 주파수의 20ppm 변이는 월별로 약 1분의 시간 유지 오류로 해석됩니다.

두 번째 요소는 그림 2에서 수정과 RTCC 칩 간 연결에 대한 지나친 단순화로 숨겨져 있습니다. RTCC 칩의 수정 입력 핀은 일반적으로 임피던스가 높아 시계 수정의 리드와 pc 보드 트레이스가 안테나처럼 작동합니다. 이 “안테나”는 나머지 시스템의 고주파 신호와 잡음을 RTCC의 내부 수정 발진기에 결합할 수 있습니다.

시계 수정과 RTCC 칩 간의 트레이스를 통해 결합된 잡음 때문에 RTCC 칩의 발진기 회로에 추가 전이가 발생할 수 있고 이로 인해 시계가 빨라질 수 있습니다. 솔루션은 신중하게 pc 보드를 레이아웃하는 것입니다. 즉, RTCC 칩의 발진기 핀에 가능한 한 근접하게 수정을 배치하고 접지면을 시계 수정의 몸체 전체와 수정 입력 핀 아래에 배치합니다(그림 4).

RTCC 패키지 아래의 빗금으로 표시된 배치 금지 영역을 보여주는 구성도

그림 4: 접지면에 대한 신중한 pc 보드 레이아웃을 통해 원치 않는 잡음이 RTCC 칩의 시간 유지 정확도에 영향을 주지 않도록 합니다. (이미지 출처: Maxim Integrated)

또한 그림 4는 밀집한 트레이스가 RTCC 칩의 수정 입력 핀에 잡음을 연결하지 않도록 하기 위해 RTCC 패키지 아래의 빗금으로 표시된 배치 금지 영역을 보여줍니다. 가능하면 pc 보드의 부품 층에 수정과 RTCC 칩의 수정 입력 핀을 둘러싼 보호 링을 추가하여 잡음이 시간 유지 정확성에 영향을 주지 않도록 합니다.

pc 보드에서 시계 수정을 떼어 내에 칩에 끼우기

외부 수정의 pc 보드 레이아웃과 관련된 몇 가지 문제를 피하려면 수정이 내장된 STMicroelectronicsM41T62 RTCC를 사용합니다. 이 RTCC 칩은 STMicroelectronics의 STEVAL-FET001V1 평가 기판에서 사용할 수 있으며 이 평가 기판의 실장 면적은 24핀 DIP입니다. 이 보드의 회로도는 그림 5에 나와 있습니다. M41T62에 사용할 수 있는 Arduino 라이브러리와 Raspberry Pi Raspbian 드라이버 오버레이가 있습니다.

STMicroelectronics의 M41T62 RTCC 칩 구성도

그림 5: STMicroelectronics의 M41T62 RTCC 칩(가운데)은 24핀 DIP 패키지의 STEVAL-FET001V1 평가 기판에서 사용할 수 있습니다. (이미지 출처: STMicroelectronics)

회로도에 나와 있듯이 M41T62에는 VCC 핀이 1개만 있습니다. 크기가 1.5mm x 3.2mm에 불과한 이 장치는 웨어러블 장치 및 디지털 카메라에 사용되도록 설계되었기 때문에 주 전력 레일에 문제가 발생하는 경우 전환할 별도의 VBAT 핀이 없습니다. 이러한 내장형 응용 제품에서 일반적으로 배터리가 유일한 전원이며 공간을 확보하기 쉽지 않습니다.

또한 슈퍼 커패시터를 M41T62의 전원으로 사용할 수 있습니다. 내장형 시스템에서 차단 다이오드, D1을 통해 시스템 공급 장치 또는 충전기를 M41T62의 VCC 핀에 연결할 수 있습니다(그림 6).

나머지 시스템의 전력이 차단된 경우 시스템 전원 공급 장치를 통해 슈퍼 커패시터가 방전되지 않게 하려면 이 다이오드가 위의 그림 5에 표시된 1N4148WS처럼 저누설 유형이어야 합니다.

M41T62 RTCC 칩에 전력을 공급하는 충전용 슈퍼 커패시터 구성도

그림 6: 충전용 슈퍼 커패시터를 사용하여 M41T62 RTCC 칩에 전력을 공급할 수 있습니다. (이미지 출처: STMicroelectronics)

온도 보정으로 수정 제어

표 1에 나열된 RTCC 모듈 중 3개(Adafruit 3013, Adafruit 255 Chronodot, Maxim DS3231MPMB1#)는 Maxim의 DS3231 RTCC 칩을 기반으로 합니다(그림 7). 이 장치에는 통합된 수정과 함께 온도 센서가 포함되어 있어 “Extremely Accurate I²C-Integrated RTC/TCXO/Crystal”이라는 긴 이름을 가지게 되었습니다.

Maxim의 DS3231 RTCC 칩 구성도

그림 7: DS3231 RTCC 칩은 32768Hz 시계 수정, 온도 센서 및 전환식 커패시터 어레이를 통합하여 장치의 시간 유지를 매년 ±2분 이내로 정확하게 유지합니다. (이미지 출처: Maxim Integrated)

제품 구성도에 표시된 대로 DS3231의 온도 보정형 수정 발진기(TCXO)는 내부 수정, 온도 센서 및 전환식 커패시터 어레이로 구성되어 있습니다. DS1307 RTCC와 마찬가지로 DS3231에도 주 전력(VCC) 및 백업 배터리(VBAT)용 핀이 별도로 있습니다.

STMicroelectronics M41T62 RTCC 칩과 마찬가지로 DS3231 RTCC 칩은 외부 수정의 레이아웃 문제가 없습니다. TCXO는 온도 변화로 인한 시간 유지의 정확성 차이가 줄었습니다. DS3231의 내부 TCXO는 장치의 시간 유지 정확성을 -40°C ~ +85°C의 광범위한 작동 온도 범위에 대해 매년 ±2분 이내로 유지합니다.

큰 인기를 얻게 되면서 DS3231 RTCC 칩을 기반으로 한 모듈에 사용할 수 있는 여러 Arduino 라이브러리와 Raspberry Pi Raspbian 드라이버 오버레이가 사용되고 있습니다.

배터리 지속 시간

배터리는 영구적으로 지속되지 않는 유지 관리 항목입니다. RTCC를 내장형 설계에 추가할 때 백업 배터리의 크기를 적절하게 조정하기 위해 RTCC 칩에 필요한 배터리 전류를 기록해 두는 것이 중요합니다.

RTCC 응용 제품의 배터리 수명은 시간을 유지하는 동안 RTCC 칩의 전류 드레인, RTCC 칩에 필요한 최소 작동 전압, 출력 전압이 해당 최소 작동 전압 이하로 떨어지기 전에 배터리가 필요한 전압을 공급할 수 있는 시간에 따라 결정됩니다(표 2).

RTCC 칩 배터리 전류(nA) 통상(최대)
Maxim DS1307 300(500)
Maxim DS3231 840(3000)
STMicro M41T62 5000(7000)

표 2: RTCC 칩의 배터리 정격 전류 공급을 통해 적절한 백업 배터리의 크기를 조정할 수 있습니다. (데이터 출처: Digi-Key Electronics)

표 1의 앞부분에 표시된 RTCC 모듈의 경우 백업 배터리가 이미 선택되어 있습니다. 일부 모듈 판매업체는 표 1에도 표시된 모듈 데이터 시트의 배터리 수명을 포함합니다. 동전형 리튬 전지는 현재 이러한 모듈의 배터리 유형입니다. 테이블 지름은 10mm, 12mm, 16mm로 다양합니다. 배터리 용량이 클수록 추가되는 공간 및 무게가 커지는 것이 맞지만, 확실한 장점은 전류 소모에 대한 배터리 수명이 길어진다는 것입니다.

결론

RTTC 장치를 선택할 때, 정확한 작동을 위해 컴패니언 수정 및 배터리를 선택할 때, pc 보드를 배치할 때 주의해야 합니다. 대안으로 사용할 수 있는 RTCC 칩을 기반으로 한 모듈로 브레드 기판 및 시제품 제작에 쉬운 방법을 제공하여 개발 시간을 크게 줄일 수 있습니다.

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 Digi-Key Electronics의 의견, 생각 및 견해 또는 Digi-Key Electronics의 공식 정책과 관련이 없습니다.

작성자 정보

Steve Leibson

Steve Leibson은 HP와 Cadnetix에서 시스템 엔지니어로 근무한 후, EDN 및 Microprocessor Report에서 편집장을 역임했습니다. 또한 "The Next Wave with Leonard Nimoy”에 기술 전문가로서 2회 출연한 바 있습니다. 그는 33년 동안 설계 엔지니어가 보다 빠르고 효율적이며 신뢰성이 뛰어난 시스템을 개발할 수 있도록 지원해 왔습니다.

게시자 정보

Digi-Key 북미 편집자