-
- Если я правильно понял Mahagam'а, речь идет не об идентичности длительности импульсов, а о том, что в таблице истинности для 74HC192 на стр. 2, отсутствует состояние по входу, при котором одовременно на оба(!) входа и "CLOCK UP" и USSR(311 знак., 11.02.2013 12:53, )
- Согласен. Можно сделать по-другому. Вход каждой частоты пропустить через D-триггеры тактируемые со сдвигом фазы порядка PI (один -- инверсным сигналом) достаточно высокой (заведомо вдвое большей, чем входная частота). Тогда счётчик однозначно fk0(26 знак., 11.02.2013 13:19)
- Так корректно работать не будет, если вспомнить, что для этого счетчика MinPulseWidth(tW, CPU or CPD)=23[nS], а MinHoldTime(tH, CPD to CPU or CPU to CPD)=16[nS], (стр.5, DS). По крайней мере двух D-триггеров не достаточно. Придется сочинять USSR(60 знак., 11.02.2013 15:43, )
- Никаких RC. В выходов триггеров прямо на вход счётчика. Одновременно импульсы больше не приходят. Что не так? - fk0(11.02.2013 16:55)
- Шо, опять 25? Напоминаю: "эта схема работает корректно, только если положительный фронт на любом счетном входе сопровождается "1" на втором." (С, Dir). Так что без одновибратора никак не обойтись. Но и одновибратор нужен не USSR(499 знак., 11.02.2013 18:24, )
- Хорошо. 4 фазы тактового сигнала. В одной 1-й триггер запоминает вход F1, во второй фазе оба триггера сбрасываются, в третьей фазе запоминается F2 во втором триггере, в четвёртой фазе оба триггера принудительно сбрасываются опять. Никаких fk0(29 знак., 11.02.2013 18:38)
- Именно, что громоздко и притом, что задача решается гораздо проще на нормальном МК за 2$. - USSR(11.02.2013 18:40, )
- Хорошо. 4 фазы тактового сигнала. В одной 1-й триггер запоминает вход F1, во второй фазе оба триггера сбрасываются, в третьей фазе запоминается F2 во втором триггере, в четвёртой фазе оба триггера принудительно сбрасываются опять. Никаких fk0(29 знак., 11.02.2013 18:38)
- Шо, опять 25? Напоминаю: "эта схема работает корректно, только если положительный фронт на любом счетном входе сопровождается "1" на втором." (С, Dir). Так что без одновибратора никак не обойтись. Но и одновибратор нужен не USSR(499 знак., 11.02.2013 18:24, )
- Никаких RC. В выходов триггеров прямо на вход счётчика. Одновременно импульсы больше не приходят. Что не так? - fk0(11.02.2013 16:55)
- Так корректно работать не будет, если вспомнить, что для этого счетчика MinPulseWidth(tW, CPU or CPD)=23[nS], а MinHoldTime(tH, CPD to CPU or CPU to CPD)=16[nS], (стр.5, DS). По крайней мере двух D-триггеров не достаточно. Придется сочинять USSR(60 знак., 11.02.2013 15:43, )
- можно сделать внешнюю схему, обеспечивающую отсутствие таких ситуаций, но мне кажется, что это лишнее. Пояснил ниже - koyodza(11.02.2013 13:03, ссылка)
- верно. неча городить огород из мешка DIP-корпусов для беспилотника. плисину и дело с концом )) будет на 200kHz разницу в доли герца ловить ) и результат при этом выдавать 100 раз в секунду - Mahagam(11.02.2013 13:16)
- плисина тут нах не нужна. Даже в исходном виде задача решается на любой меге с 8-битными таймерами, имеющими внешний вход - koyodza(11.02.2013 13:18, ссылка)
- это если нет требований к точности и частоте выдачи показаний. - Mahagam(11.02.2013 13:27)
- частота выдачи не может быть выше периода измерения, а он озвучен порядка 1 сек. Точность от того, будет это реализовано на МК или ПЛИС никак не зависит - koyodza(11.02.2013 13:33)
- Частоту не обязательно влоб измерять, подсчётом импульсов. - fk0(11.02.2013 13:37)
- то само собой, но задача здесь была поставлена именно так. Про то, что скорее всего вообще всё это делается по-другому, я уже говорил - koyodza(11.02.2013 13:53)
- о. не успел тоже самое написать - Mahagam(11.02.2013 13:39)
- Частоту не обязательно влоб измерять, подсчётом импульсов. - fk0(11.02.2013 13:37)
- частота выдачи не может быть выше периода измерения, а он озвучен порядка 1 сек. Точность от того, будет это реализовано на МК или ПЛИС никак не зависит - koyodza(11.02.2013 13:33)
- это если нет требований к точности и частоте выдачи показаний. - Mahagam(11.02.2013 13:27)
- плисина тут нах не нужна. Даже в исходном виде задача решается на любой меге с 8-битными таймерами, имеющими внешний вход - koyodza(11.02.2013 13:18, ссылка)
- верно. неча городить огород из мешка DIP-корпусов для беспилотника. плисину и дело с концом )) будет на 200kHz разницу в доли герца ловить ) и результат при этом выдавать 100 раз в секунду - Mahagam(11.02.2013 13:16)
- Согласен. Можно сделать по-другому. Вход каждой частоты пропустить через D-триггеры тактируемые со сдвигом фазы порядка PI (один -- инверсным сигналом) достаточно высокой (заведомо вдвое большей, чем входная частота). Тогда счётчик однозначно fk0(26 знак., 11.02.2013 13:19)
- в моменты когда импульсы будут пересекаться, импульс пришедший первым будет блокировать другого. более широкий импульс заглушит короткий с большей вероятностью. вот тебе и систематическая погрешность - Mahagam(11.02.2013 12:48)
- совпадать будет не часто, на максимальной частоте сбойными будут не более 2% импульсов. Поскольку сигналы асинхронны, пропуски счёта будут в обе стороны и взаимно компенсироваться. Плохо только если сигналы окажутся синхронными koyodza(125 знак., 11.02.2013 12:54 - 12:57)
- при разных длительностях - вероятности подавления одного сигнала другим неравны. Mahagam(232 знак., 11.02.2013 13:10)
- Ну откуда 2% то?? А если на оба входа подают имульсы с одинаковой частотой 200 КГц +/- 1 Гц? Там же все 100% импульсов будут сбойными. А если уже счетчик попал в метастабильное состояние, то он может вообще выдать на выходе любое число. :) - USSR(11.02.2013 13:08, )
- если на одном входе импульсы 200кГц +1Гц, а на другом -1Гц, то это идеальная ситуация, значит они не синхронны абсолютно, и счёт будет иметь пренебрежимо малую погрешность. Здесь плохо, если на оба входа подан один и тот же сигнал, koyodza(743 знак., 11.02.2013 13:15)
- погрешность будет скакать ровно с частотой биений, и можно снять показания строго на гребне волны. ну точность компенсации будет таки зависеть от длительности. а Ксения про точность ничего не сказала. - Mahagam(11.02.2013 13:27)
- выше fk0 опередил - koyodza(11.02.2013 13:28, ссылка)
- Я как раз имел ввиду, что на одном входе частота 200000 Гц, а на другом или 199999 Гц или 200001 Гц и стартуют они изначально синфазно. Ну и, конечно, по составленным Ксенией ТЗ спорить, как правило, действительно неуместно. :) - USSR(11.02.2013 13:22, )
- погрешность будет скакать ровно с частотой биений, и можно снять показания строго на гребне волны. ну точность компенсации будет таки зависеть от длительности. а Ксения про точность ничего не сказала. - Mahagam(11.02.2013 13:27)
- не инженер вы, вот koyodza сразу прикидки сделал. импульс в 100ns от периода частоты 200kHz и составляет 2%. Mahagam(59 знак., 11.02.2013 13:14)
- Страдать от метастабильности будут не схемы ИЕ7/ИЕ6, а триггер формирования сигнала UP/DOWN, что не лучше. Update. Пардон, не туда посмотрел. Будут страдать как миленькие. Та схема, та ;) - Dir(11.02.2013 13:36 - 13:41)
- не будут. U/D входы не на клок и данные подаются, а на один и тот же клок. и пока один клок активен - второй тупо заблокирован. а пока блокирующий клок держится - все триггера успеют перебросится. так что никакой метастабильности. или я где-то Mahagam(71 знак., 11.02.2013 13:49)
- Схема сугубо асинхронная и для асинхронных цепей. В метастабильность ее может вогнать критичная длина импульса тактирования на входе первого триггера. Со всеми вытекающими последствиями. Update. Ну может это не совсем метастабильность, но сбойнуть Dir(22 знак., 11.02.2013 14:00 - 14:06)
- а кто же ему даст сбойнуть, мы тут по 100ns импульсы пихаем. я упорно водил пальчиком по схеме но путь метастабильного глюка так и не нашёл ) Mahagam(398 знак., 11.02.2013 14:12)
- Enable тут нет. И общего клока тоже. Перенос в следующий разряд (UP или DOWN) ограничен по длине счетными импульсами. Поэтому сильно ограничивать длину импульсов нельзя. Переноса в следующие разряды (счетчик) может не произойти. - Dir(11.02.2013 14:41 - 14:45)
- Отвлекли... Вообще говоря, эта схема работает корректно, только если положительный фронт на любом счетном входе сопровождается "1" на втором. В противном случае логика работы счетчика полностью нарушается. Dir(195 знак., 11.02.2013 15:46)
- неееет. я не про это. берём первые два триггера в нулевом состоянии, вход down в 1. на вход up подаём хороший и оооочень длинный импульс. первый триггер как положено должен перебросится. а второй? не должен, так как ему состояние выхода первого не Mahagam(218 знак., 11.02.2013 17:19, картинка)
- Отвлекли... Вообще говоря, эта схема работает корректно, только если положительный фронт на любом счетном входе сопровождается "1" на втором. В противном случае логика работы счетчика полностью нарушается. Dir(195 знак., 11.02.2013 15:46)
- Enable тут нет. И общего клока тоже. Перенос в следующий разряд (UP или DOWN) ограничен по длине счетными импульсами. Поэтому сильно ограничивать длину импульсов нельзя. Переноса в следующие разряды (счетчик) может не произойти. - Dir(11.02.2013 14:41 - 14:45)
- не должно, я в своё время с ИЕ6 и ИЕ7 работал, плохого не замечал. Однако мы зря спорим koyodza(193 знак., 11.02.2013 14:10)
- а кто же ему даст сбойнуть, мы тут по 100ns импульсы пихаем. я упорно водил пальчиком по схеме но путь метастабильного глюка так и не нашёл ) Mahagam(398 знак., 11.02.2013 14:12)
- Схема сугубо асинхронная и для асинхронных цепей. В метастабильность ее может вогнать критичная длина импульса тактирования на входе первого триггера. Со всеми вытекающими последствиями. Update. Ну может это не совсем метастабильность, но сбойнуть Dir(22 знак., 11.02.2013 14:00 - 14:06)
- не будут. U/D входы не на клок и данные подаются, а на один и тот же клок. и пока один клок активен - второй тупо заблокирован. а пока блокирующий клок держится - все триггера успеют перебросится. так что никакой метастабильности. или я где-то Mahagam(71 знак., 11.02.2013 13:49)
- Страдать от метастабильности будут не схемы ИЕ7/ИЕ6, а триггер формирования сигнала UP/DOWN, что не лучше. Update. Пардон, не туда посмотрел. Будут страдать как миленькие. Та схема, та ;) - Dir(11.02.2013 13:36 - 13:41)
- если на одном входе импульсы 200кГц +1Гц, а на другом -1Гц, то это идеальная ситуация, значит они не синхронны абсолютно, и счёт будет иметь пренебрежимо малую погрешность. Здесь плохо, если на оба входа подан один и тот же сигнал, koyodza(743 знак., 11.02.2013 13:15)
- ... и классическая проблема гонок и метастабильных состояний для асинхронных схем. - Dir(11.02.2013 12:54)
- совпадать будет не часто, на максимальной частоте сбойными будут не более 2% импульсов. Поскольку сигналы асинхронны, пропуски счёта будут в обе стороны и взаимно компенсироваться. Плохо только если сигналы окажутся синхронными koyodza(125 знак., 11.02.2013 12:54 - 12:57)
- Авотху ;) Не достаточно. Сбоить будет при совпадениях импульсов. - Dir(11.02.2013 12:46)
- При совпадении фронтов импульсов. Сами импульсы могут пересекаться. - USSR(11.02.2013 12:55, )
- Если я правильно понял Mahagam'а, речь идет не об идентичности длительности импульсов, а о том, что в таблице истинности для 74HC192 на стр. 2, отсутствует состояние по входу, при котором одовременно на оба(!) входа и "CLOCK UP" и USSR(311 знак., 11.02.2013 12:53, )