실시간 지원 애플리케이션에서 I2S 사용
Azure Sphere는 I2S(Inter-IC Sound) 인터페이스를 지원합니다.
I2S는 디지털 오디오 디바이스를 함께 연결하는 데 사용되는 직렬 버스 인터페이스 표준입니다. I2S 버스에는 별도의 클록 및 직렬 데이터 신호가 있습니다.
이 항목에서는 RTApps(실시간 지원 애플리케이션)에서 I2S를 사용하는 방법을 설명합니다.
참고
- I2S는 현재 상위 수준 애플리케이션에서 사용할 수 없습니다.
- Azure Sphere OS는 시작 시 주변 장치를 다시 설정하지 않습니다. 애플리케이션은 시작 시 또는 다시 시작한 후 주변 장치가 알려진 상태가 되도록 해야 합니다.
실시간 코어에서 I2S에 대한 MT3620 지원
이 섹션에서는 MT3620에서 Azure Sphere를 실행할 때만 적용되는 I2S 옵션에 대해 설명합니다.
MT3620에는 I2S0 및 I2S1이라는 두 개의 I2S 인터페이스가 있습니다. 시스템 부팅 후 리소스 할당 중에 할당된 실시간 코어에 할당할 수 있습니다. 각 I2S 인터페이스는 할당되지 않은 MCU의 액세스를 거부하는 핵심 매핑 모듈로 보호됩니다.
I2S 모듈은 외부 코덱을 사용하는 하위 모드만 지원합니다. 마스터 모드 및 내부 코덱은 지원되지 않습니다. 그러나 외부 코덱이 I2S 프레임 동기화(I2S_FS) 및 I2S 비트 클록(I2S_BCLK)을 생성하기 위한 master 클록(I2S_MCLK)이 제공됩니다.
내부 오디오 코덱 및 master 모드는 지원되지 않습니다. I2S 인터페이스는 I2S 버스를 통해 외부 오디오 코덱과 I2S 부하로 통신하는 데 사용됩니다.
표준 I2S 프로토콜 및 TDM(시간 분할 멀티플렉싱) 프로토콜의 두 가지 데이터 형식이 지원됩니다.
5개의 핀 블록 2개는 GPIO와 I2S (I2S0:GPIO56-GPIO60, I2S1:GPIO61-GPIO65) 간에 멀티플렉싱됩니다.
레지스터 기본 주소, 인터럽트 번호, 클록 속도, 샘플링 빈도 및 MT3620에 대한 기타 세부 정보는 MT3620 데이터시트 및 MT3620 M4 사용자 설명서를 참조하세요. 질문이 남아 있는 경우 을 이메일로 보내 Azure.Sphere@avnet.comAvnet에서 세부 정보를 요청할 수 있습니다.
애플리케이션 매니페스트 설정
I2S 하위 인터페이스를 사용하려면 RTApp이 애플리케이션 매니페스트의 기능 섹션에 나열해야 합니다. 예를 들어 다음에서는 애플리케이션에서 액세스할 수 있는 리소스 목록에 I2S 인터페이스를 추가합니다.
"Capabilities": {
"I2sSubordinate": [ "I2S0" ] }
I2S(Inter-IC Sound) 하위 인터페이스는 RTApp에서만 사용됩니다. 이 기능은 상위 수준 애플리케이션에서 사용할 수 없습니다.
Azure Sphere 애플리케이션 매니페스트에는 애플리케이션 매니페스트 에 대한 자세한 내용이 있습니다.
I2S 샘플 애플리케이션
GitHub의 CodethinkLabs 리포지토리에는 Azure Sphere 실시간 지원 애플리케이션에서 MT3620 지원 주변 장치를 사용하는 방법을 보여 주는 여러 샘플 애플리케이션이 포함되어 있습니다. 특히 I2S_RTApp_MT3620_BareMetal 샘플은 실시간 지원 애플리케이션에 I2S 주변 장치를 통합하는 방법을 보여 줍니다.