соединение микроконтроллеров по UART

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Nemo
Сообщения: 11

Сообщение Nemo » 27 авг 2014, 23:16

Прочитал статью,решение понравилось: http://we.easyelectronics.ru/AVR/vremya-govorit-s-kamnyami-ili-usart-multi-processor-communication-mode.html

У меня задача, хочу соеденить СТМ32 и примерно 32 ATmega44 способом как в статье. Технически будет плата с мастер микроконтроллером (СТМ32), а дальше проводками к каждому слейву (атмега), думаю 1м максимум. Между платами гальваническая развязка на оптронах. Задача передача без ошибок, скорость 115200, если не получиться то 9600. Думаю как сделать соединения лучше:

1. Использовать микросхеми и интерфейс RS-484/422. - но соединение у меня "Звезда" токое решение неправильное.
2. Использовать буфери на каждом слейве 74HC244.
3. Использовать MAX232 на мастере, и каждом слейве.
4. Не использовать ничего, только провода.

Что можете посоветовать, как лучше?
Спасибо!

P.S. Не знал в какую ветку написать.

Qic
Сообщения: 985

Сообщение Qic » 27 авг 2014, 23:55

Какая задача?

И чо что звезда? 485й в руки, витуху 2 пары. две пары туда, две обратно. Все рады.

Nemo
Сообщения: 11

Сообщение Nemo » 28 авг 2014, 00:05

Задача отправлять дание с мастера на слейвы. 485 - шина , и к ней подключаються девайсы, в конце линии терминатор.
Когда "Зведза" все девайсы подключены в одну точку, и могут возникать проблеммы. Тут подробнее:
http://asutpforum.ru/viewtopic.php?f=59&t=2545

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 01:08

Видимо я хреново объясняю.
Есть у тебя центр, есть лучи. Из центра от мастер контроллера по одной паре идет на энный луч на эный слейв, доходит до него и по второй паре идет обратно, приходит в центр и идет в следующий луч. Понятно?
В результате у твоей звезды топология не звезда, а шлейф. Никогда все устройства не висят так на шлейфе чтобы это не выглядело как развернутая звезда.
Я хоть год инженер АСУТП, но уже несколько объектов сдал и много лулзов повидал.
Мой совет - бери 485й, ModBus RTU, 9600. Бронепаровозно. И терминаторы не забудь на обоих концах. (А еще провод обязательно в экране, и разумеется заземлить в одном месте, где мастер например.)

Nemo
Сообщения: 11

Сообщение Nemo » 28 авг 2014, 01:16

Qic писал(а):Видимо я хреново объясняю.
Есть у тебя центр, есть лучи. Из центра от мастер контроллера по одной паре идет на энный луч на эный слейв, доходит до него и по второй паре идет обратно, приходит в центр и идет в следующий луч. Понятно?

Тоесть,при 32двуг слейвах у меня будеть 32 луча, и в каждого пара для тх и рх?


"Мой совет - бери 485й, ModBus RTU, 9600. Бронепаровозно. И терминаторы не забудь на обоих концах. (А еще провод обязательно в экране, и разумеется заземлить в одном месте, где мастер например.) "

Растояния от мастера примерно 1м,будет гальваническая развязка.
Получаеться терминатор на мастер, и на каждом слейве? Так как соеденения паралельно, не будут терминаторы шунтировать друг друга? Допустим у нас 32 терминатора по 10к, в итоге сумарное сопротивление терминатора 10k/(32 + 1 )

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 01:29

Не tx rx, а шлейф идущий к слейву, и возвращающийся от слейва сразу уходящий к другому. Это топология ШИНА свернутая произвольной кракозяброй. Хоть сколько лучевой звездой. Шина останется шиной со всеми вытекающими.

Топология сети с диф.парой предусматривает установку терминаторов на концах пары. Концов два. Еще раз, это ШИНА, терминаторы ставятся на ПЕРВОМ и ПОСЛЕДНЕМ устройствах на шине.

Терминаторы не допустим, а согласно волновому сопротивлению кабеля. 120 Ом, значит 120 Ом 2 резистора. Один на первое устройство на шине, второй на последнее.

На каждом слейве кроме последнего и мастера - приходящая и уходящая пары соединяются только в самом разъеме, прямо перед ИМС 485го интерфейса.

Также желательно на каждом(!) устройстве иметь "растяжку" шины, 10кОм от А к +5В ИМС 485го интерфейса, и 10кОм от B к минусу (общему проводу) ИМС 485го интерфейса.

