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

 
 
> Счётчик десятинаносекундных импульсов на STM32F4
uu5jkb
сообщение Jun 1 2014, 05:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 4-02-09
Пользователь №: 44 400



Приветствую всех.
Стоит задача вести счёт импульсов, приходящих по пяти каналам. Импульсы уже прямоугольные, сформированные, длительность 10 нс, интервал между импульсами скачет случайным образом, в худшем случае два импульса "слипаются в один". Измерять надо в течение 20 мс, за это время может набежать до 500 тыс. импульсов. По прикидкам, STM32F4 может таткировать свои таймеры 168 МГц и регистрировать импульсы такой длительности. Два 32-разрядных таймеров запустить напрямую, ещё три 16-битных - по прерываниям увеличивать програмный счётчик, чтобы вместилось 500 тыс. импульсов.
Собственно, вопрос: может кто возился с подобным и есть ли какие противопоказания для такого использования СТМ?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение Jun 1 2014, 07:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(uu5jkb @ Jun 1 2014, 15:33) *
Стоит задача вести счёт импульсов, приходящих по пяти каналам. Импульсы уже прямоугольные, сформированные, длительность 10 нс, интервал между импульсами скачет случайным образом, в худшем случае два импульса "слипаются в один". Измерять надо в течение 20 мс, за это время может набежать до 500 тыс. импульсов. По прикидкам, STM32F4 может таткировать свои таймеры 168 МГц и регистрировать импульсы такой длительности. Два 32-разрядных таймеров запустить напрямую, ещё три 16-битных - по прерываниям увеличивать програмный счётчик, чтобы вместилось 500 тыс. импульсов.
Собственно, вопрос: может кто возился с подобным и есть ли какие противопоказания для такого использования СТМ?

Что-ж Вы кроме как в лоб ничего и придумать не можете? blink.gif

Поставьте на каждый источник импульсов по делителю (D-триггеру). Если таймеры CPU смогут работать на частоте ядра, то такую частоту
они уже посчитать смогут (так как она уже более чем в 2 раза ниже тактовой). А в конце интервала по состоянию уровня после делителя сможете
досчитать последний нечётный импульс.

То что у вас есть "слипшиеся импульсы", говорит что у вас что-то не так спроектировано в системе в целом.
Как вариант решения - ждущий мультибиратор на каждый источник импульсов, с периодом ==10нс и на счётные входы подавать уже выходы
этих мультивибраторов. Т.е. - если вместо импульса длиной 10нсек, придёт что-то более длинное, то мультивибратор успеет за это время сгенерить
не один, а два или более имульсов, в зависимости от длительности.
Другой вариант - в МК сигнал подавать не на счётные входы счётчиков, а на входы разрешения счёта импульсов от внутреннего генератора
(не знаю умеют-ли такое счётчики STM32?).
Но тут наверное нужно чтобы частота этого генератора была кратна длительности ваших импульсов (10нсек).

PS: А почему-бы просто не поставить внешние счётчики и опрашивать их периодически?
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jun 1 2014, 07:42
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(jcxz @ Jun 1 2014, 07:28) *
Другой вариант - в МК сигнал подавать не на счётные входы счётчиков, а на входы разрешения счёта импульсов от внутреннего генератора
(не знаю умеют-ли такое счётчики STM32?).

Умеют. Вообще лучше конечно такое делать на CPLD. Набрать 5 счетчиков 8 разрядных, например, выход завести на таймеры или даже больше разрядов и на GPIO пины через прерывания считать.
Или на рассыпухе сделать.


Цитата(Xenia @ Jun 1 2014, 05:48) *
Если STM32F позволяет считать асинхронно с частотой, превышающей половину тактируемой, то прошу отозваться тех, кому это удалось практически осуществить. Меня такая возможность тоже сильно интересует.

STM32F103 асинхронно не может, как я понял из figure 122 RM008,
тоже самое для второго режима.

А вот майкрочип может считать асинхронно.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Jun 1 2014, 11:41
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126



Цитата(A. Fig Lee @ Jun 1 2014, 14:52) *
STM32F103 асинхронно не может, как я понял из figure 122 RM008,

А вот майкрочип может считать асинхронно.

И STM может... и STM8 и STM32... по входу ETR...
В этом они ничем от Микрочипа не отличаются...

Сообщение отредактировал HHIMERA - Jun 1 2014, 11:42
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jun 2 2014, 07:14
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(HHIMERA @ Jun 1 2014, 11:51) *
И STM может... и STM8 и STM32... по входу ETR...
В этом они ничем от Микрочипа не отличаются...

Да?
A что означает фраза

Цитата
The delay between the rising edge on ETR and the actual clock of the counter is due to the
resynchronization circuit on the ETRP signal.

