Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

разд.матерТТ / Раз.м.ТТ-14 / Соврем.-ЭиУСУ / цст / Vodovozov_CAS / А.Водовозов Цифровые элементы систем автоматики

.pdf
Скачиваний:
125
Добавлен:
13.05.2015
Размер:
1.21 Mб
Скачать

ВОЛОГОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

А. Водовозов

ЦИФРОВЫЕ ЭЛЕМЕНТЫ СИСТЕМ АВТОМАТИКИ Учебное пособие

Допущено учебно-методическим объединением по образованию в области энергетики и электротехники в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 180400 «Электропривод и автоматика промышленных установок и технологических комплексов» направления

654500 «Электротехника, электромеханика и электротехнологии»

Вологда

2001

УДК 621.383 ББК 32.85 В62

Рецензенты:

Кафедра робототехники и автоматизации производственных систем СанктПетербургского государственного технического университета, зав. кафедрой

профессор Рассудов Л.Н Зав. кафедрой автоматизированного электропривода Комсомольского на

Амуре государственного технического университета, профессор Соловьев В.А.

Водовозов А.М. Цифровые элементы систем автоматики. Учебное пособие. - Вологда. ВоГТУ, 2001.- 108 с., ил.

Рассматриваются различные элементы современной цифровой автоматики, от простейших логических элементов и триггеров до больших интегральных схем с программируемой логикой. Отказ от глубокой математической и физической трактовки процессов объясняется стремлением максимально приблизить обучаемого к реалиям современной схемотехники, показать ему возможности этой техники и пути её развития.

Пособие может быть полезно инженерно-техническим работникам и студентам различных специальностей, изучающим цифровую схемотехнику.

Допущено учебно-методическим объединением по образованию в области энергетики и электротехники в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 180400 «Электропривод и автоматика промышленных установок и технологических комплексов» направления 654500 «Электротехника, электромеханика и электротехнологии»

ISBN

ISBN

Водовозов А. М., 2001Вологодский государственный технический университет, 2001

2

ВВЕДЕНИЕ

Вопросы цифровой схемотехники исторически рассматриваются как обязательная часть образовательной программы подготовки инженеров по электроприводу и автоматике. Эти вопросы всегда вызывают повышенный интерес студентов, пытающихся проникнуть в тайны цифровых регуляторов и элементов цифровых систем управления. Предлагаемая книга задумана как учебное пособие по элементам цифровой схемотехники и, одновременно, как краткий справочникпутеводитель по современной элементной базе цифровых устройств. В ней в максимально упрощенной форме рассмотрены все аспекты развития этого направления современной автоматики.

Основой для написания книги послужили конспекты учебного курса, читаемого автором студентам специальности 180400 на протяжении более чем 20 лет. За этот период цифровая схемотехника, которую раньше рассматривали как раздел промышленной электроники, превратилась в довольно абстрактную науку. Сейчас она оперирует своими логическими понятиями, терминами и определениями. Базируясь на сравнительно простом математическом аппарате булевой алгебры, она позволяет решать задачи синтеза сложных высокоинтеллектуальных технических устройств формальными методами, опираясь на множество современных интегральных схем, созданных ведущими мировыми производителями. Именно в такой постановке рассматривается материал в данной книге. В ней рассматриваются ключевые понятия и модели, практические схемы и микросхемы отечественных и зарубежных производителей, решающие самые различные задачи. В книге собран материал, позволяющий освоить курс студентам с разной базовой подготовкой. Отказ от глубокой математической и физической трактовки процессов объясняется стремлением максимально приблизить обучаемого к реалиям современной схемотехники, показать ему возможности этой техники и пути её развития.

В первых главах учебника кратко рассмотрены математические основы цифровой схемотехники: двоичная арифметика и алгебра логики. Современные полупроводниковые элементы, составляющие основу цифровой схемотехники, разобраны в третьей главе. Основные технологии производства интегральных схем, созданные на различных этапах электроники, представлены в четвертой главе работы. Все последующие главы книги посвящены интегральной схемотехнике в её сегодняшнем представлении, её терминам и разработкам, классическим и современным схемам.

