Несколько tx в один rx?

Тема в разделе "Посоветуйте детальки", создана пользователем ostrov, 26 янв 2020.

  1. ostrov

    ostrov Гуру

    Несколько (больше двух) контроллеров подключены к UART главного звездой. В некотором порядке, по очереди, они передают данные на главный. С двумя работает, с бОльшим кол-вом не пробовал, но вроде должно. Может кто сталкивался? Есть проблемы? Длина проводов максимум 2м.
     
  2. KindMan

    KindMan Гуру

    У меня PZEMки 004 3 штуки шлют на один вход. Но там оптопара на выходе. Всё работает без проблем на 9600.
     
    ostrov нравится это.
  3. ostrov

    ostrov Гуру

    Одна оптопара на все входы? А зачем она, уровни разные?
     
  4. KindMan

    KindMan Гуру

    Это измеритель мощности, он гальванически так развязывается с сетью. optocouple2.jpg и вот у меня три этих устройства на один вход мк передают.
     
  5. ostrov

    ostrov Гуру

    Ну, у меня развязка не нужна,все на одной цепи. Наверное нет смысла усложнять оптопарами. К тому, что TX от долбежки по нему другими TXами пострадать, вроде, не должен.
     
  6. parovoZZ

    parovoZZ Гуру

    В UART данные необходимо передавать по запросу. Либо как сделано в profibus по временному маркеру.
     
  7. ostrov

    ostrov Гуру

    Это не вопрос, вопрос аппаратный, возможно ли чтобы ничего не сдохло при этом?
     
  8. DIYMan

    DIYMan Guest

    Два метра для голого UART - как-то похоже на предел. Не боишься помех на линии? А с точки зрения работы - да пж, хоть сто соединений, шо там может случиться?

    Но я всё же подумал бы про RS-485 ;)
     
    Vovka нравится это.
  9. ostrov

    ostrov Гуру

    485 громоздко, думаю пару метров должно вытянуть, мб в экранированный кабель загнать на всякий.
     
  10. DIYMan

    DIYMan Guest

    лучше всего - да.
     
    ostrov нравится это.
  11. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Смотря какие выхода. Если полумосты - получите стандартный конфликт уровней. Могут спалиться. Хотя если микры с защитами, не спалятся, но работы не будет. Если открытый коллектор, то нормально, но подтягивающий резистор - должен быть один на всех. Естественно доступная скорость обмена будет снижаться из-за емкости линий.
     
    Последнее редактирование: 26 янв 2020
    SergeiL нравится это.
  12. SergeiL

    SergeiL Оракул Модератор

    Вот только хотел написать,
    А если два пина соединить между собой, оба на выход, на первый "1", на второй "0". Не сгорит? :)
     
    Vovka нравится это.
  13. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Вы имеете в виду два выхода соединить в параллель ? Если выходы - полумосты, то есть шанс спалиться. Именно шанс, потому что верхний транзистор полумоста обычно открывается плохо и ведет себя примерно как 100-омный резистор. То есть полного кз минус - плюс не произойдет. Но сами понимаете - "обычно" - это не гарантия. Ведь там полупроводник, а не резистор.
     
  14. SergeiL

    SergeiL Оракул Модератор

    Я имею в виду, "обычно" входы соединяют с выходами.
    А если несколько выходов соединяют вместе:
    Либо нужно знать, как устроен выход, и быть уверенным, что так соединять можно.
    Либо нужно обеспечить развязку, хотя бы диод на каждый выход (можно полевик) + один общий резистор.
     
  15. parovoZZ

    parovoZZ Гуру

    Надо читать даташит на выбранный МК, а в частности удостовериться, что пин Tx у МК уходит в Z-состояние при неактивности. У ATMega на нем висит "1", если мне память не изменяет.

    один операционник - это громоздко? Зато все проблемы с емкостью, коротышами уйдут.
     
    Vovka нравится это.
  16. ostrov

    ostrov Гуру

    485 не вариант, схему уже сделали, бюджет попилен, сроки продолбаны, надо делать как есть. Вот такая схема, слева главный, справа два и более ведомых. Будут передавать по бинарному сигналу от главного, по ноге на каждый.
    [​IMG]
     
  17. DayGaik

    DayGaik Гик

    В ATMega это же можно в коде пофиксить, после передачи "отключая" пин?
     
  18. parovoZZ

    parovoZZ Гуру

    если UART кастомный - да. Но как только физический выход подключаешь к какому-либо модулю, ты начинаешь играть по правилам придуманными вовсе не тобой.
     
    Ariadna-on-Line нравится это.
  19. Vovka

    Vovka Гик

    Ну хоть резисторами развязку сделать! А лучше оптикой развязать, особенно если разные блоки питания
    Да и всегда есть вероятность, что кто-то может повиснуть и выдавать всегда 0 или 1 ;)
     
  20. parovoZZ

    parovoZZ Гуру

    а оптика здесь чем поможет?