Rezystory szeregowo z Tx i Rx


10

Tworzę własną płytę i używam ATmega 328 z bootloaderem Arduino. Mam przełącznik DIP do wyboru albo układu FTDI (do programowania), który ma być podłączony do Rx i Tx ATMega, albo GPS, który wyprowadza szeregowy do podłączenia. Patrzyłem na ten schemat w celach informacyjnych: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Dlaczego 2 rezystory na Rx i Tx pochodzą z ATMega? Czy potrzebuję ich tylko do połączenia z układem FTDI, czy też muszą być tam również dla GPS?


Powiedziałbym, że miały być rezystorami terminującymi, ale jeśli masz impedancję 1K na ścieżce PCB, masz większe problemy.
drxzcl

1
Dlaczego nie zapytać ludzi, którzy go zaprojektowali?
endolith,

Odpowiedzi:


10

Jednym z nich jest zapobieganie uszkodzeniom, które mogłyby wystąpić, jeśli AVR ma RxD zaprogramowane jako wyjście, piny na obu urządzeniach mogłyby zostać uszkodzone, gdyby tak się stało, ponieważ piny AVR mogą pobierać i pobierać dość dużo prądu. Nie sądzę, że drugi rezystor jest konieczny.


Jeśli zamierzasz dodać sprzęt w celu zrekompensowania ewentualnych błędów oprogramowania układowego, lista nigdy się nie kończy. Nie wiem wiele o AVR, ale większość mikrokontrolerów budzi się z pinami w stanie wysokiej impedancji właśnie z tego powodu. Ogólne styki nie stają się wyjściami, dopóki oprogramowanie sprzętowe tego wyraźnie nie uczyni. Czasami dodatkowy sprzęt do radzenia sobie z prawdopodobnymi błędami ma sens w prototypach, ale w przypadku dużych produktów ze przetestowanym oprogramowaniem układowym jest to tylko strata. Większość wyjść cyfrowych przetrwa dobrze, gdy zostaną zablokowane razem, chociaż nie zrobiłbym tego celowo.
Olin Lathrop,

8
Arduino jest powszechnie używane przez ludzi takich jak studenci sztuki i projektowania, stąd potrzeba takich zabezpieczeń. OP nie powinien potrzebować rezystorów.
Leon Heller

1
Myślę, że może być możliwe ustawienie Rx na FT232 jako wyjściu, w trybie bit-bang.
Connor Wolf,

2
@Olin Ponowne użycie pinu jako pinu wyjściowego jest dość powszechne, jest możliwość używania go zarówno do programowania, jak i ogólnego We / Wy. PORTD jest jedynym pełnym 8-bitowym portem, w którym możesz grać z arduino, więc ponowne użycie linii tx / rx jest taryfą standardową, jeśli nie musisz mówić szeregowo podczas normalnej pracy.
John Meacham

5

Nie wygląda na to, aby istniał dobry powód dla tych rezystorów. Obie części na tym schemacie wydają się działać na 5 V ze wspólnym uziemieniem. Rezystory nie powinny być potrzebne w liniach między dwoma układami scalonymi.

Jeśli linie zejdą z planszy, może być sens szeregowania rezystorów w szeregu, aby chronić części na pokładzie, ale nie wydaje się, aby tak się działo na tym schemacie.

Pamiętaj, że jest to schemat Arduino. Oznacza to, że istnieje duża szansa, że ​​ktokolwiek ją zaprojektował, nie robi tego profesjonalnie. Istnieje wiele przesądów. To, że coś jest w sieci, nie oznacza, że ​​zostało to zrobione dobrze.


6
Arduino jest specjalnie przeznaczony dla osób, które są w tym nowe. Dlatego rozsądne jest zaprojektowanie sprzętu tak, aby tolerował błędy oprogramowania, które mogłyby powodować konflikty magistrali. Widzę bardzo dobry powód dla rezystorów - ludzie mogą przypadkowo ustawić linie TX / RX na wyjścia, kiedy nie powinny.
Connor Wolf,

Istnieją dobre powody, aby rezystory tam były, sprawdź pozostałe odpowiedzi.
Marcelo

5

To stare pytanie, na które już udzielono odpowiedzi, ale nie znalazłem w żadnej z odpowiedzi jednego z dobrych i być może jednego z najważniejszych powodów, dla których rezystory tam były.

Chociaż większość ludzi używa RX / TX tylko do łączenia Arduino ze swoimi komputerami PC w celu programowania układu i / lub wykonywania szeregowego debugowania, inni używają pinów RX / TX Arduino do komunikacji z innymi urządzeniami szeregowymi. W takim przypadku układ FTDI i to drugie urządzenie mogą powodować konflikty i jest bardzo prawdopodobne, że uszkodzą oba z powodu zwarcia. Rezystory te „oddzielają” FTDI od drugiego urządzenia, gdy jest ono podłączone do styków AVR RX / TX, chroniąc oba i umożliwiając ich jednoczesne podłączenie i połączenie.

Należy pamiętać, że po podłączeniu innego urządzenia szeregowego do styków RX / TX Arduino, rezystory będą maskować poziomy logiczne z FTDI w podobny sposób, jak dzieje się to w przypadku rezystorów pullup / pulldown, więc urządzenie zewnętrzne będzie mieć „pierwszeństwo” przed komunikacją FTDI.


1
właśnie na to chciałem odpowiedzieć i jest to bardzo precyzyjne, ponieważ wcześniej szukałem tego tematu.
ElectronS


4

Można to zrobić, aby inne urządzenie zewnętrzne nie zasilało Atmela, gdy jest wyłączone. Ze względu na prąd, który płynie przez wewnętrzne diody zaciskowe Atmel ...


Witamy w EE.SE! Ogólnie zalecamy użytkownikom powstrzymanie się od odpowiadania na stare pytania, chyba że pytanie jest wiarygodne i nie ma na nie odpowiedzi. To powiedziawszy, to konkretne pytanie ma ponad trzy lata i ma akceptowaną odpowiedź. W przyszłości spróbuj powstrzymać się od odpowiadania na starsze pytania, ponieważ umieszcza je ono na górze kanału pytań na pierwszej stronie i nadaje bałaganowi wygląd EE.SE. Dzięki!
Funkyguy

2
@Funkyguy zaakceptowana odpowiedź nie jest nieprawdziwym spostrzeżeniem, ale prawdopodobnie nie jest prawdziwym powodem.
Chris Stratton

2

Dodanie rezystora szeregowego o małej wartości (około 100 omów) do sygnału, który wychodzi poza pokład, może zmniejszyć emisje RF. Rezystory na ilustrowanym schemacie nie wydają się jednak do tego odpowiednie. Kolejnym zastosowaniem rezystorów jest naprawdę tani multiplekser. Jeśli układ FTDI spróbuje wbić styk RX Arduino i nic w nagłówku nie spróbuje, układ FTDI „wygra”, ale jeśli coś w nagłówku spróbuje wbić ten styk bez rezystora szeregowego, urządzenie w nagłówku „ zdobyć". To może tłumaczyć pewną przydatność rezystora na pinie RX Arduino. Nie jestem jednak pewien, do czego służy ten w TX, chyba że istnieje inne połączenie zewnętrzne dla drutu „TX”, który jest podłączony do pinu RX FTDI i po prostu go nie widzę (jeśli było takie połączenie zewnętrzne,


2

Widziałem wcześniej rezystory 100 omów na magistralach I2C i UART, często służą one do ochrony przed wyładowaniami elektrostatycznymi. Działają w połączeniu z wbudowanymi diodami zaciskowymi w MCU.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.