Я изучаю микропроцессорную архитектуру 8085, и слово «триггеры» и «триггеры уровня» меня очень сильно смущают. Может кто-нибудь объяснить мне это в словах непрофессионала?
Изучая прерывания 8085 с именами RST 7.5, RST 6.5, RST 5.5 и TRAP, я столкнулся с этими словами, и они меня смутили. Здесь я приложил одну ссылку на документ, из которой я читал, и я упомянул мои диаграммы путаницы.
в документе RST 7.5 -> Edge triggered RST 5.5 -> Level triggered. TRAP -> Edge срабатывает и Level срабатывает. (почему? это имеет какое-то значение?).
interrupts
8085
level
trigger
trapaank
источник
источник
Ответы:
Я действительно не читал ваш документ, но я понимаю, почему вы смущены. Но это действительно очень простая концепция. Позволь мне объяснить.
Запуск: это означает, что цепь активна. Активизация схемы означает, что она может принимать входной сигнал и выдавать выходной сигнал. Как, например, предполагается, что у нас есть триггер. Когда схема не сработает, даже если вы дадите некоторые входные данные, она не изменит данные, хранящиеся в триггере, и не изменит выход Q или Q '. Сейчас есть в основном два типа запуска. Запуск дается в виде тактового импульса или стробирующего сигнала. В зависимости от типа используемого механизма запуска цепь станет активной в определенных состояниях тактового импульса.
Запуск по уровню: при запуске по уровню цепь станет активной, когда стробирующий или тактовый импульс находится на определенном уровне. Этот уровень определяется дизайнером. У нас может быть срабатывание отрицательного уровня, при котором схема активна, когда тактовый сигнал низкий, или срабатывание положительного уровня, при котором цепь активна, когда синхросигнал высокий.
Запуск по фронту : При запуске по фронту цепь становится активной на отрицательном или положительном фронте тактового сигнала. Например, если цепь запускается по положительному фронту, она будет принимать входные данные именно в то время, когда тактовый сигнал переходит от низкого уровня к высокому. Точно так же вход берется точно в то время, когда тактовый сигнал переходит от высокого к низкому при срабатывании отрицательного фронта. Но имейте в виду, что после ввода он может быть обработан все время до следующего ввода.
Это общее описание запускающих механизмов, которые также применяются к прерываниям 8085.
источник
На 8085 TRAP - это немаскируемое прерывание, обычно используемое для обработки ошибок, таких как сбой питания.
Если бы это было вызвано уровнем, его код никогда не мог бы выполняться, потому что это немаскируемое прерывание. Обработчик начнет исполняться, когда он станет активным, но он все равно будет активным, поэтому обработчик начнет исполняться, но он все еще будет активным, поэтому обработчик начнет исполняться и т. Д. И т. Д. И т. Д. Поэтому он должен запускаться по фронту ,
Тем не менее, запуск по краю является проблемой, когда линия может иметь глюки. Глюки могут вызывать многократный вызов обработчика по мере глючения строки. Это очень большая проблема с TRAP, так как он не маскируется и приводит к RST.
В качестве компромисса TRAP работает, как если бы он срабатывал на уровне, за исключением того, что он распознается только тогда, когда он был низким с момента последнего распознавания. Это гарантирует, что обработчик TRAP вызывается только один раз.
Это то, что они подразумевают под «сработавшим фронтом и сработавшим уровнем».
источник
* Запуск * означает активацию цепи. При срабатывании уровня цепь станет активной, когда стробирующий или тактовый импульс находится на определенном уровне. При запуске по фронту цепь становится активной на отрицательном или положительном фронте тактового сигнала.
источник
Голож и всз утверждают это:
Таким образом, он будет выходить и снова входить в ISR снова и снова, пока штырь низкий.
У меня сложилось впечатление, что на самом деле никто не ответил, что значит быть запущенным как на уровне, так и на уровне. И я не имею, либо.Ответ Д. Крюгера правильно объясняет, что значит быть как на уровне, так и на границе. (По крайней мере, его ответ звучит правильно для меня, хотя я не знаком с 8085-м.) Ответ Голаза и VSZ предполагает, что прерывание маскируется. Я до сих пор не уверен, как «за исключением того, что он распознается только тогда, когда он был низким с момента последнего распознавания». отличается от того, чтобы быть вызванным краем, как бы то ни было.
источник