I2C 레벨 시프터 고르고 배선부터 검증까지 끝내는 순서

profile_image
작성자 납땜하는민수
댓글 0건 조회 5회

전압이 다른 센서를 바로 연결하면 생기는 문제

통신 전압은 센서 전원과 별개로 확인합니다

5V 아두이노에 3.3V 센서를 연결할 때 가장 먼저 확인할 항목은 센서의 동작 전압이 아니라 SDA와 SCL 핀의 허용 전압입니다. 센서 전원을 3.3V로 공급했더라도 아두이노 쪽 풀업 저항이 통신선을 5V까지 끌어올리면 센서 입력 핀에는 허용 범위를 넘는 전압이 걸릴 수 있습니다. 반대로 3.3V 신호가 5V 마이크로컨트롤러의 HIGH 기준을 확실히 넘지 못해 간헐적인 통신 오류가 발생하기도 합니다.

I2C 통신은 장치가 HIGH 전압을 직접 출력하는 푸시풀 방식이 아니라, 필요할 때 선을 LOW로 당기는 오픈드레인 구조를 사용합니다. 이 특성 덕분에 양방향 레벨 변환이 비교적 간단하지만, 아무 변환기나 연결해도 된다는 뜻은 아닙니다. 풀업 저항, 버스 정전용량, 통신 속도와 장치 수가 함께 맞아야 안정적인 센서 연결이 완성됩니다.

아두이노의 구성과 활용 범위를 먼저 살펴보면 보드마다 전압 체계와 주변 장치 구성이 다를 수 있다는 점을 이해하는 데 도움이 됩니다. 특히 5V 계열 Uno와 3.3V 계열 보드를 같은 방식으로 취급하지 않는 습관이 중요합니다.

  • 마이크로컨트롤러의 GPIO 전압과 HIGH 판정 기준을 확인합니다.
  • 센서 데이터시트에서 SDA·SCL의 절대 최대 정격을 찾습니다.
  • 보드와 센서 모듈에 이미 장착된 풀업 저항 값을 확인합니다.
  • 두 장치가 같은 전압이라면 불필요한 레벨 시프터를 추가하지 않습니다.

첫 번째 순서, 필요한 변환 방식부터 좁히기

전압 차이보다 버스 조건을 먼저 분류합니다

I2C 레벨 시프터를 고를 때는 ‘5V를 3.3V로 바꾼다’는 한 문장만으로 제품을 결정하기 어렵습니다. 책상 위에서 센서 하나를 100kHz로 연결하는 회로와, 케이블을 거쳐 여러 보드를 400kHz로 묶는 회로는 요구 조건이 전혀 다릅니다. 먼저 속도, 배선 길이, 장치 수, 절연 필요성을 적어 두면 후보를 빠르게 줄일 수 있습니다.

짧은 점퍼선과 소수 센서로 구성된 아두이노 프로젝트라면 BSS138 기반 모듈이나 PCA9306 같은 패시브형 변환기가 경제적입니다. 반면 버스 정전용량이 크거나 신호 상승 시간이 부족하다면 TCA9517처럼 버스를 분리하고 신호를 보강하는 버퍼형 부품을 고려해야 합니다. 산업 장비처럼 접지 전위차와 노이즈가 문제라면 가격보다 절연 기능이 우선입니다.

  1. 양쪽 버스의 기준 전압과 최소·최대 전압을 기록합니다.
  2. 표준 모드 100kHz인지 고속 모드 400kHz 이상인지 정합니다.
  3. 센서 수, 케이블 길이, 예상 정전용량을 확인합니다.
  4. 핫스왑, 버스 분리, 갈바닉 절연이 필요한지 판단합니다.
  5. 데이터시트의 권장 회로와 LOW 전압 조건을 대조합니다.
실무 팁: 부품 이름보다 회로의 실패 조건을 먼저 적어 보세요. ‘400kHz에서 상승 시간이 부족하다’처럼 문제를 구체화하면 적합한 레벨 시프터 유형이 자연스럽게 드러납니다.

