Резисторы последовательно с Tx и Rx

10

Я делаю свою собственную плату и использую ATmega 328 с загрузчиком Arduino. У меня есть DIP-переключатель, чтобы выбрать либо чип FTDI (для программирования), который будет подключен к Rx и Tx ATMega, либо GPS, который выводит последовательный порт для подключения. Я искал эту схему для справки: http://arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Почему на Rx и Tx есть два резистора от ATMega? Нужны ли они только для подключения к микросхеме FTDI, или они также должны быть там для GPS?

aloishis89
источник
Я бы сказал, что они были предназначены для нагрузочных резисторов, но если у вас 1K импеданс на трассе PCB, у вас большие проблемы.
drxzcl
1
Почему бы не спросить людей, которые это разработали?
эндолит

Ответы:

10

Один из них предназначен для предотвращения повреждения, которое может произойти, если AVR имеет RxD, запрограммированный в качестве выхода, контакты на обоих устройствах могут быть повреждены, если это произошло, поскольку контакты AVR могут получать и потреблять достаточно много тока. Я не думаю, что другой резистор необходим.

Леон Хеллер
источник
Если вы собираетесь добавить оборудование, чтобы компенсировать возможные ошибки прошивки, то этот список никогда не заканчивается. Я не знаю много о AVR, но большинство микроконтроллеров просыпаются с выводами в состоянии высокого сопротивления именно по этой причине. Общие выводы не становятся выходными данными до тех пор, пока прошивка не сделает их явным образом. Иногда дополнительное оборудование для устранения возможных ошибок имеет смысл в прототипах, но для продуктов большого объема с протестированными прошивками это просто пустая трата времени. Большинство цифровых выходов прекрасно выживут при соединении, хотя я бы не стал делать это специально.
Олин Латроп
8
Arduino, как правило, используют такие люди, как студенты, изучающие искусство и дизайн, поэтому необходимы такие меры предосторожности. ОП там не нужны резисторы.
Леон Хеллер
1
Я думаю , что это может быть возможно установить Rx на FT232 в качестве выходного сигнала в режиме бит взрыва.
Коннор Вольф
2
@Olin Повторное использование вывода в качестве выходного вывода является довольно распространенным, возможность использовать его как для программирования, так и для общего ввода-вывода - особенность. PORTD - это единственный полноценный 8-битный порт, который вы используете на Arduino для игры, поэтому повторное использование линий tx / rx является стандартной платой, если вам не нужно говорить по последовательному каналу во время нормальной работы.
Джон Мичем
5

Не похоже, что у этих резисторов есть веская причина. Обе части этой схемы, кажется, работают на 5 В с общим заземлением. Не должно быть необходимости в резисторах в линиях между двумя чипами.

Если бы линии выходили за пределы платы, то, возможно, есть какой-то смысл в последовательном включении резисторов для защиты бортовых частей, но это не похоже на то, что происходит в этой схеме.

Имейте в виду, что это схема Arduino. Это означает, что есть шанс, что кто-то спроектировал это, не сделает это профессионально. Там много суеверий. То, что что-то есть в сети, не означает, что все сделано правильно.

Олин Латроп
источник
6
Arduino специально предназначен для новичков в этом. Таким образом, проектирование аппаратного обеспечения таким образом, чтобы оно было терпимым к программным ошибкам, которые могут вызвать конфликты шин, является здравым смыслом. Я вижу очень хорошую причину для резисторов - люди могут случайно установить линии TX / RX на выходы, когда они не должны быть.
Коннор Вольф
Есть веские причины для присутствия резисторов, пожалуйста, проверьте другие ответы.
Марсело
5

Это старый и уже отвеченный вопрос, но я не нашел ни в одном из ответов ни одной из хороших и, возможно, одной из наиболее важных причин, по которым резисторы были там.

Хотя большинство людей используют RX / TX только для подключения Arduino к своим ПК для программирования микросхемы и / или выполнения последовательной отладки, другие используют контакты RX / TX Arduino для связи с другими последовательными устройствами. В этом случае микросхема FTDI и это другое устройство будут конфликтовать, и очень вероятно, что они повредят оба из-за короткого замыкания. Эти резисторы «отделяют» FTDI от другого устройства, когда оно подключено к выводам AVR RX / TX, защищая оба и позволяя их подключать и подключать одновременно.

Следует помнить, что как только другое последовательное устройство подключается к выводам RX / TX Arduino, резисторы будут маскировать логические уровни от FTDI аналогично тому, как это происходит с нагрузочными / понижающими резисторами, поэтому внешнее устройство будет иметь «предпочтение» над коммуникацией FTDI.

Marcelo
источник
1
это именно то, что я хотел ответить, и это очень точно, так как я искал эту тему раньше.
ElectronS
Вы имеете в виду, как это? electronics.stackexchange.com/questions/77562/…
прохожий
4

Это может быть сделано, чтобы предотвратить отключение другого устройства от платы, когда он выключен. Из-за тока, который проходит через внутренние зажимные диоды Atmel ...

user57449
источник
Добро пожаловать в EE.SE! Обычно мы советуем пользователям воздерживаться от ответов на старые вопросы, если вопрос не заслуживает доверия и не имеет ответа. С учетом сказанного этому конкретному вопросу уже более трех лет, и на него есть принятый ответ. В будущем, пожалуйста, постарайтесь воздержаться от ответов на старые вопросы, так как это приводит вопрос к верхней части ленты вопросов на первой странице и дает грязный взгляд на EE.SE. Спасибо!
Funkyguy
2
@ Funkyguy принятый ответ, хотя и не соответствует действительности, вероятно, не является истинной причиной.
Крис Страттон
2

Добавление последовательного резистора малого значения (100 Ом или около того) к сигналу, поступающему за пределы платы, может снизить радиочастотные излучения. Тем не менее, резисторы на показанной схеме не очень подходят для этого. Другое использование резисторов - это действительно дешевый мультиплексор. Если микросхема FTDI пытается управлять выводом RX Arduino, и ничего в заголовке не пытается, то микросхема FTDI "победит", но если что-то в заголовке попытается управлять этим выводом без последовательного резистора, устройство на заголовке будет " выиграть". Это может объяснить некоторую полезность резистора на выводе RX Arduino. Не уверен, для чего предназначается тот, что на TX, если только нет другого внешнего соединения для провода "TX", которое подключено к выводу RX FTDI, и я просто не вижу его (если было такое внешнее соединение,

Supercat
источник
2

Я уже видел резисторы 100 Ом на шинах I2C и UART, они часто предназначены для защиты от электростатических разрядов. Они работают совместно со встроенными диодными зажимами в MCU.

Томас О
источник