реклама на сайте
подробности

 
 
> Сброс счетчиков в CPLD, при первом включении
nick17
сообщение Oct 11 2010, 06:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 3-11-09
Из: Россия, Томск
Пользователь №: 53 386



Есть проект, уже работающий, НО... проблема заключается в следующем:
При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.
Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Oct 11 2010, 08:06
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Можно сделать:
1. Внешний сброс. Совсем несложно. Имеется почти в каждом микроконтроллере и др., полезная штука. Завести на свои счетчики и т.п.
2. Внутренний сброс. При включении в течение нескольких тактов сформировать сигнал сброса. Завести туда же.
3. Как сказал des00 - "самосинхронную схему". Обнаруживать нерабочее состояние (схемами сравнения - компараторами) счетчиков и т.п. и вырабатывать сигнал сброса. Завести туда же.
Последнее лучше предыдущих тем, что при любых сбоях (по питанию) восстанавливает работоспособность схемы. Лично я сделал бы второй вариант (а еще лучше вместе с первым).
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 08:17
Сообщение #3


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(ViKo @ Oct 11 2010, 12:06) *
3. Как сказал des00 - "самосинхронную схему". Обнаруживать нерабочее состояние (схемами сравнения - компараторами) счетчиков и т.п. и вырабатывать сигнал сброса. Завести туда же.
Последнее лучше предыдущих тем, что при любых сбоях (по питанию) восстанавливает работоспособность схемы. Лично я сделал бы второй вариант (а еще лучше вместе с первым).


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

ишо есть такая штука MAX809.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2010, 08:35
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(rv3dll(lex) @ Oct 11 2010, 11:17) *
все нерабочие состояния считать нулевыми

Вот для этого и нужен компаратор (цифровой, схема сравнения). Если нерабочими должны быть коды больше или равные 12, нужно объединить по И разряды Q3 и Q2 счетчика, и завести результат на Reset.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 09:49
Сообщение #5


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



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


ладно напишу по буквам

обобщённо синхронный счётчик это автомат состояний у которого состояния перебираются последовательно.
синхронный автомат состояний для счёта до 10 в общем случае представляет собой 4 триггера и 4 комбинационных логических схемы, входы которых 4 выхода триггеров а выходы - входы триггеров D T JK в зависимости на какой базе сделан триггер. и этот компаратор там уже есть и ничего объединять и городить не нужно. нужно просто правильно описать автомат состояний!
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2010, 10:07
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(rv3dll(lex) @ Oct 11 2010, 12:49) *
нужно просто правильно описать автомат состояний!

С этим согласен. С CPLD не работал, похоже, там хватит входов в macrocell, чтобы сделать схему сравнения перед триггером.
Go to the top of the page
 
+Quote Post
sazh
сообщение Oct 11 2010, 10:42
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(ViKo @ Oct 11 2010, 13:07) *
С этим согласен. С CPLD не работал, похоже, там хватит входов в macrocell, чтобы сделать схему сравнения перед триггером.


Так триггера CPLD по включению питания (Альтера) в 0 устанавливаются.
Откуда в схемной реализации состояния, отличные от нуля по включению питания.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nick17   Сброс счетчиков в CPLD   Oct 11 2010, 06:10
- - des00   Цитата(nick17 @ Oct 11 2010, 00:10) можно...   Oct 11 2010, 06:13
- - DmitryR   Добавить схему, которая будет сбрасывать счетчик п...   Oct 11 2010, 06:15
- - Александр77   Если есть внешнее тактирование и свободные ресурсы...   Oct 11 2010, 06:40
- - rv3dll(lex)   резистор конденсатор и диод и вообще штатно счётч...   Oct 11 2010, 07:07
- - nick17   два счетчика считают до 9 и сбрасываются при 10-ом...   Oct 11 2010, 07:16
- - rv3dll(lex)   ничего подобного. просто разрабатываем схему так, ...   Oct 11 2010, 07:30
- - Maverick   Цитата(nick17 @ Oct 11 2010, 09:10) Есть ...   Oct 11 2010, 07:51
|- - Maverick   Цитата(rv3dll(lex) @ Oct 11 2010, 11...   Oct 11 2010, 08:31
||- - rv3dll(lex)   Цитата(Maverick @ Oct 11 2010, 12:31) тог...   Oct 11 2010, 08:33
|||- - Maverick   Цитата(rv3dll(lex) @ Oct 11 2010, 11...   Oct 11 2010, 08:35
||- - des00   Цитата(Maverick @ Oct 11 2010, 03:31) тог...   Oct 11 2010, 08:39
|- - ViKo   Цитата(sazh @ Oct 11 2010, 13:42) Так три...   Oct 11 2010, 10:48
- - sazh   Цитата(nick17 @ Oct 11 2010, 09:10) Есть ...   Oct 11 2010, 08:07


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01451 секунд с 7
ELECTRONIX ©2004-2016