Форум myROBOT.ru » Лаборатория » Микроконтроллеры » Последовательное соединение

Страниц (1): [1]
 

1. TemaAE - 04 Февраля, 2010 - 13:40:55 - перейти к сообщению
Профессиональный программист - совсем недавно стал интересоваться железом и микрокотроллерами.
Появилась задача - соединить 4 микроконтроллера для обмена данными.
Они должны быть соединены в кольцо, т.е. последовательно один за одним, а последний соединяется с первым. Каждый должен передавать информацию соседним 2-м.
Возможно ли это реализовать стандартными возможностями какого либо вида МК.
SPI похоже не подходит, т.к. там один мастер и несколько ведомых...
2. redcat - 04 Февраля, 2010 - 17:08:46 - перейти к сообщению
Может такой вариант подойдёт, если у МК есть UART интерфейс -

=> RX[MK1]TX => RX[MK2]TX => RX[M3]TX => RX[MK4]TX =>
<=======================================

т.е выход первого МК соединяем со входом второго МК и.т.д
3. бот_м_16 - 04 Февраля, 2010 - 19:02:12 - перейти к сообщению
UART в режиме мультипроцессорности
TWI c общим вызовом
4. -dead- - 04 Февраля, 2010 - 19:54:15 - перейти к сообщению
I2C Multimaster
5. TemaAE - 05 Февраля, 2010 - 15:09:23 - перейти к сообщению
redcat пишет:
Может такой вариант подойдёт, если у МК есть UART интерфейс -
=> RX[MK1]TX => RX[MK2]TX => RX[M3]TX => RX[MK4]TX =>
<=======================================
т.е выход первого МК соединяем со входом второго МК и.т.д
Мне нужно двусторонняя передача, т.е. обмен с двумя ближайшими соседями:
<=> RX[MK1]TX <=> RX[MK2]TX <=> RX[M3]TX <=> RX[MK4]TX <=>
Вот типа так.

бот_м_16 пишет:
UART в режиме мультипроцессорности
Погуглил и не нашел что это за режим Грустный Можно ссылку или любую инфу?

-dead- пишет:
I2C Multimaster
Возможно ли при таком соединении программно определить именно "соседей"? Хотя при данном соединении это понятие похоже стирается.

Извиняюсь если вопросы банальны или некорректны, как уже писал - только въезжаю в тему.

Пока для меня наиболее реальный (но относительно дороговатый) вариант - это МК с двумя UART.
6. nest - 05 Февраля, 2010 - 19:53:20 - перейти к сообщению
передавать пакетами и разгребать соседей-не соседей вручную.
7. redcat - 05 Февраля, 2010 - 21:22:58 - перейти к сообщению
Я тоже задавался таким вопросом. Пока нашел решение такое, каждому МК задать идентификатор, расположить согласно индикаторам, параллельно соединить порты всех МК. Обращаться к мк по идентификатору, с заведомо известным расположением. Но это получается не последовательное, а параллельное соединение...
8. Mixer - 06 Февраля, 2010 - 07:47:25 - перейти к сообщению
Программно реализовать USART и слать параллельно нужные данные в порт. Тогда количество соседей будет ограничиваться лишь количеством свободных ножек.

Для ознакомления: Простейшая программная реализаци я UART для микроконтроллера
9. бот_м_16 - 06 Февраля, 2010 - 12:22:55 - перейти к сообщению
2TemaAE читай DS там точно есть