먼저 알아둘 용어
오픈 컬렉터(open collector) 출력은 켜질 때 신호선을 LOW로 당기고, 꺼질 때는 전류를 밀어 올리지 않습니다. MOSFET을 이용해 같은 식으로 선을 당기는 출력은 오픈 드레인(open drain)이라고 합니다. 두 방식 모두 HIGH로 돌아가려면 전원에 연결된 풀업 저항이 필요합니다.
HIGH와 LOW는 각각 수신기가 높은 전압과 낮은 전압으로 판정하는 논리 상태입니다. 정전용량(capacitance)은 케이블·커넥터·입력 핀이 전하를 저장하는 효과입니다. 선의 정전용량이 클수록 같은 풀업 저항으로 HIGH까지 충전하는 데 더 오래 걸립니다.
상승 시간(rise time)은 신호가 LOW에서 HIGH로 바뀌는 데 걸리는 시간입니다. 서로 다른 규격은 측정 시작·끝 전압을 다르게 정합니다. 이 글에서 예로 드는 10~90% 상승 시간은 최종 HIGH 전압의 10%에서 90%까지 올라가는 구간입니다.
레벨 변환기(level translator)는 서로 다른 논리 전압의 두 장치를 연결합니다. 여기서 쓰는 방향 지정형 변환기는 입력을 읽고 반대쪽 출력을 능동적으로 HIGH 또는 LOW로 구동합니다. 방향 선택 핀인 DIR(direction)의 상태에 따라 A→B 또는 B→A로 동작하므로, 양쪽 장치가 언제든 같은 선을 LOW로 당겨야 하는 진짜 양방향 공유 버스에는 그대로 넣을 수 없습니다.
전원 영역(power domain)은 신호의 HIGH 기준이 되는 전압 구간입니다. 3.3 V 쪽 입력이 5 V를 허용하는지, 5 V 쪽 입력이 변환기 출력의 HIGH를 인정하는지는 각각 해당 부품 자료로 판단합니다.
먼저 수신 핀이 HIGH로 올라가는 시간을 잽니다
출력 트랜지스터가 신호선을 놓으면, 풀업 저항 R이 케이블·커넥터·입력 핀에 있는 합성 정전용량 C를 충전합니다. 단순한 RC 회로의 10~90% 상승 시간은 약 2.2RC입니다. 이 식은 원인을 가늠하는 근사치이며, 실제 선에 여러 풀업·보호 소자·능동 출력이 있으면 그 회로를 반영해야 합니다.
예를 들어 설명용 가정으로 R=10 kΩ, C=100 pF라면 2.2RC≈2.2 µs입니다. pF는 10⁻¹² F, µs는 10⁻⁶초입니다. 이 값은 특정 기판을 측정한 결과가 아닙니다. 실제 모드에서 두 펄스 간격이 짧거나 수신기의 HIGH 판정 전압이 높다면, 수신 핀이 아직 중간 전압에 있을 때 다음 변화가 시작될 수 있습니다. 그래서 통신이 느릴 때는 통과하고 빠른 기능에서만 실패하는 경우가 생깁니다.
오실로스코프(oscilloscope)로 송신기 바로 옆과 실제 수신 핀을 차례로 잽니다. 기준 접지를 가깝게 연결하고, 측정 팁인 프로브(probe)의 정전용량이 신호선에 추가된다는 점을 고려합니다. 정상 모드와 실패 모드에서 LOW 전압, HIGH 도달 시점, 수신기 데이터시트(data sheet)의 입력 임계값을 함께 대조합니다. VIH는 HIGH로 인정하는 최소 전압, VIL은 LOW로 인정하는 최대 전압입니다. 송신기 쪽은 빠른데 수신기 쪽만 둔해지면 케이블·커넥터·부하가 원인 후보입니다. 양쪽 모두 느리다면 풀업 값과 출력 방식을 먼저 조사합니다. 파형이 정상이라면 프로토콜의 타이밍이나 소프트웨어 설정도 별도로 봐야 합니다.
전압이 논리 경계에 너무 가까운지도 확인합니다. 송신기가 보장하는 LOW 출력의 최댓값 VOL(max)과 HIGH 출력의 최솟값 VOH(min)을, 수신기가 LOW로 인정하는 최댓값 VIL(max)과 HIGH로 인정하는 최솟값 VIH(min)에 각각 대조합니다. LOW 쪽 정적 잡음 여유(static noise margin)는 VIL(max) − VOL(max), HIGH 쪽은 VOH(min) − VIH(min)입니다. 한쪽이라도 0 이하라면 해당 조건에서 두 부품의 논리 전압 호환성을 보장할 수 없습니다.
예를 들어 계산 설명용 값으로 수신기 VIL(max)=0.8 V, VIH(min)=2.0 V, 송신기 VOL(max)=0.2 V, VOH(min)=3.0 V라면 LOW 여유는 0.6 V, HIGH 여유는 1.0 V입니다. 이 숫자를 실제 연결에 쓰려면 두 부품의 공급 전압, 송신기 부하 전류와 온도 범위를 맞춰 데이터시트의 보장값을 다시 읽어야 합니다. 계산된 양의 여유도 케이블의 순간 잡음이나 접지 차이, 느린 에지의 임계값 통과 시간까지 보장하지는 않습니다. 따라서 실제 수신 핀에서 가장 불리한 모드의 HIGH·LOW 전압과 에지 시간을 따로 측정합니다.
서로 다른 방향의 선을 각각 지정해 변환합니다
제어기의 출력이 인터페이스 쪽으로 가는 선과 인터페이스의 출력이 제어기 쪽으로 돌아오는 선을 먼저 나눕니다. 다음 연결 예시에서는 USB 모양의 커넥터를 자체 신호용 접점으로 사용하고, 컨트롤러 쪽에는 핀 수가 많은 별도 커넥터를 둡니다. USB 모양만으로 USB 데이터 규격에 맞는다고 판단해서 컴퓨터 포트에 꽂으면 안 됩니다. 연결 전에는 두 커넥터의 핀 배치와 전원 극성을 도면으로 확인해야 합니다.
이 연결 예시의 5 V 전원에서 저전압 레귤레이터(low-dropout regulator, LDO)가 3.3 V를 만듭니다. LDO는 입력보다 낮은 안정된 전압을 공급하는 부품입니다. 세 개의 2비트 듀얼 서플라이 레벨 변환기는 A쪽을 3.3 V, B쪽을 5 V에 연결합니다. 그중 두 개의 DIR은 LOW로 고정해 5 V 컨트롤러 쪽 B→3.3 V 인터페이스 쪽 A를 구동하고, 한 개는 HIGH로 고정해 3.3 V 인터페이스 쪽 A→5 V 컨트롤러 쪽 B를 구동합니다. 이렇게 방향을 고정한 단방향 구성이 이 회로의 핵심입니다. 전압만 맞추는 부품이라 생각하고 선을 반대로 연결하면 신호가 전달되지 않습니다.
이 연결 예시에는 5 V 쪽 입력을 쉬는 동안 HIGH로 두는 47 kΩ 저항 어레이, 다른 방향의 3.3 V 입력에 있는 3.9 kΩ 풀업, 커넥터 쪽의 330 Ω 직렬 저항 네트워크가 있습니다. 저항 어레이(resistor network)는 여러 저항을 한 부품 안에 묶은 것입니다. 직렬 저항은 출력과 연결선 사이에 들어가 과도 전류를 줄일 수 있지만, 선의 정전용량과 함께 에지를 늦출 수도 있습니다. 47 kΩ이나 3.9 kΩ, 330 Ω이라는 수치를 다른 보드에 그대로 복사하지는 마세요. 해당 선이 변환기의 입력인지 출력인지, 정지 상태가 무엇인지, LOW 전류와 출력 구동 조건이 어떤지에 따라 저항의 역할이 달라집니다. 특히 47 kΩ 풀업이 능동 출력 대신 고속 에지를 직접 만든다고 해석하면 회로의 동작을 거꾸로 이해하게 됩니다.
변환기의 출력이 빠르더라도 입력 핀에 들어오는 느린 신호까지 자동으로 교정하지는 않습니다. 예로 든 듀얼 서플라이 레벨 변환기에는 입력 전압이 변하는 속도에 대한 데이터시트 조건도 있습니다. 풀업과 배선 용량 때문에 입력 핀의 상승이 그 조건보다 늦다면, 출력 파형만 좋아 보여도 입력 동작을 보증할 수 없습니다. 변환기 입력과 최종 수신 핀의 파형을 각각 재고, 입력이 느리다면 풀업을 낮출 때 증가하는 LOW 전류를 계산하거나 느린 입력을 허용하는 버퍼를 별도로 검토해야 합니다.
한 방향의 5 V 신호를 3.3 V 입력에 보내는 경우에는 5 V 허용 입력 버퍼(5 V-tolerant input buffer)도 후보입니다. 버퍼는 입력의 HIGH·LOW를 읽고 별도의 출력 핀에서 다시 구동하는 부품입니다. 예를 들어 SN74LVC1G125를 3.3 V로 공급하면 A 입력에 0~5.5 V를 허용하고, 출력 허용 핀 OE를 LOW로 했을 때 A의 논리 상태를 Y 출력으로 전달합니다. Y는 3.3 V 전원 영역의 출력이며 역방향 신호를 전달하지 않습니다. 두 장치의 접지를 공통으로 연결하고, 송신기의 보장 VOH/VOL이 버퍼의 VIH/VIL을 만족하는지, 버퍼 출력이 실제 수신기의 입력 임계값과 부하 조건을 만족하는지 각 데이터시트에서 확인해야 합니다. 전원을 켜고 끌 때는 OE(출력 인에이블) 상태와 전원이 꺼진 상태의 누설 전류 조건도 확인하세요. 이 부품에도 입력 전압 변화 속도 제한이 있으므로 느린 오픈 컬렉터 신호를 그대로 넣어 상승 지연을 해결했다고 판단해서는 안 됩니다.
트랜지스터 두 단으로 레벨을 바꾸는 회로를 검토할 때도 그림의 연결을 따라가며 출력 극성을 확인합니다. 예를 들어 NPN BJT(bipolar junction transistor) Q1의 컬렉터가 풀업 저항을 거쳐 전원에 연결되고 같은 노드가 증가형 N채널 MOSFET(enhancement N-channel MOSFET) Q2의 게이트로 들어가며, Q2의 드레인 출력에 별도 풀업이 있다면 이상적인 두 번의 반전이 일어납니다. 입력 HIGH에서 Q1이 켜지면 Q2 게이트가 LOW가 되어 Q2가 꺼지고 출력은 HIGH로 올라갑니다. 입력 LOW에서는 Q1이 꺼지고 Q2 게이트가 올라가 Q2가 켜지므로 출력은 LOW입니다. 이는 한 방향의 상태 관계일 뿐 양방향 변환의 증거가 아닙니다. 더욱이 Q1 베이스에 입력을 저항 없이 직접 연결한 도식은 GPIO 출력 전류를 제한하지 못합니다. 실제 제작 전에는 베이스 저항, 각 풀업의 전류와 상승 시간, Q2의 게이트 구동·드레인 정격, 수신기의 논리 임계값과 전원이 꺼졌을 때의 동작을 부품별로 계산해야 합니다.
배선을 바꾸기 전에 다음 순서로 확인합니다
- 실제 사용 모드별로 실패하는 기능을 기록하고, 같은 케이블·전원 조건에서 수신 핀의 전압 파형을 저장합니다. 상승 지연이 원인인지 먼저 확인합니다.
- 모든 신호선의 원래 출력 방식과 진행 방향을 회로도·데이터시트로 적습니다. 양쪽에서 LOW를 만들 수 있는 공유선은 단방향 변환기 후보에서 제외합니다.
- 5 V와 3.3 V의 출처, 공통 접지, 전원 켜짐·꺼짐 순서, 각 핀의 전원 차단 상태 허용 조건을 확인합니다. 한쪽 전원이 없을 때 다른 쪽 출력이 역류시키지 않는지도 부품 자료로 봅니다.
- 방향별 변환기를 연결하되,
DIR과 A·B 포트를 먼저 검증합니다. 전원과 접지를 인가하기 전에 커넥터 핀과 보드 간 단락을 점검합니다. 커넥터의 생김새로 데이터 규격을 추정하지 않습니다. - 입력이 전혀 구동되지 않는 구간에서도 HIGH나 LOW가 정해지는지 봅니다. 필요한 풀업을 해당 전압 영역에 두고, 능동 출력끼리 충돌하지 않게 합니다.
- 한 채널씩 느린 시험 모드에서 신호 극성·HIGH·LOW를 확인한 다음 문제가 나타났던 빠른 모드로 바꿉니다. 변환기 입력의 전압 변화 속도와 최종 수신 핀의 임계값 통과 시점을 모두 확인하고, 가장 불리한 전원·케이블 조건에서 실제 기능을 다시 시험합니다.
변환기를 추가하면 빠른 출력 에지를 만들 수 있지만, 그것만으로 모든 장치와 모드의 호환성이 입증되는 것은 아닙니다. 수신기 설정·프로토콜 타이밍·변환기의 지연과 출력 구동 능력도 실제 조건에서 시험해야 합니다. 빠른 에지는 긴 케이블에서 링잉(ringing)도 만들 수 있으므로 출력 파형을 함께 봅니다. 특히 두 장치가 같은 선을 서로 다른 순간에 구동하는 버스라면, HIGH로 밀어 올리고 LOW로 끌어내리는 push-pull 출력이 오히려 전기적 충돌을 일으킬 수 있습니다. 그 경우에는 버스 구조에 맞는 양방향 회로를 선택합니다.
최종 출력만 보지 말고 Q1 컬렉터와 Q2 게이트도 함께 봅니다
앞의 두 단계 회로에서 Q1 컬렉터와 Q2 게이트가 만나는 곳을 중간 노드로 표시합니다. Q1이 켜질 때 이 노드가 내려가고 Q2가 꺼져 최종 출력이 풀업되는지, 반대 입력에서는 중간 노드가 올라가 Q2가 최종 출력을 낮추는지 같은 입력 전환을 기준으로 대조합니다. 입력·중간 노드·수신기 핀의 세 파형을 기록하면 첫 단계가 충분히 LOW를 만들지 못한 경우와 두 번째 풀업의 상승이 느린 경우를 구별할 수 있습니다.
Q1 베이스 전류 제한 저항의 유무·값과 실제 베이스 전류, 중간 노드 풀업과 Q2의 게이트 전하, 최종 풀업과 수신기의 입력 조건을 순서대로 확인합니다. 이미 두 번 반전되는 논리라는 이유만으로 유효 HIGH/LOW 전압과 지연이 보장되지는 않습니다. 두 전원이 켜지고 꺼지는 순서도 따로 기록합니다. 앞 절의 전원 OFF 역급전 제한을 지킨 상태에서 확인하며, 이 단방향 구성을 I²C 양방향 변환기의 대체 회로로 취급하지 않습니다.
English summary. For the two-stage unidirectional circuit, compare the input, Q1-collector/Q2-gate intermediate node and receiving pin on the same transition. Check base-current limiting and both pull-ups separately; two logical inversions alone do not guarantee valid voltage levels, timing or power-off behavior.