Цитата(VTrue @ Dec 10 2010, 02:20)

Возникла острая необходимость приема данных в кодировке NRZ
Для этого требуется восстановление частоты из потока данных
Данные идут непрерывно, скорость потока 2 мб/c (2048 кГЦ). Поток передается посылками по 256 бит. Из которых только 40 бит отведено на синхронизацию, то есть это последовательно идущие чередующиеся 0 и 1.
Есть два метода:
1) цифровое восстановление клока
2) ФАПЧ
По первому методу работает большинство цифровых интерфейсов, начиная с обычного RS232. При этом передатчик и приемник должны иметь генераторы, у которых частоты мало отличаются друг от друга и мало "плывут". Например, для правильной работы обычного UART-а необходимо, чтобы рассогласование не превышало примерно 2%. По синхроимпульсу (в UART-е - по фронту старт-бита) приемник мгновенно подстраивает фазу своего клока, после этого в течении скольких-то бит-интервалов, пока передаются данные, фаза приемника слегка "уплывает", однако не настолько, чтобы нарушить прием. Для UART-а на десять бит-интервалов (старт, стоп и 8 бит данных) приходится 1 синхроимпульс, и 2% рассогласования достаточно для устойчивой работы (2% обеспечивает даже RC-генератор). У вас на 256 бит имеется 40 синхроимпульсов, и если их равномерно размазать по времени, то требуемая точность согласования частот будет даже меньше, чем для UART. А если все синхроимпульсы бестолково сгрудить в одном месте, то, конечно, придется использовать более точные клоки (впрочем, любой генератор на кварце обеспечит нужную вам точность с запасом).
При использовании AFGX-а, в отличие от первого метода, надо обеспечить, чтобы синхроимпульсы приходили регулярно, чтобы ФАПч не терял синхронизацию. Иначе придется тратить много времени на то, чтобы ФАПч приемника синхронизовался.
Цитата(VTrue @ Dec 10 2010, 02:20)

Пытаюсь использовать микросхему 74HC4046.
Вам любой ФАПч подойдет, у вас задача легкая.