Автор Тема: Программирование Si5351  (Прочитано 12950 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн ra9flw

  • Постоялец
  • ***
  • Сообщений: 59
  • Репутация: +4/-0
  • Подпись находится в стадии разработки
Программирование Si5351
« : 01 Февраль 2020, 17:15:52 »
Кто может помочь написать файл данных для передачи в регистры  Si5351 для  трех частот по трем выходам?
Опорная 13 или 14,4 МГц.  Выходные частоты 28,8 25 16 МГц. Пример файла во вложении. Он только для одной частоты.

Оффлайн er1ak

  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +62/-1
Re: Программирование Si5351
« Ответ #1 : 03 Февраль 2020, 09:53:10 »
Тоже интересует посмотрите http://www.cqham.ru/forum/showthread.php?39653-SI5351-%E3%E5%ED%E5%F0%E0%F2%EE%F0-%ED%E0-%F4%E8%EA%F1%E8%F0%EE%E2%E0%ED%ED%F3%FE-%F7%E0%F1%F2%EE%F2%F3   .

Оффлайн ra9flw

  • Постоялец
  • ***
  • Сообщений: 59
  • Репутация: +4/-0
  • Подпись находится в стадии разработки
Re: Программирование Si5351
« Ответ #2 : 03 Февраль 2020, 16:00:10 »
Сказали Si5351 ClockBuilder Desktop 6.5 мне в помощь. Вот сижу разбираюсь.
Попутный вопрос. Сишка с другими кварцами отличными от 25/27 будет работать?
Что будет если на один из входов подключения кварца  подать с генератора 24 МГц?
Ноги растут из этого проекта __http://ve2zaz.net/Si5351_Synth/Si5351_Synth.htm__
Задача получить три частоты 28,8 25 и 16 МГц.
Опорная для Si5351 либо 14,4 либо 13 (потому что такие генераторы есть от сотовых), либо 24 прямо с модуля NEO-8M.

« Последнее редактирование: 03 Февраль 2020, 16:05:56 от ra9flw »

Оффлайн er1ak

  • Старожил
  • ****
  • Сообщений: 259
  • Репутация: +62/-1
Re: Программирование Si5351
« Ответ #3 : 03 Февраль 2020, 16:50:16 »
Не все сишки заводятся мне приходилось с али запускать на 27МГц, также покупал готовый модуль там стоял кварц на 26МГц и работал.  Опора от сотового мне кажется может и не потянуть стабильность, допустим в FM передатчиках используют 10МГц с термостабилизацией. Проэкт интересный.

Оффлайн ra9flw

  • Постоялец
  • ***
  • Сообщений: 59
  • Репутация: +4/-0
  • Подпись находится в стадии разработки
Re: Программирование Si5351
« Ответ #4 : 05 Февраль 2020, 08:34:44 »
Ну на самом деле планирую опорную  24 МГц с NEO-8M подать.

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1439
  • Репутация: +266/-69
  • QRA: LO07NG
Re: Программирование Si5351
« Ответ #5 : 06 Февраль 2020, 12:06:27 »
А для чего сиё устройство предназначается?
И какой тайный смысл во внешнем тактировании? Чем не устраивает обычный кварц, или TCXO?
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн Михалыч

  • Ветеран
  • *****
  • Сообщений: 9357
  • Репутация: +3156/-125
  • RDA: PS-23
  • QRA: KO37wa
Re: Программирование Si5351
« Ответ #6 : 06 Февраль 2020, 14:28:55 »
А для чего сиё устройство предназначается?
"Старый конь борозды не испортит....." и лишнего не спросит ;-)))
Присоединяюсь к вопросу, поскольку указанные, и уже "приевшиеся" глазу частоты 28.8MHz, 25MHz наталкивают на некоторые предположения.
"Scio me nihil scire"  73! UA1019SWL Игорь. 

Оффлайн RC3UE

  • Ветеран
  • *****
  • Сообщений: 1439
  • Репутация: +266/-69
  • QRA: LO07NG
