Запрошуємо, Гість
Ім'я користувача: Пароль: Запам’ятати мене

ТЕМА: Синтезатор частоти на LMX2306 і MC3362

Синтезатор частоти на LMX2306 і MC3362 26 квіт. 2023 19:23 #1

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Доброго дня, шановне товариство!
Прошу про допомогу.
Вже майже півроку (з перервами) борюся з сабжевим синтезатором частоти. Не робить!
Днями спалив чергову мікросхему. Розумію, що без допомоги досвідченіших радіоаматорів не обійтися.
Отже, мета (на поточний момент) - отримати генерацію на стабільній частоті 133.3 МГц.
Керований напругою генератор (VCO) зібрано на МС3362 (далі - МС), частотою керує вбудований варикап - напруга управління
подається на ногу 23 МС. Нога 20 МС - буферизований вихід на 6 ногу LMX2306 (далі - ПЛЛ).
На 8 ногу ПЛЛ подається частота від зразкового генератора (OSC) 12МГц. Всередині ПЛЛ частоти VCO і OSC діляться
відповідними подільниками до 5000Гц і подаються на фазовий детектор.
Останній, в залежності від знаку й величини відхилення, видає струмовий сигнал на ногу 2 ПЛЛ, заряджаючи/розряджаючи
накопичквальну ємність, напруга на якій керує варикапом. Таке от коло регулювання.
ПЛЛ керується трьома регистрами - функціональним (для налаштування загальних параметрів) і двома подільниками
R і N для OSC і VCO відповідно. Вхідний регистр зсуву ПЛЛ заповнюються послідовно, встановлюючи дані на вхід
Data, строб на вхід Clk. По заповненню 21 біту строб LE записує дані в один з трьох регістрів, що вказані вище
(в залежності від двох молодших розрядів вхідного регистру зсуву).
Що маємо.. ПЛЛ "заводиться" й гонить вихід в плюс до максимуму 5В. Дивлюся частоту на компі через RTL-SDR "свисток"
в програмі SDRSharp. Тимчасово ставлю накопичувальну ємність С6 100мкФ, щоб спостерігати за процесом регулювання.
Бачу, як частота VCO біжить зниху вверх , пробігає відмітку 133.3 й побігла далі до 136 з копійками..
Тобто, регулятор не зупиняється на точці стабілізації.
Думав, може рівень на виході МС низький, зробив підсилювач на двох BF970 (ЗБ-ЗК) - не допомогло.
В інтернеті передививсь купу схем і коду. Наче, роблю все те саме - не робить і все..
Даташити прошерстив, майже напам"ять вивчив..
ПЛЛки купував як на алі (2 з 5 робочі) так і в двох перевірених магазинах.
Прикладаю тестовий код і схему на поточний момент.
Код:
//PLL LMX2306 initialization to VCOfreq = 133.3MHz, OSCfreq = 12.0MHz
#include <avr/io.h>

#define F_CPU 8000000
#include <util/delay.h>

#define clk_pulse {_delay_us(2); PORTC |= (1 << PORTC3); _delay_us(2); PORTC &= ~(1 << PORTC3);}
#define le_pulse {_delay_us(2); PORTC |= (1 << PORTC1); _delay_us(2); PORTC &= ~(1 << PORTC1);}

void Send_command(char Pre, long Value, char Cmod);
void Init_pll(void);

int main(void)
{	
    Init_pll();

    while (1) 
    {			
    }
}


void Send_command(char Pre, long Value, char Cmod)
{
	signed char i;
	
	//bit 21
	if(Pre) PORTC |= (1 << PORTC2);
	else PORTC &= ~(1 << PORTC2);
	clk_pulse;
	
	//bit 3 to 20 (value)
	for(i = 17; i>=0; i--)
	{
		if((Value >> i) & 1) PORTC |= (1 << PORTC2);
		else PORTC &= ~(1 << PORTC2);
		clk_pulse;
	}


	//bit 1-2 (mode)
	for(i = 1; i>=0; i--)
	{
		if((Cmod >> i) & 1) PORTC |= (1 << PORTC2);
		else PORTC &= ~(1 << PORTC2);
		clk_pulse;
	}

	le_pulse;
}

void Init_pll(void)
{
	DDRC |= (1 << PORTC1);//PORTC bit 1 as output (2306 LE)
	DDRC |= (1 << PORTC2);//PORTC bit 2 as output (2306 Data)
	DDRC |= (1 << PORTC3);//PORTC bit 3 as output (2306 Clock)
	
	PORTC &= ~(1 << PORTC1);// unset PORTC bit 1
	PORTC &= ~(1 << PORTC2);// unset PORTC bit 2
	PORTC &= ~(1 << PORTC3);// unset PORTC bit 3

Send_command(0, 2400, 0);//R reg 12000000/2400 = 5000Hz reference
Send_command(0, 36, 3);//function reg initialization 36 polarity+ 04 polarity-
Send_command(0, 106628, 1);//N reg (8*3332 + 4)*5000 = 133300000Hz
}
Схема:


