Обмен данными между МК
Обмен данными между МК
Здравствуйте, у меня такой вопрос. Надо организовать обмен данными между микроконтроллерами. Обязательно ли его делать через Usart если да, то почему? Если нет, но желательно, то в чем преимущества? Если нельзя, то я вообще ничего не понял( И что делать если надо объединить один МК с двумя и более...
- Реклама
-
petrenko
- Друг Кота
- Сообщения: 5334
- Зарегистрирован: Вт фев 21, 2012 13:51:55
- Откуда: Начинающий
- Контактная информация:
Re: Обмен данными между МК
По порядку : необязательно, можно и по параллельному 8-и битному обмениваться, если Вам очень захочется.
Но, действительно, по последовательному как то поудобнее .
Преимущества ? Ну сами подумайте.. Или лучше для начала сделайте через параллельный, а потом через последовательный и ... почувствуйте разницу, а то как то ежели безпредметно, то много объяснять Вам придётся..
Если надо объединить несколько мк - удобно изпользовать "моноканал"- магистраль последовательной приёмо-передачи, разделяемую всеми мк ( с "вращающимся" приоритетом обычно делают )
И - учтите - "удобно" не самое быстрое из возможных решение. Та же побайтовая передача данных в 8 или в 10 раз быстрее побитовой будет.
Но, действительно, по последовательному как то поудобнее .
Преимущества ? Ну сами подумайте.. Или лучше для начала сделайте через параллельный, а потом через последовательный и ... почувствуйте разницу, а то как то ежели безпредметно, то много объяснять Вам придётся..
Если надо объединить несколько мк - удобно изпользовать "моноканал"- магистраль последовательной приёмо-передачи, разделяемую всеми мк ( с "вращающимся" приоритетом обычно делают )
И - учтите - "удобно" не самое быстрое из возможных решение. Та же побайтовая передача данных в 8 или в 10 раз быстрее побитовой будет.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Re: Обмен данными между МК
Для небольшого расстояния (в пределах платы, а на малых и средних скоростях и по проводу ~1 м) можно использовать SPI.
USART хорош проработанностью, обилием готовых программ, относительной помехозащищенностью и хорошей поддержкой производителями периферийных микросхем.
USART хорош проработанностью, обилием готовых программ, относительной помехозащищенностью и хорошей поддержкой производителями периферийных микросхем.
Like the eyes of a cat in the black and blue...
Re: Обмен данными между МК
есть много способовSashke писал(а):надо объединить один МК с двумя и более...
если использовать uart, то делается это на уровне протокола
каждый мк имеет свой адрес, но физически сигнал принимают все, а дальше софт уже вычисляет свой адрес и выполняет действие
для предотвращения передачи несколькими мк, в протокол вводится токен в виде одного бита
у кого токен - тот и передает
токен ходит по кругу и такая топология организации сети называется token ring
можно задействовать модули spi или i2c в режиме мастера и слева
для спи правда на каждое устройство нужен дополнительный вывод cs разрешения работы
для и2ц надо всего 2 провода, но протокол посложнее будет
тематические ответы только в форуме, в приват не пишите
Re: Обмен данными между МК
Спасибо пошарил по инету на эти темы, почитал про USART SPI I2C если не сложно перечислите какие еще есть способы передачи и с какого лучше начать?
По поводу токен ринга: мне он ещё с первого курса не понравился, без обид, но я так понял при потере одного микроконтроллера накроется всё кольцо, скорость качество передачи страдает из за передачи не напрямую.
Хотелось бы что то на подобие звезды или ячеистой
в которой при отказе одного компонента можно было продолжать работу
________________________________________
Так?
И если вы не против кину текст по usart. может кому то пригодится
По поводу токен ринга: мне он ещё с первого курса не понравился, без обид, но я так понял при потере одного микроконтроллера накроется всё кольцо, скорость качество передачи страдает из за передачи не напрямую.
Хотелось бы что то на подобие звезды или ячеистой
в которой при отказе одного компонента можно было продолжать работу
________________________________________
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.


