Потому, что никогда мне не била необходимoст из регистров целиком как числа из Si5351. Делаю расчет, "виртуальние" регистри в Arduino вычисляется (переменные, ответственные за это), они отправляются вместе по мере необходимости или частями и чип запрограмиран.
При необходимости вкл/выкл выxодного сигнала (для CW манипуляция в QRP CW передатчик и др.) просто изменяю один бит из байта и заменю его. Не все регистры нужно менять.
Из форумы возникли вопросы об оригинальности чипов, предложили что есть раница в записанных в них оригинальных данных во время запуска. Чтобы подтвердить идею, я читал все регистры с код один раз и остановился.
Хорошо, я прочитаю расчеты из Si если вам нужно, но в другой раз, день. Я надеюсь, понимаете меня (русский язык).
---
Примерной шаг один:
у вас все выходи активировани, исключите ненужные:
0x0003[7:0] CLK_OEB 0 0x00
reg_3. Output Enable Control, Output Disable for CLKx.
Where x = 0, 1, 2, 3, 4, 5, 6, 7
0: Enable CLKx output.
1: Disable CLKx output.
шаг два:
у вас активиран дробной режим, не для чистого спектра:
0x0010[6] MS0_INT 0 0x0
reg_16, CLK0 Control, MS0_INT[6]
0: MS0 operates in fractional division mode
1: MS0 operates in integer mode
шаг три:
для более чистого спектра измените reg_16, CLK0_IDRV[1:0] на 00, т.е. на 2 mA
reg_16, CLK0 Output Rise and Fall time / Drive Strength Control
00: 2 mA
01: 4 mA
10: 6 mA
11: 8 mA
У вас 8 mA: 0x0010[1:0] CLK0_IDRV 3 0x3
Видел это на первый взгляд, могут быть другие.
Игорь, если эти меры вам бесполезни, скажите.