jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба RTC на STM32L475. Настроил, занес время, через пару часов время убежало на 2 минуты. кристал на плате внешний NX3215SA-32.768K. Это у кристала такая погрешность? Или RTC у них для понтов а не для реальной работы с ним? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadon 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Есть уверенность в том что он работает от него, а не от внутреннего на 40 кГц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 40 minutes ago, vadon said: Есть уверенность в том что он работает от него, а не от внутреннего на 40 кГц? хм... че то я не уверен. я взял конфигурация из их примера int RTC_ConfigureClock(void) { uint32_t Timeout; LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_PWR); LL_PWR_EnableBkUpAccess(); #ifdef RTC_CLOCK_SOURCE_LSE /* Enable LSE only if disabled.*/ if (LL_RCC_LSE_IsReady() == 0) { LL_RCC_ForceBackupDomainReset(); LL_RCC_ReleaseBackupDomainReset(); LL_RCC_LSE_Enable(); Timeout = LSE_TIMEOUT_VALUE_; while (LL_RCC_LSE_IsReady() != 1) { Timeout --; Delay_ms(1); if (Timeout == 0) { /* LSE activation error */ return RTC_ERROR; } } LL_RCC_SetRTCClockSource(LL_RCC_RTC_CLKSOURCE_LSE); } #endif return RTC_OK; } но условие if (LL_RCC_LSE_IsReady() == 0) не истинно, LSE уже включен и конфигурация не происходит. я не понимаю логику этого условия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Behram 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Как нарисовано на плате подключение кварца к МК? Документы AN4759 и AN2867 изучались? По идее, внутри LL_RCC_LSE_IsReady спрятана маска для соответствующего флага в RCC, можно в отладчике регистры посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 (изменено) · Жалоба 38 minutes ago, Behram said: Как нарисовано на плате подключение кварца к МК? Документы AN4759 и AN2867 изучались? По идее, внутри LL_RCC_LSE_IsReady спрятана маска для соответствующего флага в RCC, можно в отладчике регистры посмотреть. я убрал это условие if (LL_RCC_LSE_IsReady() == 0). получается что сейчас RTC подключается правильно, к LSE. но погрешность все равно такая же. ноги кварца подключены через 5.1 пико на землю. а пины PC14-PC15 по дефолту идут как альтернативные или их нужно конфигурировать под кристал? AN2867 - кристал дизайн гид, я работаю на плате от ST, я их буду учить PCB разводить? :) AN4759 - en.x-cube-rtc - 400 мега - даже страшно открывать. :) Изменено 3 февраля, 2020 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadon 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Нет не получается, посмотрите прямо в регистрах нужные значения clksource? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 25 minutes ago, vadon said: Нет не получается, посмотрите прямо в регистрах нужные значения clksource? ну не знаю - в RCC->BDCR - LSERDY = 1 LSEON = 1 RTCEN = 1 RTCSEL = 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Behram 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 (изменено) · Жалоба 1 час назад, jenya7 сказал: . получается что сейчас RTC подключается правильно, к LSE. но погрешность все равно такая же. А в регистрах что? Все мультиплексоры в правильном режиме? Удобно в CubeMX строить clock tree и в удобном виде видеть нужные позиции мультиплексоров и множителей/делителей. 1 час назад, jenya7 сказал: AN2867 - кристал дизайн гид, я работаю на плате от ST, я их буду учить PCB разводить? :) Тогда должно быть все ок. 1 час назад, jenya7 сказал: AN4759 - en.x-cube-rtc - 400 мега - даже страшно открывать. :) Удивительно. Изменено 3 февраля, 2020 пользователем Behram Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 4 minutes ago, Behram said: Удивительно. у них там код на 400 мега прилагается к документу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Behram 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба А если МСО переключить на LSE, будет видно отклонение частоты от номинальной? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 (изменено) · Жалоба 19 minutes ago, Behram said: А если МСО переключить на LSE, будет видно отклонение частоты от номинальной? у меня нет доступа к этому пину на этой плате, но скоп мне показывает какой то мусор на кристале. может надо пины отконфигурировать под кристал? похоже нет осциляции на кристале :( Изменено 3 февраля, 2020 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Behram 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Если нет колебаний, почему тогда LSERDY выставляется в единицу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 2 minutes ago, Behram said: Если нет колебаний, почему тогда LSERDY выставляется в единицу? не знаю. загадка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Behram 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба А как вы проверили наличие колебаний, осциллографом? Если кварц мелкий, то емкость щупа вполне может внести искажения в его работу, можно попробовать тыкнуть через конденсатор в несколько пикофарад. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 (изменено) · Жалоба 14 minutes ago, Behram said: А как вы проверили наличие колебаний, осциллографом? Если кварц мелкий, то емкость щупа вполне может внести искажения в его работу, можно попробовать тыкнуть через конденсатор в несколько пикофарад. обычно осциляция видна, пусть искаженная но видна. попробую перейти на внутрений. посмотрим какая там погрешность. Изменено 3 февраля, 2020 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться