※ 필요에 의해 공부하며 정리한 것이라 틀린 부분이 있을 수 있습니다.
I2S (I²S)
integrated Interchip Sound의 약자로 디지털 오디오 장치 간의 통신을 위한 시리얼 버스 인터페이스 표준이다.
I²S는 3개의 라인으로 구성된다.
- Bit clock line
- Continuous Serial Clock (SCK), 일반적으로 Bit Clock (BLCK)로 쓴다.
- Word clock line
- Word Select (WS), 일반적으로 Left-Right Clock (LRCLK) 또는 Frame Sync (FS)라고 불린다.
- Data line
- Serial Data (SD)라고 하며, SDATA, SDIN, SDOUT, DACDAT, ADCDAT 등으로 불리기도 한다.
위키에 보면 그 외 아래와 같은 라인이 있을 수 있다고 하지만, I²S bus specification은 아니다.
- Master Clock (일반적으로 256 x LRCLK)
- 별도의 클럭이 없는 IC의 경우, 외부에서 Master Clock을 받아 사용하게 됨.
- Upload를 위한 Data line
Timing diagram of I²S
위와 같이 Word select (WS)는 falling edge, Serial data (SD)는 rising edge에 동기화된다.
Bit clock (SCK)은 SD의 개별 bit 마다 1회 클럭이 발생한다. Bit clock frequency는 sample rate / channel 비트 수 / 채널 수의 곱으로 결정된다.
예를 들어, 내가 사용할 PCM 설정인 모노 / 8000Hz / 16bit 오디오일 경우, 8000Hz x 16 x 1 = 128000Hz가 된다.
I²S는 2 채널 전송이 가능하다. Word select (WS)를 사용해서 channel에 대한 정보(ch. 1 또는 ch. 2)를 전달하게 된다. (Low Clock 일 때 left audio, High Clock일 때 right)
I²S 연결 구성
I²S 다양한 형태로 구성이 될 수 있다. 기존적으로 Master가 누구냐에 따라 구성이 된다고 보면 된다.
(아래서 언급하는 Speaker와 Mic. 는 각각의 앞/뒤 단에 붙은 IC를 의미함)
- 상단 좌측과 같은 경우, TRANSMITTER가 MASTER다. MCU와 Speaker 간의 연결 예시로 볼 수 있다. MCU가 데이터를 SCK/WS에 맞춰 주면 RECEIVER가 받아 처리하게 된다.
- 상단 우측과 같은 경우, RECEIVER가 MASTER다. MCU와 Mic. 간의 연결 예시로 볼 수 있다. MUC가 SCK와 WS를 주면 Mic. 는 그에 맞게 데이터를 주게 된다.
- 하단과 같은 경우, 별도의 CONTROLLER가 MASTER인 경우다. 이때는 CONTROLLER가 SCK와 WS를 제어하게 된다. 이 경우, TRANSMITTER/RECEIVER는 SLAVE가 된다.
Master Clock와 Upload Line
ADC/DAC 각각을 처리하는 IC도 있지만 둘 모두를 처리하는 IC도 있다. 이 경우, MASTER는 하나의 IC와 연결되어 데이터를 주고받아야 한다. 그런데, I²S는 SD Line이 1개 여서 불가능하다. 이와 같은 상황에서 추가로 필요한 SD Line을 위키에서 "Upload Line"이라 부른 것이 아닐까 한다. 또한, IC에서 Clock(SCK 아님)이 필요할 경우, Master에서 Clock를 넘겨주는 Line을 위키에서 Mater Clock이라 한 것 같다. (Master Clock의 필요 여부는 IC마다 다름)
참고 자료
아래는 Philips의 I²S Spec. 문서이니 참조하세요.
'놀기 > 기초 공부' 카테고리의 다른 글
[Node.js] express.js로 Hello World web server 만들기(왕초보 그냥 따라하기) (0) | 2021.08.08 |
---|---|
[JavaScript] 어제, 오늘, 내일 날짜/시간 계산 (0) | 2021.07.31 |
vim, tab을 space로 변경 & tab size를 4로 변경 (0) | 2021.07.26 |
색온도 (Color Temperature) (0) | 2021.07.19 |
SPI 통신 정리 (0) | 2021.07.12 |
댓글