Как ИС узнают, когда происходит переход тактового импульса вниз или вверх?

Название в значительной степени говорит само за себя. Но как большинство микросхем, микроконтроллеров и т. д. узнают, когда тактовый цикл начинает нисходящий или восходящий переход от источника тактового сигнала?

У меня есть для вас умственное упражнение: если у вас есть изображение прямоугольной волны , как бы вы нашли нарастающий и спадающий фронты? Какой умственный процесс вы используете, чтобы определить их? Постарайтесь подробно описать, как вам удается их найти.
Постановка вопроса с точки зрения знания всегда заставляет меня беспокоиться о том, что собеседник может чрезмерно персонифицировать вещи. На случай, если это произойдет, позвольте мне еще раз сказать , что чипу не нужно «знать», он просто должен быть спроектирован так, чтобы функционировать определенным образом, когда это происходит. Ответ до сих пор объяснял, как это сделать.

Ответы (2)

Путем сравнения сигнала в два момента времени.

Учитывая, что реальные ворота имеют ненулевое время распространения, это показывает их упрощение:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

В состоянии покоя IN имеет низкий уровень, поэтому на выходе инвертора высокий уровень. Это приводит к низкому уровню на выходе OUT. Когда IN переключается на высокий уровень, высокий уровень достигает инвертора и затвора с разницей в пикосекунды. В это время инвертор по-прежнему выдает высокий уровень, поэтому логический элемент и переключается на вывод высокого уровня. Затем время распространения инвертора истекает, и его выход переключается в низкий уровень. Это распространяется на вентиль и, который затем переключается на низкий уровень. Этот переход низкий-высокий-низкий на выходе указывает на то, что мы обнаружили передний фронт.

А, это хорошее объяснение. Кстати, я мог видеть, что такая схема вызывает проблемы в высокочастотных приложениях? Игнорируя задержки распространения и скорость электричества, этот отскок никогда не произойдет. Очевидно, в реальной жизни так и есть. Но это имеет смысл.

В общем, они не «знают», когда тактовая линия начинает переход — эффект имеет место где-то посередине между допустимыми состояниями 1 и 0.

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

http://www.electronics-tutorials.ws/sequential/seq_2.html

Он состоит из двух защелок RS (срабатывающих по уровню) с несколькими затворами.

Ведущее устройство блокируется от изменений в тот момент, когда часы становятся низкими, и текущее состояние ведущего передается ведомому устройству также при спадающем фронте тактов. Таким образом, вы можете считать, что входы J и K были «сэмплированы» на спадающем фронте тактового сигнала. Если заданные состояния на входах J и K присутствуют немного раньше фронта часов (время установки) и немного позже (время удержания), они будут определять состояние выхода, как только часы достигнут низкого уровня и все установится.

Обратите внимание, что фронт часов требуется для достаточно быстрого перехода «нейтральной зоны» между 1 и 0, когда выходы Q и /Q являются частью логического уравнения для J и K, поскольку они не должны изменяться во время перехода часов (и должен оставаться в силе в течение короткого времени). Что вас подкупает на этот раз, так это задержка распространения ворот. По этой причине для максимальных характеристик времени нарастания/спада тактовой частоты требуются более четкие тактовые сигналы. Если входной тактовый сигнал не гарантирует хорошую четкую форму сигнала, триггер Шмитта или просто большое усиление могут его очистить.

@PhilFrost Да, максимальное время нарастания/спада, минимальная скорость нарастания. Спасибо, отредактирую.
Я думаю, что при использовании схемы «ведущий/ведомый» можно легко и дешево улучшить устойчивость к шуму, сказав, что защелка «ведущий-ведущий» будет захватывать только свой вход, в то время как вход тактового сигнала находится значительно выше середины шины, а «ведомый» будет захватывать свой вход ( выход мастера), когда вход часов значительно ниже середины шины. Я не думаю, что видел, как это много сделало, но может показаться, что это позволило бы устранить все условия гонки при условии, что часы не растут или не падают слишком быстро (что можно было бы обеспечить, используя простую задержку RC) . Такой дизайн был бы немного другим...
... от триггера Шмидта (если часы зашумлены, вход должен быть стабильным в любое время, когда он находится рядом с порогом ведущего-защелки, а выход может не переключаться четко, пока часы не преодолеют порог ведомого переключателя, но если бы все устройства работали от общих часов, выходы были бы чистыми, когда бы кто-нибудь о них не заботился, даже если бы часы были шумными.Есть идеи, широко ли используются такие подходы в наши дни?