Vladimir_T 0 Posted July 27, 2020 · Report post Здравствуйте, уважаемые коллеги, прошу вас помочь разобраться с синтезатором частот LMX2572. Для установки выходной частоты и общего управления синтезатором использую программу TICS Pro v1.7, тактирование от генератора ABLNO-V-100МГц. Задаю частоту 200 МГц, а получаю 202. Коэффициенты все целочисленные, захват Lock Detect =1. Почему может быть такая большая ошибка синтезатора? Откровенно говоря, я не переписываю все 126 регистров, как рекомендуют, после внутреннего сброса все регистры заполнены заводскими установками. И программируются лишь необходимые. Содержимое регистров контролируется через чтение их содержимого. Прилагается код программы инициализации для частоты 200 МГц. Set_PLL2572LP_ML (0,0x211A); // Power UP, Reset Delay (15); Set_PLL2572LP_ML (0,0x2118); // Power Down_Up, Calibrate Delay (15); Set_PLL2572LP_ML (0x09,0x0004); // Doubler = 0 Set_PLL2572LP_ML (0x0C,0x5001); // Pre_R =1 Delay (15); Set_PLL2572LP_ML (0x0A,0x10F8); // Multipler = 1 Set_PLL2572LP_ML (0x0B,0xB018); // R = 1 Set_PLL2572LP_ML (0x0E,0x1870); // Charge Pump = 6500 Set_PLL2572LP_ML (0x4B,0x0940); // Channel Div = 32 Set_PLL2572LP_ML (0x20,0x0305); // MASH Phase Synchro =3 Set_PLL2572LP_ML (0x25,0x0205); // PFD DLY SEL Set_PLL2572LP_ML (0x2C,0x0923); // OUT A PWR = 9 Set_PLL2572LP_ML (0x2D,0xC609); // OUT B PWR = 9 Set_PLL2572LP_ML (0x22,0x0010); // PLL_N 0..3xxxx Set_PLL2572LP_ML (0x24,0x0020); // PLL_N 0..FFFF - 32 Set_PLL2572LP_ML (0x2A,0x0000); // PLL_NUM / Set_PLL2572LP_ML (0x2B,0x0000); // PLL_NUM / Set_PLL2572LP_ML (0x26,0x0000); // PLL_DEN / Set_PLL2572LP_ML (0x27,0x0000); // PLL_DEN / // Set_PLL2572LP_ML (0,0x2118); // Power Down_Up, Calibrate, MUXout - MISO Set_PLL2572LP_ML (0,0x211C); // Power Down_Up, Calibrate, MUXout - Lock Detect Delay (15); Заранее благодарен. Quote Ответить с цитированием Share this post Link to post Share on other sites
MegaVolt 0 Posted July 27, 2020 · Report post На форуме TI думаю ответ будет найти проще и быстрее. Quote Ответить с цитированием Share this post Link to post Share on other sites
AFK 0 Posted July 27, 2020 (edited) · Report post Vladimir_T, похоже что неверно прописан регистр Channel Div = 32. Попробуйте (0x4B,09C0). И раз уж у Вас целочисленный режим, попробуйте установить MASH_ORDER = 0 (0x2C, 0900); PFD_DLY_SEL = 1 (0x25, 0x0105); и PLL_N = 64 (0x24,0040) LMX2572LP_Integer200MHz.txt Edited July 27, 2020 by AFK Добавлена карта регистров Quote Ответить с цитированием Share this post Link to post Share on other sites
Vladimir_T 0 Posted July 27, 2020 · Report post 4 hours ago, AFK said: похоже что неверно прописан регистр Channel Div = 32. Попробуйте (0x4B,09C0) Благодарю Вас, установил ваши значения и стало все нормально. А то, что я обновляю лишь часть регистров (только несколько основных) это допустимо? Quote Ответить с цитированием Share this post Link to post Share on other sites
AFK 0 Posted July 27, 2020 (edited) · Report post 1 час назад, Vladimir_T сказал: А то, что я обновляю лишь часть регистров (только несколько основных) это допустимо? В общем-то да. Не требуют перезаписи те регистры, в описании которых стоит комментарий "After programming R0 with RESET = 1, no need to program this register", а также те, у которых текущие значения соответствуют Вашим требованиям. Edited July 27, 2020 by AFK поправлено Quote Ответить с цитированием Share this post Link to post Share on other sites
Vladimir_T 0 Posted July 29, 2020 · Report post Благодарю за помощь. Добавил программу преобразования выходного файла TICS в файл для включения в С-код. Сделана на скорую руку, но может кому-то еще, кроме меня, будет полезной. Регистры можно обновлять из полученного массива, как по отдельности, так и блоком. Преобразователь_TICS.rar Quote Ответить с цитированием Share this post Link to post Share on other sites