Skip to content
АЦУ · Тема 14 · Логиката

Битовете по жицата – от един чип до друг

Един чип праща на друг числото 121 – осем бита по една жица. В жицата обаче няма нули и единици, а напрежение, което шумът люлее, а капацитетът забавя. В урока виждаме кога приемникът още разбира какво му казват и колко бързо може да се говори.

≈ 7 мин четене∿ 3 живи уредаСамопроверка: 6 въпроса

Логическите нива са области, не числа ​

Цифровата схема разбира само две неща: 0 и 1. В жицата обаче има напрежение, а то никога не е точно 0 V или точно 5 V. Затова всяко ниво е цяла област. При TTL за входа „1“ е всичко над 2,0 V, „0“ е всичко под 0,8 V, а между тях е неопределената област: там елементът може да реши както иска. Това е положителна логика (H = 1, L = 0). При отрицателната е обратно.

Номерът е, че изходът обещава повече, отколкото входът иска. Изходът на TTL дава „1“ поне 2,4 V и „0“ най-много 0,4 V. Разликата от 0,4 V между обещанието и изискването е шумоустойчивостта: толкова смущение може да се добави по пътя, без приемникът да се обърка.

Пращаме 121 = 0111 1001 (старшият бит пръв) с най-лошите нива, които TTL изход още има право да даде. По жицата има шум с връх 0,3 V. Приемникът разбира 01111001 – всичко е наред.

121 по шумна жица
0246024t – време, μsu, V
предадено на входа U1вх min 2,0 V U0вх max 0,8 V
Фигура 1.

Синьото е това, което предавателят дава: 2,4 V и 0,4 V – долната граница на обещанието му. Жълтото е това, което стига до приемника. Докато шумът е до 0,4 V, жълтото не влиза между пунктирите и всички осем бита стигат. При 0,5 V първият връх влиза в неопределената област и се появява „?“. При 0,8 V всички осем бита са „?“: приемникът може да прочете всяко число.

Фронтът и закъснението ​

Смяната от 0 на 1 също не е мигновена. Изходът на чипа има съпротивление R, а жицата и входовете, които той кара, имат капацитет C. Това е RC веригата от тема 20: напрежението пълзи нагоре по експонента. Времето от 10 % до 90 % се казва фронт (време на нарастване t_r), а за RC то е t_r ≈ 2,2·RC.

Приемникът превключва чак когато линията стигне неговия праг – около половината от захранването. Затова сигналът пристига със закъснение. Закъснението от вход до изход се мери на 50 % и е различно при двата прехода: t10 (изходът пада) и t01 (изходът се вдига). В каталозите пишат средното tзад.ср = (t01 + t10)/2.

Тук изходното съпротивление е R = 200 Ω. Изходът кара m = 4 входа по 5 pF плюс 10 pF жица, общо C = 30 pF. Значи RC = 6 ns и 2,2·RC = 13,2 ns. Симулацията мери фронт 13,3 ns и средно закъснение до изхода на приемника 7,07 ns. Лентата, която такъв фронт иска, е B ≈ 0,35/t_r ≈ 26,4 MHz.

Линията между два чипа
∿предавателR 200 ΩC 30 pF1приемниквходлинияизход
020406080100024t – време, nsu, V
вход линия изход праг Ucc/2
Фигура 2.

Синьото е идеалният правоъгълник, жълтото е линията, а зеленото е изходът на приемника, обърнат, защото приемникът е инвертор. Изходът се сменя едва когато жълтото пресече пунктира. Сложи 30 входа и виж колко се забавя всичко: затова един изход не може да кара безкрайно много входове.

Импулсът: период и коефициент на запълване ​

Повтарящият се цифров сигнал (тактът) има период T и честота f = 1/T. Каква част от периода е 1 казва коефициентът на запълване D = tи/T. Импулс 2 μs на всеки 10 μs е D = 20 %. Тактът на процесора е с D = 50 %, а при ШИМ управлението на мотор (тема 16 по СА) D задава колко мощност отива в мотора.

Когато импулсите не се повтарят редовно, вместо честота се говори за интензивност – колко импулса средно идват за единица време.

Параметрите на логическия елемент ​

Каталогът на всеки логически чип описва едни и същи неща:

ПараметърКакво казва
Статична предавателна характеристикаUизх(Uвх), снета бавно; от нея са нивата и прагът
Шумоустойчивост U1ш, U0школко смущение понася входът
Средно закъснение tзад.срколко бърз е: свръхбързи < 1 ns, бързи 1–10 ns, средни 10–50 ns, бавни > 50 ns
Брой входове nобикновено 2–8; повече входове правят елемента по-бавен
Товароспособност mколко входа от същата фамилия може да кара (30–40)
Мощност Pср = (P0 + P1)/2средно между двете състояния на изхода

Кои числа какви са зависи от фамилията (TTL, CMOS, ECL) – за това е тема 16.

Кодовете: едно число, много записи ​

С n бита могат да се запишат 2ⁿ числа, а правилата как точно са кодове. Числото тук е 121:

Едно число – пет кода
КодЗаписКак се получава
Двоичен0111 1001всеки бит тежи 1, 2, 4, 8…; старшият (MSB) е вляво
Шестнадесетичен79всяка тетрада (4 бита) става цифра 0–9, A–F
BCD (двоично-десетичен)0001 0010 0001всяка десетична цифра поотделно с 4 бита
Грей0100 0101gᵢ = bᵢ ⊕ bᵢ₊₁ – съседните числа се различават с един бит
−121 в допълнителен код1000 0111обръщаш битовете и добавяш 1
Фигура 3.

От 121 към 122 в двоичен код се сменят 2 бита наведнъж, а в кода на Грей – винаги един. Пробвай 127: всичките 8 бита се обръщат. Ако ги четеш точно докато се сменят, можеш да хванеш всяко число. С кода на Грей грешката е най-много една стъпка.

Къде се ползва всеки код:

  • Двоичният е за аритметиката: процесорът събира в него.
  • Шестнадесетичният е съкратен запис на двоичния за хора: 0111 1001 = 79₁₆.
  • BCD е за дисплеите и часовниците: всяка цифра отива направо на своя индикатор (тема 18).
  • Грей е за енкодерите на въртящи се оси, бързите АЦП и картите на Карно (тема 17).
  • Допълнителният е за отрицателните числа: събирането и изваждането стават с един и същ суматор (тема 19), а старшият бит е знакът. Правият код (знак + модул) има +0 и −0, затова не се ползва за смятане.
  • Има и кодове, при които повече бита пазят по-малко числа, но се четат по-лесно. Унитарен: n бита за n числа, само една единица. Термометричен: единиците се пълнят като живака в термометъра, ползва го бързият АЦП. Джонсън: n бита за 2n числа, ползва се в броячите.

Самопроверка ​

1. TTL изход дава поне 2,4 V за 1, вход иска поне 2,0 V. Колко шум понася единицата?

U1ш = 2,4 − 2,0 = 0,4 V.

2. R = 1 kΩ, C = 100 pF – колко е фронтът?

t_r ≈ 2,2·RC = 2,2 · 1 kΩ · 100 pF = 220 ns.

3. Импулс 2 μs при период 10 μs – колко е D?

D = 2/10 = 20 %.

4. Запиши 121 в двоичен, шестнадесетичен и BCD код.

121 = 64 + 32 + 16 + 8 + 1 = 0111 1001₂ = 79₁₆ (7·16 + 9 = 121); BCD: 0001 0010 0001.

5. Как се записва −3 в допълнителен код с 4 бита?

+3 = 0011 → обръщаме: 1100 → +1: 1101.

6. Защо енкодерът на въртяща се ос е в код на Грей?

Между две съседни положения се сменя само един бит. Ако датчикът прочете точно на границата, грешката е най-много една стъпка, а не произволно число.