Jump to content
    

По АЦП

stm32g070

Нужно опрашивать одновременно 5 входов, у меня последовательно через прерывания быстрее 100кгц не получается (те после опроса всех при частоте опроса 500кгц)

Выше поднять частоту  не получилось.

Я правильно понимаю что всякие групповые опросы особо частоту не поднимут, просто исключать вход  5 раз в прерывание даже с дма ?

Те измерительный модуль измеряет каждый вход по скажем 15 тактов и не может 5 каналов измерить за 15 таков ? 

 

Вопрос номер два, как проверить частоту ядра, вроде тактирование выбрал на 64мгц а кажется что команды еле ползают, может есть тест программа чтобы убедится наверняка ?

Edited by whale

Share this post


Link to post
Share on other sites

1 час назад, whale сказал:

Вопрос номер два, как проверить частоту ядра, вроде тактирование выбрал на 64мгц а кажется что команды еле ползают, может есть тест программа чтобы убедится наверняка ?

Ответ на оба вопроса один: читать юзер мануал.

Share this post


Link to post
Share on other sites

По поводу частоты тактирования - настрой таймер на некую частоту, по окончанию периода меняй состояние любого вывода, далее сравни реальный период и расчетный. Из разницы, при ее наличии, будет понятна реальная частота тактирования.

Share this post


Link to post
Share on other sites

On 5/22/2021 at 8:19 AM, whale said:

Те измерительный модуль измеряет каждый вход по скажем 15 тактов и не может 5 каналов измерить за 15 таков ?

Да, вас много, а я одна.

Share this post


Link to post
Share on other sites

1 hour ago, Aveal said:

По поводу частоты тактирования - настрой таймер на некую частоту, по окончанию периода меняй состояние любого вывода, далее сравни реальный период и расчетный. Из разницы, при ее наличии, будет понятна реальная частота тактирования.

тут неясно сколько занимает вход в прерывание

1 hour ago, aaarrr said:

Да, вас много, а я одна.

какой смысл тогда во всех этих группах и последовательностей ?

Edited by whale

Share this post


Link to post
Share on other sites

Только что, whale сказал:

это будет понятна частота тактирования таймера а не ядра

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

Share this post


Link to post
Share on other sites

Just now, Aveal said:

частоту тактирования ядра

хотелось бы прямой метод а не косвенный, частоту тактирования ядра и так вроде задана в настройках,

например программа на ассемблере

Edited by whale

Share this post


Link to post
Share on other sites

22.05.2021 в 08:19, whale сказал:

Вопрос номер два, как проверить частоту ядра, вроде тактирование выбрал на 64мгц а кажется что команды еле ползают

 

Ну так вроде как в этом и вопрос, что есть подозрения, что заданное в "настройках" не работает.

Share this post


Link to post
Share on other sites

таймер работает не от системного тика а от своей шины со своими делителями.

Share this post


Link to post
Share on other sites

7 минут назад, whale сказал:

хотелось бы прямой метод а не косвенный

Есть вывод MCO, на который можно вывести сигнал с одной из внутренних частот процессора, далее уже измерить.

2 минуты назад, whale сказал:

таймер работает не от системного тика а от своей шины со своими делителями.

Все упомянутые частоты строго математически взаимосвязаны через деление и умножение на заранее известные числа:

562696254_.thumb.png.2ba7095ac75138295503af488bf09953.png

Таким образом, частота таймера = f(частота тактирования), соответственно частота_тактирования = g(частота_таймера).

 

Share this post


Link to post
Share on other sites

Можно конечно, на нем правда работает I2C, не знаю заведется там 128 мгц

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

Edited by whale

Share this post


Link to post
Share on other sites

4 минуты назад, whale сказал:

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

Ну "проще" видимо у каждого свое :)

Share this post


Link to post
Share on other sites

какой смысл тогда во всех этих группах и последовательностей ?


Смысл в получении отсчёта со всех желаемых каналов или по единственной команде\событию или непрерывно "по кругу".

таймер работает не от системного тика а от своей шины со своими делителями.


И? В отладчике не видны коэффициенты деления? А частоту шины на подходящем выводе осциллогорафом не посмотреть\померить?

PS: если уж "забурились" (и I2C, и АЦП, и таймеры), так выкачайте всю доку со страницы вашего проца, там же appnot-ов не меньше десятка про всю периферию.

Share this post


Link to post
Share on other sites

Может производители набрехали и скажем на одну команду не 2 такта а 3  или еще какие то задержки при выборке команд к примеру, в конечном итоге интересует скорость исполнения команд а не частота ядра.

Edited by whale

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...