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

 
 
 
Reply to this topicStart new topic
> генерация импульса по фронту внешнего сигнала, беда огорчение с джиттером
klen
сообщение Feb 19 2014, 15:23
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



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

схема такая - сделано прерывание по сигнару на ноге (EXTI_Line15) в обработчике прерывания дергаю выходную ногу.
засада оказалось в том что выходной импульс имеет джиттер мах 24нс. сначала я рассуждал так - ладно, сигнал асинхронный на входе - может прийти в разную фазу тактового сигнала а прерывание генерится по клоку - вот отсю да и джитер. переделал макетик генератора входного импульса - теперь он стал давать еще и клок, stm запрограммировал на внешний клок - теперь входной сигнал стал "синхронный" однако это ничего не дало. размышления навели на мысль посмтреть одновременно клок и выходной импульс на осцилографе- клок едет sad.gif . для тестирования сделал входной импульс не снаружи а таймером самой stm - и подал его на вход - в такой схеме джитер отсутствует..
что делать... в моем случае даже джитер порядка наносекнд приводит к неработоспособности изделия. можно ли какнибудь пропустить сигнал через stm c фиксированой но постоянной задержкой? навярняко кто нибудь крови испортил на этом ...
Go to the top of the page
 
+Quote Post
Axel
сообщение Feb 19 2014, 16:40
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



Цитата(klen @ Feb 19 2014, 18:23) *
навярняко кто нибудь крови испортил на этом ...


Испортил, но без толку... В моем случае пришлось PLD прилепить. Могу предложить инверсный вариант - клокать генератор контроллером (не получается правильно - делай наоборот biggrin.gif ).
Go to the top of the page
 
+Quote Post
_pv
сообщение Feb 19 2014, 17:04
Сообщение #3


Гуру
******

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



таймером захватывать и этим же таймером потом последовательность импульсов и генерить, тогда джиттера не будет.
Go to the top of the page
 
+Quote Post
klen
сообщение Feb 19 2014, 17:23
Сообщение #4


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



вариант клокать контроллером все - непонравился - нафег тогда было огород город.
посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....
спасибо.
ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы
Go to the top of the page
 
+Quote Post
e-serg
сообщение Feb 20 2014, 13:13
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180



Цитата(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) *
вариант клокать контроллером все - непонравился - нафег тогда было огород город.
посовещались и пришли к тому что было понятно мне изначально но я верил в чудо - плисина будет клокать модулятор передатчик и ацп приемника ..... а стмка будет как обычно стабилизировать токи, мощности температуру и всякие медленные процессы.....
спасибо.
ЗЫ. ежики-самцы кололись и плакали но упорно продолжали лезть на кактусы

Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 20 2014, 13:40
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



GPIO тактируется от APB2 с максимальной частотой 84 MHz, для захвата прерывания нужно 2 такта (наверное), отсюда и неопределенность на 24 ns.
Go to the top of the page
 
+Quote Post

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

 


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


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