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.