Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Манчестерский код.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
JohnKorsh
Добрый день!
Не подскажет ли кто как грамотно декодировать Манчестерский код.
Проблема вот с чём: допустим, я посылаю последовательность из одних единиц. Единица по коду - это перепад из 0 в 1 в центре тактового интервала. При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.
Может кто подскажет, что почитать по Манчестерскому кодированию, точнее декодироанию.
iosifk
Цитата(JohnKorsh @ Apr 17 2014, 11:15) *
Добрый день!
Не подскажет ли кто как грамотно декодировать Манчестерский код.
Проблема вот с чём: допустим, я посылаю последовательность из одних единиц. Единица по коду - это перепад из 0 в 1 в центре тактового интервала. При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.
Может кто подскажет, что почитать по Манчестерскому кодированию, точнее декодироанию.

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

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

Для реального декодирования нужно клок иметь раз в 7-8 выше чем данные.
XVR
Цитата
При приёме я получаю меандр и результат декодирования зависит от того за какую половину тактового интервала я "зацеплюсь" изначально. То есть - либо все 1 либо все 0.
Обычно при передаче Манчестером в начале пакета ставят синхропосылку (например 0x55), что бы декодер однозначно определил точку привязки. Если такой синхропосылки нет, то декодер в конце концов все равно засинхронизируется (по наличию переходов в входном сигнале там, где их быть не должно), но начало посылки будет принято неверно.
Alex11
Если Вы возьмете описание Манчестера, то там есть стартовая последовательность. После старта синхронизация Вам обеспечена.
JohnKorsh
Спасибо. Очень помогло.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.