Jump to content

    
Sign in to follow this  
Vladimir_T

Вопрос по синтезатору LMX2572LP

Recommended Posts

Здравствуйте, уважаемые коллеги, прошу вас помочь разобраться с синтезатором частот 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);

Заранее благодарен. 

Share this post


Link to post
Share on other sites

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 by AFK
Добавлена карта регистров

Share this post


Link to post
Share on other sites
4 hours ago, AFK said:

похоже что неверно прописан регистр Channel Div = 32. Попробуйте (0x4B,09C0)

Благодарю Вас, установил ваши значения и стало все нормально. 

А то, что я обновляю лишь часть регистров (только несколько основных) это допустимо?

Share this post


Link to post
Share on other sites
1 час назад, Vladimir_T сказал:

А то, что я обновляю лишь часть регистров (только несколько основных) это допустимо?

В общем-то да. Не требуют перезаписи те регистры, в описании которых стоит комментарий "After programming R0 with RESET = 1, no need to program this register", а также те,  у которых текущие значения соответствуют Вашим требованиям. 

Edited by AFK
поправлено

Share this post


Link to post
Share on other sites

Благодарю за помощь. Добавил программу преобразования выходного файла TICS в файл для включения в С-код. Сделана на скорую руку, но может кому-то еще,  кроме меня, будет полезной. Регистры можно обновлять из полученного массива, как по отдельности, так и блоком. 

Преобразователь_TICS.rar

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this