[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Несколько замечаний. Преамбула нужна для того, чтобы точно знать, что первым битом идет, к примеру 1. Т.е. когда ловятся полнопериодные переходы, а потом полупериодный, то это две 1 подряд, т.е. должно быть 0х55-0х55-0х55-0х56. Иначе, если передается произвольная информация, то приемник сдвинется на полбита и декодирует ошибочно. Второе, между байтами н е д о л ж н о быть промежутков, они "собьют" декодер, передавать надо сплошным битовым потоком. Третье, самосинхронизирующийся код, это код, который одновременно передает и данные и такты. По сути задача состоит в том, чтобы выделить такты, т.к. они заранее известны. Т.е. один из простейших способов декодирования это сформировать собственные тактовые той же скорости(длительности), которые будут синхронны с переходами 1-0 и 0-1 в принимаемом потоке, а затем этот принимаемый поток сложить по модулю 2 с собственными тактами. Т.е. провести операцию, обратную кодированию. На выходе получим передаваемые данные без тактов. Для борьбы с "выхлопами" рекомендуется генерировать частоту, в двое большую тактовой, а затем писать все в триггер.
E-mail: info@telesys.ru