Atlantis
2024-08-22 06:05:43 UTC
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.
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?
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.
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?