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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Счётчик десятинаносекундных импульсов на STM32F4
jcxz
сообщение Jun 2 2014, 04:40
Сообщение #16


Гуру
******

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



Как это не важно? А как вы их потом разбирать на отдельные счётчики будете если не побитно?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2014, 04:53
Сообщение #17


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(jcxz @ Jun 2 2014, 12:50) *
Как это не важно? А как вы их потом разбирать на отдельные счётчики будете если не побитно?

Вы наверное не понимаете суть идеи.
При ПОСТ обработке весь разбор происходит.
А при накоплении данных никакой обработки - только чтение состояния параллельного порта ввода и сохранение в массив.
Ведь ТС ясно говорит, что длительность пачки импульсов не превышает 20мс...
При этом, благодаря ДМА и большому объёму ОЗУ, пост обработку можно проводить параллельно с накоплением второго (теневого) буфера...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 2 2014, 05:12
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(demiurg_spb @ Jun 2 2014, 13:03) *
При этом, благодаря ДМА и большому объёму ОЗУ, пост обработку можно проводить параллельно с накоплением второго (теневого) буфера...

Не совсем понятна идея, как DMA сможет помочь.
С какой частотой DMA может вычитывать с порта? Явно медленнее FCPU/2.
А память на какой частоте работает (а судя по объему нужна внешняя)? Тоже много бальше FCPU/2?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 2 2014, 05:27
Сообщение #19


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(adnega @ Jun 2 2014, 13:22) *
Не совсем понятна идея, как DMA сможет помочь.
С какой частотой DMA может вычитывать с порта? Явно медленнее FCPU/2.
А память на какой частоте работает (а судя по объему нужна внешняя)? Тоже много бальше FCPU/2?
Я про то и говорю, что нужно почитать доку и ответить на эти вопросы.
И тогда станет ясно пройдёт эта идея или нет. Кстати по DMA можно и байты читать, тогда, если линии ввода разместить в одном байте регистра ввода, можно в 2 раза выиграть по памяти.
Я не навязываю эту идею, а просто озвучиваю для ТС. Захочет посчитать всё - прекрасно. Я бы с удовольствием ознакомился с результатами.
Посмотрел сам - вроде как 76нс получается для чтения из порта ввода в память при тактовой 144MHz.
Многовато для этой задачи...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
_pv
сообщение Jun 2 2014, 06:25
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



DCMI на вход вроде до FCLK/2 разгоняется.
но всё равно даже 20мс / 10нс это 2 МегаБайта буфер.
так что счётчик-делитель снаружи всё равно нужен.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jun 2 2014, 07:14
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 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
jcxz
сообщение Jun 2 2014, 09:25
Сообщение #22


Гуру
******

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



Цитата(demiurg_spb @ Jun 2 2014, 15:03) *
При ПОСТ обработке весь разбор происходит.
А при накоплении данных никакой обработки - только чтение состояния параллельного порта ввода и сохранение в массив.

Вы считаете что DMA работает на частоте, превышающей частоту CPU? biggrin.gif
Для регистрациии 10нс-импульсов потребуется считывать с GPIO с частотой как минимум ==200МГц.
CPU выбранный ТС имеет макс. частоту 168МГц.
И это не учитывая что GPIO обычно работает на частоте в разы ниже частоты ядра; не учитывая скорости памяти
(которая к тому-же внешняя понадобится).

Цитата(demiurg_spb @ Jun 2 2014, 15:03) *
Ведь ТС ясно говорит, что длительность пачки импульсов не превышает 20мс...
При этом, благодаря ДМА и большому объёму ОЗУ, пост обработку можно проводить параллельно с накоплением второго (теневого) буфера...

Где это он такое говорит? Вот его слова:
Цитата(uu5jkb @ Jun 1 2014, 19:43) *
Этой дорогой и пойду, если ничего другого не придумаю. Только импульсы от ФЭУ в перерывах между счётом не исчезают, надо будет регистр поставить, который в нужный момент будет их состояния запоминать.

