Импулсно-Цифрови Технологии



Дата06.05.2017
Размер230.97 Kb.
Импулсно-Цифрови Технологии
Основи

ВЪВЕДЕНИЕ В ИЦТ:


Схемотехниката се дели на аналогова според вида на сигнала. Той може да бъде аналогов или цифров. Аналоговият сигнал се изменя монотонно (за близки времена, величините са близки) и при него носител на информацията е самото изменение. Цифровият сигнал се изменя рязко и носител на информацията е броят импулси например. Тук ще бъде описана цифровата част от електронната схемотехника.


Сигнал: Всяка една промяна на параметър във физична среда, която носи информация се нарича сигнал. Няма значение какъв е материалният носител. Важно е, по-скоро, да се запази информацията.
Ентропия: Хомогенна среда. В нея няма разпознаване на отделни елементи, което означава, че информация липсва. За да има информация задължително трябва да има промяна. Промяната носи съобщение.
В областта на на информационните технологии най-често се говори за електрични или магнитни сигнали най-често.
Разлика между аналогов и цифров сигнал: Аналоговата техника се занимава със сигнали, за които всички стойности са валидни.

Цифровата техника определя зони. Ако дадено напрежение е в една зона, то се определя като логическа нула. Ако това напрежение е в друга зона, се определя като логическа единица. Ако обаче това напрежение попадне между двете зони, значи то е попаднало в защитната зона. При такава зона, нямаме определен изход (нито е логическа единица, нито е логическа нула).

На тази картинка се вижда някакъв сигнал, който между точки 0-1 е в защитната зона, 1-2 е в логическа единица, 2-3 е пак в защитната зона, 3-4 е в логическа нула, 4-5 е в защитната зона и т.н.


Защо се прави това? Едната причина е, че всяка реална среда внася някакви смущение. При аналоговата техника, тези смущения е много трудно (дори невъзможно) да се премахнат от сигнала. Тоест, носещата вълна (сигналът) се замърсява и се получава така, че това, което приемаме е различно от това, което е предадено. При цифровата техника, могат да се подберат такива нива (според смущенията), че дори да стане нещо (сигналът да се промени), той да попадне в защитната зона и това да не повлияе върху носената информация.
Как се подбират нивата?

По амплитуда – например, знаеме амплитудите на шумовете за дадена среда и по това избираме такива нива, че дори шумове с най-голяма амплитуда да не отидат в логическите зони.


Кодиране на информацията:

Информацията може да се кодира по доста начини, но най-често така:


А) Широчинно-импулсна модулация – всеки импулс е с различна широчина, което определя различна информация. В по-долу дадената картинка, първият път импулсите не носят информация, но втория път те са с различна широчина – имаме промяна, а оттам имаме информация.

Например, пиезоизлъчватели работят така. Според широчината на импулса, който им подаваме, се променя честотата на изписукването. Пиезоизлъчвателят всъщност издава звук с определена честота, като му е подаден сигнал.
Б) Амплитудна модулация – тук импулсите се изменят по амплитуда. Първият път нямаме носена информация, но вторият път амплитудата се изменя – имаме промяна. Да знаете, че кривата прокарана по върховете на импулсите е просто ориентировъчна и следва да покаже как амплитудата се е изменила синусоидално.

В) Честотна модулация – Тук честота е модулирана.

Какво значи модулация? Най-просто казано – значи промяна.
Теорема за носене на съобщения – Първо, количеството информация пренесено за секунда се отбелязва с бит/сек (bit/s). Тъй-като бит е много малко число, се използват и кратните величини: mbit/s, kbit/s, gbit/s. Теоремата гласи, че за да кодираме надеждно (да предадеме съобщение съдържащо дадено количество информация), трябва да сме способни да направиме поне два пъти по толкова промени. Тоест, ако количеството информация е 10 mbit/s, ние трябва да можеме да направиме поне 20 милиона промени. Това важи за честотна модулация.
Пример: При 3 kHz телефонна линия, можем да предаваме 1500 бита информация – най-много.
Как се пази от шум една цифрова схема? Вече знаете един начин – избиране на коректни логически нива за “0” и “1” (логическа нула и логическа единица). Но това не е най-сигурният и по-важно, това не е единственият начин за защитаване на схемата от вредни влияния. В много цифрови схеми се използва принципа на повторението. Алгоритъмът е написан така, че за да е вярно, излъченото съобщение трябва да се повтори поне n пъти.

