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

По АЦП

stm32g070

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

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

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

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

 

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

Изменено пользователем whale

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


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

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

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

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

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


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

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

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


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

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

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

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

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


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

1 hour ago, Aveal said:

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

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

1 hour ago, aaarrr said:

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

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

Изменено пользователем whale

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


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

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

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

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

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


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

Just now, Aveal said:

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

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

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

Изменено пользователем whale

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


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

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

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

 

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

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


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

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

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

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

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

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

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

562696254_.thumb.png.2ba7095ac75138295503af488bf09953.png

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

 

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


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

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

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

Изменено пользователем whale

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


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

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

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

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

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


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

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


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

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


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

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

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


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

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

Изменено пользователем whale

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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