stm32 si5351

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Аватара пользователя
s28
Родился
Сообщения: 8
Зарегистрирован: Ср мар 04, 2009 20:23:46
Контактная информация:

stm32 si5351

Сообщение s28 »

Пытаюсь запустить si5351a с stm32F103c8t6. Нашёл на сайте https://sites.google.com/site/ja2gqp/ примеры подключения с исходниками под Ардуино stm32. Скомпилировал и прошил , всё работает. Перенес файлы в Keil 4. I2c файл новый. Ни как не могу запустить. Проект собирается, компилируется, прошивается без ошибок. На выходе si5351- 0Гц... Проблема скорее всего с I2c. Ни когда с ним не работал. Файлы в архиве прикрепил. Подскажите где косяк.
Вложения
Новая папка.rar
(4.76 КБ) 412 скачиваний
Реклама
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: stm32 si5351

Сообщение 240265 »

У тебя нет не какой связи между файлами и их функциями. Компилится только майн остальные только присутствуют. Изучай структуру взаимодействия подпрограмм в СИ.
IVL ex UA6PJ
Реклама
Аватара пользователя
s28
Родился
Сообщения: 8
Зарегистрирован: Ср мар 04, 2009 20:23:46
Контактная информация:

Re: stm32 si5351

Сообщение s28 »

Есть связь с функциями. Компилироваться без связей будет с кучей ошибок и предупреждений. В общем я его добил. Всё работает. Вводим в функцию
si5351aSetFrequency(); //CLK0 значение частоты в герцах, на выходе si5351a получаем частоту, которую ввели. Проект в Keil прикреплён.
Вложения
si5351stm32_ I2C.rar
(300.9 КБ) 469 скачиваний
khach
Электрический кот
Сообщения: 1038
Зарегистрирован: Сб сен 12, 2009 15:43:19

Re: stm32 si5351

Сообщение khach »

Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Andrey_B
Сверлит текстолит когтями
Сообщения: 1102
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: stm32 si5351

Сообщение Andrey_B »

khach, возможно коммутировать SCL окажется правильней. Переключать можно выбирая разные пины при конфигурации I2C-модуля контроллера.
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: stm32 si5351

Сообщение a5021 »

[uquote="khach",url="/forum/viewtopic.php?p=3745217#p3745217"]Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).[/uquote]
Полюбас, посадить каждую 5351 на отдельный I2C будет лучше.
Реклама
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: stm32 si5351

Сообщение jcxz »

[uquote="khach",url="/forum/viewtopic.php?p=3745217#p3745217"]Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать?[/uquote]Лучше взять в том корпусе, где есть A0. И использовать эту ногу. Ну конечно если нет лишних I2C-интерфейсов....
khach
Электрический кот
Сообщения: 1038
Зарегистрирован: Сб сен 12, 2009 15:43:19

Re: stm32 si5351

Сообщение khach »

[uquote="jcxz",url="/forum/viewtopic.php?p=3746547#p3746547"]Лучше взять в том корпусе, где есть A0.[/uquote]
Это в каком корпусе у SI есть такая нога? в даташите не нашел. Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит. Вот вопрос- если переписать 7 регистр в одной из микросхем, отключив временно вторую, а потом замкнуть шину I2C?
I2C_ADDR_CTRL 0x0007[7:4] 0x0007 4 4 Yes R/W
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: stm32 si5351

Сообщение jcxz »

[uquote="khach",url="/forum/viewtopic.php?p=3746780#p3746780"]Это в каком корпусе у SI есть такая нога? в даташите не нашел.[/uquote]
Изображение

[uquote="khach",url="/forum/viewtopic.php?p=3746780#p3746780"]Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит.[/uquote]Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.
khach
Электрический кот
Сообщения: 1038
Зарегистрирован: Сб сен 12, 2009 15:43:19

Re: stm32 si5351

Сообщение khach »

[uquote="jcxz",url="/forum/viewtopic.php?p=3746832#p3746832"]Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.[/uquote]
Упс, корпуса 20-QFN и 24-QSOP для SI5351A действительно пропустил. Но они редкодоступны ( в каталогах есть а на складах нет и срок поставки большой). Ну и плату преределывать прийдется сильно.
А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине. Регистр не документированный но присутствует в отчете ClockBuilder. И вроде R/W т.е можно его читать и писать по интерфейсу по старому адресу. Вот только при попытках переписать его я терял связь с микросхемой. Или не то писал, или надо как то специальным образом переустановить связь по I2C.
Изображение
Вложения
Si5351_OTP.jpg
(6.75 КБ) 1884 скачивания
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: stm32 si5351

Сообщение jcxz »

[uquote="khach",url="/forum/viewtopic.php?p=3746954#p3746954"]А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине.[/uquote]Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине.
Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.
khach
Электрический кот
Сообщения: 1038
Зарегистрирован: Сб сен 12, 2009 15:43:19

Re: stm32 si5351

Сообщение khach »

[uquote="jcxz",url="/forum/viewtopic.php?p=3747005#p3747005"]Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине.
Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.[/uquote]
Чипы обычно поставляются с прошитой фабрично OTP памятью. Можно заказать на silabs партию с заданными начальными установками. Алгоритм прошивки OTP закрыт и чистных не прошитых чипов не найти в свободной продаже. Желание поменять I2C адрес программно вызвано тем, что коммутировать SCL или SDA надо будет только в процессе первой инициализации чипа ( или вообще снять питание со второго чипа синтезатора в процессе раздачи адресов) а потом оба чипа будут находится на том же самом интерфейсе и не конфликтовать между собой.
Сэкномим ресурсы проца ( второй интерфейс I2C), можно применять чипы с любыми адресами, можно не заниматься "дрыгоножеством" для управления коммутатором SCL/SDA.
Ответить

Вернуться в «ARM»