И какая тут ещё может быть параллельная обработка процессором?

Во! если уж так хочется, то я придумал как можно DMA задействовать rolleyes.gif
ТСу не хвататет таймеров в CPU? Не беда! Заводим один источник импульсов на вход SCLK SPI-порта, переводим его в Slave, максимальная разрядность, настраиваем DMA
на приём с него в одно слово ОЗУ (без инкремента/декремента адреса).
И всё! По окончании интервала счёта считываем содержимое числа оставшихся пересылок DMA-канала, умножаем на разрядность SPI, делим на 2 - получаем число импульсов. cheers.gif
Хотя тут тоже - нужна разрядность SPI хотя-бы 16 (лучше - больше), и желательно - FIFO в SPI. И не забываем про счётчики-делители на входе перед CPU!
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jun 2 2014, 09:46
Сообщение #23


Знающий
****

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



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


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 2 2014, 10:33
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(A. Fig Lee @ Jun 2 2014, 17:56) *
А почему проблемы? Потому что не железо подбирается под задачу, а идет попытка впихнуть молотком трудновпихуемое

Согласен. Но правильно ли мы понимаем задачу?
Насколько я понял:
1. Нужен механизм фиксации импульсов, которые могут приходить с очень маленькой задержкой между собой (эквивалентно макс. 400МГц).
2. Средняя частота импульсов гораздо ниже.
3. Нужно много таких счетных каналов.
4. Точный, с точностью до импульса, счет не нужен, т.к. в таких задачах всегда применяется значительное усреднение.

Если допустимо использование внешних компонентов, то я бы поставил N счетчиков делителей - выходы счетчиков завел на EXTI-прерывания.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Jun 2 2014, 14:23
Сообщение #25


Местный
***

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



Цитата(A. Fig Lee @ Jun 2 2014, 14:24) *
Да?
A что означает фраза

"Поднимите мне веки!"(С)
И причём здесь асинхронный предделитель к синхронному счётчику???
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 2 2014, 14:44
Сообщение #26


Гуру
******

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



Цитата(adnega @ Jun 2 2014, 20:43) *
4. Точный, с точностью до импульса, счет не нужен, т.к. в таких задачах всегда применяется значительное усреднение.
Если допустимо использование внешних компонентов, то я бы поставил N счетчиков делителей - выходы счетчиков завел на EXTI-прерывания.

Позвольте развить Вашу мысль далее wink.gif
ТС не указал требований по точности счёта. Какая допустимая погрешность в кол-ве импульсов?
А то решение может быть очень простым и сердитым:
Формирователь импульса на каждый канал (нормирует амплитуду и длительность). После него -
обычный аналоговый интегратор, а-ля - RC-цепочка. После - АЦП.
У меня так в стареньком дозиметре сделано. Вроде ещё на K572ПВ чего-то там.
Там тоже импульсы от пролетающих через разрядники гамма-квантов и бета-частиц так считаются.
И хватит даже AVR или MSP430.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jun 2 2014, 15:08
Сообщение #27


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(HHIMERA @ Jun 2 2014, 22:33) *
"Поднимите мне веки!"(С)
И причём здесь асинхронный предделитель к синхронному счётчику???


А почему вообще счетчик синхронный? Ведь полным полно микросхем-счетчиков, хотя бы типа К155ИЕ7 sm.gif. И никакой синхронизации для своей работы они не требуют. Отчего вдруг появилась синхронизация, когда в качестве счетчика работает таймер? Считал бы себе, как большинство счетчиков по восходящему фронту.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Jun 2 2014, 15:18
Сообщение #28


Местный
***

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



Потому что проблема надуманная... Делов то... максимум один вечер...
Корпус LQFP100... чтобы иметь пять таймеров с ETR...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 2 2014, 15:33
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а как расшифровывается ETR?

Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Jun 2 2014, 22:15
Сообщение #30


Знающий
****

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



Цитата(Golikov A. @ Jun 2 2014, 15:43) *
а как расшифровывается ETR?

External TRigger


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

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

 


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


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