하드웨어
32비트 MCU 를 사용하여 여러 IO를 제어하다보면 이런 문제 저런문제가 많이 발생한다.
특히나 요즘 전원 문제로 brown detect 리셋 IC 사용토록 하드웨어를 수정하고 있다.
사례1)
EM-S5PV210 모듈을 사용한 IO보드에서 다른 하드웨어와 IO가 접속되어 있으면 부팅을 하지 않는 현상이 발생하였다.
이유는 외부 하드웨어와 접속된 IO 를 통해 전류가 유입되어 이를 통해 MCU 코아만 살아났기 때문이다,.
이때의 실수는 리셋칩을 단순한 시간에 의한 리셋를 사용하여 1~2V 사이의 전원만으로 리셋이 동작하였고
정작 정상 전원이 들어왔을 때에는 리셋이 동작하지 않아 문제가 되었다.
brown detect 리셋 IC BD4846G (4.6V 리셋동작) 를 사용하여 해결하였다.
사례2)
EM- IXP435 모듈을 사용하여 VME 버스 제어용 보드를 설계하여 사용하고 있는데 랙에 장착된 파워를 끌때
전원이 서서희 꺼져 IO 제어에 문제가 발생하였다...
리셋 버튼을 사용하면 정상인데 전원을 껐다 켜면 에러증상이 발생하였다.
역시나 brown detect 리셋 IC BD4846G (4.6V 리셋동작) 를 사용하여 해결하였다.
요즘의 32비트 MCU들은 저전압 코아인데다 ARM-Coretex 의 경우 전류소모도 적어 작은 파워로도 스멀스멀 동작을 한다.
개인적으로 멀티채널 PMIC 를 좋아하지 않아 저가의 단일 전원 PMIC 칩들을 사용하는데 이런 경우
brown detect 리셋 IC 를 사용하여 에러를 미연에 방지해야 겠다.