на странице 365 RM008?


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- uu5jkb   Счётчик десятинаносекундных импульсов на STM32F4   Jun 1 2014, 05:23
- - Xenia   Цитата(uu5jkb @ Jun 1 2014, 13:33) Импуль...   Jun 1 2014, 05:38
|- - adnega   Цитата(Xenia @ Jun 1 2014, 13:48) позволя...   Jun 1 2014, 06:01
|- - Xenia   Цитата(adnega @ Jun 1 2014, 14:11) Кста, ...   Jun 3 2014, 16:05
|- - jcxz   Цитата(A. Fig Lee @ Jun 1 2014, 17:40) Ум...   Jun 1 2014, 07:46
|- - HHIMERA   Цитата(A. Fig Lee @ Jun 2 2014, 14:24) Да...   Jun 2 2014, 14:23
|- - Xenia   Цитата(HHIMERA @ Jun 2 2014, 22:33) ...   Jun 2 2014, 15:08
- - uu5jkb   Цитата(Xenia @ Jun 1 2014, 13:48) ...макс...   Jun 1 2014, 09:33
|- - jcxz   Цитата(uu5jkb @ Jun 1 2014, 19:43) Это но...   Jun 1 2014, 09:51
|- - Tanya   Цитата(uu5jkb @ Jun 1 2014, 17:43) Это но...   Jun 3 2014, 00:31
- - A. Fig Lee   Я бы поначалу глянул, хватит ли таймеров у СТМ32. ...   Jun 1 2014, 10:28
- - Golikov A.   CPLD лучше ставить. Всяко лучше чем на рассыпухе с...   Jun 1 2014, 11:45
- - SasaVitebsk   Непосредственно по вопросу, если это спасёт, то де...   Jun 2 2014, 02:10
|- - demiurg_spb   Как альтернативный вариант: Запустить ДМА по перво...   Jun 2 2014, 02:43
|- - jcxz   Цитата(SasaVitebsk @ Jun 2 2014, 12:20) Н...   Jun 2 2014, 03:52
|- - demiurg_spb   Цитата(jcxz @ Jun 2 2014, 12:02) Не хвати...   Jun 2 2014, 04:26
|- - jcxz   Как это не важно? А как вы их потом разбирать на о...   Jun 2 2014, 04:40
|- - demiurg_spb   Цитата(jcxz @ Jun 2 2014, 12:50) Как это ...   Jun 2 2014, 04:53
|- - adnega   Цитата(demiurg_spb @ Jun 2 2014, 13:03) П...   Jun 2 2014, 05:12
||- - demiurg_spb   Цитата(adnega @ Jun 2 2014, 13:22) Не сов...   Jun 2 2014, 05:27
|- - jcxz   Цитата(demiurg_spb @ Jun 2 2014, 15:03) П...   Jun 2 2014, 09:25
|- - demiurg_spb   Цитата(jcxz @ Jun 2 2014, 17:35) Вы счита...   Jun 3 2014, 03:44
|- - adnega   Цитата(demiurg_spb @ Jun 3 2014, 11:54) Я...   Jun 3 2014, 04:04
|- - demiurg_spb   Цитата(adnega @ Jun 3 2014, 12:14) Кажетс...   Jun 3 2014, 04:17
||- - adnega   Цитата(demiurg_spb @ Jun 3 2014, 12:27) Л...   Jun 3 2014, 04:53
|- - jcxz   Цитата(adnega @ Jun 3 2014, 14:14) Тот ва...   Jun 3 2014, 05:09
|- - adnega   Цитата(jcxz @ Jun 3 2014, 13:19) У меня в...   Jun 3 2014, 06:35
|- - jcxz   Цитата(adnega @ Jun 3 2014, 16:45) Теперь...   Jun 3 2014, 11:44
|- - adnega   Цитата(jcxz @ Jun 3 2014, 19:54) По-моему...   Jun 3 2014, 12:48
- - _pv   DCMI на вход вроде до FCLK/2 разгоняется. но всё р...   Jun 2 2014, 06:25
- - A. Fig Lee   А почему проблемы? Потому что не железо подбираетс...   Jun 2 2014, 09:46
|- - adnega   Цитата(A. Fig Lee @ Jun 2 2014, 17:56) А ...   Jun 2 2014, 10:33
|- - jcxz   Цитата(adnega @ Jun 2 2014, 20:43) 4. Точ...   Jun 2 2014, 14:44
- - HHIMERA   Потому что проблема надуманная... Делов то... макс...   Jun 2 2014, 15:18
- - Golikov A.   а как расшифровывается ETR?   Jun 2 2014, 15:33
|- - A. Fig Lee   Цитата(Golikov A. @ Jun 2 2014, 15:43) а ...   Jun 2 2014, 22:15
- - Golikov A.   ЦитатаExternal TRigger спасибо Цитатасчет фотонов...   Jun 3 2014, 00:37
|- - Tanya   Цитата(Golikov A. @ Jun 3 2014, 08:47) ко...   Jun 3 2014, 02:25
- - Леонид Иванович   10 лет назад решал подобную задачу - делал двухкан...   Jun 3 2014, 04:27
- - alexen   Цитата(Xenia @ Jun 4 2014, 00:15) огранич...   Jun 3 2014, 17:34
|- - Леонид Иванович   Цитата(alexen @ Jun 4 2014, 00:44) Таймер...   Jun 3 2014, 17:43
- - alexen   Цитата(Леонид Иванович @ Jun 4 2014, 01:5...   Jun 3 2014, 18:17
|- - jcxz   В LPC17xx - частота периферии получается делением ...   Jun 3 2014, 22:14
- - uu5jkb   Убедили. Потратил некторое время на знакомство с П...   Jul 13 2014, 17:13
- - Golikov A.   Ну... код ничего для начальной курсовой. 1. Капит...   Jul 13 2014, 21:44


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

 


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


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