글|마크 E. 부치니(Mark E. Buccini), 제품 마케팅 전략, 모터 드라이브 사업부, 텍사스 인스트루먼트
하드웨어와 펌웨어가 잘 균형 잡힌 센서 시스템으로 배터리 수명을 연장할 수 있다. DRV5000 제품군의 홀 이펙트 센서의 특징과 MSP430™ MCU의 초저전력 성능을 합하면, 도어/창문 보안과 전자계량기 같이 물리적 존재를 감지하는 스마트시스템은 단 한 개의 저가 CR2032 코인 셀의 전력만으로도 20년 이상 계속 작동할 수 있다.
상시 작동 센서 시스템과 비교했을때, 인텔리전트 홀 이펙트 센서 시스템은 전류 소비를 보통의 밀리 암페어(mA)에서 마이크로 암페어(μA)로 약 1,000배 이상 감소시켜 설계할 수 있다. 이것은 DRV5000 홀 센서의 빠른 시동 시간과 넓은 작동 범위, 그리고 MSP430 MCU의 초저전력 성능을 조합해 이루어진다. 이렇게 전력 소비가 극도로 낮은 감지 시스템은 물리적 존재를 감지하는 애플리케이션, 예컨대 도어/창문 보안시스템과 전자계량기를 한 개의 저가 CR2032 코인 셀에서도 20년 이상 연속 작동할 수 있게 해준다.
본 백서에서 설명하고 있는 초저전력(ULP, ultra-low power) 감지를 가능하게 해주는 기법들은 다음과 같다.
· 초저전력 대기 모드에서 시스템을 정상모드처럼 작동
· 센서의 듀티 사이클
· 전력 인식 펌웨어 사용
〈그림 1〉의 예에 외부 캘리브레이션이 필요 없는 초저가 시스템이 나와 있다. 이 마이크로암페어 이하의 인텔리전트 홀 센싱시스템이 자석의 존재를 감지하고 CR2032 배터리에서 직접 전력을 공급받는다.
DRV5000 홀 센서
DRV5000 제품군의 홀 센서들은 사용하기 편리한 3 핀 디바이스로 전력, 접지, 출력에 관한 핀들을 가지고 있다. 〈그림 1〉의 DRV5023은 디지털 출력을 가지고 있고, 9 mT 이상의 자기장을 감지한다. 자석에 따라 달라지겠지만, DRV5023은 보통의 저가 세라믹 마그넷 1 cm 이내에서도 믿을 만한 감지 능력을 발휘할 수 있다. 필요하면 감도가 서로 다른 파생 디바이스들도 이용 가능하다. 이 센서의 디지털 출력은 자기장이 없을 때 열리고 S 자기장이 충분할 때 낮게 잡아 당겨진다. 사례의 회로의 경우 자석이 센서에 근접하면 ‘안전 모드’이고, 자석이 없으면 ‘경계 모드’다. S 자기장 마그네트가 없는지 감시하는 것이다.
DRV5023은 38V부터 2.5V(참고문헌 1)까지 이례적으로 작동 범위가 넓기 때문에, 이 디바이스는 3V CR2032 코인 셀에서도 구동 가능하다. CR2032의 방전 곡선은 배터리가 거의 다 고갈될 때까지 본질적으로 3V를 고르게 유지하기 때문에 2.5V 컷오프로 용량의 대부분을 활용 가능하다. 이 차단 전압에서 사용 가능한 배터리 용량은 전체 240 mAh 용량 중 200 mAh이다. 따라서 배터리 용량의 83%를 3V부터 2.5V의 전압 범위에서 사용할 수 있다.
이 홀 센서는 사례에서 사용된 것과 같이 빠른 파워온 타임(최대 50 μs)을 가지고 있다. 이 때문에 전체 디바이스가 광범위하게 파워 게이트 오프를 함으로써 에너지를 절약하고 배터리 수명을 늘릴 수 있다.
또 다 른 홀 디바이스로 옴니폴라 DRV5033가 있다. 이것은 로지컬 OR의 N 자기장과 S 자기장을 감지한다. 옴니폴라 디바이스를 사용할 경우, 동일한 출력 반응을 위해 N극이나 S극을 센서와 직각으로 하여 방향을 정할 수 있다. 이러한 속성 때문에 최종 제품 어셈블리가 단순해진다.
정상 모드가 초저전력 대기 모드
이 시스템은 MSP430G2131 MCU에 의해 제어되는데, 이 MCU는 MSP430 제품군에서 가장 저렴하다. 모든 MSP430 디바이스들처럼 이 MCU도 초저전력이며 특히 대기 모드에서 더욱 그렇다. 이 대기 모드를 저전력 모드 3(이하 LPM 3)라 한다. LPM3에서는 내부 12 kHz 초저전력 오실레이터(VLO)가 동작하고 타이머가 작동하며 메모리 상태와 주변장치 상태가 둘 다 유지되면서 BOR(brown-out reset) 보호가 작동하는데, 디바이스 전체가 3V에서 불과 0.5 μA만을 소비한다(참고문헌 2).
12 kHz VLO을 MCU 클록 트리에서 8로 나누면 더 낮은 주파수 대기 클록 1.5 Khz도 가능하다. 클록킹 시스템의 이러한 작은 변화는 대기 전류를 0.5 μA에서 0.3 μA까지 낮추는 것으로 벤치에서 입증된 바 있다. 이것이 본 백서에서 설명하고 있는 디바이스와 전체 센서 시스템의 정상 모드다.
프로그래밍 된 간격으로 VLO 클록 타이머는 CPU를 중단시키고 디바이스를 1 μs 미만에서 풀 액티브 모드로 깨운다. 풀 액티브 모드에서는 별도의 1 MHz 디지털제어 오실레이터(DCO)가 CPU를 클록킹하고 VLO는 웨이크-업 타이머를 클록킹하는 데에만 쓰인다. 웨이크-업 시에 CPU는 작동을 시작하며, 자석이 감지되는 동안 센서를 측정한 후 이를 즉시 LPM 3로 돌려보낸다. 자기장이 없을 때에는 경보를 발한다.
센서의 듀티 사이클
이 홀 센서의 대역폭은 20 kHz이다. 이것은 물리적 감지에 필요한 것보다 몇 자릿수 더 크다. 언급한 사례의 경우, 정상적인 센서 동작은 완전히 파워게이트 오프 됐다가 정기적으로 작동을 시작해 측정을 한 다음, 바로 다시 파워 게이트 오프 되는 것이다. 그 목적은 최저한도의 액티브 듀티 사이클을 통해 평균 전력 소비를 낮추는데 있다.
이 센서는 액티브일 때 불과 2.8 mA만 소비하기 때문에, 출력으로 구성된 MCU 다목적 입출력(GPIO)을 센서의 스위칭 가능한 전원 공급 장치로 사용할 수 있다. 사례에서는 P1.1이 사용됐다.
MCU 데이터시트를 보면, 3 V에서 2.8 mA를 공급하는 GPIO는 100 mV 미만으로 떨어지게 되는데 이것은 이 애플리케이션에서 그리 대수롭지 않다.
풀-업 레지스터를 선택할 수 있는 MCU의 GPIO 핀들 중 입력으로 구성된 어느하나에 센서의 오픈-드레인 출력을 연결할 수 있다. 이 사례에서는 MCU 핀 P1.2가 사용됐다.
사례에서 충분한 자기장이 감지되면, 즉 안전 모드이면 센서가 출력을 낮게 끌어낸다. 센서가 작동을 시작하면, 그 센서 출력을 안정시키는데 50 μs만 있으면 된다. 작동 시작 후에는 MCU가 센서의 출력을 읽고 적절히 결정을 내린다.
전력 분석
보통의 액티브 시스템들은 수 밀리암페어를 사용하는 전원을 통해 센서와 MCU 둘 다에 전력을 공급한다. 이렇게 전력에 굶주린 시스템에서 센서는 2.8 mA를 소비하고 MSP430은 1 MHz에서 300 μA를 사용한다. 또한 이 센서는 MCU가 펌웨어 무한 루프를 완료할 수 있기 때문에 빠르게 샘플링 된다. 이 모드에서 1 MHz MCU 클록 레이트와 샘플 루프 당 10 클록이라고 가정했을 때, 이 센서는 100 kHz에서 샘플링된다.
센서와 MCU 둘 다 영구적으로 구동된다고 했을 때, 일반적인 시스템의 전류소비는 다음과 같이 계산된다.
I_average(typ) |
본 백서에서 설명하는 ULP 시스템 솔루션은 대기 모드에서 0.3 μA에서 작동하는 것이 일반적이다. 대기 모드에서 이 센서는 완전히 파워 게이트 오프되며, MCU만 전류를 소비하기 때문에 이것을 상수로 취급한다. ULP 솔루션에서 액티브일 때 전체 시스템 전류 소비는 3.1 mA다. 이것은 전형적인 시스템에서 보던 것과 동일하다. 그렇지만 이 경우는 65-μs 버스트 동안으로 짧다.
액티브 버스트마다 센서 파워업(50 μs)과 MCU 펌웨어 결정 시퀀스(15 μs)가 포함돼 있다. 이 65 μs 액티브-타임 시퀀스는 3 Hz 레이트(매 0.333초 마다)에서 반복되는데, 이것은 대부분의 존재-감지 시스템에 적절하다. 매 초마다 총 195 μs(65 μs × 3) 액티브에 불과한 시스템의 경우, 액티브 듀티 사이클은 0.0195%에 불과하다.
전체 시스템의 평균 전류 소비는 3 Hz 샘플 레이트를 가정했을 때, 다음과 같은 방정식으로 계산할 수 있다.
I_average(3 Hz) |
3 Hz가 아닌 다른 샘플링 레이트가 필요한 경우 가장 중요한 영향은 전력 소비다. 낮은 샘플링은 전력을 감소시키고 높은 샘플링은 전력을 증가시킨다.
대기 전류는 상수다. 예를 들어 50 Hz(0.02초 기간)의 더 빠른 샘플링 레이트가 필요한 경우 평균 전류는 다음과 같이 계산된다.
I_average (50Hz) |
앞서 언급했듯이 3V부터 2.5V까지 사용 가능한 CR2032 용량은 200 mAh이다. 이 배터리 용량을 총 평균 ULP 전류 소비 0.9 μA로 나누면, 시스템의 이론상 서비스 시간은 아래와 같이 계산된다.
Battery_life(3 Hz) |
전력 인식 펌웨어
이 펌웨어는 매우 간단하고 단순하다.
초기화 루틴은 제일 먼저 MCU 메인 시스템 클록을 1 MHz로, VLO는 1.5 kHz로 구성한 후, GPIO를 구성해 3 Hz 와치독 타이머(WDT) 인터럽트를 작동시킨다.
이 펌웨어의 본문에서는 무한 while(1) 루프가 MCU를 즉시 LPM 3 대기모드에 두고 있다. 3Hz 레이트에서 CPU는 WDT 인터럽트 서비스 루틴(ISR)에 의해 인터럽트 되어 LPM3 퇴장을 강제한다. 그런 다음 홀 센서는 GPIO P1.1을 이용해 작동을 시작하고, 50 μs 딜레이가 호출되며, 한 개의 if-else 문장이 GPIO P1.2의 홀 센서 출력을 테스트하는데 쓰인다. 센서의 출력이 높으면, 자기장의 존재가 충분치 않으므로 경보동작을 취한다. 경보 동작은 이 사례에서 P1.0의 LED 불을 밝히는 것이다. 센서 출력이 낮으면, 자기장이 존재하는 것으로 아무런 동작도 취하지 않는다.
펌웨어의 본문은 〈그림 4〉와 같다.
결론
마이크로 암페어(μA) 이하의 인텔리전트 홀 감시 시스템의 펌웨어 전체는 MSP430G2131의 2 Kb 중 200 바이트 미만의 플래시 코드 공간을 사용한다. 나머지 코드 공간을 이용해 상당한 양의 커스터마이징을 할 있으며, 시스템 스택과는 별개로 RAM은 사용되지 않는다. 사례에서의 LED 경보는 부저나 저전력 무선으로 대체할 수 있다. 가용 MCU GPIO 핀에 따라 여러 개의 홀 센서들을 같은 MCU에 연결할 수 있다.
배터리 낮음 기능을 바랄 수도 있는데 단순한 하이밸류 레지스터 디바이더로 이 기능을 쉽게 추가할 수 있다. 이 디바이더는 MCU GPIO 핀에 의해 정기적으로 전원을 공급받는데, 이것은 배터리 전압과 동일하다. 이렇게 나눠진 배터리 전압을 MCU 통합 콤퍼레이터와 내부 0.55V 레퍼런스를 이용해 대략 측정함으로써 배터리 전압의 값을 도출할 수 있다. 예를 들어, 레지스터 값이 10k와 2.7k 옴이고 2.6V 배터리 레벨이 적용된 디바이더는 0.55V 내부 레퍼런스와 같아질 것이다. 이것은 배터리 낮음경고 레벨로 훌륭하다. 이러한 배터리 테스트는 CPU, 디바이더, 콤퍼레이터를 다 합해도 400 μA 미만을 소비한다.
이 구성은 측정을 완료하는데 20 μs 이하만 있으면 되고, 시스템 전류의 전제 소비에 미치는 영향이 대단치 않다.
LPM3 ULP 대기 모드일 동안, MCU WDT는 VLO에 의해 클록킹되는데, 매우 낮은 전력이지만 그 주파수는 그렇게 정확하지 않다. 따라서 정확하지 않은 저주파수 VLO를 캘리브레이션 된 고주파수 DCO로 캘리브레이션 하는 것이 바람직할 수 있다.
VLO의 캘리브레이션 방법은 TI의 애플리케이션 노트‘VLO 라이브러리 사용법’에 나와 있다(참고문헌 4). 이 경우, MCU Timer_A와 싱글 클록 타이밍 입도를 이용해 웨이크-업 간격을 미세 조정함으로써 코스 WDT를 대체할 수 있다. 본 백서에서 설명하고 있는 회로는 테스트를 완료한 것이다. 제시된 전력 소비 수치는 전형적인 것으로 실온에서의 수치다.
실제로 배터리의 누출은 연간 1%에서 2% 수준이다. 연간 2%의 배터리 자기 방전을 고려하더라도 설명한 센서시스템은 여전히 20년의 배터리 수명과 더불어 13 mAh 의 예비 용량을 누릴 수 있다. 흔한 CR2032 배터리에서 20년 이상 연속 서비스를 누릴 수 있는 것이다.
참고문헌 1. DRV5023 텍사스 인스트루먼트 데이터시트 |
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>