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

Сброс счетчиков в CPLD

Есть проект, уже работающий, НО... проблема заключается в следующем:

При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.

Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

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


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

можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

сделать самосинхронную схему

 

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


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

Добавить схему, которая будет сбрасывать счетчик при значении на выходе, превышающим 10.

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


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

Если есть внешнее тактирование и свободные ресурсы, то поставить компаратор на превышение и формировать импульс сброса.

PS. А разве у Вас не бывает состояний до 12, точнее от 1 до 11? Если бывают, то они разве не мешают?

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


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

резистор конденсатор и диод

 

и вообще штатно счётчик до каких считает?

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


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

два счетчика считают до 9 и сбрасываются при 10-ом нажатии, а один до 10 и сбрасывается при 11-ом соответственно.

 

Судя по вашим ответам, я понимаю нужно сделать так:

ставим AND, на один вход заводим тактовые импульсы от генератора, на другой от компаратора(сравнивает с пороговым числом, после которого сбрасывать), выход AND на схему сброса счетчика.

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


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

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

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


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

Есть проект, уже работающий, НО... проблема заключается в следующем:

При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.

Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

схему или описание на HDL в студию

Какая ПЛИС, конкретнее?

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


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

Можно сделать:

1. Внешний сброс. Совсем несложно. Имеется почти в каждом микроконтроллере и др., полезная штука. Завести на свои счетчики и т.п.

2. Внутренний сброс. При включении в течение нескольких тактов сформировать сигнал сброса. Завести туда же.

3. Как сказал des00 - "самосинхронную схему". Обнаруживать нерабочее состояние (схемами сравнения - компараторами) счетчиков и т.п. и вырабатывать сигнал сброса. Завести туда же.

Последнее лучше предыдущих тем, что при любых сбоях (по питанию) восстанавливает работоспособность схемы. Лично я сделал бы второй вариант (а еще лучше вместе с первым).

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


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

Есть проект, уже работающий, НО... проблема заключается в следующем:

При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.

Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

 

Какой фирмы и семейства кристалл. Только тогда можно что то сказать.

 

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


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

3. Как сказал des00 - "самосинхронную схему". Обнаруживать нерабочее состояние (схемами сравнения - компараторами) счетчиков и т.п. и вырабатывать сигнал сброса. Завести туда же.

Последнее лучше предыдущих тем, что при любых сбоях (по питанию) восстанавливает работоспособность схемы. Лично я сделал бы второй вариант (а еще лучше вместе с первым).

 

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

 

ишо есть такая штука MAX809.

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


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

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

 

ишо есть такая штука MAX809.

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

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


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

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

она не бесплатная.

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


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

все нерабочие состояния считать нулевыми

Вот для этого и нужен компаратор (цифровой, схема сравнения). Если нерабочими должны быть коды больше или равные 12, нужно объединить по И разряды Q3 и Q2 счетчика, и завести результат на Reset.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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