Цитата(FLTI @ Sep 9 2013, 17:25)

Какие у Вас впечатления о CDCE913? Интересуюсь, поскольку сам собираюсь применять.
Почти год прошел с тех пор, как был задан этот вопрос. Но тогда мне было нечего на него ответить, и вот только сейчас (в этом месяце) я, наконец-то, приступила к освоению
CDCE913, хотя купила ее еще в прошлом году (два экземпляра). Тем паче, что она не слишком дорогая - в Терраэлектронике лежит за 213 руб, а я тогда покупала за 172 руб (рубль за это время заметно девальвировал). Но все равно это гораздо дешевле, чем крутые синтезаторы от Analog device, хотя CDCE913 по своим возможностям легко переплюнет многие их них.
Знакомлю с логикой этой микросхемы, как она выглядит на рисунке в даташите:

На самом деле устроена она предельно просто - после PLL стоят три отдельных делителя для каждого из трех выходов Y1,Y2,Y3. Все эти три выхода - братья близнецы, если не ковырять переключатели M1,M2,M3. Я их не ковыряла и вам не советую.
Выбор частоты для этих трех делителей выбирается переключателем MUX1. По умолчанию PLL обесточена, а частота поступает в обход PLL по линии "PLL Bypass" (это не та, что идет поверху "Input Clock", а та, что внутри синенького прямоугольника, где сама PLL находится).
Все это хозяйство можно запустить без всякого программирования, если подключить кварц (8-32 МГц) и подтянуть контакт S0 к питанию. Тогда на всех трех выходах Y1,Y2,Y3 появится частота кварца. Я же и кварц не подключала (разве что в самый первый раз), а подала частоту 16 МГц с таймера моего МК. Этим я достигла замечательной синхронизации со счетчиком на другом таймере того же МК, т.к. ни частота, ни фаза, никуда не плывут. Чего на двух разных кварцах (один у МК, другой у CDCE913) никак не достигнуть. Вообще-то для перехода с кварцевого резонатора на внешний генератор необходимо кое-какую команду в CDCE913 подать, но я это требование проигнорировала, т.к. раньше многократно запускала AVR-ки с внешним генератором, не переключая фуз (т.е. оставив режим внешнего резонатора). Вот и тут это тоже сработало.
Дальше уже можно перейти к программированию. Для начала можно поиграться с делителями при выходах Y1,Y2,Y3 - это регистры 0х03, 0x16, 0x17, соответственно. MUX1, включающий и отключающий байпас PLL, тоже просто переключается значением регистра 0x14 - при байпасе кладем туда 0xED, а при работе от PLL кладем 0x6D. А если байпас вам вообще не нужен, то кладем туда 0x6D не задумываясь.
Самое трудное здесь - задать частоту PLL. Для этого существует рациональная дробь N/M, выступающая множителем входной частоты. На сайте TI можно скачать прогу, которая для данной пары входной и выходной частот рассчитывает эту дробь. Но как она это делает, не афишируется. Я же поступила проще - застолбила M=160 (это удесятеренная входная частота 16 МГц), после чего величина N обрела смысл, как 0.1 МГц/единицу. Главное не забывать, что N не должна превышать 4095 (12 бит). Но это у вас и не получится, т.к. предельной величине N в моем случае соответствовала бы выходная частота 409.5 МГц, тогда как для CDCE913 гарантируется лишь до 230 МГц. Тем не менее, она у меня взяла планку 360 МГц (фирменная прога отказывалась вычислять коэффициенты для частот выше 230 МГц).
Короче говоря, CDCE913 оставила о себе самые приятные впечатления. Теперь о замеченных недостатках.
Первое - трудно задавать знаменатель M, т.к., в отличие от числителя, он разбит на три числа (P,Q,R), согласно весьма причудливым формулам. Но если разобраться, то двоичные логарифмы там вычислять в плавучке не надо, а надо лишь найти место старшего двоичного разряда усеченной до целого величины N/M. Если кому-то нужен алгоритм - пишите в личку, формулы я дам.
Второй подводный камень - вывод Y1 (ножка 11) находится рядом с клоком I2C-шины SCL (ножка 12). Из-за этого на частотах свыше 160 МГц (в среднем) связь по шине сперва сопровождается ошибками, а затем и вовсе CDCE913 перестает откликаться на свой адрес. Как-то заэкранировать эти две ножки друг от друга не представляется мне возможным - ведь расстояние между ними всего 0.5 мм (корпус TSSOP14):

Из этой ситуации я выкрутилась только тем, что отказалась использовать выход Y1 для вывода ВЧ - для этой цели следует использовать выходы Y2 или Y3. Последние находятся далеко от SCL в другой части микросхемы и отделены ножками земли с обеих сторон. А выход Y1 либо совсем отключить (выставив его делителю ноль), либо использовать его как я - поставила ему делитель 1:20, и использую эту частоту для контроля, считая ее таймером МК. В своем урезанном в 20 раз масштабе эта частота уже не представляет опасности для свой соседки SCL и входит в область частот, которые можно считать таймером (у меня МК на частоте 32 МГц, а потому считать может только до 16 МГц).
Похоже на то, что CDCE913 можно использовать и в качестве делителя (в том самом режиме с байпасом PLL). Причем ограничение входной частоты (8-32 МГц) справедливо лишь для кварца, а для внешнего источника ограничение 160 МГц (подозреваю, что даже больше, если не надо раскачивать PLL). Однако использовать CDCE913 в качестве делителя – всё равно, что заколачивать гвозди микроскопом, не зря же у нее внутри есть PLL.