Я знаю, что это нубский вопрос. Я пытаюсь установить беспроводную связь между двумя микроконтроллерами 8051, используя радиочастотный модуль 433 МГц. Но так как 433 МГц — достаточно шумная частота, ресивер сразу же начинает собирать вокруг себя мусор. В этом случае поможет ли программный фильтр избавиться от ненужных данных, или мои данные полностью искажаются по пути? Заранее спасибо.
Используете ли вы такие модули?
Если да, то не ожидайте, что они будут работать без надлежащих алгоритмов фильтрации программного шума. Этот модуль будет выдавать данные на выходе Rx, даже если нет другого передатчика, работающего на частоте 433 МГц. Это связано с тем, что это устройство работает в режимах OOK (вкл./выкл. манипуляции) и AGC (автоматическая регулировка усиления). Таким образом, если Rx не обнаружит никакого сигнала в течение некоторого времени, он автоматически уменьшит порог, и как только порог приблизится к уровню шума, шум будет интерпретирован как битовый поток 'песок с.
Чтобы правильно идентифицировать ваши пакеты, добавьте 3-4 байта идентификации к каждому из передаваемых вами кадров. Добавление большего количества байтов идентификации уменьшит вероятность того, что шум будет интерпретирован как ваш пакет. Обычно достаточно 3-4 байт.
Кроме того, требуется некоторое время (несколько длительностей в битах), чтобы отрегулировать порог с уровнем передаваемого сигнала, поэтому, если вы не ведете непрерывную передачу, лучше отправить 1 или 2 ненужных байта перед передачей любого кадра (поскольку начальные биты имеют некоторые значения). вероятность повреждения из-за неправильного начального порогового уровня).
Аппаратное решение: Обычный набор микросхем, используемый в таком модуле приемника, — PT4317. Если вы проверите таблицу данных , то увидите, что входы слайсера данных доступны вне кристалла. Таким образом, порог нарезки можно отрегулировать вручную, правильно назначив пороговое напряжение на вывод DSN. Но это поставит под угрозу чувствительность приемника и, следовательно, самый большой диапазон, с которым он может работать. Вам придется поэкспериментировать с различными значениями напряжения на этом выводе и диапазоном, который он производит.
Это не обязательно должна быть шумная среда, это также сам приемник, который производит шум. В большинстве устройств с частотой 433 МГц это решается с помощью кодирования данных . Таким образом, пакеты данных состоят из самих данных и дополнительного кода, чтобы микроконтроллер мог распознавать пакеты данных и отличать их от шума.
Существуют библиотеки для Arduino для передачи данных свыше 433 (или 315) МГц. Одним из примеров является библиотека Virtualwire . Я предлагаю вам изучить их, чтобы увидеть, как это делается.
Просто не ожидайте «чистого» канала, когда вы не отправляете данные. Связь на частоте 433 МГц так не работает. Они спроектированы с чрезвычайно простым (и дешевым) приемником и передатчиком с использованием модуляции OOK (также простой), «умный» бит затем выполняется в программном обеспечении путем корреляции, распознавания образов и т. д. Поскольку это для низких скоростей передачи данных, это можно сделать даже в простом микроконтроллере.
В диапазоне 433 МГц нет ничего, что делало бы его особенно шумным, хотя время от времени возможны помехи от других пользователей этого диапазона, вероятно, это не то, что вы видите.
Простые приемники могут увеличивать усиление в отсутствие сигнала до тех пор, пока их собственный внутренний шум не будет декодирован как ложный сигнал, и, вероятно, именно это вы и видите: программная фильтрация вряд ли поможет.
Проверьте техническое описание вашего приемника: там может быть выход RSSI - (Индикатор силы принятого сигнала) - обычно аналоговое напряжение, представляющее силу входящего сигнала (и не очень точно).
Один из подходов состоит в том, чтобы считать это в аналоговом (АЦП) канале и игнорировать выходной сигнал приемника, если RSSI ниже определенного уровня. Если вы не пытаетесь достичь максимального диапазона, вы можете установить этот уровень достаточно высоким, чтобы декодировать только сильный сигнал с небольшим количеством ошибок.
В противном случае вам может потребоваться комбинировать с какой-либо другой схемой устранения ошибок, например, повторной передачей ошибочных сообщений или кодов исправления ошибок.
Мысленный эксперимент: снять антенну приемника, заменить на короткое замыкание от соединения антенны на печатной плате к земле на печатной плате. Поместите приемник в идеальную клетку Фарадея, и только когда вы охладите его до температуры, близкой к абсолютному нулю, автоматическая регулировка усиления в приемнике не будет достаточно чувствительной, чтобы уловить шум и усилить его.
ТриФазыУгорь
Илькер Демирель