klen 1 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба здравствуйте. задача казалось простой - на stm32f405 идет килогерцовый импульс. по фронту нужно сгенерить импульсную последовательность, в простейшем случае один импульс. схема такая - сделано прерывание по сигнару на ноге (EXTI_Line15) в обработчике прерывания дергаю выходную ногу. засада оказалось в том что выходной импульс имеет джиттер мах 24нс. сначала я рассуждал так - ладно, сигнал асинхронный на входе - может прийти в разную фазу тактового сигнала а прерывание генерится по клоку - вот отсю да и джитер. переделал макетик генератора входного импульса - теперь он стал давать еще и клок, stm запрограммировал на внешний клок - теперь входной сигнал стал "синхронный" однако это ничего не дало. размышления навели на мысль посмтреть одновременно клок и выходной импульс на осцилографе- клок едет :( . для тестирования сделал входной импульс не снаружи а таймером самой stm - и подал его на вход - в такой схеме джитер отсутствует.. что делать... в моем случае даже джитер порядка наносекнд приводит к неработоспособности изделия. можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба навярняко кто нибудь крови испортил на этом ... Испортил, но без толку... В моем случае пришлось PLD прилепить. Могу предложить инверсный вариант - клокать генератор контроллером (не получается правильно - делай наоборот ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба таймером захватывать и этим же таймером потом последовательность импульсов и генерить, тогда джиттера не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 19 февраля, 2014 Опубликовано 19 февраля, 2014 · Жалоба вариант клокать контроллером все - непонравился - нафег тогда было огород город. посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы..... спасибо. ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e-serg 0 20 февраля, 2014 Опубликовано 20 февраля, 2014 · Жалоба ========================================== можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ... делал похожее на таймере STM32F107 TIM_ETR внешний клок, TIM_CH захват события и запуск последовательности сама последовательность проигрывается TIM -> DMA -> GPIO, TIM -> DMA -> TIM джиттер убрал регистром, тактируемым внешним клоком. STM загружает и клокает модуляторы(DDS), запускает АЦП. работает :) вариант клокать контроллером все - непонравился - нафег тогда было огород город. посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы..... спасибо. ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 февраля, 2014 Опубликовано 20 февраля, 2014 · Жалоба GPIO тактируется от APB2 с максимальной частотой 84 MHz, для захвата прерывания нужно 2 такта (наверное), отсюда и неопределенность на 24 ns. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться