eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
Ilość wypowiedzi w tym wątku: 30

  • 11. Data: 2021-12-02 18:49:30
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    On 01.12.2021 23:12, heby wrote:

    > Masz te parametry podane w lini opcji jądra i/lub /etc/modules?
    >
    > https://tlfong01.blog/2020/05/23/mgd-blog-ili9341-sc
    reen-setup-notes/

    To jest właśnie ten stary sposób, o którym pisałem w pierwszej
    wiadomości. On przestał działać wraz z aktualizację systemu do
    najnowszej wersji.

    Z tego co zdążyłem do tej pory ustalić to:
    1. Teraz robi się ro za pomocą wpisów "dtoverlay=" w pliku /boot/config.txt.
    2. Żeby wpis zadziałał, w katalogu /boot/overlays musi się znaleźć
    korespondujący z nim plik *.dtbo
    3. W mojej obecnej wersji systemu znajduje się plik rpi-display. Czy był
    tam od początku, czy zainstalowałem go podczas eksperymentów - już nie
    jestem pewien. Dlatego jakikolwiek efekt jestem w stanie uzyskać dodając
    wpis "dtoverlay=rpi-display".
    4. Niestety, ten sterownik nic sonie nie robi z parametrów
    konfiguracyjnych i próbuje korzystać z pinów, które są już przypisane do
    innych peryferiów. Do tego upiera się, żeby część z tych pinów
    przeznaczyć na obsługe panelu dotykowego. Tak więc wyświetlacz nie
    działa prawidłowo, a LAN i DAC się wywalają.
    5. Być może lepsze efekty przyniósłby "dtoverlay=fbtft", który widziałem
    w paru przykładach. Niestety, pliku fbtft.dtbo nie ma w moim systemie,
    ani nie mogę go nigdzie znaleźć.
    6. Pliki *.dtbo z tego co widzę kompiluje się z plików źródłowych *.dtb
    za pomocą kompilatora dtc. Prawdopodobnie w ten sposób dałoby się
    przygotować customowy plik dtbo do mojego ekranu, w którym mógłbym
    ustawić określone pliki i inne parametry domyślne. Niestety, nie
    rozgryzłem jeszcze struktury i znaczenia poszczególnych elementów tych
    plików.


  • 12. Data: 2021-12-03 01:35:41
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: "Grzegorz Niemirowski" <g...@g...net>

    Atlantis <m...@w...pl> napisał(a):
    > 6. Pliki *.dtbo z tego co widzę kompiluje się z plików źródłowych *.dtb za
    > pomocą kompilatora dtc. Prawdopodobnie w ten sposób dałoby się przygotować
    > customowy plik dtbo do mojego ekranu, w którym mógłbym ustawić określone
    > pliki i inne parametry domyślne. Niestety, nie rozgryzłem jeszcze
    > struktury i znaczenia poszczególnych elementów tych plików.

    To jest po prostu device tree. Na x86 jest ACPI, które pozwala wykrywać
    sprzęt podczas uruchamiania komputera. ARM tego nie ma i trzeba kernelowi
    powiedzieć gdzie co jest w komputerze. Sprzęt jest opisywany za pomocą
    plików Device tree, zawierających drzewo urządzeń. Pliki źródłowe DT mają
    rozszerzenie .dts i znajdziesz do nich mnóstwo dokumentacji. Plik .dts można
    skompilować do formy binarnej kompilatorem dtc. I teraz dochodzimy
    overlay'ów, które są takimi patchami na DT. Zamiast modyfikować DT całego
    systemu mikroprocesorowego przygotowujesz tylko plik nakładki. Piszesz
    normalny plik .dts i kompilujesz go za pomocą dtc. Tylko dajesz rozszerzenie
    .dtbo żeby było widać, że to overlay. Nie kompiluje się .dtb do .dtbo bo
    .dtb już jest skompilowane a poza tym oba pliki mają inne zastosowanie. Tak
    jak kiedyś MS wymyślił, żeby wygaszacze ekranu nie miały rozszerzenia .exe
    ale .scr, choć format pliku był ten sam i nie kompilowało się exe do scr.
    Do poczytania na start:
    https://learn.adafruit.com/introduction-to-the-beagl
    ebone-black-device-tree/compiling-an-overlay

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/


  • 13. Data: 2021-12-03 13:39:15
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    Ok, wczoraj wieczorem udało mi się to rozgryźć. Znalazłem plik dts
    odnoszący się do jakiegoś gotowego modułu z wyświetlaczem, którego
    schemat udało mi się znaleźć. Potem analizując strukturę pliku i
    wykonując parę eksperymentów pozmieniałem parametry tak, że wyświetlacz
    w końcu zaczął działa ze skompilowanym plikiem dtso, wrzuconym do
    /boot/overlays.

    Teraz mam kolejne pytanie. Pod wpływem tego sukcesu postanowiłem
    zainstalować większy wyświetlacz na płycie czołowej urządzenia. Wyjąłem
    z pudełka trzymany tam od jakiegoś czasu 3,2" wyświetlacz, który z tego
    co pamiętam również ma być oparty na kontrolerze ILI9341 (lub podobnym).
    Trochę się pospieszyłem z wycięciem dziury pod wyświetlacz i
    wywierceniem otworów na śrubki, bo dopiero po jego przykręceniu
    przyjrzałem mu się bliżej i ogarnęły mnie wątpliwości.

    Złącze wyświetlacza wygląda tak:
    https://ibb.co/3CTV7Yx

    Co prawda znajdują się na nim piny wskazujące na interfejs SPI (MISO,
    MOSI, CLK i CS), są też tam jednak piny o nazwach wskazujących na 8/16
    bitowy interfejs równoległy. Nie widzę nigdy jasno opisanych zworek
    pozwalających na skonfigurowanie tego w trybie SPI. Nie widzę też PIN-u DC.

    Czy ten wyświetlacz będzie się dało podpiąć do SPI bezpośrednio?
    Ewentualnie są dostępne jakieś konwertery? jeśli nie, to cóż - zamontuję
    jakiś mniejszy moduł LCD na płytce uniwersalnej, a z przodu przykręcę
    maskownicę drukowaną w 3D albo wyciętą na laserze. Tylko trochę szkoda
    mi tego dużego wyświetlacza jednak. :)


  • 14. Data: 2021-12-03 13:47:27
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: "Grzegorz Niemirowski" <g...@g...net>

    Atlantis <m...@w...pl> napisał(a):
    > Złącze wyświetlacza wygląda tak:
    > https://ibb.co/3CTV7Yx

    Wpisujemy więc w Google 3.2 lcd module, klikamy Grafika i mamy obrazek
    Twojego modułu. Obrazek jest na stronie
    http://www.lcdwiki.com/3.2inch_16BIT_Module_ILI9341_
    SKU:MRB3205 na której
    mamy wszystko rozpisane.

    > Co prawda znajdują się na nim piny wskazujące na interfejs SPI (MISO,
    > MOSI, CLK i CS), są też tam jednak piny o nazwach wskazujących na 8/16
    > bitowy interfejs równoległy. Nie widzę nigdy jasno opisanych zworek
    > pozwalających na skonfigurowanie tego w trybie SPI. Nie widzę też PIN-u
    > DC.
    > Czy ten wyświetlacz będzie się dało podpiąć do SPI bezpośrednio?
    > Ewentualnie są dostępne jakieś konwertery? jeśli nie, to cóż - zamontuję
    > jakiś mniejszy moduł LCD na płytce uniwersalnej, a z przodu przykręcę
    > maskownicę drukowaną w 3D albo wyciętą na laserze. Tylko trochę szkoda mi
    > tego dużego wyświetlacza jednak. :)

    Z podanej strony wynika, że SPI jest do dotyku, grafika idzie po
    równoległym.

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/


  • 15. Data: 2021-12-03 14:17:34
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    On 03.12.2021 13:47, Grzegorz Niemirowski wrote:

    > Wpisujemy więc w Google 3.2 lcd module, klikamy Grafika i mamy obrazek
    > Twojego modułu. Obrazek jest na stronie
    > http://www.lcdwiki.com/3.2inch_16BIT_Module_ILI9341_
    SKU:MRB3205 na
    > której mamy wszystko rozpisane.

    To już znalazłem. Przy czym zwróć uwagę na to, że to nie jest do końca
    zdjęcie mojego modułu. Są pewne różnice w PCB - chociażby są tam zworki
    do ustawiania szerokości magistrali równoległej. Nie ma natomiast zworki
    J1, która u mnie jest nieobsadzona.
    Miałem więc cichą nadzieję, że może moją wersję będzie się jakoś dało
    zmusić do pracy na SPI. :)


  • 16. Data: 2021-12-03 14:34:54
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: "Grzegorz Niemirowski" <g...@g...net>

    Atlantis <m...@w...pl> napisał(a):
    > To już znalazłem. Przy czym zwróć uwagę na to, że to nie jest do końca
    > zdjęcie mojego modułu. Są pewne różnice w PCB - chociażby są tam zworki do
    > ustawiania szerokości magistrali równoległej. Nie ma natomiast zworki J1,
    > która u mnie jest nieobsadzona.
    > Miałem więc cichą nadzieję, że może moją wersję będzie się jakoś dało
    > zmusić do pracy na SPI. :)

    Chyba nie bardzo... Twój moduł znalazłem tutaj:
    https://pl.aliexpress.com/item/32609689069.html
    Tu również piszą, że SPI tylko do dotyku.

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/


  • 17. Data: 2021-12-03 14:40:45
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    On 03.12.2021 14:34, Grzegorz Niemirowski wrote:

    > Chyba nie bardzo... Twój moduł znalazłem tutaj:
    > https://pl.aliexpress.com/item/32609689069.html
    > Tu również piszą, że SPI tylko do dotyku.

    Dzięki, to wyjaśnia sprawę. Czyli jednak będę musiał zamontować mniejszy
    wyświetlacz na płytce uniwersalnej i zakryć go maskownicą.


  • 18. Data: 2021-12-03 22:52:24
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    I jeszcze jedno pytanie, w związku z opisywanymi eksperymentami. Nie
    chcę zakładać kolejnego wątku, więc pytam tutaj.

    Przeniosłem wyświetlacz z płyty głównej na płytę czołową urządzenia.
    Niestety wymagało to użycia wiązki przewodów o długości około 7-8 cm.
    Stało się coś, czego się obawiałem - pojawiły się problemy z działaniem
    urządzeń na tej magistrali SPI. Sam wyświetlacz nie chciał już dłużej
    pracować stabilnie przy prędkości 16 MHz, obniżyłem więc taktowanie.
    Potem okazało się, że kontroler LAN (ENC28J60) także ma podobne
    problemy, więc stopniowo obniżałem jego szybkość do 6 MHz, jednak nawet
    przy tej prędkości pojawiają się chwilowe przerwy w łączności i epizody
    gubienia pakietów.

    Co jest bardziej prawdopodobną przyczyną?
    1. Zbyt długie kable i wynikający z nich wzrost pojemności magistrali.
    Powinienem dać jakiś bufor w pobliżu RasPi?
    2. A może bardziej prawdopodobne jest to, że magistrala za sprawą
    długich kabli łapie zakłócenia od przetwornicy impulsowej, zasilającej
    cały układ?


  • 19. Data: 2021-12-06 11:41:06
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: MKi <...@...com>

    W dniu 2021-12-03 o 22:52, Atlantis pisze:
    > I jeszcze jedno pytanie, w związku z opisywanymi eksperymentami. Nie
    > chcę zakładać kolejnego wątku, więc pytam tutaj.
    >
    > Przeniosłem wyświetlacz z płyty głównej na płytę czołową urządzenia.
    > Niestety wymagało to użycia wiązki przewodów o długości około 7-8 cm.
    > Stało się coś, czego się obawiałem - pojawiły się problemy z działaniem
    > urządzeń na tej magistrali SPI. Sam wyświetlacz nie chciał już dłużej
    > pracować stabilnie przy prędkości 16 MHz, obniżyłem więc taktowanie.
    > Potem okazało się, że kontroler LAN (ENC28J60) także ma podobne
    > problemy, więc stopniowo obniżałem jego szybkość do 6 MHz, jednak nawet
    > przy tej prędkości pojawiają się chwilowe przerwy w łączności i epizody
    > gubienia pakietów.
    >
    > Co jest bardziej prawdopodobną przyczyną?
    > 1. Zbyt długie kable i wynikający z nich wzrost pojemności magistrali.
    > Powinienem dać jakiś bufor w pobliżu RasPi?
    > 2. A może bardziej prawdopodobne jest to, że magistrala za sprawą
    > długich kabli łapie zakłócenia od przetwornicy impulsowej, zasilającej
    > cały układ?

    7-8 cm to żadna długość.
    Raczej zakłócenia.
    Jak wygląda ta wiązka?
    Zrób skrętkę, może zaekranuj - powinno pomóc.

    Pozdrowienia,
    MKi


  • 20. Data: 2021-12-06 12:21:04
    Temat: Re: Obsługa wyświetlacza SPI TFT (ILI9341) w nowym Raspbianie
    Od: Atlantis <m...@w...pl>

    On 06.12.2021 11:41, MKi wrote:

    > 7-8 cm to żadna długość.
    > Raczej zakłócenia.
    > Jak wygląda ta wiązka?
    > Zrób skrętkę, może zaekranuj - powinno pomóc.

    Ok, już znalazłem przyczynę. Głupi błąd montażowy - na płytce brakowało
    rezystora podciągającego do VCC na linii CS wyświetlacza. W momencie,
    gdy wyświetlacz znajdował się na płytce i ścieżka miała mniej niż
    centymetr, wystarczał wewnętrzny pull-up i wszystko było w porządku.
    Przy dłuższych przewodach to już nie wystarczało i wyświetlacz od czasu
    do czasu mieszał w komunikacji na magistrali.

    Po wlutowaniu brakującego elementu wszystko wróciło do normy i znów mam
    stabilna pracę, nawet po ustawieniu obydwu urządzeń w tryb 16 MHz.

    Podczas normalnej pracy mogę pingować urządzenie po interfejsie
    ethernetowym i nie zgubi ani jednego pakietu, nawet po dłuższym czasie.
    No chyba, że obciążę procesor na 100% - wtedy zaczyna już nie wyrabiać i
    czasem jakiś pakiet się zgubi... No ale to tylko Raspberry Pi Zero, o
    mocy obliczeniowej porównywalnej chyba do jakiegoś Pentium II. ;)

strony : 1 . [ 2 ] . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: