24셀이면 AD7280A가 4개 필요하다. 각각 SPI로 연결하면 CS 핀이 4개 필요하고 배선도 복잡해진다.
데이지체인으로 연결하면 MCU는 맨 앞 IC하고만 통신하면 된다. 나머지는 줄줄이 연결.
연결 구조
MCU
│
├─SCLK──┬──────┬──────┬──────┐
│ │ │ │ │
├─MOSI──┤ │ │ │
│ ▼ │ │ │
│ ┌────┐ │ │ │
│ │Dev0│───┘ │ │
│ │6셀 │──DOUT │ │
│ └────┘ │ │ │
│ ▼ │ │
│ ┌────┐ │ │
│ │Dev1│───┘ │
│ │6셀 │──DOUT │
│ └────┘ │ │
│ ▼ │
│ ┌────┐ │
│ │Dev2│───┘
│ │6셀 │──DOUT
│ └────┘ │
│ ▼
│ ┌────┐
└─MISO◄────────────────────│Dev3│
│6셀 │
└────┘
Dev0이 MCU랑 직접 연결. Dev0 출력이 Dev1 입력으로. 이런 식으로 쭉 연결.
맨 마지막 Dev3의 출력이 MCU의 MISO로 돌아온다.
주소 체계
각 디바이스는 주소가 있다. 0부터 시작.
- Dev0: 주소 0 (Cell 0~5)
- Dev1: 주소 1 (Cell 6~11)
- Dev2: 주소 2 (Cell 12~17)
- Dev3: 주소 3 (Cell 18~23)
명령 보낼 때 주소를 지정하면 해당 디바이스만 응답한다. 주소 0x1F로 보내면 전체 디바이스가 응답(브로드캐스트).
주소 할당
처음엔 모든 디바이스 주소가 0이다. 주소 할당 절차가 필요하다.
- CONTROL_LB 레지스터의 ADDR_RD_EN 비트 설정
- READ 명령 보내면 각 디바이스가 순차적으로 주소 할당
이게 좀 헷갈렸다. 데이터시트 읽어도 잘 이해가 안 됐는데, 직접 해보니까 알겠더라.
// 주소 할당 시퀀스
AD7280A_Write(0x1F, CTRL_LB, ADDR_RD_EN); // 전체 브로드캐스트
AD7280A_Read(0x1F, CTRL_LB); // 읽기 명령 → 주소 자동 할당
이렇게 하면 물리적으로 MCU에서 가까운 순서대로 0, 1, 2, 3 할당된다.
전원 시퀀싱
이것 때문에 이틀 날렸다.
4개 디바이스 중 2개만 인식되는 문제가 있었다. 배선 확인하고 납땜 다시 하고 별짓 다 했는데 안 됐다.
데이터시트 다시 읽다가 발견:
“Apply power to the lowest potential device first.”
아래쪽 디바이스(높은 셀 번호)부터 전원이 들어가야 한다. 동시에 넣으면 안 된다.
전원 시퀀서 추가하거나, 소프트웨어로 순차 활성화해야 한다. 나는 소프트웨어로 처리했다.
실제 연결

셀 탭 연결이 은근 까다롭다. 순서 꼬이면 음수 전압 읽히거나 IC 죽는다.
Cell 0이 가장 낮은 전위, Cell 5가 가장 높은 전위. 이거 반대로 연결하면 안 된다.
정리
- 데이지체인: IC끼리 줄줄이 연결, MCU는 맨 앞만 연결
- 주소: 0
3 (또는 07), 0x1F는 브로드캐스트 - 주소 할당: ADDR_RD_EN 후 READ 명령
- 전원: 아래쪽(높은 셀)부터 순차 인가
다음은 SPI 통신 설정. STM32 HAL로 AD7280A 통신하기.