MCU 저전력(전력 소비) 회로 설계 방안과 기법 (전자회로 저전압 공급) MCU - 에너지 최저 소모를 위한 설계방안 (전력 소비, 저전력 방안)사물 인터넷을 목표로 하는 대부분의 MCU는 동일한 CPU 기술, Arm Cortex-M 프로세서를 기반으로 한다. 이 프로세서는 더욱 단순한 애플리케이션용으로 비용 및 전력 효율성에 대해 최적화된 Cortex-M0+부터 부동 소수점과 DSP 동작이 필요한 복잡한 고성능 애플리케이션에 최적화된 Cortex-M4까지 다양하다. ARM CPU는 코드 크기, 성능, 효율성 측면(저전력, 저전압)에서 기준을 제공하지만, 활성 또는 완전 휴면 모드에서 MCU의 실제 전력 소비의 경우, 대부분의 극소 전력 소비 능력은 전적으로 MCU 판매업체에 달려 있다. 활성 전력 소..
[임베디드 개발자] 소비전력을 낮추기 위한 프로그래밍 (코딩) 소프트웨어의 구조도 소비전력에 영향을 준다소프트웨어를 통해 효과적으로 저 소비전력 모드를 활용하는 것이 중요하나, 그 외에도 주의가 필요하다. 액티브 모드에서는 그 기간을 짧게 하든지, 또는 동작 주파수를 떨어뜨리고 싶으므로 알고리즘 고안을 통해 필요한 CPU 처리에 대한 실행 사이클 수를 조금이라도 줄일 수 없을지 잘 생각하면 좋다. 어떠한 이벤트를 기다려야 하는 경우라면 폴링(polling)에 의한 웨이트는 금물이다. 프로그램이 루프하는 것만으로 플래시 메모리와 CPU 논리가 전력을 소비하기 때문이다. 기다리는 것뿐이라면 슬립 등 저 소비 전력 상태로 하여 인터럽트로 복귀하도록 하자. 코드 사이즈가 가능한 한 작아지도록 알고리즘 고안과 컴..
WinCE 저전력 모드 프로그래밍 주의 사항 (윈도우 CE 스케줄링) WinCE 금지 사항 아래 코드는 좋지 않은 습관이다. CPU 파워와 배터리 소모를 유발하여 저전력을 위배한다. 여기서 윈도우 CE 전원 관리를 잠깐 살펴보자. 윈도우 CE는 운용시간의 90% 이상 모든 스레드가 블록 된 상태다. 이때는 WinCE OEM 추상 레이어(OAL, OEM Abstraction Layer로서 MS-DOS에서의 BIOS와 같다)를 호출해 저전력 대기 상태로 진입한다. 스레드 기반 환경에서 다음과 같은 코드를 사용하면 절대 안 된다. 1234while (bFlag == FALSE) { // 플래그에 새 값을 읽음}// 수행 계속cs 일반적으로 저전력 상태는 명령어 실행을 중단하는 CPU 정지(halt)를 뜻한다...
MCU 설계, 임베디드 시스템 저전력/저소모 에너지 기법 울트라급 저소모 에너지 기법 울트라급의 적은 에너지를 소모하는 MCU 기반 애플리케이션을 개발(MCU 설계)하기 위해서는 다음 사항에 더욱 주목해야 한다. - 코어 활성 상태에서 가능한 한 효율적이며 신속한 동작 유지 - 애플리케이션 기능을 유지하면서 가능한 한 오래 그리고 자주 완전 휴면 모드 유지 이와 같은 요구 사항은 에너지 소비 관점에서 '거의 항상 차단 상태'를 의미하지만, 기능성 관점에서는 여전히 '상시 접속'을 의미한다. 이와 같은 방식을 구현하기 위해, 이와 같은 경우를 지원하는 기능을 제공하는 MCU를 선택하는 것이 중요하다. MCU 판매업체는 활성 전력과 효율성을 향상하기 위해 다양한 기술을 구현할 수 있다. 예를 들면, 로컬 명..