tokugawa
Guest
Sat Dec 06, 2008 12:46 am
Witam,
Załóżmy, że mamy połączone 2 trójstanowe nogi - jedna to logika 5V a
druga 3.3V. Jeżeli obydwie wystawią stan wysoki - to w stronę układu
3.3 popłynie prąd (różnica napięc -1.7V). Jego zwrot jest przeciwny od
oczekiwanego

I co mi po tym ze on jest 5V tolerancyjny ? :)
Rozmyślam nad połączeniem LPC2138 na magistrale danych - która
niestety jest 5V. W normalnej pracy wszystko jest w miarę ok, jeżeli
tylko jeden z nich steruje linią.
Jeżeli obydwa wystawią stan niski - to też się raczej nic nie upali
(każdy ściąga do masy).
Wybaczcie moją ignorancję, ale nie mogę się doszukać jak dokładnie
taki trój stanowy pin działa, jeżeli na jego wyjście podam większe
napięcie niż on wystawia.
Słyszałem, że np rezystor (w szeregu) 'powinien' załatwić sprawę -
mały prąd 'w tył' nie wpłynie na ten pin.
Dwukierunkowy bufor z 'tłumaczką' logik załatwiłby sprawę (prawda?),
ale chciałbym wiedzieć jak to pod spodem pracuje.....i czy jest on
konieczny.
Dzięki,
Paweł
Konop
Guest
Sat Dec 06, 2008 1:51 am
tokugawa pisze:
Quote:
Witam,
Załóżmy, że mamy połączone 2 trójstanowe nogi - jedna to logika 5V a
druga 3.3V. Jeżeli obydwie wystawią stan wysoki - to w stronę układu
3.3 popłynie prąd (różnica napięc -1.7V). Jego zwrot jest przeciwny od
oczekiwanego

I co mi po tym ze on jest 5V tolerancyjny ? :)
Rozmyślam nad połączeniem LPC2138 na magistrale danych - która
niestety jest 5V. W normalnej pracy wszystko jest w miarę ok, jeżeli
tylko jeden z nich steruje linią.
Jeżeli obydwa wystawią stan niski - to też się raczej nic nie upali
(każdy ściąga do masy).
Wybaczcie moją ignorancję, ale nie mogę się doszukać jak dokładnie
taki trój stanowy pin działa, jeżeli na jego wyjście podam większe
napięcie niż on wystawia.
Słyszałem, że np rezystor (w szeregu) 'powinien' załatwić sprawę -
mały prąd 'w tył' nie wpłynie na ten pin.
Dwukierunkowy bufor z 'tłumaczką' logik załatwiłby sprawę (prawda?),
ale chciałbym wiedzieć jak to pod spodem pracuje.....i czy jest on
konieczny.
Dzięki,
Paweł
Trójstanowy nie znaczy "idiotoodporny"

.. nie obrażaj się za to
określenie - znaczy to tyle, co "niezniszczalny"

...
Czemu dwa piny na raz mają wystawiać coś na magistralę?? Co wtedy
dostaniesz?? Jedynkę, zero?? NIE WIESZ!! Dlatego nigdy nie powinny dwa
urządzenia na raz nadawać! Wtedy po jednej stronie wymuszasz "1" lub
"0", a po drugiej stan trzeci (wysokiej impedancji). I po tej drugiej
stronie możesz odczytać to, co nadawane jest przez pierwsze urządzenie.
Potem role mogą się odwrócić - pierwsze urządzenie przechodzi w stan
trzeci, a drugie nadaje "0" i "1", a pierwsze czyta, co nadał drugi

... . I tyle! Taką magistralę możesz podzielić na więcej urządzeń.
A "5V tolerant" oznacza tylko tyle, że jak na wejście takiego LPCka
podasz 5V (w czasie, gdy będzie on w stanie trzecim) to go nie
uszkodzisz!! Normalny pin mógłby się uszkodzić ze względu na
występowanie diod zabezpieczających. Piny 5V tolerant mają inaczej
rozwiązane zabezpieczenia

..
Napisz dokładniej jaka Twoim zdaniem jest idea tego, że dwa układy
nadają w jedną linię

... . Bo albo idea jest niesłuszna i wtedy robisz
to tak, jak wyżej napisałem, albo stosujesz wyjścia typu OC
(open-colector) tzn. wysterowujesz je do jednego z dwóch stanów: "0" i
"stan trzeci", a jedynkę ze stanu trzeciego "robi" rezystor
podciągający. Dzięki temu, że piny masz "5V tolerant" możesz podciągnąć
do +5V, albo też do +3V3

... Możesz też i tu i tu, jeśli rezystory
podciągające będą miały odpowiednio dużą wartość

...
Pozdrawiam
Konop
tokugawa
Guest
Sat Dec 06, 2008 10:46 am
On Dec 6, 1:51 am, Konop <kono...@gazeta.pl> wrote:
Quote:
Czemu dwa piny na raz mają wystawiać coś na magistralę?? Co wtedy
dostaniesz?? Jedynkę, zero?? NIE WIESZ!! Dlatego nigdy nie powinny dwa
urządzenia na raz nadawać! Wtedy po jednej stronie wymuszasz "1" lub
"0", a po drugiej stan trzeci (wysokiej impedancji). I po tej drugiej
stronie możesz odczytać to, co nadawane jest przez pierwsze urządzenie.
Potem role mogą się odwrócić - pierwsze urządzenie przechodzi w stan
trzeci, a drugie nadaje "0" i "1", a pierwsze czyta, co nadał drugi

... . I tyle! Taką magistralę możesz podzielić na więcej urządzeń.
Szczera prawda... 5V i 3.3V w jednej chwili mają 'nic nie znaczyć' -
mają się nie upalić. 'nie powinny'
Sęk w tym, że procek LPC w tym połączeniu nie steruje odczyt/zapis) i
jeżeli coś pokićkam
w kodzie i zapomnę przejść w stan wysokiej impedancji to się - spali
(w czym mnie upewniłeś).
(Sygnał R/W mam z zewnątrz)
Quote:
A "5V tolerant" oznacza tylko tyle, że jak na wejście takiego LPCka
podasz 5V (w czasie, gdy będzie on w stanie trzecim) to go nie
uszkodzisz!! Normalny pin mógłby się uszkodzić ze względu na
występowanie diod zabezpieczających. Piny 5V tolerant mają inaczej
rozwiązane zabezpieczenia

..
I o tym bym więcej poczytał (o realizacji takiego portu) - jedyne co
się mi udało znaleźć to uproszczony schemat wejść/wyjść w jakimś FPGA
Quote:
Napisz dokładniej jaka Twoim zdaniem jest idea tego, że dwa układy
nadają w jedną linię

... . Bo albo idea jest niesłuszna i wtedy robisz
to tak, jak wyżej napisałem, albo stosujesz wyjścia typu OC
Idea jest słuszna - w sensie - to się ma prawo zdarzyć (z powodu błędu
w sofcie)
Quote:
(open-colector) tzn. wysterowujesz je do jednego z dwóch stanów: "0" i
"stan trzeci", a jedynkę ze stanu trzeciego "robi" rezystor
podciągający. Dzięki temu, że piny masz "5V tolerant" możesz podciągnąć
do +5V, albo też do +3V3

... Możesz też i tu i tu, jeśli rezystory
podciągające będą miały odpowiednio dużą wartość

...
Tamten układ nie jest open-colector

Chyba zamiast brnąc pod prąd wstawię jakiś 74LVC4245AD.....
Dzięki,
Pozdrawiam
Paweł