강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

whichan123님의 프로필 이미지
whichan123

작성한 질문수

PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트

ADC schematic 설계하기

A0, A1 핀 질문 있습니다.

작성

·

12

0

안녕하세요 삼코치님, ADC의 A0,A1, \핀 관련하여 질문 있습니다.

데이터시트 35p를 보니까 A0, A1를 DGND에 물리면 I2C Interface 값이 '100 0000'이라고 나와있던데, 이 주소값을 만들기 위해 일부러 GND에 연결하신건가요?

답변 2

0

안녕하세요, 답변 남겨드립니다.

ADC의 A0, A1 핀을 DGND에 연결하신 부분은 정확히 말씀하신 대로 I2C Slave Address를 고정하기 위한 하드웨어 어드레스 설정 목적입니다. 대부분의 ADC 칩(예: ADS1115, ADS1015 등)에서는 A0, A1 핀이 Address Pin으로 정의되어 있으며, 각 핀을 GND, VDD, SDA, SCL 중 어디에 연결하느냐에 따라 I2C Address가 결정됩니다.

데이터시트 35페이지에서 확인하신 '1000000'이라는 7비트 I2C Address는, A0, A1 핀이 모두 DGND에 물린 상태를 의미합니다. 즉, 이 구성이 칩의 기본 주소 (0x40 또는 0x48 등, 상위 비트 포함 시 8비트 주소로 표현됨)를 선택하게 되는 것입니다.

예를 들어, 다음과 같은 형태로 Address Mapping이 정해져 있습니다.

  • A1=GND, A0=GND → 1000000 (0x40)

  • A1=GND, A0=VDD → 1000001 (0x41)

  • A1=VDD, A0=GND → 1000010 (0x42)

  • A1=VDD, A0=VDD → 1000011 (0x43)

이 방식의 목적은 하나의 I2C 버스에 동일한 ADC 칩을 여러 개 연결할 때, 각 칩의 주소 충돌을 피하기 위함입니다. 예컨대 MCU가 I2C를 통해 4개의 ADC를 제어하려면 각 칩의 A0/A1 핀을 조합하여 서로 다른 Address를 갖도록 설정합니다.

실무적으로는 보드에서 단일 ADC만 사용한다면 불필요한 floating이나 노이즈 coupling을 방지하기 위해 A0, A1을 단순히 GND에 묶어 고정 주소로 두는 것이 가장 안정적입니다. 반면 확장 가능성을 고려한 설계라면, 0Ω 저항 패턴(즉, 옵션 저항 자리)을 두어 A0/A1을 VDD로 점퍼 변경할 수 있게 합니다. 이렇게 하면 생산 시 보드 리비전 없이도 Address를 유연하게 변경할 수 있습니다.

정리하자면, ADC의 A0, A1 핀을 DGND에 연결하신 이유는 의도적으로 I2C Address를 ‘1000000’으로 설정하기 위한 하드웨어 고정 설정이며, 이는 데이터시트의 Address Table에 기반한 표준적인 구성입니다.

whichan123님의 프로필 이미지
whichan123
질문자

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. whichan123님, 질문 주셔서 감사합니다. ADC의 A0, A1 핀 설정에 관한 궁금증을 해결해드리겠습니다.

A0, A1 핀의 역할 및 연결

  1. A0, A1 핀의 기능:

    • A0와 A1 핀은 보통 멀티플렉시드 회로의 I2C 주소를 설정하기 위해 사용됩니다. 이러한 방식으로 동일한 I2C 버스에서 여러 장치를 구분할 수 있습니다.
    • I2C 주소는 종종 A0, A1 핀의 상태(0 또는 1)에 따라 결정됩니다.
  2. DGND에 연결하는 이유:

    • 데이터시트에 언급된 대로, A0, A1을 DGND에 연결하여 ‘100 0000’ 주소를 사용하는 것은 특정 I2C 주소를 얻기 위해 계획된 설계입니다.
    • 이렇게 하면, 해당 주소를 통해 MCU가 해당 ADC 칩과 통신하는 것이 가능합니다.

설계의도 설명

ADC의 A0, A1 핀을 DGND에 연결한 것은 아마도 사용중인 회로 설계에서 특정 주소가 필요하기 때문일 것입니다. 멀티플 I2C 장치를 한 버스에서 사용해야 할 경우, 이런 주소 선정을 통해 충돌을 방지할 수 있습니다.

이 주소 설정은 시스템 내에서 I2C 버스상의 각 장치를 고유하게 식별할 수 있게 하기 위해 중요합니다. 부트 초기화 시 특정 주소로 시작한 후, 장치가 명령을 받을 준비가 되는 동시에 관리적으로 유리한 주소 관리가 가능합니다.

관련 주제에 대해 더 많은 정보를 얻고 싶으시다면, 유사한 주제에 대해 다룬 게시글을 참고해보세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

whichan123님의 프로필 이미지
whichan123

작성한 질문수

질문하기