블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.11
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 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공간도 필요하다.


결론 : 쉽지 않다.

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함