x0FANSA-hk 님의 블로그
8bit CPU 사전준비) 하이사이드 & 로우사이드 스위칭 본문
저번시간에 이어 이번시간에도 왜 MOSFET을 단순 스위치로 치환하면 안되는지에 대해 알아보겠습니다.
https://x0fansa-hk.tistory.com/32
8bit CPU 사전준비) 풀업 & 풀다운
Mosfet을 우리는 흔히 스위치에 비유해서 표현합니다. 실제로 Mosfet의 쓰임의 반 정도는 스위칭에 사용되지요. 그렇게해서 빵판에 MOSFET을 꽂고 무언가를 돌려보겠다고 하면 아마 이론처럼 잘 되지
x0fansa-hk.tistory.com
이번에 설명할 내용은 하이사이드, 로우사이드 입니다.
NMOS의 온/오프 수식

저희가 물리적인 스위치를 누르면 전류가 흐르고(ON), 안누르고 전류가 안흐르는것(OFF)처럼, MOSFET의 경우에도 전류가 흐르거나 안흐르는 조건이 있습니다. 다만 이게 사람이 누르고 조절하는게 아닌, 특정 부분의 전압이 다른곳보다 높거나 낮을때 전류가 흐르거나 안흐르거나가 결정이 됩니다. 이번에는 이러한 MOSFET의 온/오프에 관련된 중요한 수식을 제시하겠습니다.
V_GS

이름 그대로 Gate의 전위에서 Source의 전위를 뺀 값 입니다. 당연히 S가 G보다 전위가 높다면 음수도 가질 수 있습니다. 절대로 헷갈리면 안되는게 그냥 게이트의 전위가 아닙니다. 반드시 소스대비 게이트의 전위라고 보셔야 합니다.(V_G와 V_GS는 다른거라는 거에요. 중요 별표5개)
V_th
MOSFET의 온/오프 기준이 되는 전압입니다. 각 MOSFET소자마다 고유한 V_th를 가지고 있습니다. 즉 내가 쓰려는 MOSFET의 V_th가 얼마인지 알고싶다면 해당 MOSFET의 데이터시트에서 찾아봐야합니다. 또한 MOSFET의 고유한 값 이기에 이론상으론 만들어진 이후부터는 변하지 않는 상수 입니다.(실제로도 잘 안변하기에 걍 Vth값은 일정하다고 취급해도 학부수준에서는 문제없어요.) 대분분의 경우 NMOS는 V_th를 양수로, PMOS는 음수로 가집니다.
Drain과 Source사이 전류가 흐른다. - ON

제시된 수식에서 보시다시피 V_GS가 V_th보다 큰 경우 해당 NMOS는 온(드레인 소스 간 전류가 흐를수 있다.)상태를 가지게 됩니다. 즉 마치 스위치를 눌러서 회로가 연결된것처럼 만들 수 있다는 점이죠. 물리적 스위치랑 차이점은 다 같지만 직접 누르는 것 대신에 V_th보다 큰 전압의 V_GS를 가지게 하는 것 입니다.
Drain과 Source사이 전류가 흐르지 않는다. - OFF

제시된 수식과 보시다시피, 온 조건과는 반대로 V_th가 V_GS보다 큰 경우입니다. 이번에는 마치 스위치에서 손을 떼서 회로가 끊겨 오프 상태를 가지게 됩니다. 그렇기에 드레인 소스 간 전류가 흐를 수 없습니다.
즉, 온오프 구별이 난해하고 헷갈리지만 NMOS를 사용하고 싶다면, NMOS에서만큼은 ON은 게이트를 5V에 연결, OFF는 게이트를 0V음극에 연결, NMOS의 소스는 음극과 연결하면 어지간해선 동작합니다.(이렇게라도 대충이지만 직접 만져보는게 이론상으로 다 아는거보다 훨~씬 중요해요.)
cf) PMOS의 온/오프 수식

거의 비슷한데 반대인 점이 많습니다.
그럼 여기서 이러한 회로들을 생각해 봅시다.