Книга не претендует на роль справочника. Приведенные в ней в качестве примеров различные интегральные схемы скорее можно отнести к простейшим. Они не могут даже частично отразить существующего многообразия изделий, созданного известными всем гигантами электронного бизнеса: Motorola, Siemens, Sony, Samsung, Micron, Toshiba, Texas Instruments, NEC, Intel, AMD….. Уже сегодня размер транзистора на кристалле полупроводника измеряется долями микрона, количество транзисторов – десятками миллионов, рабочая частота цифровых микросхем –

3

сотнями мегагерц. Развитие схемотехники настолько стремительно, что охватить всё многообразие существующих схем в таком пособии просто невозможно.

1. СИСТЕМЫ СЧИСЛЕНИЯ

Позиционные системы

Привычная нам десятичная система счисления относится к классу позиционных. Позиционными считаются системы, в которых одна и та же цифра несет в себе разную информацию в зависимости от её расположения (позиции) в числе. Количество цифр s , используемых в системах позиционного типа, называется основанием системы счисления. В десятичной системе используется десять привычных нам цифр от 0 до 9, основание s = 10.

В общем случае в системе с основанием s целое число x представляется в виде

полинома степени n: x = an s n + an1s n1 + ... + a1s1 + ao so ,

 

( 1.1)

где n на единицу превышает количество цифр в числе, а в качестве

коэффициентов

ai могут стоять любые из множества

s

цифр

, используемых в

системе.

 

 

 

 

Числа в

позиционной системе представляются

в

виде

последовательности

соответствующих цифр: x = an an1 ...a2 a1ao . При такой записи вес каждого разряда

увеличивается в s раз, по сравнению с соседним, при движении справа налево.

В вычислительной технике, наряду с десятичной, распространены и активно используются системы счисления с основаниями 2, 8 и 16.

Основанием двоичной системы счисления является число 2 и в записи вида

(1.1) используется только две цифры ai =

0 или 1. Поэтому полином (1.1) выглядит

следующим образом: an 2n + an1 2n1 +

....+ a2 22 + a1 21 + ao 2o

(1.2)

Отдельные цифры двоичного числа именуются битами (bit-сокращение от binare digit). В тех случаях, когда в одной записи используются одновременно разные системы счисления, двоичные числа будем обозначать символами 0b, записываемыми справа от числа. По умолчанию любое число считается десятичным.

Например, по формуле (1.2):

0b11010 = 1× 24 + 1× 23 + 0 × 22 + 1× 21 + 0 × 2o = 26

Пересчет из двоичной системы в десятичную можно осуществить также методом удвоения: старшая цифра двоичного числа умножается на 2, к полученному произведению прибавляется следующая цифра, сумма умножается на 2 и далее аналогично до последней цифры. Для того же числа 0b11010 последовательность действий выглядит следующим образом:

1× 2 = 2; 2 + 1 = 3; 3 × 2 = 6; 6 + 0 = 6; 6 × 2 = 12; 12 + 1 = 13; 13 × 2 = 26; 26 + 0 = 26

Обратное преобразование десятичного числа в двоичное выполняется в обратном порядке: десятичное число делится на 2, остаток считается младшим битом

4

двоичного числа, частное от деления снова делится на 2, остаток считается первым битом и т. д. Например:

26 /2 = 13/2 = 6/2 = 3/2 = 1/2=0

Остатки

0

1

0

1

1

биты

a0

a1

a2

a4

a5

В восьмеричной системе используется восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Запись вида (1.1) в этом случае соответствует полиному:

an 8n + an18n1 +

.... +

a2 82 +

a181 +

ao 8o .

( 1.3)

Восьмеричные числа принято отмечать слева символом 0. Например:

04712 =

4 ×

83 + 7 ×

82 +

1× 8 +

2 = 2506 .

Необходимо отметить, что в принятых обозначениях десятичное число не должно начинаться с нуля.

В шестнадцатеричной системе счисления используется 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Запись шестнадцатеричного числа в виде (1.1) представляется в виде полинома

с основанием 16: an 16 n +

an116 n

1 +

.... + a2 16 2 + a116 1 + ao 16 o .