Datasheet PLL

Datasheet MC
Останнє редагування: 26 квіт. 2023 19:45 від seawar.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 26 квіт. 2023 21:21 #2

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
Бачу, як частота VCO біжить зниху вверх , пробігає відмітку 133.3 й побігла далі до 136 з копійками..
Тобто, регулятор не зупиняється на точці стабілізації.
А Ви пробували іншу частоту? Відхилення від заданої має якусь закономірність? Це може бути помилка розрахунку? Чи помилка вимірювання частоти? Чи частота взагалі не встановлюється?
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 08:00 #3

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Soir пише:
А Ви пробували іншу частоту?
Ну, взагалі той код, що я привів, спрощений. Девайс має енкодер, що перелаштовує частоту в межах 2 МГц з кроком 5/10/50 кГц, LCD дісплей 16*2. При перелаштуванні міняється подільник N. ПЛЛ на спроби перелаштування не реагує. Вихід як став на 5 вольт, більше не міняється. Пробував ту ж частоту, але з іншими подільниками R=960, N відповідно, щоб референсна частота була 12.5 кГц - безрезультатно.
Soir пише:
Відхилення від заданої має якусь закономірність?
Ні, при увімкненні частота біжить від нижнього можливого значення до верхнього, тобто пробігає весь діапазон перелаштування VCO, ніяк наочно не чіпляючись за уставку.
Soir пише:
Це може бути помилка розрахунку? Чи помилка вимірювання частоти?
Може. Я для того й написав, щоб хтось глянув свіжим оком. Може, якась елементарна помилка, а в мене вже погляд замилений, як кажуть.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 08:28 #4

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
Скиньте hex-файл для МК, подивлюсь в симуляторі.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 08:36 #5

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Soir пише:
Скиньте hex-файл для МК, подивлюсь в симуляторі.
Прикріплено.
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 11:58 #6

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
Я поки що не вникав у роботу lmx2306, але що одразу впадає в очі - команди на неї подаються одразу при подачі живлення. Спробуйте встановити затримку, для тестів можна і побільшу, наприклад 1 секунду.

Ще для тестів можна сповільнити швидкість передачі даних.
Останнє редагування: 27 квіт. 2023 11:59 від Soir.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 12:45 #7

  • mibic77
  • mibic77 аватар
  • Оффлайн
  • habitue
  • Дописи: 193
  • Подякували: 35
  • sxem.org Sponsor 2019
seawar. Переконайтесь що частота від зразкового генератора (OSC) 12МГц,а не гармоніка,підставте ось такий генератор що нижче на схемі.Також на варікап може інвертувати сигнал спробуйте.
Тут є таблиця для варікапа.PLL я розумію так-частота контура по середині діапазону,на варікапі половина напруги,якщо контур дрейфував вверх по частоті-потрібно на варікапі знизити напругу і т.д.
...
Останнє редагування: 27 квіт. 2023 13:28 від mibic77.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 13:33 #8

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Soir пише:
..Спробуйте встановити затримку, для тестів можна і побільшу, наприклад 1 секунду.

Ще для тестів можна сповільнити швидкість передачі даних.
В повній програмі спочатку йде ініціалізація дисплея, видача привітання, потім вже робота з ПЛЛ. Так що затримка є. Я виклав скорочений код, щоб легше було вникнути в суть. На всяк випадок у вкладенні повна версія.
12Мгц сигнал задовільний, зважаючи, що вхід 8 - КМОП з порогом в половину живлення:


Затримки при передачі даних пробував робити по 1 мс, не допомогло.
Долучення:
Останнє редагування: 27 квіт. 2023 13:35 від seawar. Причина: 1
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 13:41 #9

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
mibic77 пише:
..я розумію так-частота контура по середині діапазону,на варікапі половина напруги,якщо контур дрейфував вверх по частоті-потрібно на варікапі знизити напругу і т.д.
Я налаштовував контур так - подавав на варикап половину напруги і встановлював частоту трохи нижче 133,3. При цьому максимум частоти при повній напрузі виходив трохи більше 136. Інверсію пробував - тоді вихід валиться не в "+", а в "-".

PS: Я оце думаю, може причина в макеті. Все ж таки частота УКХ. Мабуть, треба робити плату.. :S


PPS: Ще деякі сумніви викликають 3362, замовлені на алі. Хоча, щось же генерує, я бачу сигнал через RTL-SDR. Нажаль осцилографа, щоб глянути 133 МГц не маю.. Робив такий підсилювач, не допоміг:

Останнє редагування: 27 квіт. 2023 14:17 від seawar.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 15:12 #10

  • studiotandem
  • studiotandem аватар
  • Оффлайн
  • I live here
  • Дописи: 587
  • Подякували: 214
  • sxem.org 2019,2021 Author
