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

 
 
> USB-UART и радиосеть
fiim
сообщение Jun 11 2015, 10:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291



Собственно, предлагаю обсуждение еще одного варианта USB(HID)-UART- переходника, а также связанного с ним протокола передачи данных, и использование этого протокола в построении простой радио-сети.
Проект совсем новый, поэтому много недочетов, но уже сейчас переходник обеспечивает передачу на скоростях до 500кбит, годен для очень слабых микроконтроллеров(<2кБ), и очень удобен: достаточно нескольких строк кода что в компьютерной программе, что на микроконтроллере, чтобы передать данные. Вот здесь вводное описание и там же ссылка на сайт с документацией и видеоуроками:http://bextensions.wix.com/be-bdn#!history/cipy. Тухлые помидоры тоже приветствуются wink.gif

Сообщение отредактировал fiim - Jun 11 2015, 11:56
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Mihey_K
сообщение Jun 29 2015, 14:54
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747



Преамбулу никто не отменял, даже самые дубовые передатчики используют ее для захвата эфира и синхронизации с приемником. Если реализовать прерывание по приему то и городить ничего не нужно. В пакет можно добавить заголовок с метрикой и длиной кадра, а в конец обязательно CRC.


--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
Go to the top of the page
 
+Quote Post
fiim
сообщение Jun 30 2015, 06:45
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 29-10-09
Пользователь №: 53 291