왼쪽 2개는 SPST-손으로 조작하는 스위치로 구성한 회로입니다. 스위치를 연결시키면 2개의 회로 다 올바르게 저항으로 VCC를 공급합니다, 즉 전류가 잘 흐릅니다. 오른쪽 2개는 스위치를 NMOS로 대체한 것입니다. 이때 오른쪽 두개의 회로 중 왼쪽처럼 NMOS를 양극에 가깝게 배치하는게 하이사이드, 오른쪽처럼 NMOS를 음극에 배치하는게 로우사이드 구성 입니다. NMOS를 스위치라고 생각한다면 기존 스위치에 가져다 넣은 거니까 문제가 없어보여야 할거같은데... 결론부터 말씀드리면 오른쪽 2개 중 왼쪽 회로는 전류가 잘 안흐르고, 오른쪽회로만 정상동작 할 것입니다. 즉 이번에도 역시 MOSFET을 단순 스위치로 치환하면 문제가 발생합니다. 왜 그럴까요? 경우를 나눠서 설명하겠습니다.
NMOS를 하이사이드 스위칭

NMOS와 저항회로를 하이사이드 구성을 한다면 위와같은 상황이 나옵니다. 회로를 온/오프 시키기 위해서 NMOS의 게이트에 전압을 연결해 줍니다.
왼쪽회로, 즉 OFF의 경우 V_G는 0V, V_S도 0V로 V_GS는 0V입니다. 제시된 NMOS의 V_th가 3V라고 했기 때문에 V_th>V_GS로 정상적으로 오프가 됩니다. 여기까지는 문제없습니다.
오른쪽회로는 ON상태로 만들기 위해 게이트에 회로에서 가장 높은 전압인 5V를 연결하였습니다. 즉 V_G는 5V인 것이지요. 그러나 저희는 V_S까지 알아야 합니다. 만약 NMOS가 확실히 ON이 되었다면 NMOS의 저항은 무시가능하기에, S의 전위는 5V일 것입니다. 그러면 V_S는 5V이겠죠? 그러면 V_GS는 0V로 V_th>V_GS로 여전히 오프상태 조건을 가지게 되는 모순된 결과가 나옵니다.. 이게 왜그럴까요? 가정이 잘못된 것입니다. NMOS가 확실하게 ON이 되지 않았기에 이런 모순되는 현상이 발생하는 것입니다. 그러면 NMOS가 확실하지 않게 애매하게 ON이 되어서 NMOS의 저항이 높아져 회로 직렬총저항이 증가하게 되는 것 입니다. 그렇다면 기존에 저희가 설계한것처럼 500mA가 흐르는 것이 아닌 NMOS의 저항에 의해 훨씬낮은 값의 전류가 흐르게 됩니다. 즉 NMOS가 스위치처럼 사용될 수 없다는 점이죠.
확실하게 ON이 되지 않는점 빼고 다른 문제도 있습니다. 만약 하이사이드 스위칭으로 구성하여서, NMOS가 저항처럼 전압강하를 일으킨다고 할게요. 보통은 ON인경우 0Ω인 것과 다르게, 이 경우 10Ω을 가지게 된다고 하겠습니다. 그렇다면 회로 전류는 250mA로 감소하지만 NMOS에서 전압강하가 2.5V가 발생합니다. 즉, 저항에서 5V가 강하해야 하지만, 나머지 2.5V만 걸리게 됩니다. 또한 2.5V의 전류 250mA가 NMOS에서 낭비된다면 0.6W의 열이 발생하는데 이게 NMOS 크기가 작다면 뜨겁다고 느낄 수 있는 열 입니다.(sot23같은 패키지는 약 100℃이상까지 올리는 큰 에너지 입니다.)
cf) 그러면 걍 NMOS에 무식하게 높은 전압을 별도로 걸면 되지 않나요? 그럴거면 회로를 뜯어고쳐야 하잖니 ... 라고 하긴 좀 그렇고요, 특수 환경에서는 어쩔 수 없이 NMOS로 하이사이드 회로가 나온다면 억지로 승압을 해서 훨씬높은 전압으로 스위칭을 하긴 합니다. 이때 승압회로와 제어회로가 추가로 들어갑니다. 그러는거보다는 로우사이드 스위칭하는게 훨씬 더 편하니까여.
NMOS를 로우사이드 스위칭

