Перейти к содержанию
    

Манчестерский код.

Добрый день!

Не подскажет ли кто как грамотно декодировать Манчестерский код.

Проблема вот с чём: допустим, я посылаю последовательность из одних единиц. Единица по коду - это перепад из 0 в 1 в центре тактового интервала. При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.

Может кто подскажет, что почитать по Манчестерскому кодированию, точнее декодироанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Не подскажет ли кто как грамотно декодировать Манчестерский код.

Проблема вот с чём: допустим, я посылаю последовательность из одних единиц. Единица по коду - это перепад из 0 в 1 в центре тактового интервала. При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.

Может кто подскажет, что почитать по Манчестерскому кодированию, точнее декодироанию.

Обычно делается так: сигнал задерживается на полпериода...

А я когда-то делал так: сигнал задерживался на 1/3 периода и еще на 1/3 периода.. Вот точно не помню, но одни брались по И, а другие по ИЛИ (точно какие не помню)... Но это давало возможность избежать дребезга при 1/2 периода. Ну а потом эти два сигнала подавались на RS триггер... Я в 80-х это делал на таймере 580 серии и рассыпухе. А сейчас в ПЛИС это не сложно...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

См http://www.xilinx.com/support/documentatio...tes/xapp339.pdf

 

и приложенный файл с vhdl.

 

Для реального декодирования нужно клок иметь раз в 7-8 выше чем данные.

manch_vhd.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.
Обычно при передаче Манчестером в начале пакета ставят синхропосылку (например 0x55), что бы декодер однозначно определил точку привязки. Если такой синхропосылки нет, то декодер в конце концов все равно засинхронизируется (по наличию переходов в входном сигнале там, где их быть не должно), но начало посылки будет принято неверно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы возьмете описание Манчестера, то там есть стартовая последовательность. После старта синхронизация Вам обеспечена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...