Страница 1 из 2
Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 11:23:10
grigory
Доброго времени суток! Товарищи, у меня такой очередной глупый вопрос.
Существует ли такой сдвиговый регистр, который позволяет параллельно загружать в него код, и параллельно выгружать код, сдвигая его на 1 разряд влево?Пример: на входе код: 101. на выходе 1010. Регистр типа ИР13 позволяет делать либо то, либо то, правильно? Если это невозможно, то какие схемотехнические решения существуют. Спасибо за советы друзья.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 11:55:59
igor-x
grigory писал(а): на 1 разряд влево
подозреваю что это уже не регистр а некое арифметическое устройство делающий умножение на 2.
уж если очень нужно такое чудо природы, то можно применить контроллер с простенькой программкой: принимает на порты например 8 разрядов, по стробу делает сдвиг и выдает на выходные порты. все упирается только в быстродействие - насколько быстрая требуется реакция на выходе этого устройства
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:15:58
grigory
Именно, мне необходимо увеличить число импульсов со счетчика в 2 раза, путем сдвига на 1 разряд влево.
Но необходимо реализовать схемотехнически, чтобы в далеком будущем реализовать на плис.
Тоесть одним регистром необойтись, правильно?
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:21:38
igor-x
не совсем правильно - арифметическое умножение не увеличит частоту на выходе.. если не ошибаюсь.
появилась идея как просто увеличить частоту в 2 раза - сделать одновибратор, который запускается по фронту и по спаду входного импульса. в этом случае ограничен диапазон входных частот - зависит от длительности импульса одновибратора.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:29:58
grigory
Я немножко некорректно написал. Мне необходимо код со счетчика импульсов увеличить вдвое(пришло 5 импульсов сдвинули получили 10), не частоту. Т.е. как я и написал в предыдущем сообщении: пришел на регистр код 11001101 и на выходе из него(или каскада непонятного) код на 1 разряд <------- т.е. 110011010. Регистр позволяет это сделать я так понимаю, но для этого необходима последовательная загрузка входного кода, а мне нужна паралельная. Вот такая проблемка. Я могу полностью обрисовать задачу, но думаю это не интересно никому)) Вся это чупуха для того чтобы дальше была возможность сравнивать на компараторе)
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:33:02
igor-x
а может изначально все это построить на микроконтроллере? тогда уж всю задачу надо обрисовать в общих чертах
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:36:51
grigory
Вот такая схемка, я пытался на выходе регистра 74198 получить сдвинутый код, ну и на 90% понял что это невозможно. потому-что как бы я не подключал ножки выбора режима, он или неработает, или повторяет входной код.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:43:12
grigory
На микроконтроллере построить это не проблема. Задача такая: мне необходимо посчитать количество импульсов за 1 сек и за 2 сек и так далее. И если количество импульсов за n-ую секунду в 2 раза больше чем за n-1 секунду то все, останавливаем всю лабуду, дело сделано. Компаратор позваляет сравнивать только >, <, или= , поэтому я решил код за предыдущую секунду сдвинуть( тем самым увеличив его в 2 раза) а после, спокойно сравнить с количествои импульсов последующей секундой.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:43:58
igor-x
а в JPG там схемки нету? протеус ставить неохота
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:51:10
grigory
Только не смотрите на висящие ножки регистра, пробовал по даташиту их соединять, и как я уже говорил(думаю) этот регистр
не позволит выполнить мне, чего я от него хочу)).
Микросхема К155ИР13 — универсальный, восьмиразрядный, синхронный регистр сдвига. Каждая операция продолжается в регистре не более 20 нс, поэтому он пригоден для обслуживания скоростных процессоров и ЗУ как буферный накопитель байта. Синхронную работу регистру обеспечивают специальные входы выбора режима S0 и SS. В таблице указаны сочетания уровней на этих входах, позволяющие переводить регистр в режимы: хранения (на входах S0 и S1 напряжения низкого уровня), параллельной загрузки (на этих входах напряжения высокого уровня), сдвига влево (S1-в, S0-н) и сдвига вправо (S1-н, SO-в).
Кроме однотипных параллельных входов, у микросхемы К155ИР13, DO — D7, первый и последний разряды регистра имеют дополнительные D-входы: DSR — для сдвига вправо и DSL для сдвига влево. Состоянием входов SO и S1 определяется также прием тактового перепада от входа С. На входы SO и S1 перепад от высокого уровня к низкому можно подавать, когда на входе С присутствует напряжение высокого уровня. При параллельной загрузке (S1-в, SO-в) слово, подготовленное на входах DO—D7, появится на выходах QO — Q7 после прихода последующего положительного перепада тактового импульса.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 12:52:57
grigory
Параллельная загрузка со входов D осуществляется при высоком уровне U1 на входе управления S0 по срезу тактового импульса С. Во время параллельной загрузки вход последовательного ввода ЕХ блокируется.
Сдвиг вправо осуществляется по срезу тактового импульса при низком уровне Uo на входе управления режимом S0. Информация в последовательном коде подается на вход DR.
Сдвиг влево происходит при высоком уровне U1 на входе S0, при этом выход каждого триггера должен быть соединен внешними перемычками со входом параллельной загрузки прдыдущего триггера (Q3 c D2 и т.д.), а информация в последовательном коде подается на вход D3.
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 13:50:28
BOB51
в одно действие- вряд-ли, но регистры такого вида имеются
взять хотя-бы 561ИР6...
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 16:41:28
cahek80
эм.. чет я недопонимаю. если надо умножать на два. то зачем подключать к выводу d0? а не сразу к выводу d1 и далее...

Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 20:05:30
grigory
cahek80 писал(а):к выводу d0? а не сразу к выводу d1 и далее...
Понимаете после первой секунды мне нужно иметь сдвинутый код, а после 3ей секунды реальный код. Т.к. после первой секунды этот код будет сравниваться с реальным кодом второй секунды, потом сдвинутый код 2ой секунды будет сравниваться с реальным кодом 3ей секунды и т.д. пока не получу нужного результата. Т.е. в зависимости от секунды мне нужно сдвигать или не сдвигать))
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 20:10:08
grigory
BOB51 писал(а):взять хотя-бы 561ИР6...
На сколько я понял (может это не так, просвятите). Если я загружаю в параллельно коде, то сдвига не будет никак ни в лево, ни в право. А сдвинуть(в лево или право) можно только при последовательной загрузке-это у всех сдвиговых регистров???
Re: Возможность сдвигового регистра!
Добавлено: Вт апр 17, 2012 23:38:29
Jack_A
А кто мешает одним импульсом записать параллельный код, а вторым - сдвинуть его ? Регистру пофиг сдвигать информацию независимо от того, каким образом она в него попала - параллельно или как.
А вообще, если там не наносекундное быстродействие - в век микроконтроллеров заморачиваться рассыпушным брейнфакингом не стоит - МК может и сдвигать, и компаратором работать, и еще много чего.
Re: Возможность сдвигового регистра!
Добавлено: Ср апр 18, 2012 06:28:12
igor-x
grigory писал(а):после первой секунды мне нужно иметь сдвинутый код, а после 3ей секунды реальный код.....
такие алгоритмы проще реализовать с МК - один корпус на печатке вместо десятка микросхем и 1 ампера потребления
Re: Возможность сдвигового регистра!
Добавлено: Ср апр 18, 2012 06:52:38
pyzhman
Если верно понял задачу, то самый простой вариант

При необходимости стробом запоминать.
Re: Возможность сдвигового регистра!
Добавлено: Ср апр 18, 2012 09:03:37
grigory
Jack_A писал(а):МК может и сдвигать, и компаратором работать, и еще много чего.
В том то и дело, что нужно реализовать схемотехнически, рассыпухой)
Re: Возможность сдвигового регистра!
Добавлено: Ср апр 18, 2012 09:05:53
grigory
pyzhman писал(а):Если верно понял задачу, то самый простой вариантПри необходимости стробом запоминать.
Да, для первой секунды именно такой код и нужен, а за третью секунду мне не нужно сдвигать))), и мне эта земляная ножка, уже ой как понадобится.