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

генерация импульса по фронту внешнего сигнала

здравствуйте.

задача казалось простой - на stm32f405 идет килогерцовый импульс. по фронту нужно сгенерить импульсную последовательность, в простейшем случае один импульс.

 

схема такая - сделано прерывание по сигнару на ноге (EXTI_Line15) в обработчике прерывания дергаю выходную ногу.

засада оказалось в том что выходной импульс имеет джиттер мах 24нс. сначала я рассуждал так - ладно, сигнал асинхронный на входе - может прийти в разную фазу тактового сигнала а прерывание генерится по клоку - вот отсю да и джитер. переделал макетик генератора входного импульса - теперь он стал давать еще и клок, stm запрограммировал на внешний клок - теперь входной сигнал стал "синхронный" однако это ничего не дало. размышления навели на мысль посмтреть одновременно клок и выходной импульс на осцилографе- клок едет :( . для тестирования сделал входной импульс не снаружи а таймером самой stm - и подал его на вход - в такой схеме джитер отсутствует..

что делать... в моем случае даже джитер порядка наносекнд приводит к неработоспособности изделия. можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ...

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


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

навярняко кто нибудь крови испортил на этом ...

 

Испортил, но без толку... В моем случае пришлось PLD прилепить. Могу предложить инверсный вариант - клокать генератор контроллером (не получается правильно - делай наоборот :biggrin: ).

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


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

таймером захватывать и этим же таймером потом последовательность импульсов и генерить, тогда джиттера не будет.

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


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

вариант клокать контроллером все - непонравился - нафег тогда было огород город.

посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....

спасибо.

ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы

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


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

==========================================

можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ...

делал похожее на таймере STM32F107

TIM_ETR внешний клок, TIM_CH захват события и запуск последовательности

сама последовательность проигрывается TIM -> DMA -> GPIO, TIM -> DMA -> TIM

джиттер убрал регистром, тактируемым внешним клоком.

STM загружает и клокает модуляторы(DDS), запускает АЦП.

работает :)

вариант клокать контроллером все - непонравился - нафег тогда было огород город.

посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....

спасибо.

ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы

 

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


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

GPIO тактируется от APB2 с максимальной частотой 84 MHz, для захвата прерывания нужно 2 такта (наверное), отсюда и неопределенность на 24 ns.

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


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

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

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

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

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

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

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

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

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

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