Otwarty dren i pull-up do 5V przy VCC=3,3V

Złożyłem sobie ostatnio odtwarzacz MP3 według tego starego projektu z Elektorniki Praktycznej:

formatting link
Nie, żeby to miało jakiś wielki sens. Projekt jest przestarzały i ma pewne ograniczenia, jednak mam do niego pewien sentyment - chciałem go złożyć już w momencie ukazania się artykułu, zacząłem nawet kompletować części, jednak finalnie nie udało mi się wtedy zdobyć płytki. Ostatnio przy okazji innego zamówienia w chińskiej fabryce dorzuciłem pliki z tego projektu i mogłem go w końcu złożyć.

Odtwarzacz działa poprawnie. Jednak przy okazji uruchamiania zwróciłem uwagą na jedną rzecz - piny sterujące wyświetlaczem KS0108 są podciągnięte do linii 5V zewnętrznymi rezystorami 10k. Nigdzie w dokumentacji AT91SAM9260 nie widzę informacji o pinach "5V tolerant". W kodzie widzę jednak, że dla tych linii włączona jest konfiguracja "open drain".

To błąd projektowy czy takie rozwiązanie jest dopuszczalne? W dłuższej perspektywie nie zaszkodzi to mikrokontrolerowi?

Reply to
Atlantis
Loading thread data ...

To zależy czy na tym pinie (i/o) są diody zabezpieczające. O ile pamiętam ze źródeł których ufać nie mogę, np. w picach piny 5V tolerant nie mają "górnej diody" między io a Vdd (oraz do pracy z 5V należy je przełączyć na open drain), po to by nie nastąpił przez nią przepływ prądu z io do Vdd 3.3V co może skutkować np. mruganiem podświetlenia ekranu podczas wachlowania tym pinem do Vss (szyna 5V przez diodę zawierana jest do 3.3V co powoduje wahnięcia napięć Vdd widoczne na podświetleniu. Dobrze ten efekt przedstawia ten film:

formatting link

Reply to
Marek

Zabrakło puenty. Pomijając efekty uboczne jak na przykładowym filmie, jeśli pin nie jest 5V tolerant no to będzie jakiś stres dla tego mosfeta wyjściowego... Certyfikacji NASA taki układ pewnie by nie przeszedł ale jako eksponat do zabawy to bym się tym nie przejmował.

Reply to
Marek

W dniu 2024-01-17 o 09:26, Atlantis pisze:

Gdzieś w parametrach powinien być maksymalny prąd wpuszczany w pin 'z góry'. Jak nie jest on przekraczany to znaczy, że mu nie zaszkodzi.

Jak pin nie jest 5V tolerant i jest zabezpieczony diodą do VCC to podwieszenie 10k wpuści w niego prąd około (5V-3.3V-0.7V)/10k = 0.1mA.

Dzięki takiemu powieszeniu na wyjściu zamiast 3V3 będzie 4V co zapewne będzie 'lepiej widziane' przez układ który chciałby mieć na wejściu 5V. P.G.

Reply to
Piotr Gałka

A napięcie dren-zrodlo w sytuacji otwartego drenu? Skoro cała struktura (krzemu) jest na 3.3V to na tym tranzystorze będzie 5V... Szkodzi - nie szkodzi?

Reply to
Marek

Oscyloskop by sie przydał, i sprawdzic maksymane napięcie na pinach. Albo ustaw stan 1 i zmierz napięcie woltomierzem.

Zakładam, ze w srodku jest dioda zabezpieczająca podłączona do zasilania. Prąd wpływający przez 10k, napiecia 3.3V nie podniesie, ale jesli hipoteza jest prawdziwa, to na pinie powinno byc ok 4V.

J.

Reply to
J.F

Zastanawiam się właśnie jaki był zamysł stojący za podciąganiem tych linii do 5V. Zgodnie ze znalezionym na szybko datasheetem, w przypadku KS0108 wartość minimalna "input high voltage" wynosi 2V. W przypadku AT91SAM9260 output high-level voltage przy zasilaniu napięciem 3-3,6V wynosi przynajmniej VDD_IO - 0,4V. Tak więc w najgorszym razie będziemy mieć około 2,9V. Ja rozumiem, że jeszcze jest możliwość spadku napięcia na taśmie łączącej wyświetlacz z płytką, ale to prawie wolt zapasu...

Z tego co widzę w kodzie, to pin R/W nie jest w ogóle używany, więc komunikacja pomiędzy płytką i wyświetlaczem idzie tylko w jedną stronę.

Reply to
Atlantis

To właśnie też mnie zastanawia w tym kontekście...

Reply to
Atlantis

Może kiedys był inny wyswietlacz, który więcej potrzebował? Albo ktos z innego procesora przeniósł projekt :-)

J.

Reply to
J.F

J.F <jfox snipped-for-privacy@poczta.onet.pl> napisał(a):

Stawiam na to, bo inne AT91SAM są 5V tolerant.

Reply to
Grzegorz Niemirowski

Ale ciągle 3.3V? I wyswietlacz 3.3V, wiec czemu 5V?

Ale jak kiedys był wyswietlacz 5V, a komus sie nie chciało doszukiwać czy 3V mu wystarczy, to mógł dać pull-up 5V.

J.

Reply to
J.F

J.F <jfox snipped-for-privacy@poczta.onet.pl> napisał(a):

Wyświetlacz jest na 5V.

Właśnie dodał i o tych pull-upach jest wątek. Chyba, że masz na myśli coś innego.

Reply to
Grzegorz Niemirowski

