Cute Logger에서 사용된 Push SW를 이용한 전원 On-Off 방법에 대해 문의하시는 분들이 있어서 이참에 한번 정리를 하고 넘어갈까 합니다.

1. 하나의 SW로 전원 On / Off / Key input 을 동시에 처리하는 방법.

                               
 Cute Logger에서 사용된 방법입니다.

 전원이 꺼져 있을때 SW3를 누르면 다음과 같은 순서로 전원을 켭니다.

 SW3가 눌러져 Q6가 On 되고 regulator 3번 Pin이 "High" 가 된다.  --> U7 regulator가 turn on 된다.  --> CPU 전원이 인가 되면서 CPU가 turn on 된다 --> CPU는 전원이 켜지자 마자 "On/Off Key detect" port를 읽어 sw가 눌려 있는지 검사한다. -> 만일 sw가 눌려 있다면 약 0.5초 정도 더 기다려 보고 그래도 계속 sw가 눌려 있다면 "phold" pin을 "H"로 만들어 sw에서 손을 떼도 계속 전원이 들어 올 수 있도록 한다.


 전원이 켜져 있을때 SW를 길게 누르면 다음과 같은 순서로 전원을 끄게 됩니다.
 SW3가 누른다. --> interrupt가 발생하게 되고 CPU는 "On/Off Key detect" 단자를 읽는다 --> 읽은값이 "Low" 이면 SW 입력이 단순히 SW를 잠깐 누른건지 아니면 전원을 끄기 위해 길게 누르는 것인지를 판별하기 위해 3초간 계속해서 "Low"를 유지하는지 시간을 측정한다.  --> 3초 이상 SW를 계속해서 누른 것이라면 "phold" pin을 "Low"로 만들고 LCD back light를 끈다.  --> 이 상태에서 SW에서 손을 떼는 즉시 Q6가 turn off 되면서 regulator를 끄게 되고 결과적으로 CPU의 전원이 꺼진다.


2. LDO에 Enable/Disable 입력이 없는 경우에도 아래와 같이 똑같은 방식으로 회로를 구성 할 수 있습니다..

   ***다만 Battery와 Regulator 사이에 들어가는 PNP 트랜지스터의 전류 용량을 충분히 큰 것으로 선정해야 CPU에서 필요로 하는 전류를 공급할 수 있습니다.


3. SW 두개를 사용하여 On / Off를 각 각 수행 할 경우.

   SW 2개를 사용 할 수 있다면 CPU port 한개를 절약 할 수 있으며 On / Off를 빨리 수행 할 수도 있습니다.

   On Key를 눌러 CPU에 전원이 인가되고 CPU Boot up시에 무조건 "Phold"를 "H"로 만들어 주면 계속 전원이 유지 됩니다.
   이 상태에서 OFF key를 누르면 KRC102S, KRA102S가 모두 전원이 꺼지게 되고 결과적으로 CPU는 더이상  "Phold"를 "High"로 유지 할 수 없게 되어 전원이 꺼지게 됩니다.

   CPU port도 절약하고 전원을 빨리 On/ Off 할 수 있다는 장점은 있지만 CPU로서는 언제 전원이 꺼질지 모르기 때문에 전원을 끄기 전에 반드시 처리해야 할 procedure가 있는 경우라면(EEPROM save등...) 이 방법을 사용 할 수 없습니다.

  ** 물론 Off key를 Q7의 Base에 연결하지 않고 별도의 CPU 입력 port에 연결하는 방법으로 CPU에게 전원을 끄도록 신호를 줄 수도 있습니다.