( 1.4)

Шестнадцатеричные числа обозначаются слева символами 0х. Например:

0xB2E = B × 16 2 +

2 × 161 +

E ×

16 o = 2862

 

 

 

В таблице 1.1. десятичные числа от 0 до 20 представлены в различных

системах счисления.

 

 

 

 

Таблица 1.1.

 

 

 

 

 

 

 

 

 

 

 

 

 

Системы счисления

 

Десятичная

 

Двоичная

 

Восьмеричная

Шестнадцатеричная

 

 

0

 

0

 

0

0

 

 

 

1

 

1

 

1

1

 

 

 

2

 

10

 

2

3

 

 

 

3

 

11

 

3

3

 

 

 

4

 

100

 

4

4

 

 

 

5

 

101

 

5

5

 

 

 

6

 

110

 

6

6

 

 

 

7

 

111

 

7

7

 

 

 

8

 

1000

 

10

8

 

 

 

9

 

1001

 

11

9

 

 

 

10

 

1010

 

12

A

 

 

 

11

 

1011

 

13

B

 

 

 

12

 

1100

 

14

C

 

 

 

13

 

1101

 

15

D

 

 

 

14

 

1110

 

16

E

 

 

 

15

 

1111

 

17

F

 

 

 

 

 

 

 

 

 

5

 

 

 

Окончание табл. 1.1.

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная

 

16

10000

20

10

 

17

10001

21

11

 

18

10010

22

12

 

19

10011

23

13

 

20

10100

24

14

 

Преобразование двоичных чисел в восьмеричные и шестнадцатеричные очень просто.

Для перехода от двоичной к восьмеричной записи двоичное число разбивают на группы по 3 символа, начиная с младшего бита. Если в последней (старшей) группе остается менее трех символов, то её дополняют слева нулями. Затем каждую группу заменяют соответствующим восьмеричным символом в соответствии с табл. 1.1.

Например: 0b1101111110 = 001 101 111 110 = 01576

Переход от двоичной к шестнадцатеричной системе аналогичен, но группы состоят из четырех символов: 0b1111100010111110 = 0111 1100 0101 11110 = 0x7C5F.

Двоичная система счисления считается основной в вычислительной технике, а восьмеричная и шестнадцатеричная трактуются как удобный способ представления двоичных чисел.

Обратный и дополнительный код

Для задания знака в двоичное число вводится дополнительный знаковый разряд. Знаковый разряд всегда записывается слева от числа и фактически является его старшим разрядом. 0 в знаковом разряде соответствует положительному числу, 1 - отрицательному. Положительные числа при вычислениях всегда представляются в обычном (прямом) двоичном коде, а для представления отрицательных чисел можно использовать два различных специальных кода.

При использовании обратного кода в процессе перехода от положительного числа к отрицательному все биты числа меняются на противоположные. Например, число +12 в 8-битном представлении записывается в прямом коде как 0b00001100, а число -12 - как 0b11110011. В обоих случаях старший бит числа является знаковым.

Дополнительный код больше обратного на единицу. То же самое число -12 в дополнительном коде представляется как 0b11110011+1= 0b11110100.

В таблице 1.2 приведены примеры восьмибитных положительных и отрицательных чисел от в диапазоне от +127 до -128 в прямом, обратном и дополнительном кодах

Таблица1.2. Положительные и отрицательные восьмиразрядные двоичные числа

Десятичный

Двоичный код

Десятичный

Обратный код

Дополнительный код

код

 

код

 

 

 

 

- 128

 

1000 0000

+127

0111 1111

- 127

1000 0000

1000 0001

6

 

 

 

 

 

 

 

 

Окончание табл. 1.2.

Десятичный

Двоичный код

Десятичный

Обратный код

Дополнительный код

код

 

код

 

 

+126

0111 1110

- 126

1000 0001

1000 0010

 

 

 

 

 

+7

0000 0111

- 7

1111 1000

1111 1001

+4

0000 0100

- 4

1111 1011

1111 1100

+3

0000 0011

- 3

1111 1100

1111 1101

+2

0000 0010

- 2

1111 1101

1111 1110

+1

0000 0001

- 1

1111 1110

1111 1111

+0

0000 0000

- 0

1111 1111

0000 0000

В обратном коде запись отрицательного нуля (- 0) отличается от положительного (+0). В дополнительном коде отрицательный нуль не отличается от положительного.

Сложение и вычитание двоичных чисел

Таблица двоичного сложения имеет всего четыре строки: 0 + 0 = 0; 0 + 1 = 1;

1+ 0 = 0;

1 + 1 = 10

Впоследней строке при сложении одноразрядных чисел получен двухразрядный результат, т.е. сумма содержит перенос в старший разряд.

Сложение многоразрядных чисел начинается с младших битов. Возникающий перенос учитывается при сложении следующих (соседних) битов. Например:

перенос

 

 

 

 

 

 

 

1

 

 

21

0

0

0

1

0

1

0

1

+

09

0

0

0

0

1

0

0

1

 

30=

0

0

0

1

1

1

1

0

Старший разряд в суммируемых двоичных числах - знаковый. Таблица для операции вычитания аналогична таблице сложения:

0 - 0 = 0 0 - 1 = 1 (занимается единица из старшего бита)

1- 0 = 1

1 - 1 = 0

Вычитание многоразрядных двоичных чисел, также начинается с младшего бита. При необходимости выполняется заем из старших битов. Например:

 

заем

 

 

 

1

 

 

 

 

 

21

0

0

0

1

0

1

0

1

-

 

09

0

0

0

0

1

0

0

1

 

12=

0

0

0

0

1

1

0

0

7

Если вычитаемое в операции вычитания заменить отрицательным числом, то операция вычитания сводится к сложению чисел со знаком. Например: операция 21D - 9D = 21D + (-9D) при записи числа -9D в дополнительном коде будет выглядеть следующим образом:.

 

перенос

1

1

1

1

 

1

1

1

 

 

21

 

0

0

0

1

0

1

0

1

+

 

-09

 

1

1

1

1

0

1

1

1

 

12=

 

0

0

0

0

1

1

0

0

Возникающий при этом перенос из знакового разряда теряется.

Если же число -9D представить в обратном коде, то правильный результат получится если перенос из знакового разряда будет прибавлен к младшему разряду промежуточного результата:

 

перенос

1 1

1

1

 

1

 

 

 

 

21

0

0

0

1

0

1

0

1

+

 

-09

 

1

1

1

1

0

1

1

0

 

12=

0

0

0

0

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

0

0

0

0

1

1

0

0

Полученная в результате операции вычитания разность может оказаться числом отрицательным. В этом случае результат операции представляется, как и одна из переменных, в дополнительном либо обратном коде. Например, вычисления 9-21 при записи числа -21 в дополнительном коде выглядят следующим образом:

перенос

 

 

 

 

 

1

 

 

1

 

 

9

0

0

0

0

1

0

0

1

+

-21

 

1

1

1

0

1

0

1

1

 

-12=

1

1

1

1

0

1

0

0

Полученный результат соответствует числу -12 в дополнительном коде. То же самое при представлении вычитаемого в обратном коде:

перенос

 

 

 

 

1

 

 

1

 

9

0

0

0

0

1

0

0

1

+ -21

1

1

1

0

1

0

1

0

 

-12=

 

1

1

1

1

0

1

0

1

Результат также соответствует числу -12, но записанному в обратном коде. При алгебраическом сложении двух чисел, может возникнуть переполнение:

полученная в результате вычислений сумма имеет разрядность большую, чем слагаемые и старший разряд суммы переносится в знаковый разряд, искажая результат. Признаком переполнения является наличие переноса в знаковый разряд суммы при отсутствии переноса из её знакового разряда (положительное переполнение) или наличие переноса из знакового разряда суммы при отсутствии переноса в её знаковый разряд (отрицательное переполнение). Например, положительное переполнение:

8

перенос

 

1

1

1

 

 

 

 

 

 

80

0

1

0

1

0

0

0

0

+

62

 

0

0

1

1

1

1

1

0

 

142≠

1

0

0

0

1

1

1

0

отрицательное переполнение (вычисления в дополнительном коде):

перенос

 

