시리얼통신(UART, I2C, SPI 등) 로직 레벨 양뱡향 변환 회로(logic level Bidirectional circuit)5.0v to 3.3v or 3.3v to 5.0v

728x90
반응형

요즘은 거의 대부분 3.3v로 동작하지만 예전 음.. 그러니까 내가 공고를 다니던 05년? 쯤에도 보드 동작전압이 5V인 경우도 많았던 거 같다. 실습할 때도 거의 다 5V였던 거 같은데 실무에서는 어땠으려나? 뭐 아무튼 요즘은 거의 대부분 3.3v로 동작을 하고, 저전력을 요구하는 곳에서는 1.8v를 사용하기도 한다. 

흔한 일은 아니지만 아주 간혹(?) 센서들이 5V로 동작해 통신도 5V레벨로 해야 하는 경우가 있다. 요즘 MCU는 그냥 전부 다 3.3v 동작이라고 보면 된다. 그럼 당연히 통신이 안 되겠지? 

 

이럴 때는 한쪽을 높여주거나 낮춰줘야 한다. 3.3v -> 5v 또는 5v -> 3.3v

 

여러 가지 방법이 있겠지만 난 이게 가장 효율적이라고 생각한다. IC를 사용하게 되면 PCB에 공간을 많이 차지하게 되고 부품 가격 또한 무시하지 못한다. 

개발 초창기라면 손땜 해야 하는데.. IC는 별로 하고 싶지 않다. 뭐 아무튼 이런저런 이유로 난 본 포스팅의 회로를 추천한다! 

 

 

BSS138, N-CHANNEL MOSFET이다.

 

DIODE 사와 ON semi에서 나오는데 ON semi는 요즘 납기가 별로란다. 근데 이 두 회사 패키지가 다르니 확인은 필수! 

 

이렇게 그려주고. 5v serial 출력을 회로 오른쪽에 보이는 UART_RX2_IN부분에 연결하고 3.3v serial 입력 부분을 UART_RX2에 연결하면 된다. 이와 반대인 경우? 그냥 반대로 연결해주면 된다. 

 

 

 

UART에서만 테스트해봤는데 잘된다. UART_RX2_IN에 5v serial 입력뿐만 아니라 3.3v serial 입력도 잘 들어온다. 대만족 굿굿굿 

 

- 끝 - 

728x90
반응형