Перейти к содержанию
    

stm32 измерение времени

Доброго времени суток! Проблема такая... Использую nucleo f429zi, библиотека HAL. На табло отображается время отсчета сек и до десятых мс. На lpc1768 отображалось с хорошей точностью. Перетянул код "сюда", адаптировав... НО, точность времени убегает за 10 минут секунд на 5-6. Проверил все, что только можно. На входе используется 8МГц, после умножителя на таймер 90МГц. Изначально использовал HAL_GetTick() - его точности для моего случая вполне хватало, но заметили что врем "убегает". Перевел га TIMER2 - ситуация аналогична. Перевел на внутренний кварц 16МГц - ситуация не изменилась. Предделитель в таймере увеличил на 1. Таймер стал опаздывать. Кто может встречался с такой ситуацией, подскажите куда копать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, bolmoe сказал:

Предделитель в таймере увеличил на 1. Таймер стал опаздывать. Кто может встречался с такой ситуацией, подскажите куда копать!

Предделитель и делитель должны быть на единицу меньше требуемого значения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предделитель пользую (-1 в курсе, т.к. счет от 0), да и HAL_GetTick() вытаскивает мс от старта MCU - по большому счету мне этого хватает по точности, но вот "проблемс" мне не понятен в корне...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен исходник. Какие именно у вас значения. Не замечал, чтоб таймеры в STM32 как-то не так делили, точность определяется только точностью опорной частоты.

Кста, внутри не кварц, а RC-генератор. У него точность хуже и примерно 1% (как в вашем случае) - это типичная ошибка. Вам нужен именно кварцевый резонатор/генератор в качестве опоры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, bolmoe said:

На табло отображается время отсчета сек и до десятых мс.

Там до миллионных долей можно разогнать: малошумящие компараторы, оптика, и отдельный ldo на VDDA. 

И ещё, настройку PLL лучше делать руками и через регистры. Халл включает качание PLL для уменьшения эми помех.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, AVI-crak сказал:

Там до миллионных долей можно разогнать: малошумящие компараторы, оптика, и отдельный ldo на VDDA. 

И ещё, настройку PLL лучше делать руками и через регистры. Халл включает качание PLL для уменьшения эми помех.

Какие компараторы, какая оптика, какое еще качание PLL в F429? Вы о чем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробую впаять генератор на 8 МГц. В исходной плате место пустует (но присутствует), а поступает с MCO ножки программатора ST-LINK интегрированного в плату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Arlleex said:

Вы о чем?

Входные цепи должны иметь максимальную стабильность характеристик, чтоб не плавало само по себе. А насчёт качания PLL, у меня для вас плохие новости - у вас 1 пропущенный параграф доки.

 

28 minutes ago, bolmoe said:

Попробую впаять генератор

 Кроме кварца, нужно ещё ldo на VDDA. Там детальки мелкие, не знаю как у вас получится. Питание аналоговой части должно быть независимым, и идеально стабильным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 минут назад, AVI-crak сказал:

А насчёт качания PLL, у меня для вас плохие новости - у вас 1 пропущенный параграф доки.

Нашел. У ST дебильная привычка предусмотреть какой-то функционал, но не дать на него описание в основном descrition-блоке. Не в первый раз.
 

Цитата

 Кроме кварца, нужно ещё ldo на VDDA.

Достаточно примитивного LC-фильтра отводом от основного VDD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 часов назад, bolmoe сказал:

Перевел на внутренний кварц 16МГц - ситуация не изменилась.

Это что ещё за кварц такой? "внутренний"  :wacko2:

2 часа назад, bolmoe сказал:

Попробую впаять генератор на 8 МГц.

Имхо: Вам надо подтянуть знания по терминологии, которую используете. Узнать что такое RC-генератор, что такое кварцевый резонатор и что такое генератор (чип-генератор). Это всё совершенно разные сущности.

А то из ваших постов ничего не понятно - что и откуда подаёте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Arlleex said:

Достаточно примитивного LC-фильтра отводом от основного VDD.

ИМХО, лучше RC)) Резонансы RLC цепи не надо будет ловить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Установил кварцевый резонатор на 8МГц. AVCC подключено через индуктивность к 3.3В (по схеме). В режиме debug проверил RCC->SSCGR ( эми помехи) = 0, т.е. выключено. Результат тот же, таймер "убегает".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, bolmoe сказал:

Результат тот же, таймер "убегает".

ну что-ж - теперь пора наконец-то начинать искать баги в своём коде. Самое время, раз пинание колёс не помогает.    :wink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/21/2022 at 10:50 PM, bolmoe said:

1) . . . . На lpc1768 отображалось с хорошей точностью.

2) .. НО, точность времени убегает за 10 минут секунд на 5-6. 

1. Для такой "сверхзадачи" точность должна быть абсолютной.

2. Убегает "точность" не очень понятно. Чем контролируете время или частоту ? (частотомер, осциллограф, таймер)

Для Вашего случая возможно и так достаточно имеющегося часового кварца 32768, тк требуемая точность 1/10000 вполне себе сравнима с 1/32768.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы! Сегодня принес цифровой анализатор и посмотрел HSE на MCO1. F=7.69 MHz примерно, вместо ожидаемых 8 МГц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...