-
Data: 2024-09-13 05:04:38
Temat: Re: HD44780 i urządzenia 3,3V
Od: Waldek Hebisch <a...@f...org> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> wrote:
> Mam jeden projekt wykorzystujący w miarę współczesny procesor (PIC32),
> pracujący na logice 3,3V. Jako wyświetlacz wykorzystałem HD44780.
> Oryginalnie używał on ekspandera I2C do komunikacji z resztą systemu, co
> załatwiało także kwestię konwersji poziomów napięć - wystarczyło jedynie
> zapewnić dwustronną konwersją na liniach SCL i SDA, za pomocą
> MKOSFET-ów. Ponieważ jednak zależało mi na szybkości komunikacji, a MCU
> miał całkiem sporo niewykrozystanych pinów, postanowiłem przerobić moduł
> wyświetlacza z myślą o bezpośredniej komunikacji.
Na jakiej szybkości Ci zależy? Przerysowanie od początku do końca
32-znakowego wyświetlacza przy 100kHz I2C to ok 15ms. Jak to jest
mało to popularne PCF8574 ktore nominalnie są na 100kHz max chodzą
do 400kHz. Ale przez 15ms nie przeczytasz tekstu na wyświetlaczu,
więc w praktyce to wystarcza. Jak Ci chodzi o czas procesora,
to np. na STM można zrobić transmisję przez DMA, procesor robi
co innego a sprzęt transmituje.
> Do konwersji poziomów napięć wykorzystałem układ TXB0108. W teorii
> powinien on automatycznie zapewniać dwustronną komunikację pomiędzy
> liniami w domenie 5V i 3,3V. W praktyce już przy pierwszych próbach
> okazało się, że za nic nie jestem w stanie uruchomić kodu korzystającego
> z odczytu bitu dostępności. Przerzuciłem się więc na jednostronną
> komunikację i wprowadziłem stałe opóźnienie. Jednak nawet pomimo tego
> wyświetlacz nie chce działać w 100% poprawnie. Przez większość czasu
> działa normalnie, jednak okazjonalnie zawartość się rozjeżdża -
> wyświetlany tekst trafia nie w to miejsce, gdzie powinien. Logika
> generująca interfejs użytkownika nie zmieniła się od czasu wersji z I2C,
> więc podejrzewam problem z komunikacją.
> W międzyczasie trochę czytałem i widzę, że w paru miejscach w sieci
> ludzi wspominali o problemach generowanych przez te automatyczne,
> dwustronne konwertery napięć.
> W związku z tym mam pytanie: czy ktoś z was korzystał z jakiejś
> sprawdzonej (i prostej w implementacji) metody podpięcia HD44780 do
> współczesnego systemu?
Jak inni pisali wyświetlacz proprawnie rozpoznaje sygnały 3.3V, jedyny
problem to ta flaga dostępności, jak chcesz ją czytać to nóżki procka
muszą wytrzymać 5V. Ale nie widzę po co, to flaga nie daje wielkiego
przyspieszenia.
I2C działa OK i wystarczająco szybko. Ja sobie wymyśliłem że zamiast
I2C użyję 74HC595 + SPI (to powinno być tak szybkie jak dostęp równoległy
a bez odczytu flag wystarczają trzy linie), ale jeszcze tego nie
przetestowałem.
Jak masz problemy to radzę popatrzeć na soft. Ja miałem problem,
wyglądało że wyświetlacz sterowany przez I2C się nie wyrabia, jak
zjechałem poniżej 18kHz to było OK, ale szybciej działy się dziwne
rzeczy, np. zjadał pierwszy wyświetlany znak, czasami były jakieś
losowo wyglądające wzorki. W końcu się zorientowałem że program
wysyłał złą sekwencję sygnałów, tzn. zmieniał dane razem ze strobe.
Jak to poprawiłem, to chodzi powyżej 400 kHz. Tzn. teraz sekwencja
jest 'dane|En', 'dane' jeśli nie ma zmiany RS i R/W gdzie 'dane'
to blok 4 bitów + flagi. Jak jest zmiana RS to trzeba wcześnije
słowo bez En.
A propo: po I2C transmiuję bloki, tak że jeden blok przesyła
dwie 4 bitowe paczki czyli bajt do HD.
--
Waldek Hebisch
Następne wpisy z tego wątku
- 13.09.24 16:38 J.F
- 13.09.24 20:15 Waldek Hebisch
Najnowsze wątki z tej grupy
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
Najnowsze wątki
- 2024-11-11 Wyważanie kół rowerowych
- 2024-11-11 Kosz, gdzie??
- 2024-11-11 Coraz mniej ludzi robi prawo jazdy
- 2024-11-11 Opole => SAP HANA Cloud Dev / Data Engineer <=
- 2024-11-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-11 Lublin => Senior PHP Developer <=
- 2024-11-11 Marki => Senior PHP Symfony Developer <=
- 2024-11-11 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-11 Gliwice => Specjalista ds. public relations <=
- 2024-11-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-11 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-11 Warszawa => Sales Development Representative (in German) <=
- 2024-11-11 Marsz niepodległości
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa