2016년 7월 27일 수요일

라즈베리 파이용 외부 워치독 타이머 (External Watchdog Timer for Raspberry Pi)

컴퓨터를 끄지 않고 오랫동안 계속 사용하다 보면 예상하지 못하게 먹통이 되는 경우가 발생할 수 있다. 데스크탑이나 노트북의 경우 사용자가 사용을 하고 있으니 문제가 생기면 전원을 껐다가 다시 켜거나 리셋을 시켜줄 수 있는데 라즈베리 파이로 만든 장치를 원격지에 놔 두고 장시간 동작을 시켜야 하는 경우 이런 상황은 매우 치명적이다.

라즈베리 파이에도 내장 워치독 타이머가 있지만 매우 불안정해서 악명이 높다. 그래서 해결책으로 외부에 간단한 워치독 타이머를 붙여주는 방법이 있다.

물론 전원을 모니터링 해 주는 전용 칩도 있지만 여기서는 가장 일반적으로 쉽게 구할 수 있는 555 타이머를 사용한다.


위의 회로에서 Hi Pulse 핀은 라즈베리 파이의 GPIO핀 중에 사용하지 않는 핀들 중에 하나에 연결해 주면 된다. 하지만 문제는 40핀 커넥터에는 칩 리셋핀이 없다.



아래는 라즈베리 파이2의 회로도 일부분이다.

회로도처럼 리셋핀은 별도의 커넥터로 나와 있어 위 회로도에서 P6의 두 핀을 쇼트시키면 라즈베리 파이가 리셋이 된다. 그러므로 위의 회로에서 오른쪽의 RESET 핀을 P6의 1번 핀에 연결시켜 주면 된다.

리셋핀이 나온 커넥터는 PCB에 RUN이라고 써 있어 쉽게 구분할 수 있다. 다만 라즈베리 버젼마다 위치가 다르므로 자신이 가지고 있는 라즈베리 파이 기판을 확인해 보면 된다.

라즈베리 파이 2는 아래 사진과 같이 DISPLAY 커넥터 옆쪽에 있다.


라즈베리 파이 3는 USB 커넥터 옆쪽에 있다. 커넥터에 두 핀 중에 네모난 모양의 패드가 1번 핀이라 여기에 리셋 신호를 연결해주면 된다.

위와 같이 회로를 구성해 주면 소프트웨어는 매우 간단하다. 회로 왼쪽의 Hi Pulse 라고 쓰여진 핀에 몇초에 한번씩 L->H 펄스를 만들어 주면 된다. 만일 약 60초 이내에 펄스가 없으면 555 타이머의 3번 핀이 Low가 된다. 이 핀이 캐패시터를 통해 라즈베리 파이의 리셋 핀에 연결되어 라즈베리 파이를 리셋시키게 된다.

만일 60초의 시간을 줄이고 싶으면 R1(1 Mohm)의 값을 줄여주거나, 또는 C1(100 uF)의 값을 줄여주면 된다.

LED는 H 펄스가 공급될 때 마다 깜빡여서 사용자에게 모든것이 정상이라는걸 눈으로 확인할 수 있게 해 준다.

리셋될 때 까지 걸리는 시간을 60초 이상으로 설정한 이유는 라즈베리 파이가 부팅하는데 약 30초 이상 걸리기 때문이다.


댓글 1개: