реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Cortex M3 - определить частоту кварца, на примере LPC17xx
toweroff
сообщение Mar 13 2015, 05:49
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Озадачился тут вот какой идеей. Делается некий универсальный бутлоадер, хотелось бы вкручивать его в различные по назначению устройства. Кварцы там могут быть разные по частоте
Чтобы не подправлять сам бут, пытаюсь оценить возможность самостоятельного определения частоты применяемого кварца.
В общем-то не до килогерц, конечно. Могут применяться 6, 8, 12, 16, 24 МГц. Пока идея только в определении времени выполнения некоего эталонного кода по таймеру, затактированному от внутреннего RC
Линейка частот кварцев вполне позволяет с хорошей точностью определить частоту.
Или есть какое-то другое решение? Но, посмотрев на схему тактирования, ничего другого в голову не приходит - источники тактирования заводятся на вход мультиплексора и более никак не участвуют. Т.е. нет там раздельных доменов, которые могли бы тактироваться от разных источников, поэтому определить частоту тактирования можно только программно, отталкиваясь от заведомо известной частоты RC (пусть и +/- 1%)

Или я ошибаюсь?

Или вообще овчинка выделки не стоит и подправить и перекомпилить бут гораздо проще biggrin.gif
Go to the top of the page
 
+Quote Post
SII
сообщение Mar 13 2015, 12:34
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Можно затактировать от внешнего кварца какой-то из таймеров, а не пытаться выполнять некий код. Ну а потом сравнить, сколько натикало на RTC (от кварца на 32768 Гц, если он есть, или от внутренней RC-цепочки -- она, если память не изменяет, около 37 кГц даёт) и сколько -- на этом таймере.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Mar 13 2015, 13:11
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(SII @ Mar 13 2015, 15:34) *
Можно затактировать от внешнего кварца какой-то из таймеров, а не пытаться выполнять некий код. Ну а потом сравнить, сколько натикало на RTC (от кварца на 32768 Гц, если он есть, или от внутренней RC-цепочки -- она, если память не изменяет, около 37 кГц даёт) и сколько -- на этом таймере.

в том-то и дело, что источник тактирования один! он выбирается через регистр CLKSRCSEL (значащие биты 1:0, соответственно 00- RC, 01- кварц, 10- RTC)
вся периферия тактируется от этого источника (возможно - через PLL)

Есть еще WDT_CLK, у него источник RC или RTC, или USB, у которого источник кварц или уже общий PCLK

Надо посмотреть WDT, что там с его таймером, возможно ли его использовать

В любом случае, навешивать специально какие-то генераторы на таймеры не хочется, необходимо обойтись "набортной" периферией
Go to the top of the page
 
+Quote Post
toweroff
сообщение Mar 13 2015, 16:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Вот такие у меня результаты получились...

1% trimmed RC oscillator - это брехня. Порядка 2-3%, так точнее
Погрел немного контроллер до 50-60 градусов - погрешность упала до 0.5-0.3%
Надо попробовать в морозилку запихать, посмотреть как там при низких температурах будет

Т.к. результат получается больше, чем частота кварца, то частота RC больше заявленной 4МГц при комнатной и комнатной+ температуре
К сожалению, в наличии есть только одна плата с контроллером, проверить с разными кристаллами нет возможности

UPD

Извините, сам баран или RTFM
Прикрепленное изображение
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 22:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01443 секунд с 7
ELECTRONIX ©2004-2016