Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

stm32 si5351

Вс окт 27, 2019 17:30:52

Пытаюсь запустить si5351a с stm32F103c8t6. Нашёл на сайте https://sites.google.com/site/ja2gqp/ примеры подключения с исходниками под Ардуино stm32. Скомпилировал и прошил , всё работает. Перенес файлы в Keil 4. I2c файл новый. Ни как не могу запустить. Проект собирается, компилируется, прошивается без ошибок. На выходе si5351- 0Гц... Проблема скорее всего с I2c. Ни когда с ним не работал. Файлы в архиве прикрепил. Подскажите где косяк.
Вложения
Новая папка.rar
(4.76 KiB) Скачиваний: 366

Re: stm32 si5351

Вс окт 27, 2019 20:20:10

У тебя нет не какой связи между файлами и их функциями. Компилится только майн остальные только присутствуют. Изучай структуру взаимодействия подпрограмм в СИ.

Re: stm32 si5351

Пт ноя 01, 2019 23:46:03

Есть связь с функциями. Компилироваться без связей будет с кучей ошибок и предупреждений. В общем я его добил. Всё работает. Вводим в функцию
si5351aSetFrequency(); //CLK0 значение частоты в герцах, на выходе si5351a получаем частоту, которую ввели. Проект в Keil прикреплён.
Вложения
si5351stm32_ I2C.rar
(300.9 KiB) Скачиваний: 402

Re: stm32 si5351

Чт ноя 28, 2019 15:34:40

Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).

Re: stm32 si5351

Пт ноя 29, 2019 17:58:01

khach, возможно коммутировать SCL окажется правильней. Переключать можно выбирая разные пины при конфигурации I2C-модуля контроллера.

Re: stm32 si5351

Сб ноя 30, 2019 01:36:41

Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).

Полюбас, посадить каждую 5351 на отдельный I2C будет лучше.

Re: stm32 si5351

Сб ноя 30, 2019 17:37:28

Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать?
Лучше взять в том корпусе, где есть A0. И использовать эту ногу. Ну конечно если нет лишних I2C-интерфейсов....

Re: stm32 si5351

Сб ноя 30, 2019 22:48:14

Лучше взять в том корпусе, где есть A0.

Это в каком корпусе у SI есть такая нога? в даташите не нашел. Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит. Вот вопрос- если переписать 7 регистр в одной из микросхем, отключив временно вторую, а потом замкнуть шину I2C?
I2C_ADDR_CTRL 0x0007[7:4] 0x0007 4 4 Yes R/W

Re: stm32 si5351

Вс дек 01, 2019 01:03:42

Это в каком корпусе у SI есть такая нога? в даташите не нашел.

Изображение

Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит.
Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.

Re: stm32 si5351

Вс дек 01, 2019 12:13:49

Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.

Упс, корпуса 20-QFN и 24-QSOP для SI5351A действительно пропустил. Но они редкодоступны ( в каталогах есть а на складах нет и срок поставки большой). Ну и плату преределывать прийдется сильно.
А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине. Регистр не документированный но присутствует в отчете ClockBuilder. И вроде R/W т.е можно его читать и писать по интерфейсу по старому адресу. Вот только при попытках переписать его я терял связь с микросхемой. Или не то писал, или надо как то специальным образом переустановить связь по I2C.
Изображение
Вложения
Si5351_OTP.jpg
(6.75 KiB) Скачиваний: 1332

Re: stm32 si5351

Вс дек 01, 2019 13:58:58

А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине.
Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине.
Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.

Re: stm32 si5351

Вс дек 01, 2019 14:47:53

Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине.
Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.

Чипы обычно поставляются с прошитой фабрично OTP памятью. Можно заказать на silabs партию с заданными начальными установками. Алгоритм прошивки OTP закрыт и чистных не прошитых чипов не найти в свободной продаже. Желание поменять I2C адрес программно вызвано тем, что коммутировать SCL или SDA надо будет только в процессе первой инициализации чипа ( или вообще снять питание со второго чипа синтезатора в процессе раздачи адресов) а потом оба чипа будут находится на том же самом интерфейсе и не конфликтовать между собой.
Сэкномим ресурсы проца ( второй интерфейс I2C), можно применять чипы с любыми адресами, можно не заниматься "дрыгоножеством" для управления коммутатором SCL/SDA.
Ответить