Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Мikа »

Сразу скажу, что в даташите я это не искал, просто вот в голову пришло, решил поделиться))

Представим, что у нас есть оптопара, всё это дело подсоединено к МК. При перекрытии на ноге INT1 будет 1.
Мы ловим прерывание по нарастающему фронту.

А теперь внимание, вопрос.

Что если мы протащим через датчик нечто синусоидальное или пилообразное?

Если очень грубо, то у нас было 0 вольт на ноге. Занесли пилу и по первому зубу у нас напряжение возрасло от 0, допустим до 3в. Тут зуб пошёл на спад, напряжение снова падает, но не до 0, а, допустим, до 1в. Начинается следующий зуб и тп. 0 будет только тогда, когда предмет полностью уберём.

Нога будет реагировать на каждое новое возрастание фронта или только 1 раз, а следующая реакция будет после того, как мы полностью уберём предмет и поднесём снова? :)
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Engineer_Keen »

В таблице DC характеристик есть такие параметры как входное напряжение "0" и "1", вот если напряжение с оптопары (или любого другого датчика) пересечет эти значения, то будет реакция.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

На входе стоит триггер шмидта, реагировать будет на переход между состояниями этого триггера - т.е. через определенный уровень при возрастании и немного другой уровень при снижении напряжения.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Мikа »

Не, про 0 и 1 - это я читал. У меня вопрос стоит именно о прерывании по нарастающему фронту :) Щас эксперимент проведу))
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Прерывание то срабатывает по сигналу с ВЫХОДА триггера шмидта, там четкие 1 и 0 которые переключаются исключительно по определенным порогам входного напряжения. Сигнал пересекает эти два порога - точно будет срабатывание, пересекает один порог - сигнал будет однократный, не дотягивает ни до одного из порогов - ничего не будет.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Мikа »

А в чем же тогда разница между прерыванием по 0 и прерыванием по нарастающему и спадающему фронту? Большая чувствительность, то есть меньшая разница между порогами?
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Разница только в том что прерывание по уровню активно всегда когда имеется этот самый уровень на выводе, а по фронту - возникает только в моменты перехода 1->0 или 0->1
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Мikа »

Вот это вы мне ща шаблон-то разорвали Оо
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Главное чтобы не мозг. 8)
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Маленький вопросец. Пишу в AVR Stusio на Асме. Как программно заставить контроллер перезагрузится?
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ibiza11 »

rjmp Reset
Ставим плюсы: )
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

И все? так просто?)
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

В общем случае перед этим еще прерывания запретить.

Или еще метод камикадзе - разрешить вач-дог и уйти в бесконечный цикл, через интервал на который настроен вач-дог контроллер перезагрузится.
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение a_skr »

это не метод камикадзе, это метод самый правильный
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Ну посути ведь, если я просто прыгну на Ресет, то настройки всяких таймеров, портов, прерываний и т.п. не сбросятся ведь.
А ватчдог, сделает перезагрузку эквивалентную подаче нуля на RESET, так ведь?
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение a_skr »

для 100%-го результата - отдельную ножку на ножку ресета завести
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SmarTrunk »

Это если свободные ножки есть.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

то настройки всяких таймеров, портов, прерываний и т.п. не сбросятся ведь.

Если это так то у вас огромные проблемы будут возникать на ровном месте. Начальную инициализацию провести по полной программе не надеясь на "умолчания" и все будет пучком. Вач-дог так же не приводит к эффекту "сброса" периферия остается в неизвестном состоянии, регистры не очищаются... и в специальном регистре даже можно узнать что сброс произошел по причине срабатывания вач-дога.
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Alexeyslav, у меня ест инклудник, упертый у Ди Хальта с изиэлектроникс - там только иницилизируется стек, очищается ОЗУ и регистры. Что еще туда целесообразно добавить? Полную очистку настроек периферии? Сброс, возможно установленных флагов прерываний?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Добавлять ничего не надо. Ваша программа по сбросу делает все что нужно для установки необходимого состояния переферии, а та периферия что не используется - в инициализации и не нуждается - её состояние в процессе работы менятся не будет. Все что нужно для того чтобы гарантировать сброс переходом на нулевой вектор - запретить прерывания и чтобы инициализация НЕ ЗАВИСЕЛА от состояния регистров, RAM и может быть EEPROM. Так же было бы неплохо в процессе инициализации периферии требующей прерываний сбрасывать признак прерывания после разрешения прерывания и инициализации переферии. В момент аппаратного сброса признаки все и так сброшены, а вот в течение программного сброса они могут возникнуть в момент инициализации и сработает прерывание после глобального разрешения прерываний. Это будет происходить очень редко! Например перед программным сбросом таймер был в состоянии еще чуть-чуть и прерывание, мы прерывание запретили но таймер досчитал и установил признак прерывания еще до того как мы инициализировали его заново - в результате будет прерывание сразу по окончанию процедуры инициализации. Иногда это не важно, иногда это может быть очень критичным. Вероятность такого поведения очень мала - в процессе отладки на такую ситуацию можно не нарваться, но рабочий вариант будет "чудить" раз в сутки-месяц-год...

В большинстве случаев ничего плохого не будет, но иметь в виду стоит.
Ответить

Вернуться в «Разные вопросы по МК»