Skocz do zawartości

Pomocna odpowiedź

Napisano

Zestawy DEVEBOX mają swoje wyświetlacze, które ja bardzo cenię ponieważ są bardzo szybkie, działają na magistrali 16 bitowej. LCD ma rozdzielczość 320x240 i sterownik ILI93341.

01_OLD_LCD.thumb.jpg.2da867f1ecf3322688400097dcae69d2.jpg

Panowie projektanci DEVEBOX ulepszyli swój produkt i wydali nową wersję wyświetlacza:

02_NEW_LCD.thumb.jpg.3bbabff6914ecd531cdb4f96cc90d4de.jpg

Wersja ta ma możliwość wyboru pracy wyświetlacza także w trybie SPI. Wystarczy przelutować R12 w miejsce R13 i „zagospodarować” wyprowadzenia pod SPI:

03_NEW_LCD.thumb.jpg.38b9c9bf77a9b6999103bb1e92899e1e.jpg

Jeszcze jedna ważna rzecz: nowe wyświetlacze mają 2 rodzaje pinoutów jak widać na powyższych dwóch zdjęciach – jedne są identyczne ze starą wersją, drugie mają pin 32 zamiast GND to VCC i zamienione na odwrót pin 1 i 2 (LCD RESET i GND). Trzeba o tym pamiętać gdy projektuje się PCB, ponieważ ja użyłem linii LCD_RESET, która nie jest wyprowadzona na złączu SPI. Ewentualnie można dostosować to po fakcie przecinając ścieżki i crossując połączenie.

Chociaż nie jestem zwolennikiem wyświetlaczy SPI, to skoro projektanci dali taką możliwość, postanowiłem to przetestować.

Wyświetlacz ten ma także jeszcze jeden ważny ficzer, mianowicie ma zainstalowany dodatkowy 8MB SPI flash na magistrali od ekranu dotykowego – linia SPI-CS  w stanie niskim wybiera układ 2046 (od touch screen’a), natomiast  w stanie wysokim wybiera zainstalowany SPI FLASH, We flashu są już wgrane czcionki bitmapowe w wielu rozmiarach i wersjach. Jakoś od czasu jak uporałem się z czcionką TTF temat dodatkowych czcionek bitmapowych przestał mnie interesować. Oto schemat LCD TFT:

04_TFT-LCD_NEW_28_AND_32-1906M.thumb.JPG.023b203e10fcf1ddb6005560feda023f.JPG

Układ na schemacie nazywany DY-001 to flash Winbonda W25Q64. Nie wiem czego się wstydzą developerzy tego LCD że każdy z tych flashy ma staranne wypalony identyfikator na obudowie. Faktycznie te flashe SPI mają większość komend do komunikacji, zapisu i odczytu identycznych i praktycznie mógłby być to prawie dowolny flash SPI jak na przykład MX25L6433FM2i-08G w obudowie SOP8.

04A_MXX.thumb.JPG.d2ad5dcf2c9176284e7a21646e387a5e.JPG

Do LCD należałoby podłączyć jakiś zestaw. Ponieważ ja nie lubię motać się z kabelkami postanowiłem zaprojektować do tego celu PCB, co daje dodatkowe możliwości jak przykładowo wybór wielu źródeł zasilania.

Oprócz tego trzeba było się zastanowić jaki zestaw podłączyć do LCD. Nie mam żadnych profitów od tego co tu napiszę, ale mi się bardzo podoba oferta developera WeAct

Pierwotnie wybór padł na BLACK PILL’A STM32F411CEU6 (100MHz, 512KB flash, 128 KB SRAM), ale jest także możliwość podłączenia i użycia jeszcze mocniejszego proca z serii H5:

05h5.thumb.png.e4518721e4cee8c4defd831e359b9247.png

06H5.thumb.jpg.ddcfb0c5573d94497d9266f4257c475c.jpg

Schemat H „PIONTKI” wygląda tak:

07WeAct-STM32H523CxTx_CoreBoard_V10SchDoc.thumb.JPG.6c914c40757e41fae45982183f38578a.JPG

Schemat tego zestawu w porównaniu do BLACK PILL’a oprócz użytego procesora różni się tylko jednym szczegółem:

08compare.thumb.png.743b4e62f23b96c6cedfea1ec96138bc.png

Czyli wyprowadzenie 17 z pinheader’a P2 z portu PB9 na schemacie H523 jest poprowadzone do masy. Warto zapamiętać ten szczegół, jeżeli pozostawi się to wyprowadzenie niepodłączone, to będzie można zamiennie stosować H523 lub F411.

 

Teraz już można zatem skonstruować daughterboard'a dla zestawu WeAct’a i LCD, który połączy oba podzespoły.

Schemat daughterboard'a wygląda tak:

09WeActdaughterboard1.thumb.JPG.e6f2469747c7bda5c6ca991fc6105f94.JPG

Wykonany routing do schematu:

10routing.thumb.GIF.aceaf3ceb4dc4659ae3cb7a08655eb86.GIF

Zamówione PCB:

11PCB.thumb.jpg.0ac37704504c6d51a219e3b3c732fb63.jpg

Złącze 32 pin pełni głównie funkcję ustalającą zamontowany PCB, elektrycznie wykorzystuje tylko jedno połączenie LCD RESET:

11_32pin.thumb.jpg.dc779b5cec915d742ef4161d423eb818.jpg

Zmontowany zestaw:

12mounted.thumb.jpg.d22d754bd26cc552b09e7a69a622651e.jpg

13daughterboard.thumb.jpg.e78df003fdfacdfc417380a485126cc7.jpg

WeAct daughterboard #1  może być zasilany z 5 różnych źródeł:

 

1.       Zasilacz AC/DC 7-15 V

2.       TTL konwerter

3.       Ze złącza IDC 10 pin ST-LINK

4.       Ze złącza USB mini

5.       Ze złącza USB-C płytki WeAct

Dodano RS232 TTL konwerter

 

Wyświetlacz i całość działa. Istnieje pewien problem z H523, który sprawił że na początku żałowałem że na niego postawiłem. Otóż jego SPI działa dziwnie hmmm… Wyjaśniam:

Dostęp do SPI LCD robiłem w taki sposób że linia CS była na stałe wybrana podciągnięta do GND i wysyłałem sobie komendy czy dane po SPI:

1.       Sprzętowo przez F411

2.       Softwareowo przez F411 lub H523

BEZ ŻADNYCH PROBLEMÓW

Problem pojawiał się gdy chciałem w ten sam sposób sterować linią CS i używać hardwareowego SPI w H523 - otóż wyświetlacz przestawał reagować. Napisałem program i użyłem innego procesora żeby "podsłuchiwać" co przelatuje przez ten SPI i o dziwo wszystkie dane były poprawne z wyjątkiem tego że LCD pozostawał martwy:

Znalazłem 2 rozwiązania tego problemu, niestety żadne z nich mnie nie satysfakcjonuje:

1. Używać w H523 software'owego SPI

2. Za każdym razem podczas ustanawiania komunikacji, pobierania bajtu linię CS ustawiać na 1 i potem na 0.

 

Naprawdę zadziwił mnie niebywale ten problem, jeżeli ktoś wie dlaczego tak się dzieje, to chętnie się o tym dowiem, jeżeli tu na to odpowie.

 

 

Konfiguracja z CUBE:

14CUBE.thumb.JPG.c17f691f089e913bc70fcc8d161cbea4.JPG

 

 

Działający daughterboard:

 

 

 

Schemat LCD TFT TFT-LCD_NEW_28_AND_32-1906M.PDF

 

 

 

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...