Udostępnij za pośrednictwem


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

Usługa Azure Sphere obsługuje Inter-Integrated Circuit (I2C) w trybie głównym. I2C to szeregowa magistrala łącząca urządzenia peryferyjne o niskiej prędkości z mikrokontrolerami. I2C korzysta z modelu wielo wzorcowego/wielowładniowego, w którym urządzenie główne steruje zestawem urządzeń podrzędnych. I2C jest często używany z urządzeniami peryferyjnymi, które wymagają tylko prostej lekkiej komunikacji z mikrokontrolerem, takich jak kontrolki ustawień, przełączniki zasilania i czujniki.

W tym temacie opisano, jak używać I2C w aplikacjach obsługujnych w czasie rzeczywistym (RTApps). Aby uzyskać informacje na temat używania I2C w aplikacjach wysokiego poziomu, zobacz Korzystanie z I2C w aplikacjach wysokiego poziomu.

Uwaga

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 I2C w rdzeniach w czasie rzeczywistym

Specyfikacje I2C dla mikroukładu MT3620 są wymienione w sekcji Stan pomocy technicznej MT3620. Podręcznik użytkownika tablicy deweloperów MT3620 opisuje układ pinezki i funkcje okablowania.

Po skonfigurowaniu tablicy deweloperów MT3620 możesz użyć dowolnego bloku ISU jako głównego interfejsu I2C. W przypadku używania bloku ISU jako interfejsu głównego I2C nie można używać tego samego bloku co interfejs SPI lub UART.

Adresy urządzeń podrzędnych dziesięć bitów nie są obsługiwane na MT3620; obsługiwane są tylko adresy 7-bitowe. Mt3620 obsługuje szybkości magistrali 100 KHz, 400 KHz i 1 MHz, ale nie 3,4 MHz. Odczyty I2C o zerowej bajtach nie są obsługiwane na mt3620.

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żywać I2C, aplikacja RTApp musi wyświetlić ją na liście w sekcji Możliwości manifestu aplikacji. Na przykład poniższy wiersz rezerwuje główny interfejs I2C na isu0 w mikroukładach MT3620:

"Capabilities": {
   "I2cMaster": [ "ISU0" ] }

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

Przykładowe aplikacje I2C

Repozytorium CodethinkLabs w witrynie GitHub zawiera wiele przykładowych aplikacji, w których pokazano, jak używać obsługiwanych urządzeń peryferyjnych MT3620 w usłudze Azure Sphere RTApps. W szczególności próbka I2C_RTApp_MT3620_BareMetal pokazuje, jak używać urządzenia peryferyjnego I2C w aplikacji z obsługą czasu rzeczywistego.