Перейти к содержанию
    

Как на самом деле создать D-триггер со счетным входом по фронту?

3 часа назад, EdgeAligned сказал:

Нельзя? Вау

Нельзя, потому что выход триггера в общем случае не определён. Лог. "0" обычно создают подключением к общему проводу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Plain сказал:

Нельзя, потому что выход триггера в общем случае не определён

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

Проблема "неопределенности" решается на раз, прям как два пальца об асфальт. Итак, следите за пальцами:

00.png.90831030eec410869fab6af0936d2403.png

 

ХОПА! Волшебство новогоднее, чудо рождественское! Вуаля. Вот так, именно вот посему почти все логические компоненты имеют вход Reset и требуют импульса сброса перед началом работы. 

 

Изменено пользователем EdgeAligned
более наглядную картинку поставил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, EdgeAligned сказал:

следите за

Вы по теме не говорите. Повторю, у триггера автора лишь два входа, и нет ни C, ни D — на Ваших картинках не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что тут по теме скажешь, если автор ничего толком сказать сам не может, что за неведомый пепелац он изобретает. У него на картинках одно, в тексте последующих сообщений - другое. В голове - третье, а на деле нужно четвертое 🙂 Поэтому, вообще невозможно понять, что за неведому фигню нужно автору темы. Единственное, что можно понять из текста, это ... так, где эта мессага? аа, вот она:

В 04.01.2024 в 23:37, Nimnull сказал:

Это так: по фронту сбросился, а дальше ему по барабану что на R 1, он снова сбросится только когда R уйдет в 0 и опять даст фронт.

А в первом сообщении картинка обычного D-триггера со входами C и D.
А потом вы же сами предложили:

В 05.01.2024 в 09:12, Plain сказал:

74HC74

А это как раз D-триггер с асинхронными входами R и S. Этот триггер я и показываю на картинках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изначально тема называлась по-другому, никакого D-триггера в названии не было, а был RS-триггер, с синхронным R и асинхронным S, и в 74HC74 таких два.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 74HC74 оба входа R и S - асинхронные, я показывал выше скрины с мануала. Вот в чем засада то, кагбе.

Снимок экрана 2024-01-06 124511.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ответьте мне кто-нибудь: что случится, если D-вход D-триггера (такого как ТМ2) присоединить к плюсу питания, а CLK и R соединить вместе? Будет ли в этом случае на выходе такого триггера получен меандр, если таковой я буду подавать на CLK и R сразу? Могу иначе сформулировать тот же вопрос: успеет ли триггер защелкнуть уровень D (он в этой схеме всегда высокий), если этот триггер сняли с ресета одновременно с началом восходящего фронта на клоке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Симуляция в Протеусе говорит, что да. В действительности, надо смотреть в документах тайминги переходов состояний, ну и проверять на практике. Протеус, хоть и редко, но может ошибаться.

Снимок экрана 2024-01-07 201429.jpg

Однако, смысл этих действий? Это же как x = x.
и поскольку сброс триггера происходит одновременно с переходом CLK и объединенного с ним R, то скважность выходного сигнала в точности повторяет входной:

2024-01-07201855.jpg.2fb37dafdc92e37ab3347fd2a4ad7416.jpg

Ну а если же, как я подозреваю, хотите получить меандр (скважность 2) при любой скважности тактового импульса, тогда быть может вот так будет лучше:

2024-01-07202110.jpg.5aa2c5d0a66f3f6eddbaf8fc63d9f3a3.jpg

Изменено пользователем EdgeAligned
добавил картинки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, EdgeAligned сказал:

В 74HC74 оба входа R и S - асинхронные, я показывал выше скрины с мануала

Это уже не смешно, третий день по десятому кругу.

bad-744.gif.ea922e6c55358003dcf691358bd80f57.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, Plain сказал:

Это уже не смешно, третий день по десятому кругу.

Ну так правильно. Только вы показываете при неактивном сбросе 🙂 R  - он инверсный жеж. Я хоть и давно дискретную логику не применял, но знания еще с юных лет остались. Конечно, за 30 лет с момента изучения могли что-то поменять депутаты в новых чтениях законов дискретной логики, я тут как бы не слежу за ситуацией. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 минут назад, EdgeAligned сказал:

Однако, смысл этих действий? Это же как x = x.
и поскольку сброс триггера происходит одновременно с переходом CLK и объединенного с ним R, то скважность выходного сигнала в точности повторяет входной:

Смысл моих действий в том, что я хочу оценить степень корреляции двух генераторов меандров. А именно настроена на то, что меандр от 1-го генератора я буду подавать на входы CLK+R триггера, а на его вход D подавать меандр от 2-го генератора. Задумка такая: в случае, когда в момент восходящего фронта 1-го генератора меандр 2-го генератора находится в высокой/положительной фазе, то на выходе триггера я получу импульс близкий к тому, какой подавала на CLK+R. А если в этот момент меандр 2-го генератора находится в нулевой/низкой фазе, то никакого импульса я не получу. Отсюда следует, что считая одним счетчиком импульсы от 1-го генератора, а вторым счетчиком импульсы с выхода триггера, можно получить как общее число импульсов (по 1-му счетчику), так и число совпадений (по 2-му счетчику). В случае отсутствия корреляции между генераторами второе число ожидается равным половине от первого, тогда как значительное отклонение его от 50% свидетельствовало бы о наличии корреляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно попробовать элемент 2-XOR. Его таблица истинности такова, что при одинаковых уровнях на обеих входах на выходе будет 0, а если на входах уровни различны, на выходе появится 1. 

Так же, можно просто считать число импульсов за некоторый период времени двумя раздельными двоичными счетчиками, но с общим сбросом и общим входом разрешения счета. По истечении периода времени счета сравнивать значения двух счетчиков с помощью магнитудного компаратора кода 74HC85. 

 

Изменено пользователем EdgeAligned

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, EdgeAligned сказал:

Ну так правильно. Только вы показываете при неактивном сбросе

Естественно, потому что так написано в ТЗ у автора, что сброс требуется не асинхронный — следовательно, данный вход 74HC74 должен быть не задействован, что и видно в вышепоказанной Табл.4 паспорта, которую Вы не показывали — соединяете выводы ИС согласно ей, вход C называете "R", и на этом всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я не пойму вашей затеи. Что с чем соединить и что куда подать. Покажите, плиз, пальцем, что куда подать.

Если имеете ввиду вот это:

01.thumb.png.68b48d7ba2edf30d935d327e49f2f5d6.png

то скажу, что к сожалению, это не работает так, как вы представляете себе и как того хотел бы топикстартер.  Активный 0 на входе S запрещает смену состояния через тактовый вход CLK, а так же имеет приоритет над активным R = 0, выставляя на обоих выходах Q = ~Q = 1. Поэтому, чтобы установить Q = 0 в этой схеме, нужно перевести S в неактивное состояние, и только после этого тактовые импульсы начнут передавать на выход состояние входа, и только после этого фронт сигнала Rp (на схеме) сможет сбросить выход Q в 0.
Соединение CLK (3) c R(1) так же не даст результата по причине приоритета входа установки S.

 

Изменено пользователем EdgeAligned

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, EdgeAligned сказал:

Можно попробовать элемент 2-XOR. Его таблица истинности такова, что при одинаковых уровнях на обеих входах на выходе будет 0, а если на входах уровни различны, на выходе появится 1. 

От элемента XOR ровно столько же толку, как от элемента AND - оба для моих целей не годятся. Вот если бы на выходе таких элементов у меня стоял не счетчик, а интегратор, суммирующий время, в течение которого сигнал на его входе бывает высоким/положительным, то величину корреляции этим способом я могла бы измерить. Но когда у меня на выходе счетчик импульсов, то он одинаково прибавит единичку, как в том случае, когда после схемы AND верхние полочки обоих меандров частично перекрываются, так и в случае, когда после схемы XOR они частично не перекрываются. Т.е. счетчик суммирует не ширину импульсов, а только их количество. Тогда как элементы AND или XOR выдадут импульсы почти в любом случае, поскольку ЧАСТИЧНОЕ перекрывание имеет место почти всегда, а при частичном перекрывании всегда есть как совпадающая, так и несовпадающая области.

На этот счет у меня была даже идея-фикс - подать первый меандр на клок SCLK шины SPI, а второй меандр на MISO той же шины, чтобы потом посчитать число нулей и единичек в полученных байтах. Но к сожалению, интерфейс SPI между приемами разных байтов на какое время "слепнет", из-за чего будет пропускать такты. Т.е. на триггере оно было бы и надежнее, и быстрее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...