- Какво е Shift Register:
- Видове регистри в цифровата електроника
- 1. Сериен вход - Серийни изходни регистри за превключване
- 2. Сериен вход - Паралелен изходен регистър за смяна
- 3. Паралелен вход - сериен изходен регистър за смяна
- 4. Паралелен вход - Паралелен изходен регистър за смяна
- 5. Двупосочни регистри за смяна
- 6. Броячи
- Приложения на Shift регистрите
Какво е Shift Register:
Shift регистрите са последователни логически вериги, способни да съхраняват и прехвърлят данни. Те са съставени от джапанки, които са свързани по такъв начин, че изходът на едната джапанка може да служи като вход на другата джапанка, в зависимост от вида на създадените регистри за смяна.
Регистрите за смяна са основно тип регистър, който има способността да прехвърля („измества“) данни. Регистрите са общи устройства за съхранение, които се създават чрез свързване на определен брой джапанки заедно последователно и количеството данни (брой битове), които могат да се съхраняват от регистъра, е винаги пряко пропорционално на броя на джапанките, тъй като всеки флип flop може да съхранява само по един бит наведнъж. Когато джапанките в регистър са свързани по такъв начин, че изходът на едната джапанка се превръща във входа на другия, се създава регистър за смяна.
Джапанките са устройства с операция, подобна на тази на резето. Той може да бъде посочен като бистабилен вибратор, който може да се движи между две състояния (0 или 1) и е способен да съхранява данни в битове. Новите данни се четат във флип флоп с всеки тактов цикъл и предишните данни, изпратени на изхода.
Shift Registers Състои се от кои джапанки?
Това обаче зависи от вида на джапанките, тъй като връзката на входа, изхода и тактовия цикъл между джапанките варира. Съществуват различни видове джапанки, но най-често използваните при създаването на регистри за смяна са D (Delay) -флип флоп.
За работата на D-джапанките, което ги прави толкова желани за регистрите за смяна, Винаги, когато има промяна на часовника на D-джапанка (нарастващ или спадащ ръб, в зависимост от спецификациите на джапанката). Данните на изхода „Q“ стават същите като данните на входа „D“. Изходът „Q“ на тригера ще остане на тази стойност до следващия тактов цикъл, където след това ще се промени отново на стойността (Висока или ниска, 1 или 0) на входа.
След като вече знаем какво представляват регистрите на Sift, ще продължим да се задълбочаваме във видовете тригери и техните приложения. Но преди това, за да дадем по-практическа експозиция на това къде се използват регистрите за смяна, нека да разгледаме популярния регистър за смяна 74HC595, който сме използвали с различни микроконтролери за интерфейс на дисплей или последователност от светодиоди.
- Shift Регистрация с 74HC595 с Arduino за управление на последователност от светодиоди
- Променете регистъра с ESP32, за да свържете 7-сегментен дисплей
- Shift Регистрация с Raspberry Pi за управление на множество светодиоди
- Shift Register с PIC за управление на последователността на светодиодите
Видове регистри в цифровата електроника
Регистрите за смяна се категоризират по типове главно според начина им на работа, серийни или паралелни.
Има шест (6) основни типа регистри на смяна, които са изброени по-долу, въпреки че някои от тях могат да бъдат допълнително разделени въз основа на посоката на потока от данни или изместване надясно или смяна наляво.
1. Сериен вход - Сериен изходен регистър за превключване (SISO)
2. Сериен вход - регистър за паралелно извеждане (SIPO)
3. Паралелен вход - Регулиране на паралелен изход (PIPO)
4. Паралелен вход - сериен изходен регистър за превключване (PISO)
5. Двупосочни регистри за смяна
6. Броячи
1. Сериен вход - Серийни изходни регистри за превключване
Сериен вход - регистрите за превключване на сериен изход са регистрите за смяна, които се предават последователно в данни (един бит за тактов цикъл) и също излъчват данни по същия начин, един след друг.
Прост сериен вход - сериен изход 4-битов регистър за смяна е показан по-горе, регистърът се състои от 4 джапанки и разбивката за това как работи е обяснена по-долу;
При стартиране регистърът за смяна първо се изчиства, принуждавайки изходите на всички джапанки до нула, след което входните данни се прилагат към входа последователно, по един бит наведнъж.
Има два основни начина за прехвърляне на данни чрез регистър за смяна на SISO;
- Неразрушаващо отчитане
- Разрушително четене
- Неразрушаващо отчитане
Регистрите за смяна без деструктивно четене винаги имат режим на четене / запис с добавен допълнителен ред, който позволява превключване между режимите на четене и запис.
Когато устройството е в оперативен режим „запис”, регистърът за смяна измества всеки бит по един бит, като се държи точно като деструктивната версия за четене и по този начин данните се губят, но когато оперативният режим се превключи на „четене”, данните които са изместени на входа, се връщат обратно в системата и служат като вход към регистъра за смяна. Това помага да се гарантира, че данните остават по-дълго (стига да останат в режим на четене)
- Разрушително четене
При деструктивни отчитания данните се губят напълно, тъй като тригерът просто прехвърля информацията. Ако приемем за 4-битовия регистър на смяна по-горе, ние искаме да изпратим думата „1101“. След изчистване на регистъра за смяна, изходът на всички джапанки става 0, така че по време на първия цикъл на часовника, докато прилагаме тези данни (1101) последователно, изходите на джапанките изглеждат като таблицата по-долу.
Първи часовник:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Втори тактов цикъл:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Трети цикъл на часовника:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Четвърти цикъл на часовника:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Сериен вход - Паралелен изходен регистър за смяна
Вторият тип регистър на смяна, който ще разгледаме, е регистърът за превключване със сериен входящ и паралелен изход, известен още като SIPO Shift Register. Този тип регистри на смяна се използват за преобразуване на данни от сериен в паралелен. Данните идват една след друга за тактов цикъл и могат да бъдат изместени и заменени или отчетени при всеки изход. Това означава, че когато данните се четат, всеки бит за четене става достъпен едновременно на съответната им изходна линия (Q0 - Q3 за 4-битовия регистър на смяна, показан по-долу).
4-битов сериен вход - регистър на паралелен изход е илюстриран на изображението по-долу.
Таблица, показваща как данните се изместват от сериен вход - паралелен изход 4-битов регистър за смяна е показана по-долу, като данните са като 1001.
Ясно |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Добър пример за сериен вход - паралелен изходящ регистър на смяна е регистърът за смяна 74HC164, който е 8-битов регистър за смяна.
Устройството разполага с два последователни входа за данни (DSA и DSB), осем паралелни изхода за данни (Q0 до Q7). Данните се въвеждат последователно чрез DSA или DSB и всеки вход може да се използва като активна HIGH възможност за въвеждане на данни през другия вход. Данните се изместват при преходите LOW-to-HIGH на входа на часовника (CP). LOW на главния нулиращ вход (MR) изчиства регистъра и принуждава всички изходи LOW, независимо от другите входове. Входовете включват скоби диоди. Това позволява използването на резистори за ограничаване на тока за свързване на входовете до напрежения над VCC.
3. Паралелен вход - сериен изходен регистър за смяна
В регистъра за паралелен вход - сериен изход данните се предоставят паралелно, например, помислете за 4-битовия регистър, показан по-долу.
Този регистър може да се използва за съхраняване и изместване на 4-битова дума, като входът за управление на запис / смяна (WS) контролира режима на работа на регистъра за смяна. Когато контролната линия на WS е ниска (режим на запис), данните могат да се записват и синхронизират чрез D0 до D3. За да измества последователно данните, контролната линия на WS се извежда HIGH (режим Shift), след което регистърът измества данните на входа на часовника. Паралелът в серийния ни регистър за смяна се нарича още PISO регистър за смяна.
Добър пример за паралелен входящ - сериен изходящ регистър на смяна е 8-битовият регистър за смяна 74HC165, въпреки че може да работи и като сериен входящ - сериен изходен регистър за смяна.
Устройството разполага със сериен вход за данни (DS), осем паралелни входа за данни (D0 до D7) и два допълнителни серийни изхода (Q7 и Q7 '). Когато паралелният вход за натоварване (PL) е LOW, данните от D0 до D7 се зареждат в регистъра за смяна асинхронно. Когато PL е HIGH, данните влизат в регистъра последователно в DS. Когато входът за активиране на часовника (CE) е LOW, данните се изместват при преходите LOW-to-HIGH на CP входа. HIGH на CE ще деактивира CP входа. Входовете са толерантни към свръхнапрежение до 15 V. Това позволява на устройството да се използва в приложения за превключване на нива от ВИСОКО към НИСКО.
Функционалната схема на регистъра за смяна е показана по-долу;
Диаграмата на времето за системата е, както е показано на изображението по-долу;
4. Паралелен вход - Паралелен изходен регистър за смяна
За паралелен паралелен изходящ регистър на изместване, изходните данни през паралелните изходи се появяват едновременно, когато входните данни се подават. Този тип регистър на смяна се нарича също като PIPO Shift регистър.
Входните данни на всеки от входните щифтове от D0 до D3 се четат по едно и също време, когато устройството е с тактова честота и в същото време данните, прочетени от всеки от входовете, се предават на съответния изход (от Q0 до Q3).
В 74HC195 регистър за смяна е многофункционален смяна регистър, който е в състояние да работи в повечето режими, описани от всички видове които обсъждахме досега, особено като паралелна на - успоредна на регистър на смени.
5. Двупосочни регистри за смяна
Регистрите за смяна могат или да извършват смяна на данни надясно или наляво, или и двете в зависимост от вида на регистъра на смяната и тяхната конфигурация. При операции на дясна смяна двоичните данни се разделят на две. Ако тази операция е обърната, двоичните данни се умножават по две. С подходящо приложение на комбинационната логика може да бъде конфигуриран сериен регистър за смяна, който да изпълнява и двете операции.
Помислете за 4-битовия регистър на изображението по-долу. Няколко NAND порти са конфигурирани като ИЛИ порти и се използват за управление на посоката на превключване, надясно или наляво.
Контролната линия наляво / запис се използва за определяне на посоката, в която се преместват данните, надясно или наляво.
Двупосочен регистър за смяна на 74HC194 е добър пример. Регистърът може да работи във всички режими и вариации на сериен и паралелен вход или изход. Функционалната схема на 74HC194, подчертаваща контролната линия, часовника, входните и изходните щифтове, е показана по-долу.
Диаграмата на времето на устройството също е показана по-долу. По-добре ще ви помогне да разберете как контролната линия контролира действията на регистъра.
6. Броячи
Броячите, наричани понякога ротационен регистър за смяна, са основно регистри за смяна, чиито изходи се подават обратно в устройството като входове по такъв начин, че да създава определен модел. Този тип регистри се наричат броячи поради модела и последователността, които показват. Най-популярният тип броячи на регистрите за смяна са броячите на пръстените.
Пръстен брояч
Продължителните броячи са основно вид брояч, при който изходът на най-значимия бит се връща обратно като вход към най-малко значимия бит. 4-битов брояч на пръстени е илюстриран на диаграмата по-долу, използвайки D джапанки.
Когато се приложи импулсът на часовника, изходът на всеки етап се премества към следващия и цикълът продължава. Когато ясното е високо, всички джапанки, с изключение на първия (който е настроен на 1), се нулират.
Приложения на Shift регистрите
Shift регистрите се използват в много приложения, някои от които са;
1. Паралелно на серийното преобразуване, когато те се използват за намаляване на броя на проводниците или линиите, необходими за комуникация между две устройства, тъй като последователната комуникация обикновено изисква само два проводника в сравнение с паралелната, което зависи от броя на изпратените битове.
2. Разширение на IO за микроконтролери. В съвременната електроника IO щифтовете на микроконтролерите се наричат недвижими имоти и е необходимо колкото е възможно повече за определени приложения като включване на 100 светодиода или четене на 100 тръстови превключватели с нещо като Arduino или микроконтролера Atmeg328p. Например, схемата по-долу илюстрира как сериен към паралелен регистър на превключване може да се използва за управление на 8 светодиода, като се използват само три от IO щифтовете на микроконтролерите.
3. Те се използват в държавни регистри, които се използват в последователни устройства. Подобно на машина с крайна памет, следващото състояние на устройството винаги се определя чрез преместване и вмъкване на нови данни в предишната позиция.
4. Още едно основно приложение се намира в Закъснения във времето. Регистрите за смяна се използват за закъснение във времето в устройствата, като времето се регулира от часовника, или се увеличава чрез каскадни регистри за смяна или се намалява чрез вземане на изхода от по-нисък значителен бит.
Забавянето на времето обикновено се изчислява по формулата;
t = N * (1 / fc)
N е броят на флип флоп етапа, при който се приема изходът, Fc е честотата на тактовия сигнал и t, която е определената стойност, е времето, за което изходът ще се забави.
Когато избирате регистър за смяна за конкретна задача поради широкия диапазон и въведете, важно е да изберете такъв, който да отговаря на вашите конкретни нужди, като се вземат предвид неща като, начин на работа, битов размер (брой джапанки), надясно или наляво или двупосочен и т.н.
Някои от най -популярните сменени регистри са;
- 74HC 194 4-битов двупосочен универсален регистър за смяна
- 74HC 198 8-битов двупосочен универсален регистър за смяна
- 74HC595 сериен превключващ регистър за превключване
- 74HC165 Паралелен превключващ превключвател
- IC 74291 4-битов универсален регистър за смяна, двоичен брояч нагоре / надолу, синхронен.
- IC 74395 4-битов универсален регистър за смяна с три състояния на изходи.
- IC 74498 8-битов двупосочен регистър на изместване с паралелни входове и три състояния на изходи.
- IC 74671 4-битов двупосочен регистър за смяна.
- IC 74673 16-битов сериен входящ сериен изходен регистър за смяна с изходни регистри за съхранение.
- IC 74674 16-битов паралелен в сериен изход регистър за смяна с три състояния на изходи.
Има още няколко, просто трябва да намерите кой най-добре отговаря на вашето приложение.
Благодаря за четенето, до следващия път.