[an error occurred while processing this directive] [an error occurred while processing this directive]
Пояснения (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Анатоль 21 декабря 2001 г. 22:58
В ответ на: Ответ: Переходы. отправлено Александр Баранов 21 декабря 2001 г. 19:22

Несколько замечаний. Преамбула нужна для того, чтобы точно знать, что первым битом идет, к примеру 1. Т.е. когда ловятся полнопериодные переходы, а потом полупериодный, то это две 1 подряд, т.е. должно быть 0х55-0х55-0х55-0х56. Иначе, если передается произвольная информация, то приемник сдвинется на полбита и декодирует ошибочно. Второе, между байтами н е д о л ж н о быть промежутков, они "собьют" декодер, передавать надо сплошным битовым потоком. Третье, самосинхронизирующийся код, это код, который одновременно передает и данные и такты. По сути задача состоит в том, чтобы выделить такты, т.к. они заранее известны. Т.е. один из простейших способов декодирования это сформировать собственные тактовые той же скорости(длительности), которые будут синхронны с переходами 1-0 и 0-1 в принимаемом потоке, а затем этот принимаемый поток сложить по модулю 2 с собственными тактами. Т.е. провести операцию, обратную кодированию. На выходе получим передаваемые данные без тактов. Для борьбы с "выхлопами" рекомендуется генерировать частоту, в двое большую тактовой, а затем писать все в триггер.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru