roboforum.ru

Технический форум по робототехнике.

Как соединить две АТмеги на одном роботе?

Как соединить две АТмеги на одном роботе?

Ruslan » 03 ноя 2009, 23:38

Коллеги,
Подскажите, как лучше всего соединить две АТМеги (например 168). Хочу устроить между ними разделение труда на новом лайнтрейсере.
Первая: сенсоры линии, энкодеры и управление двигателями,
Вторая: сенсоры препятствий, дисплей и общая логика.
Соответственно первая регулярно посылает второй данные о позиции относительно линии, или данные о значениях на каждом сенсоре, а вторая думает что делать и говорит первой куда ехать.
Я так понимаю, есть варианты через I2C, SPI и через UART. Подскажите, что быстрее и что надёжнее. Прошу дать примеры, желательно с кодом.
Последний раз редактировалось Ruslan 04 ноя 2009, 12:03, всего редактировалось 1 раз.

Re: Как соединить две АТмеги на одном роботе?

Сергей » 03 ноя 2009, 23:41

SPI наилучший вариант при небольшом расстоянии между микроконтроллерами

Re: Как соединить две АТмеги на одном роботе?

=DeaD= » 03 ноя 2009, 23:42

Еще конечно же SPI есть :)
Более масштабируемый i2c, проще для резкого старта наверное uart.

Re: Как соединить две АТмеги на одном роботе?

EdGull » 04 ноя 2009, 00:06

посмотри как я на миниботе по уарту соеденил

Re: Как соединить две АТмеги на одном роботе?

AndreiSk » 04 ноя 2009, 00:23

RiO писал(а):Коллеги,
Подскажите, как лучше всего соединить две АТМеги (например 168). Хочу устроить между ними разделение труда на новом лайнтрейсере.


А что за новый лайнтрейсер?
Еще больше, еще быстрее?
Там какие вообще ограничения на размер то?
А то мы волнуемся :roll:

Re: Как соединить две АТмеги на одном роботе?

galex1981 » 04 ноя 2009, 08:59

Проще через UART, если важна скорость обмна то SPI

Re: Как соединить две АТмеги на одном роботе?

Duhas » 04 ноя 2009, 17:12

проще ли с уарт - хз.. в спи байт отдал байт принял...

Re: Как соединить две АТмеги на одном роботе?

mandigit » 04 ноя 2009, 21:14

От типа информации зависит - может достаточно будет выставлять да/нет на ножках одного процессора и читать ножками другого :)

Если надо большими объемами цифровой информации обмениваться - зависит от типа процессора. Для mega8, имеющий модуль TWI оптимальным будет использование I2C. По сравнению с SPI это даст преимущество, если захочешь расширяться более 2-х процессоров (в SPI обмен точка-точка)

Re: Как соединить две АТмеги на одном роботе?

EdGull » 04 ноя 2009, 21:19

1. с чего бы это в SPI обмен точка-точка?
2. типа у mega8 софтовые uart и spi?

Re: Как соединить две АТмеги на одном роботе?

yak-40 » 04 ноя 2009, 21:24

По быстродействию SPI лучше остальных.

Re: Как соединить две АТмеги на одном роботе?

ALHIMIK » 04 ноя 2009, 21:36

SPI
простой как грабли и быстрый

Re: Как соединить две АТмеги на одном роботе?

mandigit » 04 ноя 2009, 21:48

EdGull писал(а):1. с чего бы это в SPI обмен точка-точка?
2. типа у mega8 софтовые uart и spi?


пп2
следует трактовать так: у mega8 есть модуль TWI, который упрощает построение I2C, у attiny2313 такого модуля, например, нет

пп1
достаточно ознакомиться с протоколом. вот выдержка "Интерфейс SPI - синхронный последовательный интерфейс - предназначен для организации обмена между двумя устройствами"
если посмотреть на линии обмена (MOSI, MISO) то становится ясно, что ДВА устройства обмениваются между собой информацией.
Такой тип обмена и есть точка-точка.
С помощью SS на физическом уровне выбирается slave точка обмена, но это - отдельная песня.

Re: Как соединить две АТмеги на одном роботе?

Duhas » 04 ноя 2009, 21:52

рои некоторых извращения используя спи мона кольцо сделать... и гнать пакет через всех ) долго.. но с адресацией )))

Re: Как соединить две АТмеги на одном роботе?

galex1981 » 04 ноя 2009, 22:10

По поводу SPI могу поспорить. У слейва есть пин SS - выбор кристалла, при установке 1 на этом пине, обмен происходит именно с этим устройством. Я сделал контроллер, управляющий 128ю слейв устройствами через SPI. Так что термин точка-точка тут не подходит ;)

Re: Как соединить две АТмеги на одном роботе?

Duhas » 04 ноя 2009, 22:14

тут топология звезда )


Rambler\'s Top100 Mail.ru counter