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

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

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

Владимир_К
Сообщений: 1245
13 декабря 2019 г. в 08:52#391
Цитата: ra0ahc
Проще шагом.

Не проще, мало того, крайне не удобно.
Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 08:53#392
Цитата: veso74
идеи старые как мир


А дьявол в деталях - много идей, старых, как мир, но вот реализовать их так, чтобы не было мучительно стыдно за бесцельно потраченное время, удаётся далеко не всем...
Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 08:55#393
Цитата: Владимир_К
а читать не царское дело


veso74
Сообщений: 969
13 декабря 2019 г. в 09:02#394
Цитата: Игорь
... но вот реализовать их так, чтобы не было мучительно стыдно за бесцельно потраченное время, удаётся далеко не всем

Возмите ADF4351, от 35 до 4400 MHz, и работает, и все в квадратик пластиковой 7 х 7 мм. Я не скажу, что по цене почти подарок.
"Потраченное время", вероятно так ... :/
---
Я пошел измерять размеры с линейка: 5 х 5 мм :).
Владимир_К
Сообщений: 1245
13 декабря 2019 г. в 09:12#395
Немного хочу добавить в сказанное.. Суть в чем, например надо перестраивать с шагом 1 герц. Нет проблем - медленно крутим и получаем 1 гц. Теперь возьмем случай, когда крутим быстро.. И что теперь, фиксировать каждый шаг, менять частоту на дисплее, загонять частоту в SI. Не нужно это, да и никакого проца, даже с тактовой частотой 1ГГЦ тут не хватит. Да и не нужно это делать, от слова совсем. 5 мсек, а то и двадцать - вот время, в течение которого надо проверять, что там сделал оператор и среагировать на его действия. Но, импульсы валкодера надо фиксировать все и писать в буфер. Затем, через 5 мсек, вывалить все, что накрутили, да еще и в степени. Этот алгоритм неоднократно повторен и всем кто пользуется, вполне нравится.
veso74
Сообщений: 969
13 декабря 2019 г. в 09:22#396
Цитата: Владимир_К
Этот алгоритм неоднократно повторен и всем кто пользуется, вполне нравится.

Точно! Пропуски нет и на опт. 1200p. с Atmega328. Пришлось разделить его шаги на 4 только для удобства.

Обновляеш шаги кодера, а дисплей и чип синтеза - через некоторое время (ms), с накопленными данными в переменная для енкодера.
Но я привык к механическому энкодеру и +/- 1 kHz, все станциями из ефира "по ххх.000. Только по контесты необходимо другое. Иначе на каждый поворот енкодера -> есть станция "по нулям", а и быстро "сканирую" диапазон.
Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 09:23#397
Цитата: veso74
Возмите ADF4351, от 35 до 4400 MHz, и работает, и все в квадратик пластиковой 7 х 7 мм. Я не скажу, что по цене почти подарок.


А что со спурами? У меня-то всё под -120 дБ, как минимум. Причём, при любых частотах...
А что с фазовыми шумами?
veso74
Сообщений: 969
13 декабря 2019 г. в 10:33#398
В моем выходе на Si5351 таких пиков нет. SDR RTL2832U.

Si5351A, оригинал Silicon Labs, только CLK0 = 27 130 000 Hz, smd кварц TSX-3225, Fxtal = 24 999 970 Hz, 10 ppm, у Si регистры 8 pF, 2 mA, на выходе нет фильтра, АТТ -20 dB / 50 Om к RTL есть. С RTL2832 я не вижу большой частотной полосе. Специально поставил сигнал вправо, чтобы увидеть большая ширина полосы. То, что видите, это все. "Гром и молнии" не вижу в сигнале, как -50 dB на Ваш скриншот с Rigol.

zenit
Сообщений: 130
13 декабря 2019 г. в 10:49#399
Цитата: Владимир_К
что теперь, фиксировать каждый шаг, менять частоту на дисплее, загонять частоту в SI.

Все хотят от синтезатора иметь плавную настройку как с ГПД. В вашем алгоритме вывод на дисплей лишний. Точнее надо приоритетом делать вывод в синтезатор а обновлять дисплей в свободное время.
Цитата: Владимир_К
Не нужно это, да и никакого проца, даже с тактовой частотой 1ГГЦ тут не хватит.
Нужно и с лихвой хватает АТмеги чтоб выводить все шаги с Si5351. На ассемблере расчёт+ вывод в Si занимает менее 1 миллисекунды. Валкод опрашивается не таймером а висит на прерывании. При возникновении прерывания обновляется частота в нужную сторону и приоритетом засылается в Si5351 + поднимается флаг обновления частоты на дисплее. Допустим в процессе вывода в Si5351 было прерывание и обновилась частота то снова вывести её в Si5351. В итоге будет плавная перестройка. Увеличенные шаги при перестройке синтезатора отчётливо слышно чем видно некую заторможенность обновления дисплея.
veso74
Сообщений: 969
13 декабря 2019 г. в 10:56#400
Цитата: zenit
Нужно и с лихвой хватает АТмеги чтоб выводить все шаги с Si5351. На ассемблере расчёт+ вывод в Si занимает менее 1 миллисекунды.

Потверждаю. Arduino UNO, все целочисленое, есть 64 bit вычисления где-то, тяжелого вычисления на C, данные из мои архивов кода (БГ):

// резултати: при 3 изхода, integer:
// 12 версия - I2C на 100 000 kHz -> 3300 us
// 12 версия - I2C на 400 000 kHz -> 1508 us
// 17 версия - I2C на 100 000 kHz -> 3400 us
// 19 версия - I2C на 100 000 kHz -> 3500 us
Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 11:05#401
Цитата: veso74
В моем выходе на Si5351 таких пиков нет.


Я рад за Вас. Сверху так же чисто? А, если немного влево-вправо походить?
Но для меня это не особо актуально - т. к. такт у меня только от 10 до 20 МГц, и в его пределах за -60 дБ ничего не вылезает, чего с огромным запасом хватает моему синтезу - там по-моему, и -35 в -130 дБ превращается, если в зону +-20 кГц от основной частоты не попадает.
А вот на двухметровом диапазоне мне было бы интересно подобную картинку увидеть, и, конечно же, ни только на одной частоте, а, хотя бы, с шагом 10 кГц.
veso74
Сообщений: 969
13 декабря 2019 г. в 11:24#402
... А вот на двухметровом диапазоне мне было бы интересно подобную картинку увидеть ...
ОК, 135 000 000 Hz на CLK0, ничего не изменилось.
"Поворотная точка" расчетов в алгоритме находится на 150 MHz (и ок. 112,5 MHz при 3 выхода). Если есть разница, она будет выше 150 MHz (до 225 MHz успел, a сам мой чип без ограничения: до 277 MHz примерно (Fvco немного более 1,1 GHz, много за пределы нормальных значени по pdf 900 MHz), но это, думаю, никому не нужно).

Игорь 2
Сообщений: 21288
13 декабря 2019 г. в 11:53#403
Цитата: veso74
ОК, 135 000 000 Hz на CLK0, ничего не изменилось.


Дайте-ка мне всё-таки заливку в SI, соответствующую последнему графику. Я хочу то же самое залить, и посмотреть...
veso74
Сообщений: 969
13 декабря 2019 г. в 11:54#404
Заливки у меня нет, особено для STM DISCOVERY.
Код для конкретный микроконтроллер, с конкретняя тактовая частота, на конкретный порт контроллеря.
Владимир_К
Сообщений: 1245
14 декабря 2019 г. в 12:04#405
Цитата: zenit
На ассемблере расчёт+ вывод в Si занимает менее 1 миллисекунды.

Наверное соглашусь с Вами.. Но я меньше чем 3,5 мсек не смог добиться расчета и вывода одного значения. А возвращаться к ассемблеру желания не было. Если бросить все и задаться целью все сделать на ассемблере, возможно и решил бы задачу. Но такой цели нет, как нет и времени.