I2C 3.3 ~ 5.0V 변환


35

3.3VI 2 C 장치를 5V Arduino 에 인터페이스하려고합니다 .

SCL 회선에 문제가 없습니다. 간단한 전압 분배기를 사용할 수 있지만 양방향이므로 SDA 라인에 문제가 있습니다.

어떻게 처리 해야할지 잘 모르겠습니다. 슬레이브 입력 측에 전압 분배기가 있고 마스터 입력에 여분의 것이없는 한 쌍의 다이오드를 추가하고 있습니다.

다른 해결책이 있습니까?


미래 독자들은 OP가 한 방향으로 만 SCL을 사용할 수 있지만 I2C는 일반적으로 SCL이 양방향 일 수 있다는 점을 알고 있어야합니다.
광자

답변:


25

이 주제에 대한 좋은 문서는 I2C 버스 및 양방향 레벨 시프터로 단일 mosfet를 사용하는 기타 시스템 을위한 양방향 레벨 시프터입니다.


필립스 회로가 마음에 듭니다. 영리한. I2C 출력이 모든 풀업에서 모든 전류를 싱크 할 필요는 없지만 활성 I2C 리피터를 설계하는 것이 어려운 경우 어떤면에서는 더 나을 수있다. 리피터가 I2C 장치보다 먼저 상승 에지를 감지하고 이에 대응할 수 있어야하므로 일반적인 로직으로는 불가능하다고 생각합니다.
supercat

2
링크가 죽었다!
Zimano

14

sivu의 답변을 확장하기 위해 이것은 기본적으로 논리 제어 MOSFET 인 "버스 스위치"에 일반적으로 사용됩니다. 이산 MOSFET을 사용하면 몇 가지 단점 (기생 용량 / 용량 결합이 하나임)이 있으며 좋은 MOSFET을 선택하기가 까다로울 수 있습니다. 버스 스위치는 고속 논리 회로에 사용하도록 최적화되어 있습니다.

Fairchild, TI, IDT 및 Pericom을 포함한 여러 제조업체가 제품을 제조합니다. NC7SZ384를 살펴 보십시오 .

다음과 같은 앱 노트를 참조하십시오.


8

많은 Arduino의 온보드 지원은 3.3V에서 실행됩니다. 실제로 모든 3.3V에서 실행할 수 있으며 FTDI 칩 회로도는 예제에서 방법을 설명합니다. Teensy USB Arduino 를 만든 Paul 은 USB 케이블을 연 상태에서 케이블의 V CC 라인 대신 3.3V 전압을 공급할 수 있다고 제안했습니다 . 당신은 이것을 시도 할 수 있습니다. 그러나 다른 옵션도 있습니다.

  1. Arduino의 로직 레벨을 확인하십시오. 5V 소스 Atmel에서도 로직 하이로 3.3V를 지원한다고 생각합니다. SparkFun 기사 는 "* 3.3V 디지털 출력 핀을 5V 입력 핀에 연결하는 것은 종종 간단합니다. 대부분의 장치는 디지털 높은 값으로 받아들이는 최소 전압에 상당히 견딜 수 있습니다. 예를 들어 대부분의 Atmel 마이크로 컨트롤러는 0.6 * V CC 를 초과하는 모든 것을 허용 하므로 3.3V 장치는 3V (0.6 * 5V) 이상의 레벨을 출력해야합니다. * "
  2. 3.3V 및 5V 선택기가 점퍼 된 Arduino 클론 중 하나를 구입하십시오. 공급 케이블 FTDI 칩을 3.3V로 설정 한 RBBB 클론 을 사용합니다 . 그러나 올바르게 기억한다면 최근 공식 Arduino 중 하나를 포함하여 실제 3.3V 구성 옵션이있는 다른 많은 것들이 있습니다. Arsyino 플러그인과 함께 Teensy USB를 사용하고 사이트의 지시에 따라 3.3V 레귤레이터 를 설치할 수 있습니다.
  3. USB 케이블을 연결하고 USB 케이블의 V CC 라인 대신 실험실 전원 공급 장치 품질 3.3V 소스를 제공 하십시오. 바울이 제안한 것처럼 전류가 낮아야합니다. 따라서 좋은 품질의 전압 소스 중 하나입니다. 원하는 전압을 얻기 위해 몇 개의 배터리를 직렬로 연결할 수도 있습니다.
  4. 관심이 있으시면 Arduino의 회로도를 검토해 볼 수 있으며 3.3V를 허용하는 FTDI 구성을 변경할 수 있습니다.

마지막으로, 전압 강하를위한 단방향 및 양방향 솔루션대해 Chiphacker 에서 여기에 대해 관심을 가질만한 토론이 있습니다 . todbot이 언급 한 SparkFun에 대한이 기사는 SparkFun에서 링크 된 입찰 MOSFET 기사 에 대한 논의와 같이 유용합니다 . SparkFun 기사를 요약하려면 다음을 수행하십시오.

  • 인라인 저항. 단방향. 스텝 다운 전용-전류를 줄이고 IC I / O 클램핑 다이오드는 최대 입력을 제한 할 수 있습니다.
  • 직렬 저항. 단방향. 스텝 다운 만 가능하지만 세분화됩니다.
  • 다이오드. 단방향. 내려오다. 더 안전합니다. 5V 블록 다이오드에서 높음; 그런 다음 3.3V 쪽이 높이에 연결됩니다. 그러나 다이오드 구성을 반대로하면 스텝 업도 할 수 없습니까?
  • MOSFET. 양방향. 스텝 다운 또는 스텝 업.
  • 의견 : 광학적 격리 예 : 4N25. 고전류.
  • 의견 : 제너 다이오드 예 : 1N4728A
  • 의견 : 74HC244 / 125 단방향

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.