Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Вс июл 29, 2012 17:47:36
Есть два узла оснащённых приёмопередатчиками. Первый узел- пульт управления ( ведущий) - передает дискретные команды вкл\откл (по мере необходимости) и запросы состояния ведомого (каждые 0.5 секунд) Второй - принимает команды и запросы состояния( дискретные сигналы -да\нет.) по которым и передаёт своё состояние по радиоканалу. Колличество ведомых <8. Подскажите способ кодирования сигнала , примеры , алгоритмы для микроконтроллера на Си, может какие сайты с информацией по этому вопросу .
Вс июл 29, 2012 17:52:11
Те есть тебе нужна в каком то удобном для тебя физическом состоянии двунаправленная линия связи?
Всего то?
Закажи параметры обмена на какое расстояние и как ты хочешь обмениватся информацией
- через астрал, эфир, по оптоволокну, проводу, экзотическим излучением, силой воли...
Вс июл 29, 2012 17:59:54
радиоканал для тебя эфир или оптоволокно, я же упомянул о нем...
параметры обмена - менее 2400 бод.
передаваемые параметры дискретные
Вс июл 29, 2012 18:29:40
Если у тебя уже есть два "приёмопередатчика" - два комплекта передатчиков и два комплекта приемников чем тебя не устраивает линия связи - эфир или оптоволоконный канал?
Есть требования или ограничения к линии связи?
Пн июл 30, 2012 05:54:00
Вопрос не в организации радиоканала, а в способе кодирования сигнала, сигналы дискретные: команды-включить\выключить , запросы состояния -включено или отключено.
Пн июл 30, 2012 08:31:19
Если Вас интересует помехоустойчивость, достаточно применить CRC (контрольная сумма). Можно применить протокол MODBUS - для Вашего случая - то, что доктор прописал.
Если нужна устойчивая к взлому (криптоустойчивая) система, то смотрите в сторону систем challenge-response c хеш-функциями типа MD5. Можно модифицировать MODBUS фреймы, заменив CRC на криптостойкий HMAC
http://ru.wikipedia.org/wiki/HMAC Сообщение при этом увеличится на 512 байт, но за криптостойкость нужно платить. Если делать будете на AVR - AVRCryptolib сильно поможет
Пн июл 30, 2012 09:44:46
Что используется в качестве приемопередатчиков? От этого зависит все остальное.
Пн июл 30, 2012 10:11:23
Радиостанция моторолла GM340 на каждой стороне. Частота 430МГц. Есть возможность передачи данных. Где есть доступное описание протокола MODBUS? как нибудь попроще? Устойчивость к взлому не нужна, нужна помехоустойчивость.
Пн июл 30, 2012 11:17:24
GM340 с модемами? Или модем надо тож делать?) Ибо если модем есть то ничего делать не надо, CRC и помехоустойчивое кодирование там уже реализовано. Если же модема нет - то это отдельная долгая и большая история его изобретать.
Пн июл 30, 2012 12:24:03
С модемом. Меня интересует способы формирования и декодирования команд, как в радиоуправлении моделями, пультах ТВ и тд. примеры , образцы кода на Си.
Пн июл 30, 2012 12:31:22
В радиоуправлении моделями, пультах ТВ и прочем есть необходимость реализации канального уровня. У вас такой необходимости нет. Только прикладной. Какие примеры вы хотите получить? Как передавать/принимать байт в/из UART? Ибо задача сводится именно к этому. Ваша команда поместится в один байт, скажем такого формата:
- Код:
typedef struct
{
unsigned char SlaveID : 3; // номер вашего ведомого
unsigned char Type :1; // тип команды - запрос состояния или вкл/выкл
unsigned char Data : 4; // собственно 4 бита для данных
} Frame;
Если ответы от ведомых длиннее 4 бит - тогда надо прикрутить еще какое то подобие транспортного уровня. Если вам это нужно напишите, скажу как
Опишите точнее задачу, формат команд, количество состояний, в общем что в итоге хотите получить
Пн июл 30, 2012 12:37:12
Зависит конечно от задачи, но по моему будет неплохо работать аппаратные кодеки RC5 .
Пн июл 30, 2012 14:07:38
Да ему шифрование не нуна, зачем ему rc5?)
Пн июл 30, 2012 14:35:04
Опишу поподробней. Есть 3 выключателя 3фаз 380в .Есть пульт управления . Расстояние между ними ~500 метров. Необходимо передавать команды на каждый выключатель отдельно включить или выключить - это по мере необходимости и каждые 0.5 секунд посылать запрос на состояние всех выключателей -это постоянно , чтобы контролировать состояние выключателей .На стороне выключателей при получении запроса состояния, контроллер должен включить радиостанцию на передачу и отправить информацию о состоянии выключателей . На стороне пульта она должна быть принята и выведена на светодиоды вкл/откл.
Пн июл 30, 2012 14:54:10
Ну значит в один байт помещаетесь. Собираете этот байт, посылаете в модем по уарту, на приемнике получаете из уарта байт и делаете что нужно. Что конкретно вам непонятно? Или все непонятно?))
Пн июл 30, 2012 15:56:25
А где бы подсмотреть примеры , кусочки кода как это наилучшим образом делается?
Пн июл 30, 2012 16:26:40
Я применял для работы по радиоканалу (трансиверы YS-1100U на 433 МГц) протокол Wake. Описание здесь:
http://digit-el.com/files/open/wake/wake.html
Пн июл 30, 2012 18:20:07
Я думаю слишком сложно, тут достаточно более простой реализации. Судя по вопросам ТС ему будет сложно это дело реализовать.
Автор, нету кусков кода, это самые базовые знания.
Пн июл 30, 2012 18:51:38
3 выключателя 3фаз 380в
CRC будет не лишним. Потому как, чтоб модем что то передал, будет достаточно дать стартовый бит.
Пн июл 30, 2012 19:50:37
Можно поинтересоваться у уважаемых Гуру?
Если есть два передатчика передающих модулированный код и два приемника его принимающих и понимающих (декодирующих) код.
То зачем нужно дополнительное преобразование что бы обеспечить дуплексную связь в канале, при условии что автор отклонил какие либо ограничения по каналу связи?
Чисто шкурный интерес - мне нужно реализовать то же самое в дуплексе.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.