두 번째 순서, 네 가지 후보를 같은 기준으로 비교하기

BSS138부터 절연형 ISO1540까지

아래 표는 전자회로 실습에서 자주 접하는 네 가지 방식을 비교한 것입니다. 가격대는 국내 소매점에서 단품 또는 소형 모듈을 구매할 때 흔히 볼 수 있는 대략적인 범위이며, 제조사·배송비·기판 구성에 따라 크게 달라질 수 있습니다. 따라서 가격은 후보를 거르는 참고값으로만 사용하고 최종 설계에서는 해당 제조사의 최신 데이터시트를 기준으로 삼아야 합니다.

후보방식적합한 상황장점주의점대략적 소매 가격대
BSS138 4채널 모듈패시브 MOSFET100kHz 중심의 아두이노 센서 실습저렴하고 배선이 쉬움모듈 풀업 값과 고속 파형 확인 필요약 1천~4천 원
PCA9306듀얼 양방향 패스 스위치작은 PCB에 2선 버스 변환전압 범위가 유연하고 회로가 단순함버퍼가 아니므로 정전용량을 없애지 못함부품·모듈 약 2천~8천 원
TCA9517I2C 버퍼·레벨 변환센서가 많거나 버스 구간 분리가 필요할 때양쪽 정전용량을 분리해 파형 개선 가능A·B 측 특성과 연결 방향 검토 필요부품·모듈 약 4천~1만5천 원
ISO1540갈바닉 절연형산업 장비, 긴 배선, 접지 전위차 환경노이즈와 접지 루프에 강함양측 절연 전원과 복잡한 PCB 설계 필요약 1만~3만 원 이상

취미 프로젝트에서 가장 싼 모듈이 항상 최선은 아닙니다. BSS138 모듈은 접근성이 좋지만, 모듈에 10kΩ 풀업이 있고 센서 보드마다 추가 풀업이 달려 있다면 합성 저항이 지나치게 낮아질 수 있습니다. ISO1540은 비용이 높아도 서로 다른 전원 계통의 장비를 연결할 때 고장 범위를 줄이는 효과가 있어 현장 비용까지 고려하면 더 경제적일 수 있습니다.

  • 가격 우선: 짧은 배선의 저속 실습에는 BSS138 모듈이 편합니다.
  • 소형 PCB 우선: 검증된 권장 회로를 적용할 수 있다면 PCA9306이 알맞습니다.
  • 버스 확장 우선: 장치 수와 정전용량이 늘면 TCA9517 계열을 검토합니다.
  • 안전과 노이즈 우선: 접지가 다른 장비 사이에는 ISO1540 같은 절연형이 유리합니다.

세 번째 순서, 상황에 맞는 부품을 하나로 결정하기

아두이노 실습과 제품 개발의 선택은 다릅니다

Uno 계열 보드에 3.3V 온습도 센서 하나를 20cm 이내 점퍼선으로 연결한다면 BSS138 모듈이 가장 부담 없는 선택입니다. 다만 센서 모듈 자체가 5V 입력과 레벨 변환을 지원하는 제품인지 먼저 확인해야 합니다. 이미 변환 회로가 있는 모듈에 레벨 시프터를 하나 더 넣으면 상승 시간이 느려지고 고장 지점만 늘어날 수 있습니다.

직접 제작하는 임베디드 PCB라면 PCA9306처럼 용도가 명확한 IC와 제조사 권장 회로를 사용하는 편이 재현성에 유리합니다. 센서가 네다섯 개로 늘고 각각 풀업 저항을 가진 모듈을 연결한다면 단순 패시브 변환보다 TCA9517 계열 버퍼로 구간을 나누는 방법을 고려할 수 있습니다. 공장 설비나 자동차 주변처럼 전원 노이즈가 크고 두 시스템의 접지를 직접 묶기 어렵다면 ISO1540이 더 적절합니다.

