MCU로 GPIO를 이용해서 무언가를 구동할 때, 제어하는 방법이 두가지 방법이 있다.

Sink current 방식과 Source current 방식이 있다.

LED를 제어하는 것을 예로 설명을 해보겠다. 아래 사진을 보면 Sink current 방식과 Source current 방식이 어떤 방식인지 회로로 표현되어 있다.

  • Sink current 방식

이 방식은 MCU가 전류를 받아 들이는 형태이며, MCU의 GPIO가 LOW가 되면 5V에서 MCU의 GPIO로 전류가 흐르게 되면서 LED가 켜지게 된다. 이 방식은 MCU 외부의 전류를 통해 LED를 켜게 되는 것이다.


  • Source current 방식

이 방식은 MCU가 전류를 내보내는 형태이며, MCU의 GPIO가 HIGH가 되면 MCU의 GPIO에서 GND로 전류가 흐르게 되면서 LED가 켜지게 된다. 이 방식은 MCU 내부의 전류를 통해 LED를 켜게 되는 것이다.

Sink current와 Source current의 전류량은 MCU의 데이터 시트를 보면 확인 할 수 있다. 일반적으로 Sink current와 Source current의 전류량 10~20mA 정도이다.

개인적으로 LED를 구동시킬 때는 Sink current방식을 추천한다.

Source current 방식은 MCU 내부 전원으로 LED를 구동시키기 때문에 MCU의 소모 전류가 증가하게 되고 이로 인해 MCU의 부하가 상승 하거나 발열의 원인이 될수 있다.

하지만 Sink current 방식은 LED를 구동시키는데 사용되는 전류가 외부 전류이기 때문에 MCU 내부 전원을 사용 하지 않아 상대적으로 MCU 소모 전류 및 걸리는 부하가 낮다고 생각 한다.

+ Recent posts