사실 하이사이드 스위칭에서 이미 설명을 해서 예상했겠지만, 로우사이드스위칭에서는 적절하게 의도한데로 동작을 합니다. 설명을 안하긴 좀 그래서 작성하였습니다. OFF일때는 역시 V_G는 0V, V_S도 0V여서 V_GS가 0V이기에 OFF됩니다. 이후, R의 값에 관련없이 Source는 0V와 직결되어있기에 항상 V_S는 0V를 가집니다. 이후 ON을 하게 된다면 V_G는 5V, V_S는 0V로 V_GS는 5V로 V_th<V_GS로 NMOS가 완전히 ON을 하여 회로에 전류가 흐르게 해 줍니다.
전자기학적으로 해석해보기
사실 저도 NMOS를 처음 만질때 반도체공학은 커녕, 회로이론조차 아예 배우지 않았을 시기라서 하이사이드 구성으로 많이 태워먹고 수식으로 봐도 뭔말인지 이해가 가지 않았습니다. 왜냐하면 수식이 그렇다고 해도 직관적으론 이해가 안갔기 때문이죠. 따라서 이걸 전자기학적으로 이해해했었습니다. 따라서 위의 내용이 하나도 이해가 가질 않는다면 차라리 전자기학적으로 직관으로 이해해 보는것도 저는 좋다고 생각합니다.
전자기학적으로 NMOS의 게이트는 커패시터입니다. 커패시터의 경우 전압이 걸리면 유전체를 기준으로 양전압과 음전압을 띄게 되고 이때 양전압은 상대적으로 전자가 적어서 양성자가 많기에 양극, 음전압은 상대적으로 전자가 많아서 음극 을 띄게합니다. 만약 '유전체를 기준으로 쌓이는 전자를 더 많게 하고 싶다' 라고 한다면 더 큰 전압을 걸어주면 됩니다. Q=CV에 의해 더 많은 전자가 쌓이게 됩니다. 딱 하나 조심할건 전압은 상대적인 값이라 이미 전자가 있는 부분의 전위가 더 높다면 그보다 더 강한 전압을 걸어줘야 합니다.
NMOS는 음극, 즉 전자가 많이 쌓은곳을 통해서 전류를 흐르게 합니다. 그렇기 때문에 전류를 크게 흐르게 하고 싶다면 당연히 전자가 그만큼 많으면 됩니다. 그러면 전압을 더 크게 걸어주면 아까 말한것처럼 전자가 더 많이 쌓이게 됩니다. 그런데 문제가 있습니다. 아무리 Gate에 높은 전위를 걸어도 Source의 전위가 높다면 둘의 전위차이가 많이 나지 않아서 전자가 많이 쌓이지 않다못해 아예 안쌓입니다. 즉 전자를 많이 쌓아 전류를 흐르게 하고싶다면 단순히 게이트에 높은 전위를 거는게 아니라, Source대비 높은 전위를 걸어서 전자가 많이 쌓이게하는 것이 중요합니다. 그럴거면 그냥 S를 가장 전위가 낮은곳에 붙여버리는게 편리하기에 NMOS에서는 주로 로우사이드 구성을 취하게 되는 것이지요. 즉, NMOS를 하이사이드 구성을 취하고(그러면 Source전위가 0V보다 크겠죠?), Source보다 Vth만큼 높은 전압(일반적으로 고전압)을 걸어줘도 정상동작 합니다. Gate와 Source의 전압차이가 어쨌든 Vth만큼 나니까요.
회로실험으로 보는 하이사이드&로우사이드 구성
역시 이것도 실전으로 해보았습니다. 정말로 '하이사이드로 구성하면 정상동작이 안될까?'를 볼 수 있기 때문에 추천드립니다. 이번에 사용한 NMOS는 2N7000입니다.
https://www.alldatasheet.com/view.jsp?Searchword=2N7000
LM324 Datasheet, PDF
LM324 Datasheet. Part #: LM324. Datasheet: 136Kb/7P. Manufacturer: NXP Semiconductors. Description: Low power quad op amps. 1,089 Results. Datasheet: 142Kb/14P. Manufacturer: STMicroelectronics.
www.alldatasheet.com:443
택트스위치로 하이사이드구성