여러분의 회로는 한 번만 작동하면 되는 시제품인가요, 아니면 온도 변화와 전원 재인가에도 반복해서 동작해야 하는 제품인가요? 전자라면 범용 모듈로 빠르게 검증하고, 후자라면 부품 수급성·동작 온도·패키지·EMC 조건까지 선택 기준에 포함해야 합니다. 개발 단계가 바뀌면 최적의 부품도 바뀔 수 있습니다.

  • 교육용 키트와 단기 프로토타입: BSS138 모듈
  • 소형 양산 PCB와 일반 센서 연결: PCA9306
  • 다수 센서와 확장 커넥터가 있는 제어기: TCA9517
  • 서로 다른 접지 영역 또는 고노이즈 장비: ISO1540

네 번째 순서, 풀업 저항과 배선을 함께 설계하기

레벨 시프터만 꽂아서는 파형이 완성되지 않습니다

I2C의 HIGH 전환 속도는 풀업 저항과 버스 정전용량이 결정합니다. 저항이 너무 크면 전압이 천천히 올라가 수신기가 HIGH를 늦게 인식하고, 너무 작으면 장치가 LOW를 만들 때 과도한 전류를 흘려 VOL 규격을 만족하지 못할 수 있습니다. 흔히 사용하는 4.7kΩ은 출발점일 뿐이며 모든 전압과 배선에 통하는 정답은 아닙니다.

예를 들어 센서 보드 세 개에 각각 10kΩ 풀업이 있다면 병렬 합성값은 약 3.3kΩ이 됩니다. 여기에 레벨 시프터 모듈의 10kΩ까지 추가되면 약 2.5kΩ으로 더 낮아집니다. 이 값이 반드시 나쁜 것은 아니지만, 각 장치가 요구되는 LOW 전류를 감당하는지 확인해야 합니다. 반대쪽 버스도 별도의 전압과 풀업 저항을 가지므로 양쪽을 각각 계산해야 합니다.

배선은 SDA와 SCL을 길게 나란히 늘어뜨리기보다 각 신호에 가까운 GND 귀환 경로를 제공하는 편이 좋습니다. 브레드보드에서는 접촉 불량과 긴 점퍼선이 정전용량뿐 아니라 잡음에도 영향을 줍니다. 라즈베리파이처럼 3.3V GPIO가 5V 내성이 없는 보드는 전원을 끈 상태에서도 외부 풀업이 5V를 인가하지 않는지 확인해야 합니다.

  1. 각 모듈의 회로도 또는 저항 마킹으로 내장 풀업을 찾습니다.
  2. 동일 버스에 연결된 저항을 병렬값으로 계산합니다.
  3. 레벨 시프터 양쪽에 해당 전압으로 풀업이 형성되는지 확인합니다.
  4. SDA·SCL·GND를 짧게 배치하고 전원 디커플링 커패시터를 둡니다.
  5. 커넥터를 쓰면 GND 핀을 신호 가까이에 배치합니다.
측정 팁: 멀티미터로 HIGH 전압만 확인하면 느린 상승 에지를 놓칠 수 있습니다. 400kHz 또는 긴 배선에서는 오실로스코프나 로직 분석기로 실제 파형과 타이밍을 확인하세요.

다섯 번째 순서, 스캐너에서 파형 측정까지 검증하기

주소 검색 성공을 통신 검증의 끝으로 보지 않습니다

배선 후에는 전원을 넣기 전에 VCCA, VCCB, GND와 풀업 방향을 연속성 모드로 점검합니다. 전원을 켠 다음 아무 통신도 하지 않는 유휴 상태에서 SDA와 SCL이 각각의 버스 전압까지 올라가는지 측정합니다. 한 선이 계속 LOW라면 주소 스캐너를 실행하기 전에 납땜 브리지, 핀 방향, 전원 시퀀스와 장치 고장을 먼저 의심해야 합니다.

그다음 100kHz로 I2C 스캐너를 실행해 ACK가 돌아오는지 확인합니다. 주소가 검색되더라도 실제 센서 레지스터를 반복해서 읽고 값이 비정상적으로 튀지 않는지 살펴봐야 합니다. 100kHz에서는 정상인데 400kHz에서 실패한다면 코드보다 상승 시간, 풀업 저항, 버스 정전용량 또는 레벨 시프터의 속도 조건이 원인일 가능성이 큽니다.

임베디드 코딩에서는 통신 실패를 무한 대기로 처리하지 말고 타임아웃과 재시도 횟수를 둡니다. 개발 환경에서 드라이버와 하드웨어 제어 계층이 어떤 역할을 하는지 이해하려면 디바이스 드라이버 통합개발환경의 개요도 참고할 만합니다. 하드웨어 파형과 소프트웨어 로그를 같은 시간축에서 보면 오류 지점을 훨씬 빨리 찾을 수 있습니다.

  • 전원 OFF: 단락, 핀 배열, 공통 GND를 검사합니다.
  • 유휴 상태: SDA와 SCL의 실제 HIGH 전압을 측정합니다.
  • 100kHz 테스트: 주소 탐색과 기본 레지스터 읽기를 수행합니다.
  • 목표 속도 테스트: 반복 읽기와 쓰기를 수천 회 실행합니다.
  • 오류 주입: 센서를 분리하거나 재부팅해 복구 코드를 확인합니다.

긴 케이블과 고속 모드에서는 선택 기준이 달라집니다

레벨 시프터가 해결하지 못하는 경계를 확인합니다

I2C는 기본적으로 같은 보드 또는 가까운 장치 사이의 통신에 적합하며, 레벨 시프터를 추가한다고 장거리 통신 규격으로 바뀌지는 않습니다. 수 미터 케이블, 분기 배선, 강한 모터 노이즈가 있는 환경에서는 정전용량과 반사, 공통 모드 잡음이 동시에 커집니다. 이때는 풀업 저항만 낮추기보다 I2C 버스 익스텐더, 차동 변환기, CAN 또는 RS-485 같은 다른 통신 방식까지 검토해야 합니다.

또한 모든 I2C 호환 장치가 동일한 방식으로 동작하는 것은 아닙니다. 클록 스트레칭을 사용하는 센서, 전원이 꺼졌을 때 통신선을 끌어내리는 장치, SMBus의 전압·타임아웃 조건을 따르는 장치는 일반적인 BSS138 회로에서 예상 밖의 문제를 만들 수 있습니다. TCA9517처럼 포트별 LOW 레벨 특성이 다른 버퍼는 같은 계열을 임의로 직렬 연결하면 안 되는 구성도 있으므로 데이터시트의 캐스케이딩 조건을 확인해야 합니다.

1MHz급 Fast-mode Plus, 매우 낮은 전압의 최신 MCU, 핫스왑 백플레인, 기능 안전이나 자동차 인증이 필요한 설계는 이 글의 네 가지 후보만으로 결정하기 어렵습니다. 이런 환경에서는 정격 온도, 전원 시퀀싱, 핀의 전원 차단 허용 여부, EMC 시험과 부품 인증까지 별도로 검토해야 합니다. 로직 레벨이 맞는다는 사실은 통신 품질과 시스템 안전을 보장하는 충분조건이 아닙니다.

  • 긴 케이블은 차동 전송 또는 더 강인한 통신 규격을 검토합니다.
  • 전원 OFF 상태의 핀 전압과 백파워 가능성을 시험합니다.
  • 클록 스트레칭과 버스 복구 기능을 실제 센서로 확인합니다.
  • 고속 모드는 부품 이름이 아닌 데이터시트 타이밍 표로 판정합니다.
  • 양산 제품은 시제품 성공과 별개로 온도·노이즈·재부팅 시험을 진행합니다.

I2C 레벨 시프터 고르고 배선부터 검증까지 끝내는 순서

댓글목록

등록된 댓글이 없습니다.