Прерывания в ардуино

Тема в разделе "Arduino & Shields", создана пользователем TiMoN816, 28 дек 2022.

  1. TiMoN816

    TiMoN816 Нерд

    Всем привет! Прочитал кучу тем про прерывания, но никак не могу понять одну вещь... Везде указывают, что сигнал изменяется от LOW до HIGH или наоборот. Но, какое именно должно быть напряжение? Допустим от изменения от 2 вольт до 3 вольт или наоборот будут считаться сигналом? Или например когда сигнал идет в милливольтах?
     
  2. a1000

    a1000 Гуру

  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Логический ноль (LOW) - напряжение на входе - меньше 1/3 напряжения питания. Логическая единица (HIGH)- напряжение на входе - больше 2/3 напряжения питания. Напряжения между этими границами будут восприняты случайным образом. В зависимости от температуры в основном.
    ПС. Не забываем, что напряжение конкретная микросхема "понимает" только относительно СВОИХ пинов питания (VCC, GND). Поэтому так важна эквипотенциальность шин питания схемы.
    ППС. Точнее - микросхема "понимает" напряжения относительно шин питания НА СВОЁМ КРИСТАЛЛЕ. Поэтому имеют значения как пайки пинов питания так и сами пины.
     
    Последнее редактирование: 28 дек 2022
  4. parovoZZ

    parovoZZ Гуру

    совсем не понятно, причём здесь прерывания.... Уровень срабатывания прописан в даташите и он зависит от напряжения питания. Для Atmel
    upload_2022-12-28_13-12-30.png
    Т.е. любое напряжение, которое меньше, чем 0.3 * V (питания) будет воспринято как НОЛЬ. Для 5-ти вольт это 1.5в и меньше.
    Любое напряжение, которое выше, чем 0.6 * V (питания) будет воспринято как ЕДИНИЦА. Для 5-ти вольт это 3.0в и больше.

    Любые другие напряжения никак не меняют состояние. Соответственно, если мы говорим про прерывания по УРОВНЮ напряжения, то такие изменения прерывание не вызовут.

    Так сделано специально - для обеспечения минимальной помехоустойчивости. Достигается с помощью установки триггера Шмитта во входной цепи.
     
    issaom и Рокки1945 нравится это.
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    А может для максимальной помехоустойчивости ? Или я не уловил вашу мысль ?
     
  6. a1000

    a1000 Гуру

    Ну тут вы загнули. Никакой случайности. Всё зависит от того куда мы движимся. Либо с низу в верх, либо с верху в низ.
     
  7. parovoZZ

    parovoZZ Гуру

    помехи бывают не только по уровню, но и по длительности. Например, в ТЗ говорится: любое устойчивое изменение сигнала длительностью не менее такого значения - это полезный сигнал. Всё остальное - помеха. Классический случай асинхронного сигнала. В этом случае мы не только отслеживаем уровень, но и длительность. Дальше. Всё это выполнили, но длительность помехи оказалась сопоставимой с длительностью полезного сигнала. Что делать? Вводим бит чётности. Хорошо. Помеха коварная и перевернула бит и сам бит чётности. В таком случае борьба с помехой переходит на следующий уровень. Вводим контрольную сумму. Сумму ввели. Но у нас поток и перезапросить битый пакет не можем. Для борьбы с этим явлением вводим избыточность. Хорошо. Битый пакет не только выявили, но и восстановили. Всё хорошо? Нет. Если мы определяем помеху как любой недостоверный сигнал, то вещание злоумышленником в наш канал также будет являться помехой, хотя по всем признакам это достоверный сигнал. Что делать? Придумали криптографию... Вот и получается, что максимальная помехозащищённость где-то там, на горизонте.
     
  8. Airbus

    Airbus Радиохулиган Модератор

    Вообщем без Гудронного колайдера по радио свет в туалете не включить
     
    Ariadna-on-Line и issaom нравится это.
  9. Рокки1945

    Рокки1945 Гуру

    смотря чем это прерывание будет обеспечиваться - механикой или потусторонними силами
     
  10. TiMoN816

    TiMoN816 Нерд

    Всем спасибо за ответы. Почитал и разобрался)