Rozwój systemów embedded dzięki I3C
| TechnikaNowoczesne systemy wbudowane stają się coraz bardziej złożone i łączą ze sobą różnorodne czujniki i specjalizowane komponenty w wielu aplikacjach, w tym w IoT, komputerach, elektronice noszonej i podobnych. Aby sprostać rosnącym wymaganiom takich aplikacji, MIPI Alliance opracował zaawansowany interfejs szeregowy I3C (Improved Inter-Integrated Circuit), który przynosi większą funkcjonalność komunikacji dla komponentów elektronicznych, w tym większą szybkość, niższe zużycie energii i lepszą elastyczność projektowania. Kluczowym komponentem każdego systemu wbudowanego są mikrokontrolery (MCU), używane do obsługi czujników i realizacji sterowania. W tym artykule zaprezentujemy kilka przykładowych aplikacji, które mogą wykorzystywać MCU z interfejsem I3C, oferując możliwość migracji i zapewniając zgodność z I2C i SPI.
I3C i aplikacje IoT
Internet Rzeczy (IoT) towarzyszy nam niemal w każdym aspekcie naszego życia, od domowych gadżetów po zaawansowaną automatykę budynkową i elektronikę noszoną. Te połączone ze sobą urządzenia zbierają i wymieniają dane, zasadniczo kształtując nasze cyfrowe środowisko. W takich aplikacjach używane są różne typy czujników, które mierzą, monitorują i przekazują kluczowe parametry fizyczne, takie jak temperatura, wilgotność, ciśnienie oraz odległość do mikrokontrolera.
W przypadku czujników protokół I3C zapewnia wiele korzyści. Pozwala na realizację szybkiej komunikacji, z prędkością do 12,5 MHz w trybie Single Data Rate (SDR). Obsługuje również przerwania i adresowanie dynamiczne, gdzie kontroler przypisuje unikatowe adresy do każdego podłączonego węzła, zapobiegając konfliktom adresacji. W porównaniu do poprzednika, tj. I2C, nowy I3C przynosi większą prędkość, charakteryzuje się prostszym interfejsem 2-żyłowym, bardziej wydajną strukturą protokołu i działa przy niższym napięciu, zmniejszając zużycie energii. Dzięki tym udoskonaleniom protokół I3C doskonale nadaje się do efektywnego zarządzania wieloma węzłami czujnikowymi w obrębie połączonej sieci.
Użycie niedrogiego MCU z wbudowanymi blokami peryferyjnymi I3C do obsługi węzłów czujnikowych w IoT jako agregatora danych pomaga zwiększyć funkcjonalność i wydajność całej instalacji. W takiej konfiguracji wbudowany w MCU przetwornik analogowo-cyfrowy (ADC) jest wykorzystywany do obsługi wielu czujników analogowych. Dostarczane przez niego wartości cyfrowe mogą być następnie przechowywane w pamięci wewnętrznej mikrokontrolera w celu dalszej analizy lub organizowane w paczki w celu realizacji bardziej wydajnej transmisji. Zagregowane dane z czujników są przesyłane do głównego kontrolera za pośrednictwem magistrali I3C w odstępach czasowych zoptymalizowanych pod kątem uzyskania dużej wydajności całego systemu.
Największe zalety I3C w systemach zawierających wiele czujników wynikają z możliwości minimalizacji złożoności docelowej aplikacji i liczby komponentów, jak również kosztów i zużycia energii. Łącze zawiera mniej pinów i tym samym wymaga prostszego okablowania w porównaniu z alternatywnymi interfejsami komunikacyjnymi. Dla projektantów systemów na wymagający rynek IoT niedrogi mikrokontroler z interfejsem komunikacyjnym I3C staje się rozsądnym rozwiązaniem, ułatwiającym tworzenie udanych aplikacji, które są zgodne z wymaganiami rynku.
Wiele protokołów, wiele napięć zasilających
Rozwój technologiczny powoduje, że projektanci systemów wbudowanych stają przed coraz większymi wyzwaniami związanymi z zapewnieniem kompatybilności wstecznej. Jest ona kluczowym aspektem, ponieważ pozwala na ewolucyjne modernizowanie systemów wbudowanych, a nie ich całkowite przeprojektowanie. Aby ułatwić migrację na I3C, ten nowy protokół komunikacyjny eliminuje dotychczasowe ograniczenia interfejsów I2C i SMBus, a jednocześnie używa tych samych dwóch pinów co I2C do transmisji zegara i danych, aby zachować kompatybilność wsteczną.
Obecność "starszego" urządzenia I2C/SMBus na magistrali I3C może mieć wpływ na jej wydajność, nawet przy optymalnie dobranym kontrolerze dla urządzeń I3C. Aby to rozwiązać, MCU z modułem I3C może służyć jako pomost izolujący urządzenia docelowe I2C/SMBus od "czystej" magistrali I3C. Utrzymuje to integralność magistrali I3C, umożliwiając głównemu kontrolerowi I3C komunikację z urządzeniami I2C/SPI za pośrednictwem mostka w MCU. Ponadto mikrokontroler może konsolidować przerwania z urządzeń I2C/SMBus i przesyłać je do głównego kontrolera I3C za pomocą przerwań in-band, bez użycia dodatkowych pinów.
Systemy wbudowane zawierają komponenty takie jak mikrokontrolery, czujniki i inne obwody zasilane różnymi napięciami. Na przykład czujniki analogowe zazwyczaj działają przy napięciu 5 V, podczas gdy protokoły komunikacyjne, takie jak I2C i SMBus, wymagają napięcia zasilania 3,3 V. Magistrala I3C może działać nawet przy napięciu 1 V, aby sprostać wymaganiom nowoczesnych MCU.
Mikrokontrolery z funkcją Multi-Voltage I/O (MVIO) rozwiązują takie ewentualne niezgodności napięciowe i eliminują potrzebę stosowania przesuwników (translatorów) poziomów. Ta funkcja umożliwia jednoczesne działanie magistrali I3C i I2C/SMBus przy różnych napięciach. Na przykład mikrokontroler może obsługiwać magistralę I3C przy napięciu 1 V, utrzymując magistralę I2C/SMBus przy wyższym napięciu 3,3 V w celu zapewnienia zgodności ze starszymi komponentami.
Mikrokontrolery PIC18-Q20 firmy Microchip z funkcją MVIO obsługują wiele protokołów komunikacyjnych, takich jak I3C, SPI, I2C i UART, a także do trzech niezależnych domen napięcia roboczego. Ta elastyczność okazuje się bardzo korzystna w złożonych środowiskach sieciowych, w których urządzenia używają różnych protokołów i napięć, umożliwiając programistom utrzymanie istniejących protokołów przy jednoczesnym zabezpieczeniu możliwości rozwoju.
Nowoczesna infrastruktura obliczeniowa
Większość ludzi nie zauważa, jak bardzo obecnie polegamy w codziennym życiu na informacjach przechowywanych w centrach danych. Od przeprowadzania transakcji biznesowych i finansowych po przeglądanie Internetu, przechowywanie plików, angażowanie się w sieci społecznościowe, uczestnictwo w wirtualnych spotkaniach i korzystanie z cyfrowej rozrywki – wszystkie te czynności są obsługiwane przez komputery znajdujące się w centrach danych. Zapewniają one bezpieczeństwo, szybkość dostępu i stałą dostępność usług cyfrowych.
Sercem takiego centrum danych jest serwer typu blade, czyli zaawansowany komputer zaprojektowany w celu maksymalizacji efektywności zajętości miejsca i optymalizacji wydajności sieci. Ze względu na kluczowe znaczenie, niektóre zadania systemowe w obrębie każdej obudowy serwera są delegowane do kontrolera pomocniczego. Gdy główna jednostka przetwarzająca koncentruje się na zarządzaniu głównym przepływem danych, kontroler pomocniczy wkracza do akcji, aby zwiększyć wydajność sieci. Ustanawia on dodatkowy kanał komunikacyjny w celu nadzorowania poszczególnych serwerów typu blade i obsługuje ważne zadania, takie jak monitorowanie stanu systemu, wykrywanie usterek, wykrywanie i konfigurowanie urządzeń, aktualizowanie oprogramowania i przeprowadzanie diagnostyki bez zakłócania pracy głównego procesora. Zapewnia to płynną i wydajną pracę. Zarządzanie tym bocznym procesem służy jako krytyczne narzędzie, które może znacznie zwiększyć niezawodność, dostępność i wydajność centrów danych.
Dyski SSD (Solid State Drive) są również dzisiaj powszechnie używane w centrach danych do przechowywania danych. Najnowszy format SNIA Enterprise and Datacenter Standard Form Factor (EDSFF) przyjął protokół I3C jako obowiązujący do komunikacji z dodatkowym kontrolerem sideband jako naturalną aktualizację istniejącego protokołu SMBus. I3C zaspokaja zapotrzebowanie na szybszą wydajność, wyższe szybkości transferu danych i lepszą efektywność energetyczną. Szybka komunikacja I3C umożliwia szybsze zarządzanie magistralą i modyfikacje konfiguracji w celu zwiększenia responsywności systemu.
Mikrokontrolery o elastycznej funkcjonalności, takie jak rodzina PIC18- Q20, są szczególnie dobrze przystosowane do zadań zarządzania zadaniami w centrach danych. Dzięki maksymalnie dwóm oddzielnym interfejsom I3C jednostki te mogą łatwo łączyć się z kontrolerem SSD w celu wykonywania zadań zarządzania systemem, a także z kontrolerem Baseboard Management Controller (BMC) za pośrednictwem połączenia typu sideband. Ponadto, dzięki wbudowanym starszym protokołom komunikacyjnym, takim jak I2C/SMBus, SPI i UART, układy te stanowią idealne rozwiązanie zarówno dla obecnych, jak i przyszłych projektów SSD.
Podsumowanie
Protokół I3C stał się siłą napędową nowoczesnych systemów wbudowanych. Ulepszone możliwości komunikacji, niższe zużycie energii i zgodność wsteczna sprawiają, że I3C jest kamieniem węgielnym dla aplikacji IoT i obliczeniowych nowej generacji. Dzięki optymalizacji funkcjonalności czujników w urządzeniach IoT i komunikacji centrów danych, wszechstronność I3C, po zintegrowaniu z mikrokontrolerami, zapewnia solidną bazę dla przyszłych systemów elektronicznych. Wraz z postępem technologii, I3C staje się wszechobecny, umożliwiając zwiększoną wydajność, niezawodność i efektywność w wielu aplikacjach elektronicznych.
Aby uzyskać więcej informacji na temat MCU z zaawansowanymi możliwościami I3C, I3C, odwiedź stronę www.microchip.com/Q20
Stephenie Pinteric i Ulises Iniguez
Microchip
www.microchip.com