Страница 1 из 3

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

Добавлено: Ср окт 14, 2020 21:30:53
Али777
Существует какой-либо готовый протокол для обмена данными по uart в обе стороны? или придется его писать самостоятельно для обмена данными двух atmeg?

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

Добавлено: Ср окт 14, 2020 21:35:54
BlackKilkennyCat
Куча. Например, MODBUS

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

Добавлено: Ср окт 14, 2020 21:45:46
Али777
есть какой-нибудь попроще, там точка - точка, чтобы долго не изучать?

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

Добавлено: Ср окт 14, 2020 23:09:31
BlackKilkennyCat
Конечно. Запись в UDR, чтение из UDR

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

Добавлено: Ср окт 14, 2020 23:12:17
Oxford
На крестах владик щас покажет как надо программировать. Там это очень легко изучать не надо ничего долго.

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

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

Хорошо и просто - взаимоисключается. Проще модбаса ничего нет. Есть еще CAN и Profibus, но там нифига не проще.

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

Добавлено: Чт окт 15, 2020 14:21:18
BOB51
На крайний случай добавляем линии аппаратного арбитража...
Плюсом - простота анализа, минусом - одна/две лишние проводины...
:roll:

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

Добавлено: Чт окт 15, 2020 17:49:05
Jack_A
Добавляются линии, но без софтового контроля правильности приёма всё равно не обойтись.
Какой-то стандартный протокол ищут, если предполагается встраивать своё оборудование в существующую и работающую по стандартноиу протоколу сеть. А "сам передал - сам принял" - идею протокола можно без заморочек накропать за 10мин. - хоть с детектированием, хоть с исправлением ошибок.

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

Добавлено: Чт окт 15, 2020 18:12:27
oleg110592
можно попробовать приспособить несложный WAKE от ЛИ, как всегда хорошо документировано, исходники с комментариями
http://www.leoniv.diod.club/articles/wake/wake.html

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

Добавлено: Чт окт 15, 2020 19:53:48
Eddy_Em
Самый удобный - текстовый протокол с \n в конце строки команды/данных. В этом случае сразу же на момент отладки железки не придется ваять какой-то софт для "общения" с нею: открыл терминал, да пиши/читай. В большинстве случаев такое будет работать.
А если нужно запихнуть железяку в высоковольтный шкаф с пускателями, то вместо того, чтобы ваять свой велосипед, лучше вместо UART соединить железяки по CAN: там вся "подноготная" делается автоматически.

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

Добавлено: Чт окт 15, 2020 20:57:35
NStorm
Есть такая штука, как MIN: https://github.com/min-protocol/min/wiki
Ну еще HDLC, но тоже видимо излишне будет.

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

Добавлено: Чт окт 15, 2020 21:02:08
BlackKilkennyCat
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3907377#p3907377"]лучше вместо UART соединить железяки по CAN: там вся "подноготная" делается автоматически.[/uquote] :facepalm:
Да-да. ещё и физический уровень обеспечить, припаять трансиверы...
Тут совершенно бессмысленно всё: ТС не озвучил ничего. Может, у него обе атмеги в 5 мм от друг друга и одна просто расширитель портов другой

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

Добавлено: Чт окт 15, 2020 21:30:54
BOB51
Ну тогда бы наверняка взор обратился бы не к uart, а к SPI или I2C...
:roll:

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

Добавлено: Чт окт 15, 2020 21:35:38
BlackKilkennyCat
Возможно... но мож он эти ноги занял :)

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

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

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

Добавлено: Чт окт 15, 2020 21:40:17
BlackKilkennyCat
в ардуино всё просто... там это вообще, как мне кажется, изначально аж в текстолите заложено

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

Добавлено: Чт окт 15, 2020 21:44:42
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
но... там ТРИ ЛАПКИ заняты...
:(

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

Добавлено: Чт окт 15, 2020 22:42:47
Eddy_Em
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3907428#p3907428"]Ага - только парсер прикрутить внутри МК, чтобы строки распознавать. Оооооочень удобно. А главное - так просто.[/uquote]
УМВР. Все легко и просто. Парсер - либо автоматический (прерывание по принятому '\n' в STM32F0x2), либо в прерывании по приему символа (как только получаем '\n', выставляем флаг готовности буфера и начинаем работать со вторым).

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

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

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

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

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