-
1. Data: 2024-11-12 20:30:04
Temat: I3C
Od: pytajacy <r...@p...fm>
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
-
2. Data: 2024-11-13 03:29:34
Temat: Re: I3C
Od: a...@h...invalid (Arnold Ziffel)
pytajacy <r...@p...fm> wrote:
> 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...
W praktyce nie, ale tak sobie czytam:
https://en.wikipedia.org/wiki/I3C_(bus)
"In-band interrupts over the serial bus rather than requiring separate
pins. In I2C, interrupts from peripheral devices typically require an
additional non-shared pin per package."
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.
--
Do rodziny Masztalskich przyjechała teściowa. Stęskniony za babcią Jasio próbuje
usiąść na kolanach.
- Jasiu usiądź obok mnie na krzesełku.
- Dlaczego?
- Bolą mnie nogi. Musiałam z dworca iść na piechotę.
- Na piechotę? Przecież tato powiedział, że babcię diabli przynieśli.
-
3. Data: 2024-11-14 19:08:10
Temat: Re: I3C
Od: a...@f...org (Waldek Hebisch)
Arnold Ziffel <a...@h...invalid> wrote:
> pytajacy <r...@p...fm> wrote:
>
>> 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...
>
> W praktyce nie, ale tak sobie czytam:
>
> https://en.wikipedia.org/wiki/I3C_(bus)
>
> "In-band interrupts over the serial bus rather than requiring separate
> pins. In I2C, interrupts from peripheral devices typically require an
> additional non-shared pin per package."
>
> To może być dobre.
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.
> "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.
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.
> "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.
I3C raczej nie jest przewidziane do implementacji programowej. Może
by się udało na Raspberry Pi Pico przez PIO.
> 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.
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ć.
--
Waldek Hebisch