Синхронный приёмник Декодер Манчестера
Когда битовое поле MAN регистра US_MR имеет значение 1, то разрешена работа манчестерского декодера. Декодер производит обнаружение преамбулы и разделителя начала фрейма данных (SFD). Для приёма кодированных кодом Манчестера данных в интерфейсе USART выделена одна входная линия.
Опционально задаваемая последовательность преамбулы и её продолжительность могут быть заданы в кодере независимо от настроек декодера.

Для конфигурирования длительности преамбулы в декодере используется битовое поле RX_PL в регистре US_MAN. Если продолжительность преамбулы установлена равной 0, то преамбула декодером не детектируется. Полярность входного потока данных декодера программируется битовым полем RX_MPOL в регистре US_MAN.

В зависимости от конкретного приложения настройки преамбулы декодера можно сверить с аналогичными настройками кодера, которые задаются в поле RX_PP регистра US_MAN. В отличие от преамбулы логика работы разделителя начала фрейма данных у манчестерского кодера и декодера одинакова. Так, если битовое поле ONEBIT имеет значение 1, только закодированный по Манчестеру логический 0 может быть детектирован как корректный SFD.

Если поле ONEBIT имеет значение 0, то только синхронизирующий SFD детектируется как корректный разделитель начала фрейма данных. Декодер работает, обнаруживая перепад в потоке входных данных. Если выборки сигнала на линии RXD в течение одной четверти битового интервала возвращают нулевой результат, то детектируется "стартовый" бит.

После этого приёмник активизируется и начинает обнаружение преамбулы и SFD, проводя выборку данных в одной четверти, а затем в трёх четвертях битового интервала. Если детектируется корректная преамбула или SFD, то приёмник продолжает декодирование потока входных данных с той же самой синхронизацией.

Если поток входных данных не соответствует корректной преамбуле или разделителю начала фрейма данных, то приёмник производит пересинхронизацию на требуемый перепад. Минимальный интервал времени, необходимый для оценки корректности преамбулы или SFD, - три четверти битового интервала.
Яндекс цитирования Rambler's Top100