A, ok, toleruje 3V jako stan H, ale jest 5V.

Nie, moja pomyłka.

Mogł ktoś nie doczytać po zmianie wersji AT91SAM ...

J.

Reply to
J.F

W dniu 2024-01-17 o 14:06, Marek pisze:

Jeśli podają (czego nie jestem pewny), że można wpuścić z góry w dany pin jakiś prąd to muszą zakładać, że będzie tam o 0.7V więcej niż VCC. Nigdy tego nie wykorzystuję, ale tak by wychodziło z logiki.

Nie znam się na technologii, ale może to jest tak, że nie cały układ jest jednakowy. Może bufory we/wy wytrzymuję więcej - może tam się robi nieco większe tranzystory.

Są chyba procesory, gdzie cała logika chodzi na 1V8 a we/wy jest 3V3. Nie sądzę, aby to były 2 struktury więc by mi wychodziło, że w jednej strukturze można wykonywać elementy wytrzymujące różne napięcia. P.G.

Reply to
Piotr Gałka

Ale w sytuacji gdy tranzystor wyjściowy pina nie przewodzi (stan 1) jego Vds jest 5V - jest powyżej absolutne maximum ratings (4V) dla tego mcu.

Reply to
Marek

Widzę, że w dokumentacji jest podane "Maximum Operating Voltage" jako 4V ale z adnotacją, że chodzi o linie zasilające VDDIOM i VDDIOP. Podobnie

4V to maksymalne napięcie na pinie wejściowym. No i właśnie... Co rozumieją jako pin wejściowy? Czy linia skonfigurowana jako wyjście z otwartym drenem, podciągnięta do 5V też się liczy? Z drugiej strony jest jeszcze ten krótki moment przy starcie, kiedy linie nie są skonfigurowane, a napięcie 5V już jest na nie podawane przez pull-upy.
Reply to
Atlantis

W dniu 2024-01-19 o 17:12, Atlantis pisze:

Ja takie coś rozumiem, że jak podajesz napięcie ze źródła napięciowego to maksymalnie możesz podać 4V.

Nie wiem o jakim scalaku mowa i nie chce mi się go szukać. Pytanie czy podają w karcie katalogowej maksymalny prąd w pin. Jak przy tym prądzie wystąpi napięcie większe od 4V to bym nie był pewny, czy przekroczono limity, czy nie.

Jak nie jest osobno wymieniona to dla mnie to jest też linia wejściowa (gdy tranzystor nie podaje na nią GND). P.G.

Reply to
Piotr Gałka

Omawiany problem na przykładzie stm32:

formatting link

Reply to
Marek

Przyjrzałem się jeszcze raz artykułowi z opisem konstrukcji. Natrafiłem na następujący fragment:

"Jeśli chodzi o podłączenie wyświetlacza 128×64, to zastosowałem tutaj pewien trick, którego używam praktycznie za każdym razem, gdy chcę podłączyć do mikrokontrolera SAM7/9 niezbyt szybkie urządzenie z interfejsem CMOS 5 V. Napięcia wyjściowe z wyprowadzeń PIO mikrokontrolera mogą mieć maksymalny poziom typowo 3,3 V (bez obciążenia). Może to nie być wystarczające napięcie dla wejść niektórych wyświetlaczy LCD, dlatego stan wysoki wymuszony zostaje rezystorami podciągającymi R39, R40 i drabinkami rezystorowymi RP3...RP5 (podciągają do +5 V) podczas gdy wyjścia mikrokontrolera pracują w trybie „otwarty kolektor” (stan niski to zwarcie do masy, a stan wysoki to w stan wysokiej impedancji). Nie jest to może oszczędne rozwiązanie pod względem zużycia energii, lecz na pewno znacznie upraszcza schemat i projekt płytki drukowanej ze względu na brak konieczności stosowania jakichkolwiek buforów do translacji napięć."

Wygląda więc na to, że takie rozwiązanie zostało zastosowane celowo. Pytanie na ile jest ono faktycznie bezpieczne dla MCU. Urządzenie co prawda działa poprawnie, czy jednak nie nie spowoduje to awarii po jakimś czasie?

Zastanawiam się czy nie byłoby wskazane jednak usunięcie tych pull-upów i wyłączenie w konfiguracji otwartych drenów tak, aby na wyjścia występowało napięcie około 3,3V. Gdyby okazało się, że wyświetlacz jednak nie chce działać, to może warto byłoby dodać jakiś bufor. Zostawienie tego tak jak jest to faktycznie proszenie się o kłopoty?

Reply to
Atlantis

W dniu 21.01.2024 o 13:46, Atlantis pisze:

Od wielu lat stosuje sterowanie wyświetlaczami HD44780 zasilanymi 5V z ATMeg zasilanych 3,3V. Teoretyczne 3,3V to 66% a nie 70% wymagane dla CMOSów sygnał ale w praktyce nie spotkałem żadnego wyświetlacza czy bramki co by nie łyknęła tego jako 1. Obecnie około 3900 urządzeń z mojej ręki działa w stacjach bazowych Orange i nikt nie zgłasza problemu z wyświetlaczami.

1 urządzenie uruchomiono ok 1998r i jeśli nie było wyładowania w okolicy itp. to działają cały czas :)

Testowałem też zasilanie 3.0V i 2,8V i też wyświetlacze poprawnie wyświetlały na standardowych prędkościach.

Przy stosowaniu OC i podciągów trzeba zmniejszać prędkość transmisji ale skoro wyjścia są 5V Tolerant to w czym problem?

Reply to
Rutkowski, Jacek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.