Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Выбор интерфейса обмена между платами

Непрочитано 15.06.2010, 10:56  
BlackCat43
Прохожий
 
Регистрация: 22.05.2007
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
BlackCat43 на пути к лучшему
По умолчанию Re: Выбор интерфеса обмена между платами.

Сообщение от raxp Посмотреть сообщение
LVDS
вообще помехоустойчивость можно повысить использованием поверх интерфейса (неважно какого) протокола обмена с контролем ошибок.
Не только можно, но и обязательно, если речь идет не о мигалке для елки. И еще лучше - не только с обнаружением, но и исправлением ошибок - меньше будет повторных запросов.
Реклама:
BlackCat43 вне форума  
Непрочитано 18.06.2010, 17:42  
anton_1000
Прописка
 
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
anton_1000 на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

можно ли на интерфейс USART вешать несколько микроконтроллеров, которые "общаются" между собой при помощи адресации? При этом отсутствует "ведущий".
anton_1000 вне форума  
Непрочитано 18.06.2010, 17:55  
raxp
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

... нет ...
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Непрочитано 18.06.2010, 17:56  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

Сообщение от anton_1000 Посмотреть сообщение
можно ли на интерфейс USART вешать несколько микроконтроллеров, которые "общаются" между собой при помощи адресации? При этом отсутствует "ведущий".
Ну очевидно что можно - RS485 примерно так и работает. Но там не принято делать мультимастер, арбитража аппаратного нет, а софтом разруливать сложно и много ресурсов сожрет. Берите I2C - для мультимастера идеальный вариант. Или CAN - если надо далеко, не быстро и надежно. Оба эти интерфейса рассчитаны на то, что мастер не один. А в СAN так и вообще понятие "мастер" отсутствует.
kison вне форума  
Непрочитано 18.06.2010, 18:19  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

Сообщение от anton_1000 Посмотреть сообщение
можно ли на интерфейс USART вешать несколько микроконтроллеров, которые "общаются" между собой при помощи адресации? При этом отсутствует "ведущий".
Можно. В микроконтроллерных USART для этого есть даже специальная фишка - 9-ти битный режим. То есть, например, все по дефолту настроены на 8-ми битный, и допустим N1 хочет передать что-то N2. Тогда он шлет в общую магистраль запрос - "второй, сними трубку, я с тобой разговаривать буду". После этого они переключаются в 9-ти битный и ведут обмен, 9-й бит при этом нулевой - остальные МК не ловят - для них это ошибка стоп-бита - и не напрягаются. По окончании обмена - возврат в 8-ми битный.

Но тут еще надо предусмотреть что-то, что помешает двум одновременно выдать посылку "сними трубку". Например, второй может начать передачу через 1 "таймслот" после окончания обмена, третий через 2 и так далее. Но тут уж как кто придумает...

Я бы вообще не хитрил с 9-ти битным, а сделал бы протокол - в котором есть маркер, номер - кому и длина. И пусть принимают все, просто "чужая" посылка не будет обрабатываться. А по прерыванию приема обнуляется "таймслот".
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 18.06.2010, 19:20  
you_go
Гражданин KAZUS.RUN
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 901
Сказал спасибо: 90
Сказали Спасибо 1,274 раз(а) в 412 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

Я именно так использовал 9-битовый режим USART - для начала посылки - передачи адресной информации (и источника, и получателя), длины посылки. А для выявления коллизий и других ошибок связи на программном уровне все посылки защищены дополнительным байтом CRC. Таким образом ошибочные данные сразу выбраковываются.
you_go вне форума  
Непрочитано 18.06.2010, 21:09  
raxp
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
raxp на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

это вы имитируете протокол типа modbus, mlink и т.п., а физически нельзя, нужен арбитраж программный ...RS-485 тоже некорректно приводить, это разные интерфейсы, да можно посадить uart на adm485-ю и соединить в общую шину, никто не запрещает, но разруливать придется программно, то бишь дергать прием-передача + слушать шину.
__________________
Белорусский журнал «Радиолюбитель»
Youtube LaboratoryW
UR3QQJ
raxp вне форума  
Непрочитано 18.06.2010, 21:52  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

Сообщение от raxp Посмотреть сообщение
а физически нельзя, нужен арбитраж программный
Нужен, но это не означает, что физически нельзя. И пара деталек еще понадобится, типа диода и резистора. Будет что то типа LIN. И 9-ти битный режим тоже потребует какого то согласования - трансивер RS485 или опять же объединить RXD и TXD через какую нибудь развязку. И в любом варианте мультимастер означает отказ от дуплекса, т.е. передавать и принимать одновременно не получится.
kison вне форума  
Непрочитано 19.06.2010, 00:52  
E97
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
E97 на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

Если очень хочется, то можно на USART построить сеть между МК.
Применение маршрутизатора, в этом случае, я думаю не обосновано.
Конечно передача будет идти в полудуплексе (по одному сигнальному проводу). При этом, для недопущения возникновения коллизии, при передаче, можно выделить отдельный сигнальный провод (назову его SU). Перед передачей пакета данных МК устанавливает SU, что сигнализирует другим МК о запрете на передачу ими данных. После передачи пакета SU сбрасывается. Механизм недопущения коллизии состоит в том, что каждый контролер имеет свой, фиксированный программно, промежуток времени в который МК может начать передачу пакета данных. Синхронизация промежутков времени, производится относительно точки сброса сигнала SU.

Последний раз редактировалось E97; 19.06.2010 в 00:56.
E97 вне форума  
Непрочитано 19.06.2010, 10:04  
tolegs
Частый гость
 
Регистрация: 02.06.2010
Сообщений: 11
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
tolegs на пути к лучшему
По умолчанию Re: Выбор интерфейса обмена между платами

В BM93xx от МК реализовано на I2C с контролем CRC. Кстати у них есть макетка BM9309 на которой один Pic18 и макетное поле. Так вот по умолчанию этот модуль настроен на общение с другими по I2C, но прошивка в Pic18 на этом модуле позволяет просто организовать и SPI и UART. Нужно только переключить векторы.
Так что можно попытать разные интерфейсы.
Кстати там реализована работа со смежными каналами. Master, Slave - всё настраивается.
tolegs вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Протокол обмена между pic 16f628 и компом 4nimo4 Микроконтроллеры, АЦП, память и т.д 7 28.03.2010 12:35


Часовой пояс GMT +4, время: 15:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.