roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 19:07

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 03 ноя 2009, 23:38 
Не в сети
Аватара пользователя

Зарегистрирован: 03 июн 2007, 22:32
Сообщения: 603
Откуда: Москва
ФИО: Руслан
Коллеги,
Подскажите, как лучше всего соединить две АТМеги (например 168). Хочу устроить между ними разделение труда на новом лайнтрейсере.
Первая: сенсоры линии, энкодеры и управление двигателями,
Вторая: сенсоры препятствий, дисплей и общая логика.
Соответственно первая регулярно посылает второй данные о позиции относительно линии, или данные о значениях на каждом сенсоре, а вторая думает что делать и говорит первой куда ехать.
Я так понимаю, есть варианты через I2C, SPI и через UART. Подскажите, что быстрее и что надёжнее. Прошу дать примеры, желательно с кодом.


Последний раз редактировалось Ruslan 04 ноя 2009, 12:03, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 03 ноя 2009, 23:41 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
SPI наилучший вариант при небольшом расстоянии между микроконтроллерами


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 03 ноя 2009, 23:42 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Еще конечно же SPI есть :)
Более масштабируемый i2c, проще для резкого старта наверное uart.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 00:06 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
посмотри как я на миниботе по уарту соеденил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 00:23 
Не в сети
Аватара пользователя

Зарегистрирован: 23 апр 2009, 17:03
Сообщения: 2639
Откуда: Москва, Самара
прог. языки: C#
RiO писал(а):
Коллеги,
Подскажите, как лучше всего соединить две АТМеги (например 168). Хочу устроить между ними разделение труда на новом лайнтрейсере.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 08:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Проще через UART, если важна скорость обмна то SPI

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 17:12 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
проще ли с уарт - хз.. в спи байт отдал байт принял...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:14 
Не в сети
Аватара пользователя

Зарегистрирован: 28 ноя 2005, 12:05
Сообщения: 583
Откуда: Москва
От типа информации зависит - может достаточно будет выставлять да/нет на ножках одного процессора и читать ножками другого :)

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

_________________
http://www.imobot.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:19 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
1. с чего бы это в SPI обмен точка-точка?
2. типа у mega8 софтовые uart и spi?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:24 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
По быстродействию SPI лучше остальных.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:36 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
SPI
простой как грабли и быстрый


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:48 
Не в сети
Аватара пользователя

Зарегистрирован: 28 ноя 2005, 12:05
Сообщения: 583
Откуда: Москва
EdGull писал(а):
1. с чего бы это в SPI обмен точка-точка?
2. типа у mega8 софтовые uart и spi?


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

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

_________________
http://www.imobot.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 21:52 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
рои некоторых извращения используя спи мона кольцо сделать... и гнать пакет через всех ) долго.. но с адресацией )))

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 22:10 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
По поводу SPI могу поспорить. У слейва есть пин SS - выбор кристалла, при установке 1 на этом пине, обмен происходит именно с этим устройством. Я сделал контроллер, управляющий 128ю слейв устройствами через SPI. Так что термин точка-точка тут не подходит ;)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как соединить две АТмеги на одном роботе?
СообщениеДобавлено: 04 ноя 2009, 22:14 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
тут топология звезда )

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


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

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


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

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