[rapa3기][1조][차량 제어를 통한 지능형 승차감 개선 시스템]

[VCP-G] 아두이노 IDE에서 I2S 마이크 사용 방법 문의

안녕하세요. RAPA에서 TOPST 보드를 활용하여 ‘차량 제어를 통한 지능형 승차감 개선 시스템’ 주제로 프로젝트를 진행하고 있는 1조 교육생 이재강입니다.

프로젝트의 핵심 기능인 I2S 마이크 연동 과정에서 해결되지 않는 문제가 있어, 개발자분의 고견을 구하고자 문의 드립니다.

1. 개발 환경

  • 보드: TOPST VCP-G

  • 개발 도구: Arduino IDE (TOPST VCP BSP 설치 완료)

  • 사용 모듈: Adafruit I2S MEMS Microphone (SPH0645)

2. 문의 배경

TOPST 홈페이지 제품 사양 및 제공된 상세 핀맵을 통해 VCP-G 보드가 I2S 인터페이스를 공식 지원함을 확인하였습니다. 이에 따라 핀맵 상의 Pin 13(SCK11), Pin 12(SDI11), Pin 10(CMD11)을 사용하여 I2S 마이크 입력을 받으려고 했습니다.

하지만 아두이노 IDE 환경에서는 I2S 관련 라이브러리가 제공되지 않아 사용이 불가능한 상태입니다.

3. 확인한 문제점

  1. 표준 라이브러리 부재:

    • 아두이노 표준인 #include <I2S.h> 사용 시 fatal error: I2S.h: No such file or directory 에러가 발생합니다.

    • BSP 라이브러리 폴더(packages\topst\...\libraries)를 확인했으나 Digital, SPI, I2C, UART만 존재하고 Audio 또는 I2S 관련 폴더는 존재하지 않습니다.

  2. Low-Level 드라이버 (gpsb.h) 확인:

    • 시스템 폴더 내 gpsb.h 파일을 확인해본 결과 #define GPSB_XFER_DMA#define GPSB_SLAVE_MODE 등이 정의되어 있어, 하드웨어적으로는 I2S 구동 준비가 되어 있는 것으로 보입니다.

    • 하지만 이를 아두이노 IDE에서 제어할 수 있는 API나 예제 코드가 없습니다.

4. 요청 사항

홈페이지에 명시된 사양대로 I2S 기능을 사용하여 프로젝트를 완수할 수 있도록 가이드가 필요합니다.

  • Q1. 현재 아두이노 IDE에서 사용할 수 있는 별도의 I2S 라이브러리가 있을까요?

  • Q2. 라이브러리가 없다면, gpsb.h를 이용하여 I2S Slave 모드(DMA)를 설정하는 예제 코드를 제공해주실 수 있으실까요? (레지스터 설정값 등)

바쁘신 와중에 확인해 주셔서 감사합니다.

이재강 올림

안녕하세요. TOPST입니다.
먼저 크게 중요하지 않으면 실명을 넣지 말아 주세요~

일반인들 누구나 검색으로 내용을 볼 수 있는 곳이기에 꼭 중요한 내용이 아니면 실명을 넣지 않으셔도 좋지 않을까 싶습니다.

VCP-G에서 Arduino를 이용할 때의 I2S 관련해서 R&D 연구소의 문의 후 답변 드리겠습니다.
조금만 기다려 주세요~

1 Like

안녕하세요.

현재 저희 프로젝트에서 다음 단계 개발이 잠시 멈춰있는 상황입니다.

혹시 연구소 측 검토가 어느 정도 진행되었는지, 대략적인 답변 가능 일정을 알 수 있을지 조심스레 문의드립니다.

확인 부탁드리겠습니다. 감사합니다.

안녕하세요.

현재 아두이노 IDE에서 사용할 수 있는 별도의 I2S 라이브러리는 없습니다.
또한 gpsb.h를 이용하여 I2S Slabe 모드로 설정하는 예제코드도 없어 별도로 구현하셔야 합니다.

제 생각에는 Arduino IDE 툴을 사용하시는 방법 말고, FreeRTOS에는 I2S 드라이버가 있으므로 FreeRTOS에서 구현하시는 것을 추천 드립니다.
FreeRTOS 구현은 아래와 같습니다.

구현하고자 하는 코드 작성 → rules.mk에 c파일 추가 → main.c파일 안에 Main_StartTask 함수에 최종 호출 함수 추가

추가로 문의사항 있으시면 답변 부탁드립니다.

감사합니다.

1 Like

감사합니다. 알려주신 방향대로 진행해보도록 하겠습니다.

안녕하세요, TOPST VCP-G 보드를 활용하여 오디오 출력을 구현 중입니다. VCP-G FreeRTOS SDK의 audio_test.c 예제를 분석하던 중 하드웨어 구성에 대해 몇 가지 확인이 필요하여 문의드립니다.

내장 DAC 존재 여부: VCP-G 보드 내부에 자체적으로 아날로그 오디오 출력이 가능한 내장 DAC가 포함되어 있는지 알고 싶습니다.

외부 오디오 모듈 필수 여부: 만약 보드 자체에 아날로그 출력 기능이 없다면, 소리 출력을 위해 별도의 외부 오디오 모듈을 반드시 연결해야 하는 구성인가요?

WM8731 코덱 실장 여부: 제공되는 audio_test.c 예제 코드에서 WM8731 관련 코드를 발견했습니다. VCP-G 보드 하드웨어 상에 WM8731이 기본적으로 실장되어 있는지 궁금합니다.

DAC 출력 가능 여부: 만약 WM8731이 실장되어 있다면, 해당 칩의 DAC 기능을 활성화하여 별도의 추가 하드웨어 없이 보드 상의 단자(핀)를 통해 아날로그 오디오를 내보낼 수 있는지 궁금합니다.

해당 보드에서 오디오 출력을 구현하기 위한 가장 표준적인 하드웨어 구성 방안을 알려주시면 감사하겠습니다.