Форум Радиолюбителей

Si5351

525776 просмотров, 472 ответов — стр. 1 из 32

Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 05:42#1
Цитата: veso74
Код на Arduino. Не для профессиональной работы, Вам не понравится - с Arduino будет странно смотреть на Вас недоверчивые коллеги (и клиенты вероятно?)


Да мне без разницы, кто там и как смотрит, я просто программированием серьёзно не занимался, поэтому не совсем понял.
Вот я как думаю (если не прав - поправьте, я ж тупой в этих делах) - Вы по i2c что-то заливаете в эту SI, и, вроде бы, получаете лучше, чем при том алгоритме, что использую я, точнее, мои программисты.
Вот и вопрос - а что, собственно, Вы в SI заливаете, если это можно дать, то я к своим ребятам обращусь, и они зальют то же самое нашими процами, а я спектр гляну...

Цитата: veso74
Вы так в все ли убеждены?


Да я просто понимаю, как в SI частоты формируются, и считаю, что при том способе формирования на двухметровом диапазоне палки по уровню -50 - более чем хорошо, могло бы быть и хуже, к примеру, сейчас SI заливаемая алгоритмом Сергея, уже выше 22 МГц начинает давать спуры, прекрасно заметные даже обычным спектроанализатором - они по бокам от основной частоты стоят, и туда-сюда гуляют, порой наползая прямо на основной тон - см. картинки, обзор на обеих 10 МГц.
Но мне всё подходит - во-первых, частоты выше 20 МГц не нужны, во-вторых, синтез весь мусор успешно съест...

Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 01:40#2
Вот здесь продолжение http://analogtrx.com/SMF/index.php?topic=36.msg7443#msg7443 , к сожалению, по-человечески тема не делится, и один пост Веселина слетел, давайте конкретно по SI 5351 именно здесь и продолжать...
veso74
Сообщений: 969
14 декабря 2019 г. в 01:52#3
Вероятно будет легче: купите/возьмите из коллегам Arduino, я предлагаю Nano. Возьмите пластиковую плату breadboard. Легко макетироваться на нем. С проводами, я впаял компьютерные "золотые" квадратные штырьки. Попробуйте управлять своя Si чрез библиотеки из интернетом. Работают хорошо. Отличаются, но не так сильно. Для одной частоты код имеет несколько строк. Вы не будете писать ничего, кроме Ваши числа. Не сложно. Попробуете другие ИС со временем (Si570 напр.). Все интересно. В противном случае Вы все еще "должны молиться" кому-то написать код за Ваши идеи, а так код есть достаточно для Arduino из интернета - вероятно самая распространенная платформа для управления простыми и не только простыми проектами. Просто как вариант.
Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 02:02#4
Да, подумаю. И с тем, что выложили завтра попробую разобраться...
zenit
Сообщений: 130
14 декабря 2019 г. в 02:16#5
Абсолютно не имеет значения за сколько времени и что посчитает байты нужные для записи в регистры в Si5351. Хоть матрица на диодах.
Две частоты рассчитанные которые мне натыкались на клаве
;out_CLK0_125000000  
;Clock_input_25MHz
;init
ard=183 data=192
ard=3 data=254 ;enable CLK0
ard=15 data=0
ard=16 data=79 ;8ma CLC0
ard=17 data=128 ;disable CLK1
ard=18 data=128 ;disable CLK2
;VCO=750000000 PLL_A
ard=26 data=255
ard=27 data=255
ard=28 data=0
ard=29 data=13
ard=30 data=0
ard=31 data=240
ard=32 data=0
ard=33 data=0
:KD=6
ard=42 data=0
ard=43 data=1
ard=44 data=0
ard=45 data=1
ard=46 data=0
ard=47 data=0
ard=48 data=0
ard=49 data=0
;-------------
;out_CLK0_41234567
;Clock_input_25MHz
;VCO=824691340 PLL_A
ard=26 data=255
ard=27 data=255
ard=28 data=0
ard=29 data=14
ard=30 data=126
ard=31 data=246
ard=32 data=182
ard=33 data=126
:KD=20
ard=42 data=0
ard=43 data=1
ard=44 data=0
ard=45 data=8
ard=46 data=0
ard=47 data=0
ard=48 data=0
ard=49 data=0

Либы ардунячие бродят разные. Я не внимал в них. Читал что не все могут выше 112 МГц прыгнуть. Для этого нужно в MS в 44 регистре второй и третий биты единицы записывать. Если дпкд 6 и более то ноли. Но чтоб после 50 МГц спуров не было это значит не сишка. В ней PLL с ни каким фильтром в петле ФАПЧ. Куда должны продукты широченной фапч деваться?

И ещё. Нужно при инициализации обращать внимание на 6 бит 16 регистра для CLK0. Туда должна единица записываться при инициализации для целочисленного дпкд. Если дробный дпкд то ноль.
veso74
Сообщений: 969
14 декабря 2019 г. в 02:21#6
Читал что не все могут выше 112 МГц прыгнуть.

