-
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
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
Najnowsze wątki
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody
- 2024-12-27 Rzeszów => System Architect (background deweloperski w Java) <=
- 2024-12-27 Kraków => Application Security Engineer <=
- 2024-12-27 Gorzów Wielkopolski => Konsultant wdrożeniowy Comarch XL/Optima (Ksi
- 2024-12-27 Wrocław => Solution Architect (Java background) <=
- 2024-12-27 kladka Zagorze
- 2024-12-27 Poznań => Key Account Manager (ERP) <=