seawar пише:
Я оце думаю, може причина в макеті. Все ж таки частота УКХ. Мабуть, треба робити плату.. :S
Мабуть таки доведеться. Макетка для таких частот не годиться від слова зовсім.
Слава Україні !!! Смерть ворогам !!!
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: seawar

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 16:05 #11

  • mibic77
  • mibic77 аватар
  • Оффлайн
  • habitue
  • Дописи: 193
  • Подякували: 35
  • sxem.org Sponsor 2019
Ще деякі сумніви викликають 3362, замовлені на алі.
Тоді спробуйте VCO на транзисторі.На макетці тільки залиште курування.Я використовую для тимчасового макету вч свій метод-"кубло :silly: " на фользі (яка є спільною землею) текстолиту з мінімум виводів деталей".На тому ж сайті є схема

. PS Потрібно мені вже повторно прочитати правила форуму,а то забув за багато років,як правильно цитувати.
...
Останнє редагування: 10 трав. 2023 06:54 від Vakula.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: seawar

Синтезатор частоти на LMX2306 і MC3362 27 квіт. 2023 21:29 #12

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
seawar, я не бачу команди C1=0; C2=1; (1.3 FUNCTION AND INITIALIZATION LATCHES), сторінка 9 даташит.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 28 квіт. 2023 08:25 #13

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Soir пише:
seawar, я не бачу команди C1=0; C2=1; (1.3 FUNCTION AND INITIALIZATION LATCHES), сторінка 9 даташит.
Використовується метод ініціалізації C1=1, C2=1 з п. 1.7.2 на стор. 15. Це те саме, що й C1=0, C2=1, тільки формується ще імпульс загального скидання.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 28 квіт. 2023 10:17 #14

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
Можливі якісь нюанси. В прикладах, які мені попались на очі, C1=1, C2=1; не використовувались.
тільки формується ще імпульс загального скидання
Тоді може мати значення послідовність команд. Вона у Вас друга, може скинути першу.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 28 квіт. 2023 11:24 #15

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Loading the function latch with [C1, C2] = [1, 1] immediately
followed by an R counter load, then an N counter load
,
efficiently programs the MICROWIRE. Loading the function
latch with [C1, C2] = [1, 1] programs the same function latch
as a load with [C1, C2] = [0, 1] and additionally provides an
internal reset pulse described below.
Ну, наскільки я розуміюся на англійській (насправді - не дуже), то оце виділене означає таку послідовність:
1. R.
2. F з [C1, C2] = [1, 1]
3. N.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 28 квіт. 2023 11:32 #16

  • Soir
  • Soir аватар
  • Оффлайн
  • Moderator
  • Дописи: 13635
  • Подякували: 5171
  • sxem.org 2019,2021 Respect Author
Ні, виділений фрагмент ось так:
1. F з [C1, C2] = [1, 1]
2. R.
3. N.

У будь-якому разі, нескладно і недовго поекспериментувати.
Останнє редагування: 28 квіт. 2023 11:32 від Soir.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: Oto, seawar

Синтезатор частоти на LMX2306 і MC3362 28 квіт. 2023 11:34 #17

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Хм.. Треба спробувати. Дякую.

PS: Нажаль, не допомогло.. :S
Хороша новина - куплена нова мікросхема, схоже - робоча. Міряю напруги постоянки на входах 5,6 повинно бути десь 1.6 вольт, на вході 8 - половина живлення. Горять, зазвичай, ці входи. Ну й на виході струм є.
Зняв відео.
https://youtu.be/KFABPrxvHM4
Останнє редагування: 28 квіт. 2023 13:06 від seawar.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 29 квіт. 2023 13:26 #18

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Перелаштував на 40Мгц - працює.. Треба робити акуратну плату.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 09 трав. 2023 20:21 #19

  • Ur5got
  • Ur5got аватар
  • Оффлайн
  • I'm here long time
  • Дописи: 90
  • Подякували: 12
  • sxem.org Sponsor 2020,2023
На форумі "паяльника" один чоловік писав, що опір (у вашій схемі це R8) має бути близько 10к. Інакше працює погано,або зовсім не працює.
Увійдіть до облікового запису, щоб писати повідомлення.
Користувачі які сказали Дякую: seawar

Синтезатор частоти на LMX2306 і MC3362 09 трав. 2023 21:24 #20

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Дякую, врахую.
Увійдіть до облікового запису, щоб писати повідомлення.

Синтезатор частоти на LMX2306 і MC3362 18 трав. 2023 17:39 #21

  • seawar
  • seawar аватар
  • Оффлайн
  • Користувач
  • Дописи: 17
  • Подякували: 2
Зробив плату. Синтезатор працює. B)
Увійдіть до облікового запису, щоб писати повідомлення.
Модератори: wolf2000, Vakula, Айнцвайдрайченко, Soir