Это наполовину правда. Не все могут выше 112 МHz прыгнуть (даже 112,5 MHz по pdf), но для два или три сигнала по CLK вместе, а некоторые из них работают и с три вместе нормално.
zenit
Сообщений: 130
14 декабря 2019 г. в 02:31#7
Да потому что в тех либах в которые 99% не вникают расчёт делителя ведут от 675 МГц для получения VCO что при делении на 6 даст 112,5МГц.
PLL гонится до 1100МГц что при кд=4 даёт на выходе 275МГц.
Но мало в расчёте использовать кд=4. Нужно ещё записать в 44 регистр ****11**для CLK0
Это справедливо для si5351 полученными от силаб. Других у меня не было.

veso74
Сообщений: 969
14 декабря 2019 г. в 02:36#8
Их коды открыты, дополнения часто делаются, ошибки исправляются. Нормально все.
---
Мои китайские чипы мало чем отличаются от Si из несколько авторитетных магазинов. Хотя бы по параметру Fvco max я пытался отделить их друг от друга. А можно китайский продавец продал нормальние Si и мне повезло :).
zenit
Сообщений: 130
14 декабря 2019 г. в 02:43#9
Нажаль я совсем не знаю язык си.
Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 02:45#10
У нас все SI легко запрограммировались как на 140...150, так и на 21 МГц ниже с двумя выходами.
С тремя, как я понял, это не выйдет. Прямо по той проге, что упоминалась.
И, кстати, что там за хрень функция Spread Spectrum?
По-английски я как по-китайски, а переводчик какой-то бред выдаёт...
Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 02:53#11
И вот здесь http://www.ra3apw.ru/proekty/si5351-spectrum/ картинки, очень похожие на мои...
veso74
Сообщений: 969
14 декабря 2019 г. в 03:04#12
ОК, только скажите как чип запрограммирован? Не мешает быть с Вашим коэффициентам из той же программы.
---
Дам приммер с другой чип/модуль: ADF4351. Етот же чип на все измерения, частота одинаковая, разница несколько програмных коеффициентов. Выберите, какой использовать. Разница огромна, с преимуществами и недостатками по всем параметрам. 3-4 числа только!

Это также происходит в Si5351. Выходные параметры находятся в руках пользователя/программиста иногда, если приняты значения "по умолчанию" или по самый простой способ - коэффициентов откуда-то, везде и всюду (транслейт).

Часто коефициентов доступни вне библиотеки и пользователь выбирает что быть, где характеристика будет. Например, Вы взяли наготове из программу некоторые из них, которые не соответствовали Вашим условиям, а ждете супер-параметры.

veso74
Сообщений: 969
14 декабря 2019 г. в 10:46#13
Вот выход CLK0 = 135,000000 с коэффициентами, рассчитанными с помощью программы, Fxtal = 25 MHz -1 ppm, 24,99975 MHz
"читатю" прямо register_map.h -> в регистри Si5351.

И это "благоприятный случай". При высоким коэффициентом (частота не в 000, а примерно 135.001254500), еще "лохматые" пики есть (транслейт).
---
Игорь, найдите отличия от предыдущего теста:
http://analogtrx.com/SMF/index.php?topic=36.msg7544#msg7544

Relayer
Сообщений: 1006
14 декабря 2019 г. в 11:40#14
Цитата: zenit
PLL гонится до 1100МГц что при кд=4 даёт на выходе 275МГц.

Во первых гонится не PLL а VCO. А во вторых - это нештатный режим. На моих сишках больше 1 гига не получалось.
Более того, китайцы иногда шлют какието кривые сишки с маркировкой AADR 116 (могут быть и другие маркировки). Так вот у них VCO выше 800МГц не работает. Никак. Ниже - все норм, выше - срывается генерация. Или отбраковка или какая-то спецпартия.
Поэтому правильные сишки в штатном режиме максимум 225МГц
Цитата: Игорь
Да я просто понимаю, как в SI частоты формируются

Ой ли? Тут одного понимания мало по сути сишка очень простая - внутри умножитель опоры до частоты VCO в диапазоне 600-900МГц и делитель на выход. Фишка в том что как умножитель там и делитель МОЖЕТ быть дробным. Ключевое слово тут - МОЖЕТ. Потому что может быть и целочисленным. Поэтому имеем четыре комбинации
[list]
[li]целое умножение и целое деление[/li]
[li]дробное умножение и целое деление[/li]
[li]целое умножение и дробное деление[/li]
[li]дробное умножение и дробное деление[/li]
[/list]
Отсортировал я их по мере увеличения фазового шума и увеличения точности частоты на выходе. Кроме этого при целочисленном делении можно выбирать четный коэффициент.
Первый вариант с целочисленным умножением и делением имеет самую низкую точность и неприменим для непрерывной перестройки т.к. приходится постоянно ресетить PLL. Второй вариант самый оптимальный для применения в синтезаторах с плавной перестройкой частоты которая осуществляется за счет изменения в небольших пределах коэффициента дробного умножения при неизменном целочисленном делителе.
veso74
Сообщений: 969
14 декабря 2019 г. в 11:41#15
Сигнал Si5351 с управление из QRP-Labs. Fclk0 = 135.000000, XTAL_FREQ = 24999750
Модуль Si, Arduino, приемник на RTL2832, ATT то же самое.

Si5351A Synthesizer demo code
https://qrp-labs.com/synth.html