По поводу развязки - очень правильно будет если ИМС 485го интерфейса запитана через DC-DC преобразователь от слейва. Лично я себе для новой разработки заказал ADUM1301 для развязки. Пока руки не дошли попробовать, но выглядит многообещающе. Также хочу попробовать MAX13487 - содержит логику автоматического(!) переключения прием/передача. Чтобы например для STM32 сделать переход в режим программирования и обновлять прошивку по RS-485.

P.S. Стандарт RS-485 при корректном исполнении гарантирует работу на расстоянии до 1200м. (на 9600 если мне не изменяет память).
P.S.S. Вот на MAX13487 и ADUM1301 можно сделать автоматический ретранслятор. Но лучше сильно далеко не делать.

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 28 авг 2014, 08:57

На такое расстояние звезда будет работать, особенно на скоростях указанных автором...

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 17:52

Даешь гарантию? ;)

Не уверен - не обгоняй.

И да, я хочу знать зачем опторазвязка и почему нельзя сделать общую землю?
А если тайна великая - то вероятно там будут помехи или еще что.

Я не буду рассказывать как в одном щите с длиной шины 3м и шестью устройствами (3 из них частотники, два МДВВ и ПЛК) пришлось включать на концах терминаторы, ибо даже на 9600 оно сбоило.
А ведь всё опторазвязаное =)

Nemo
Сообщения: 11

Сообщение Nemo » 28 авг 2014, 22:12

Система такая: к компютеру по юсб подключен мастер микроконтроллер стм32, дальше гальваническая развязка интерфейста (обычный уарт,или rs-485) нексолько конекторов для подключение слейвов. На каждом слейве тоже думаю гальваническую развязку , мк слейва атмега.

Опторазвязка нужна чтобы не сжечь компютер если на слейв модуль попадет высокое напряжение. опторазвязка на каждом модуле чтобы не сжечь соседний модуль.
Помехи могут быть разными, домустим я буду управлять АС двигателем с напряжением 220V.

Основная задача выбрать интерфейс, вот и решаю что лучше в даном случае рс 485 или обычний уарт(соеденить ка в статье).

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 22:49

Сначала мы автомобиль делаем, а потом на Марс летим.
Нет, я не осуждаю, просто надо иметь ввиду что запросы растут.
Гальваническая развязка, шина, терминаторы, минимально возможная скорость, витая пара, экранирование, только диф.сигнал - круче только оптика по световодам.
Вообще кстати говоря все пром. устройства с 485м - обязаны иметь полную его гальваническую развязку, что все адекватные производители пром автоматики и делают.
Я выговорился, каждый сделает выводы для себя сам.

Nemo
Сообщения: 11

Сообщение Nemo » 28 авг 2014, 23:08

Спасибо!
Жаль что нельзя использовать соеденение звездой, так монтажние удобней, сделал на мастере конекторы и подключаеш сколько нужно слейвов...

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 23:27

(при 8 битном модбасе) 255 коннекторов на одной плате?! Серьезно? А если адресация 16 битная?
Ну, каждому своё.

Nemo
Сообщения: 11

Сообщение Nemo » 28 авг 2014, 23:31

нет, максимум 32. модбас можно не делать, а сделать как в статье. Штука не для АСУ ТП, и больших растояний нет.

Qic
Сообщения: 985

Сообщение Qic » 28 авг 2014, 23:40

CRC всёравно добавить следует.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 29 авг 2014, 08:33

Если нужно соединение точка-точка, то самый правильный вариант - куча rs232. Он специально для этого разрабатывался, и, поэтому, гарантированно будет работать.
Второй правильный вариант - CAN. Его вполне можно использовать и как точка-точка.
Третий правильный вариант - rs485 из stm23 девайса выходит шина, к которой коннектятся остальные.

Неправильные варианты - rs485 звездой. При 1 метре практически 100% работать. Звездой 485 нельзя включать из-за терминаторов - ненагруженная линия начинает звенеть. Это существенно метров эдак после 100 в тихой обстановке.

При непосредственном подключении проводов к контроллеру есть большая вероятность его выжечь.

Nemo
Сообщения: 11

Сообщение Nemo » 29 авг 2014, 08:53

Соеденение точка (мастер) и много точек (слейвы). На стм32 CAN не сложно реализовать, а на AVR сложнее.

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей