Обмен данными между МК

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Sashke
Родился
Сообщения: 5
Зарегистрирован: Чт май 30, 2013 22:05:19

Обмен данными между МК

Сообщение Sashke »

Здравствуйте, у меня такой вопрос. Надо организовать обмен данными между микроконтроллерами. Обязательно ли его делать через Usart если да, то почему? Если нет, но желательно, то в чем преимущества? Если нельзя, то я вообще ничего не понял( И что делать если надо объединить один МК с двумя и более...
Реклама
petrenko
Друг Кота
Сообщения: 5334
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Обмен данными между МК

Сообщение petrenko »

По порядку : необязательно, можно и по параллельному 8-и битному обмениваться, если Вам очень захочется.
Но, действительно, по последовательному как то поудобнее .
Преимущества ? Ну сами подумайте.. Или лучше для начала сделайте через параллельный, а потом через последовательный и ... почувствуйте разницу, а то как то ежели безпредметно, то много объяснять Вам придётся..
Если надо объединить несколько мк - удобно изпользовать "моноканал"- магистраль последовательной приёмо-передачи, разделяемую всеми мк ( с "вращающимся" приоритетом обычно делают )
И - учтите - "удобно" не самое быстрое из возможных решение. Та же побайтовая передача данных в 8 или в 10 раз быстрее побитовой будет.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Реклама
Аватара пользователя
El-Eng
Друг Кота
Сообщения: 3761
Зарегистрирован: Чт янв 26, 2012 14:44:34

Re: Обмен данными между МК

Сообщение El-Eng »

Для небольшого расстояния (в пределах платы, а на малых и средних скоростях и по проводу ~1 м) можно использовать SPI.
USART хорош проработанностью, обилием готовых программ, относительной помехозащищенностью и хорошей поддержкой производителями периферийных микросхем.
Like the eyes of a cat in the black and blue...
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: Обмен данными между МК

Сообщение kalobyte »

Sashke писал(а):надо объединить один МК с двумя и более...
есть много способов
если использовать uart, то делается это на уровне протокола
каждый мк имеет свой адрес, но физически сигнал принимают все, а дальше софт уже вычисляет свой адрес и выполняет действие

для предотвращения передачи несколькими мк, в протокол вводится токен в виде одного бита
у кого токен - тот и передает
токен ходит по кругу и такая топология организации сети называется token ring
можно задействовать модули spi или i2c в режиме мастера и слева
для спи правда на каждое устройство нужен дополнительный вывод cs разрешения работы
для и2ц надо всего 2 провода, но протокол посложнее будет
тематические ответы только в форуме, в приват не пишите
Реклама
Эиком - электронные компоненты и радиодетали
Sashke
Родился
Сообщения: 5
Зарегистрирован: Чт май 30, 2013 22:05:19

Re: Обмен данными между МК

Сообщение Sashke »

Спасибо пошарил по инету на эти темы, почитал про USART SPI I2C если не сложно перечислите какие еще есть способы передачи и с какого лучше начать?
По поводу токен ринга: мне он ещё с первого курса не понравился, без обид, но я так понял при потере одного микроконтроллера накроется всё кольцо, скорость качество передачи страдает из за передачи не напрямую.
Хотелось бы что то на подобие звезды или ячеистой
в которой при отказе одного компонента можно было продолжать работу
________________________________________
kalobyte писал(а):каждый мк имеет свой адрес, но физически сигнал принимают все, а дальше софт уже вычисляет свой адрес и выполняет действие
Изображение
Так?
И если вы не против кину текст по usart. может кому то пригодится
Вложения
6_USART.doc
(468 КБ) 4312 скачиваний
notoken.jpg
(55.95 КБ) 2729 скачиваний
token.jpg
(136.13 КБ) 731 скачивание
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Обмен данными между МК

Сообщение Леонид Иванович »

Через UART соединять микроконтроллеры удобно, иногда даже есть аппаратная поддержка (MSC-51, AVR, про другие не знаю) - режим многопроцессорной связи (см. настройки UART). Если нужно соединить много процессоров, то можно воспользоваться буферами с тремя состояниями, например, 74HC125. Так делал, например, для связи 9 процессоров в одном блоке. Если расстояние большое, тогда лучше применить ADM485.
Реклама
Ответить

Вернуться в «Теория»