roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 июн 2025, 16:38

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Синхронизация работы двух атмег48
СообщениеДобавлено: 01 авг 2013, 14:52 
Не в сети
Аватара пользователя

Зарегистрирован: 19 июл 2010, 06:40
Сообщения: 32
Откуда: Якутск
прог. языки: C#
ФИО: Андрей
Доброго времени суток, уважаемые форумчане.

Помогите решить вопрос синхронизации работы двух МК.

на МК-хах крутится софтварный шим на 15 каналов, причем скорость выполнения основной программы меняется с переменника на ведущей плате. Расстояние между МК примерно 10-15 метров.
Опять же есть необходимость, чтоб при отключенном ведущем МК ведомый работал самостоятельно.

Самое лучшее что я придумал это отсылать синхроимпульс с ведущего каждую итерацию, а ведомый тупо будет ждать этот импульс, решается вопрос со скоростью, но велечины могут не совпасть... :( либо выдавать синхроимпульс в начале цикла, тогда скорость будет не совпадать... два порта задействовать не хочется. копаю в сторону 1-вайр, но мне кажется при таких ресурсозатратах как софтверный шим на 15 каналов, 1-вайр тупо не будет успевать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 01 авг 2013, 22:06 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Вообще-то лучше бы по UART. Тем более, чо расстояние уже не сантиметровое, просто сигнал с ноги МК будет сильно искажен. UART - аппаратный, ему пофигу на загрузку проца, простецкими микрухами можно пересобачить в RS-422, вопрос с искажениями снимется сразу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 01:10 
Не в сети
Аватара пользователя

Зарегистрирован: 19 июл 2010, 06:40
Сообщения: 32
Откуда: Якутск
прог. языки: C#
ФИО: Андрей
На уартовых ногах уже оборудование оконечное висит... платы уже разведены и изготовлены...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 01:29 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Что там передать-то надо? Просто один параметр длительности чего-то?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 01:50 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Не очень ясно в чем должна состоять синхронизация? В передаче данных между МК? В совпадении фронта импульсов? В совпадении длины импульсов? С какой точностью?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 01:51 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
JeikiS, дико извиняюсь, что не в тему. а зачем софтовый шим, да ещё и двумя микроконтроллерами? в смысле у вас какая-то эдакая задачка с хитрым шимом?
+1 что про синхронизацию ничего непонятно. подетальней бы описали задачу. к примеру подойдёт ли такой вариант или нет совершенно непонятно: переодически синхронизировать чем-то подобным синхронизации времени, только не время изменять, а вычислить какому чипу сколько тактов нужно пропустить, чтоб они потом синхронно работали (одно из условий, что бы выполнялся одинаковый код).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 16:50 
Не в сети
Аватара пользователя

Зарегистрирован: 19 июл 2010, 06:40
Сообщения: 32
Откуда: Якутск
прог. языки: C#
ФИО: Андрей
шимы нужны для управления нагрузками... МК выполняют абсолютно идентичную последовательность действий, смысл в том, что это два независимых устройства, которые при сопряжении должны работать синхронно, а при расключении каждый должен функционировать автономно. скорость выполнения последовательности действий меняется при помощи переменного сопротивления на адц и необходимо при изменении скорости на одном устройстве, чтоб скорость менялась и на втором(при наличии соединения, естественно), при этом можно обозначить ведущее и ведомое устройство. постарался максимально понятно изложить суть проблемы. при всем этом все аппаратные коммуникационные порты уже заняты нагрузками...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 18:47 
Не в сети
Аватара пользователя

Зарегистрирован: 20 сен 2007, 11:44
Сообщения: 491
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич
JeikiS писал(а):
... при всем этом все аппаратные коммуникационные порты уже заняты нагрузками...

Скальпель в руки и резать дорожки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 19:11 
Не в сети
Аватара пользователя

Зарегистрирован: 19 июл 2010, 06:40
Сообщения: 32
Откуда: Якутск
прог. языки: C#
ФИО: Андрей
неужели такую простую задачу нельзя решить програмно одним пином?
тоесть, вопрос именно в алгоритме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 19:13 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
задача описана очень туманно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 21:35 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
JeikiS писал(а):
неужели такую простую задачу нельзя решить програмно одним пином?

да ктож его знает, можно или нельзя. с тем как сейчас описана задача, можно долго и нудно угадывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 02 авг 2013, 23:47 
Не в сети

Зарегистрирован: 24 апр 2010, 14:47
Сообщения: 736
Откуда: Уфа
прог. языки: avr asm
Мееедленный софтовый уарт. Можно использовать уже существующие временные циклы софтШИМа в качестве baudrate, тогда ресурсов понадобится минимум. Ведомый по моменту начала передачи может синхронизировать "фазу" выполняемых действий, а по принятому значению - все остальное, что нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация работы двух атмег48
СообщениеДобавлено: 05 авг 2013, 16:54 
Не в сети
Аватара пользователя

Зарегистрирован: 19 июл 2010, 06:40
Сообщения: 32
Откуда: Якутск
прог. языки: C#
ФИО: Андрей
legion писал(а):
Мееедленный софтовый уарт. Можно использовать уже существующие временные циклы софтШИМа в качестве baudrate, тогда ресурсов понадобится минимум. Ведомый по моменту начала передачи может синхронизировать "фазу" выполняемых действий, а по принятому значению - все остальное, что нужно.


вот что-то подобное и необходимо реализовать... спасибо за наставление на путь... сегодня поколдую...


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

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


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

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


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

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