Существует какой-либо протокол для обмена данными по uart ?

Обсуждаем контроллеры компании Atmel.
Али777
Прорезались зубы
Сообщения: 214
Зарегистрирован: Чт май 23, 2013 18:31:58

Существует какой-либо протокол для обмена данными по uart ?

Сообщение Али777 »

Существует какой-либо готовый протокол для обмена данными по uart в обе стороны? или придется его писать самостоятельно для обмена данными двух atmeg?
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BlackKilkennyCat »

Куча. Например, MODBUS
Али777
Прорезались зубы
Сообщения: 214
Зарегистрирован: Чт май 23, 2013 18:31:58

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Али777 »

есть какой-нибудь попроще, там точка - точка, чтобы долго не изучать?
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BlackKilkennyCat »

Конечно. Запись в UDR, чтение из UDR
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Oxford »

На крестах владик щас покажет как надо программировать. Там это очень легко изучать не надо ничего долго.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Ярослав555 »

[uquote="Али777",url="/forum/viewtopic.php?p=3906932#p3906932"]есть какой-нибудь попроще, там точка - точка, чтобы долго не изучать?[/uquote]
надо решить три задачи:
- разделение команд/данных. для этого вводится протокол с форматом пакетов и кодировками.
- надо контролировать целостность пакета. можно ввести в пакет служебные байты, которые всегда определены. просто, но не особо надежно. можно ввести контрольные суммы, широко используется.
- определение границ пакета. можно использовать таймаут - появилась пауза в передаче, значит конец пакета, начинаем анализ. можно гнать без пауз в кольцевой буффер, про признаку находить начало пакета и делать анализ.

Хорошо и просто - взаимоисключается. Проще модбаса ничего нет. Есть еще CAN и Profibus, но там нифига не проще.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BOB51 »

На крайний случай добавляем линии аппаратного арбитража...
Плюсом - простота анализа, минусом - одна/две лишние проводины...
:roll:
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Jack_A »

Добавляются линии, но без софтового контроля правильности приёма всё равно не обойтись.
Какой-то стандартный протокол ищут, если предполагается встраивать своё оборудование в существующую и работающую по стандартноиу протоколу сеть. А "сам передал - сам принял" - идею протокола можно без заморочек накропать за 10мин. - хоть с детектированием, хоть с исправлением ошибок.
Изображение
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение oleg110592 »

можно попробовать приспособить несложный WAKE от ЛИ, как всегда хорошо документировано, исходники с комментариями
http://www.leoniv.diod.club/articles/wake/wake.html
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Eddy_Em »

Самый удобный - текстовый протокол с \n в конце строки команды/данных. В этом случае сразу же на момент отладки железки не придется ваять какой-то софт для "общения" с нею: открыл терминал, да пиши/читай. В большинстве случаев такое будет работать.
А если нужно запихнуть железяку в высоковольтный шкаф с пускателями, то вместо того, чтобы ваять свой велосипед, лучше вместо UART соединить железяки по CAN: там вся "подноготная" делается автоматически.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение NStorm »

Есть такая штука, как MIN: https://github.com/min-protocol/min/wiki
Ну еще HDLC, но тоже видимо излишне будет.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BlackKilkennyCat »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3907377#p3907377"]лучше вместо UART соединить железяки по CAN: там вся "подноготная" делается автоматически.[/uquote] :facepalm:
Да-да. ещё и физический уровень обеспечить, припаять трансиверы...
Тут совершенно бессмысленно всё: ТС не озвучил ничего. Может, у него обе атмеги в 5 мм от друг друга и одна просто расширитель портов другой
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BOB51 »

Ну тогда бы наверняка взор обратился бы не к uart, а к SPI или I2C...
:roll:
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BlackKilkennyCat »

Возможно... но мож он эти ноги занял :)
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Ярослав555 »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3907377#p3907377"]Самый удобный - текстовый протокол с \n в конце строки команды/данных.[/uquote]
Ага - только парсер прикрутить внутри МК, чтобы строки распознавать. Оооооочень удобно. А главное - так просто.
BlackKilkennyCat
Собутыльник Кота
Сообщения: 2905
Зарегистрирован: Ср ноя 29, 2017 06:58:50

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BlackKilkennyCat »

в ардуино всё просто... там это вообще, как мне кажется, изначально аж в текстолите заложено
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение BOB51 »

Ярослав555 писал(а):[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3907377#p3907377"]Самый удобный - текстовый протокол с \n в конце строки команды/данных.[/uquote]
Ага - только парсер прикрутить внутри МК, чтобы строки распознавать. Оооооочень удобно. А главное - так просто.

Даавнооо прикручен:
https://radiokot.ru/forum/viewtopic.php ... 7#p3167597
закидывает intel *.hex8 прямо с терминала в ОЗУ непосредственно "на лету" (при скорости 9600) согласно указанному в том файле расположению...
:wink:
только вот смысл в том?
:dont_know:
А между МК в пределах одной конструкции попроще однако:
https://radiokot.ru/forum/viewtopic.php ... 1#p3472041
но... там ТРИ ЛАПКИ заняты...
:(
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Eddy_Em »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3907428#p3907428"]Ага - только парсер прикрутить внутри МК, чтобы строки распознавать. Оооооочень удобно. А главное - так просто.[/uquote]
УМВР. Все легко и просто. Парсер - либо автоматический (прерывание по принятому '\n' в STM32F0x2), либо в прерывании по приему символа (как только получаем '\n', выставляем флаг готовности буфера и начинаем работать со вторым).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение Jack_A »

Ну вот, ТС задал вопрос и слинял (совсем как в фильме "О чём говорят мужчины"), а гуру хлещутся меж собой в поисках оптимальности. Неизвестно: бинарные или текст, необходимая скорость передачи, одноранговая сеть или master-slave, требования к надёжности и пр. А без этого спор - сотрясение воздуха. Но ТС, похоже, для себя вопрос решил по японскому принципу "на_хира_та_хата" .

[uquote="oleg110592",url="/forum/viewtopic.php?p=3907329#p3907329"]можно попробовать приспособить несложный WAKE от ЛИ[/uquote]
Вот тут если возникнут вопросы - возможен облом. Что-то давно он у себя в LJ не появляется. Да и глянул я туда: протокол простой-простой, ну прямо для начинающего. :shock:
СпойлерМне это напомнило анекдот. Сынок малолетний спрашивает: "Мама, а что такое - аборт?" Мама видит - надо объяснить, иначе это сделает улица. А в конце спрашивает: в каком, мол, контексте возник вопрос?
Сын объясняет: слышал песню
"А волны и стонут и плачут
И бьются аборт корабля"
Сходство я вижу в том, что уровень ответов на порядок выше уровня понимания вопроса ТС'ом.
Изображение
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Существует какой-либо протокол для обмена данными по uar

Сообщение oleg110592 »

простой-простой - согласно требованиям ТС
какой-нибудь попроще,... чтобы долго не изучать?

ЛИ раньше и на почту отвечал, журнал живой, последний комментарий от него на форуме diod 15 Октября, 2020 - 10:39:32
. Сейчас, с ихней обстановкой, может не до того
https://leoniv.livejournal.com/
Ответить

Вернуться в «AVR»