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

 
 
 
Reply to this topicStart new topic
> help
geg
сообщение Oct 7 2005, 03:02
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 7-10-05
Пользователь №: 9 316



Вот задачка:
На входе некоторого устройства висит постоянный ноль, затем в какойто момент времени он переодически с равным промежутком времени переключается - 1-0-1-0-1-0(число циклов переключения каждый раз разное), и переходит в постоянное состояние либо 1 либо в 0, так вот необходимо зафиксировать событие стабильного состояния единицы и навыходе устройства получить либо постоянную единицу, либо единожды получить 1-0, по данному событию должно произойти срабатывание реле... Т.е реле срабатывает только один раз в момент фиксации постоянной единицы на входе... Возможно ли реализовать данное устройство на обычном логическом комплекте? без применения микроконтроллеров и т.д.
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 7 2005, 05:17
Сообщение #2


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Для фиксации события используйте триггер... а алгоритм детектирования требуемого состояния можно спроектировать на логике. Если надо учитывать количество переключений - используйте счетчик. Все это есть - цифровая схемотехника.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
geg
сообщение Oct 7 2005, 08:13
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 7-10-05
Пользователь №: 9 316



Поставим вопрос по другому, для детектирования требуемого состояния мне необходимо что бы допустим последовательность 0000010101010 перешла в последовательность 0000001010101, т.е. с отставанием на один цикл, единицы должна сдвинуться.... Чем реализовать данный сдвиг?
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 7 2005, 08:47
Сообщение #4


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(geg @ Oct 7 2005, 12:13)
Поставим вопрос по другому, для детектирования требуемого состояния мне необходимо что бы допустим последовательность 0000010101010 перешла в последовательность 0000001010101, т.е. с отставанием на один цикл, единицы должна сдвинуться.... Чем реализовать данный сдвиг?
*

Для реализации декодирования такой последовательности необходимо иметь приемник (пусть это будет сдвиговый регистр), который по какому-то синхросигналу тактирования вводил этот последовательный поток в приемник.
У приемника (сдвигового регистра) естественно должны быть выходы каждой триггерной ячейки которые бы сравнивались на 'цифровом компараторе' с заданным значением (0000010101010 или какую Вы пожелаете).
А далее из приемника перепишите последовательность в буферный регистр с добавлением 1. Только зачем это все если надо включить реле...?
По моемому элементарный микроконтроллер справиться с этой задачей не менее изящней 'огорода на серийных логический элементах'. То же можно организовать и на ПЛИС (если нужна работа на больших частотах), но я тут Вам не помощник, т.к. никогда ими не занимался.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
geg
сообщение Oct 7 2005, 08:54
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 7-10-05
Пользователь №: 9 316



Дык и я микроконтроллерами не занимался, да и неподходит это, и сдвиговые регистры не подходят, ну нету ни какого синхросигнала и все тут....
Кстати может Вы меня не правильно поняли, тут не только надо дописать единицу, а просто сдвинуть цикл, т.е. фазу смены 1-0...
0000010101010111111
0000001010101010000
там где в обоих строках единицы совпадают, то и будет состояние покоя при котором срабатывает реле на выходе...
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 7 2005, 09:11
Сообщение #6


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(geg @ Oct 7 2005, 12:54)
Дык и я микроконтроллерами не занимался, да и неподходит это, и сдвиговые регистры не подходят, ну нету ни какого синхросигнала и все тут....
Кстати может Вы меня не правильно поняли, тут не только надо дописать единицу, а просто сдвинуть цикл, т.е. фазу смены 1-0...
0000010101010111111
0000001010101010000
там где в обоих строках единицы совпадают, то и будет состояние покоя при котором срабатывает реле на выходе...
*

Каковы вопросы - таковы и ответы...
Я действительно не понимаю того, как Вы квантуете свою последовательность:
0000010101010111111
Как Ваш процесс происходит во времени или по переходу события с 0->1 и с 1->0??? Если у Вас имеется последовательность 00000, а не просто 0 значит процесс имеет временную зависимость! С чем Вы работаете со случайной последовательностью или с детерминированным сигналом??
По всей видимости задачу надо сформулировать более корректно, если конечно это не секрет или тайна. Тогда и решение будет более простым.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
geg
сообщение Oct 7 2005, 09:19
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 7-10-05
Пользователь №: 9 316



Конечно лучше было бы нарисовать диаграмму, но я трактую последовательность так, допустим 1 - высокий уровень с временем t, 0 - низкий уровень с временем t. тогда 0000 это низкий уровень с временем 4t... Но в том то и дело что от времени ни чего не должно зависить, поэтому ни о какой синхронизации речи быть не может, все должно работать просто на сменах уровня...
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 7 2005, 10:11
Сообщение #8


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(geg @ Oct 7 2005, 13:19)
Конечно лучше было бы нарисовать диаграмму, но я трактую последовательность так, допустим 1 - высокий уровень с временем t, 0 - низкий уровень с временем t. тогда 0000 это низкий уровень с временем 4t... Но в том то и дело что от времени ни чего не должно зависить, поэтому ни о какой синхронизации речи быть не может, все должно работать просто на сменах уровня...
*

Хорошо, будем нак сказать отталкиваться от имеющейся информации.
Что бы отследить именно последовательность событий: 0000010101010 - необходимо их сосчитать! В данном случае с перехода 1 на 0. Это можно реализовать на счетчике по заднему фронфу импульса (счетными импульсами будут Ваши события их будет 4).
Далее задача неясна! Зачем из 0000010101010 делать 0000001010101...
Если вам надо иметь последовательность событий 0000001010101 или задержку на еще одно событие - досчитайте следующим событием до 5 и дешифрация пятерки выдаст Вам сигнал управления.
Или опять что-то не то... Мало информации!!! Теорему Котельникова о востановлении сигнала помните, так вот у меня и 2-х отсчетов пока нет применительно к Вашей задаче. sad.gif


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Alex11
сообщение Oct 7 2005, 19:58
Сообщение #9


Гуру
******

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



Если неизвестно заранее ни количество изменений 0-1, ни время между переходами, то задача теоретически не решается, поскольку невозможно по прошедшему времени сказать, прошло t или 4t. Послабление может быть, только если гарантировано, что есть, как минимум, переход 0-1-0 и длительности нулей и единиц в одной последовательности одинаковые, хотя бы приблизительно. Тогда по первой паре переходов вычисляете длительность импульса t, затем ждете, чтобы за время 2t ничего не менялось, и считаете это концом процесса. Реализовать можно на PLD или на микроконтроллере. На последнем проще, но возможно только если длительности не очень маленькие.
Go to the top of the page
 
+Quote Post
Adlex
сообщение Oct 9 2005, 22:15
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 500
Регистрация: 8-08-05
Пользователь №: 7 451



По моему, это та же задача. как и подавление дребезга от кнопки.
Имеется куча готовых вариантов решения - выбрать исходя из частоты (периода) перключения.
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 10 2005, 05:10
Сообщение #11


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Задача сформулирована крайне не корректно (совершенная абстракция - то преобразование последовательности, то реакция на последовательность событий (переходов)).
Не стоит обсуждвть это дальше пока не будет - новой информации, тем более сам постановщик вопроса замолчал не желая раскрывать свой т.з.
Что касается 'дребезга контактов' то это делаеться на элементарной логике, подобных схем в интернете - море... а самых надежный способ подавления дребезга использовать простой RS-триггер.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post

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

 


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


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