1

 

 

 

 

 

 

 

 

 

-80

1

0

1

1

0

0

0

0

+

-62

 

1

1

0

0

0

0

1

0

 

-142≠

0

1

1

1

0

0

1

0

Умножение и деление двоичных чисел

Умножение двоичных чисел выполняется по тем же правилам, что и умножение чисел десятичных. Сначала умножается младший бит множимого (первого сомножителя) на множитель (второй сомножитель). Результат умножения сохраняется. Затем второй бит множимого умножается на множитель. Результат сдвигается влево на один разряд и также сохраняется. Далее операция повторяется со всеми битами множителя. При суммировании накопленных сдвинутых частных произведений получается результат умножения. Например, перемножение чисел 5 и 9 выглядит следующим образом:

 

 

 

 

0

1

0

1

 

5

 

 

 

×

1

0

0

1

×

9

 

 

 

 

0

1

0

1

 

45

 

 

 

0

0

0

0

 

 

 

 

 

0

0

0

0

 

 

 

 

0

0

1

0

1

 

 

 

 

 

0

1

0

1

1

0

1

 

 

Умножение связано с выполнением нескольких операций сложения и сдвига и, поэтому, требует существенно большего времени для вычисления, чем сложение и вычитание. Под результат двоичного умножения должно быть зарезервировано в два раза больше бит, чем под каждый из сомножителей.

Двоичное деление выполняется с помощью операций вычитания и сдвига. Делитель помещается под делимым со стороны старших разрядов (как можно левее) и производится вычитание. В старший разряд частного заносится единица. Затем делитель сдвигается на один разряд вправо и вновь осуществляется вычитание. Если вычитание невозможно из-за того, что остаток оказывается отрицательным, оно не выполняется и в соответствующий разряд частного заносится 0. Операция заканчивается при достижении последнего разряда делимого.

 

 

 

делимое

 

 

 

делитель

 

 

 

0

0

1

0

1

1

0

1

0

1

0

1

45

5

 

0

1

0

1

 

 

 

1

0

0

1

 

9

 

 

 

 

0

1

0

1

 

частное

 

 

 

 

 

 

 

0

1

0

1

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

 

остаток

9

2. АЛГЕБРА ЛОГИКИ

Алгебра логики, созданная в середине 18 века англичанином Дж. Булем (булева алгебра) оперирует с логическими переменными. Основополагающим законом алгебры логики является закон исключения третьего, согласно которому логические переменные, в отличие от переменных обычной алгебры, могут принимать только два значения. Переменные обычно обозначаются как и двоичные цифры символами 0 и 1. Операции над переменными записываются с помощью логических операций.

В электронных схемах операции выполняются с помощью логических элементов. При этом логические сигналы 0 и 1 задаются разными уровнями напряжения. Сигнал логического нуля обычно представляется низким уровнем

напряжения U o , логической единицы - высоким U1 . Такая логика получила название положительной. В ряде случаев используют отрицательную логику, где логический нуль представляется высоким уровнем напряжения, а логическая единица - низким.

Для изображения логических схем всегда используются условные графические обозначения элементов, описывающие только выполняемую элементами функцию и не зависящие от его схемы. В настоящее время в мире существует несколько общепринятых стандартов условных обозначений. Наиболее распространенными являются американский стандарт milspec 806B и стандарт МЭК 117-15А, созданный Международной Электротехнической Комиссией. Часто в литературе используются также обозначения в европейской системе DIN 4070. В отечественной литературе условные обозначения элементов в основном соответствуют ГОСТ 2.743-82.

Основные логические операции

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

Конъюнкция

Конъюнкция (логическое умножение, операция И, AND): функция Y принимает единичное значение только тогда, когда равны единице абсолютно все входные переменные. В частности, для двух переменных X1 и X2 существует четыре различных сочетания, но только одному из них (X1=X2=1) соответствует единичное значение функции (табл. 2.1).

Таблица 2.1. Таблица истинности для конъюнкции двух переменных

 

входные

выходная

переменные

переменная

X1

 

X2

Y

0

 

0

0

0

 

1

0

1

 

0

0

1

 

1

1

10