Как декодировать данные с использованием manchester с помощью аппаратного обеспечения

Как декодировать данные с использованием manchester с помощью аппаратного обеспечения
Как декодировать данные с использованием manchester с помощью аппаратного обеспечения
Anonim

Как декодировать данные, закодированные в Манчестере с помощью аппаратного обеспечения

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

Более года назад я писал о «чем и зачем» манчестерской кодировки, и недавно я продолжил эту тему со статьей, которая предлагает некоторые рекомендации о том, как конвертировать ваши исходные двоичные данные в данные Манчестера. Пока что так хорошо, но манчестерское кодирование будет иметь мало значения в вашей системе связи, если вы не сможете преобразовать манчестерский сигнал обратно в нормальные и нули.

Данные для резки

Одна схема, которая может пригодиться в любом приемнике в Манчестере, называется средой данных. Мы знаем, что манчестерское кодирование совместимо с AC-соединением, и, когда используется связь переменного тока, среднее значение принятого сигнала будет равно нулю. Однако логические и логические характеристики могут быть менее предсказуемыми, особенно когда сигнал Манчестера подвергается значительным шумовым воздействиям или затуханию во время его поездки от передатчика к приемнику.

Слайсер данных преобразует эту шумную / ослабленную форму волны в чистый цифровой сигнал, сравнивая сигнал Манчестера с средним значением сигнала; среднее значение извлекается с использованием низкочастотного фильтра RC. Если входящий сигнал выше среднего значения, компаратор насыщается при логическом высоком напряжении; если входящий сигнал ниже среднего значения, он насыщается при логическом низком напряжении.

Image
Image

Как обычно бывает в схемах компаратора, реалистичная реализация должна включать гистерезис. Если вы планируете обрабатывать данные Манчестера в микроконтроллере, вы можете выбрать устройство с модулем компаратора, который включает в себя программируемый гистерезис. Это было бы удобным способом разрезать входящие данные и доставить результирующий сигнал непосредственно к процессору, который преобразует очищенный манчестерский сигнал в обычные данные логического уровня.

Декодирование через аппаратное обеспечение

После резки данных приемник имеет кодированный в Манчестере сигнал, который соответствует ожидаемым логическим уровням и не имеет значительного количества шума. (Надеюсь, гистерезис компаратора смог устранить ложные логические переходы, которые в противном случае возникли бы, когда шумный принятый сигнал пересек порог компаратора.) Следующая задача концептуально проста, но не всегда такая простая в реальной жизни: нам нужно интерпретировать положительный и отрицательные переходы как единицы и нули (или нули и единицы, в зависимости от того, как вы кодировали данные).

Это можно выполнить с помощью аппаратного обеспечения. Я готов поспорить, однако, что большинство устройств на Манчестере используют прошивку для декодирования. Реализация аппаратных средств несколько сложна, и они не могут конкурировать с гибкостью и расширенными функциональными возможностями, которые легко встроены в микроконтроллер или цифровой процессор сигналов. Однако аппаратное обеспечение быстрее и не потребляет ресурсы ЦП, поэтому существует определенная ценность в решении решения для декодирования, которое основано, по крайней мере частично, на оборудовании.

микрочип

Я нашел эту первую схему в примечании к приложению Microchip. Он не предназначен для автономного решения для декодирования; скорее, они представляют подход, который может быть реализован с использованием аппаратного обеспечения, которое они включили в некоторые из своих микроконтроллеров, а именно: настраиваемые логические ячейки (CLC) и генератор с цифровым управлением (NCO).

Image
Image
Диаграмма взята из примечания приложения Microchip

кипарис

Следующая схема из Cypress и предназначена для использования с устройством PSoC 1.

Image
Image
Диаграмма взята из заметки приложения Cypress

Обе эти реализации интересны тем, что они не восстанавливают исходные данные непосредственно из переходов Манчестера, несмотря на то, что манчестерское кодирование основано на переходах. Скорее, они используют тот факт, что исходный логический уровень всегда присутствует незадолго до перехода. Это будет более понятно, если взглянуть на временную диаграмму Манчестера:

Image
Image

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

Кроме того, манчестерский сигнал должен подготовиться к этому переходу, перемещая, если необходимо, состояние, которое позволяет ему сделать необходимый переход. Если сигнал Манчестера должен сделать переход от низкого к высокому (соответствующий логическому минимуму), он должен быть логически низким, прежде чем он совершит этот переход. Если он должен сделать переход с высокой до низкой (соответствующий высокой логике), он должен быть логическим до того, как он совершит переход. Таким образом, логический уровень манчестерского сигнала непосредственно перед переходом равен логическому уровню исходных данных.

Image
Image

Оба подхода Cypress и Microchip включают задержку, которая заставляет схему отсчитывать манчестерский сигнал после того, как прошло три четверти периода бит. Это время основано на том, что Манчестерскому сигналу может потребоваться переход на полпути через период бит (при условии, что период бит начинается с нарастающего фронта исходного такта, как на диаграммах выше). Задерживаясь на три четверти битового периода, схема гарантированно пробовит сигнал после перехода в середине бит-периода и перед активным переходом.

Создание надлежащей задержки очень просто, если приемник всегда знает период бит, который будет использоваться передатчиком, но даже если это не так, приемник может восстановить часы из потока данных Манчестера. Вы можете найти больше, чем когда-либо хотели узнать о восстановлении часов в Манчестере в этой магистерской диссертации.

Silicon Labs

Если вы хотите поразмышлять над еще одной схемой декодера, следующая реализация (также основанная на концепции с тремя четвертями бит-бит) была разработана SiLabs для использования в микроконтроллерах, которые включают настраиваемые логические единицы (CLU).

Image
Image
Диаграмма взята из приложения для приложения Silicon Labs

Вывод

Мы рассмотрели две схемы, которые могут преобразовывать данные, закодированные в Манчестере, в нормальные данные на логическом уровне, и мы также обсудили слайсер данных, который обеспечивает предварительную обработку сигналов и полезен в сочетании как с прошивками, так и с аппаратными декодерами. В следующей статье мы рассмотрим вопрос о синхронизации приемника-передатчика в системах на Манчестере.