-
1. Data: 2023-01-15 22:57:42
Temat: SPI vs I2C
Od: Robert Wańkowski <r...@w...pl>
Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
128x128? SPI czy I2C.
Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
akcelerometru.
Z wymagać tylko tyle. Jeden kolor.
I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
elastyczna "gęsia szyjka")?
Robert
-
2. Data: 2023-01-16 08:54:17
Temat: Re: SPI vs I2C
Od: Dawid Rutkowski <d...@w...pl>
niedziela, 15 stycznia 2023 o 22:57:45 UTC+1 r...@g...com napisał(a):
> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
> 128x128? SPI czy I2C.
> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
> akcelerometru.
> Z wymagać tylko tyle. Jeden kolor.
> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
> elastyczna "gęsia szyjka")?
Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
Ale to tylko dwa zamiast 4 cieniutkich, a i tak grubsze potrzebne do zasilania -
minimum 2, a może i 3 lub 4, jeśli podświetlenie osobno.
Hmm, pasek postępu 128*128? Szeroki będzie ;>
-
3. Data: 2023-01-16 09:14:59
Temat: Re: SPI vs I2C
Od: Janusz <j...@o...pl>
W dniu 2023-01-16 o 08:54, Dawid Rutkowski pisze:
> niedziela, 15 stycznia 2023 o 22:57:45 UTC+1 r...@g...com napisał(a):
>> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
>> 128x128? SPI czy I2C.
>> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
>> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
>> akcelerometru.
>> Z wymagać tylko tyle. Jeden kolor.
>> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
>> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
>> elastyczna "gęsia szyjka")?
>
> Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
Przecież SPI i I2C to tyle samo przewodów, dane+zegar+masa.
SPI jest lepsze bo szybsze ale nie ma adresowania.
--
Janusz
-
4. Data: 2023-01-16 10:56:41
Temat: Re: SPI vs I2C
Od: Dawid Rutkowski <d...@w...pl>
poniedziałek, 16 stycznia 2023 o 09:17:08 UTC+1 Janusz napisał(a):
> W dniu 2023-01-16 o 08:54, Dawid Rutkowski pisze:
> > niedziela, 15 stycznia 2023 o 22:57:45 UTC+1 r...@g...com napisał(a):
> >> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
> >> 128x128? SPI czy I2C.
> >> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
> >> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
> >> akcelerometru.
> >> Z wymagać tylko tyle. Jeden kolor.
> >> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
> >> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
> >> elastyczna "gęsia szyjka")?
> >
> > Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
> Przecież SPI i I2C to tyle samo przewodów, dane+zegar+masa.
> SPI jest lepsze bo szybsze ale nie ma adresowania.
To zależy jakie SPI - w najbardziej podstawowym są jednak cztery.
No jak transmisja jednostronna to jeden odpada.
Albo są wersje z dwukierunkowym pinem danych.
Oraz drugi podzbiór bez chip select,
ale wg mnie to kiszka jest, bo nie ma żadnego ramkowania (ani bajtu ani ramki) -
zgubisz jeden
takt zegara i cała transmisja zdycha aż do resetu.
-
5. Data: 2023-01-16 11:33:05
Temat: Re: SPI vs I2C
Od: Janusz <j...@o...pl>
W dniu 2023-01-16 o 10:56, Dawid Rutkowski pisze:
> poniedziałek, 16 stycznia 2023 o 09:17:08 UTC+1 Janusz napisał(a):
>> W dniu 2023-01-16 o 08:54, Dawid Rutkowski pisze:
>>> niedziela, 15 stycznia 2023 o 22:57:45 UTC+1 r...@g...com napisał(a):
>>>> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
>>>> 128x128? SPI czy I2C.
>>>> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
>>>> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
>>>> akcelerometru.
>>>> Z wymagać tylko tyle. Jeden kolor.
>>>> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
>>>> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
>>>> elastyczna "gęsia szyjka")?
>>>
>>> Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
>> Przecież SPI i I2C to tyle samo przewodów, dane+zegar+masa.
>> SPI jest lepsze bo szybsze ale nie ma adresowania.
>
> To zależy jakie SPI - w najbardziej podstawowym są jednak cztery.
> No jak transmisja jednostronna to jeden odpada.
> Albo są wersje z dwukierunkowym pinem danych.
> Oraz drugi podzbiór bez chip select,
> ale wg mnie to kiszka jest, bo nie ma żadnego ramkowania (ani bajtu ani ramki) -
zgubisz jeden
> takt zegara i cała transmisja zdycha aż do resetu.
Wszystko prawda, ale przy sprzętowej transmisji trudno zgubić takt, poza
tym zawsze można dodać ten jeden drut reset, a przewaga SPI nad I2C
szczególnie przy wyświetlaczu graficznym jest oczywista.
--
Janusz
-
6. Data: 2023-01-16 11:56:06
Temat: Re: SPI vs I2C
Od: Robert Wańkowski <r...@w...pl>
W dniu 2023-01-16 o 10:56, Dawid Rutkowski pisze:
> To zależy jakie SPI
Ten z racji kształtu i rozmiarów jest ok.
https://allegro.pl/oferta/okragly-wyswietlacz-tft-ip
s-1-28-240x240-spi-12709902746
Nawet ma większą rozdzielczość.
Ile minimalnie żył będzie wymagał do połączenia z Arduino?
4 kynary 0,65 mm powinny dać się przewlec przez fi 1,8 mm.
A gdyby nie, to nawojowy to zły pomysł?
Robert
-
7. Data: 2023-01-16 12:06:51
Temat: Re: SPI vs I2C
Od: Dawid Rutkowski <d...@w...pl>
poniedziałek, 16 stycznia 2023 o 11:56:08 UTC+1 r...@g...com napisał(a):
> W dniu 2023-01-16 o 10:56, Dawid Rutkowski pisze:
> > To zależy jakie SPI
>
> Ten z racji kształtu i rozmiarów jest ok.
> https://allegro.pl/oferta/okragly-wyswietlacz-tft-ip
s-1-28-240x240-spi-12709902746
>
> Nawet ma większą rozdzielczość.
>
> Ile minimalnie żył będzie wymagał do połączenia z Arduino?
> 4 kynary 0,65 mm powinny dać się przewlec przez fi 1,8 mm.
> A gdyby nie, to nawojowy to zły pomysł?
Ten wymaga 7, w tym dwa grubsze.
Wątpię, czy radę zasilić kynarkiem - ale możesz spróbować, najwyżej się stopi.
Kupiłem jakiś czas temu podobny (ale lepszy, ma jeszcze mniejszą płytkę i dodatkowo
sterowanie jasnością podświetlenia, choć nieco droższy), ale nawet nie zdążyłem
uruchomić.
Nie będę pisał, gdzie, kupiłem, bo i tak teraz nie ma.
-
8. Data: 2023-01-16 12:11:51
Temat: Re: SPI vs I2C
Od: Dawid Rutkowski <d...@w...pl>
poniedziałek, 16 stycznia 2023 o 11:33:08 UTC+1 Janusz napisał(a):
> W dniu 2023-01-16 o 10:56, Dawid Rutkowski pisze:
> > poniedziałek, 16 stycznia 2023 o 09:17:08 UTC+1 Janusz napisał(a):
> >> W dniu 2023-01-16 o 08:54, Dawid Rutkowski pisze:
> >>> niedziela, 15 stycznia 2023 o 22:57:45 UTC+1 r...@g...com napisał(a):
> >>>> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
> >>>> 128x128? SPI czy I2C.
> >>>> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
> >>>> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
> >>>> akcelerometru.
> >>>> Z wymagać tylko tyle. Jeden kolor.
> >>>> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
> >>>> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
> >>>> elastyczna "gęsia szyjka")?
> >>>
> >>> Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
> >> Przecież SPI i I2C to tyle samo przewodów, dane+zegar+masa.
> >> SPI jest lepsze bo szybsze ale nie ma adresowania.
> >
> > To zależy jakie SPI - w najbardziej podstawowym są jednak cztery.
> > No jak transmisja jednostronna to jeden odpada.
> > Albo są wersje z dwukierunkowym pinem danych.
> > Oraz drugi podzbiór bez chip select,
> > ale wg mnie to kiszka jest, bo nie ma żadnego ramkowania (ani bajtu ani ramki) -
zgubisz jeden
> > takt zegara i cała transmisja zdycha aż do resetu.
> Wszystko prawda, ale przy sprzętowej transmisji trudno zgubić takt, poza
> tym zawsze można dodać ten jeden drut reset, a przewaga SPI nad I2C
> szczególnie przy wyświetlaczu graficznym jest oczywista.
No i kiedy masz zamiar robić ten reset, szczególnie jeśli transmisja danych
jednostronna?
Jakby jeszcze ten reset nie czyścił pamięci ekranu - ale czasem czyści, a już na
pewno czyści
rejestry sterownika, a bez ich ustawienia nawet prawidłowa zawartość pamięci się
dobrze nie wyświetli.
Zaś im szybsza transmisja tym większa szansa zgubienia czegoś, choćby przez
zakłócenia.
Kolega ćwiczył FT810 w klawiaturach do domofonów - polegli na transmisji, co prawda
w warunkach dość zimowych, ale jednak się nie nadawało, mimo że na biurku tak ładnie
działało - bo sam chip wygląda zacnie i bardzo ułatwia.
-
9. Data: 2023-01-16 13:51:55
Temat: Re: SPI vs I2C
Od: Adam Górski <gorskiamalpawpkropkapl@xx>
>>> Nie wiem czym ma znaczenie, który protokół będzie obsługiwał wyświetlacz
>>> 128x128? SPI czy I2C.
>>> Chcę to podłączyć do Arduino. Wyświetlacz graficzny, ma wyświetlać
>>> płynnie coś w rodzaju paska postępu, ale nadążającego za wskazaniami z
>>> akcelerometru.
>>> Z wymagać tylko tyle. Jeden kolor.
>>> I jeszcze czy da się domowym sposobem podłączyć ten wyświetlacz
>>> przewodami, które przejdą przez rurkę fi wewnętrzne 1,8 mm (taka
>>> elastyczna "gęsia szyjka")?
>>
>> Jak tak wąsko to im mniej przewodów tym lepiej, więc I2C.
> Przecież SPI i I2C to tyle samo przewodów, dane+zegar+masa.
> SPI jest lepsze bo szybsze ale nie ma adresowania.
>
Opowiadasz głupoty.
Dane + zegar to nie jest SPI. To dane + zegar.
SPI jest fajny ale to 4 przewody sygnałowe + 2 zasilania + może coś
jeszcze vendor specyfic.
Mniej jak I2C + zasilanie czyli 4 przewody nie zrobisz w łatwy sposób.
Czy muszą być grube przewody ? To zależy ile wyświetlacz prądu pobiera.
Np taki :
https://kamami.pl/wyswietlacze-oled-graficzne/572241
-1-5-inch-oled-module-128-x-128-wyswietlacz-oled.htm
l
Który ma I2C i SPI pobiera max 0.5W co przekłada się na max 0.15A przy
wszystkich pikselach włączonych. Wg dokumentacji.
Powyższy wyświetlacz ma niestety dodatkowe sygnały D/C czyli
Data/Command i Reset. Można to jednak rozwiązać stosując I2C expander
PCF8574. Czyli nadal mamy 4 przewody. Przewaga I2C.
Stosując np 4 x przewód
1806-BK005 z oferty tme o średnicy miedzi 28AWG i całkowitej średnicy
0.6mm , drut o rezystancji
65 ohm / 1000ft czyli ok 0.2 ohm / metr
Czyli spadek napięcia przy max obciążeniu w okolicy 60mV/metr.
Zasilanie spokojnie może się wachać 3.2-3.3V przy 1m przewodach.
Układamy go 2 x 2 co daje 1.2mm x 1.2 mm
Potrzebujemy zatem otworu o średnicy 1.697mm.
Jest to zatem w miarę łatwo wykonalne z I2C czego nie da się powiedzieć
o SPI.
Tanio nie jest, ale działać będzie. Zawsze możesz poszukać tańszego
przewodu lub wyświetlacza co mniej prądu ciągnie.
To tylko przykład.
SPI jest szybszy, łatwiejszy w programowaniu, bardziej odporny na błędy
( czasem na I2C zdarzy się ,że slave trzyma SDA i trzeba umieć wyjść z
tego stanu ).
W tym przypadku mam SPI:DIN+CLK+CS+DC+VCC+GND+RST vs
I2C: SDA+SCL+GND+VCC.
Dodatkowo w tym przypadku SPI nie dostanie potwierdzenia odebrania
danych. Nie ma danych wracających. I2C ma w protokole ACK i z założenia
jest dwukierunkowy.
SPI jest w tym wypadku pewnie 10 - 20 razy szybszy ( zależnie od
długości przewodów ).
Tylko niekoniecznie jest to potrzebne.
Pozdrawiam
Adam Górski
-
10. Data: 2023-01-16 14:42:56
Temat: Re: SPI vs I2C
Od: Robert Wańkowski <r...@w...pl>
W dniu 2023-01-16 o 13:51, Adam Górski pisze:
> Dane + zegar to nie jest SPI. To dane + zegar.
>
> SPI jest fajny ale to 4 przewody sygnałowe + 2 zasilania + może coś
jeszcze vendor specyfic.
>
> Mniej jak I2C + zasilanie czyli 4 przewody nie zrobisz w łatwy sposób.
No tak, ale ten okrągły mi sie spodobał, a nie znalazłem takiego od
zaraz z I2C.
https://allegro.pl/oferta/okragly-wyswietlacz-tft-ip
s-1-28-240x240-spi-12709902746
>
> Czy muszą być grube przewody ? To zależy ile wyświetlacz prądu pobiera.
>
> Np taki :
https://kamami.pl/wyswietlacze-oled-graficzne/572241
-1-5-inch-oled-module-128-x-128-wyswietlacz-oled.htm
l
>
> Który ma I2C i SPI pobiera max 0.5W co przekłada się na max 0.15A
przy wszystkich pikselach włączonych. Wg dokumentacji.
>
> Powyższy wyświetlacz ma niestety dodatkowe sygnały D/C czyli
Data/Command i Reset. Można to jednak rozwiązać stosując I2C expander
PCF8574. Czyli nadal mamy 4 przewody. Przewaga I2C.
To jeżeli sobie poradzę umożliwi zastosowanie tego wyświatlacza okrągłego.
>
> Stosując np 4 x przewód
>
> 1806-BK005 z oferty tme o średnicy miedzi 28AWG i całkowitej średnicy
0.6mm , drut o rezystancji
> 65 ohm / 1000ft czyli ok 0.2 ohm / metr
> Czyli spadek napięcia przy max obciążeniu w okolicy 60mV/metr.
>
> Zasilanie spokojnie może się wachać 3.2-3.3V przy 1m przewodach.
>
> Układamy go 2 x 2 co daje 1.2mm x 1.2 mm
>
> Potrzebujemy zatem otworu o średnicy 1.697mm.
>
> Jest to zatem w miarę łatwo wykonalne z I2C czego nie da się
powiedzieć o SPI.
>
> Tanio nie jest, ale działać będzie. Zawsze możesz poszukać tańszego
przewodu lub wyświetlacza co mniej prądu ciągnie.
Na ten patrzę:
https://www.tme.eu/pl/details/1032-0500-44/druty-naw
ojowe/synflex/1032-0500-44/
Odległość wyświetlacza od Arduino to 0,3 m (czyli 0,6 m).
Tym będę się martwił później.
Teraz chciałem wiedzieć na który protokół się zdecydować.
>
> To tylko przykład.
>
> SPI jest szybszy, łatwiejszy w programowaniu, bardziej odporny na
błędy ( czasem na I2C zdarzy się ,że slave trzyma SDA i trzeba umieć
wyjść z tego stanu ).
>
> W tym przypadku mam SPI:DIN+CLK+CS+DC+VCC+GND+RST vs
> I2C: SDA+SCL+GND+VCC.
> Dodatkowo w tym przypadku SPI nie dostanie potwierdzenia odebrania
danych. Nie ma danych wracających. I2C ma w protokole ACK i z założenia
jest dwukierunkowy.
>
> SPI jest w tym wypadku pewnie 10 - 20 razy szybszy ( zależnie od
długości przewodów ).
> Tylko niekoniecznie jest to potrzebne.
Pewnie będę pytał dalej jak dojdzie wyświetlacz.
Robert