Potrzebuję sposobu na odwrócenie sygnału cyfrowego, tj. Jeśli wejście jest wysokie, chcę, aby wyjście było niskie, a jeśli wejście jest niskie, chcę, aby wyjście było wysokie.
Myślę, że można to osiągnąć za pomocą jednego tranzystora PNP, ale chciałem to tutaj sprawdzić. Napięcia, z którymi mam do czynienia, są mniejsze niż 5 V.
transistors
digital-logic
Matt Ruwe
źródło
źródło
Odpowiedzi:
Lub, skoro i tak mówisz o sygnałach cyfrowych, korzystasz z falownika .
A
jest wejście (dla bram z większej liczby wejść, które będąA
,B
,C
itp)Y
jest wyjściem. Jeśli nie komplikuje to zbytnio twojego schematu, umieść symbol z wejściem po lewej stronie.NXP ma falowniki z pojedynczą bramą . Tylko cztery połączenia: zasilacz, masa, wejście i wyjście.
Można to jednak zrobić za pomocą tranzystora i dwóch rezystorów. To prosty schemat, ale wciąż musisz wykonać kilka prostych obliczeń. Będziesz miał dokładnie takie same połączenia jak z falownikiem.
BTW, opcja PNP jest opcją, ale częściej używana będzie nazwa NPN.
edytuj (ponownie komentarz)
Jeśli sygnał wejściowy jest wysoki, prąd przepłynie przez R2 i złącze tranzystora baza-emiter (baza, a nie bramka). Prąd ten zostanie wzmocniony, a prąd kolektora przez R1 spowoduje spadek napięcia, tak że moc wyjściowa będzie niska. Wejście wysokie, wyjście niskie.
Jeśli sygnał wejściowy jest niski, nie będzie prądu bazowego ani prądu kolektora. Brak prądu przez R1 oznacza brak spadku napięcia, więc wyjście będzie miało wartość + V. Wejście niskie, wyjście wysokie.
To już prowadzi nieco dalej, ale jak powiedziałem w komentarzu do sandun, wyjście jest wysoce asymetryczne. Jeśli wyjście jest podłączone do kondensatora, wysoki poziom wyjściowy oznaczałby, że kondensator jest ładowany przez R1, co spowoduje nachylenie wykładnicze ze stałą czasową R1C. Kiedy moc wyjściowa spada, kondensator zostanie rozładowany przez znacznie niższy opór, a nachylenie będzie znacznie bardziej strome. Nie dostaniesz tej różnicy z bramkami CMOS, które mają symetryczne możliwości źródła / ujścia.
Wejście wersji tranzystora będzie również pobierać (mały) prąd, gdy jest wysoki. Wersja CMOS będzie miała niewielki prąd upływowy zarówno przy wysokim, jak i niskim.
Ogólnie zintegrowana bramka logiczna jest zwycięzcą.
źródło
Tak, można to osiągnąć za pomocą jednego tranzystora i rezystora, ale istnieją układy zaprojektowane specjalnie do odwracania sygnałów cyfrowych. Co dziwne, nazywane są falownikami . Sprawdź na przykład 74HC04. To daje sześć oddzielnych falowników w jednym 14-pinowym pakiecie. Istnieją również pojedyncze falowniki (i inne małe bramki logiczne) dostępne w małych pakietach SOT-23, czyli w tym samym pakiecie, w które wchodzą poszczególne tranzystory.
Nie ma powodu, aby próbować stworzyć własny falownik, ale tak, jest to możliwe.
Dodano w odpowiedzi na komentarz:
Jak powiedziałem, pojedynczy bipolarny tranzystor może być wykorzystany jako podstawa prostego falownika. Potrzebny jest przynajmniej tranzystor i rezystor podstawowy. Dla kompletności dodam również rezystor obciążenia wyjściowego, który należy założyć, że jest potrzebny, chyba że wiesz, co zostanie podłączone do wyjścia zapewni niezbędne obciążenie. W szczególności w tranzystorze PNP nie ma nic magicznego. Równie dobrze można użyć NPN. Oto, jak każdy z nich zostanie użyty:
Zauważ, że każde ma 4 połączenia: zasilanie, masa, wejście i wyjście. Różnica między nimi polega na tym, w którym kierunku ładuje on sygnał wejściowy, i w którym kierunek jest aktywnie napędzany w porównaniu z pasywnie ciągniętym przez obciążenie. Jeśli nie przejmujesz się tymi problemami, oba obwody są funkcjonalnie równoważne.
Jest to jednak łatwiejsze:
Jest również szybszy, wymaga mniejszej mocy stanu ustalonego, ma wyższą impedancję imputancji i jest mniejszy. Ma te same cztery połączenia, co powyższe falowniki. Pojedyncze bramki tego typu są dostępne w pakietach SOT-23, czyli w tym samym pakiecie, w które wchodzą pojedyncze tranzystory. Wymaga to tylko jednej części zewnętrznej, zaślepki obejścia. Nie potrzebuje rezystora obciążenia, ponieważ jego wyjście aktywnie napędza w obie strony.
Naprawdę, w przypadku ogólnego odwracania sygnałów cyfrowych, tworzenie własnego falownika jest głupie w normalnych zastosowaniach.
Poza tematem dotyczącym schematu:
Skrypt to tak naprawdę tylko trzy linie. Oto cały plik:
Jest to bardzo konkretny, jednorazowy skrypt, ale działa wystarczająco dobrze do tego celu. W Eagle eksportuję schemat do pliku obrazu \ temp \ a.tif, uruchom skrypt, który tworzy \ temp \ b.gif. Ustawienie Eagle dla eksportu obrazów to 600 DPI i tryb monochromatyczny. Naprawdę, to wszystko. Prawdopodobnie brzmi to bardziej skomplikowane niż jest.
źródło
Oto niektóre wartości rezystorów, które działają dla sygnałów CMOS:
Znalazłem ten wątek, ponieważ chciałem podłączyć starszy „LCD Digital Backpack” do Arduino. Arduino wysyła pozytywne sygnały szeregowe, a cyfrowy plecak potrzebuje sygnałów odwróconych. Nowsza wersja kontrolera LCD ma odwróconą / nieodwróconą zworkę, ale moja nie. Podobnie możliwe jest generowanie odwróconych sygnałów szeregowych za pomocą oprogramowania, ale wymaga to uruchomienia niestandardowej biblioteki. Chciałem użyć standardowych
Serial.write
poleceń.Początkowo podłączyłem jeden z 4 przekaźników NOR w poczwórnej bramce NOR 4001 CMOS jako falownik, ale to zajmuje dużo miejsca na mojej płycie, a ponieważ powinieneś związać wszystkie nieużywane wejścia z uziemieniem, wiąże się to z dużą ilością okablowanie. (Myślę, że musiałem podłączyć wszystkie oprócz 3 z 14 pinów w pakiecie; wszystko oprócz wyjść na 3 nieużywanych NOR-ach).
Chciałem prostszego rozwiązania. Użyłem obwodu zapewnionego przez @stevenvh.
Link tutaj:
Mam do czynienia z logiką CMOS 5 V przy 9600 bodów, więc impedancja wejściowa jest bardzo wysoka / prąd jest bardzo niski. Ponieważ przełączam tylko na 9600 bodów, nie sądzę, że asymetryczne zachowanie falownika tranzystorowego bardzo mnie boli.
Stwierdziłem, że rezystor 100K na wejściu (R2 na schemacie Stevenvha) działał, i użyłem rezystora 3,3k jako rezystora podciągającego w R1. Na podstawie moich obliczeń (I = V / R, 5/3300) ta konfiguracja pobiera <= 1,5 mA w stanie WŁĄCZENIA (nieco mniej z powodu wewnętrznej rezystancji tranzystora.) Mogę podłączyć garnek i zobaczyć, jak duży Rezystor mogę uciec z nadal mieć LCD odbiera sygnał.
źródło
Oto jak to zrobić w sposób CMOS:
symulacja tego obwodu - Schemat utworzony za pomocą CircuitLab
Napięcie szyny zasilającej może być tak wysokie, jak chcesz, o ile jest niższe niż napięcie przebicia bramy.
źródło