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

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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(uu5jkb @ Jun 1 2014, 17:43) *
Это нормально, импульсы идут от ФЭУ, а там пришёл фотон или два, или не пришло вообще - не предскажешь.

Если мне память не изменяет... счет фотонов имеет преимущество перед аналоговым интегрированием при скорости импульсов меньше миллиона в секунду.
Или уже не так?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 3 2014, 00:37
Сообщение #32


Гуру
******

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



Цитата
External TRigger

спасибо

Цитата
счет фотонов имеет преимущество перед аналоговым интегрированием при скорости импульсов меньше миллиона в секунду

когда конденсатор дешевле счетчика, мне кажется... При честном счете получается более прозрачный результат, без сомнений и калибровок, это похоже на решение задачи в лоб грубой силой, за счет того что компоненты дешевеют. И я бы реально воткнул бы туда FPGA и все бы спокойнехенько пересчитал...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jun 3 2014, 02:25
Сообщение #33


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Golikov A. @ Jun 3 2014, 08:47) *
когда конденсатор дешевле счетчика, мне кажется... При честном счете получается более прозрачный результат, без сомнений и калибровок, это похоже на решение задачи в лоб грубой силой, за счет того что компоненты дешевеют. И я бы реально воткнул бы туда FPGA и все бы спокойнехенько пересчитал...

Нет. Причина в "наползании или слиянии" импульсов. И счет становится все более нечестным по мере увеличения вероятности наползания. При малых освещенностях основной выигрыш за счет убирания теплового фона - дискриминации импульсов по амплитуде при счете.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 3 2014, 03:44
Сообщение #34


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

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



Цитата(jcxz @ Jun 2 2014, 17:35) *
Вы считаете что DMA работает на частоте, превышающей частоту CPU? biggrin.gif
К чему этот юмор? Конечно не считаю.
Я предварительно оценил максимальную синхронную частоту захвата до 16 каналов дискретного ввода, при использовании DMA в сообщении №19.
И я уверен, что есть ряд задач (например не слишком шустрый логический анализатор), где его можно использовать.
Увы не в этот раз.
Цитата
Где это он такое говорит?
В первом сообщении ТС.
Цитата
И какая тут ещё может быть параллельная обработка процессором?
Такая, о которой я уже три раза вам говорил.


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


Гуру
******

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



Цитата(demiurg_spb @ Jun 3 2014, 11:54) *
Я предварительно оценил максимальную синхронную частоту захвата до 16 каналов дискретного ввода, при использовании DMA в сообщении №19.
И я уверен, что есть ряд задач (например не слишком шустрый логический анализатор), где его можно использовать.
Увы не в этот раз.

Кажется, у модуля DCMI больше шансов быть задействованным в логическом анализаторе.
Тот вариант, который предлагаете Вы тоже имеет право на жизнь. Таким образом я успешно реализовал самодиагностику линии CAN (обрыв, КЗ, норма, доминанта), о чем года три назад писал на форуме. Связка TIM, DMA и GPIO на аппаратном уровне как раз в той задаче, когда, работая по прерываниям, уже не успеваешь.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 3 2014, 04:17
Сообщение #36


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

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



Цитата(adnega @ Jun 3 2014, 12:14) *
Кажется, у модуля DCMI больше шансов быть задействованным в логическом анализаторе.
Это здорово!
Цитата
Связка TIM, DMA и GPIO на аппаратном уровне как раз в той задаче, когда, работая по прерываниям, уже не успеваешь.
Любопытно... У Вас не сохранилось ссылочки на ту тему?


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


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



10 лет назад решал подобную задачу - делал двухканальный счетчик фотонов (http://www.spetspribor.info/products/laboratory/cnt-202.html). Для получения нулевого мертвого времени использовался метод двух счетчиков. Логика реализована на CPLD. Как мне кажется, использовать дляданной задачи таймеры процессора, это что топором бриться.


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 3 2014, 04:53
Сообщение #38


Гуру
******

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



Цитата(demiurg_spb @ Jun 3 2014, 12:27) *
Любопытно... У Вас не сохранилось ссылочки на ту тему?

Тут только назначение. Кста, вы тоже были в той теме)
Тему с аппаратной реализацией пока найти не могу.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 3 2014, 05:09
Сообщение #39


Гуру
******

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



Цитата(adnega @ Jun 3 2014, 14:14) *
Тот вариант, который предлагаете Вы тоже имеет право на жизнь. Таким образом я успешно реализовал самодиагностику линии CAN (обрыв, КЗ, норма, доминанта), о чем года три назад писал на форуме. Связка TIM, DMA и GPIO на аппаратном уровне как раз в той задаче, когда, работая по прерываниям, уже не успеваешь.

У меня в нескольких проектах на LPC17xx так реализован программный UART (аппаратных не хватает). Не только RX, но и TX.
С честным оверсэмплингом ==16.
И дело не в неуспевании. Зачем лишне грузить CPU?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 3 2014, 06:35
Сообщение #40


Гуру
******

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



Цитата(jcxz @ Jun 3 2014, 13:19) *
У меня в нескольких проектах на LPC17xx так реализован программный UART (аппаратных не хватает). Не только RX, но и TX.
С честным оверсэмплингом ==16.
И дело не в неуспевании. Зачем лишне грузить CPU?

В той задачке, которую решал я работало только на уровне оптимизации по скорости. Как правило нижняя частота на шине CAN некоторыми Phy ограничивается аппаратно. Поэтому тайминги жесткие. Суть проблемы в том, что было предложено решение (пост обработка захваченных данных), которое к данной задаче не очень подходит, но успешно используется в других задачах (мы с Вами привели по реальному примеру).

Теперь, если вернуться к исходной задаче - подсчет импульсов с максимальной пиковой частотой 100МГц (а лучше до 400МГц) при средней частоте (за 20мс) 25МГц без внешних компонентов средствами STM32F40x, то я решения не вижу.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 3 2014, 11:44
Сообщение #41


Гуру
******

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



Цитата(adnega @ Jun 3 2014, 16:45) *
Теперь, если вернуться к исходной задаче - подсчет импульсов с максимальной пиковой частотой 100МГц (а лучше до 400МГц) при средней частоте (за 20мс) 25МГц без внешних компонентов средствами STM32F40x, то я решения не вижу.

По-моему - это уже даже ТСу ясно biggrin.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 3 2014, 12:48
Сообщение #42


Гуру
******

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



Цитата(jcxz @ Jun 3 2014, 19:54) *
По-моему - это уже даже ТСу ясно biggrin.gif

Но если ТС согласится на внешнюю обвязку (придется сфомулировать некоторые критерии: цена, площадь, необходимость прошивки и т.п.), то обсуждение может выйти на новый виток)
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jun 3 2014, 16:05
Сообщение #43


Гуру
******

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



Цитата(adnega @ Jun 1 2014, 14:11) *
Кста, это, пожалуй, единственный пример асинронного таймера, но ограничения по частотам наложены суровые.
Вроде в AVR есть асинхронный таймер (для часовых целей?).


Воспользуюсь случаем упомянутого всуе AVR поговорить про Х-Мегу. sm.gif Понимаю, что это не совсем правильно в разделе, посвященном ARM, тем более что достичь заданной планки в 10 нс она не может. Тем не менее, здесь содержится идея, которая до сих пор не была упомянута, но могла бы оказаться в нашем деле полезной. Поэтому я сейчас изложу идею в приложении к Х-Меге (мне хорошо знакомой), а специалистов по STM32F попрошу прокомментировать мой пост на предмет возможности переноса этой идеи на STM32F.

Суть идеи в том, что ограничения по рабочей частоте обычно связаны с недостаточностью скорости выборки из флеш-памяти команд, тогда как периферия (и в том числе таймеры!) способна работать на частотах, превышающих номинальную в разы.

Такая возможность зачастую имеется у МК, имеющих встроенный PLL-генератор частоты, синхронизируемый обычным осциллятором (внутренним или внешним). Для этих целей у Х-Меги существует программный множитель (до х31), позволяющий умножать частоту осциллятора. У STM32F, по-видимому, тоже есть такая же возможность, если он работает на частотах 168-180 МГц на кварце, у которого всего 8 МГц.

Помимо PLL-множителя, у Х-Меги есть еще три делителя (A, B и C), через которые частота PLL поступает в CPU и память. Абсолютное большинство пользователей этими делителями не пользуются, т.е. они остаются в положении 1:1 по умолчанию. Т.е. люди сразу умножают частоту кварца или внутреннего RC-осциллятора до рабочей частоты и на этой частоте работают. Однако частоту PLL можно задрать кверху гораздо выше, погасив избыток делителями, чтобы CPU и память по-прежнему получали привычную частоту. Причем это будет не интерлив, когда пропускаются такты, а самый обычный для ядра режим, поскольку ядро не знает, что по дороге частота была повышена в разы, а потом возвращена назад делителями.

А вот таймеры, порты и кое-что еще из периферии можно тактировать той самой высокой промежуточной частотой. При этом "разрешающая частота" таймера может быть увеличена в разы (2-4 раза) против частоты CPU. Ускоряет ли эта идея счет внешних импульсов, я доподлинно не знаю, но то что генерация ШИМ от этого возрастает, ясно написано в руководстве и сопровождается примером программы.

Осталось только выяснить у знающих людей, способен ли STM32F проделывать подобные вещи, т.е. заставить таймеры тактироваться частотой, превышающей номинальную. И если да, то возможно ли этим способом превзойти 180 МГц на таймерах, не занимаясь разгоном ядра?
Go to the top of the page
 
+Quote Post
alexen
сообщение Jun 3 2014, 17:34
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 20-10-11
Из: С-Пб
Пользователь №: 67 865



Цитата(Xenia @ Jun 4 2014, 00:15) *
ограничения по рабочей частоте обычно связаны с недостаточностью скорости выборки из флеш-памяти команд

При необходимости можно запускать часть кода из SRAM.

Таймеры в STM32F не могут тактироваться от промежуточных частот PLL, предельная частота равна частоте ядра. Можно посмотреть в сторону LPC43xx, там официально до 204 МГц и есть 16-канальный модуль SGPIO, возможно его можно использовать в данной задаче.

Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Jun 3 2014, 17:43
Сообщение #45


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(alexen @ Jun 4 2014, 00:44) *
Таймеры в STM32F не могут тактироваться от промежуточных частот PLL, предельная частота равна частоте ядра.


Например, в F3 таймеры TIM1 и TIM8 могут тактироваться от 144 МГц при частоте ядра 72 МГц.


--------------------
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:15
Рейтинг@Mail.ru


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