Друг вариант е да се използват тъй-наречените “шумозащитни кодове”. Например, излъчват се 8 бита, но с тях се излъчват още три. Тези три бита са за грешки. Това е метод с излишък на информация.

ИМПУЛСНИ СИГНАЛИ:
В ИЦТ разглеждаме импулсни сигнали. Какво е импулсът и какви са неговите характеристики – това е описано тук, в тази глава.
Вие знаете, че импулсът се състои в рязко изменение на стойност на дадена величина (напрежение най-често). Както видяхте, сигналът може да се модулира по-различен начин и да се постигнат желаните ефекти. Проблемът е че досега най-често виждахте правоъгълни импулси. В природата – те са невъзможни. Защо? Ами да си представим следната графика: зависимост на напрежението от времето. Тоест, как се изменя напрежението във времето. В точка 1 виждате как напрежението за един и същи момент от време, се изменя рязко. Това обаче е невъзможно – дори да е малко, времето за изменение (делта t) не е 0.

Разглеждаме правоъгълни импулси за наше улеснение. При правоъгълните импулси (те са идеални), изменението става за време = 0.


На картинката са дадени всички важни величини, които трябва да запомните. Ето за какво става въпрос:


T – период на импулса. Това е разликата между два еднакви фронта.

f – честота (реципрочно на периода).

t – времетраене на импулса.

K – процент на запълване. Равен е на t/T.

Плато на импулса – това не е дадено на картинката. Представлява горното ниво. Тоест, разстоянието между преден и заден фронт на импулса се обобщава като плато на импулса.
Амплитуда на импулса: Разлика между ниското и високо ниво на импулса. Тази амплитуда може да бъде отрицателна. Тоест, импулсът не е задължително да се намира в първи квадрант на графиката. Съвсем спокойно, долното ниво може да е на -3V примерно. А вариант е амплитудата да е 0. Например, ако долното ниво е на -3V, а горното е също на -3V, тогава амплитудата се получава 0. Такива импулси се наричат симетрични.
Какви са по вид импулсите? Имплусите могат да бъдат единични, случайни или периодични. Периодичните импулси са тези за които ще говориме.
Реалистичната форма на импулса: Преди малко казах, че импулсът се представя идеализирано за улеснение. А сега ще ви покажа реалистичната форма:

На картинката се вижда, че рязкото изменение е съпътствано с колебания. Тези колебания се наричат отскок на импулса. Uотс е разликата между пиковия момент на разколебаването и платото на импулса. Uп е разликата между двете нива.
Ku = Uотс / Uп - това е коефициент на отскок. Той не може да надвишава определен за схемата процент. Това е така, защото ние сами поставяме ограниченията, като избираме логическите нива. Ако коефициентът на отскок е голям, а това ще рече Uотс да е голямо спрямо Uп – тогава може едно разколебаване да се отчете в горната, или долната зона. Това е дадено ясно на картинката:

ТЕОРЕМА НА ФУРИЕ:

Тази теорема е много важна, защото от нея се гради по-реална представа за сигналът и по-точно за формата му.
Всяка периодична f(x) може да се разложи на сума от краен брой синусоиди.

На картинката това е показано. Както виждате първата синусоида има честота f, втората има честота 2f (кратна на f) и т.н.