Re: Программирование Si5351
« Ответ #7 : 06 Февраль 2020, 16:55:15 »
"Старый конь борозды не испортит....." и лишнего не спросит ;-)))
Присоединяюсь к вопросу, поскольку указанные, и уже "приевшиеся" глазу частоты 28.8MHz, 25MHz наталкивают на некоторые предположения.
Ну вот, как всегда! Пришёл Михалыч поручик Ржевский и всё опошлил!  :P
Михалыч, ТССССС!!! Я кажется догадался, для чего ЭТО!
Но промолчу. Боюсь, тапками закидают, как недавно было..  ;)
Да и не мой курятник оказался, не интересует (пока)..
« Последнее редактирование: 06 Февраль 2020, 16:57:24 от KovAl »
73! Александр RC3UE (ex RA3UJ, UA3UES)

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 201
  • Репутация: +45/-9
  • QRA: KO85SK
Re: Программирование Si5351
« Ответ #8 : 08 Февраль 2020, 15:42:08 »
Попутный вопрос. Сишка с другими кварцами отличными от 25/27 будет работать?
Si5351A и Si5351В не будут работать, что скорее всего, из-за входных каскадов, рассчитанных под 25 и 27 МГц.
А вот на вход CLKIN чипа Si5351С можно подавать [10-100] МГц. При заказе надо указать Si5350C-Bxxxxx-GT или Si5350C-Bxxxxx-GМ, чтобы присутствовал CLKIN.

« Последнее редактирование: 08 Февраль 2020, 15:48:50 от GM »
Делать надо сразу хорошо, а плохо - само получится.

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 201
  • Репутация: +45/-9
  • QRA: KO85SK
Re: Программирование Si5351
« Ответ #9 : 08 Февраль 2020, 16:04:30 »
Ещё один интересный вопрос возник, после прочтения техн.описания.

1) Оказывается, при подаче питания на чип, конфигурация из однократной памяти (NVM) переписывается в озу.

2) Некоторые чипы, например Si5351A-B-GM, Si5351В-B-GM, Si5351С-B-GM, поставляются с непрошитой на фабе NVM.

Отсюда следует, что можно определить нужные значения для регистров и затем однократно прошить их в NVM. Таким образом отпадает необходимость в присутствии МК при работе в штатном режиме.

Кто-нибудь наталкивался на процедуру прошивки в NVM? Было бы заманчиво попробовать.
Делать надо сразу хорошо, а плохо - само получится.

Оффлайн LZ2WSG

  • Пользователь
  • **
  • Сообщений: 43
  • Репутация: +16/-0
  • QRA: KN34PC
Re: Программирование Si5351
« Ответ #10 : 08 Февраль 2020, 16:48:41 »
Si5351A и Si5351В не будут работать, что скорее всего, из-за входных каскадов, рассчитанных под 25 и 27 МГц...
Работает. Я попробовал с CLKINmin = 10 MHz, a коллеги работает с напр. 39 MHz (SW2017).
---
Из AN619:
Register 15. PLL Input Source, ClKIN Input Divider:
Valid PLL input range is 10-40 MHz. If CLKIN is > 40 MHz, CLKIN input divider, CLKIN_DIV, must be used to bring the PLL input within the 10-40 MHz range.

Т.е. если частота более чем 40 MHz, то необходимо включить внутр. делитель CLKIN_DIV. В популярных библиотек (Etherkit, NT7S) ето сделано и легко управляемо.

Цитировать
if(ref_osc_freq <= 30000000UL) {
 xtal_freq = ref_osc_freq;
 reg_val |= SI5351_CLKIN_DIV_1;
 }
 else if(ref_osc_freq > 30000000UL && ref_osc_freq <= 60000000UL) {
  xtal_freq = ref_osc_freq / 2;
  reg_val |= SI5351_CLKIN_DIV_2;
 }
 else if(ref_osc_freq > 60000000UL && ref_osc_freq <= 100000000UL) {
  xtal_freq = ref_osc_freq / 4;
  reg_val |= SI5351_CLKIN_DIV_4;
 }
---------------------
Отсюда следует, что можно определить нужные значения для регистров и затем однократно прошить их в NVM....
У потребителя нет доступа к NVM.

Из Si5350-Si5351 FAQ (v0.3):

Вопрос: 7. How can I burn the NVM on a blank Si5351 part?
Ответ: Silicon Labs does not currently support customer NVM burning for this product family.
However, you can easily create a new custom part with a newly defined default startup state using ClockBuilder Pro. Once the part is submitted at the end of the process, you will be able to contact your local distributor to order the new part number.
« Последнее редактирование: 08 Февраль 2020, 16:53:07 от LZ2WSG »
Веселин, LZ2WSG

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 201
  • Репутация: +45/-9
  • QRA: KO85SK
Re: Программирование Si5351
« Ответ #11 : 08 Февраль 2020, 20:28:18 »
Si5351A и Si5351В не будут работать, что скорее всего, из-за входных каскадов, рассчитанных под 25 и 27 МГц
Работает. Я попробовал с CLKINmin = 10 MHz, a коллега работает напр. с 39 MHz (SW2017).

Как оно будет работать, если у Si5351A и Si5351В нет входа CLKIN? Да и CLKIN input divider тоже нет.
Вход CLKIN есть только у С версии (Si5351С).

Из AN619: Register 15. PLL Input Source, ClKIN Input Divider: Valid PLL input range is 10-40 MHz. If CLKIN is > 40 MHz, CLKIN input divider, CLKIN_DIV, must be used to bring the PLL input within the 10-40 MHz range.

Т.е. если частота более чем 40 MHz, то необходимо включить внутр. делитель CLKIN_DIV. В популярных библиотек (Etherkit, NT7S) это сделано и легко управляемо.

Совершенно верно говорите, но для версии Si5351С.

Уточню: на вход CLKIN чипа Si5351С можно подавать [10-100] МГц, а не просто fCLKIN > 40 MHz. 200 МГц тоже больше 40 МГц, но их не подашь на вход CLKIN, не заработает.
« Последнее редактирование: 08 Февраль 2020, 20:36:35 от GM »
Делать надо сразу хорошо, а плохо - само получится.

Оффлайн LZ2WSG

  • Пользователь
  • **
  • Сообщений: 43
  • Репутация: +16/-0
  • QRA: KN34PC
Re: Программирование Si5351
« Ответ #12 : 08 Февраль 2020, 20:38:00 »
Вполне нормально, вход по Xa (Si5351A/B/C-B, стр. 21).
Вы, вероятно, правы. Я пробовал 10 MHz до 30 MHz.

Ниже: TCXO 10 MHz на XA, Si5351А (10 pin) как гетеродин, прием WWV 4996000 Hz
« Последнее редактирование: 08 Февраль 2020, 20:52:17 от LZ2WSG »
Веселин, LZ2WSG

Оффлайн GM

  • Старожил
  • ****
  • Сообщений: 201
  • Репутация: +45/-9
  • QRA: KO85SK
Re: Программирование Si5351
« Ответ #13 : 08 Февраль 2020, 21:54:26 »
Вполне нормально, вход по Xa (Si5351A/B/C-B, стр. 21)

Ничего не нормально, вы нарушаете ТУ на микросхему, так что готовьтесь к отказам по теплу, по уровню спуров, по изменению питания и т.д.

Пример. Ваш коллега берёт 39 МГц от кварцевого генератора, за каким-то шутом усиливает сигнал, затем подаёт на Si5351A. Зачем так сложно? Подайте 25 МГц на Ха и снимите 3 сигнала с трёх выходов. Схема упростится до безобразия.

Так нет, подаётся усиленный сигнал с более высоким содержанием гармоник, значит и выходные спектры будут хуже. Где логика и здравый смысл?

Вы, вероятно, правы. Я пробовал 10 MHz до 30 MHz

Почему вероятно? Я просто прав :-).
Делать надо сразу хорошо, а плохо - само получится.

Оффлайн LZ2WSG

  • Пользователь
  • **
  • Сообщений: 43
  • Репутация: +16/-0
  • QRA: KN34PC
Re: Программирование Si5351
« Ответ #14 : 08 Февраль 2020, 22:07:38 »
GM, я полностю согласен с Ваши слова. Я какже всегда работаю с то, что из документации, из ТУ :-), т.е. для Si5351А 25/27 MHz. Есть другие чипы для расширенного применения. Но иногда интересно что не написано, что имеем, на что способен чип, например.
--
TCXO 10 MHz подключил, потому что тогда у меня не бил другой TCXO, а был нужен. Ну, заработало и с 10 MHz.
Расчет регистров такой же как и с 25/27 MHz.
------
Я пытался 10 мин назад с ген. 32 MHz. Работает. reg_15 не влияет, вероятно нет делителя, как сказали (или, по крайней мере, я не запустил коректно его сейчас), спасибо для инфо :-).
---
И с 66,666000 MHz заработало. Какой сигнал: ето другой вопрос :-).

uint32_t f_xtal = 66666000;          // 66,666 MHz
uint32_t target_freq = 10000000;   // 10 MHz
« Последнее редактирование: 08 Февраль 2020, 22:45:31 от LZ2WSG »
Веселин, LZ2WSG