Зарегистрирован: Ср мар 04, 2009 20:23:46 Сообщений: 8
Рейтинг сообщения:0
Пытаюсь запустить si5351a с stm32F103c8t6. Нашёл на сайте https://sites.google.com/site/ja2gqp/ примеры подключения с исходниками под Ардуино stm32. Скомпилировал и прошил , всё работает. Перенес файлы в Keil 4. I2c файл новый. Ни как не могу запустить. Проект собирается, компилируется, прошивается без ошибок. На выходе si5351- 0Гц... Проблема скорее всего с I2c. Ни когда с ним не работал. Файлы в архиве прикрепил. Подскажите где косяк.
У тебя нет не какой связи между файлами и их функциями. Компилится только майн остальные только присутствуют. Изучай структуру взаимодействия подпрограмм в СИ.
Зарегистрирован: Ср мар 04, 2009 20:23:46 Сообщений: 8
Рейтинг сообщения:0
Есть связь с функциями. Компилироваться без связей будет с кучей ошибок и предупреждений. В общем я его добил. Всё работает. Вводим в функцию si5351aSetFrequency(); //CLK0 значение частоты в герцах, на выходе si5351a получаем частоту, которую ввели. Проект в Keil прикреплён.
Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).
Подскажите пожалуйста, подключал ли кто к STM32 ДВЕ si5351 с одинаковыми адресами на шине I2C? Как лучше это реализовать? Использовать два интерфейса I2C для каждой si5351 или сдеалать переключатель линии SDA? Обмен с обеими si5351 будет весьма интенсивный ( сканирование частот).
Полюбас, посадить каждую 5351 на отдельный I2C будет лучше.
Это в каком корпусе у SI есть такая нога? в даташите не нашел. Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит. Вот вопрос- если переписать 7 регистр в одной из микросхем, отключив временно вторую, а потом замкнуть шину I2C?
Вообще то адрес I2C программируется во внутреннем еепроме, но программирование однократное и заказать партию микросхем с нестандартным адресом дорого выходит.
Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.
Не понял - что где программируется? Вроде писали про stm32F103c8t6. Приведите схему.
Упс, корпуса 20-QFN и 24-QSOP для SI5351A действительно пропустил. Но они редкодоступны ( в каталогах есть а на складах нет и срок поставки большой). Ну и плату преределывать прийдется сильно. А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине. Регистр не документированный но присутствует в отчете ClockBuilder. И вроде R/W т.е можно его читать и писать по интерфейсу по старому адресу. Вот только при попытках переписать его я терял связь с микросхемой. Или не то писал, или надо как то специальным образом переустановить связь по I2C.
А программируется SI5351 из встроенной OTP памяти при старте как на рисунке. Кроме начальных установок синтезатор программируется и адрес на шине.
Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине. Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.
Эта OTP-память - она в самом чипе SI5351? Если да - наверное можно прошивать туда разные адреса при производстве вашего устройства, подключая (например джамперами или паяемыми перемычками) чипы по одному к I2C-шине. Если так сделать нельзя, то наверное придётся что-то коммутировать - или SCL или SDA. Лучше наверное SCL, как советовали выше, так как это проще. Можно коммутировать мультиплексором пинов в МК, если возможно.
Чипы обычно поставляются с прошитой фабрично OTP памятью. Можно заказать на silabs партию с заданными начальными установками. Алгоритм прошивки OTP закрыт и чистных не прошитых чипов не найти в свободной продаже. Желание поменять I2C адрес программно вызвано тем, что коммутировать SCL или SDA надо будет только в процессе первой инициализации чипа ( или вообще снять питание со второго чипа синтезатора в процессе раздачи адресов) а потом оба чипа будут находится на том же самом интерфейсе и не конфликтовать между собой. Сэкномим ресурсы проца ( второй интерфейс I2C), можно применять чипы с любыми адресами, можно не заниматься "дрыгоножеством" для управления коммутатором SCL/SDA.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения