Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: генерация импульса по фронту внешнего сигнала
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
klen
здравствуйте.
задача казалось простой - на stm32f405 идет килогерцовый импульс. по фронту нужно сгенерить импульсную последовательность, в простейшем случае один импульс.

схема такая - сделано прерывание по сигнару на ноге (EXTI_Line15) в обработчике прерывания дергаю выходную ногу.
засада оказалось в том что выходной импульс имеет джиттер мах 24нс. сначала я рассуждал так - ладно, сигнал асинхронный на входе - может прийти в разную фазу тактового сигнала а прерывание генерится по клоку - вот отсю да и джитер. переделал макетик генератора входного импульса - теперь он стал давать еще и клок, stm запрограммировал на внешний клок - теперь входной сигнал стал "синхронный" однако это ничего не дало. размышления навели на мысль посмтреть одновременно клок и выходной импульс на осцилографе- клок едет sad.gif . для тестирования сделал входной импульс не снаружи а таймером самой stm - и подал его на вход - в такой схеме джитер отсутствует..
что делать... в моем случае даже джитер порядка наносекнд приводит к неработоспособности изделия. можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ...
Axel
Цитата(klen @ Feb 19 2014, 18:23) *
навярняко кто нибудь крови испортил на этом ...


Испортил, но без толку... В моем случае пришлось PLD прилепить. Могу предложить инверсный вариант - клокать генератор контроллером (не получается правильно - делай наоборот biggrin.gif ).
_pv
таймером захватывать и этим же таймером потом последовательность импульсов и генерить, тогда джиттера не будет.
klen
вариант клокать контроллером все - непонравился - нафег тогда было огород город.
посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....
спасибо.
ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы
e-serg
Цитата(klen @ Feb 20 2014, 00:23) *
==========================================
можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ...

делал похожее на таймере STM32F107
TIM_ETR внешний клок, TIM_CH захват события и запуск последовательности
сама последовательность проигрывается TIM -> DMA -> GPIO, TIM -> DMA -> TIM
джиттер убрал регистром, тактируемым внешним клоком.
STM загружает и клокает модуляторы(DDS), запускает АЦП.
работает sm.gif
Цитата(klen @ Feb 20 2014, 02:23) *
вариант клокать контроллером все - непонравился - нафег тогда было огород город.
посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....
спасибо.
ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы

ViKo
GPIO тактируется от APB2 с максимальной частотой 84 MHz, для захвата прерывания нужно 2 такта (наверное), отсюда и неопределенность на 24 ns.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.