Цитата
Преамбулу никто не отменял, даже самые дубовые передатчики используют ее для захвата эфира и синхронизации с приемником. Если реализовать прерывание по приему то и городить ничего не нужно. В пакет можно добавить заголовок с метрикой и длиной кадра, а в конец обязательно CRC.
-Здесь я описал только ту часть протокола, которая касается байтстаффинга(по просьбам зрителей))). Конечно кроме байтстаффинга в протоколе есть и длина кадра и CRC16 и адресация... Кто удосужился пройти по ссылке вначале, очень надеюсь, всё это увидели laughing.gif А вот преамбулы и синхронизации там нет. Если кто-то читал статейку, то увидели, что главная первоначальная задача была связать 2 микроконтроллера по УАРТу. Синхронизацией вам для этого заниматься не надо. Протокол лишь дает удобство общения между микроконтроллерами по УАРТу(с проверкой CRC и другими приятными мелочами(см. видео по ссылке). И вот к такому микроконтроллеру, опять же ПО УАРТу, вы можете подключить стандартный радиомодуль, который имеет свой протокол, и вам до него дела нет. У него есть и преамбула и все остальное для эфирной передачи, но, повторяю, вам до этого дела нет, вы на этом не заморачиваетесь: подключили к УАРТу и кидаете данные. Или, например, если речь идет о применении моего протокола в переходнике УАРТ-ЮСБ: мой протокол НЕ ЗАМЕНЯЕТ протокола ЮСБ, так же как НЕ ЗАМЕНЯЕТ эфирный протокол радиомодулей. Вы просто кидаете данные по УАРТу в переходник и не заботитесь о том как ЮСБ передает все это в компьютер. А то некоторые, не разобравшись, понавесят на мой протокол функций, которых я не заявлял, а потом говорят "фу". Ну разве вы требуете, например, от МОДБАСа, чтобы он имел преамбулу для захвата эфира? Вот и от моего не стоит требовать. А почему я написал про радиосеть? Да просто потому, что я подключил к нескольким микроконтроллерам радиомодули, это все отлично заработало и я понял, что более удобной системы я не встречал: три строчки кода- и готов полноценный обмен данными. С помощью МОДБАСа, например, так просто не получится.(Но я не уничижаю МОДБАС:он имеет свои достоинства, до которых мне далеко) Кроме того мой протокол дает возможность ретрансляции(то есть нечто типичное именно для радиосвязи). Причем никаких специальных ретрансляторов городить не надо. Неужели после этого я не мог в название этой темы добавить слово"радиосеть"?
Цитата
Всё это больше похоже на алгоритм сжатия
-Никакого сжатия, просто модифицированный байтстаффинг.
Цитата
Для канального кодирования здесь сразу видится минус - очень времязатратный алгоритм
-Скачайте библиотеку(по ссылке вначале):даже AVR8 на частоте всего 1 МГц справляется с максимальными пакетами(247байт) и бОльшую часть времени отдыхает.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 3 2015, 02:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(fiim @ Jun 30 2015, 12:45) *
-Скачайте библиотеку(по ссылке вначале):даже AVR8 на частоте всего 1 МГц справляется с максимальными пакетами(247байт) и бОльшую часть времени отдыхает.

Мы говорили о кадрах размером >255 байт.
Берём в руки обычный калькулятор, считаем сколько времени потребуется для поиска 2-байтовой последовательности, отсутствующей в кадре.
Допустим размер кадра == 1000байт. Допустим поиск 2-байтовой последовательности идёт просто прямым сравнением подряд от начала кадра.
Допустим искомые последовательности генерим начиная от 0 и далее (если найдена) инкремент.
Получаем:
1.Для проверки вхождения одной 2-байтовой последовательности в кадр потребуется от 1 до 999 сравнений. Среднее кол-во == ~500.
2.В худшем случае придётся выполнить 501 генерацию новых последовательностей (с их последующей проверкой).
Это в случае если кадр состоит из слов: 0000, 0001, 0002, ... .
Итого получаем: 500*500 = 250000 сравнений. И это без учёта ещё сравнений с последовательностями границы кадра.
Сколько Ваш AVR8 будет кодировать такой кадр? Особенно учитывая что он 8-битный и на одно сравнение тратит кучу команд. Думаю - несколько секунд. При полной загрузке CPU.
Жесть короче.

Конечно это расчёт для худшего случая. При другом содержимом кадра будет меньше. Но для реалтайм-систем необходимо учитывать максимальное время.
И при этом этот процессор должен ещё выполнять и какую-то полезную работу.
Так что Ваш алгоритм применим только для оооооооооочень медленных или не реалтайм систем. Или там, где ресурсов хоть жопой ешь.

А байт-стаффинг тем и хорош, что он малозатратен ресурсам - памяти и времени выполнения (мой метод - тож).
Кодирование/декодирование кадра можно проводить хоть прямо на лету в ISR не расходуя на это драгоценное ОЗУ - записывать в выходной буфер уже декодированный кадр,
а на в буфере передачи хранить исходный кадр и кодировать его на лету при записи собственно в порт в ISR.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- fiim   USB-UART и радиосеть   Jun 11 2015, 10:34
- - zltigo   QUOTE (fiim @ Jun 11 2015, 13:34) Собстве...   Jun 14 2015, 05:40
|- - jcxz   Цитата(zltigo @ Jun 14 2015, 11:40) Осужд...   Jun 15 2015, 04:42
|- - fiim   Цитата(zltigo @ Jun 14 2015, 08:40) ...Ну...   Jun 26 2015, 12:06
|- - zltigo   QUOTE (fiim @ Jun 26 2015, 15:06) Его не ...   Jun 26 2015, 13:07
|- - fiim   Цитата(zltigo @ Jun 26 2015, 16:07) Я пла...   Jun 26 2015, 18:11
- - zltigo   Уже все сказано. Думайте. Повторять в третий раз н...   Jun 27 2015, 03:41
|- - jcxz   Цитата(zltigo @ Jun 27 2015, 09:41) Уже в...   Jun 27 2015, 08:03
|- - fiim   Цитата(jcxz @ Jun 27 2015, 11:03) Зря рас...   Jun 29 2015, 04:57
|- - jcxz   Цитата(fiim @ Jun 29 2015, 10:57) В моем ...   Jun 29 2015, 05:35
|- - fiim   Цитата(jcxz @ Jun 29 2015, 08:35) Это нев...   Jun 29 2015, 06:37
|- - jcxz   Цитата(fiim @ Jun 29 2015, 12:37) ... В и...   Jun 29 2015, 09:26
|- - fiim   Цитата(jcxz @ Jun 29 2015, 12:26) И что? ...   Jun 29 2015, 10:11
|- - jcxz   Цитата(fiim @ Jun 29 2015, 16:11) Если же...   Jun 29 2015, 10:18
|- - fiim   Цитата(jcxz @ Jun 29 2015, 13:18) Интерес...   Jun 29 2015, 14:11
|- - Aner   QUOTE (fiim @ Jun 29 2015, 18:11) Принцип...   Jun 29 2015, 18:01
|- - jcxz   Цитата(fiim @ Jun 29 2015, 20:11) Принцип...   Jun 30 2015, 03:48
- - Mihey_K   ЦитатаКто удосужился пройти по ссылке вначале, оче...   Jun 30 2015, 15:03


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 19:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01455 секунд с 7
ELECTRONIX ©2004-2016