sleep mode 및 LoRa class A에 대한 질문

사소한 질문 하나 드리고자합니다.

데이터시트에 따르면 PLM100의 소비전력은 Idle 상태에서 2.8mA, sleep mode에서 2uA로 확인됩니다.

LoRa class A 예제에서 전송주기를 늘리게 되었을때 (하루에 한번) 전송하지 않는 상태는

sleep mode로 전환되는 것인가요 아니면 Idle 상태로 들어가게 되는 것인가요?

만약 Idle 상태라면 AT 커멘드를 제외하고 sleep mode로 전환할 수 있는 방법이 있을까요?

안녕하세요.

데이터시트 상의 idle 상태는 MCU가 아무 것도 하지 않으면서 sleep 하지 않는 상태를 의미합니다.

Nol.A는 MCU가 최대한 전력을 조금만 소모하도록 구현되어 있습니다. 즉, LoRaWAN class A 예제에서 RF를 사용하지 않는 모든 순간에 다 sleep으로 들어갑니다.

하지만 전류 측정 결과 sleep 이 아닌 idle 상태에 진입한 것으로 보인다면, 예제에서 사용하지 않은 peripheral을 사용하고 있는 것은 아닌지 의심해봐야 합니다.

Nol.A가 sleep 상태로 들어가지 못하는 이유는 sleep 진입시 정상적인 동작이 불가능할 때입니다. 가령, SerialPort::listen() 같은 함수를 통해 SerialPort가 UART 수신을 기다리는 중일 때 sleep으로 빠져버리면 UART 수신이 불가능해지기 때문입니다. 만약 수신 못해도 상관없다면 SerialPort::stopListening() 함수를 호출하시면 됩니다. 그러면 알아서 sleep 상태로 진입하게 되어 있습니다.