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

CAPTURE ЗАТЯНУТОГО ФРОНТА

Дайте совет. Измеряю длительность интервалов принимемых на вход ICP в прерывании ICP по фронту и срезу сигнала. Интервалы тактируются ЧАСТОТОЙ 18кгц и принимаются через 561лн2 на вход ICP .У ATMEGA КВАРЦ 10МГЦ. Где-то 2 - 3 раза на 100 принимаемых пакетов неправильно входит прерывание ICP так как сразу после входа в прерывание по фронту ICP проверяю состояние пина

ICP и он в нуле . Помех в линии нет ,подозрение на генерацию на затянутых фронтах на связке

atmega - 561лн2 , тригеры шмидта не помогли .Помогите устранить эти ошибки

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


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

Дайте совет. Измеряю длительность интервалов принимемых на вход ICP в прерывании ICP по фронту и срезу сигнала. Интервалы тактируются ЧАСТОТОЙ 18кгц и принимаются через 561лн2 на вход ICP .У ATMEGA КВАРЦ 10МГЦ. Где-то 2 - 3 раза на 100 принимаемых пакетов неправильно входит прерывание ICP так как сразу после входа в прерывание по фронту ICP проверяю состояние пина

ICP и он в нуле . Помех в линии нет ,подозрение на генерацию на затянутых фронтах на связке

atmega - 561лн2 , тригеры шмидта не помогли .Помогите устранить эти ошибки

 

Возьми быстродействующий тригер Шмидта серии 74HC - это раз. Включи в конфигурации ICP распознавание по 3 семплам (Noise Canceller) - это два. Грамотно было бы еще после прихода ICP блокировать его следующий приход на время, задаваемое из расчета минимального времени между изменениями входного сигнала. В сумме все эти методы должны помочь.

 

PS И не забывай о конденсаторах по питанию.

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


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

при использовании захвата вывод порта Pxx соответствующий ICP должен быть сконфигурирован на ввод . схема подавления дребезга(помех) у вас включена?

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


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

Дайте совет. Измеряю длительность интервалов принимемых на вход ICP в прерывании ICP по фронту и срезу сигнала. Интервалы тактируются ЧАСТОТОЙ 18кгц и принимаются через 561лн2 на вход ICP .У ATMEGA КВАРЦ 10МГЦ. Где-то 2 - 3 раза на 100 принимаемых пакетов неправильно входит прерывание ICP так как сразу после входа в прерывание по фронту ICP проверяю состояние пина

ICP и он в нуле . Помех в линии нет ,подозрение на генерацию на затянутых фронтах на связке

atmega - 561лн2 , тригеры шмидта не помогли .Помогите устранить эти ошибки

 

Возьми быстродействующий тригер Шмидта серии 74HC - это раз. Включи в конфигурации ICP распознавание по 3 семплам (Noise Canceller) - это два. Грамотно было бы еще после прихода ICP блокировать его следующий приход на время, задаваемое из расчета минимального времени между изменениями входного сигнала. В сумме все эти методы должны помочь.

 

PS И не забывай о конденсаторах по питанию.

Пин включен на вход и подтянут к питанию ,я не понял почему по 3 сэмплам а не по 4 , а если блокировать ICP то надо точно знать что пришедший фронт не ложный иначе могу пропустить

истинный фронт

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


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

...Интервалы тактируются частотой...

Может здесь возникает глюк. Тактовый сигнал приходит в момент, когда измеряемый интервал вот-вот захлопнется, то есть он еще успевает запустить прерывание, но к моменту обработки его уже нет.

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


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

Посмотрите качество питающего напряжения на 561лн2 (возможны помехи - заблокируйте их конденсатором 0.1uF). 561лн2 на порядок по скоростным характеристикам проигрывает 74HC (Вам об этом уже говорили, так что подтверждаю). Сигнал (18кгц) должен перебороть помеху, так что оптимально расчитайте входное считывание его четверь периода для установления истинности присутствия. А если выход (561лн2) очень высокоомный и на нем присутствует большая помеха используйте схемы с открытым коллектором.

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


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

были похожие проблемы с icp.спад(подъем) фрронта должен быть как можно круче.при измерении длительности интервалов число в таймере не доводят до около максимальных значений,иначе ждите сбоев(используют предделители)-этим же способом борются с плавным спадом(подъемом) импульса.считывание из регистра icr - как можно быстрее,и,кроме того еще и за 2 такта(если число 16-битное).и вообще,имея процессор зачем нужен триггер на входе,вносящий задержку и приводящий к неточности в измерениях,ведь все решается программным путем!

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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