Например TDA7294

Форум РадиоКот • Просмотр темы - Кодирование пакета из трех полез. байт для передачи по UART
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 10:03:59

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Кодирование пакета из трех полез. байт для передачи по UART
СообщениеДобавлено: Сб янв 13, 2024 14:16:06 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
Добрый день!
Подскажите простой способ "кодирования" пакета из трех полезных байт (команда 8bit + значение 16bit) для передачи по UART и последующего гарантрированного получения этих трех байт на другом устройстве, без использования эха, то есть за одну передачу. Понимаю, полный пакет должен быть с достаточным избытком, соответсвенно с определением ошибок и возможностью их исправления.
Чтобы задать хоть какието границы "избытка" принимаем (прочитав спор двух спецов из соседней темы в этой ветке) вероятность ошибки передачи данных порядка 1/8...1/4 так как используется в достаточно зашумленной среде.
Готов на передачу этих трех байт тратить до 8..10 байт

Непонимаю с чего начинать и как. Кто то может подсказать на пальцах, кроме общих фраз CRC8 и полиномов


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 14:47:08 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
с чего начинать и как.

На пальцах не выйдет.
Вам нужен код с исправлением ошибок. Такие кода обнаруживают ошибок больше, чем исправляют. Избыточность определит количество обнаруживаемых и количество исправляемых ошибок.
Из заявленного:
БЧХ-коды (код Рида-Соломона).
Код Хемминга.
Но требуется комментарий.
Дело в том, что коды с исправлением ошибок не помогают при тотально зашумленном канале. Эти коды работают при случайной и относительно редкой помехе. Они не способны вытащить сигнал из под шума. Теорема Шеннона-Хартли определяет пропускную способность канала с шумами.
Поэтому нужно не ошибки исправлять, а правильно модулировать сигнал в канале передачи, чтобы минимизировать потери информации, а лишь затем применять коды с исправлением ошибок.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 14:57:33 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
Может я переборщил с вероятностью ошибок, но даже с 1/8 мне в голову приходит только посылка этих трех байт три раза подряд.
Получается при этой вероятности испортиться может только один, максимум два байта, и ещё более мало вероятно что именно один и тот же байт из трех повредится дважды. Но этот способ какойто уж жутко топорный


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 15:04:27 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Лучше расскажите нам про канал связи. Откуда там помехи?
мне в голову приходит только посылка этих трех байт три раза подряд.

Я же вам сообщил виды кодирования. Причем тут посылка подряд? :facepalm:


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 15:17:01 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
это сварочный аппарат, данные передаются от источника в механизм подачи проволоки. Что в источнике импульсные помехи, что в механизме подачи проволоки электромагнитные помехи от двигателя, все фонит. Пробовал делать с эхом, возможно допустил ошибку, но передатчик и приемник сильно занимались тем что обменивались "охами и ахами" вместо полезной работы. В результате сделал без эха, просто перестал принимать искаженные пакеты, но в результате стали проглатываться иногда пакеты, не часто, впринципе работает, поэтому и говорю что скорее всего переборщил с вероятностью ошибки в верхнем посту. Но меня это всё равно "муляет", пусть лучше пошлю данные с огромным избытком, но приемник должен принять все без исключения команды!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 15:20:28 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
это сварочный аппарат, данные передаются от источника в механизм подачи проволоки.

Ну и что в этом необычного? Как физически организован канал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 15:25:12 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
сейчас через CAN драйвера, ранее пробовал и через развязный оптопарами UART, скорость достаточно небольшая 38400


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 17:59:04 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Это все несерьезно.
Нужна полноценная гальваноразвязка и дифференциальный сигнал.
Гальваноразвязка подразумевает уже на выходе устройства управления в кабель к управляемому устройству полную изоляцию дифсигналов, питания и общего провода от платы управления. Плюс к этому кабель должен быть экранирован и экран нужно соединить с горячей землей управляемого устройства.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 19:13:49 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
я не ракету запускаю на орбиту Луны ))) ничего подобного не видел ни у одного производителя сварочного оборудования, повидимому решают сугубо программным путем за счет кодирования ... собственно с чего и начал данную тему


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 19:44:26 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
я не ракету запускаю

Какая еще нахрен ракета? :facepalm: Ровно одна микросхема. Причем совершенно стандартное решение.
Просто учите матчасть.
Никто не компенсирует безграмотную схемотехнику и конструкцию сложными алгоритмами, тем более, что это невозможно по определению.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 19:52:25 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Вместо CAN драйвера возьмите драйвер, предназначенный для этого: MAX485 или иной, для шины RS-485. В CAN драйверах всякие зашиты от зависаний бывают и потому, если тайминги сигнала ему не понравятся, он отвалится от шины. Помимо этого, в CAN шине есть доминантные и рецессивные состояния (для разрешения коллизий на шине), в RS-485 таких состояний нет, потому драйвера 485 лучше держат уровень сигналов при воздействии на них помех. Соединять стороны нужно витой парой. На обоих концах должны стоять терминирующие резисторы сопротивлением, равным волновому сопротивлению витой пары. Это чтобы устранить эффекты отражения сигналов на линии. Не нужно забывать и о защитах линии и драйверов от сильных всплесков, иначе драйвера умрут.
КРАМ прав абсолютно. Сначала нужно по максимуму очистить среду от помех, потом уже заниматься защитой данных.

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 20:11:01 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: -4
я так и знал, этот ситуация, когда лучше было бы не говорить для чего нужно кодирование, чтобы не было идей "все исправить и поделить между всеми поровну" ....
DX168B все что Вы предложили уже сделано, отработано и работает .... НО я знаю что можно сделать лучше, ведь сам и прошел весь этот предыдущий путь, знаю всю систему досканально и где узкие места.
Поэтому и пришел сюда чтобы спросить о том чего не знаю, может кто подскажет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 20:25:33 
Друг Кота
Аватар пользователя

Карма: 138
Рейтинг сообщений: 2712
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21837
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Это прикольно... :))
Приходит персонаж с вопросом. Ему на него отвечают люди, которые этим вопросом занимаются профессионально. А он начинает их учить жить.
Любезный, зачем вас учить? Вас учить - только портить...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 20:38:18 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Бывает... К сожалению часто бывает.

Тогда пусть берет код Рида-Соломона или код Хеммига и реализует его.
Только если канал жестко засран помехами, то ничто уже не поможет.
Это как картину Пикассо замазать толстым слоем гомна, а потом пытаться разглядеть ее из под слоя гомна с помощью рентгенаппарата.

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Сб янв 13, 2024 21:01:18 
Первый раз сказал Мяу!

Зарегистрирован: Вс июл 15, 2012 16:21:55
Сообщений: 21
Рейтинг сообщения: 0
ну я же в третьем же сообщении признался что "В результате сделал без эха, просто перестал принимать искаженные пакеты, но в результате стали проглатываться иногда пакеты, не часто, впринципе работает" ... ну немного приукрасил силу проблемы, чтобы поняли что это важно и нужно, а ведь реально все работает уже более семи лет, всех то устраивает .... НО меня не устраивает, так как знаю что не идеально .... А в общем КРАМ спасибо, код Хемминга скорее всего самое лучше подойдет ... думал что как профессионалы подскажут что лучше подойдет, у какого метода преимущества и недостатки, но похоже все самому все самому


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Ср янв 17, 2024 19:25:47 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6881
Откуда: .ru
Рейтинг сообщения: 0
люди давно уже придумали изернет)) с симметричным входом и выходом... гальванической развязкой... и заземлением...
причём заземление не только экрана но и сигнальных проводов...
:tea:
лучше только оптика)) но это уже другая тема...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Кодирование пакета из трех полез. байт для передачи по U
СообщениеДобавлено: Чт янв 18, 2024 22:27:16 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: 0
Лучше RS-485 или RS-422 с драйверами "токовая петля" через витые пары.


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: OKF и гости: 32


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y