Если хотите переключать диапазоны придётся ставить экспандер рса9555
Универсальный Цифровой Блок Управления (ЦБУ) всем трансивером
619582 просмотров, 517 ответов — стр. 12 из 35
5 декабря 2019 г. в 04:26#166
5 декабря 2019 г. в 04:56#167
Цитата: ra0ahcПроцессор
Куплен.

Цитата: ra0ahcА си5351 придётся вам что-то мутить самостоятельно.
Это есть, только что работа прошла. Смонтирована на мелкой плате с обвесом, только шины заливки торчат...

Цитата: ra0ahcЕнкодер любой хоть мех хоть оптика . У меня самый популярный за 800 р из Китая .
Если это нормальный, ссылку дайте прямую. Он без трещётки? Сколько импульсов на оборот? Механически выдержит частое кручение? Инерционность собственная, или маховик нужен?
Цитата: ra0ahcВыходы на гуны и триггер 3.3 в ... просто тык и работает без ничего.
А мне это пока не нужно. Только сишкой управлять для начала. Если выяснится, что при таком малом шаге, её спуры нигде не вылезут за заданные мною пределы, то будем дальше думать.
С кнопок дребезг сняли?
5 декабря 2019 г. в 04:57#168
Цитата: ra0ahcЕсли хотите переключать диапазоны придётся ставить экспандер рса9555
Пока ждём. Результаты проверки SI интересны в первую очередь.

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

Это кошмар русского языка.
Веселин, я ваши тексты читаю даже не напрягаюсь

Сейчас скину расчёт
5 декабря 2019 г. в 05:47#171
Цитата: Игорьдля начала. Если выяснится, что при таком малом
Сишка работает на частоте гунов и потом делится также как гуны с теми же коэфф деления. Причём в первом варианте синта я также делал и делил потом на 32 )))
5 декабря 2019 г. в 05:56#172
Цитата: ra0ahcСишка работает на частоте гунов и потом делится также как гуны с теми же коэфф деления.
Здесь поподробнее - где она делится? У меня на ЧФД должно идти от 10 до 20 МГц, нужны дополнительные делители?

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

Цитата: ra0ahcКстати про енкодер ..
Да, кстати.
Сылку дайте... 5 декабря 2019 г. в 06:46#176
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));
}
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));
}
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));
}
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));
}
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
сейчас они сайт (али )поменяли и не видно от куда отправка.
5 декабря 2019 г. в 07:06#180
Сергей, спасибо. Да, Hans Summers, 2015, в QRP labs.
Рабочий вариант, один выход. Хотя еще много можно сделать к ИС Si5351 (над 150 MHz, под 500 kHz, CLK_0, CLK_1, CLK_2 выхода отдельно/вместе, квадратурный выход и др.). SI_PLL_RESET, смотрю, закоментировано
. Именно так.
Рабочий вариант, один выход. Хотя еще много можно сделать к ИС Si5351 (над 150 MHz, под 500 kHz, CLK_0, CLK_1, CLK_2 выхода отдельно/вместе, квадратурный выход и др.). SI_PLL_RESET, смотрю, закоментировано
. Именно так.