말 그대로 손으로 눌렀다 떼는, 반도체는 1도 없는 기계스위치로 구성한 하이시이드 회로입니다. LED가 잘 켜지고 꺼짐을 볼 수 있습니다.
NMOS를 스위치로 하이사이드구성




위의 회로랑 똑같은데, 딱 하나, 스위치만 택트스위치대신 2N7000으로 대체하였습니다. 정말로 NMOS가 스위치를 대신한다면 동작을 해야합니다. 그러나 정상적으로 동작하지 않음을 볼 수 있습니다. 분명히 게이트에 양전압을 인가했지만 LED가 켜지지 않았습니다.(진짜로. 누르는척만 한게 아니라)
NMOS를 스위치로 로우사이드구성




이번에는 스위치 위치를 양극쪽에서 음극쪽으로 옮겼습니다. 이전에 하이사이드 스위칭회로에서는 잘 동작하지 않았지만, 이번에는 의도대로 동작을 함을 볼 수 있습니다.
이것으로 MOSFET을 단순 스위치로 취급하더라도, 그 위치가 중요함을 알 수 있습니다. 단순하게 물리적 스위치 자리를 대신하면 회로가 엉망이된다는 거에요.
번외: NMOS로 하이사이드 스위칭하기

라고 했었잖아요. 그래서 정말로 하이사이드 구성의 NMOS에 높은 전압을 걸어보았습니다. 이전 회로에서는 3.3V회로와 2N7000에 3.3V를 인가한 반면, 이번에는 3.3V회로를 유지하되, 2N7000에 5V를 인가하였습니다.




데이터시트 상 2N7000의 Vth는 최소 0.8V입니다. 이때 이 회로에서 2N7000의 소스 전위를 아무리 높게 잡아도 3.3V일 것입니다만, 게이트에는 5V를 공급하고 있습니다. 즉 Vgs는 최소 1.7V가 되는 것이죠. 따라서 일반적인 2N7000이라면, 1.7V>0.8V를 만족하기에 ON이 됩니다.
cf) Q. 이번실험에서는 왜 IRLZ44n대신 2N7000을 썼을까요?A. 사실 맨 처음에는 IRLZ44n을 통해 하이사이드 스위칭을 했었습니다. 그런데 의외로 정상적으로 동작하는거 같더라고요.(아마 내부적으로는 전압강하가 일어났을건데, 블로그에 올리기엔 일단 LED가 밝게 빛나서 올리질 못했어요.) 이는 IRLZ44n이 로우레벨 파워 NMOS여서 그런것으로 판단됩니다. 무슨 말이냐면, 우선 IRLZ44n은 조건만 맞으면 55V, 47A씩이나 흘러보낼 수 있습니다.(멀티탭의 최대전력과 유사) 그러면서도 최소Vth는 2.0V로 동일체급 NMOS대비 낮습니다. 제가 실험에서처럼 하이사이드로 강제로 Vgs를 낮추더라도, 워낙 낮은 게이트전압으로도 큰 전류를 흘릴수 있기에 LED하나 켜는 20mA정도는 쉽~게 흘리게 해 줍니다. 좀 더 전문적으로 표현하자면, IRLZ44n의 SubThreshold에서의 전류로 LED가 켜진 것으로 판단됩니다. 즉, 게이트전압대비 온전류가 크기때문에 이 경우, NMOS의 종류를 바꾸던가, 큰 전류를 먹는 장치를 부하로 달아야 실험이 됩니다.
-끝!-
'Nebula > 8bit CPU' 카테고리의 다른 글
| 8bit CPU 사전준비) TTL과 CMOS 조금만 (0) | 2026.06.30 |
|---|---|
| 8bit CPU 사전준비) 풀업 & 풀다운 (1) | 2026.05.11 |
| 8bit CPU 사전준비) NOT, AND, OR, XOR 게이트 이론편 (0) | 2026.05.06 |
| 8bit CPU 사전준비) 8bit CPU였던것 (1) | 2026.05.05 |
