W najnowszym Elektronik-u jest opis interfejsu I3C jako następcy I2C i SPI. Czy ktoś już tego używał w praktyce? Czy to może pieśń przyszłości...
Robert
W najnowszym Elektronik-u jest opis interfejsu I3C jako następcy I2C i SPI. Czy ktoś już tego używał w praktyce? Czy to może pieśń przyszłości...
Robert
W praktyce nie, ale tak sobie czytam:
To może być dobre.
"A standardized set of common command codes"
To w sumie też, może będzie można gadać z urządzeniami nie znając ich konkretnych protokołów. Choć nie wiem do czego miałoby się to realnie przydać, przecież zwykle wiemy z czym gadamy.
"Multi-controller operation with a well-defined protocol for hand-off between controllers"
W sumie I2C też ma multi-master przez arbitrację.
"I3C uses open-drain mode when necessary for compatibility, but switches to push-pull outputs whenever possible"
Ciekawe, będzie szybciej.
"Clock stretching, a rarely used I2C feature, is not supported."
A to mi się nie podoba. Przecież to nie jest tak rzadko używane. Sam tego często używam, jak np. implementuję slave na wolnym MCU.
Ogólnie szczegółów nie znam, ale I2C ma tę zaletę, że jest proste, wręcz prymitywne. Jak się chce to obsłużyć bit-bangiem to wystarczy kilkaset bajtów kodu maszynowego. Żeby to I3C nie było kolejnym kombajnem, który wymaga kilobajtów pamięci (programu) do obsługi i miliona dziwnych przypadków do obsłużenia... ale zobaczymy.
Jeśli urządzenia I3C będą zawsze umiały gadać w I2C to będzie OK. Będzie się z nimi gadało przez I2C jak nie będzie potrzeby wykorzystywać zalet I3C i tyle.
W zasadzie coś tekiego można by robić na zwykłym I2C: urządzenie może przejąc magistralę i wysłać pilną informację. Ale nikt tego nie robi.
To w zasadzie nic nowego, są wariantly I2C które tak działają. Ja widziałem warianty do 5.5Mb/s. Kłopot jest taki że niewiele urządzeń to implementuje.
I3C raczej nie jest przewidziane do implementacji programowej. Może by się udało na Raspberry Pi Pico przez PIO.
I3C to specifikacja producentów urządzeń "komputerowych" (tabletów, smartfonów itp.). Miną lata (jeśli w ogóle) zanim to trafi do MCU. Raz że są wymagania techniczne kłopotliwe dla prostych scalaków. Dwa że specyfikacja jest zamknięta wewnątrz "klubu", żeby to się rozpowszechniło to muszą być konkretne opisy a źródłem informacji powinna być specyfikacja. Trzy, jak potrzeba szybkości to są inne łącza z którymi I3C musiałoby konkurować.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required