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

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

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

ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 04:26#166
Если хотите переключать диапазоны придётся ставить экспандер рса9555
Игорь 2
Сообщений: 21288
5 декабря 2019 г. в 04:56#167
Цитата: ra0ahc
Процессор


Куплен.

Цитата: ra0ahc
А си5351 придётся вам что-то мутить самостоятельно.


Это есть, только что работа прошла. Смонтирована на мелкой плате с обвесом, только шины заливки торчат...

Цитата: ra0ahc
Енкодер любой хоть мех хоть оптика . У меня самый популярный за 800 р из Китая .


Если это нормальный, ссылку дайте прямую. Он без трещётки? Сколько импульсов на оборот? Механически выдержит частое кручение? Инерционность собственная, или маховик нужен?

Цитата: ra0ahc
Выходы на гуны и триггер 3.3 в ... просто тык и работает без ничего.


А мне это пока не нужно. Только сишкой управлять для начала. Если выяснится, что при таком малом шаге, её спуры нигде не вылезут за заданные мною пределы, то будем дальше думать.

С кнопок дребезг сняли?
Игорь 2
Сообщений: 21288
5 декабря 2019 г. в 04:57#168
Цитата: ra0ahc
Если хотите переключать диапазоны придётся ставить экспандер рса9555


Пока ждём. Результаты проверки SI интересны в первую очередь.
veso74
Сообщений: 969
5 декабря 2019 г. в 05:25#169
RA0AHC, Сергей, мне интересно как рассчитываете данни к Si5351 - с внешная библиотека, переработаной такой библиотекой, по собственному алгоритму или др.?

ОФФТОП: (Пфу, русские падежи не понимаю совсем. Надеюсь, что Вы понимаете мой вопрос ).
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 05:44#170
Я русские падежи тоже не понимаю как и все нормальные русские
Это кошмар русского языка.

Веселин, я ваши тексты читаю даже не напрягаюсь
Сейчас скину расчёт
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 05:47#171
Цитата: Игорь
для начала. Если выяснится, что при таком малом

Сишка работает на частоте гунов и потом делится также как гуны с теми же коэфф деления. Причём в первом варианте синта я также делал и делил потом на 32 )))
Игорь 2
Сообщений: 21288
5 декабря 2019 г. в 05:56#172
Цитата: ra0ahc
Сишка работает на частоте гунов и потом делится также как гуны с теми же коэфф деления.


Здесь поподробнее - где она делится? У меня на ЧФД должно идти от 10 до 20 МГц, нужны дополнительные делители?
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 05:58#173
Забыл сказать я забыл отключить опцию ару она работает в режиме реального времени , но при этом не мешает менять частоту мгновенно при очень серьёзных оборотах енкодера .
Кстати про енкодер ... у китайцев есть склады в России и они такие енкодер вам за пару дней поставят. Механику на главный енкодер конечно нет смысла ставить.
А ещё rd16 500 рублей стали стоить блин ... купил на ум 70 ватт.
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 05:59#174
Вам вообще ничего не нужно. Там вся математика уже сделана там вн делители стоят. Выход 10-20
Игорь 2
Сообщений: 21288
5 декабря 2019 г. в 06:04#175
Цитата: ra0ahc
Выход 10-20


Здорово. В самое ближайшее время проверим.

Цитата: ra0ahc
Кстати про енкодер ..


Да, кстати. Сылку дайте...
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 06:46#176
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 06:47#177
void setupMultisynth(char synth, unsigned long divider, char rDiv) {
unsigned long P1; // Synth config register P1
unsigned long P2; // Synth config register P2
unsigned long P3; // Synth config register P3

P1 = 128 * divider - 512;
P2 = 0; // P2 = 0, P3 = 1 forces an integer value for the divider
P3 = 1;

i2cSendRegister(synth + 0, (P3 & 0x0000FF00) >> ;
i2cSendRegister(synth + 1, (P3 & 0x000000FF));
i2cSendRegister(synth + 2, ((P1 & 0x00030000) >> 16) | rDiv);
i2cSendRegister(synth + 3, (P1 & 0x0000FF00) >> ;
i2cSendRegister(synth + 4, (P1 & 0x000000FF));
i2cSendRegister(synth + 5, ((P3 & 0x000F0000) >> 12) | ((P2 & 0x000F0000) >> 16));
i2cSendRegister(synth + 6, (P2 & 0x0000FF00) >> ;
i2cSendRegister(synth + 7, (P2 & 0x000000FF));
}
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 06:47#178
//I2C
void i2cSendRegister(char reg, char data_) {
char bufer[2] = {reg, data_};
while (HAL_I2C_Master_Transmit(&hi2c3, I2C_WRITE, (uint8_t *) &bufer, (uint16_t) 2, (uint32_t) 500) != HAL_OK) {

};

}

// Set up specified PLL with mult, num and denom
// mult is 15..90
// num is 0..1,048,575 (0xFFFFF)
// denom is 0..1,048,575 (0xFFFFF)
//
void setupPLL(char pll, char mult, unsigned long num, unsigned long denom) {
unsigned long P1; // PLL config register P1
unsigned long P2; // PLL config register P2
unsigned long P3; // PLL config register P3

P1 = (unsigned long) (128 * ((float) num / (float) denom));
P1 = (unsigned long) (128 * (unsigned long) (mult) + P1 - 512);
P2 = (unsigned long) (128 * ((float) num / (float) denom));
P2 = (unsigned long) (128 * num - denom * P2);
P3 = denom;

i2cSendRegister(pll + 0, (P3 & 0x0000FF00) >> ;
i2cSendRegister(pll + 1, (P3 & 0x000000FF));
i2cSendRegister(pll + 2, (P1 & 0x00030000) >> 16);
i2cSendRegister(pll + 3, (P1 & 0x0000FF00) >> ;
i2cSendRegister(pll + 4, (P1 & 0x000000FF));
i2cSendRegister(pll + 5, ((P3 & 0x000F0000) >> 12) | ((P2 & 0x000F0000) >> 16));
i2cSendRegister(pll + 6, (P2 & 0x0000FF00) >> ;
i2cSendRegister(pll + 7, (P2 & 0x000000FF));
}
ra0ahcra0ahc
Сообщений: 4868
5 декабря 2019 г. в 07:00#179
Да, кстати. Сылку дайте...

например вот...

https://ru.aliexpress.com/item/32877702646.html?spm=a2g0o.productlist.0.0.5c031023SkWyj4&algo_pvid=4fc58c4c-48f1-480d-ab47-784f2d9d4466&algo_expid=4fc58c4c-48f1-480d-ab47-784f2d9d4466-0&btsid=c5ead352-6166-45dd-8b71-9b7d9d7337c6&ws_ab_test=searchweb0_0,searchweb201602_9,searchweb201603_53

сейчас они сайт (али )поменяли и не видно от куда отправка.
veso74
Сообщений: 969
5 декабря 2019 г. в 07:06#180
Сергей, спасибо. Да, Hans Summers, 2015, в QRP labs.
Рабочий вариант, один выход. Хотя еще много можно сделать к ИС Si5351 (над 150 MHz, под 500 kHz, CLK_0, CLK_1, CLK_2 выхода отдельно/вместе, квадратурный выход и др.). SI_PLL_RESET, смотрю, закоментировано . Именно так.