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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Сброс счетчиков в 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
des00
сообщение Oct 11 2010, 06:13
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(nick17 @ Oct 11 2010, 00:10) *
можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

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


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 11 2010, 06:15
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Добавить схему, которая будет сбрасывать счетчик при значении на выходе, превышающим 10.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Oct 11 2010, 06:40
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Если есть внешнее тактирование и свободные ресурсы, то поставить компаратор на превышение и формировать импульс сброса.
PS. А разве у Вас не бывает состояний до 12, точнее от 1 до 11? Если бывают, то они разве не мешают?
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 07:07
Сообщение #5


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

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



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

и вообще штатно счётчик до каких считает?
Go to the top of the page
 
+Quote Post
nick17
сообщение Oct 11 2010, 07:16
Сообщение #6


Участник
*

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



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

Судя по вашим ответам, я понимаю нужно сделать так:
ставим AND, на один вход заводим тактовые импульсы от генератора, на другой от компаратора(сравнивает с пороговым числом, после которого сбрасывать), выход AND на схему сброса счетчика.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 07:30
Сообщение #7


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

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



ничего подобного. просто разрабатываем схему так, чтобы после первого импульса все состояния кроме рабочих превращались в единицу.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Oct 11 2010, 07:51
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(nick17 @ Oct 11 2010, 09:10) *
Есть проект, уже работающий, НО... проблема заключается в следующем:
При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.
Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?

схему или описание на HDL в студию
Какая ПЛИС, конкретнее?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2010, 08:06
Сообщение #9


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

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



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


Гуру
******

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



Цитата(nick17 @ Oct 11 2010, 09:10) *
Есть проект, уже работающий, НО... проблема заключается в следующем:
При включении, счетчики принимают произвольные значения, обычно от 12 до 15, устройство не работает, пока не выведешь кнопками в диапазон 0-10(рабочий). Внутри все входы сбросов счетчиков, соединены вместе и посажены на землю.
Как избавится от такого эффекта, можно ли решить проблему без применения внешней схемы сброса на рассыпухе?


Какой фирмы и семейства кристалл. Только тогда можно что то сказать.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 08:17
Сообщение #11


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

Группа: 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
Maverick
сообщение Oct 11 2010, 08:31
Сообщение #12


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(rv3dll(lex) @ Oct 11 2010, 11:17) *
зачем компаратор? счётчик он и так уже имеет диаграмму состояний. просто все нерабочие состояния считать нулевыми и при первомже после включения разрешённом импульсе перевести в единицу как будто уже импульс подсчитан.

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

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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Oct 11 2010, 08:33
Сообщение #13


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

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



Цитата(Maverick @ Oct 11 2010, 12:31) *
тогда почему не сделать простую схему которая б производила сброс при включении?

она не бесплатная.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Oct 11 2010, 08:35
Сообщение #14


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(rv3dll(lex) @ Oct 11 2010, 11:33) *
она не бесплатная.

Вы это к чему? smile.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2010, 08:35
Сообщение #15


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

Группа: Модераторы
Сообщений: 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

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

 


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


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