최대 절전 모드에서 깨우기


13

대부분의 마이크로 컨트롤러 (예 : AVR, MSP430, PIC 등)는 다양한 수면 모드를 지원합니다. "가장 깊은"슬립 모드는 가장 낮은 전력 소비를 추구하는 모드입니다 (예 : "Power Down", "Shut Down"). 모든 클럭 시스템은 일반적으로 이러한 모드에서 정지되며 " 그들로부터 깨어 난다 "는 외부 자극 (예 : 핀 변경 인터럽트, 칩 리셋)을 통해 이루어진다. 뭔가 빠졌습니까? MCU에주기적인 웨이크 업 신호를 생성하는 놀랍게도 저전력 방법이 있습니까?

내 목표는 전력 소비를 최소화하는 것 (즉, 가능한 한 오랫동안 잠을 자고 가능한 한 짧게 깨어 있음)을 가정하면서 주기적으로 기능을 실행하기 위해 깨어나는 것입니다. 문제를 더 단순화하기 위해 내 함수가 상태가 없다고 가정합니다 (과거를 수행하기 위해 과거의 아무것도 기억할 필요가 없습니다).

이 효과를 얻으려면 MSP430에서 WDT를 사용하여 약간의 성공을 거두었습니다. 방금 메인 루틴을 내 함수로 만들었습니다. 마지막 라인은 특정 기간 후에 워치 독 타이머가 만료되고 LPM4.5 또는 "딥 슬립"모드가 무엇이든간에 종료됩니다. 결과적으로 기능이 수행되고 MCU가 휴면 상태가되고 WDT가 만료되며 칩이 광고 구역으로 재설정됩니다. 이런 유형의 행동을 얻는 데 "더 나은"또는 "더 우아한"또는 "보다 효율적인 전력"방법이 있는지 궁금해하는 것 같습니까?

나는 아직 AVR로이 접근법을 시도하지는 않았지만 WDT는 MSP430보다 AVR에서 "배고프다"고 생각하여 저전력 작업에는 덜 매력적이라고 ​​생각합니다. 아마도 저전력에 대한 "유니버설"접근 방식이없고 주어진 제품군에서 제공하는 도구를 사용해야합니까? 새로운 picoPower 라인에는 이벤트 시스템 및 슬립 워킹과 같은 많은 whiz-bang 기능이 있으며, 경우에 따라 응용 프로그램을 해당 구조에 맞출 수 있다면 CPU를 전혀 깨울 필요가 없습니다 ...

내 방황이 충분 해, 나중에 할 말이 있습니다 :)

편집 기술을 보여주는 구체적인 사례도 멋진 것!


2
당신은 본 적이 focus.ti.com/lit/wp/slay015/slay015.pdf를 ? 절대 수면 전력 수 옆에 흥미로운 점이 있습니다.
XTL

답변:


15

대부분의 마이크로는 일종의 프리스케일러 및 타이머 인터럽트와 함께 저전력 32.768 kHz 시계 수정 발진기를 지원합니다. 타이머가 느리게 카운트하고 원하는 기간에 인터럽트가 발생하도록 프리스케일러를 설정하십시오.

정확한 타이밍이 중요하지 않은 경우 일부 마이크로는 내장 저전력 RC 타이머를 가지고 있습니다.

저전력 마이크로 용 데이터 시트에는 32.768 발진기 (및 그 밖의 다른 것)가 실행중인 전력이 표시됩니다. 거의 0에 가깝습니다. 수학이 허용 가능한지 확인하고 워치 독이 그린 전류와 비교할 수 있습니다.

예를 들어 msp430f2013에서 데이터 시트의 성능을 살펴 보겠습니다.

0.5μA는 거의 0이지만, 실제 OFF 모드의 5 배입니다.

자세한 내용은 데이터 시트 내부를 살펴볼 수 있습니다.
LPM4 (모든 항목이 꺼짐)에서 LPM3 (오실레이터 실행)으로 이동하는 것은 0.5μA와 1μA의 차이입니다.

배터리가 225mAh 용량의 CR2032라고 가정하십시오. 그러면 LPM4의 대기 시간은 약 50 년이고 LPM3의 대기 시간은 약 25 년입니다. ON 전류 (측정 자체)가 소비를 지배하기 때문에 25 년은 많은 응용 분야에서 충분히 길다.

대체 텍스트


구체적인 예를 자유롭게 선택하십시오 ... :)
vicatcu

msp430f2013 및 cr2032 셀에 대해 완료되었습니다.
markrages

우리는 32768의 ACLK로 2 초마다 깨어 난 Cr2032를 사용합니다. 트랜시버는 90 초마다 사용합니다. 10 초마다 온도를 측정합니다. 새로운 CR2032로 4 년 이상 지속될 수 있습니다.
Kortuk

3

일부 부품에는 웨이크 업을위한 저전력 발진기 (몇 uA)가 있으며, 일부 PIC에는 핀에서 매우 느리게 상승하는 전압을 활성화 할 수있는 하드웨어가 있습니다. 필요한 깨우기 기간.


3

RTC가있는 PIC는 RTC를 알람 상태로 설정할 수 있으므로 외부 32.768kHz 크리스털로 주어진 시간에 MCU를 깨울 것입니다. RTC + 슬립 모드에서 ~ 450nA IIRC를 사용하지만 RTC가 꺼진 상태에서는 20nA에 불과합니다.


3

AVR 워치 독 타이머는 생각보다 나쁘지 않습니다. ATTiny13A 데이터 시트에 따르면, 전원 차단 모드 @ 3V에서의 전류 소모는 WDT가 활성화되지 않은 상태에서 2μA이고 4DT가 포함 된 경우입니다. 물론, 2 배 더 높지만 전류 자체는 약 6.2 년 동안 충분히 작아서 배터리가 자체적으로 성능을 저하시키는 데 걸리는 시간과 거의 같습니다 (출처 : 최고의 날짜).

또한 실제로 μC 주변에 연결하면 더 많은 것을 끌어낼 수 있습니다. 실제로, 이러한 저전력 회로 설계의 가장 까다로운 부분은 슬립 기간 동안 회로도의 나머지 부분에서 모든 전류를 차단하는 것입니다.

메모리가 작동하는 경우 웨이크 업 지연은 ~ 12ms에서 8s까지 훌륭하게 구성 할 수 있습니다. 짧은 인터럽트 루틴을 사용하는 경우 실제 주파수는 눈에 띄는 차이를 만들지 않습니다. ADC를 켜고 1K 포트를 샘플링하고 결과에서 일부 물건을 계산하고 전반적인 소비에서 눈에 띄게 변화하지 않고 다시 잠자기 상태로 전환했습니다. 멀티 미터의 부진을 보완하기 위해 큰 커패시터로 부드럽게했습니다).

WDT는 정확한 시간 관리 도구가 아니므로 외부 RTC를 연결해야 할 수도 있습니다. 그것들은 단순한 나노 암페어를 소비 할 수 있으므로 좋은 페어링이어야합니다. 실제로, 문제의 RTC가 규칙적인 펄스를 생성 할 수 있다면, 핀을 사용하는 대신 WDT 대신에이를 웨이크 업 소스로 사용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.