Udostępnij za pośrednictwem


Korzystanie z I2S w aplikacjach z obsługą czasu rzeczywistego

Usługa Azure Sphere obsługuje interfejs I2S (Inter-IC Sound).

I2S to standard interfejsu szeregowej magistrali używany do łączenia ze sobą cyfrowych urządzeń audio. Magistrala I2S ma osobny zegar i szeregowe sygnały danych.

W tym temacie opisano, jak używać I2S w aplikacjach obsługujnych w czasie rzeczywistym (RTApps).

Uwaga

  • I2S nie jest obecnie obsługiwany w aplikacjach wysokiego poziomu.
  • System operacyjny Azure Sphere nie resetuje urządzeń peryferyjnych podczas uruchamiania. Twoje aplikacje powinny mieć pewność, że urządzenia peryferyjne są w dobrze znanym stanie podczas uruchamiania lub po ponownym uruchomieniu.

Obsługa mt3620 dla I2S w rdzeniach w czasie rzeczywistym

W tej sekcji opisano opcje I2S, które mają zastosowanie tylko podczas uruchamiania usługi Azure Sphere na MT3620.

MT3620 jest wyposażony w dwa interfejsy I2S: I2S0 i I2S1. Można je przydzielić do przypisanego rdzenia w czasie rzeczywistym podczas alokacji zasobów po rozruchu systemu. Każdy interfejs I2S jest chroniony przez podstawowy moduł mapowania, który uniemożliwia dostęp do nieprzypisanych mcu.

Moduł I2S obsługuje tylko tryb podrzędny z zewnętrznymi koderami-dekoderami. Tryb główny i kodery-dekodery wewnętrzne nie są obsługiwane. Jednak zegar główny (I2S_MCLK) jest dostarczany dla koderów-dekoderów zewnętrznych do generowania synchronizacji ramek I2S (I2S_FS) i zegara bitowego I2S (I2S_BCLK).

Wewnętrzne kodery-dekodery audio i tryb główny nie są obsługiwane. Interfejs I2S służy do komunikowania się z zewnętrznymi koderami-dekoderami audio za pośrednictwem magistrali I2S jako podwładny I2S.

Obsługiwane są dwa formaty danych: standardowy protokół I2S i protokół multipleksowania dzielenia czasu (TDM).

Dwa bloki z pięcioma pinezkami są multipleksowane między obiektami GPIO i I2S (I2S0:GPIO56-GPIO60, I2S1:GPIO61-GPIO65).

Aby uzyskać informacje na temat rejestrowania adresów podstawowych, numerów przerwań, częstotliwości zegara, częstotliwości próbkowania i innych szczegółów dotyczących MT3620, zobacz arkusz danych MT3620 i podręcznik użytkownika MT3620 M4. jeśli pytania pozostaną, możesz poprosić o szczegółowe informacje w avnet, wysyłając Azure.Sphere@avnet.comwiadomość e-mail .

Ustawienia manifestu aplikacji

Aby użyć interfejsu podrzędnego I2S, aplikacja RTApp musi wyświetlić ją na liście w sekcji Możliwości w manifeście aplikacji. Na przykład poniższe informacje dodają interfejs I2S do listy zasobów, do których może uzyskiwać dostęp aplikacja:

"Capabilities": {
 "I2sSubordinate": [ "I2S0" ]  }

Interfejs podrzędny Inter-IC Sound (I2S) jest używany tylko przez aplikację RTApp. Ta funkcja nie jest dostępna dla aplikacji wysokiego poziomu.

Manifest aplikacji Azure Sphere zawiera więcej szczegółów na temat manifestu aplikacji.

Przykładowe aplikacje I2S

Repozytorium CodethinkLabs w witrynie GitHub zawiera wiele przykładowych aplikacji, w których pokazano, jak używać obsługiwanych urządzeń peryferyjnych MT3620 w aplikacjach obsługujących środowisko Azure Sphere w czasie rzeczywistym. W szczególności próbka I2S_RTApp_MT3620_BareMetal pokazuje, jak włączyć urządzenie peryferyjne I2S w aplikacji z obsługą czasu rzeczywistego.