-
Data: 2024-09-13 16:38:51
Temat: Re: HD44780 i urządzenia 3,3V
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Fri, 13 Sep 2024 03:04:38 -0000 (UTC), Waldek Hebisch wrote:
> 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.
O ile pamietam, wyswietlacz nie jest zbyt szybki, a niektóre operacje
ma bardzo wolne.
I2C prawdopodobnie załatwia kwestię większości operacji, tzn
transmisja na tyle powolna, ze wyświetlacz wyrabia, ale zostają te
naprawdę wolne.
J.
Najnowsze wątki z tej grupy
- Jak shakować windę
- Sterowanie bezprzewodowe do wbudowania
- NC vs NO
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Żyrandol w wersji ze ściemnianiem.
- Napięcie w gniazdku na wszystkich żyłach po wyłączeniu bezpieczników - zgłaszać do elektrowni?
- Elektryczna łapka i szerszeń
- moduł dtmf
- 0.5V
- Odbiór SDR na mikrokontrolerach
- Taki uziom....
- Nałożnica?
- ładowanie akku
- Mikrofala
Najnowsze wątki
- 2024-09-14 Canon 550D
- 2024-09-14 Odcinkowy Pomiar Prędkości. NIELEGALNY w Polsce!!! Nie daj SIĘ!
- 2024-09-14 Warszawa => Menadżer Okręgu <=
- 2024-09-14 Łódź => Spedytor Międzynarodowy <=
- 2024-09-14 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-09-14 Warszawa => Technical Leader (Java Background) <=
- 2024-09-14 Gdynia => Spedytor Międzynarodowy <=
- 2024-09-14 k.o.mendant
- 2024-09-12 Z cyklu POJEBANA UE: samochody elektryczne nie mogą być tanie i dobre
- 2024-09-13 dodanie karty graf zawiesza komp
- 2024-09-13 Sezon grzewczy kurła
- 2024-09-13 Warszawa => Spedytor Międzynarodowy <=
- 2024-09-13 Warszawa => Mid Account Manager <=
- 2024-09-13 Warszawa => QA Engineer <=
- 2024-09-13 Białystok => Frontend Developer (Angular area) <=