GPIO로 I2S 동작할 수 있을까?
전자회로, PCB / 2016. 12. 31. 23:30
I2S는 보통 16~48kHz x 16bit x 2CH의 고속 데이터신호이다.
I2S를 지원하는 mcu가 있긴하지만, 1,2개 포트만 지원하고, 가격도 높은 편이다.
I2S가 2개이살 필요할때, SPI등의 다른 조건까지 만족하는 mcu를 찾는것은 쉽지 않다.
인터넷상에서는 SPI포트로 구현하고 있다.
그러나, SPI포트도 부족한 상황이라, 사용하기 쉽지 않다.
방법1) GPIO포트로 i2S구현이 가능할까?
48MHz mcu인 경우, 48kHz, 16비트 2채널 오디오를 처리하려면,
48000kHz/(48kHz*32bit)=31.25클럭
즉, 1비트씩 on/off할때, 31클럭(명령)을 수행할 수 있다.
인터럽트를 사용하게되면, 기본 10~50클럭정도는 필요하다.
31클럭이라면, I2S가 요구하는 비트클럭을 맞추기 어렵다.
방법2) 쉬프트레지스터 IC 74hc165(병렬입력-직렬출력), 74hc595(직렬입력-병렬출력)
mcu에서 8비트씩 한번에 입/출력하면,
48000kHz/(48kHz*32bit/8)=375
충분히 제어가 가능하다.
단, I2S 1포트당 2개의 ic가 필요하고, 비용은 개당 약 200원씩, 합계 약 400원이다. ADC/DAC면 2배.
PCB공간도 필요하다.
결론 : 쉽지 않다.
'전자회로, PCB' 카테고리의 다른 글
PCB재료-폴리이미드 필름 (0) | 2017.04.01 |
---|---|
PCB설계 - 회로도 볼줄 모르는 분이 설계할 경우 문제점 (0) | 2017.03.04 |
PCB설계 - 너무 빽빽한 회로 (2) | 2017.03.01 |
파워 릴레이 - 래치 릴레이 (0) | 2017.01.07 |
부품 단종 (0) | 2016.10.21 |