Страница 437 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 15:59:34
Мikа
Сразу скажу, что в даташите я это не искал, просто вот в голову пришло, решил поделиться))
Представим, что у нас есть оптопара, всё это дело подсоединено к МК. При перекрытии на ноге INT1 будет 1.
Мы ловим прерывание по нарастающему фронту.
А теперь внимание, вопрос.
Что если мы протащим через датчик нечто синусоидальное или пилообразное?
Если очень грубо, то у нас было 0 вольт на ноге. Занесли пилу и по первому зубу у нас напряжение возрасло от 0, допустим до 3в. Тут зуб пошёл на спад, напряжение снова падает, но не до 0, а, допустим, до 1в. Начинается следующий зуб и тп. 0 будет только тогда, когда предмет полностью уберём.
Нога будет реагировать на каждое новое возрастание фронта или только 1 раз, а следующая реакция будет после того, как мы полностью уберём предмет и поднесём снова?

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 16:23:39
Engineer_Keen
В таблице DC характеристик есть такие параметры как входное напряжение "0" и "1", вот если напряжение с оптопары (или любого другого датчика) пересечет эти значения, то будет реакция.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 19:56:11
Alexeyslav
На входе стоит триггер шмидта, реагировать будет на переход между состояниями этого триггера - т.е. через определенный уровень при возрастании и немного другой уровень при снижении напряжения.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:08:37
Мikа
Не, про 0 и 1 - это я читал. У меня вопрос стоит именно о прерывании по нарастающему фронту

Щас эксперимент проведу))
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:17:45
Alexeyslav
Прерывание то срабатывает по сигналу с ВЫХОДА триггера шмидта, там четкие 1 и 0 которые переключаются исключительно по определенным порогам входного напряжения. Сигнал пересекает эти два порога - точно будет срабатывание, пересекает один порог - сигнал будет однократный, не дотягивает ни до одного из порогов - ничего не будет.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:24:58
Мikа
А в чем же тогда разница между прерыванием по 0 и прерыванием по нарастающему и спадающему фронту? Большая чувствительность, то есть меньшая разница между порогами?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:39:46
Alexeyslav
Разница только в том что прерывание по уровню активно всегда когда имеется этот самый уровень на выводе, а по фронту - возникает только в моменты перехода 1->0 или 0->1
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:48:28
Мikа
Вот это вы мне ща шаблон-то разорвали Оо
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 17, 2013 20:53:43
Alexeyslav
Главное чтобы не мозг.

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб май 18, 2013 21:48:11
1essor1
Маленький вопросец. Пишу в AVR Stusio на Асме. Как программно заставить контроллер перезагрузится?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб май 18, 2013 21:49:26
ibiza11
rjmp Reset
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб май 18, 2013 21:52:24
1essor1
И все? так просто?)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб май 18, 2013 23:03:56
Alexeyslav
В общем случае перед этим еще прерывания запретить.
Или еще метод камикадзе - разрешить вач-дог и уйти в бесконечный цикл, через интервал на который настроен вач-дог контроллер перезагрузится.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 00:07:53
a_skr
это не метод камикадзе, это метод самый правильный
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 00:14:18
1essor1
Ну посути ведь, если я просто прыгну на Ресет, то настройки всяких таймеров, портов, прерываний и т.п. не сбросятся ведь.
А ватчдог, сделает перезагрузку эквивалентную подаче нуля на RESET, так ведь?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 00:20:59
a_skr
для 100%-го результата - отдельную ножку на ножку ресета завести
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 07:25:46
SmarTrunk
Это если свободные ножки есть.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 08:38:50
Alexeyslav
то настройки всяких таймеров, портов, прерываний и т.п. не сбросятся ведь.
Если это так то у вас огромные проблемы будут возникать на ровном месте. Начальную инициализацию провести по полной программе не надеясь на "умолчания" и все будет пучком. Вач-дог так же не приводит к эффекту "сброса" периферия остается в неизвестном состоянии, регистры не очищаются... и в специальном регистре даже можно узнать что сброс произошел по причине срабатывания вач-дога.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 09:31:18
1essor1
Alexeyslav, у меня ест инклудник, упертый у Ди Хальта с изиэлектроникс - там только иницилизируется стек, очищается ОЗУ и регистры. Что еще туда целесообразно добавить? Полную очистку настроек периферии? Сброс, возможно установленных флагов прерываний?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс май 19, 2013 10:44:55
Alexeyslav
Добавлять ничего не надо. Ваша программа по сбросу делает все что нужно для установки необходимого состояния переферии, а та периферия что не используется - в инициализации и не нуждается - её состояние в процессе работы менятся не будет. Все что нужно для того чтобы гарантировать сброс переходом на нулевой вектор - запретить прерывания и чтобы инициализация НЕ ЗАВИСЕЛА от состояния регистров, RAM и может быть EEPROM. Так же было бы неплохо в процессе инициализации периферии требующей прерываний сбрасывать признак прерывания после разрешения прерывания и инициализации переферии. В момент аппаратного сброса признаки все и так сброшены, а вот в течение программного сброса они могут возникнуть в момент инициализации и сработает прерывание после глобального разрешения прерываний. Это будет происходить очень редко! Например перед программным сбросом таймер был в состоянии еще чуть-чуть и прерывание, мы прерывание запретили но таймер досчитал и установил признак прерывания еще до того как мы инициализировали его заново - в результате будет прерывание сразу по окончанию процедуры инициализации. Иногда это не важно, иногда это может быть очень критичным. Вероятность такого поведения очень мала - в процессе отладки на такую ситуацию можно не нарваться, но рабочий вариант будет "чудить" раз в сутки-месяц-год...
В большинстве случаев ничего плохого не будет, но иметь в виду стоит.