Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мультипроцессорный обмен
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
DeXteR
Добрый день

Интересуюсь опытом создания связи устройств на АВР

Задача - связать 5 Атмег 32 (1 мастер 4 слейва) в сеть
Расстояние до 4 метров
Сильные помехи - работает несколько двигателей по 1 кВт

Какие есть пути решения проблеммы ???

Спасибо

De}{teR
defunct
>> Какие есть пути решения проблеммы ???


симметрический интерфейс... rs485 imho самое то в таких случаях.
muravei
Еще есть CAN
spf
Цитата(DeXteR @ Dec 16 2005, 22:22) *
Задача - связать 5 Атмег 32 (1 мастер 4 слейва) в сеть
Расстояние до 4 метров
Сильные помехи - работает несколько двигателей по 1 кВт

Какие есть пути решения проблеммы ???

+1 за CAN (независимо от контроллера)
- диф.линия
- мультимастер
- аппаратный контроль ошибок передачи

http://gaw.ru/html.cgi/txt/interface/can/start.htm
Rash
дешевле и быстрее бутет по RS485. По CAN дольше с программой будешь возится если ни когда его не юзал.
Roma_te
Цитата(spf @ Dec 17 2005, 09:22) *


Не знаю как у Вас, а у меня gaw.ru уже несколько дней не работает

В етом случае САN слишком сложный.
Мне кажется, что RS485 на экранированной витой паре с CRC контролем обеспечат требуемую надежность связи.
Vladimir_C
Цитата(Roma_te @ Dec 17 2005, 14:30) *
Цитата(spf @ Dec 17 2005, 09:22) *


Не знаю как у Вас, а у меня gaw.ru уже несколько дней не работает

В етом случае САN слишком сложный.
Мне кажется, что RS485 на экранированной витой паре с CRC контролем обеспечат требуемую надежность связи.

Как альтернатива возможны варианты LVDC или оптической развязки (не путать с оптроном).
fantasy
Поддерживаю предложения на RS485
+ интерфейс обеспечивает защиту по току, что не маловажно при коллизиях в мультипроцессорных сетях
spf
Цитата(Roma_te @ Dec 17 2005, 16:30) *
Не знаю как у Вас, а у меня gaw.ru уже несколько дней не работает

Ни кто не запрещает воспользоваться поисковикомwink.gif
Цитата
В етом случае САN слишком сложный.
Мне кажется, что RS485 на экранированной витой паре с CRC контролем обеспечат требуемую надежность связи.

CAN сложный в понимании, первое время, а реализация протокола обмена на два порядка проще.

Имхо:
- не надо ограничивать проект текущими потребностями, "А вдруг завтра потребуется 28 слейвов и 3 мастера"
- проще осваивать "новые технологии" на простом пректе.
Roma_te
Цитата(spf @ Dec 17 2005, 21:37) *
CAN сложный в понимании, первое время, а реализация протокола обмена на два порядка проще.


С этого места пожалуста подробнее, желательно со ссылками.

Цитата
- не надо ограничивать проект текущими потребностями, "А вдруг завтра потребуется 28 слейвов и 3 мастера"


Конечно перспектива - великое дело, однако и о экономике проэкта не стоит забывать.

Цитата
- проще осваивать "новые технологии" на простом пректе.


С этим нельзя не согласится
spf
Цитата(Roma_te @ Dec 18 2005, 00:07) *
Цитата(spf @ Dec 17 2005, 21:37) *
CAN сложный в понимании, первое время, а реализация протокола обмена на два порядка проще.
С этого места пожалуста подробнее, желательно со ссылками.

Первый порядок - аппаратный арбитраж на шине.
Второй порядок - аппаратная CRC, автоматический повтор и т.п.
Третий порядок - аппаратная адресация и приоритеты сообщений.

Все эти прелести описаны в спецификации на CAN и доке по конкретному CAN-контроллеру.

http://www.can.bosch.com/
http://www.kvaser.com/can/
http://www.can-cia.de/
Всех ссылок здесь не перечислить, стоит воспользоваться поисковиком:
http://www.google.ru/search?hl=en&q=%22Con...%22&btnG=Search
Aleks17
А вот если взять AT90CAN128 (ATMega128 + CAN), то с 1-3 уровнями заморачиваться не придётся, а можно сразу перейти к написанию программы. Процессор вообще очень удобный в плане реализации CAN интерфейса. Стоимость конечно дороже, но и возможностей больше.
DeXteR
Да простят меня админы зато что создал тему с одинаковым названием

Тупо проглядел =(

Огромное спасибо всем за советы и участие

Интересно почитать чтонибудь по rs485
На CAN наверна времени духа и денег нехватит

Счас скалоняюсь с следущей схеме

выход MAX232 У мастера - на входы мах232 всех слейвов

выходы слейвов - на отдельные входы мах232-х на мастере

Выходы мах232 (5 вольтовый уровень) выбираеться мастером
перед началом транзакции с помощью мультиплексора

При такой схеме если один из слейвов выгорит с сетью ничего не произойдет
и мелкосхемки дешевые и в корпусе ДИП

И отлаживать можна с помощью компорта на компе и протеуса

Прошу критики

Спасибо

De}{teR
defunct
Цитата(DeXteR @ Dec 18 2005, 17:07) *
Интересно почитать чтонибудь по rs485

Счас скалоняюсь с следущей схеме

выход MAX232 У мастера - на входы мах232 всех слейвов

выходы слейвов - на отдельные входы мах232-х на мастере

Выходы мах232 (5 вольтовый уровень) выбираеться мастером
перед началом транзакции с помощью мультиплексора

При такой схеме если один из слейвов выгорит с сетью ничего не произойдет
и мелкосхемки дешевые и в корпусе ДИП
De}{teR



Есть трансиверы RS485/422 - MAX485, ADM485 и т.п.. Скачайте даташит по ним. На уровне контроллера работа с RS485 сводится к такой же самой реализации UARTа, что и при работе с RS232, исключение составит лишь один дополнительный управляющий вывод, который будет переключать трансивер RS485 на прием/передачу. Одноименные выводы (A, B ) трансиверов соединяете параллельно двухпроводкой (желательно экранированной витой парой, как тут советовали) и считайте сеть готова.

Далее алгоритм общения по rs485 для вашего случая стандартный опрос. В исходном состоянии все трансиверы настроены на прием. Мастер при необходимости переключается на на передачу, и после отправки сообщения сразу же переключается на прием. Слейв при при приеме сообщения и распознавания своего адреса, отправляет ответ.

Удачи
Roma_te
Цитата(DeXteR @ Dec 18 2005, 19:07) *
выход MAX232 У мастера - на входы мах232 всех слейвов

выходы слейвов - на отдельные входы мах232-х на мастере

Выходы мах232 (5 вольтовый уровень) выбираеться мастером
перед началом транзакции с помощью мультиплексора

При такой схеме если один из слейвов выгорит с сетью ничего не произойдет
и мелкосхемки дешевые и в корпусе ДИП

И отлаживать можна с помощью компорта на компе и протеуса
De}{teR


1. Я не уверен, что один выход MAX232 мастера потянет 4 входа слейвов.
2. Как я понял (не уверен что корректно), Вы на передачу сообщений мастером используете архитектуру "общая шина", а на прием - "точка-точка". Если это так, то я не пойму почему и на передачу не использовать для каждого контроллера собственный MAX232, тем более что в Вашей системе он присутствует.
3. Лучше использовать, например, MAX485 и архитектуру "общая шина". В этом случае упростится схема и програма работы но для отладки с помощью ПК необходимо иметь конвертер RS232-RS485(например: http://www.rs485.com/pasc24t.html).
slog
Цитата(DeXteR @ Dec 18 2005, 18:07) *
выход MAX232 У мастера - на входы мах232 всех слейвов
выходы слейвов - на отдельные входы мах232-х на мастере
Прошу критики

De}{teR


MAX232 это RS-232 а совсем не RS-485. Это разные вещи, особенно в плане помехоустойчивости. Смотри MAX485 и подобные. Ищи в интернете "RS-485 для чайников" там все расписано.
DeXteR
Добрый день

Разницу между RS485 и RS232 представляю

Дело в том что во всей этой конструкции (опытном образце) использую последовательный программматор AVR910 и никаких сбоев при программировании нету - RS232 Тянет по помехе

По поводу выходного каскада мастера замечание понял Сделаю точка к точке
Задействую оставшиеся выходные каскажы MAX232 + вторую половинку мультиплексора


Интерфейс Точка к точке на мой взгляд решит проблемму коллизий и повысит надежность


Спасибо за советы и поддержку
vm1
Цитата(DeXteR @ Dec 19 2005, 11:12) *
Добрый день

Разницу между RS485 и RS232 представляю

Дело в том что во всей этой конструкции (опытном образце) использую последовательный программматор AVR910 и никаких сбоев при программировании нету - RS232 Тянет по помехе

По поводу выходного каскада мастера замечание понял Сделаю точка к точке
Задействую оставшиеся выходные каскажы MAX232 + вторую половинку мультиплексора


Интерфейс Точка к точке на мой взгляд решит проблемму коллизий и повысит надежность


Спасибо за советы и поддержку


Зря Вы так,
Надежность и помехозащищенность RS485 выше на порядок.
Roma_te
Цитата(DeXteR @ Dec 19 2005, 12:12) *
Дело в том что во всей этой конструкции (опытном образце) использую последовательный программматор AVR910 и никаких сбоев при программировании нету - RS232 Тянет по помехе


В любом случае проверка CRC лудет не лишней.
IgorKossak
Цитата(vm1 @ Dec 19 2005, 11:13) *
...
Надежность и помехозащищенность RS485 выше на порядок.

На два порядка!!!
fantasy
Влезу ещё немного wink.gif

Никто не упомянул м.с. для драйвера RS485 - это SN75176B (цена по Платану 13.10 против 34.80 на ADM485AN). У неё один из плюсов - отсутствие внутренней подтяжки на линиях A и B (прямая и инверсная), по моему мнению даже +2 резистора килоом так в 200 всяко дешевле будет, а надёжность таже (из практического опыта)
spf
Цитата(DeXteR @ Dec 19 2005, 13:12) *
Дело в том что во всей этой конструкции (опытном образце) использую последовательный программматор AVR910 и никаких сбоев при программировании нету - RS232 Тянет по помехе

Частный случай опытного образца, да и только.
Цитата
Интерфейс Точка к точке на мой взгляд решит проблемму коллизий и повысит надежность

Увеличение кабелей и элементов не повышает надежность...

ИМХО: Если это один экземпляр то его можно вылизать, из чего бы он ни был сделан. Если серия, то упавать на результаты одного настольного эксперимента не стоит.
Roma_te
Цитата(spf @ Dec 19 2005, 14:39) *
Частный случай опытного образца, да и только.

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

Цитата
Увеличение кабелей и элементов не повышает надежность...

Вы правы, только в этом случае нет необходимости использовать конвертор RS232-RS485 для отладки.
fantasy
Цитата(Roma_te @ Dec 19 2005, 13:53) *
В действительности RS232 имеет достаточно высокую помехозащищенность. Его допустимая амплитуда импульсной помехи больше 7В. Если дополнительно использовать экранированную витую пару, то надежность передачи данных будет очень высокой.

видимо, уважаемый, Вы никогда не имели дело с реальными длинными, шумными, некачественными линиями, да ещё работающих в условиях непредсказуемых помех. Не проходят подобные "простые" решения в реальных условиях... тут кроме фактора "помехозащищенность линии" оч. часто есть фактор "стоимость линии"!
spf
Цитата(IgorKossak @ Dec 19 2005, 15:04) *
Цитата(vm1 @ Dec 19 2005, 11:13) *
Надежность и помехозащищенность RS485 выше на порядок.
На два порядка!!!

Забыли аргументы привести wink.gif, где написано?
fantasy
Цитата(spf @ Dec 19 2005, 14:23) *
Цитата(IgorKossak @ Dec 19 2005, 15:04) *
Цитата(vm1 @ Dec 19 2005, 11:13) *
Надежность и помехозащищенность RS485 выше на порядок.
На два порядка!!!

Забыли аргументы привести wink.gif, где написано?

RS-422 and RS-485 Application Note. ©Copyright B&B Electronics -- Revised October 1997.
Там для "чайников" с красивыми картинками расписано преимущества Unbalanced Line Drivers (RS232) и Balanced Line Drivers (RS485)
DeXteR
Цитата(fantasy @ Dec 19 2005, 16:05) *
Цитата(spf @ Dec 19 2005, 14:23) *

Цитата(IgorKossak @ Dec 19 2005, 15:04) *
Цитата(vm1 @ Dec 19 2005, 11:13) *
Надежность и помехозащищенность RS485 выше на порядок.
На два порядка!!!

Забыли аргументы привести wink.gif, где написано?

RS-422 and RS-485 Application Note. ©Copyright B&B Electronics -- Revised October 1997.
Там для "чайников" с красивыми картинками расписано преимущества Unbalanced Line Drivers (RS232) и Balanced Line Drivers (RS485)


А можно эту датащитину к теме приатачить

Было бы очень полезна =)

Спасибо
vesago
Цитата(fantasy @ Dec 19 2005, 14:31) *
Влезу ещё немного wink.gif

Никто не упомянул м.с. для драйвера RS485 - это SN75176B (цена по Платану 13.10 против 34.80 на ADM485AN). У неё один из плюсов - отсутствие внутренней подтяжки на линиях A и B (прямая и инверсная), по моему мнению даже +2 резистора килоом так в 200 всяко дешевле будет, а надёжность таже (из практического опыта)


Интересный момент - делал я девайс, который подсоединялся к существующей сети. 485 реализован был в этих приборах как раз на sn75176b. Свой девайс я подсоединял через ADM485. Как только подконнектил - сразу связь накрылась. Что я только не делал - ну не хотят они вместе работать. Ток у адм кажись пошибче. Короче плюнул я и подпаялся на платах между процессором и sn75176b.
Rash
Цитата
Интересный момент - делал я девайс, который подсоединялся к существующей сети. 485 реализован был в этих приборах как раз на sn75176b. Свой девайс я подсоединял через ADM485. Как только подконнектил - сразу связь накрылась. Что я только не делал - ну не хотят они вместе работать. Ток у адм кажись пошибче. Короче плюнул я и подпаялся на платах между процессором и sn75176b.

Внутри того девайса скорее всего подтяжка резюками была реализована, поэтому и глушился интерфейс, я делаю как в файлике и всё работает, схема слизана с промышленного i/o модуля.
fantasy
Цитата(vesago @ Dec 19 2005, 15:50) *
Цитата(fantasy @ Dec 19 2005, 14:31) *

Влезу ещё немного wink.gif

Никто не упомянул м.с. для драйвера RS485 - это SN75176B (цена по Платану 13.10 против 34.80 на ADM485AN). У неё один из плюсов - отсутствие внутренней подтяжки на линиях A и B (прямая и инверсная), по моему мнению даже +2 резистора килоом так в 200 всяко дешевле будет, а надёжность таже (из практического опыта)


Интересный момент - делал я девайс, который подсоединялся к существующей сети. 485 реализован был в этих приборах как раз на sn75176b. Свой девайс я подсоединял через ADM485. Как только подконнектил - сразу связь накрылась. Что я только не делал - ну не хотят они вместе работать. Ток у адм кажись пошибче. Короче плюнул я и подпаялся на платах между процессором и sn75176b.

Непомню как точно называется, но для RS485 интерфейса очень важный параметр - это величина нагрузки каждого прибора на линию. Т.е. максимальная нагрузка всей линии принимается за единицу, а каждый прибор потребляет часть - стандартно 1/32. Большинство м/с ADM имеют этот параметр равным 1/128, а все SN75176 1/32, скорее всего от этого и проблема

RS-422 and RS-485 Application Note. ©Copyright B&B Electronics -- Revised October 1997.
Igor26
Литература по сетям RS-485 есть по адресам:
1. «Обрежьте жирок с RS-485»
http://www.compitech.ru/html.cgi/arhiv/01_04/stat_36.htm
2. Интерфейсы последовательной передачи данных. Стандарты EIA RS422A/RS-485 http://www.cta.ru/pdf/1997-3/note1_1997_3.pdf
3. Повышение помехоустойчивости приборной шины http://www.logika.spb.ru/spnet_last/rs485_bias.pdf
4. RS-485 для чайников http://mayak-bit.narod.ru/rs485.html
5. Настройка сетей на основе RS-422 и RS-485 http://www.rs232.ru/docs/485/rs485.html
6. Поиск неисправностей в системах передачи данных http://www.rs232.ru/doc004.html
7. Правильная разводка сетей RS-485 http://www.gaw.ru/html.cgi/txt/interface/rs485/app.htm
8. THE ART AND SCIENCE OF RS-485 http://ianzag.megasignal.com/ftp/pub/doc/s...erial/rs485.pdf
9. Применение приемопередатчиков MAX3157
http://www.maxim-ic.com/appnotes.cfm/appnote_number/1137
10. Troubleshooting guide for RS-485
http://www.bb-elec.com/guide/RS485_Trouble_Shooting.pdf
Roma_te
Цитата(fantasy @ Dec 19 2005, 15:08) *
видимо, уважаемый, Вы никогда не имели дело с реальными длинными, шумными, некачественными линиями, да ещё работающих в условиях непредсказуемых помех. Не проходят подобные "простые" решения в реальных условиях... тут кроме фактора "помехозащищенность линии" оч. часто есть фактор "стоимость линии"!

1. У меня успешно внедрена инфомационная система на базе модернизированного интерфейса RS232 (патент Украины №25609A), который с точки зрения помехоустойчивости такой же как RS232, в которой для связи конроллеров использовано больше километра кабеля - телефонной лапши. Да, интенсивность помех - на уровне бытовых, частота обмена - 1200. Но даже слабые источники помех способны навести на такую "антену" значительные сигналы. Так вот, количество сбоев при передаче данных было: во первых - несущественным, и вызвано, в основном, арбитражем.
Так что мои высказывания на счет помехоустойчивости RS232 обоснованы личным опытом.

2. Стоимость линии, предложенной мной, сравнима со стоимостью линии интерфейса RS485.
slog
[/quote]
1. У меня успешно внедрена инфомационная система на базе модернизированного интерфейса RS232 (патент Украины №25609A), который с точки зрения помехоустойчивости такой же как RS232, в которой для связи конроллеров использовано больше километра кабеля - телефонной лапши. Да, интенсивность помех - на уровне бытовых, частота обмена - 1200. Но даже слабые источники помех способны навести на такую "антену" значительные сигналы. Так вот, количество сбоев при передаче данных было: во первых - несущественным, и вызвано, в основном, арбитражем.
Так что мои высказывания на счет помехоустойчивости RS232 обоснованы личным опытом.

2. Стоимость линии, предложенной мной, сравнима со стоимостью линии интерфейса RS485.
[/quote]

Диференциальный сигнал по витой паре (RS-485) на порядки помехоустойчивее чем RS-232. Использовать RS-232 даже при минимальных скоростях на линиях больше километра чревато, работать оно может и будет, но вы сознательно раскладываете себе грабли, по которым потом бегать будете. Используя RS-485 можно получить ГОРАЗДО более высокие скорости на более дешевом кабеле, на бОльших расстояниях. Где тут выгода и дешевизна RS-232 - не понятно. RS-485 будет дешевле, к тому же будет работать без глюков там где 232 вообще не будет. Так что вам выбирать.
spf
Цитата(Roma_te @ Dec 19 2005, 23:12) *
Так вот, количество сбоев при передаче данных было: во первых - несущественным, и вызвано, в основном, арбитражем.
Так что мои высказывания на счет помехоустойчивости RS232 обоснованы личным опытом.

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

PS: Вы бы еще предложили на скорости 50 бод общаться, наверное еще меньше помех бы стало wink.gif.
fantasy
Цитата(Roma_te @ Dec 19 2005, 21:12) *
Цитата(fantasy @ Dec 19 2005, 15:08) *

видимо, уважаемый, Вы никогда не имели дело с реальными длинными, шумными, некачественными линиями, да ещё работающих в условиях непредсказуемых помех. Не проходят подобные "простые" решения в реальных условиях... тут кроме фактора "помехозащищенность линии" оч. часто есть фактор "стоимость линии"!

1. У меня успешно внедрена инфомационная система на базе модернизированного интерфейса RS232 (патент Украины №25609A), который с точки зрения помехоустойчивости такой же как RS232, в которой для связи конроллеров использовано больше километра кабеля - телефонной лапши. Да, интенсивность помех - на уровне бытовых, частота обмена - 1200. Но даже слабые источники помех способны навести на такую "антену" значительные сигналы. Так вот, количество сбоев при передаче данных было: во первых - несущественным, и вызвано, в основном, арбитражем.
Так что мои высказывания на счет помехоустойчивости RS232 обоснованы личным опытом.

2. Стоимость линии, предложенной мной, сравнима со стоимостью линии интерфейса RS485.

Действительно рад за Вас, что Вы нашли подобное решение и Вас оно устроило. Однако как вы сами сказали частота обмена - 1200 ... количество сбоев при передаче данных было: во первых - несущественным, а, например, в моей задачи скорость обмена 250000 бит в секунду, никакого арбитража в принципе и наличие сбоев крайне нежелательно (см. стандарт DMX512). Так что других недорогих вариантов кроме как RS485 для данного решения я не вижу (справедливости ради отмечу, что никакого отношения к выбору RS485 для стандарта DMX512 я не имею smile.gif ).

Ну а чтоб не раздувать пустые "религиозные" споры на тему "что лучше" считаю, что каждую задачу по выбору интерфейса надо тщательно анализировать, причём начинать следует сразу с общепринятых стандартов в данной области. Ведь придумывают стандарты люди, которые в данном вопросе разбираются ну ни как не хуже, чем Вы!
Roma_te
Цитата(spf @ Dec 20 2005, 07:47) *
Пока этот опыт не признан мировым сообществом... и как мне кажется, не имеет научной базы - частный случай, имхо. Не стоит людей на грабли кидать.


Ниже приведен ряд публикаций на эту тему:
1. Патент 25609A України, МКІ G06F 15/00. Двопровідна локальна обчислювальна мережа, повторювач сигналу та інвертор для використання в ній / В.В.Кочан, В.О.Тимчишин (Україна); Заявл. 30.10.97 № 97105295; Видано 30.10.98.
2. Кочан В.В., Тимчишин В.О. Обчислювальна мережа лiкувального закладу з використанням спецiалiзованих термiналiв // Вiсник Тернопільської академії народного господарства. - 1998. - № 3. - С. 103-109.
3. A.Sachenko, V.Tymchyshyn, D.Zhang. Low Cost Hardware and Software Components for Intelligent Information Control Systems // Preprints of 5th IFAC Symp. on Low Cost Automation (LCA'98). - Shenyang, P.R.China. - 1998.- P. TS9-21 - TS9-26.

Цитата
PS: Вы бы еще предложили на скорости 50 бод общаться, наверное еще меньше помех бы стало wink.gif.

Скорость определялась исходя из необходиммых потоков данных.
Roma_te
Цитата(fantasy @ Dec 20 2005, 13:02) *
... а, например, в моей задачи скорость обмена 250000 бит в секунду, никакого арбитража в принципе и наличие сбоев крайне нежелательно (см. стандарт DMX512).

Мы, в даной ветке форума, обсуждаем не Вашу задачу.
Цитата
Ну а чтоб не раздувать пустые "религиозные" споры на тему "что лучше" считаю, что каждую задачу по выбору интерфейса надо тщательно анализировать, причём начинать следует сразу с общепринятых стандартов в данной области. Ведь придумывают стандарты люди, которые в данном вопросе разбираются ну ни как не хуже, чем Вы!

Вы правы, почитайте мои сообщения #6 и #15 в этой ветке, в которых я советую использовать RS485, который, также как и Вы, считаю более подходящим для указанной задачи. Однако в использовании RS232 я не вижу больших проблем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.