Тази графика е улеснение на първата. Тя не показва зависимостта на напрежението от времето, а на напрежението от честотата. Както беше казано, сигналите се разглеждат на хармоници. Те са кратни на основната честота.
Важно: Енергията е съсредоточена в първите 5-7 хармоника. Ако се запази формата на тези хармоници – това е добре. Това важи за цифровите схеми. При аналогавата техника 20% са си загуба на сигнал. Това е също причина за по-високата надеждност на ЦС.
Каналите за връзка имат честотна лента. Например, 3kHz. Ако искаме да предадем 1kHz ще имаме загуба. Това е така, защото както вече казахме, първите 5-7 хармоника са важни. Тоест, при цифровите схеми (ЦС) трябва да осигуриме много по-голяма честотна лента, защото има много повече промени от при АС.

ОСНОВИ НА ЛОГИЧЕСКИТЕ СХЕМИ:


Увод: Цифровите устройства обработват цифрови сигнали. Както знаете, приемаме две логически нива. Нека те са x1, x2. Всъщност за тях има наложени стандарти, но това съвсем не означава, че вие не можете да определите нови! TTL (Transistor-to-Transitor Logic, което означава транзистор-транзисторна логика.
Разлика между TTL и MOS схеми:
Разликата се състои в бързината и в консумацията. ТТЛ (Транзистор-Транзисторна логика) имат голяма консумация и е очевадно, че не могат да се ползват за направата на процесори. MOS схемите са по-бавни, но са с по-малка консумация.

От тази графика се вижда, че ТТЛ имат по-голяма консумация от MOS при една и съща честота. Също така се вижда че при увеличаване на честотата, консумацията се увеличава.
TTL нива: Сега ще ви покажа какви нива са възприети при тези схеми:
“0” - 0 до 0.8 волта

“1” - 2.4 до 5 волта

неопр. - 0.8 до 2.4 (неопределена зона, защитна зона).
Нека отбележим и следния пример:
“0” - +3.5 до 12 волта

“1” - -3.5 до -12 волта


Този пример не е свързан с ТТЛ, но съм го дал за да видите по-ясно, че нивата съвсем не е задължително да са обусловени от положителни напрежения (първи квадрант).
Логически елемент: Това е някаква схема, която реализира логическа функция. Най-често това са интегрални схеми. Тези схеми имат входове и изходи. Входовете могат да са един или много. Същото важи и за изходите.

Тук е показана една обща таблица за схема с два входа – x1 и x2. На всеки от изходите е реализирана логическа функция. Нека разгледаме всеки от изходите:
Y1: вижда се, че каквото и да е подадено като вход, изходът е “0”. Тоест, за тази функция може да се каже, че: y1 = “0”.
Y2: Тук имаме обратната история: винаги получаваме “1” на изхода. Тоест, y2 = “1”.
Y3: Имаме “1” само ако и на двата входа е подадена “1”. Тази функция се нарича AND – И. И е една основна логическа функция. Запомнете го! Тя още се нарича логическо умножение. Разберете сами защо е така.
Y4: Тази функция се нарича: Не-И. Отбелязва се с черта над И-то и се чете: “И-черта”. Тя е обратната на И. Тук имаме “0” само когато и двата входа са в “1”. Да се върнем на y2 – тя е обратната на y1. Казваме, че y1 е инвертирана. Инвертирането е процес на преобръщане: тъй-като тук имаме две стойности: “0” и “1”, всяка от тях се обръща в другата. Тоест, “0” става “1”, а “1” става “0”.
Y5: ИЛИ е също много важна логическа функция. Тя още се нарича логическо събиране. 0+0 дава 0. Всички други двойки входове, дават на изхода “1”.
Y6: Не-ИЛИ е обърнато ИЛИ. Само, при две “0” на входа, на изхода ни се получава “1”. Иначе имаме “0”.
Y7: XOR – Изключващо-ИЛИ. Същото като ИЛИ, но тук 1+1 също прави “0”.
Y8: Не-Изключващо-ИЛИ. Обърнато XOR.
Как се отбелязват основните логически елементи в схеми?

На картинката е дадена Логическата функция “И”. Тя е отбелязана по един от двата дадени начина.
Това тук е Не-И (И-черта). Всички инвертни елементи се отбелязват с точка. Забелязвате, че само това е разликата.
Тук е показан начинът на отбелязване на “ИЛИ”. Разликата между “И” и “ИЛИ” по начин на отбелязване е, че при “ИЛИ” чертите от входовете са продължени до края.
И стигнахме до “Не-ИЛИ”. Тук разликата пак се състои в една точка накрая, за да се разбере, че изходът се инвертира.
Най-простият логически елемент: самият инвертор. Но за по-ясно, той не се отбелязва само с точка, ами се отбелязва с триъгълник и точка. Ако подадеме “1” на изхода излиза “0” и обратното.
Този елемент се нарича “Изключващо-ИЛИ” и вече сте запознати с него. Отбелязва се с “мерниче”.
Пример: Срещат се ИС с по 14 на брой крачета. Две от тях са за захранване: Vss и GND. Другите 12 остават и могат да се реализират в четири двувходови схеми с по един изход. Например, 4-AND. Възможно е да се реализират 6-едновходови NOT – Не елементът (инверторът). Той има шест изхода и шест входа (12 крачета).
Инвертор и повторител:

На схемата y1 и y2 са тривиални и няма да бъдат разглеждани. Вече бяха обяснени. Нека обаче се затвърди, че y3 се нарича повторител (това, което е на входа се появява на изхода), а y4 се нарича инвертор (на изхода се появява това, което НЕ е на входа). Смисълът от един повторител е следният: всяка ИС си има товарна способност – ТС. Такъв повторител може да разшири Товарната способност на схемата.
Английска терминология за логическите функции:
Помислих че ще е добре ако знаете кое какво значи на английски.

“И”


AND

“Не-И”

NAND

“ИЛИ”

OR

“Не-ИЛИ

NOR

“Изкл.ИЛИ”

- XOR


“Не”

NOT


1-ви Закон на Де Морган:


Когато записваме логически функции има определени правила за които трябва да знаете. “И” се записва като точка. Точно както в математиката – умножение. “ИЛИ” се записва с “+”. “Не” се записва като черта над “И”. Първият закон на Де Морган гласи следното: “x1.x2 черта е равно на x1 черта плюс x2 черта”. X1.x2 черта е всъщност нашата NAND функция (“Не-И”). Тоест, NAND може да се представи като логически сбор на инвертираните x1 и x2.
2-ри Закон на Де Морган:

Тук пък се показва, че NOR е равно на логическото умножение на инвертираните x1 и x2.


И ето до какво стигнахме:
!X1 . !X2 = NOR

!X1 + !X2 = NAND


Тук съм отбелязал инвертирането чрез знакът !. Това не бива да ви учудва, тъй-като в програмният език С се ползва този начин на отбелязване. Плюс това, да се напише !x е много по-лесно от x черта.
Но защо се ползват NOR и NAND? Ползват се защото те са много лесни за направа. Те са базови схеми и чрез тях се прави всичко друго. NOR се реализира чрез NAND. При MOS схемите имаме предимно NOR елементи. Всяко едно изчислително устройство може да бъде изградено само от един тип структура: NOR или NAND. Запомнете това.
Видове логически схеми:

Съществуват два типа логически схеми. Първият тип са комбинационните логически схеми. Изходът зависи единствено от състоянието на входовете. Например, ако входа е 1, изхода ще е 1 и т.н. Тяхната реализация се състои в написване на логическа функция, която да дефинира целите ни.

Вторият тип логическа схема е тази с памет. Тя е изградена от елементи, които помнят състоянието си. Те зависят И от тези състояния. Например, на вратата на една стая слагаме сензор за движение. Този сензор отчита с брояч, колко хора са влезли. Когато влезе човек, към брояча се добавя единица. Когато излезе, от брояча се изважда единица. Логическата схема помни колко човека са влезли и дали в определен час има хора в стаята.

РЕАЛИЗАЦИЯ НА ЛОГИЧЕСКИ СХЕМИ


Сега вече знаете как се отбелязват логически елементи, как се извършват основните логически операции и как се записват логически формули. Проблемът е, че това не стига за реализацията на логическа схема. Нужно е малко повече знание.

На тази картинка е дадена таблицата на истинност за някаква логическа функция: f(x). Има два начина за реализация:


  1. Единият начин е да запишем всички единици: тоест, къде f(x) = 1. Започваме:

    1. В първият случай имаме три нули за входове – тогава функцията приема 0. Не записваме това.

    2. Следващият случай: x3 вече е единица, а другите две са нули. Пак нищо не записваме.

    3. Третият случай, само x2 е 1. Тогава имаме единица: записваме:



    1. Четвъртият случай, само x1 е 0. Нашата функция придобива следният вид:


Така продължаваме напред докато не стигнеме до края, и нашата функция е:




Виждаме, че само в три случая имаме единица на изхода, а вече знаеме каква е и самата функция. Тоест, защо само в тези три случая имаме единица. Тези три случая са обединени с “+”, което е логическото събиране “ИЛИ”. Уравнението може да се прочете така:
Игрек прим е равно на това ИЛИ това ИЛИ това
2. Следващият начин е да представиме функцията чрез нулите в таблицата.

Тук се движиме по същият алгоритъм – намираме обаче случаите, където имаме нула на изхода. Те са доста, и аз ще ви дам крайното уравнение. Проблемът е че тук разменяме ИЛИ и И. Ето така:




За двете функции: Игрек прим и Игрек секонд, важи едно правило: те са тъждествено равни.

МИНИМИЗАЦИЯ С КАРТИ НА ВЕЙДЖ:
Вече знаете как се образуват логически функции и как се реализират. Всъщност онова е първият етап от реализацията. Сега ще ви покажа и вторият етап. Той се нарича “минимизация”. Идеята е, че много често логическите функции не са в най-оптималния си вид. Тоест, някои функции могат да се минимизират и реализацията им на платка да отнеме много по-малко елементи. Например, една логическа функция дадена в по-горния вид може (примерно) да отнеме 1OR елемент с три, тривходови AND, а ако нямаме тривходови, стават 6 двувходови. Тоест 7 елемента! Минимазията много често прави така, че тези седем елемента да се сведат само 2 или 3. Не винаги, но все пак е много важна част от реализацията.
Пример:

На картата на Вейдж сме нанесли трите случая от първото уравнение: y’. Оказва се че уравнението може да се минимизира до този си вид (даден отдясно на картинката). Получихме, че вместо 3-тривходови елемента “И” можем да ползваме един тривходов и един двувходов и нещата пак сработват.

КОМБИНАЦИОННИ ЛОГИЧЕСКИ СХЕМИ:


Увод:

КЛС за съкратено. Те бяха обяснени в предишните глави. Сега обаче ще се занимаем по-подробно.


Дешифратори:

Decoders на английски. Това са определен вид КЛС, които имат n на брой входа и най-често 2^n на брой изхода. Може да има 4 входа и 10 изхода, но тогава дешифратора ще се нарича непълен. В зависимост от комбинацията на входа се активира определен изход.




На картинката е дадена схема на дешифратор с три входа (x0, x1, x2) и осем изхода. Ето я и таблицата на истинност за дешифратора:

Когато имаме комбинацията 000, тогава нулевият изход е активиран. Когато комбинацията е 001, вторият извод е активиран. Когато комбинацията е “7” – 111, тогава ще се активира седмият извод. Забележете, че броим от нула. Тоест, седмият извод е последният и е всъщност осми. Не ви ли направи впечатление още, че говоря за активиране на извод, а всъщност имаме ниско ниво на него. Например при първата комбинация – 000, само y0 е с “0”, а всичките други са с “1”. Това е така, защото интегралната схема се активира по ниско ниво. Изводите са инверсни. Погледнете по-горната картинка на дешифратора. Видяхте ли че на изходите имаме кръгчета. Ако си спомняте с тези кръгчета отбелязвахме логическото отрицание – “Не”. Най-често изходите са инверсни.

Този дешифратор тук има четири входа – x0..x3 и има шестнайсет изхода. Тоест крачетата стават 20. Дешифраторът има още две крачета E1, E2. За какво служат те? Това са изводи за разрешение на чипа. Ако имаме навързани дешифратори можем да избираме всеки един от тях като му подадеме нули на E1, E2. Защо нули? Ами виждате ли, кръгчетата на входовете на E1, E2? Ами това указва, че се подава нула, а не единица. Тоест, ако чипът не е избран, тези изводи трябва да са свързани така, че да получават 5V например (високо ниво). Когато искаме да избереме този чип, просто трябва да махнем захранването оттам, така че крачетата отиват в ниско ниво.

Значи станахме с 22 крачета. Има още две, които не са показани на картинката. Тези две са за захранване и земя. Те са във всеки чип. Така станахме с 24 крачета.



На картинката съм нарисувал два дешифратора. Идеята е да се покаже как тези два дешифратора могат да бъдат управлявани чрез своите входове за разрешаване. Ето я таблицата на истинност:

Празните полета в таблицата съответстват на: “неактивиран”. Виждате в картинката на двата дешифратора, че първият е свързан директно към x0, x1, но вторият е свързан по друг начин. Изводът x1 е прекаран през елемент “Не”. Това се прави по естествената причина да не се позволи и двата дешифратора да се активират за някаква комбинация.

Шифратори:

Това са обратните КЛС на дешифратори. На английски се наричат coders. Те имат 2^n входа и n изхода. Задължително е да има един активен вход. Защо? Ами я си спомнете дешифратора. При комбинация “000” той активираше нулевия изход. А сега ако на шифратора подадеме логическата нула на нулевия изход, ще получиме комбинацията “000”. А какво става ако не подадеме на никой от изводите логическа нула? Ами не се знае и това е проблема.



Шифраторът показан на картинката има четири входа и два изхода. Той няма кръгчета на входовете и изходите, което означава, че за да активираме изход, му подаваме единица. Ето я таблицата на истинност:

Най-лесно се чете такава таблица за шифратори, като се именуват входовете от 0 до 3, както е на картинката горе. Така, когато подадеме на x0 – “1” ще получиме “0”. Ако активираме x1 ще получиме 1. Ако активираме xn ще получиме n и тъй нататък.
Приоритетен шифратор:

Това е вид шифратори, при който дори и да са активирани повече входове, няма да се обърка. Ако на такъв шифратор подадеме високо ниво на два извода, той ще даде на изхода си, комбинацията, която съответства на по-старшия извод.



На тази картинка, подаваме “1” на x1 и х0. Шифраторът пропуска х0 и дава комбинацията за х1. Това е така, защото х1 е по-старши от х0. х3 е най-старшият от всички. Във втория ред активираме х2 и х0, но ще получиме 10 – комбинацията, съответстваща за х2.
Прекодер:

Това е също вид шифратор. Прекодерът (precoder) ще преобрази дадена комбинация в друг вид комбинация.


Този прекодер има 12 входа, разделени на три четворки. Всяка четворка е BCD цифра. Тоест, прекодерът може да взима трицифрени BCD числа. На изходите се получава двоичната комбинация, съответстваща на 715-BCD.

Прекодерът може да се ползва в ЦАП (Цифрово-Аналогови преобразуватели). Тези преобразуватели изкарват на изхода си аналогов сигнал, съответстващ на входен цифров. Например, за вход имаме 715, а на изхода получаваме 7,15V. На входа имаме 1023, а на изхода получаваме 10,23V. 1023 е най-голямата комбинация, която може да се получи, ако ползваме 10 бита. Тоест, този прекодер има 10 изхода.

На картинката е даден прекодерът плюс самия ЦАП. Прекодерът преобразува BCD в двоичен код, а двоичният код е входния цифров сигнал за DAC (Digital-Analogue Convertor или по-нашему ЦАП). Този преобразувател беше обяснен вече.


Мултиплексори:

Много пъти по схемите се отбелязва като MUX. Това е друг клас КЛС. Тук имаме 2^n информационни входове и още n контролни входове. Тоест, общо ние имаме 2^n+n входове. Имаме само един изход! Контролните входове (управляващи) служат за избиране на един от информационните входове. Представете си, че всеки от входовете е свързан към изхода с ключ, но само при един вход, ключът е затворен. Информацията на изхода ще постъпва само от този вход. Мултиплексорите се използват когато имаме много устройства и искаме да взимаме информация от определено.



На картинката е даден мултиплексор с четири информационни входа. A1A0 са контролните. Ето я таблицата за истинност:

Мултиплексори с двойки входове:


Разликата между предния тип мултиплексори и този е, че тук имаме двойки входове и два изхода. Цялата двойка се закача към изходите. Тук E1E0 са контролните входове. Ето я таблицата за истинност:

Схеми за контрол по четност:

Схемата брои колко единици има в даден байт и към него залепя един контролен бит. Например, 4 единици – долепя се нула. 5 единици – долепя се единица. Тоест, ако единиците са нечетен брой, долепя се 1, а иначе – нула.


Компаратори:

Компараторите (Comparators) са устройства, които сравняват по абсолютна стойност. Компараторите например сравняват две четирибитови думи. Как обаче да се сравни един байт (осем бита)? Компараторът има още един вход. Този вход е предназначен, към него да се върже по-младши компаратор. Така, чрез 2 компаратора можем да сравниме байт. А чрез по-големи съвкупности от компаратори можем да сравняваме по-големи числа.



Първата четирибитова дума се вкарва през входове A3…A0. Другата дума идва през B3…B0. Имаме три изхода. Първият изход отива във високо ниво, ако A>B. Вторият изход се активира ако A=B, а третият ако AЧислата се сравняват бит по бит, като се започва от най-старшия бит. Тоест, ако A3 и B3 са най-старшите битове в нашите числа, те се сравняват първи. Ако A3

На картинката бяха входовете < = >. Това са всъщност входовете от по-младшия компаратор.
Суматори:

Продължаваме с разглеждането на КЛС. Сега ще разгледаме суматорите. Те обикновено са четири битови. Това което правят, е да сумират числа и да дават сумата като изход.



Най-добре е първо да разгледаме таблицата на истинност за един суматор на четирибитови числа. Cin указва кое е активното ниво. В първия случай пише Act.H, което означава, че активно е високото ниво (High-висок). Вторият случай показва активна нула – ниско ниво (Low-нисък). A, B са числата, а S е сумата им. Cout е бит за препълване. Защо е активиран? Ами нека събереме числата, като приемем че активно е високото ниво. Тогава:
0+1 = 1

1+0 = 1


0+0 = 0

1+1 = 0 и едно наум. Ето това едно наум отива в бита за препълване.


Функцията “събиране” е направена чрез логически елементи “Изключващо ИЛИ” - XOR. Така получаваме нули, ако имаме 0, 0 или 1, 1 (вижте примера). Препълващият бит се получава чрез AND – “И”. Той се активира само ако имаме две единици.
Cout отива към по-старшия суматор, а Cin е вход от по-младши суматор.

На тази картинка са показани два суматора, които са свързани. Според тази картинка, две осембитови числа могат да се сумират от два четирибитови суматора. Първият суматор има Cin заземен (GND). Вторият има Cin свързан към Cout на първия.

ТРИГЕРИ:
Досега ставаше въпрос за КЛС, които нямат памет. Сега ще стане въпрос за логически схеми с памет. Тоест сега вече функцията ще зависи и от текущото състояние. Такива схеми се наричат последователностни схеми. Отсега нататък текущото състояние се отбелязва с Qt, а инверсното текущо състояние (Qt черта) се отбелязва с !Qt.

Причината да възникнат такива схеми с памет е, че иначе редица устройства не биха работили въобще. Много устройства зависят от текущото състояние.
Тригерите са логически елементи, които имат свойството да запомнят. Тоест, те са запомнящи елементи. Най-простият тригер е RS-тригера.
RS-тригер:

Ер-Ес тригера се изгражда от два NOR елемента. Нарича се така, поради действието на изводите му. Единият извод е кръстен R, защото е съкращение от английската дума Reset. S означава Set. Eто как изглежда RS тригера:






Първо е даден самия тригер, а после е дадена таблицата на тригера. На RS тригер никога не се подават две единици, защото Qt+1 няма да е дефинирано.
Не-R Не-S тригер:


Получаване на синхронен RS тригер от асинхронен !R!S:

Предните два тригера бяха асинхронни. Това е така, защото няма тактуване. Всъщност реалните тригери се правят с вход C – Clock. Как се прави синхронен тригер? Ами да вземем не-Р-не-С тригера. Ако към него добавиме два NAND eлемента (“Не-И” елементи)...



Получихме синхронен RS тригер, от асинхронен !R!S (Не-R-Не-S).

В таблицата е показано какво става, когато се даде импулс на C. Всъщност,

Ако на С подадеме прав импулс (високо ниво), RS тригера може да се “пипа”. Тоест, можем да променяме текущото му състояние (вижте първата таблица за RS тригера). Ако на С е подаден инверсен импулс (ниско ниво), каквото и да подаваме на другите два входа, нищо няма да се промени.
Получаване на синхронен !R!S тригер от асинхронен RS:

Прави се чрез NOR елементи. Ако добавиме два NOR получаваме !R!S, синхронен. Ето я и таблицата:


Идеята на синхронизирането е да елиминираме влиянието на шумове. Времетраенето на С импулса е много по-голямо. Друга причина е че понякога логическите елементи (още наричани гейтове) понякога стават прекалено много. Тоест, сигналът минава през много гейтове. Понеже гейта има закъснение, изходният сигнал няма да се получи правилен веднага. Получава се състезание на сигналите. За да се избегне, се слага тактов генератор който управлява (синхронизира). Именно това е причината при overclocking, процесорът да започва да се държи нестабилно.
Неудобството на RS тригера е забранената комбинация. Такива тригери се ползват в най-простите схеми, но за да се избегне недефинираността, се ползват JK тригери.
JK тригер:

При RS тригера, R означаваше Reset (нулирам), а S-Set (установявам). При JK е обратното, защото J установява:



Няма забранена комбинация, а почти винаги има синхр. Вход С.


Ако подадеме единица на J, установяваме тригера (“1”). Ако подадеме единица на K, нулираме тригера (“0”). При подаване на две единици, състоянието се обръща. Тоест Qt+1 = !Qt. Ако подадеме две нули, Qt+1 = Qt.
D-тригер:

Идва от Delay тригер (закъснителен). Те са най-често ползвани за запаметяване на данни. Една 4 GB флаш памет има над 64 милиарда D структури. Синхронизиращият вход работи по преден фронт и е задължителен!



При D-тригера, каквото му подадеш, това изкарва.

На всеки преден фронт, D тригера се активира.
T-тригер:

(Т – Таймер) се ползва за времеделене. Обръща се по преден фронт.



Виждате, че при подаване на импулс, състоянието се обръща. Важно е да запомните, че се обръща по фронт!!!

На картинката виждате, че първият тригер се обръща на всеки преден фронт (всеки импулс). Вторият Т тригер взима входа си от първия и се обръща с два пъти по-малка честота. Ако имаме честота 32 768 Hz, можем да я сведем до честота 1 Hz (една секунда) чрез петнайсет Т-тригера.
JK – Т тригер:

От JK може да се получи Т тригер. Просто свързваме входовете JK и сме готови.



D – T тригер:

От D също може да се направи Т тригер. Тук свързваме инверсният изход, към входа на тригера:



Master-Slave тригери:

Навръзват се такива тригери с цел да се избегнат състезанията на импулсите. D се свързват “двуетажно” ето така:



Имаме достъп само до D, C, Q2 изводите. Тоест до изводите извън пунктираната линия.

Така сигналите се изолират, за да не се връщат обратно.


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница