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

Универсальный Цифровой Блок Управления (ЦБУ) всем трансивером

619582 просмотров, 517 ответов — стр. 29 из 35

Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 12:57#421
Цитата: veso74
Даже вживую никогда не смотрел.


Тогда первый вариант - мне крайне интересно...
Владимир_К
Сообщений: 1245
14 декабря 2019 г. в 01:00#422
Цитата: Игорь
Вы можете до точки вывода данных в SI5351 дописать вывод значений регистров SI на LCD?
Это-то сделать достаточно просто...

Блин... На ходу подметки рвет 1yep. Только успел подумать, а уже написали.. Или тайный программист..
Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 01:01#423
Цитата: Владимир_К
Только успел подумать, а уже написали..


veso74
Сообщений: 969
14 декабря 2019 г. в 01:02#424
#define FXTAL 24999975
---
Initialisation, PLLA, PLLB = 900 MHz
----------------------
a = 36
b = 4
c = 111111
a = 36
b = 4
c = 111111
----------------------
Fin = 135000000
CLK = 0
outputs = 1
a = 32
b = 14816
c = 37037
d = 6
r = 1
CLK0 -> calculate PLLA = 810000000
... make reset PLL 0
Si5351 CLK2 is now 135000000 Hz

CLK0 -> PLLA, integer mode
CLK1 -> PLLB, integer mode
CLK3 -> PLLB, integer или fractional mode плюс еще 3 коефициентов
---
Игорь, Вам это помогло?

Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 01:04#425
Цитата: veso74
Вам это помогло?

А к номерам регистров SI5351 не поможете эти цифры привести?

Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 01:07#426
Цитата: Владимир_К
Или тайный программист..


У меня много скрытых талантов, о которых я и сам не подозреваю...
veso74
Сообщений: 969
14 декабря 2019 г. в 01:11#427
Нет, ето еще числа :). Мы всегда говорим на разных языках.

До регистров есть еще:

// fvco = fxtal * (a + (b / c))
// MSN_P1 = 128 * a + floor(128 * (b / c)) - 512
// MSN_P2 = 128 * b - c * floor(128 * (b / c))
// MSN_P3 = c

// fout = fvco / (d + (e / f))
// MS_P1 = 128 * d + floor(128 * (e / f)) - 512
// MS_P2 = 128 * d - e * floor(128 * (d / e))
// MS_P3 = f

// if (e = 0) and (f = 1) then
// fout = fvco / d
// MS_P1 = 128 * d - 512
// MS_P2 = 0
// MS_P3 = 1

А сами регистры прописани в AN619 - Manually Generating an Si5351 Register Map.
veso74
Сообщений: 969
14 декабря 2019 г. в 01:15#428
Я надеюсь, что это поможет Вам. Вытащил данные из pdf при написании lib для себя. Возможны ошибки.

// MSN_reg[0] = reg_26, reg_34 -> MSN_P3[15:8]
// MSN_reg[1] = reg_27, reg_35 -> MSN_P3[7:0]
// MSN_reg[2] = reg_28, reg_36 -> MSN_P1[17:16]
// MSN_reg[3] = reg_29, reg_37 -> MSN_P1[15:8]
// MSN_reg[4] = reg_30, reg_38 -> MSN_P1[7:0]
// MSN_reg[5] = reg_31, reg_39 -> MSN_P3[19:16]MSN_P2[19:16]
// MSN_reg[6] = reg_32, reg_40 -> MSN_P2[15:8]
// MSN_reg[7] = reg_33, reg_41 -> MSN_P2[7:0]

// MS_reg[0] = reg_42, reg_50, reg_58 -> MS_P3[15:8]
// MS_reg[1] = reg_43, reg_51, reg_59 -> MS_P3[7:0]
// MS_reg[2] = reg_44, reg_52, reg_60 -> R_DIV[2:0]MS_DIVBY4[1:0]MS_P1[17:16]
// MS_reg[3] = reg_45, reg_53, reg_61 -> MS_P1[15:8]
// MS_reg[4] = reg_46, reg_54, reg_62 -> MS_P1[7:0]
// MS_reg[5] = reg_47, reg_55, reg_63 -> MS_P3[19:16]MS0_P2[19:16]
// MS_reg[6] = reg_48, reg_56, reg_64 -> MS_P2[15:8]
// MS_reg[7] = reg_49, reg_57, reg_65 -> MS_P2[7:0]

Для данные к Si еще должнo быть разделены и сдвинуты от 16-bit масив к 8-bit данные (транслейт).
---
(Можете разделить тему о Si5351, напр. чтобы помочь другим. Иначе все OFFTOP).
Игорь 2
Сообщений: 21288
14 декабря 2019 г. в 01:42#429
Цитата: veso74
Можете разделить тему о Si5351, напр. чтобы помочь другим. Иначе все OFFTOP)


Да, я именно так и попытался сделать, но не очень удачно.
Давайте всё про эту SI вот здесь http://analogtrx.com/SMF/index.php?topic=273.msg7572#msg7572 завтра и продолжим...
ra0ahcra0ahc
Сообщений: 4868
15 декабря 2019 г. в 05:21#430
от 110кгц

Игорь 2
Сообщений: 21288
15 декабря 2019 г. в 05:43#431
Цитата: ra0ahc
от 110кгц



Работает. Это я просил Сергея сделать синтез таких низких частот, чтобы проверить, как SI будет работать в качестве второго и третьего гетеродина в монстре с двумя ПЧ...
ra0ahcra0ahc
Сообщений: 4868
25 декабря 2019 г. в 11:53#432
Нарисовал схему морды (набросок)
LED
Клавиши
Энкодеры с кнопками.

Игорь 2
Сообщений: 21288
25 декабря 2019 г. в 02:23#433
Сергей, а применительно к традиционному монстру/полумонстру можно некоторые коррекции внести в программу?
Вот у меня сейчас и во втором гетеродине SI стоит, и в третьем.
У Вас на той программе, что Вы мне скинули, в настройках есть две ПЧ - первая и вторая.
В идеале было бы интересно, у первой ПЧ предусмотреть две позиции - для верхней и нижней боковой, и переключать их по какому-то контакту на плате проца.
Реально у меня будут примерно 9000 кГц, и 9003.4 кГц - деление на два применять не буду.
Тогда частота приёма будет вычисляться по формуле fпр=fsi-fпч1, или, 2*fsi-fпч1.
А третья ПЧ всегда 200 кГц будет, её тоже на два делить не будем.
Понятно, что придётся пару выходов под дешифратор отдать, который I2C будет по трём сишкам заливать - одна тактирует проц, другая - во втором гетеродине, третья - в третьем.
Если получится, то вообще всё круто будет, и Ваш блок управления, вполне подойдёт и для моих применений...

ra0ahcra0ahc
Сообщений: 4868
25 декабря 2019 г. в 06:52#434
Как на счёт экспандера? РСА9555
Делать клавиатуру на ножках и прерываниях .... утопия. Надо нормально делать сразу - один экспандер на Клаву другой на Управление. У вас же и фнч и дпф и диапазоны переключать надо и птт и режимы ару и звука. Ну и шифт напрашивается и телеграф как следствие сужения полосы. И ещё Управление сишками. Я просто не наберу столько ножек свободных.
Подождём маленько ? Или горит ?
Игорь 2
Сообщений: 21288
25 декабря 2019 г. в 07:41#435
Не горит совсем - очередные платы только в середине января будут готовы.
Просто во-первых, я не хотел Вас грузить, а во-вторых, я сторонник традиционных переключателей без менюшек, поручив Вашему блоку чисто управлять всеми частотами...