Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 19 окт 2019, 23:29

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Обмен данными между контролерами.
СообщениеДобавлено: 14 апр 2012, 11:51 
Не в сети

Зарегистрирован: 14 апр 2012, 11:24
Сообщения: 2
Здравствуйте. У контролеров имеется разные типы подключения: USAR, Wire, SPI, I2C, TWI. Какое подключение проще и удобнее использовать для обмена информацией между мастером и двумя слейвами ?(последовательный опрос каждого слейва.)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Обмен данными между контролерами.
СообщениеДобавлено: 20 апр 2012, 22:41 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1929
UART или SPI
- просто и не ресурсоемко.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Обмен данными между контролерами.
СообщениеДобавлено: 21 апр 2012, 06:40 
Не в сети

Зарегистрирован: 14 апр 2012, 11:24
Сообщения: 2
GetChiper писал(а):
UART или SPI
- просто и не ресурсоемко.

А как устроенно соединение по UART ? Как работает адресация ?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Обмен данными между контролерами.
СообщениеДобавлено: 21 апр 2012, 12:32 
Не в сети

Зарегистрирован: 20 май 2011, 23:58
Сообщения: 547
Goldkiller писал(а):
А как устроенно соединение по UART ? Как работает адресация ?

если на одной плате то крест накрестст. приёник с передатчиком. это в варианте с одним мастером. Если на разных платах то надо ставить преобразователи уровня RS-232. Или там триггер шмитта. Но в большинстве случаев нормально работает без преобразователей уровня. Тут вопрос в качестве соединительных линий и помехах.
Если в режиме нескольких мастеров. то тут или RS-485 или просто UART но соединить по кругу. те приёмник одного с передатчиком другого в кольцо. При этом настраиваются так что-бы мк не адресованные ему пакеты передавал дальше.
Адресацию проще всего сделать по 9 биту. там можно включить такой режим. Те допустим если выскакивает флаг что есть 9 бит то буфер содержит адрес. Значит следующая команда будет адресована ему.
Строго говоря протоколов обмена очень много. Но для Вас определяющий фактор соотношение сложность + затраты / эффективность + защита от ошибок
Удивительное дело изобретение и отладка протоколов. Очень увлекательное занятие. Попробуйте ;)

_________________
Чтобы получить правильные ответы, надо задавать правильные вопросы!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Обмен данными между контролерами.
СообщениеДобавлено: 22 апр 2012, 00:33 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1929
В дополнение к сказанному Анатолием - Ваша задача упрощается тем, что мультипроцессорный режим UART аппаратно заложен в большинство микроконтроллеров AVR.
Поэтому ничего не нужно изобретать, просто нужно взять книгу и почитать про это (там ничего сложного, но на пальцах это долго рассказывать)

Вот поищите такое Микроконтроллеры AVR семейства Mega А.В.Евстифеев 2007

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB