Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Высш
ее
проф
есси
онал
ьное
об
разо
вани
е А. М. Водовозов
ЭЛЕМЕНТЫСИСТЕМАВТОМАТИКИ
Электротехник
£ 2 1 , 5 "
ВЫСШЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ^
А. М. ВОДОВОЗОВ
ЭЛЕМЕНТЫ СИСТЕМ АВТОМАТИКИ
Допущено Учебно-методическим объединением
по образованию в области энергетики и электротехники в качестве учебного пособия для студентов
высших учебных заведений, обучающихся по специальности 140604 «Электропривод и автоматика промышленных установок
и технологических комплексов» направления подготовки 1 40600 «Электротехника, электромеханика и электротехнологии»
ACADEMA
МоскваИздательский центр «Академия»
2006
УДК 681.5(075.8) Б Б К 32.965.Я73
В624
Р е ц е н з е н т ы : директор Института электропривода и силовой электроники
Таллиннского технического университета, д-р техн. наук, проф. Ю.Я.Лаугис;
канд. техн. наук, проф. кафедры АЭП МЭИ С. К. Козырев
Водовозов А. М.В624 Элементы систем автоматики : учеб. пособие для студ.
высш. учеб. заведений / А. М. Водовозов. — М .: Издательский центр «Академия», 2006. — 224 с . .
Рассмотрены теоретические основы и элементная база современной цифровой автоматики. Исходные, постулаты теории информации, алгебры, логики и правила двоичной арифметики связаны воедино с элементами систем автоматики: стандартной логикой, современными программируемыми логическими схемами, микроконтроллерами, цифровыми датчиками, средствами ввода и вывода информации. Приведены многочисленные примеры построения отдельных схем и узлов автоматики на основе современной элементной базы, созданной ведущими мировымиJ|pQtfnn/4 trn%ltf
ISBN 5-7695-2934-2
Издатi циШЩш чАИддемия*\и его воспроизведение любым способом без согласия правообладателя запрещается
© Водовозов А. М., 2006© Образовательно-издательский центр «Академия», 2006
ISBN 5-7695-2934-2 © Оформление. Издательский центр «Академия», 2006
ПРЕДИСЛОВИЕ
Современный электропривод, являясь сложной электромеханической системой, стремительно развивается. Совершенствуются электрические машины, появляются новые преобразователи электрической энергии, усложняются законы управления, меняется элементная база. В решении задач управления электроприводами ведущее место занимает цифровая техника, а вопросы цифровой автоматики становятся обязательной частью образовательной программы подготовки инженеров по электрическому приводу.
В данном учебном пособии рассмотрены основные теоретические аспекты развития аппаратных средств и современная элементная база промышленной автоматики.
Основой при написании учебного пособия послужили конспекты учебного курса, читаемого автором студентам на протяжении более чем 20 лет. За этот период дисциплина «Элементы систем автоматики» превратилась в конкретную область знаний, которая оперирует своими логическими понятиями, терминами и определениями. Базируясь на сравнительно простом математическом аппарате двоичной арифметики, булевой алгебры и теории автоматов, она позволяет решать задачи синтеза сложных высокоинтеллектуальных технических устройств формальными методами, опираясь на множество современных интегральных схем и законченных модулей, созданных ведущими мировыми производителями.
В учебном пособии рассмотрены ключевые понятия и модели, практические схемы, микросхемы и законченные изделия отечественных и зарубежных производителей, решающие самые различные задачи в области автоматизации. Отказ от глубокой математической и физической трактовки процессов объясняется стремлением максимально приблизить студентов к реалиям современной действительности, показать им возможности современной элементной базы и пути ее развития.
Данное учебное пособие не является справочником. Приведенные в нем в качестве примеров элементы скорее можно отнести к стандартным. Они не могут даже частично отразить существующего множества средств автоматики, созданных известными гигантами бизнеса: Siemens, Omron, Mitsubishi, LG, Schneider Electric,
3
Motorola, Texas Instruments, Analog Device и др. К сожалению, отечественные производители в данном перечне пока отсутствуют. Это обстоятельство существенно усложняет изложение материала. Множество заимствованных англоязычных терминов стало привычным в этой области знаний, где терминология разрабатывается и уточняется постоянно мировым сообществом производителей.
В гл. 1 кратко рассмотрены информационные и математические основы автоматики: элементы теории информации, двоичная арифметика и алгебра логики, системы счисления, способы кодирования информации и основные понятия теории автоматов.
В гл. 2 рассмотрены современные цифровые интегральные схемы, составляющие элементную базу автоматики, и основные технологии их производства.
В гл. 3 рассмотрены цифроаналоговые и аналого-цифровые преобразования сигналов, принципы построения преобразователей и их основные схемотехнические особенности.
В гл. 4 кратко представлены микроконтроллеры как ядро системы автоматики, решающие все основные математические, логические задачи и задачи формирования управляющих воздействий.
Гл. 5 содержит систематизированные сведения о датчиках электрических величин и параметров движения электрического привода.
В гл. 6 дано краткое описание принципов построения и cxext человекомашинного интерфейса: клавиатур, обеспечивающих ввод информации в систему, и средств индикации, необходимых для представления цифровой информации человеку.
ВВЕДЕНИЕ
Под элементами систем автоматики обычно подразумевается множество технических средств, включающее в себя управляющие вычислительные устройства (контроллеры), датчики, исполнительные устройства и устройства, обеспечивающие взаимодействие человека с системой управления.
Основным элементом современной системы автоматики считается контроллер — устройство, ориентированное на реализацию алгоритмов цифрового управления различными объектами и процессами. Сбор информации об изменениях технологических параметров объекта управления (температура, давление, перемещение, скорость движения, ток, напряжение и т.д.) обеспечивают в системе различные датчики. Они преобразуют физические воздействия в электрические сигналы и одновременно производят первичную обработку этих сигналов. Современные датчики способны масштабировать сигналы, передавать их и обеспечивают передачу информации другим элементам системы по выделенным линиям связи.
Различные исполнительные устройства в системе преобразуют команды контроллера в необходимые для функционирования системы физические воздействия. Такими устройствами, в первую очередь, являются электроприводы, приводящие объекты различной физической природы в движение. К исполнительным устройствам также относятся силовые преобразователи электрической энергии, электронные ключи, коммутаторы, осуществляющие подключение и плавное регулирование потребления электрической энергии.
Элементами, обеспечивающими взаимодействие системы с человеком, являются различные устройства индикации, представляющие информацию в доступном человеку виде, и устройства управления, позволяющие человеку вмешиваться в процесс управления. Индикаторы могут быть простейшими или сложными (цифровыми, алфавитными или графическими дисплеями) светодиодными схемами. В качестве элементов управления используются простейшие
5
кнопки, клавиатуры или манипуляторы самых различных конструкций.
Для связи с системами промышленной автоматизации более высокого уровня в системах локальной автоматики всегда предусматриваются интерфейсы локальных сетей. Они обеспечивают в процессе работы прием и передачу по выделенным каналам связи цифровой информации, содержащей в себе исходные данные и команды управления.
Построение систем автоматики основывается на методах теории управления и теории автоматов. Все преобразование информации в системе осуществляется по законам теории информации и алгебры логики.
Г л а в а 1
ЛОГИЧЕСКИЕ ОСНОВЫ АВТОМАТИКИ
1.1. Информация и общие принципы ее преобразования
Для современной автоматики понятие «информация» является важнейшим. Оно объединяет систематизированные сведения об объектах системы автоматического управления, сведения об определенных свойствах или параметрах этих объектов и о зависимостях, описывающих взаимодействие элементов системы. Именно процессы обработки, приема, передачи и хранения информации лежат в основе функционирования абсолютно всех автоматических устройств, хотя физические параметры, контролируемые и регулируемые системами автоматики, могут быть самыми различными (например, скорость, перемещение, ускорение, момент, температура, давление др.).
Физические процессы в окружающем нас мире в абсолютном своем большинстве являются процессами непрерывными. Информация об этих процессах обычно передается в систему автоматики с помощью электрических сигналов — тока или напряжения, связанных с физическими параметрами априорно известными соотношениями. Электрический сигнал, как и любой физический процесс, по своей природе тоже является непрерывным (аналоговым). Сигнал описывается соответствующими графиками или аналитическими выражениями, показывающими его изменения во времени. Но при этом всегда имеется в виду, что причиной изменения величины, отображаемой на графике, является не само время, а некоторый физический процесс.
При сборе информации в системе осуществляются преобразования аналоговых сигналов в цифровую форму. При этом преобразовании сигналы подвергают дискретизации, квантованию и кодированию.
Дискретизация. Дискретизацией называется выборка мгновенных значений (отсчетов) непрерывного сигнала с равными интервалами времени Дt между ними. Полученный в результате такого преобразования дискретный сигнал описывается решетчатой функцией (последовательностью отсчетов)
x(t) = x(iAt) = x(i),
где At — интервал (шаг) дискретизации; i — независимая переменная, принимающая только целые положительные значения (/ = 0, 1, 2 ...) (рис. 1.1).
Рис. 1.1. Процесс дискретизации непрерывного сигнала
В результате дискретизации во времени на всем интервале наблюдения непрерывный сигнал x(t) заменяется последовательностью отдельных отсчетов x(i): х(0), х(1), х(2) ...
Величина / = l/A t, обратная шагу дискретизации, называется частотой дискретизации. Правильный выбор частоты дискретизации устанавливает теорема Котельникова, в соответствии с которой для полного восстановления непрерывного сигнала по его дискретным отсчетам необходимо, чтобы частота дискретизации f как минимум, вдвое превышала наибольшую частоту спектра исходного аналогового сигнала.
Квантование. При квантовании действительное значение сигнала, подвергшегося предварительной дискретизации, заменяется ближайшим значением из определенного заранее множества X = {Л'о, Х и Х2...Хк_{\. Функция приобретает ступенчатый вид (рис. 1.2).
В результате квантования сигнал описывается квантованной решетчатой функцией (квантованной последовательностью) x(i), которая может принимать только фиксированные дискретные значения, называемые уровнями квантования: Х0, Х и Х2...Хк_]. Количество уровней квантования к определено заранее и в процессе преобразования не изменяется.
0 1 2 3 4 5 6 7 8 /
8
Шагом квантования сигнала Дх называется разность между соседними уровнями квантования. Обычно шаг квантования выбирается постоянным исходя из максимального значения сигнала хтах и числа уровней: Д* > xmax/ ( k - 1).
Процесс квантования всегда вносит ошибку в работу системы. Считается, что абсолютная погрешность квантования в процессе преобразования не превышает половины шага квантования.
Кодирование. При кодировании каждому значению квантованного сигнала ставится в соответствие некоторое число (код) из определенного заранее конечного множества чисел. Размер множества определяется числом уровней квантования. Процесс кодирования обычно описывается таблицей кодировки, содержащей два поля. В одном поле таблицы размещается множество значений квантованного сигнала, в другом — соответствующие коды значений. При кодировании используются различные системы счисления и формы представления чисел. Например, при числе уровней квантования к = 8 и использовании для кодировки обычной десятичной системы счисления таблица кодировки выглядит следующим образом (табл. 1.1).
При выбранной кодировке цифровой сигнал, соответствующий сигналу x(t) (см. рис. 1.1), после дискретизации, квантования и кодирования описывается последовательностью десятичных чисел x(i) = 4, 7, 7, 6, 4, 2, 2, 4, 6, 4.
После кодирования передача или обработка цифрового сигнала сводится к операциям над безразмерными числами (кодами). На практике дискретизация, квантование и кодирование электрических аналоговых сигналов осуществляются при помощи специализированных схем аналого-цифровых преобразователей.
Мера информации. Для оценки количества информации в цифровом сигнале используется так называемая аддитивная мера (мера Хартли), в которой количество информации связывается логарифмической функцией с числом уровней квантования: 1= log2&. В общем случае для расчета количества информации в цифровом сигнале вводятся два параметра:
• q — общее количество символов в кодировке сигнала;
• п — количество символов, достаточное для представления любого значения закодированного сигнала (разрядность кода).
При заданном количестве символов в кодировке q и разрядности кода п число возможных уровней квантования можно рассчитать по формуле к = д". Тогда
Т а б л и ц а 1.1Пример таблицы
кодировки
Уровеньсигнала
Десятичныйкод
Хо 0
1
2
*7 7
9
количество информации в одном отсчете сигнала / = log2& = n\og2q- Полученный результат округляется до ближайшего большего целого числа.
Наиболее часто в цифровой технике используется двоичная кодировка, в которой любой сигнал можно описать, используя всего два символа: 0 и 1. Тогда q = 2, а количество информации в одном отсчете равно разрядности кода: 1= «log22 = п. Поэтому для измерения количества информации принято использовать специальную единицу, эквивалентную одному символу двоичной кодировке, — бит (bit — binary digit).
В привычной для нас десятичной кодировке сигнал кодируется десятичными цифрами. Количество символов (цифр), используемых для представления числа д, равно 10. В результате 1= «log210 = 3,32л. Полученное значение обязательно округляется до ближайшего большего целого числа. Например, двухразрядный десятичный код несет в себе 7 бит информации, трехразрядный — 10 бит, четырехразрядный — 14 бит.
При одновременной обработке нескольких отсчетов сигнала или при использовании нескольких источников информации об одном сигнале количество информации суммируется:
/ = £ / , ,
где Ij — количество информации, полученной от у-го источника.
1.2. Способы кодирования информации
1.2.1. Системы счисления
В процессе переработки цифровой информации элементы автоматики оперируют многоразрядными кодами, рассматриваемыми как числа. Каждый символ кода однозначно сопоставляется с его количественным эквивалентом, называемым цифрой.
Совокупность приемов и правил, установленных для записи чисел с помощью цифр, устанавливается системой счисления. Запись числа в некоторой системе счисления и считается кодом числа.
Для кодирования цифровой информации используются только позиционные системы счисления, в которых значение каждой цифры зависит не только от ее количественного эквивалента, но и от места (позиции) в числе, т.е. в позиционной системе счисления одна и та же цифра может иметь различные значения. Например, в десятичном коде 2255 первая слева цифра 2 обозначает две ты сячи, а вторая — две сотни; первая цифра 5 обозначает пять десятков, вторая — пять единиц.
10
Любая позиционная система счисления характеризуется основанием. Основание q позиционной системы счисления — это количество знаков или символов, используемых в данной системе для изображения числа. В десятичной системе счисления используется десять цифр от 0 до 9, основание q = 10; в двоичной системе счисления — две цифры: 0 и 1, основание q = 2. Теоретически возможно бесчисленное множество позиционных систем, так как за основание можно принять любое целое число. На практике используются только системы счисления с основаниями 2, 8, 10 и 16.
При записи некоторого числа в позиционной системе счисления соответствующие цифры числа размещаются по отдельным нужным позициям, которые принято называть разрядами числа. Количество разрядов л в записи числа называется его разрядностью.
В общем случае в позиционной системе счисления с основанием q число А представляется в виде полинома:
A=a„_lqn-1 +a„_2qn-2 +... + al ql + а д ° , (1.1)
где п — количество цифр в числе; я, — коэффициенты, в качестве которых могут быть использованы любые цифры данной системы счисления.
Числа в позиционной системе счисления представляются в виде последовательности соответствующих цифр: А = а„_1...а2а1а(). При такой записи вес каждого разряда при движении справа налево увеличивается в q раз по сравнению с соседним. Нулевым считается младший разряд.
Десятичная система счисления. Десятичная система счисления наиболее привычна для человека и используется в системах автоматики в основном при вводе и выводе информации. Запись числа в десятичной системе счисления является его десятичным кодом, обозначаемым как d-код (decimal code).
Основание десятичной системы q = 10, и в записи вида (1.1) используется десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Поэтому полином (1.1) представляется в виде
А = в ^ Ю " '1 + ... + я2Ю2 + яДО1 + «о 10°.Десятичный код числа, в отличие от остальных кодов, обычно
не обозначают никакими символами. Количество информации, бит, содержащейся в л-разрядном десятичном числе: / = fllog210 = 3,32л.
Двоичная система счисления. Двоичная система счисления считается основной в автоматике и вычислительной технике. Запись числа в двоичной системе счисления считается двоичным кодом числа, обозначаемым как Ь-код (binary code).
Основанием двоичной системы счисления является число 2, и в записи вида (1.1) используется только две цифры: 0 и 1. Поэтому полином (1.1) выглядит следующим образом:
И
А = о„_ 12” * +... + й2 22 + 0\2} + Oq2®. ( 1.2)
Если в одном документе одновременно используются разные системы счисления, то двоичные числа обычно обозначают символом 6, записываемым слева от числа. Например, при вычислениях по формуле (1.2)
611010 = 1х24 + 1х23 + 0 х 2 2 + 1Х21 + 0 x 2 ° = 26.
Количество информации, содержащейся в л-разрядном двоичном числе, равно количеству разрядов этого числа, бит: / = = fllog22 = л. Поэтому отдельные разряды двоичных чисел тоже принято называть битами.
Для перевода целого десятичного числа в двоичный код используется деление на основание системы счисления, т.е. на число 2. На каждом этапе деления последовательно, начиная с младшего разряда двоичного кода, фиксируется остаток. Процесс деления заканчивается, если результат деления меньше 2.
Например, перевод числа 53 в двоичную систему счисления выполняется следующим образом:
53/2 = 26/2 = 13/2 = 6/2 = 3/2 = 1 (младший бит) 1 0 1 0 1 1 (старший бит)
В результате: 53 = 6110101.Восьмеричная система счисления. Запись числа в восьмеричной
системе счисления считается его восьмеричным кодом. Код принято называть кодом, поскольку буква «о», фигурирующая в английской аббревиатуре восьмеричного кода (octal code), ассоциируется с цифрой 0 и неудобна для записи.
В восьмеричной системе счисления используется восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. Основание системы счисления равно 8, и запись вида (1.1) соответствует полиному
А =а„А 8""1 + ... + а2 82 + ^ 8 ' + Оо8°.
Восьмеричные коды принято отмечать слева символом q. Н апример: 04712 = 4 х 8 3 + 7 х 8 2 + 1х8 + 2х8° = 2506.
Количество информации, бит, содержащейся в л-разрядном восьмеричном числе: / = fllog28 = Зл.
Восьмеричная система счисления используется как удобная короткая форма представления двоичных чисел, поскольку каждой восьмеричной цифре можно поставить в соответствие трехразрядный двоичный эквивалент (табл. 1.2).
Для перехода от двоичного кодирования к восьмеричному двоичный код числа начиная с младшего разряда разбивают на группы по три символа. Если в последней (левой) группе остается менее трех символов, то ее снаружи дополняют нулями. Затем каж-
12
Т а б л и ца 1.2 Соответствие восьмеричных и двоичных кодировок
0-код 0 1 2 3 4 5 6 7
6-код 000 001 010 011 100 101 110 111
дую группу заменяют соответствующим восьмеричным символом в соответствии с табл. 1.1. Например: 6001 101 111 110 = 01576.
Перевод десятичных чисел в восьмеричные осуществляется многократным делением десятичного числа на основание системы счисления 8. На каждом этапе деления фиксируется остаток. Процесс заканчивается, когда результат деления становится меньше 8. Например, перевод числа 129 выглядит следующим образом:
129/8 = 16/8 = 2(младший разряд) 1 0 2 (старший разряд)
В результате: 128 = #201.Шестнадцатеричная система счисления. Запись числа в шест
надцатеричной системе счисления считается его шестнадцатеричным кодом и обозначается как /г-код (hexadecimal code).
В шестнадцатеричной системе счисления для кодирования используется 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F. Запись шестнадцатеричного числа представляется в виде полинома с основанием 16: I
А = я„_116"-1 +... + а2162 +a,16’ +Оо1б°.
Ш естнадцатеричные чйсла обычно обозначаются слева символом h. Например: hB 2E = В х 162 + 2 х 161 + Е х 16° = 2862.
Количество информации, бит, содержащейся в л-разрядном шестнадцатеричном числе: / = fllog216 = 4л.
Ш естнадцатеричная система счисления, как и восьмеричная, используется как удобная форма представления двоичной информации. При {этом каждой группе из четырех двоичных символов
Т а б л и ц а 1.3 Соответствие шестнадцатеричных и двоичных кодировок
й-код й- код й-код й-код й-код й-код й-код й-код0 0000 4 0100 8 1000 С 1100
1 0001 5 0101 9 1001 D 1101
2 0010 6 0110 А 1010 Е 1110
3 0011 7 0111 В 1011 F 1111
13
ставится в соответствие один символ шестнадцатеричный (табл. 1.3).
Переход от двоичной кодировки к шестнадцатеричной подразумевает разбиение шестнадцатеричного числа начиная с младшего разряда, на группы из четырех символов. Например: 61111 1000 1011 1110 = K1C5F.
При переводе десятичного кода в шестнадцатеричный десятичное число многократно делится на основание системы счисления 16 и фиксируются остатки. Например, перевод числа 2005 можно представить в следующем виде:
2005/16 = 125/16 = 7(младший разряд) 5 D 7 (старший разряд)
В результате: 2005 = hlD5.
1.2.2. Кодирование числовой информации
Разрядность числовых данных. Данные, представляющие числовую информацию, как правило, имеют фиксированную длину (разрядность). В автоматике, как и в вычислительной технике, допускается использовать коды с разрядностью 4, 8, 16, 32 или 64 бит. Для обозначения соответствующих форматов используются общепринятые термины:
• 4 бит — полубайт или тетрада;• 8 бит — байт;• 16 бит — полуслово;• 32 бит — слово;• 64 бит — двойное слово;Форматы числовых данных. При двоичном кодировании чисел
в определенном месте разрядной сетки всегда предполагается наличие запятой и фиксируется положение знакового разряда числа.
Для кодирования запятой в числовой информации никогда не предусматриваются специальные символы. Просто подразумевается, что запятая находится или перед старшим разрядом кода, или после младшего разряда кода. В первом случае речь может идти только о дробных числах, которые по модулю меньше 1, во втором — только о целых числах.
Для кодирования знака обычно предусматривается специальный знаковый разряд. В этом разряде знак «+» кодируется символом 0, а знак «-» кодируется символом 1.
На рис. 1.3 показана 8-разрядная сетка, где запятая зафиксирована после младшего разряда. Веса отдельных разрядов в этом случае меняются от 2° до 26.
В 8-разрядной сетке могут быть представлены целые числа от 601111111 = +27 - 1 = 127 до 611111111 = - (2 7 - 1) = -127.
14
7 6 5 4 3 2 1 0
Знак 2б 25 24 23 22 21 2°
Рис. 1.3. Представление целых чисел с фиксированной запятой
На рис. 1.4 изображена 8-разрядная сетка, где запятая фиксируется перед старшим разрядом. Веса разрядов в этом случае меняются от 2"7 до 2~1.
В такой разрядной сетке можно представить числа в диапазоне от +(1 - 2-7) = 0,9921875 до -(1 - 2“7) = -0,9921875.
Числа со знаком. Для представления двоичных чисел со знаком можно использовать три вида кодов: прямой, обратный и дополнительный. В любом случае знак числа принято записывать в его старшем разряде.
Прямой код л-разрядного двоичного числа со знаком имеет вид
А — On_idn_20n_i...d\Q^,
- , -ч (о при А > 0,где старшин (знаковый) разряд числа d„_t = <[1 при А < 0.
При использовании прямого кода сложение чисел, имеющих одинаковые знаки, выполняется по обычным правилам двоичной арифметики: числа складываются, сумме присваивается код знака слагаемых. Однако операция алгебраического сложения чисел с разными знаками существенно затрудняется. В этом случае необходимо определить большее по модулю число, произвести вычитание чисел и присвоить разности знак большего по модулю числа. Поэтому для представления отрицательных чисел обычно применяют другие коды: обратный и дополнительный.
Чтобы сменить знак числа с положительного на отрицательный и представить результат в обратном коде, необходимо все разряды числа, включая знаковый, изменить на противоположные.
Например, число +12 в 8-битном представлении записывается в прямом коде как 600001100, а число -12 в обратном коде — как 611110011. В обоих случаях старший бит кода является знаковым.
7 6 5 4 3 2 1 0
Знак 2-1 2-2 2~3 Г 4 2‘5 2-6 2 '7
Рис. 1.4. Представление дробных чисел с фиксированной запятой
15
Разрядная сетка длиной п бит обеспечивает запись в обратном коде отрицательных целых чисел от M l . . .О = -1 до МО...О = = -(2 я- 1 - 1).
При 8-разрядной сетке это диапазон от -1 до -127. Для дробных чисел возможно представление от A ll... 10 = -2 _(”~1) до МО...00 = = -(1 - 2”" 1). При 8-разрядной сетке — это числа от -1/128 = = 0,0078125 до -127/128 = 0,9921875.
Обратный код имеет две различные записи нуля: как положительное и как отрицательное число. Например, в 8-разрядном представлении +0 = 600000000, а -0 = 611111111.
Изменение знака отрицательного числа, представленного в обратном коде, соответствует инвертированию его кода. В результате получается прямой код соответствующего положительного числа.
Дополнительный код больше обратного на единицу младшего разряда, поэтому для представления числа в дополнительном коде его можно сначала перевести в код обратный, а затем прибавить 1.
Т а б л и ц а 1.4Примеры записи целых 8-разрядных чисел
Десятичное число Прямой код Обратный код Дополнительныйкод
+127 601111111
+126 601111110
+7 600000111
+3 600000011
+2 600000010
+1 600000001
+0 600000000
-128 61000 0000
-127 611111111 61000 0000 61000 0001
-126 611111110 61000 0001 61000 0010
-7 610000111 61111 1000 61111 1001
-3 610000011 61111 1100 61111 1101
-2 610000010 61111 1101 61111 1110
-1 610000001 61111 1110 61111 1111
-0 610000000 611111111 60000 0000
16
В области целых чисел дополнительный код позволяет представить числа от 6100...00 = -2"-1 до 61 1... 11= -1. 8-разрядный (байтовый) формат позволяет записать числа от 0 до -128.
В области дробных чисел можно представить числа от 610... 00 = = -1 до 611... 11 = 2~(”- 1). Байтовый формат позволяет представить дробные числа от -1 до -1/128 = -0,0078125.
При представлении положительных чисел прямым кодом, а отрицательных — дополнительным кодом положительный и отрицательный 0 изображаются совершенно одинаково: -0 = +0 = = 600...00.
В табл. 1.4 приведены примеры записи целых 8-разрядных положительных и отрицательных чисел в диапазоне от +127 до -128 в прямом, обратном и дополнительном кодах.
1.2.3. Специальные кодировки
Двоично-десятичный код. Двоично-десятичное кодирование, или bed-код (binary code decimal), используется для записи десятичных чисел с помощью двоичных символов. Он используется в устройствах ввода и вывода данных, где информация представляется человеку.
В bed-коде десятичного числа каждая десятичная цифра изображается четырьмя двоичными разрядами (тетрадой), а коды цифр совпадают с кодами цифр обычного 6-кода. Из 16 кодовых комбинаций 6-кода в bed-коде можно использовать только 10, а 6 остальных комбинаций запрещены. В частности, запрещены все 4-битные комбинации (1010, 1011, 1100, 1101, 1110, 1111), соответствующие в двоичном коде числам более 9. Поскольку для представления двоично-десятичных чисел в bcd-коде в каждой тетраде используется только 10 комбинаций двоичных символов из 16 возможных, то двоично-десятичные числа получаются длиннее двоичных.
Т а б л и ц а 1.5 Примеры записи десятичных чисел в bed-коде
d- код bed- код d- код bcd-коа
10 0001 0000 20 0010 0000
11 0001 0001 21 0010 0001
12 0001 0010 22 0010 0010
С.Торайпдооя
19 | 0001 1001. . . ВШПДВГН III
акадеЗя^к C.Bei 1001у атындагы гылыми j
К И А П Х А Н А ^ ’ '17
Таблица кодировки кода ГреяТ а б л и ц а 1.6
d- код g-код d- код g-код d- код g-код d- код g-код
0 0000 4 0110 8 1100 12 1010
1 0001 5 0111 9 1101 13 1011
2 0011 6 0101 10 1111 14 1001
3 0010 7 0100 11 1110 15 10000
В табл. 1.5 приведены примеры записи некоторых десятичных чисел в bcd-KORt.
Код Грея. Код Грея, или g-код (Gray code), используется в различных датчиках перемещения. Соседние числа в таблице кодировки кода Грея отличаются друг от друга только одним битом. Это позволяет избавиться от ошибок при переходе от одной кодовой комбинации к другой.
Д ля представления любого числа в коде Грея необходимо столько же бит, сколько и для обычного 6-кода. В табл. 1.6 в коде Грея представлены десятичные числа от 0 до 15.
Код «1 из и». Код «1 из п» используется в различных дешифраторах и элементах индикации. Для представления каждого числа в коде «1 из п» выделяется п бит, но единичное значение может принимать только один из них. Код является избыточным, из 2" возможных кодовых комбинаций в нем используется только п. Например, при 8-битном кодировании (табл. 1.7) из 256 кодовых комбинаций 248 не используются. Это позволяет легко выявлять ошибки в представлении данных и обеспечивает высокую помехозащищенность кода.
Семисегментный код. Семисегментный код разработан специально для схем управления цифровыми индикаторами. Такой индикатор содержит семь светодиодов, расположенных в корпусе в определенном порядке. При этом семь сегментов индикатора, обо-
Т а б л и ц а 1.7Таблица кодировки кода «1 из л» при и = 8
d- код Код «1 из я» d- код Код «1 из я»
0 00000001 4 00010000
1 00000010 5 00100000
2 00000100 6 01000000
3 00001000 7 10000000
18
а
е с d
ОI а 3 Ч 5 Б 1 В 3 Н Ь Г d Е FРис. 1.5. Семисегментный индикатор
значаемых буквами а, Ь, с, d , e , f и g, способны отобразить все шестнадцатеричные цифры от 0 до .^(рис. 1.5).
Семисегментный код (табл. 1.8) 7-разрядный. Каждый бит кода соответствует одному сегменту индикатора (см. рис. 1.3). Код является избыточным, из 27 = 128 возможных кодовых комбинаций в нем используется только 16. Никакие вычисления в таком коде никогда не производятся.
Кодирование текста и команд. При обмене данными между элементами систем автоматики возникает необходимость в передаче не только числовой информации, но и различных знаков и буквенных символов. Эти символы также кодируются с помощью двоичных кодов, причем различных кодировок существует довольно много.
Наиболее распространенным в автоматике считается введенный в 1963 г. в СШ А американский стандартный код обмена информацией ASCII (American Standard Code for Information Interchange).
В коде ASCII для кодирования каждого символа отводится 7 бит. В результате он позволяет представить 27 = 128 различных символов (табл. 1.9). Шестнадцатеричный код каждого символа в табл. 1.9 складывается из старшей цифры, соответствующей столбцу, и младшей цифры, соответствующей строке, в которых размещен символ. Например, символ G, расположенный на пересечении четвертого столбца и седьмой строки, имеет код Л47.
Т а б л и ц а 1.8Таблица кодировки семисегмеитного кода
й - к о д 5-КОД й - к о д 5-КОД й - к о д 5 - КОД Й-КОД 5 - КОД
0 1 1 1 1 1 1 0 4 0 1 1 0 0 1 1 8 1 1 1 1 1 1 1 С 1 0 0 1 1 1 0
1 0 1 1 0 0 0 0 5 ЮНОН 9 1 1 1 1 1 0 1 D 0 1 1 1 1 0 1
2 1 1 0 1 1 0 1 6 1 0 1 1 1 1 1 А 1 1 1 0 1 1 1 Е 1 0 0 1 1 1 1
3 1 1 1 1 0 0 1 7 1 1 1 1 0 0 0 В 0 0 1 1 1 1 1 F 1 0 0 0 1 1 1
19
Таблица кодировки кода ASCIIТ а б л и ц а 1.9
Младшая
цифра
Старшая цифра
0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P - P1 SOH DCl ; 1 A Q a Я
2 STX DC2 u 2 В R b r
3 ЕТХ DC3 # 3 С S с s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e и
6 АСК SYN & 6 F w g w
7 BEL ETB < 7 G w g w
8 BS CAN ( 8 H X h X
9 НТ EM ) 9 I Y i УА LF SUB “ J z j z
В VT ESC + ; К [ k {
С FF FS ? < L \ I 1D CR GS - = M ] m }
Е SO RS > N Л n
F S I US / ? 0 _ 0 DEL
Код ASCII содержит две группы символов: символы пишущей машинки и управляющие символы.
Символами пишущей маш инки (коды А20... h i Е) считаются прописные и строчные латинские буквы, цифры и специальные знаки, к которым относятся: минус (-), подчеркивание (_), апостроф (‘), тупое (обратное) ударение ( ') , кавычки (“), амперсант (&), номер (#), стрелка вверх (Л), вертикальная черта ([), надчер- кивание (тильда) (~), коммерческий «эт» (@) и пробел (Space) (SP).
Управляющие символы, размещенные в основном в двух первых столбцах таблицы (коды 600... Л IF и h lF ), используются в различных системах связи для передачи команд.
В каждом конкретном устройстве могут использоваться не все управляющие символы, а задействованные символы могут интерпретироваться по усмотрению разработчика.
20
Поскольку код ASCII содержит только 128 символов, его возможности недостаточны для работы с языками, отличными от английского. Для работы с такими языками используется расширенный код ASCII.
В расширенном коде ASCII предусмотрено 256 символов, а каждый символ кодируется 8-битным кодом. Расширенный код полностью включает в себя стандарт ASCII (половина таблицы) и дополнительно содержит 128 символов с единицей в старшем бите. Среди дополнительных символов часто используемые (но не все) буквы ряда европейских алфавитов (немецкого, французского, финского и др.), буквы греческого алфавита, математические символы и символы псевдографики, предназначенные для вычерчивания простейших схем и таблиц.
Для представления букв русского алфавита предложено много модификаций кода ASCII. Все они основаны на подмене некото-
Т а б л и ц а 1.10Правая половина кодовой таблицы 866
Младшая
цифра
Старшая цифра
8 9 А в С D E F
0 А Р а L X P Ё
1 Б С б 1 T c ё
2 В т в, т T T е
3 Г У г 1 1- IL У е
4 Д ф д -1 - 1 Ф I
5 Е X е =1 + r X !'
6 Ж ц ж \ [ IT ц 9
7 3 ч 3 и It 4 ч У8 И ш и 11 + ш ■
9 Й щ й IT J щ ■
А К ъ к II JL г ъ □
В Л ы л И ir 1 ы
С м ь м JJ 1̂ ■ ь №
D н э н Л = 1 э
Е О ю О J JL1Г 1 ю ■
F п я п 1 X ■ я
21
рых символов американской кодировки символами кириллицы. Наиболее распространена в автоматике кодировка, известная как кодовая страница 866. В ней символы псевдографики имеют те же коды, что и в расширенном коде ASCII, а русские буквы замещают буквы европейских алфавитов, буквы греческого алфавита и математические символы. Символы псевдографики в таблице сохраняют свое положение.
В табл. 1.10 приведены коды русских букв и псевдографики кодовой таблицы 866 (правая половина кодовой таблицы). Левая половина кодовой таблицы 866 полностью совпадает с таблицей кода ASCII (см. табл. 1.9).
1.3. Формальные правила двоичной арифметики
Все математические преобразования в цифровых устройствах выполняются с использованием двоичной арифметики. При выполнении арифметических операций с десятичными, восьмеричными и шестнадцатеричными числами они предварительно преобразуются в двоичный код. Основными математическими операциями считаются сложение, вычитание, умножение и деление переменных.
Сложение. Двоичное сложение выполняется в соответствии с таблицей сложения: >
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1 0
В последней строке таблицы в результате сложения двух цифр получается двухразрядное число, т.е. возникает перенос в старший разряд.
Сложение чисел начинается с младших разрядов. Возникающий перенос учитывается при сложении следующих (старших) разрядов. Например:
V
1 0 1 0 1 + слагаемые
0 1 0 0 1____________1 1 1 1 0 сумма
Здесь символом «V» отмечен перенос из младшего разряда суммы.
22
Вычитание. Таблица для операции вычитания двоичных цифр аналогична таблице сложения:
0 - 0 = 01 - 0 = 11 - 1 = 00 - 1 = 1 1
В последней строке таблицы результат — 2-разрядное число, т. е. возник заем из старшего разряда.
Вычитание чисел начинается с младших разрядов. Заем учитывается при вычитании следующих (старших) разрядов. Например:
V1 0 1 0 1 уменьшаемое0 1 0 0 1 вычитаемое0 1 1 0 0 разность
Здесь символом «V» отмечен заем из старшего разряда.Умножение. Умножение двоичных цифр производится в соот
ветствии с таблицей умножения:0 1 X
II
О
0
0 X 1 = 0
1 X
II
О
0
1 X 1 = 1
Умножение двоичных чисел выполняется последовательно путем вычисления частичных произведений и их последующего суммирования. В соответствии с таблицей умножения каждое частичное произведение равно 0, если в соответствующем разряде множителя стоит б, или равно множимому, сдвинутому на соответствующее число разрядов влево, если в разряде стоит 1. При суммировании частичных произведений получается результат умножения. Например:
1 0 1 множимое1 0 0 1 множитель
i 0 Г0 0 0 частичные произведения
0 0 01 0 1__________1 0 1 1 0 1 результат
23
Умножение связано с выполнением нескольких операций сложения и сдвига, поэтому оно требует большего времени для вычисления, чем сложение и вычитание. Под результат двоичного умножения должно быть зарезервировано в 2 раза больше бит, чем под каждый из сомножителей.
Деление. Двоичное деление выполняется с помощью операций вычитания и сдвига. Делитель помещается под делимым со стороны старших разрядов (как можно левее) и производится вычитание. В старший разряд частного заносится единица. Затем делитель сдвигается на один разряд вправо и вновь осуществляется вычитание. Если вычитание невозможно из-за того, что остаток оказывается отрицательным, то оно не выполняется и в соответствующий разряд частного заносится 0. Операция заканчивается при достижении последнего разряда делимого. Например:
делимое делитель1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 1 частное
0~ 1 0 10 1 0 10 0 0 0 остаток
1.4. Алгебра логики
1.4.1. Логические функции
Алгебра логики, созданная в середине XVIII в. английским ученым Дж. Булем (булева алгебра), оперирует с логическими переменными. Основополагающим законом алгебры логики является закон исключения третьего, согласно которому логические переменные в отличие от переменных обычной алгебры могут принимать только два значения. Переменные обозначаются, как и двоичные цифры, символами «0» и «1». Операции над переменными записываются с помощью логических операций.
Ф ункция от двоичных переменных f ( x 1, х2, ..., хп) называется логической, или булевой, если она, так же как и ее аргументы, принимает только два значения: 0 и 1. Любая логическая функция может быть задана таблицей истинности, отражающей все возможные сочетания аргументов и соответствующие значения функции. В общем случае для п входных переменных можно описать N = 2 " различных логических функций: для одной переменной — 4, для двух — 16 и т.д. Логические функции одной и двух переменных имеют свои оригинальные названия и математические обозначения. Все они приведены в табл. 1.11 и 1.12.
24
Т а б л и ц а 1.11Логические функции одной переменной
Обозначение НаименованиеX
0 1
оII Константа 0 0 0
f l = x Повторение 0 1
!> и XI Инверсия 1 0
/ 4 = 1 Константа 1 1 1
Т а б л и ц а 1.12Логические функции двух переменных
Обозначение Наименованиех!х2
00 01 10 11
/ , = *1x2 Конъюнкция 0 0 0 1
/ 2 =x l v x 2 Дизъюнкция 0 1 1 1
/ 3 = х1-»х2 Импликация х1 в х2 1 1 0 1
/ 4 = х1<- х2 Импликация х2 в х1 1 0 1 1
/ 5 = х1-»х2 Запрет х2 0 0 1 0
/ 6 = х1*-х2 Запрет х1 0 1 0 0
и V & Эквивалентность 1 0 0 1
/ 8 = х1©х2 Сумма по модулю 2 0 1 1 0
/ 9 = х \/х 2 Штрих Шеффера 1 1 1 0
/ 10 = x U x 2 Стрелка Пирса 1 0 0 0
f u = x \ Повторение х1 0 0 1 1
f n = х2 Повторение х2 0 1 0 1
/1 3 = 1 Константа 1 1 1 1 1
ОII Константа 0 0 0 0 0
/ и = х \ Инверсия х1 1 1 0 0
/ 6 = й Инверсия х2 1 0 1 0
25
Логические функции для произвольного количества входных переменных / ( х 1, х2, ..., хп) могут составляться из простейших функций одной и двух переменных. При этом не обязательно использовать все известные функции, приведенные в табл. 1.11 и 1.12, а можно ограничиться определенным набором, в который входит всего несколько функций. При этом полагают, что в выражении любую логическую функцию, включенную в набор, можно использовать неограниченное количество раз. Н апример,/ = х \х 2 v xlx3 v х2хЗ — некоторая функция трех переменных, выраженная с помощью простейших операций конъюнкции, дизъюнкции и инверсии.
Набор логических функций считается функционально полным, если он позволяет выразить любую логическую функцию. В частности, функционально полными являются следующие наборы из трех функций:
• f = x lx2 (конъюнкция), / 2 = x l vx2 (дизъюнкция) и f 3 = х (инверсия);
• f = x lx2 (конъюнкция), f s = x l® x 2 (сумма по модулю 2) и /з = х (инверсия).
Ф ункциональной полнотой обладают также наборы из двух функций:
• / 2 = х \ vx2 (дизъюнкция) и /з = х (инверсия);
• f i = xlx2 (конъюнкция) и / 3 = х (инверсия). 'Ф ункциональной полнотой обладают даже наборы, содержа
щие только одну функцию:•fg = х \/х 2 (штрих Ш еффера);• /ю = *1 ^*2 (стрелка Пирса).Операции, входящие в функционально полные наборы логи
ческих функций считаются основными и чаще всего используются при построении цифровых схем. Они, как правило, имеют несколько альтернативных названий и символических рбозначений. К таким функциям относятся:
• f i= x lx2 = x l лх2 = х \ &х2 (конъюнкция, логическое умножение, операция И, AND);
• f 2 = x 1 vx2 (дизъюнкция, логическое сложение, операция ИЛИ, OR);
• fs = x 1 ©х2 (сумма по модулю 2, исключающее ИЛИ, неэквивалентность, XOR);
• f i = x l~ x 2 (эквивалентность, инверсия исключающего ИЛИ, XNOR);
•fg = х \/х 2 (штрих Ш еффера, операция И —НЕ, NA N D );• /ю = х \ 1x2 (Стрелка Пирса, операция И Л И —НЕ, N O R);• / 1 5 = x = !x = - ix (инверсия, операция НЕ, NO T).
26
1.4.2. Законы и теоремы алгебры логики
В булевой алгебре действуют свои законы и теоремы. Многие из них имеют привычный для обычной алгебры вид. Некоторые противоречат нашим представлениям.
Коммутативный (переместительный) закон справедлив как для логического сложения, так и для логического умножения:
х 1 х 2 = х 2 х 1 ; x l v x 2 = x 2 v x l .
Ассоциативный (сочетательный) закон также справедлив для логического сложения и логического умножения:
х \ • (х2 • хЗ) = (xl • х2) ■ хЗ; х \ v (х2 v хЗ) = (xl v х2) v хЗ.
Вторая формула в записи дистрибутивного (распределительного) закона явно противоречит представлениям обычной алгебры:
xl(x2 v хЗ) = xlx2 v xlx3; x l v (х2хЗ) = (xl v х2) • (xl v хЗ).
Все остальные правила и теоремы относятся только к алгебре логики. В обычной алгебре они явно бессмысленны.
Правило склеивания:
x l(x l v х2) = xl; x lv x lx 2 = x l.
Правило повторения:х • х = х; x v x = x.
Правило отрицания:х ■ х = 0; х v х = 1.
Правило двойного отрицания:
(х ) = х.
Теорема де Моргана
(xl • х2) = x l v х2; (xl v х2) = x l х2. (1.3)
Теорема (1.3) имеет очень широкое применение. Она позволяет перейти от логического умножения к логическому сложению (и обратно) и позволяет строить различные цифровые схемы, используя ограниченный набор логических элементов.
1.4.3. Описание логических функций
Таблица истинности. Логическая функция нескольких переменных однозначно описывается таблицей истинности, в которой каждому набору входных переменных ставится в соответствие оп-
27
Т а б л и ц а 1.13Пример таблицы истинности логической функции трех переменных
*2x1x0 У x2xlx0 У
ООО 0 1 0 0 1
0 0 1 1 1 0 1 0
0 10 1 1 1 0 0
0 1 1 0 1 1 1 1
ределенное значение функции. В общем случае, когда число переменных равно п, возможно N = 2" различных их сочетаний и, следовательно, таблица истинности для функции п переменных должна иметь N = 2 ” строк.
В качестве примера в табл. 1.13 описана логическая функция трех переменных: у = х2©х1 ©хО.
Совершенная дизъюнктивная нормальная форма. Совершенная дизъюнктивная нормальная форма (СДНФ) является наиболее распространенной формой аналитического представления логической функции.
Для представления функции в виде СДНФ каждому набору переменных в таблице истинности ставится в соответствие мин- терм — конъюнкция всех входных переменных, которые входят tB выражение в прямом виде, если значение данной переменной в наборе равно 1, либо в инверсном виде, если значение переменной равно 0. Для п входных переменных можно составить N = 2 " минтермов (табл. 1.14).
Т а б л и ц а 1.14Минтермы функции трех переменных
Набор входных переменных х2х1х0 Номер набора Минтерм
О О О 0 /и „ = x ^ X q
0 0 1 1 m i = х 2х , х „
0 1 0 2 т 2 = х 2х ,х о
0 1 1 3 /И3 = Х2Х ,Х о
1 0 0 4 / и 4 = х 2х , х 0
1 0 1 5 /Л 5 = Х 2Х [Х 0
1 1 0 6 т 6 = X jX jX ,,
1 1 1 7 /И 7 = X2XiX o
28
Логическая функция в СДНФ представляется в виде дизъюнкции:
У = ЩУй v тху х v ... v m N_}y N_u
где у ,■ и /и, — значения логической функции и минтерм, соответствующие г-му набору переменных (/ = 0, ..., N - 1).
При переходе от таблицы истинности к СДНФ необходимо:• в таблице истинности выделить строки, в которых функция
принимает единичные значения;• для каждой выделенной строки составить минтерм;• записать логическую сумму всех составленных минтермов.Например, функция, заданная таблицей истинности логичес
кой функции трех переменных (см. табл. 1.13), принимает единичные значения на четырех наборах входных переменных и в совершенной дизъюнктивной нормальной форме записывается в виде дизъюнкции четырех минтермов:
у = X 2 X 1 X q V X2XiXQ V X 2 X l X 0 V X 2X i Xq .
Карта Карно. Компактной и очень удобной формой записи логической функции, используемой наряду с таблицей истинности, является карта Карно. Карта Карно функции п переменных представляет собой прямоугольник, разделенный на клетки, каждой из которых соответствует один из N = 2" минтермов функции. Расположение минтермов определяется номером столбца и номером строки, на пересечений которых находится клетка. Комбинации входных переменных распределяются по двум сторонам прямоугольника, а значения функции записываются в клетки таблицы. Клетки карты Карно считаются соседними, если их минтермы различаются значением только одной переменной.
Карта Карно для функции двух переменных содержит четыре клетки и имеет форму квадрата. На рис. 1.6, а в клетки карты записаны соответствующие минтермы, а на рис. 1.6, б в качестве примера в карту записана рассмотренная ранее булева функция ЭКВИВАЛЕНТНОСТЬ от переменных хО и x l \ f 7 = x l ~ хО.
чхО чхО\ NчN 0 1 x 1 ''ч 0 1
0 jtlxO xlxO 0 l 0
1 xlxO jtbtO 1 0 1
а б
Рис. 1.6. Представление функции двух переменных в виде карты Карно: а — форма карты Карно; б — пример ее заполнения
29
В карте Карно двух переменных каждая клетка граничит с двумя соседними.
Карта Карно для функции трех переменных состоит из восьми клеток и имеет обычно две строки и четыре столбца (рис. 1.7). На верхней стороне прямоугольника каждому столбцу ставится в соответствие двоичное число, описывающее комбинацию входных переменных хО и x l, причем при переходе от каждого столбца к соседнему имеет право измениться только одна переменная. По этой причине числа записываются в коде Грея. Первый и последний столбцы карты также считаются соседними. Для примера в карту занесена функция у = х2© х1© х0 из табл. 1.13.
В карте трех переменных (см. рис. 1.7) каждая клетка имеет три соседние клетки. Например, клетка с минтермом x2xlx0 имееттри соседние клетки с минтермами x2xlx0, х2х1х0 и х2х1х0.
В карте Карно для функции четырех переменных 16 клеток размещены в четырех столбцах и четырех строках. Две переменные хО и x l располагаются наверху квадрата, а две другие — х2 и хЗ — слева (рис. 1.8).
В отличие от предыдущего случая здесь каждой строке таблицы соответствует определенная комбинация двух переменных: х2 и хЗ. При переходе от каждой строки к соседней меняется только одна переменная, а первая и последняя строки карты, так же как и крайние столбцы, считаются соседними. Каждая клетка карты имеет1 четыре соседние клетки. Для примера в карту занесена логическая функция у = хО © xl ©х2©хЗ.
При числе переменных равном или большем пяти отобразить графически функцию в виде одной плоской карты Карно невозможно. В таких случаях можно строить комбинированную карту, состоящую из совокупности более простых карт.
Минимизация логических функций. Законы и теоремы булевой алгебры позволяют минимизировать (упростить) логическое вы-
чд:1д:0оо 01 11 10
00 0 1 0 1
\ jtljtO г 2 \ 00 01 11 10 01 1 0 1 0
0 0 1 0 1 11 0 1 0 1
1 1 0 1 0 10 1 0 1 0
Рис. 1.7. Представление функции трех переменных
в виде карты Карно
Рис. 1.8. Карта Карно для функции четырех переменных
30
чх1хО *2x3 00 01 11 10
00
01
11
10
0 ' 1 1 '
11 i
j0 > 1 1 ,
i !i
0 0 0
\ } )0 1 1
V 1 )
Рис. 1.9. Минимизация функции четырех пере
менных
ражение, представленное в совершенной дизъюнктивной нормальной форме.При небольшом количестве переменных минимизацию удобно осуществлять непосредственно по карте Карно.
Если в карте К арно встречаю тся группы из двух, четырех, восьми соседних ячеек, содержащих единицы, которые можно выделить контуром в виде квадрата или прямоугольника, то такая группа может быть описана одним логическим произведением. В это произведение входят только неизменные для всех ячеек данной группы переменные. Например, группа из двух ячеек __ __ __(рис. 1.9), соответствую щ ая минтермам x2x3xlx0 v x2x3xlx0, может быть описана одним логическим произведением х2хЗх1, в которое переменная хО не входит. Аналогичным образом группа из ч еты рех м и н те р м о в в п ер во м с то л б ц е карты(x3x2xlx0 v x3x2xlx0 v x3x2xlx0 v x3x2xlx0) после преобразований по законам алгебры логики записывается в виде произведения переменных xlxO. Переменные хЗ и х2 в описании этой группы не участвуют. Группа из четырех соседних_клеток в верхнем правом углу описывается произведением у = х2х1, в которое не входят переменные хЗ и хО.
В результате минимизированная функция представляет собой сумму трех произведений, Соответствующих отдельным группам: у = xlxO v x2xl v хЗх2х1.
1.5. Теория автоматов
1.5.1. Абстрактные цифровые автоматы
Понятие цифрового автомата используется для описания цифровых систем, выходные сигналы которых зависят не только от входных сигналов в данный момент времени, но и от некоторой предыстории, т. е. сигналов, которые поступали на входы системы ранее. Цифровым автоматом считается преобразователь информации, способный переходить под воздействием входных сигналов из одного состояния в другое и формировать выходные сигналы. Автомат называется конечным, если множество его внутренних состояний, а также множества значений входных и выходных сигналов конечны.
31
Для задания конечного автомата с одним входом и одним выходом описываются три множества:
• м н ож ество возм ож н ы х со с то я н и й входны х сигналовх = {х0,* ь .
• м нож ество возм ож ны х состоян и й вы ходных сигналов Y = {Y0,Yu ...,Yk_l};
• множ ество возможны х внутренних состояний автоматаQ - {Qa,Q\,-,Qs-\)-
В абстрактной теории цифровых автоматов считается, что входные сигналы воздействуют на автомат в дискретные моменты времени iAt, а изменение внутренних состояний автомата происходит в интервалы времени между этими моментами времени.
Для описания автомата задают две логические функции:• функцию переходов автомата 8(Q, X ), определяющую состо
яние автомата Q(i) в момент дискретизации iAt в зависимости от значения входного сигнала X (i) в текущий момент времени и состояния автомата £?(/-1) в предшествующий момент дискрет
ного времени (/— 1)АТ: Q(J) = 8 [Q (/-1 ), JT(/)];• функцию выходов X(Q, X ), определяющую зависимость вы
ходного сигнала автомата Y(i) от состояния автомата £?(/-1) в момент времени ( i- l)A f и входного сигнала X (i) в момент времени iAt: Y(i) = X [Q (/-1 ),Z (/)].
Кроме того, на множестве внутренних состояний автомата фиксируется одно из внутренних состояний Q0 в качестве начального состояния.
Работу абстрактного автомата всегда рассматривают применительно к конкретным интервалам времени, так как каждому интервалу дискретности iAt будет соответствовать свой выходной сигнал Y(i). Следовательно, функционирование автомата рассматривается через дискретные интервалы времени конечной продолжительности At.
Возможны два способа определения выходного сигнала в цифровых автоматах:
• у автомата первого рода, называемого автоматом Мили, выходной сигнал Y(i) однозначно определяется входным сигналом X(i) и состоянием Q ( i- 1) в предшествующий момент дискретного времени;
• у автомата второго рода, известного под названием «автомат Мура», выходной сигнал Y(i) однозначно определяется состоянием Q(i) в текущий момент:
f<2(0 = 5(<2(/-l),X (/)),1 Y(i) = X(Q(i)), t = 1,2...
32
Между автоматами М или и Мура существует соответствие, позволяющее преобразовать закон функционирования одного из них в другой или обратно. Автомат Мура можно рассматривать как частный случай автомата М или, имея в виду, что последовательность состояний выходов автомата Мили опережает на один такт последовательность состояний выходов автомата Мура, т. е различие между автоматами Мили и Мура состоит в том, что в автоматах М или состояние выхода возникает одновременно с вызывающим его состоянием входа, а в автоматах Мура — с задержкой на один такт.
1.5.2. Матричное описание автомата
При матричном описании автомат задается двумя таблицами: таблицей переходов и таблицей выходов.
Таблица переходов определяет функцию переходов автомата Q (i) = 5[(/ - 1), Х(/)], таблица выходов — функцию выходовп о = х[ц - 1), m i
Таблица переходов. В заголовки столбцов таблицы переходов заносятся все возможные внутренние состояния автомата, а в заголовки строк — состояния выходных сигналов. В клетку таблицы переходов, находящуюся на пересечении столбца с буквой Q, и строки с буквой Xj, записывается новое состояние автомата, в которое он переходит из состояния Q, при подаче на вход сигнала Л} (табл. 1.15).
Если автомат частичный, то в клетках, для которых переход не определен, ставится прочерк. Любой входной сигнал, приводящий к указанному переходу, считается запрещенным.
Вид таблицы переходов не зависит от типа автомата.Таблица выходов автомата Мили. Функция выходов автомата
Мили имеет вид Y(i) = X(Q(i - 1), X(i)).В заголовки столбцов таблицы выходов автомата Мили зано
сятся внутренние состояния автомата Qh а в заголовки строк —
Т а б л и ц а 1.15Пример таблицы переходов
Входной сигналСостояние
Qo Qi q2 Qo
д Qi Qi Qo Qo
Qo — — Qo
д — Qo Qi Qi
2 В о д о во зо в 33
Т а б л и ц а 1.16 Пример таблицы выходов автомата Мили
Входной сигналСостояние
Qo й q2 Qi
ль Yi Y2 Yi y2
Xl y2 — — *3
Х2 — Y2 y3 Y0
состояния входного сигнала А}. В клетку таблицы выходов, находящуюся на пересечении столбца с буквой Qt и строки с буквой Xj, записывается выходной сигнал 7*, который автомат Мили формирует, находясь в состоянии Q, под воздействием сигнала Xj (табл. 1.16).
Если автомат Мили частичный, то в некоторых клетках его таблицы выходов может стоять прочерк, означающий отсутствие выходного сигнала. Если переход автомата в некоторое состояние не определен, то не определено и соответствующее выходное состояние автомата. Поэтому прочерки в таблице выходов должны стоять в тех же клетках, в которых находятся прочерки в таблице переходов.
Таблица выходов автомата Мура. Функция выходов автомата Мура имеет вид Y(i) = X(Q(i)). Выходной сигнал автомата Мура зависит только от внутреннего состояния автомата.
В таблице выходов автомата Мура (табл. 1.17) входные сигналы не показываются. В ней каждому состоянию автомата приписывается свой выходной сигнал.
Прочерки в некоторых клетках таблицы выходов частичного автомата Мура не связаны с прочерками в его таблице переходов. Они означают, что при некоторых внутренних состояниях автомата состояние его выхода не определено.
Отмеченная таблица переходов. Функции переходов и выходов автомата могут быть заданы одной таблицей — так называемой отмеченной таблицей переходов. В отмеченной таблице переходов однозначно задаются все внутренние и выходные состояния автомата.
Т а б л и ц а 1.17 Пример таблицы выходов автомата Мура
Состояние Qo Q, Qi a
Выходной сигнал Y0 y2 Yi —
34
Т а б л и ц а 1.18 Пример отмененной таблицы переходов автомата
Входной сигналСостояние
Qo ft ft ft*0 Qi/Yi Qi/Yi Q JY X Qo/Y2
Qo/Y2 — — Q0/Y 3
Х2 — Qo/y2 0./ГЗ Q2/Y 0
В каждой клетке отмеченной таблицы переходов автомата указываются одновременно как внутренние, так и выходные состояния автомата (табл. 1.18).
Форма таблицы практически не зависит от типа автомата.
1.5.3. Графическое описание автомата
При графическом описании автоматы представляются ориентированными графами или диаграммами состояния.
Граф автомата состоит из узлов, соединенных ветвями. Узлы (кружки на схеме графа) отождествляют внутренние состояния автомата. Каждая ветвь графа, стрелка которой указывает следующее состояние автомата, отмечается входным сигналом, вызывающим в автомате соответствующий данной ветви переход, и выходным сигналом, которой возникает при этом переходе. Входной и соответствующий ему выходной сигналы разделяются на чертеже запятой или косой чертой. Если некоторый входной сигнал не меняет состояния автомата, то соответствующая ветвь замыкается на кружке (узле), из которого она выходит.
Поскольку таблица состояний и граф (диаграмма) состояний несут одну и ту же информацию, их можно преобразовать друг в
хх/гг x2fY2
Рис. 1.10. Граф автомата Мили Рис. 1.11. Граф автомата Мура
35
друга. Каждое состояние представляется кружком, а каждый элемент таблицы преобразуется в отрезок ориентированной линии, соединяющей соответствующие кружки. Процедура обратного преобразования очевидна.
Граф автомата Мили, заданного табл. 1.18, показан на рис. 1.10.На графах автомата Мура значения выходных сигналов запи
сываются около узлов. Граф автомата Мура, заданного табл. 1.15 и 1.17, приведен на рис. 1.11.
1.5.4. Структурные автоматы
Задача синтеза конечных автоматов заключается в построении сложного автомата из более простых, так называемых элементарных, автоматов. При этом в качестве элементарных автоматов используются элементы памяти и логические элементы. Тогда структурная схема автомата представляется как совокупность комбинационных схем и элементов памяти.
На рис. 1.12 представлена структурная схема автомата Мура. Она содержит память и две комбинационные логические схемы: схему возбуждения автомата и схему формирования выходных сигналов автомата. Число элементов памяти структурного автомата равно числу разрядов в коде его внутренних состояний Q.
Комбинационная схема возбуждения автомата преобразует входные сигналы множества X и внутренние переменные множества Q в некоторые промежуточные переменные множества U, которые подаются на входы элементов памяти. Переменные множества U обеспечивают переключение элементов памяти в соответствии с заданной функцией переходов 8(Q, X ).
Комбинационная схема формирования выходных сигналов автомата преобразует внутренние переменные Q в выходные переменные множества Y в соответствии с заданной функцией выходов X(Q) автомата. ;
Структурная схема автомата Мили приведена на рис. 1.13.В отличие от автомата Мура в автомате Мили схема формиро
вания выходных сигналов отсутствует, а выходные сигналы Y фор-
Рис. 1.12. Структурная схема автомата Мура
36
мируются в памяти автомата. В памяти автомата Мили хранятся все внутренние и выходные переменные, что ведет к увеличению объема памяти и усложнению схемы возбуждения.
В общем случае процедура синтеза автомата разделяется на отдельные этапы:
• кодирование входных, выходных и внутренних состояний;• выбор структурной схемы автомата;• выбор элементов памяти автомата;• построение логических уравнений функций выходов и воз
буждения автомата;• построение функциональной схемы автомата.Кодирование состояний автомата. Кодирование заключается в
замене букв алфавитов X, Y, Q абстрактного автомата двоичными числами. В таблице кодирования перечисляются все буквы алфавита и соответствующие двоичные числа.
Числа, присваиваемые различным состояниям, должны быть различны. В результате кодирования получается структурная таблица переходов, соответствующая исходной отмеченной таблице, в которой обозначения переменных заменены двоичными числами. При кодировании обычно используются двоичный и двоичнодесятичный коды, код Грея; хорошие результаты дает использование кода «1 из я». Например, если абстрактный автомат Мура задан отмеченной таблицей переходов (табл. 1.19), буквы алфави-
Т а б л и ца 1.19Пример таблицы переходов автомата
Входной сигнал Состояние Q
X Qo/Y q Qi/Yi Q i/y2 f t / r3 Q4/Y 4
X ) ft Qi f t Qa Qo
Xi Qo Qo Qo Qo Qo
37
Коды состояний автоматаТ а б л и ц а 1.20
Состояние
X Q Y
Хо Go Qi Q i Оз Qa Y0 Yi Y2 Гз Y4
0 1 ООО 001 010 011 100 00001 00010 00100 01000 10000
тов X, Q закодированы в двоичном коде, а буквы выходного алфавита — в коде «1 из л», в соответствии с табл. 1.20, то структурная таблица переходов принимает вид табл. 1.21.
Память автомата. В качестве элементов памяти автомата используются триггеры — элементарные ячейки памяти, способные хранить один бит информации. Триггеры описываются как автоматы Мура с двумя состояниями, обладающие полной системой переходов и выходов. Из множества известных триггеров обычно используются RS-, JK-, Т- и /)-триггеры.
/^-три ггер (рис. 1.14, а) имеет два управляющих входа: £ (set) и R (reset), с помощью которых осуществляется установка триггера в состояние Q = 1 (при R = 0, S= 1) и сброс в состояние Q = 0 (при R = 1, S = 0). '
Структурная таблица переходов ЛУ-триггера (табл. 1.22) показывает все его разрешенные состояния и варианты перехода из одного состояния в другое. При R = S= 0 триггер работает в режиме хранения, т. е. сохраняет свое внутреннее состояние. Комбинация входных переменных R = S = 1 запрещена, так как она может привести к неопределенному состоянию выхода.
Диаграмма состояний триггера, соответствующая структурной таблице переходов, приведена на рис. 1.14, б. ,
В расчетах обычно используют описание RS -триггера характеристическим уравнением, связывающим его состояние после перехода Q(i + 1) с предыдущим состоянием Q и состоянием входных переменных R и S. На основании структурной таблицы пере-
Т а б л и ца 1.21 Структурная таблица переходов автомата
Входнойсигнал Состояние Q/Y
X 000/00001 001/00010 010/00100 011/01000 100/10000
0 001 010 011 100 000
1 000 000 000 000 000
38
10 RS = OOvOl
- о з ж ж )RS = OOvlO
6
Рис. 1.14. AS-триггер: a — условное обозначение; б — диаграмма состояний
JK =_01W1 JK = OOvlO
- С Ж — и ЮJK = OOvOl
б
Рис. 1.15. ТАГ-триггер: а — условное обозначение; б — диаграмма состояний
ходов это уравнение можно записать в виде Q(i +1) = R - S v R Q. Если учесть, что комбинация R = S = 1 запрещена, то уравнение можно упростить:
Q(i + l) = R S v R Q v R S = S v R Q .
/А'-триггер (рис. 1.15, а) имеет, как и Аб’-триггер, два входа: J (Jerk — толчок) и К (Kill — убить).
/А'-триггер описывается структурной таблицей переходов (табл.1.23). В отличие от триггера он не имеет запрещенных состояний. Комбинация входных переменных / = К= 1 приводит к изменению состояния триггера на противоположное.
Соответствующая структурной таблице переходов диаграмма состояний /А'-триггера показана на рис. 1.15, б.
Т а б л и ц а 1.22 Структурная таблица переходов
АА-триггера
Т а б л и ц а 1.23 Структурная таблица переходов
/АГ-триггера
— R Т Q— S
а
ВходыRS
Состояние Q
0 1
0 0 0 1
0 1 1 1
1 0 0 0
1 1 — —
ВходыJK
Состояние Q
0 1
0 0 0 1
0 1 0 0
1 0 1 1
11 1 0
39
Q Г = 1
Г = 1 Т =О ->
Г = О
Рис. 1.16. Г-триггер: а — условное обозначение; б — диаграмма состояний
Характеристическое уравнение /А'-триггера, составленное на основании его структурой таблицы переходов, имеет вид
Q(i + l) = J Q v K Q .
Г-триггер (рис. 1.16, а), или триггер счетный, имеет только один вход Г (Toggle — перекидной).
Г-триггер описывается структурной таблицей переходов (табл.1.24).
Состояние триггера изменяется на противоположное при поступлении на вход сигнала Г = 1 и сохраняется неизменным при Г= 0. Соответствующий граф Г-триггера представлен на рис. 1.16, б.
Характеристическое уравнение Г-триггера записывается в виде
Q(i + l) = Q T v Q T .
.D-триггер (рис. 1.17, о) также имеет только один вход D (Delay ч- задержка).
D-триггер описывается структурной таблицей переходов (табл.1.25), в которой отсутствует состояние, соответствующее режиму хранения.
Состояние триггера всегда соответствует входному сигналу. Соответствующий граф D-триггера представлен на рис. 1.17, б.
Характеристическое уравнение D-триггера имеет вид
Q(t.+ 1) = D.
Т а б л и ц а 1.24 Т а б л и ц а 1.25Структурная таблица переходов Структурная таблица переходов
Г-триггера D-триггера
Вход ТСостояние Q
0 1
0 0 1
1 1 0
Вход DСостояние Q
0 1
0 0 0
1 1 1
40
а б
Рис. 1.17. D-триггер: а — условное обозначение; б — диаграмма состояний
Комбинационные схемы автомата. Кодирование и выбор элементов памяти однозначно определяют комбинационные схемы автомата.
Исходными данными для построения схем автомата являются структурная таблица переходов автомата и таблица переходов выбранного элемента памяти. Таблицы истинности для схемы возбуждения автомата и схемы формирования выходных сигналов получаются путем преобразования структурной таблицы переходов. В качестве примера рассмотрим построение структурного автомата Мура, реализующего счетчик с коэффициентом пересчета 5, описываемый таблицей переходов (табл. 1.26).
Для построения автомата необходимо составить таблицы истинности схемы возбуждения автомата и схемы формирования выходных сигналов автомата.
Для получения таблицы истинности схемы возбуждения автомата представим состояния Q поразрядно: Q = преобразуемтабл. 1.26 к следующему виду (табл. 1.27).
Вид функции возбуждения зависит от выбранного типа триггеров. Наиболее простое решение получается при использовании Z)-триггеров. В этом случае каждый триггер имеет характеристическое уравнение Q = D и состояния входов триггеров совпадают с заданными состояниями выходов. В таблице истинности схемы возбуждения автомата (табл. 1.28) отражены состояния входов D 2, DI и DO триггеров в зависимости от состояния входов схемы возбуждения автоматов.
При использовании Т- или //Г-триггеров таблица истинности строится аналогично, на основе таблицы переходов выбранных
Т а б л и ц а 1.26 Структурная таблица переходов автомата
Входнойсигнал Состояние Q/Y
R 000/00001 001/00010 010/00100 011/01000 100/10000
0 001 010 011 100 000
1 000 000 000 000 000
41
Таблица переходов автоматаТ а б л и ц а 1.27
Входы схемы возбуждения Выходы триггеров
R Я\ (О ЯоО) ЯгО+ 1) яЛ>+ 1) % ('+ !)
0 0 0 0 0 0 1
0 0 0 1 0 1 0
0 0 1 0 0 1 1
0 0 1 1 1 0 0
0 1 0 0 0 0 0
1 0 0 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 0 0 0
1 •0 1 1 0 0 0
1 1 0 0 0 0 0
Т а б л и ц а 1.28Таблица истинности схемы возбуждения автомата с D-триггерами
Входы схемы Входы триггеров Выходы триггеров
R QiV) ?i (0 %('■) D2 D1 D0 Qi(i+ 1) 4i(i+ 1) Qo(J + 1)
0 0 0 0 0 0 1 0 0 i
0 0 0 1 0 1 0 0 1 0
0 0 1 0 0 1 1 0 ' 1 1
0 0 1 1 1 0 0 1 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
42
Т а б л и ц а 1.29Таблица истинности схемы возбуждения автомата с Г-триггерами
Входы схемы Входы триггеров Выходы триггеров
R ЯАО Я lit) QoV) Т2 77 то Яг(‘ + 1) яА* + 1) Яо(' + 1)
0 0 0 0 0 0 1 0 0 1
0 0 0 1 0 1 1 0 1 0
0 0 1 0 0 0 1 0 1 1
0 0 1 1 1 1 1 1 0 0
0 1 0 0 1 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0 0 0
1 0 1 0 0 1 0 0 0 0
1 0 1 1 0 1 1 0 0 0
1 1 0 0 0 0 0 0 0 0
Т а б л и ц а 1.30Таблица истинности схемы возбуждения автомата с /А-триггерами
Входы схемы Входы триггеров Выходы Триггеров
R яАО я АО Яо( 0 J2 К2 J1 К1 J0 КО Яг(1+ 1) яА' + 1) ЯоО + 1)
0 0 0 0 0 X 0 X 1 X 0 0 1
0 0 0 1 0 X 1 X X 1 0 1 0
0 0 1 0 0 X X 0 1 X 0 1 1
0 0 1 1 1 1 X X 1 X 1 1 0 0
0 1 0 0 X 1 0 X 0 X 0 0 0
1 0 0 0 0 X 0 X 0 X 0 0 0
1 0 0 1 0 X 0 X X 1 0 0 0
1 0 1 0 0 X X 1 0 X 0 0 0
1 0 1 1 0 X X 1 X 1 0 0 0
1 1 0 0 X 1 0 X 0 X 0 0 0
П р и м е ч а н и е . Символом «х» обозначены произвольные состояния.
43
Т а б л и ц а 1.31Таблица истинности схемы формирования выходных сигналов автомата
Входы Выходы
Яг Я\ Яо У4 Уз Уз У1 Уо
0 0 0 0 0 0 0 1
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 0 1 0 0 0
1 0 0 1 0 0 0 0
триггеров. Например, таблица истинности схемы возбуждения автомата с Г-триггерами (табл. 1.29) построена на основе таблицы переходов автомата (см. табл. 1.27) и таблицы переходов Г-тригге- ра (см. табл. 1.24).
Аналогичным образом таблица истинности схемы возбуждения автомата, с /А'-триггерами (табл. 1.30) построена на основе таблицы переходов автомата (см. табл. 1.27) и таблицы переходов /А'-триггера (см. табл. 1.23).
Схема формирования выходных сигналов автомата преобразует состояния триггеров qj в выходные переменные ук. В рассматриваемой схеме в соответствии со структурной таблицей переходов эта зависимость может быть описана следующей таблицей истинности (табл. 1.31). I
Контрольные вопросы
1. Какое количество информации содержится в сообщении из пяти десятичных цифр, из трех шестнадцатеричных цифр, из шести восьмеричных цифр, из восьми символов в расширенном коде ASCII?
2. Сколько различных чисел можно записать с помощью 4-разрядного восьмеричного кода, 3-разрядного шестнадцатеричного кода, 5-разряд- ного десятичного кода?
3. Сколько разрядов имеет:• сумма двух целых 8-разрядных двоичных чисел;• произведение двух целых 8-разрядных двоичных чисел;• произведение 8-разрядного двоичного числа на 4-разрядное?4. Почему комбинация входных сигналов R = S = 1 для АА-триггера
запрещена?
Упражнения
1. Представьте в прямом двоичном коде в 8-разрядном формате следующие десятичные числа: 125; 78; 0,143; 0,57.
44
2. Представьте в дополнительном коде в 8-разрядном формате следующие десятичные числа: -125; -78; -0,143; -0,57.
3. Представьте в обратном коде в 8-разрядном формате следующие десятичные числа: -125; -78; -0,143; -0,57.
4. Вычислите сумму (А + В), представив положительные числа в прямом коде, а отрицательные — в дополнительном:
• при А = 55, 5 = -12;• А = -55, 5 = 12.5. Вычислите сумму (А + В), представив положительные числа в пря
мом коде, а отрицательные — в обратном:• при А = 55, В = -12;• А = -55, 5 = 12.6. Переведите числа А и В в двоично-десятичный код, сложите и пере
ведите результат в десятичный код:• А = 109, В= 375;• А = 543, 5 =7 7 .7. Переведите следующие числа в десятичную систему счисления:
M il 11 111, hFFFF, ?7777.8. Переведите в двоично-десятичный код следующие числа: 67, 245,
611001100, 610001000.9. Переведите из двоично-десятичного кода в десятичный и двоичный
следующие числа: бсМОЮЮЮ, bcd\0010010, bcd\ 1001100.10. Напишите таблицу истинности для логической функции РАВНО
ЗНАЧНОСТЬ трех входных переменных: а, 6, с. Используя логические элементы И (AND), ИЛИ (OR), НЕ (NOT), постройте логическую схему, реализующую данную функцию.
11. Напишите таблицу истинности для логической функции СУММА ПО МОДУЛЮ 2 трех входных переменных: а, 6, с. Используя логические элементы И (AND), ИЛИ (OR), НЕ (NOT), постройте логическую схему, реализующую данную функцию.
12. Напишите таблицу истинности для логической функции ИСКЛЮЧАЮЩЕЕ ИЛИ трех входных переменных: а, 6, с. Используя логические элементы И (AND), ИЛИ (OR), НЕ (NOT), постройте логическую схему, реализующую данную функцию.
13. Постррйте схему мажоритарного элемента с тремя входами, используя только логические элементы И—НЕ.
14. Напишите характеристические уравнения RS-, JK-, Т- и Д-триг- геров.
15. Постройте таблицу переходов 4-разрядного суммирующего счетчика, имеющего счетный вход С (Clock) и вход сброса R (Reset), считающего в коде Грея.
16. Постройте граф переходов четырехразрядного регистра Джонсона, имеющего счетный вход С (Clock) и вход сброса R (Reset).
Г л а в а 2
ЦИФРОВАЯ СХЕМОТЕХНИКА
2.1. Классификация цифровых схем
Интегральной схемой, или микросхемой, принято называть электронную схему, выполняющую определенные заранее функции по преобразованию информации, состоящую из большого числа взаимосвязанных компонентов (транзисторов, диодов, конденсаторов, резисторов и др.) и изготовленную в едином технологическом процессе на одной пластине полупроводника (подложке).
Для изготовления полупроводниковых интегральных схем используются планарная технология и групповой метод производства. Планарная технология предполагает, что все элементы интегральной схемы создаются на одной плоскости. При групповом методе производства на одной пластине полупроводника одновременно изготавливается большое число интефальных схем. После завершения цикла изготовления пластина разрезается на отдельные кристаллы (chips), каждый из которых после размещения его в отдельном корпусе и становится интегральной схемой.
Интегральные схемы, построенные на биполярных транзисторах, считаются биполярными (bipolar) микросхемами, на полевых фанзисторах — микросхемами типа MOS (Metal Oxide Semiconductor), одновременно на транзисторах полевых и биполярных — микросхемами типа BiM OS(Bipolar MOS).
Для количественной оценки сложности интегральной схемы используется понятие степени интеграции. Степень интеф ации определяется коэффициентом k = lg(N) , где N — число ф анзисто- ров на кристалле. При к< 2 ( N < 100) интегральная схема считается малой; при 2 < к < Ъ ( И < 1 ООО) — средней; при 3 < к < 5 ( N < < 100 ООО) — большой; а при к > 5 ( N < 100 000) — Сверхбольшой. Такое разделение условно и практически все используемые сейчас интегральные схемы можно отнести к большим или сверхбольшим.
По области применения и назначению цифровые интеф аль- ные схемы подразделяются на стандартные и специализированные.
Стандартные микросхемы являются полностью готовыми изделиями, спроектированными изготовителем по своему усмотрению в расчете на широкую область применения. Они могут использоваться для решения различных задач, всегда производятся большими партиями и поэтому имеют низкую стоимость. Стан
46
дартными считаются все микросхемы малой и средней степени интеграции (цифровые элементы, триггеры, счетчики, регистры и др.) и ряд больших и сверхбольших интефальных схем, таких как микропроцессоры, микроконтроллеры, микросхемы памяти и интефальные схемы с профаммируемой структурой (PLD — Programmable Logic Device).
Специализированные интегральные схемы (ASIC — Application Specific Integrated Circuit) разрабатываются по конкретному заказу. Они имеют специфические особенности функционирования и не изготавливаются большими партиями. Процесс проектирования и подготовки производства таких микросхем ф ебует значительного времени и материальных заф ат, поэтому такие микросхемы очень дороги. Микросхемы ASIC могут быть заказными и полузаказными. Полностью заказные микросхемы разрабатываются на уровне принципиальных схем на отдельных транзисторах. При этом создается весь комплект конструкторской и технологической документации. Полузаказные микросхемы производятся на основе вентильных матриц (GA — Gate Array). В этом случае ин- теф альная схема строится на основе готового кристалла, на котором на заключительной стадии производства в соответствии с конкретным заказом выполняются необходимые соединения элементов.
2.2. Основные параметры цифровых микросхем
Цифровые интефальные схемы характеризуются определенным набором параметров, приводимых в справочной документации. Большинство парамефов имеют четкое однозначное определение, что при правильном выборе микросхем обеспечивает возможность их правильного элеетрического соединения. П арамефы микросхем стандартизуются. Вопросами стандартизации в области схемотехники в настоящее время занимается несколько независимых международных институтов, созданных разработчиками интефальных схем.
2.2.1. Статические параметры
Уровни напряжений и помехоустойчивость. Цифровые интефальные схемы обрабатывают логические сигналы 0 и 1, физически представленные различными уровнями напряжений на входах и выходах. При положительной логике считается, что логическому нулю соответствует низкий уровень напряжения (Low), логической единице — высокий (High). П арам еф ы определяют уровни входных (Input) и выходных (Output) сигналов.
47
Основными статическими параметрами, определяющими уровни входных и выходных напряжений цифровой интегральной схемы, во всех международных стандартах принято считать:
• U/l — входное напряжение низкого уровня;• Um — входное напряжение высокого уровня;• U0L — выходное напряжение низкого уровня;• и он — выходное напряжение высокого уровня.Уровни напряжений каждой конкретной микросхемы зависят
от ее напряжения питания Us и технологии изготовления. В табл. 2.1 приведены стандартные значения уровней напряжения для микросхем транзисторно-транзисторной логики (TTL — Transistor Transistor Logic) с напряжением питания 5 В, микросхем низковольтной транзисторно-транзисторной логики (LVTTL — Low Voltage TTL) с напряжением питания 3,3 В и микросхем комплементарной CM OS-логики (CMOS — Complimentary Metal Oxide Semiconductor) с напряжениями питания 5 и 2,5 В.
Для правильного согласования микросхем необходимо выполнение двух условий:
• выходное напряжение низкого уровня микросхемы источника сигнала должно быть меньше входного напряжения низкого уровня микросхемы приемника сигнала: U0L < U!L,
• выходное напряжение высокого уровня микросхемы источника сигнала должно быть больше входного напряжения высокого уровня микросхемы приемника сигнала: U0h > UlH. '
Первое условие выполняется для всех рассмотренных микросхем. Второе условие накладывает ряд ограничений на использование микросхем CM OS-логики с напряжением питания 5 В в качестве приемника.
Значение UIH= 3,5 В таких микросхем превышает уровень U0H любых других микросхем, приведенных в табл. 2.1. Поэтому микросхемы CMOS с питанием 5 В нельзя использовать в качестве приемника сигналов с микросхем других серий. Все остальные варианты стыковки микросхем допустимы.
Т а б л и ц а 2.1 Стандартные уровни напряжений цифровых микросхем
Параметр, ВМикросхемы
TTL (5 В) LVTTL (3,3 В) CMOS (5 В) CMOS (2,5 В)
^он 2,4 2,4 4,44 2,3
U,и 2,0 2,0 3,5 1,7
U,L 0,8 0,8 1,5 0,7
U0L 0,4 0,4 0,5 0,2
48
Запас помехоустойчивости микросхемТ а б л и ц а 2.2
Параметр, ВМикросхемы
TTL (5 В) LVTTL (3,3 В) CMOS (5 В) CMOS (2,5 В)
Л 0,4 0,4 0,94 0,6
Ро 0,4 0,4 1 0,5
Уровни входных и выходных сигналов определяют статическую помехоустойчивость микросхем. Для сигнала высокого уровня опасна помеха отрицательной полярности, уменьшающая сигнал. Разность напряжений Р\ = U0H - UlH считается запасом помехоустойчивости микросхемы по уровню 1. Для сигналов низкого уровня, наоборот, опасна помеха положительной полярности, увеличивающая сигнал. Запас помехоустойчивости по уровню 0 рассчитывается как разность: Р0 = UIL - U0L.
Расчетные значения запасов помехоустойчивости для рассмотренных микросхем с различными напряжениями питания приведены в табл. 2.2.
По данным табл. 2.2 хорошо видно, что для достижения высокой помехоустойчивости выгодно использовать микросхемы CMOS, у которых выходнре напряжение высокого уровня незначительно отличается от напряжения питания (U0H~ Us).
Входные и выходные токи и нагрузочная способность. Основными статическими параметрами, определяющими уровни входных и выходных токов цифровой интефальной схемы являются:
• 1ц — входной ток низкого уровня;• 1Ш — входной ток высокого уровня;• I 0L — выходной ток низкого уровня;• 10н — выходной ток высокого уровня.Входной то!к низкого уровня IIL для логического элемента обыч
но является вытекающим током, а входной ток высокого уровня 11Н — втекающим. Аналогично выходной ток высокого уровня 10н обычно вытекает из микросхемы, а выходной ток низкого уровня lo t — втекает.
К одному выходу микросхемы допускается подсоединение нескольких входов аналогичных микросхем. Максимальное число входов, которые можно одновременно подключать к одному выходу, определяет коэффициент разветвления данного выхода микросхемы. Разные выходы одной и той же микросхемы могут иметь различные коэффициенты разветвления. Обычно допускается подсоединять до 10 входов к одному выходу. Специальные выходы с повышенной нафузочной способностью могут иметь увеличенный до 30... 50 коэффициент разветвления.
49
Коэффициент разветвления рассчитывается исходя из соотношения входных и выходных токов интефальной схемы. Предварительно производится расчет коэффициентов KL и К„, соответствующих логическим сигналам низкого и высокого уровней:
Kl = Iol/ I il,К„ = Iо н /7/я-
Определяющим при расчете становится меньшее из двух полученных значений:
К =
В табл. 2.3 приведены типовые данные для микросхем стандартной логики серий 74L (Low), 74S (Shottky), 74, 74LS (Low Shottky) и 74F (Fast). Вытекающие токи в табл. 2.3 обозначены как оф и ц а- тельные. Там же указаны коэффициенты разветвления этих микросхем.
При использовании в одном изделии микросхем разных серий необходимо производить расчеты нафузочной способности каждого выхода микросхемы-передатчика с учетом парамеф ов подключаемых к нему микросхем-приемников. В табл. 2.4 в качестве примера приведены рекомендуемые коэффициенты разветвления выходов микросхем разных серий стандартной фанзисторно-фа1н- зисторной логики.
М икромощная серия 74L; имеющая по паспортным данным коэффициент разветвления 20, плохо стыкуется с микросхемами других серий. К одному выходу микросхемы серии 74L нельзя подключать более одного входа микросхем серии 72S, более двух входов микросхем серии 74, более пяти входов микросхем серии 74LS и более шести входов микросхем серии 74F. Аналогичная ситуация возникает при использовании микросхем серии 74LS, к ко-
Т а б л и ц а 2.3Входные и выходные токи микросхем TTL
ПараметрМикросхемы
74 L 74S 74 74 LS 74 F
7/1, мА -0,18 -2 -1,6 -0,4 -0,6
7/я, мА 0,01 0,05 0,04 0,04 0,02
I q l , мА 3,6 20 16 4 20
7оя, мА -0,2 -1 -0,4 -0,4 -1
К 20 10 10 10 30
50
Коэффициенты разветвления выходов микросхем разных серий стандартной транзисторно-транзисторной логики
Т а б л и ц а 2.4
ПередатчикПриемник
74L 74S 74 74LS 74 F
74L 20 1 2 5 6
74S 100 10 12 25 33
74 40 8 10 10 20
74LS 22 2 2 10 6
74F 100 10 12 25 30
торым нельзя подключать более двух входов микросхем серий 74S и 74. При использовании других (более мощных) микросхем проблем с сопряжением, как правило, не возникает.
Напряжение питания. Практически все рассмотренные параметры цифровых микросхем зависят от напряжения питания. Стремление снизить потребляемую мощность микросхем заставляет производителей снижать их напряжение питания несмотря на то, что этому препятствуют уменьшение помехоустойчивости, снижение быстродействия и нагрузочной способности. Стандартными в настоящее время считаются напряжения: 5; 3,3; 2,5 и 1,8 В. Вместе с номинальным значением напряжения для всех микросхем указываются и его допустимые отклонения. Обычно они составляют 5... 10 % номинала.
Разводка питания цифровых схем должна обеспечивать допустимые значения напряжений на всех микросхемах и эффективную фильтрацию помех, возникающих на шинах питания при переключениях микросхем. Для фильтрации напряжения питания между линией .напряжения питания Us и общим проводом схемы ( GND) включают конденсаторы. Емкость конденсаторов выбирается в соответствии с рекомендациями фирм — производителей микросхем.
2.2.2. Динамические параметры
Задержки распространения сигнала и динамическая помехоустойчивость. Быстродействие цифровых микросхем принято характеризовать задержками распространения сигнала, которые определяются по переходным характеристикам (рис. 2.1), связывающим изменения во времени входных £7/ и выходных U0 сигналов микросхемы.
51
Задержки распространения сигнала при переходе с высокого уровня на низкий tPHL (Propagation Delay time High to Low Level) и при переходе с низкого уровня на высокий tPLH (Propagation Delay time Low to High Level) определяются по переходным характеристикам как промежутки времени между моментами пересечения входными и выходными сигналами средних порогов переключения 0,5(U[L + U[H) и 0,5(Uql + Uон)- У ряда микросхем значения tPHi и tPLH не равны. В таком случае может быть вычислена средняя задержка распространения сигнала tPD (Propagation Delay):
tpD = 0,5 (tPHL + tPLH).
Типовые значения задержек переключения сигнала микросхем TTL (табл. 2.5) находятся в пределах от 4 до 33 не.
На величину задержек распространения сигнала оказывает влияние много различных факторов. Сказывается емкостный характер нагрузки, число подключенных входов других микросхем, напряжение питания и температура окружающей среды. Ряд производителей в паспортных данных микросхем указывает минимальные и максимальные значения задержки распространения сигнала.
Величина задержки распространения сигнала непосредственно влияет на длительность импульсных помех, которые могут вос-
Т а б л и ц а 2.5 Задержки распространения сигнала микросхем TTL
Параметр, неМикросхемы
74L 74 S 74 74LS 74 F
lPLH 33 4,5 18,5 20 5,1
Uhl 33 5 18,5 20 6
bo 33 4,25 18,5 20 5,55
52
приниматься цифровыми схемами. Очевидно, что положительная помеха длительностью меньше tPHL схемой воспринята не будет, аналогично не будет восприниматься помеха отрицательной полярностью длительностью меньше tPHL. В общем случае считается, что помехи, длительность которых меньше времени задержки распространения сигнала tPHL, безопасны для микросхемы и чем меньше быстродействие схемы, тем она более устойчива к воздействию импульсных кратковременных помех.
Работа переключения и потребляемая мощность. Работа переключения As определяет затраты энергии на перенос одного бита информации. Она определяется мощностью Р, потребляемой одним логическим элементом в составе микросхемы, и временем задержки распространения сигнала tPD\
Ag = P tPD.
В настоящее время величина As достигла 10~4 пДж и продолжает снижаться. Теоретически минимальная работа переключения равна энергии элементарного шумового выброса:
Э = кТ,
где к — постоянная Больцмана; Т — абсолютная температура.При комнатной температуре (Т ~ 300 К) Э = 4• 10-9 пДж.Мощность, потребляемая микросхемой в целом, в общем слу
чае имеет две составляющие: статическую и динамическую. Статическая мощность не зависит от тактовой частоты работы микросхемы, динамическая м'ощность с ростом частоты возрастает. В микросхемах на биполярных транзисторах преобладает статическая мощность, в микросхемах на полевых транзисторах основной составляющей является мощность динамическая. В паспортных данных микросхем обычно указывается максимальное значение потребляемой мощности или максимальный ток потребления, соответствующие максимальной рабочей частоте микросхемы.
2.3. Технологии производства цифровых микросхем
В процессе развития микроэлектроники схемы логических элементов претерпевали значительные изменения. Требования повышения быстродействия, помехоустойчивости, степени интеграции микросхем, снижения потребляемой мощности оказались очень противоречивыми. Единая технология, удовлетворяющая одновременно всем перечисленным критериям, не найдена до настоящего времени. Развитие идет одновременно в нескольких направлениях.
По технологии изготовления цифровые микросхемы подразделяются на три группы:
53
• биполярная логика (bipolar logic).• комплементарная логика (CMOS logic).• совмещенная логика (BiCMOS logic).Биполярная логика. Биполярной считается логика, основными
элементами которой являются биполярные транзисторы. Первые схемы биполярной логики созданы фирмой Texas Instruments в 1963 г. Они оказались очень удачными для своего времени, сочетали в себе простоту, высокое быстродействие и экономичность и явились основой для создания большого количества различных серий интегральных схем малой и средней степеней интеграции. В настоящее время популярность биполярной логики снижается и она постепенно вытесняется микросхемами CMOS.
Базовым элементом биполярной логики считается элемент TTL, схема которого приведена на рис. 2.2.
В схеме используется многоэмиттерный транзистор в инверсном включении, у которого переход «база—коллектор» работает в прямом направлении, а переход «база—эмиттер» — в обратном. Такое включение в сочетании с особой геометрией р—и-перехода характеризуется незначительным инверсным коэффициентом усиления.
Если в рассмотренной схеме хотя бы на одном из входов логического элемента присутствует сигнал логического нуля с напряжением U0L, то на этом входе появляется входной вытекающий ток 1ц от источника питания Us = 5 В через базовый резистор ЯТи переход «база—эмиттер» транзистора VT1 к источнику сигнала. Величина базового тока транзистора задается резистором R1 и практически не зависит от числа входов с нулевым потенциалом. П отенциал базы транзистора VT1 в этом случае равен: U0L + 0,7, где 0,7 В — падение напряжения на открытом переходе «база—эмит-
Us
Рис. 2.2. Базовая схема элемента стандартной TTL-схемы
54
тер». Переход «база—коллектор» транзистора VT1, включенный последовательно переходу «база—эмиттер» транзистора VT2, в этом случае открыться не может, так как U 0l < 0,7 В. Базовый ток транзистора VT2 равен нулю, и транзистор находится в режиме отсечки. Двухтактный выходной каскад логического элемента состоит из транзистора VT4 и эмиттерного повторителя на транзисторе VT3. При запертом транзисторе VT2 ток от источника питания Us через резистор R2 поступает в базу транзистора VT3. Через открытый транзистор VT3, диод VD3 и резистор R4 выход логического элемента соединяется с источником питания. Выходное напряж ение высокого уровня в этом режиме Uо н - 2,6 В.
Если на всех входах логического элемента присутствуют сигналы высокого уровня, то ток базы транзистора VT1 через открытый переход «база—коллектор» поступает в цепь базы транзистора VT2. Транзистор VT2 переходит в открытое состояние. Часть его эмиттерного тока поступает в базу транзистора VT4. В результате транзистор переходит в состояние насыщения, а выходное напряжение логического элемента будет близко к нулю. Уровень логического нуля Uol определяется напряжением насыщения транзистора, не превышающим 0,3 В.
Таким образом, выходной сигнал Y= 0 появляется только при условии Х1 = Х 2 = \, что соответствует логической функции И—НЕ (NAND). Как известно, логический элемент И —НЕ представляет собой функционально полную систему и, являясь базовым элементом TTL-схем, обеспечивает построение на своей основе множества сложных логических схем.
В схеме логического элемента И —НЕ (см. рис. 2.2) на входах элемента установлены диоды VD1 и VD2, защищающие входы от пробоя при появлении на них импульсов отрицательной полярности. Возникновение таких импульсов возможно из-за накопления зарядов в емкости проводников печатных плат.
Резистор R4 предназначен для ограничения сквозного тока, проходящего через транзисторы VT4 и VT5 в моменты переключения схемы, когда один из транзисторов открывается, а второй закрывается. Импульсы сквозного тока при переключениях элементов являются источником больших импульсных помех в цепях питания микросхем. Для уменьшения помех в цепи питания рекомендуется устанавливать керамические конденсаторы емкостью 0,1 мкФ.
Более поздние разработки элементов биполярной логики имеют в схеме транзисторы с диодами Ш оттки. К ним относятся семейства S (Schottky) и LS (Low Schottky). Последнее семейство характеризуется пониженным энергопотреблением.
Несколько измененные схемы логических элементов имеют перспективные семейства биполярной логики. Среди существу-
55
Сравнительные параметры логических элементов различных семействбиполярной логики
Т а б л и ц а 2.6
Семейство Р, мВт IpD, НС As, пДж Uон, В UoL, ВTTL 10 9 90 2,4 0,4
S 19 3 57 2,6 0,45
LS 2 9,5 19 2,6 0,45
F 4 3 12 2,5 0,45
ALS 1,2 4 4,8 2,5 0,4
AS 8 1,75 14 2,4 0,45
ющих трех разновидностей перспективных семейств выпущенное фирмой Fairchild семейство F (Fairchild) считается базовым, семейство AS (Advanced Schottky) — быстродействующим, а семейство ALS (Advanced Low Schottky) — экономичным.
В табл. 2.6 приведены сравнительные параметры логических элементов различных семейств биполярной логики.
Несмотря на то что семейства биполярной логики имеют различные уровни сигналов, их можно использовать совместно. Коэффициенты разветвления элементов биполярной логики обычно равны 10. Элементы с повышенной нагрузочной способностью могут иметь коэффициент разветвления в пределах 30... 50.
Комплементарная логика. Комплементарная логика (CMOS logic) — наиболее современный тип логики. Основной элемент ло-
56
Рис. 2.3. Логические элементы CMOS-схемы: а — инвертор; 6 — элемент И—НЕ; в — элемент ИЛИ—НЕ
гики — комплементарная пара транзисторов, состоящая из двух M OS-транзисторов с каналами и- и p -типов (рис. 2.3, а).
При нулевом входном сигнале £7/ < UIL транзистор VT2 открыт, а транзистор VT1 закрыт. В результате напряжение на выходе схемы Uо = и о н ~ Us. При U[> и гноткрытым является транзистор VT1, а закрытым — VT2. На выходе элемента в этом случае U0 = U0L “ 0. Таким образом, комплементарная пара_гранзисторов является инвертором, реализующим функцию Y = X. Особенностью такого инвертора является высокое, практически равное напряжению питания значение логической единицы, что обусловливает очень высокую помехоустойчивость схемы. Напряжение питания элемента CM OS-схемы может быть любым — в диапазоне от 3 до 15 В. С увеличением напряжения питания увеличивается запас помехоустойчивости схемы.
Потребляемый схемой от источника питания ток равен нулю в любом из рассмотренных статических состояний элемента. В импульсном режиме энергия источника питания расходуется на перезаряд емкости в цепи нагрузки. Она зависит от напряжения питания схемы Us и частоты переключения / :
P = CfVs\где С — емкость нагрузки.
Для современных схем потребляемая логическим элементом мощность составляет примерно 0,1 ...0,3 мкВт/кГц. Энергия на одно переключение элемента (менее 0,05 пДж/кГц) значительно меньше, чем у любых других серий логических элементов.
Для реализации функции И —НЕ используется схема на четырех транзисторах (рис. 2.3, б). В этой схеме сигнал логического нуля на выходе формируется только при одновременном открытии двух включенных последовательно транзисторов с каналом типа и: VT1 и VT2, т.е. при условии X I = Х2 = 1.
При изменении последовательного соединения транзисторов на параллельное получается схема логического элемента И ЛИ— НЕ (рис. 2.3, ё).
Первые микросхемы CMOS семейства CD4000A созданы фирмой RCA в начале 1970-х гг. Эти микросхемы имели напряжение питания 9 В. Поскольку быстродействие CM OS-микросхем пропорционально напряжению питания, в последующем напряжение питания элементов повышается до 15 В. Быстродействующие CM OS-семейства конкурирует по функциям и конфигурации с перспективными биполярными семействами. Большой выбор современных CM OS-серий предлагает фирма Texas Instruments.
Микросхемы семейств AC/ACT (Advanced CMOS Logic) производятся с использованием одномикронной CM OS-технологии. AC-схемы имеют CM OS-совместимые входы, a ACT — входы, совместимые с TTL-схемами.
57
Сравнительные данные CMOS-микросхемТ а б л и ц а 2.7
Семейство Us, В t PD, НС Семейство Us, В tpD< НС
НС ' 4,5 8 ,8 ACT 5 8
н е т 4,5 8 АНС 2 . . .5,5 5АС 5,5 4,5 ALVC 3,3 2,2
Микросхемы семейства АН С/АН СТ (Advanced High-Speed CMOS Logic) характеризуются высоким быстродействием при малом потреблении энергии и низком уровне шумов. АНС-схемы имеют CM OS-совместимые входы, а АНСТ — входы, совместимые с TTL- схемами.
Микросхемы семейства ALVC (Advanced Low-Voltage CMOS Technology) являются одной из наиболее производительных серий с трехвольтовым питанием. Сравнительные данные CMOS- микросхем представлены в табл. 2.7.
Совмещенная логака. Микросхемы совмещенной логики BiCMOS (Bipolar CMOS) появились в начале 1980-х гг. Они удачно совместили в себе высокое быстродействие TTL-схемы и низкое энергопотребление микросхем CMOS.
На рис. 2.4 изображен инвертор BiCMOS-схемы, соединяющий в себе логическую схему микросхем CMOS и выходной каскад TTL.
В статическом состоянии этот элемент работает как обычный CM OS-инвертор на транзисторах VT1 и VT2, у которого после
довательно с каналом каждого транзистора включены резисторы R1 и R2, сопротивления которых сравнимы с сопротивлениями каналов в открытом состоянии.
В CM OS-инверторе статические токи отсутствуют, напряжения на резисторах R1 и R2 отсутствуют и биполярные транзисторы закрыты. При переключениях происходит перезаряд емкости нагрузки логического элемента через открывающиеся транзисторы VT1 и VT2. Протекающие при этом через резисторы R1 и R2 токи открывают биполярные транзисторы VT3 и VT4, тем самым существенно ускоряя перезаряд емкости.
Таким образом, использование биполярных транзисторов позволяет нейтрализовать влияние емкости нагрузки, явля-
Us
Рис. 2.4. Инвертор BiCMOS-схемы
58
Т а б л и ц а 2.8 Сравнительные данные BiCMOS-микросхем
Серия Us, В 1PD, НС /ону м А IoL, мААВТ 5 3,6 -32 64
LVT 3,3 2,2 -32 64
ющейся одним из основных факторов, ограничивающих быстродействие CM OS-микросхем.
Микросхемы серии АВТ (Advanced BICMOS Technology) — микросхемы второго поколения. Они производятся с использованием 0,8-микронной технологии, что обеспечивает выходной ток высокого уровня (до 64 мА) и задержку распространения сигнала ниже 5 не при сохранении очень малой потребляемой мощности. Отдельные микросхемы этой серии обеспечивают выходной ток высокого уровня (до 180 мА).
М икросхемы серии LVT (Low-Voltage BiCMOS Technology) разработаны по 0,8-микронной технологии специально для работы с пониженным трехвольтовым питанием. Основное функциональное назначение микросхем серии LVT — работа с шинами данных. Так же как пятивольтовая серия АВТ, LVT имеет выходные токи до 64 мА и характерную задержку распространения сигнала не более 4 не для шинных формирователей, при этом тактовая частота может превышать 150 МГц.
В табл. 2.8 приведены сравнительные данные BiCMOS-микро- схем.
2.4. Специальные входные и выходные каскады
Входы. Для обеспечения максимальной помехоустойчивости и быстродействия входы микросхем должны находиться под постоянным потенциалом. Неиспользуемые или временно неподключенные входы должны подсоединяться к источнику питания или общему проводу схемы. Для решения этой задачи входы иногда снабжают встроенными подтягивающими резисторами или запоминающими цепями. В ряде случаев для повышения статического запаса помехоустойчивости схемы на входах используют триггеры Ш митта, имеющие гистерезисную переходную характеристику.
Подтягивающий резистор соединяет входной контакт микросхемы с источником питания и обеспечивает появление сигнала высокого уровня на неподключенном (свободном) входе (рис. 2.5).
Запоминающая цепь состоит из двух инверторов, замкнутых в кольцо (рис. 2.6). Благодаря такой обратной связи на свободном
59
DD1
Контактмикросхемы' * - п ь -
D DКонтакт
микросхемы -С—Q } ----
Рис. 2.5. Подтягивающий резистор Рис. 2.6. Запоминающая цепь
входе сохраняется уровень напряжения, который соответствует логическому сигналу в момент времени, предшествующий отключению. В результате отпадает необходимость установки на входах подтягивающих резисторов.
Логические элементы с повыш енной помехоустойчивостью строятся по схеме триггера Ш митта и имеют передаточную характеристику в виде петли гистерезиса (рис. 2.7).
При напряжении питания Us = 5 В пороги переключения триггера Ш митта следующие: U[L = 1,7 В, UIH = 0,9 В; ширина петли гистерезиса — 0,8 В. При этом обеспечиваются повышенные запасы помехоустойчивости:
• запас по уровню 1 — Л = U0H - UIH = 2,4 - 0,9 = 1,5 В;• запас по уровню 0 — Р0 = UIL- U0l = 1,7 - 0,4 = 1,3 В.У микросхем стандартной TTL-схемы Р0 = = 0,4 В (см. табл.
Такие элементы обычно используются в качестве приемников при соединении цифровых схем через длинные линии, где наиболее вероятно появление различных помех. '
Выходы. Выходной каскад с открытым коллектором (рис. 2.8) работоспособен только при подсоединении внешнего резистора, соединяющего выход микросхемы с источником питания.
Схемы с открытым коллектором имеют повышенную нагрузочную способность при выходном сигнале низкого уровня. Во внешней цепи вместо резистора могут подключаться светодиоды, маломощные реле и другие элементы индикации и управления. Внешний источник питания при этом может бы,ть отличным от
Рис. 2.7. Характеристика инвертора Рис. 2.8. Выходной каскад с откры-
2.2).
и0Uqh
по схеме триггера Шмитта тым коллектором
60
источника питания микросхемы. Некоторые высоковольтные схемы выдерживают подключение к источникам питания напряжением до 30 В.
Схемы с открытым коллектором допускают объединение выходов. При этом используется один резистор на несколько микросхем (рис. 2.9) и схема выполняет дополнительную логическую операцию, называемую операцией монтажной логики.
В приведенной схеме сигнал высокого уровня появляется на выходе только при X I = Х2 = ... = Хп = 0. В результате схема выполняет инверсию каждой входной переменной и объединение выходов логической функцией М ОНТАЖ НОГО И:
Y = Х~1-~Х2-...-ЖЭлементы с открытым коллектором можно использовать также
для организации работы нескольких схем на одну линию. Для этого в схеме применяются двухвходовые элементы И —НЕ, а на один из входов каждого элемента возлагается функция разрешения подключения этого элемента к общему выходу (рис. 2.10). Такой вход обычно обозначается буквами ОЕ (Output Enable).
В этой схеме
Y = X I - ОЕ1 ■ Х 2 - ОЕ2 ■... ■ Хп ■ ОЕп == X I ■ ОЕ1 v Х 2 ■ ОЕ2 v ... v Хп ■ ОЕп.
Для подключения одного из входов Х; необходимо установить сигнал высокого уровня на соответствующем разрешающем входе OEj при обязательном отключении остальных элементов, т.е. для
Рис. 2.9. Монтажная логика на ин- Рис. 2.10. Подключение элементов верторах с открытым коллектором с открытым коллектором к обще
му выходу
61
OE-1
Выход I микросхемы
Рис. 2.11. Выход с тремя состояниями
нормальной работы схемы в таком режиме необходимо выполнение условия
t 0 E i = 1./=1
ПВозможно также сочетание ^ О Е , = 0. В этом случае Y= 1 неза-
/=1висимо от всех входных переменных Xt.
Ьыход с тремя состояниями (рис. 2.11) может быть отключен от микросхемы с помощью специального управляющего сигнала ОЕ. При OE = 1 транзистор VT открыт и выход подключен к внутренней схеме, при ОЕ = 0 транзистор закрыт и выход отключен от схемы.
При подключенном выходе на него из микросхемы могут поступать сигналы высокого и низкого уровня. При отключении считается, что на выходном контакте присутствует третье (высоко- импедансное) состояние. В этом случае состояние выхода просто определяется другими схемами, подключенными к этому контакту микросхемы. Третье состояние при описании логики работы микросхемы обычно обозначается буквой Z. '
Выходы с тремя состояниями можно соединять параллельно при условии, что в любой момент времени подключенным является только один из них. При объединении п выходов необходимо
Пвыполнить условие £ OEt <1. Несоблюдение данного условия мо-
/=1жет привести к выходу микросхем из строя.
Выходы с тремя состояниями обычно используется при организации работы нескольких микросхем на одной линии связи.
2.5. Стандартная логика
Стандартная логика объединяет множество логических микросхем малой и средней степеней интеграции, выпускаемых различными производителями. По функциональному назначению эти элементы условно можно подразделить на следующие группы:
• логические элементы;• буферные элементы;• комбинационные логические схемы;
62
• триггеры;• последовательностные логические схемы.
2.5.1. Логические элементы
Логическим элементом считается микросхема, реализующая простейшую логическую функцию нескольких переменных. В наборах стандартной логики всех производителей распространены логические элементы НЕ (NOT), ИЛИ (OR), И (AND), И —НЕ (NAND), И Л И - H E (NOR), ИСКЛЮ ЧАЮ Щ ЕЕ ИЛИ (XOR), реализующие одноименные логические функции. Выбор логических элементов очень широк. Они выпускаются в разных корпусах, с числом входов от одного до восьми, с различной нагрузочной способностью выходов.
В одном корпусе микросхемы может размещаться от одного до шести логических элементов (рис. 2.12, 2.13).
Логические элементы с повышенной помехоустойчивостью, имеющие специальные входные каскады по схеме триггера Шмитта
Рис. 2.12. Примеры микросхем с наборами логических элементов НЕ (NOT), И (AND), И -Н Е (NAND)
1 ф-
1 ■
1 Ф~
1
1 Ф- 1 ф- —
1 Ф-
1 ф- —
=1
=1
= 1
=1
&
&
&
&
1 11-
Рис. 2.13. Примеры микросхем с наборами логических элементов ИЛИ (OR), ИЛИ- H E (NOR), ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) и с логикой
И -И Л И -Н Е (AND—OR—NOT)
63
Рис. 2.14. Примеры микросхем стандартной логики с триггерами Шмитта
одновременно могут выполнять логические функции, например НЕ (NOT) или И —НЕ (NAND) (рис. 2.14). Такие микросхемы используются при соединении логических схем через длинные линии, где наиболее вероятно появление различных помех.
2.5.2. Буферные элементы
Наряду с логическими элементами все серии микросхем обеспечивают широкий выбор буферных и разрешающих элементов, предназначенных для формирования и усиления электрических сигналов. Схемы отличаются от обычных логических элементов измененными выходными каскадами, допускающими подключение к ним различных элементов индикации, контроля и управления.
Роль буферных элементов обычно играют схемы с открытым коллектором или тремя выходными состояниями. Если несколько буферных элементов в одной микросхеме имеют общие входы разрешения ОЕ, то такую микросхему принято называть шинным драй-
ЕО
ЕО
ЕО
ЕО
О
&
ЕО
&
ЕО
О
D I BD— 0 DO— 1 0— 2 1— 3 2
3>ЕО
BDDO
— 0— 1— 2
3— < ЕО
Рис. 2.15. Примеры буферных элементов с тремя выходными состояниями и шинных драйверов
64
вером (Bus Driver). Ш инные драйверы обычно выполняются 4- или 8-разрядными. Некоторые из них могут передавать информацию в двух направлениях. Входы разрешения ЕО у шинных драйверов могут быть //-активными (разрешающими работу при высоком уровне сигнала ЕО) или /--активными (разрешающими передачу данных при низком уровне сигнала ЕО). Примеры буферных элементов с тремя выходными состояниями и шинных драйверов, входящих в наборы стандартной логики, приведены на рис. 2.15.
/-акти вн ы й вход разрешения ЕО на условном обозначении микросхем отмечается знаком инверсии. При ЕО = 0 все элементы (см. рис. 2.15) обеспечивают передачу сигналов со входов на выходы; при ЕО = 1 выходы буферных элементов переходят в высоко- импедансное состояние.
2.5.3. Комбинационные логические схемы
Дешифраторы. Дешифратор (Decoder) является преобразователем двоичного кода в код «1 из л» (см. табл. 1.7). Входной сигнал в двоичном коде поступает на /-разрядную шину D I[0 ...k - 1] (Data Input), выходной сигнал снимается с п = 2*-разрядной шины /)О [0 ...л - 1] (Data Output). В стандартной логике разрядность к входной шины /) /[ ] обычно равна 2, 3 или 4; разрядность выходной ш ины D O \\ и = 4, 8, 10 или 16 (рис. 2.16).
Дешифратор 4 х 10 типа 7442 неполный. Он предназначен для преобразования в код «1 из 10» двоично-десятичного bcd-кот - Д еш иф раторы часто снабж аю тся разреш аю щ ими входами Е (Enable), которые обеспечивают простейшую логику включения схемы. Активным уровнем сигнала разрешения и выходных сигналов чаще является более помехоустойчивый уровень логического нуля. Дешифратор типа 74154 включается при Е1 = Е2= 0, а дешифратор типа 74138 — при E l = Е2 = 0, ЕЗ = 1. В остальных случаях на всех выходах дешифраторов устанавливаются единичные сигналы.
Комбинационная схема дешифратора однозначно описывается таблицей истинности. Например, дешифратор 74138 описывается табл. 2.9, связываю щ ей шесть входных переменных /?[3... 1], D I[2...0] и восемь выходных переменных /)О [7...0].
По табл. 2.9 несложно составить логические уравнения дешифратора:
DOO = Е 2 ■ Е1 ■ Е З ■ ( D I 2 • DI1 ■ DI0)\
DOl = Е 2 ■ E l ЕЗ- (DI2 • DI1 ■ DIO);
D 0 2 = Е 2 ■ E l Е З- (.D I2 ■ D l l ■ DIO);
3 В о д о в о зо в 65
DI
01 2 3
DC7442
DO
0 < 1 < 2 '3 «4 '5 <6 '7 «8 « 9 '
DI0123
&
£7E2
DC74154
DO 0 ' 1 < 2 '3 '4 '5 '6 '7 i8 ' 9 ■ 10' 11 '
1 2 '
13' 14' 15'
DI012
DC74138
DO 0 ' 1 ' 2 '3 '4 '5 '6 ' 7 '
Рис. 2.16. Примеры микросхем дешифраторов
Т а б л и ц а ,2.9Таблица истинности дешифратора 3 x 8
£[3...1] DI[2...Q] DO{ 7...0]
001 000 11111110
001. 001 11111101001 010 11111011001 011 11110111001 100 11101111001 101 11011111
001 110 10111111001 111 01111111
ххО ххх 111111111хх XXX 11111111
xlx XXX 11111111
П р и м е ч а н и е . Символом «х» обозначено произвольное состояние.
D 0 3 = Е 2 ■ E l Е З- (D I2 ■ D l l ■ D I2)
D 0 4 = E 2 ■ E l E 3- (D I2 ■ D l l ■ DIO)
D 0 5 = E 2 ■ E l ■ E 3 ■ (D I2 ■ D l l ■ DIO)
D 0 6 = E 2 ■ E l E 3- (D I2 ■ D l l ■ DIO)
D 0 7 = E 2 ■ E l • E 3 ■ (D I2 • D l l ■ DIO).
Дешифраторы с разрядностью входного сигнала более четырех в интегральном исполнении не производятся; при необходимости такие схемы собираются из дешифраторов с меньшей разрядностью. Например, на рис. 2.17 четырехвходовый дешифратор с L- активными выходами построен из двух трехвходовых дешифраторов.
Дешифратор можно использовать вместо обычных логических элементов для реализации логических функций, описываемых уравнениями в совершенной дизъюнктивной нормальной форме. При
Рис. 2.17. Пример наращивания разрядности дешифратора
67
этом все минтермы, входящие в совершенную дизъюнктивную нормальную форму логической функции, берутся с выходов дешифратора и объединяются логическим элементом ИЛИ. Например,функция трех переменных у = x 0 x lx 2 v хО ■ x l ■ х 2 v хО ■ x l ■ х2 реализуется (рис. 2.18) с помощью дешифратора 3 x 8 и логического элемента ИЛИ.
В наборах стандартной логики дешифраторами также называются схемы преобразователей двоичного кода в семисегментный код, используемые для управления цифровыми индикаторами. Входная шина такого индикатора /Щ 3 ...0 ] 4-разрядная, выходная — 7-разрядная /)О [6 ...0 ] (рис. 2.19). Результат преобразования представляется на выходной шине в семисегментном коде. Выходная шина /)О [6...0] дешифратора может быть Я-активной (микросхема 7446) или //-активной (микросхема 7447).
Кроме входной 4-разрядной шины данных DI[0...3] семисегментные дешифраторы обычно снабжаются //-активным входом включения Е (Enable). Таблица истинности дешифратора стандартной логики (табл. 2.10) по отношению к таблице семисегментного кода (см. табл. 1.8) обычно является неполной. В ней не расшифровываются входные комбинации, соответствующие шестнадцатеричным символам A...F .
Шифраторы. Ш ифратор (Coder) осуществляет преобразование кода «1 из л» в двоичный или двоично-десятичный код. Входная шина шифратора всегда имеет большее число разрядов, чем выходная. Например, двоично-десятичный шифратор (рис. 2.20), предназначенный для преобразования кода «1 из 10» в двоично-деря- тичный код, имеет 9-разрядную входную шину Z>/[8... 0] и 4-раз- рядную выходную ш ину/)О [3 ...0 ].
Поскольку код «1 из п» является избыточным, то логика ш ифратора обычно является приоритетной. Вход с большим номером
DI DC DO0 01 12 2
34567
Х2Х1Х0 Х2Х1Х0 Х2 XI ХОХ 2 Х 1 Х 0
1Х 2 Х 1 Х 0Х 2 Х 1 Х 0Х 2 Х 1 Х 0Х 2 Х 1 Х 0
Рис. 2.18. Пример реализации функции трех переменных на дешифраторе
68
DI01 2 3
DC7447
DO a q— b с d efg
Рис. 2.19. Семисегментные дешифраторы
имеет приоритет и появление на нем сигнала высокого уровня однозначно определяет состояние выхода (табл. 2.11).
Мультиплексоры. Мультиплексором (multiplexer) принято называть цифровую схему, выполняющую функции многопозиционного переключателя. Мультиплексор имеет входную TV-разрядную шину данных D I[0 ...N - 1] (Data Input), «-разрядную адресную шину А [0... п - 1] (Address) и только один выход DO (Data Output)
Т а б л и ц а 2.10 Таблица истинности семисегментного дешифратора
ЕДвоичный код Семисегментный код
Х[3...0] DO[6...0] abcdefg
1 хххх 0000000
0 0000 1111110
0 0001 0110000
0 0010 1101101
0 ООН 1111001
0 0100 0110011
0 0101 1011011
0 0110 0010000
0 0111 1110000
0 1000 1111111
0 1001 1110011
0 101х 0000000
0 11XX 0000000
П р и м е ч а н и е . Символом «х» обозначено произвольное состояние.
69
(рис. 2.21). Двоичный код, поступающий на адресную шину, задает номер линии входной шины данных, соединяемой с выходом мультиплексора. Число разрядов адресной шины я и число разрядов входной шины N мультиплексора однозначно связаны соотношением N = 2". Например, мультиплексор типа 74151 с 3-раз- рядной адресной шиной должен иметь 8-разрядную входную шину данных.
Как и любая микросхема комбинационной логики, мультиплексор обычно имеет /.-активный вход разрешения работы Е (Enable). В таблице истинности 8-разрядного мультиплексора (табл. 2.12) значения соответствуют состояниям его восьми информационных входов.
Логическое уравнение, описывающее мультиплексор в совершенной дизъюнктивной нормальной форме, однозначно определяется таблицей истинности и имеет следующий вид:
DО = D I0 • АО ■ А~1 ■ А2 v D I1 ■ А 0 ■ И • А2 v D I2 ■ АО ■ А 1 ■ А2 v v D I3 ■ АО ■ A l- ~А2 v D I4 ~А0 ~А1 ■ A 2 v D I5 ■ АО ~А1 ■ А2 v
s/DI6 ~А0 - А1 ■ A 2 v D I7 ■ АО - А1 ■ А2.М ультиплексор считается универсальной схемой, позволя
ющей реализовать любую логическую функцию, представленную в совершенной дизъюнктивной нормальной форме. Мультиплексор, имеющий «-разрядную адресную шину, в общем случае позволяет воспроизвести любую булеву функцию от (« + 1) пере-
25/01 23456 7
мих74151
D OQ—
Рис. 2.20. Двоично-десятичный шифратор с /-активными входами и вы
ходами
Рис. 2.21. Мультиплексор 8 х 1
70
Т а б л и ц а 2.11 Таблица истинности двоично
десятичного приоритетного шифратора
Таблица истинности 8-разрядного
мультиплексора
Z>/[8... 0] Z>O[3...0]
000000000 0000
000000001 0001
00000001х 0010
0000001хх 0011
000001ххх 0100
00001хххх 0101
OOOlxxxxx 0110
OOlxxxxxx 0111
Olxxxxxxx 1000
lxxxxxxxx 1001
E A[ 2...0] DO
0 000 DIO
0 001 D ll
0 010 DI2
0 011 DI3
0 100 DI4
0 101 DI5
0 110 DI6
0 111 DI7
1 X X X 0
П р и м е ч а н и е . Символом «х» обо- П р и м е ч а н и е . Символом «х» обозначено произвольное состояние. значено произвольное состояние.
менной. При этом п входных переменных подаются наадресную шину мультиплексора, а в зависимости от реализуемой функции каждая линия входной шины принимает состояние 0, 1, х„ либо х„. На рис. 2.22 функция четырех переменных у = хгХ2 Х\ v x i x i x x v х 2х\ v хгх2х ххо реализуется с помощью 3- разрядного мультиплексора.
Компараторы. Компаратором (Comparator) называется комбинационная схема, осуществляющая сравнение двух многоразрядных переменных. 4-разрядный компаратор (рис. 2.23) имеет две входные шины данных А [2...0] и В [2...0] одинаковой разрядности, 3-разрядную входную шину каскадирования / [ 2...0] и 3-раз- рядную выходную шину 2Ю [2...0].
На выходной шине DO[2...0] в коде «1 из 3» отображаются три возможных результата сравнения: А [] > В [], А [] = В [], или А [] < В []. Ш ина каскадирования / [] предназначена для наращивания разрядности. При сравнении 4-разрядных чисел на вход каскадирования подается / [ 2...0] = 100. При большем числе разрядов используют несколько микросхем, соединенных последовательно: выходы DO[] микросхем, сравнивающих младшие разряды чисел, соединяются с соответствующими входами каскадирования /[] микросхем, сравнивающих старшие разряды.
71
хЗ
Us гГ
хО_x l
DI MUX0123 DO4567
А01 -2
А СМР012 DO3 0
1В 20123
I012
Рис. 2.22. Пример реализации логи- Рис. 2.23. 4-разрядный компаратор ческой функции на мультиплексоре
Т а б л и ц а 2.13Таблица истинности компаратора
Входы Выходы DO[ 2...0]Я[3...0], Л[3...0] /[2 -0 ]
В3> АЗ X X X X X X 1 0 0
В3< АЗ X X X X 0 0 1
II
«4 В2 > А2 X X X 1 0 0
ВЗ = АЗ В2< А2 X X X X X 0 0 1
В3 = АЗ В2=А2 В1 > А1 X X X X 1 0 0
ВЗ = АЗ В2> А2 В1< А1 X X X X 0 0 1
ВЗ = АЗ В2< А2 В1 = А1 В0> АО X X X 1 0 0
II
«4 II
«4 В1> А1 В0< АО X X X 0 0 1
ВЗ = АЗ В2> А2 В1< А1 to II 1 0 0 1 0 0
В3 = АЗ В2< А2
*-■4II
«4 В0> АО 0 0 1 0 0 1
ВЗ = АЗ II
«4 В1>Л1 В0< АО xlx 0 1 0
ВЗ = АЗ В2> А2 В1< А1 to II 1 0 1 0 0 0
II
«4 В2> А2 В1< А1 to II 0 0 0 1 0 1
П р и м е ч а н и е . Символом «х» обозначено произвольное состояние.
72
Описание компаратора обычно составляется в форме таблицы, в которой показывается соотношение отдельных разрядов входных шин (табл. 2.13).
Контроллер паритета. Контроллер паритета анализирует количество единиц в двоичном числе. Типовая схема обычно имеет 9- разрядную входную шину данных Z)/[8...0] и 2-разрядную выходную шину DO[ 1,0] (рис. 2.24).
Для представления результата используется код «1 из 2». При четном количестве единиц на шине Z>/[8... 0] схема формирует сигнал четности в виде DO[\ = 10; при нечетном — сигнал нечетности DO []=01. Таблица истинности схемы контроля четности очень громоздка и логику ее работы обычно описывают с помощью логической операции суммы по модулю 2:
D O l = DIO © D l l © D I2 © D I3 © D I4 © D I5 © D I6 © D I7 © DI8,
DOO = DOl.Сумматоры. Сумматором называется комбинационная схема,
предназначенная для сложения двоичных чисел. В наборах стандартной логики выпускаются сумматоры различной сложности. Они имеют разные названия, однозначно определяющие логику работы устройства.
Полусумматор (Half-sum) предназначен для выполнения операции арифметического сложения двух двоичных символов. Он имеет два входа и два выхода. Выходы обычно обозначаются как сумма S (Sum) и перенос С (Carry) (рис. 2.25, а).
Логика полусумматора описывается таблицей истинности (табл. 2.14), связывающей входные и выходные переменные схемы.
По табл. 2.14 несложно описать логическую функцию полусумматора:
С - А- В] S = А © В.
SMHS
““ А *3А S — — в C lВ С — _ Со
Рис. 2.24. Схема Рис. 2.25. 1-разрядные сумматоры:контроля паритета а — полусумматор; б — полный сумматор
73
Таблица истинности Таблица истинности 1-разрядного полногополусумматора сумматора
Т а б л и ц а 2.14 Т а б л и ц а 2.15
АВ C S
0 0 0 0
0 1 0 1
1 0 0 1
11 1 0
А В С0 С, S А В О, С, S
ООО 0 0 1 0 0 0 1
0 0 1 0 1 1 0 1 1 0
0 1 0 0 1 1 1 0 1 0
0 1 1 1 0 1 1 1 11
Полный сумматор имеет три входа и два выхода. Он складывает две одноразрядные переменные А и В с учетом сигнала переноса из младшего разряда С0, формирует сигнал суммы S и перенос в старший разряд С\ (рис. 2.25, б).
В таблице истинности полного сумматора (табл. 2.15) представлены три входные переменные (А, В и С0) и две выходные переменные (сумма S и перенос в старший разряд Q ).
Уравнения, соответствующие табл. 2.15, имеют следующий вид:
5’ = Л ® 5 ® С 0; Q = А- В v (A @ В )-С 0 .
Многоразрядные сумматоры предназначены для сложения многоразрядных двоичных чисел. Такой сумматор имеет две л-разрядные входные шины данны хЛ [0 ...п - 1] и 5 [ 0 . . . я - 1], вход переноса в младший разряд С0, выходную шину S[0.. ai - 1] той же разрядности и выход переноса в старший л-й разряд С„ (рис. 2.26).
Рис. 2.26. Многоразрядные сумматоры: а — 2-разрядный; б — 4-разрядный
74
В общем случае сумматор вычисляет сумму двух л-разрядных переменных с учетом сигнала переноса Q:
S [0...л -1 ] = А [0...л -1 ] + В [0...л -1 ] + С0.
При переполнении разрядной сетки формируется сигнал переноса С„. Схема многоразрядного сумматора состоит из нескольких параллельно включенных 1-разрядных сумматоров с последовательным переносом (рис. 2.27).
Любой многоразрядный сумматор можно использовать для сложения чисел со знаком. При этом знаковым считается старший разряд числа, а отрицательные числа представляются в дополнительном коде. Положительный результат в этом случае представляется в прямом коде, а отрицательный — в дополнительном.
Арифметико-логические устройства. Арифметико-логическое устройство (ALU — Arithmetic Logic Unit) является универсальной комбинационной схемой, способной выполнять различные арифметические и логические операции с двумя многоразрядными переменными. Стандартное арифметико-логическое уст-
доВО
Со SM SА С1В
-so
Cl qALBl
Со SM SА CiВ
- s i
C2 l_ A2 B2
Со SM SА CiВ
-S2
C3M
ALU74181
C4
Рис. 2.27. Схема многоразрядного сумматора с последовательным пе
реносом
Рис. 2.28. Стандартное арифметико- логическое устройство
75
Таблица истинности 4-разрядного арифметико-логического устройства
Т а б л и ц а 2.16
£[3...0]Л3...0]
£[3...0]Л3...0]
М= 1
О115| М = 1
ОII
0000 А А + С0 1000 A v В0001 A v В 1001 А ® В Л + В + С*о
0010 А В 1010 В
ООП 0 1011 А -В
0100 А В 1100 1 Л + Л + Cq
0101 В 1101 A v В0110 А ® В А - В - 1 + С0 1110 A v В
0111 А В 1111 А Л - 1 + Со
ройство осуществляет преобразования 4-разрядных переменных и имеет возможность наращ ивания разрядности. Оно имеет две входные 4-разрядные шины данных Л[0...3] и 5 [0 ...3 ], вход пет реноса С0, 4-разрядную шину задания кода операции 2?[0...,3], вход задания режима работы М, выходную шину для представления результата / ’[0...3] и выход переноса С4 (рис. 2.28).
В зависимости от состояния входа задания режима М схема выполняет либо логические, либо арифметические операции. Все логические операции оперируют с входными переменными поразрядно, арифметические операции рассматривают входные переменные как 4-разрядные слова и учитывают сигнал переноса С0. Работа микросхемы описывается табл. 2.16, в которой столбец М = 1 соответствует логическому, а столбец М = 0 — арифметическому режиму работы схемы.
Стандартное арифметико-логическое устройство может выполнять все возможные логические операции над одной и двумя переменными. Набор арифметических операций очень ограничен; микросхема ALU позволяет сложить два числа (А + В + С0 при С0 = 0), вычесть два числа (А - В - 1 + С0 при С0 = 1), сдвинуть число на один разряд влево (А + А + С0 при С0 = 0), прибавить к числу единицу (инкремент числа — А + С0 при С0 = 1) и вычесть из числа единицу (декремент числа — А - 1 + С0 при С0 = 0). Остальные строки таблицы истинности в столбце арифметических операций (М = 0) являются сложными комбинациями логических и арифметических преобразований и практического применения не находят.
76
2.5.4. Триггеры
Триггеры, выпускаемые в наборах стандартной логики, очень разнообразны. От абстрактных триггеров они отличаются большим числом входов, расширенными функциональными возможностями и разнообразными схемными решениями.
.ЛУ-триггеры. Простейший ЛУ-триггер, работающий по табл. 1.22, можно построить на двух элементах И Л И —НЕ, охваченных перекрестными обратными связями (рис. 2.29).
На условном обозначении триггера может присутствовать второй выход, обозначаемый Q. При работе триггера выходы Q и Q изменяются в соответствии с табл. 2.17.
При R = S = 0 (режим хранения) состояния триггера не изменяются; при R = О, S = 1 (режим установки) в него записывается единица независимо от предыдущего состояния; при R - 1, S = О независимо от предыдущего состояния триггер сбрасывается. Во всех этих режимах состояния выходов триггера инверсны. При R = S = 1 оба выхода триггера устанавливаются в нулевое состояние. Это состояние у абстрактного триггера (см. табл. 1.22) считается запрещенным. Переход из состояния Q = Q = 0 в режим хранения при входных сигналах R = S = 0 приводит к неопределенности — на выходах триггера с равной вероятностью можно наблюдать нуль или единицу. По этой причине и запрещ ена входная комбинация R = S= 1, переводящая триггер в состояние Q = Q = 0.
7?У-триггер можно собрать также и на логических элементах И —НЕ (NAND), как это показано на рис. 2.30.
Работа триггера описывается несколько измененной таблицей переходов (табл. 2.18).
Структурная таблица переходов триггера (см. табл. 2.18) аналогична табл. 2.17, если считать активным состоянием сигналов R и S логический нуль. Запрещенной в этом случае является комбина-
DD1Q
Q sS
DD2а б
Рис. 2.29. ftS-триггер на элементах ИЛИ—НЕ:а — схема; б — условное обозначение
77
Т а б л и ц а 2.17Структурная таблица переходов Л£-триггера на элементах ИЛИ—НЕ
Режим Входы RSВыходы Q Q
0 1 1 0 0 0Хранение 00 0 1 1 0 —Установка 01 1 0 1 0 1 0
Сброс 10 0 1 0 1 0 1Запрещено 11 0 0 0 0 0 0
ция R = S = 0, а при R = S= 1 триггер переходит в режим хранения. В наборах стандартной логики в одном корпусе микросхемы может быть собрано несколько /?£-триггеров с более сложной логикой.
/?£-триггер можно сделать синхронным. В этом случае он снабжается дополнительным входом синхронизации С {Clock) и реагирует на входы R n S только в заданные сигналом синхронизации моменты времени. Схема и условное обозначение такого триггера приведены на рис. 2.31.
При С = 0 на входах триггера переменные R = S = 0 и триггер находится в режиме хранения. При С= 1 схема работает как обычный /^-триггер .
Синхронный двухступенчатый /^-три ггер типа M S (M aster- Slave) имеет динамический вход синхронизации, обеспечивающий его переключения только в моменты переднего или заднего фронта импульса С. Схема такого триггера состоит из двух последовательно включенных синхронных триггеров, один из которых считается ведущим (M aster), а другой — ведомым (Slave). Сигналы синхронизации для двух триггеров DD1 и DD2 инверсны (рис. 2.32, а).
DD1
а
Рис. 2.30. ЛУ-триггер на элементах И—НЕ:а — схема; б — условное обозначение
78
Т а б л и ц а 2.18Структурная таблица переходов ^ S-триггера на элементах И—НЕ
Режим Входы RSВыходы QQ
01 10 11Запрещено 00 1 1 1 1 1 1Установка 01 1 0 1 0 1 0
Сброс 10 0 1 0 1 0 1Хранение 11 0 1 1 0 —
При единичном сигнале синхронизации С ведомый триггер DD2 находится в режиме хранения, а ведущий DD1 работает, как обычный синхронный /?£-триггер с Я-активным входом синхронизации. При установке на входе синхронизации С нулевого сигнала ведущий триггер DD1 переходит в режим хранения, а ведомый DD2 — в режим записи информации. Таким образом, изменение сигналов на выходах ведомого триггера возможно только в момент перехода импульса синхронизации из единичного состояния в нулевое (по заднему фронту импульса). Поскольку ведущий триггер работает в режиме записи все время, пока С = 1, на выходах ведомого триггера устанавливаются сигналы, соответствующие состоянию Л£-входов на момент заднего фронта импульса синхронизации. Условные обозначения двухступенчатых триггеров с активным передним и задним фронтом импульса синхронизации несколько различны (рис. .2.32, б).
Я-триггеры. Я-триггер бывает только синхронным. Он имеет вход данных Я (Delay) и вход синхронизации С (Clock) (рис. 2.33).
Такая схема триггера известна под названием «защелка» (Latch). При С = 0 он находится в режиме хранения, а при С = 1 — прозрачен: Q= D.
Я-триггер с динамическим входом синхронизации осуществляет запись по одному из фронтов импульса С. Схема триггера в
&
С_
S
Rs
— Q RS
Г
Рис. 2.31. Синхронный ЛУ-триггер: а — схема; б ■ vrnnnnnp пйтнячрннр
79
MasterDD1
DD3HH
SlaveDD2
S Т Q S Т 0.R Q (р------- RС С
S т 0. [R ...
С « у
Г - I FРис. 2.32. Двухступенчатый Л5-триггер:
а — схема; б — условное обозначение триггера с синхронизацией по заднему фронту; в — условное обозначение триггера с синхронизацией по переднему
фронту
этом случае имеет двухступенчатую структуру MS, аналогичную схеме двухступенчатого ^ -т р и гге р а .
В одном корпусе микросхемы стандартной логики может размещаться от двух до шести ^-триггеров (рис. 2.34). Входы синхронизации триггеров в ряде микросхем объединены.
Микросхема 7477 содержит две пары Latch-триггеров, каждая из которых имеет свой вход синхронизации. Активным уровнем сигналов синхронизации является логическая единица.
•В микросхеме 74174 шесть /)-триггеров с общим динамическим входом синхронизации и общим /.-активным входом сброса R. Активный фронт сигнала синхронизации С — задний. Триггеры работают в режимах записи и хранения при R = 1, а при R = О происходит их асинхронный сброс независимо от состояния всех остальных входов. '
Каждый D-триггер микросхемы 7474 снабжен установочными RS-входами. Он может работать в асинхронном или синхронном режиме. В асинхронном режиме триггеры управляются /.-активными входами R n S . При R = S = 1 они работают как динамические D-триггеры с синхронизацией по переднему фронту сигнала С.
а б
Рис. 2.33. Д-триггер:а — схема; б — условное обозначение
80
D Т 0— 0 74174 0
D Т 0 — 1 1— 0 7477 0 — — 2 2— 1 1 — — 3 3— С1 — 4 4
D Т Q — 5 5— 2 2 — —<
Г С_ 3 3 —— С2 - Г
—<> R
~D
S
R
~D—f r c
T7474
Q
Qfy—
Рис. 2.34. Примеры микросхем с D-триггерами
Ж -триггеры. Ж -триггеры всегда строятся по двухступенчатой схеме и имеют динамические входы синхронизации. У каждого триггера как минимум два информационных входа ( / и К), а также необходимый при такой структуре вход синхронизации С (Clock). Схема Ж -триггера (рис. 2.35, а) позволяет исключить присущие Л^-триггеру запрещенные состояния.
В отличие от ТХУ-триггера комбинация входных сигналов J= К = 1 (счетный режим) приводит к переходу Ж -триггера в новое состояние, противоположное исходному. Активным фронтом сигнала синхронизации могут быть как передний, так и задний фронты (рис. 2.35, б).
В микросхеме средней степени интеграций размещается обычно один или два Ж -триггера. Все они снабжаются Х-активными установочными Я^-входами (рис. 2.36). Х-активные входы R- и ^-триггеров предназначены для асинхронной установки соответственно в нулевое и единичное состояния. Запись информации с входов J и К микросхем производится по переднему фронту импульса на входе С только при RS= 11. У микросхемы 7471 входы J и К объединены логической функцией И.
D D 1&
&
г*
D D 2R Г QS
1C 3
Рис. 2.35. Ж-триггер:а — схема; 6 — условное обозначение триггера с синхронизацией задним фронтом; в — условное обозначение триггера с синхронизацией передним фронтом
81
RТ
7478 QQ <
J> с
к
sR ТJ Q
г r ик
s
R т7471& Q
/ Q <
*• С&К
5
Рис. 2.36. Микросхемы с /^-триггерами
а б
Рис. 2.37. /-триггер: а — схема; б — условное обозначение I
Г-триггеры. Г-триггер, или счетный триггер, всегда выполняется синхронным с динамическим входом синхронизации. Обычно он строится на основе /ЛГ-триггера, у которого объединяются входы / и К (рис. 2.37).
2.5.5. Последовательные логические схемы
Регистры
Регистр (Register) — элементарный автомат, предназначенный для временного хранения нескольких бит информации. Регистр всегда состоит из нескольких триггеров. Их число определяет объем хранимой информации или разрядность регистра. В зависимости от способа записи информации в регистр он может быть параллельным, последовательным или универсальным.
Параллельные регистры. Параллельный л-разрядный регистр имеет n-разрядную входную шину DI[0... п - 1], вход синхронизации С и л-разрядную выходную шину DO[0... п - 1] (рис. 2.38, а).
Синхронизироваться регистр может высоким или низким уровнем импульса синхронизации С, а также его передним или зад-
82
DIO
DU
D12
D13
D
D
D
' —£ ► СD
POO
D01
D02
D03
Рис. 2.38. Параллельный регистр: a — условное обозначение; б — схема
ним фронтом. В моменты синхронизации, независимо от предыдущего состояния регистра, в него записываются данные с входной шины DI[], Эти же данные отображаются на выходной шине DO [].
Схема параллельного регистра (рис. 2.38, б) обычно представляет собой набор D-триггеров с объединенными входами синхронизации. В моменты синхронизации схемы происходит запись информации с входов D /[0 ...3] одновременно во все триггеры.
На рис. 2.39 представлены некоторые распространенные отечественные микросхемы, выполняющие функции параллельных регистров. 6-разрядный регистр ИР18 снабжен дополнительным входом загрузки L (Load). Ввод информации в регистр производится при L = 0 по положительному фронту импульса синхронизации
DI RG DOИР18 ,
— 0 < 0— 1 1— 2 2— 3 3— 4 4— 5 5
—1>С
п
DI RG DO0 ИР35 0 —1 1 —2 2 —3 3 —4 4 —5 5 —6 6 —7 7 —
► С
Г
DI RG DO— 0 ИР37 0— 1 1— 2 2— 3 3— 4 4— 5 5— б 6— 7 7
—{►С
- s }ОЕ
Рис. 2.39. Примеры микросхем параллельных регистров
83
RG DODI 0
1
\ С п~1
Рис. 2.40. Условное обозначение последовательного
регистра
на входе С. При L = 1 ввод запрещается. Дополнительным входом регистра ИР35 является L- активный вход сброса R. Ввод данных в регистр осуществляется по заднему фронту импульса синхронизации С при R = 1. При R= 0 происходит асинхронное обнуление регистра. В регистре ИР37 для управления выводом данных предусмотрен вход разрешения ОЕ (Output Enable).
Запись информации в регистр происходит по положительному фронту импульса С независимо от состояния входа ОЕ, однако при ОЕ = 1 все выходы схемы переходят в высокоимпедан-
сное состояние.Последовательные регистры. Последовательный «-разрядный ре
гистр (регистр сдвига) имеет один вход для приема данных DI, вход синхронизации С и л-разрядную выходную шину DO [0... л - 1] (рис. 2.40). В моменты синхронизации содержимое памяти регистра сдвигается на один разряд, а в освободившийся разряд записывается информация с входа DI. Данные, выдвигаемые из крайнего разряда, теряются. Направления сдвига могут быть различными. Сдвигом вправо считается перемещение данных в сторону младших разрядов, сдвигом влево — перемещение данных в сторону старших разрядов.
Схема последовательного регистра состоит из нескольких соединенных последовательно Л-триггеров с динамической синхронизацией (рис. 2.41). Такой 4-разрядный регистр может хранить четыре бита информации. Запись каждого бита с входа D I в первый триггер происходит при поступлении импульса синхронизации на вход С. Таблица переходов регистра (табл. 2.19) полностью описывает процесс заполнения регистра входными данными.
Для полного заполнения л-разрядного регистра необходимо подать на его вход синхронизации л импульсов. После л-го импульса входная последовательность данных, поступивших на вход DI, оказывается записанной в регистр. Таким образом, последовательный регистр осуществляет преобразование последовательной информации в параллельную.
DOO D01 D02 D03
DI D г—е> с
-L -I D Т О u l -г-5>с —с> С
D г-Й»с
Рис. 2.41. Схема 4-разрядного последовательного регистра
84
Т а б л и ц а 2.19 Таблица переходов 4-разрядного регистра сдвига (сдвиг влево)
Вход ВыходыDI DOO D01 D02 D03
0 0 DOO D01 D02
1 1 0 DOO D01
Интегральные регистры сдвига могут иметь несколько входов для приема данных, объединенных простейшей логикой, и дополнительные входы сброса (рис. 2.42). Например, в регистре ИР8 запись и сдвиг информации производятся по переднему фронту импульса синхронизации С при R = 1. Записываемые данные подаются на входы DIO, DI1, объединенные логикой И. При R - О происходит обнуление регистра.
Универсальные регистры. Универсальные регистры обладают свойствами последовательных и параллельных схем. Они могут работать в различных режимах, обеспечивающих параллельную запись и сдвиг данных. Такие схемы зачастую снабжаются входами сброса и входами задания направления сдвига.
Восьмиразрядный регистр ИР9 (см. рис. 2.42) имеет //-активный вход параллельной загрузки L (Load) и два входа синхронизации: СО и С/. Данные в регистр в параллельном виде записываются с входов DI[0...7] при L = 0. При L = 1 осуществляется сдвиг данных вправо по переднему фронту импульсов синхронизации, поступающих на любой из входов (С / или С2). На вход DR при
DI&
01
—> сR
RG DOИР8 0
1234567
DI0123456 7
I-{j*С0 —I>С1
DR
RGИР9
D 0 7 - DI0123
ЖDL
—>с5051R
RGИР11
DO0123
Рис. 2.42. Примеры микросхем универсальных регистров
85
Т а б л и ц а 2.20Таблица режимов регистра
so S1 Режим0 0 Хранение
0 . 1 Сдвиг влево1 0 Сдвиг вправо1 1 Параллельный ввод
этом необходимо подавать данные, предназначенные для записи в младший разряд регистра.
4-разрядный регистр И Р 11 может работать в различных режимах, задаваемых по входам SO, S1 (табл. 2.20).
Параллельный ввод данных с входов Z>/[0... 3] происходит по переднему фронту импульса синхронизации С при R = 1. Сдвиг информации, поступающей с входа DL (сдвиг влево) или DR (сдвиг вправо), также осуществляется по переднему фронту сигнала С. При R = 0 происходит обнуление регистра.
Счетчики
Счетчик (Counter) — элементарный автомат, в котором состояние выходных переменных определяется числом поступивших на вход импульсов. Простейший счетчик имеет счетный вход С, вход сброса R и выходную «-разрядную шину данных DO [0... п - 1] для представления результата (рис. 2.43).
Счет обычно ведется в двоичном или двоично-десятичном коде. Если в процессе счета код на выходе счетчика возрастает, то счетчик называется суммирующим (Up-counter), если убывает, то вычитающим (Down-counter). Счетчик, у которого направление счета может меняться в процессе работы, считается реверсивным (U p/ Down counter). Основными параметрами счетчика принято считать разрядность и коэффициент (модуль) счета. Разрядность п определяется числом двоичных разрядов памяти счетчика, а ко
эффициент счета К — общим числом кодовых комбинаций, которые могут появиться на его выходах. В простейшем двоичном счетчике К = 2я, но вместе с тем известны и ш ироко используются схемы с произвольным значением К < 2". Например, двоично-десятичные счетчики имеют четыре разряда (п = 4) и коэффициент счета 10 (К = 10).
Суммирующий двоичный счетчик. Асинхронный суммирующий двоичный счетчик состо-
- f r С
- 9 *
СТ DO01
л-1
Рис. 2.43. Двоичный счетчик
86
DPI
т Т Q1 с
R
DOO
DD2
Т Т QС
R
D 01
DD3
Т Т QС
R
D02
Рис. 2.44. Схема асинхронного суммирующего двоичного счетчика
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
J LJ L_l 1 I 1 I I I 1 I 1 I LDOO
DOl- J LD02-
Рис. 2.45. Временные диаграммы работы двоичного счетчика
ит из цепочки последовательно соединенных счетных триггеров (рис. 2.44). Счетчик, представленный на рис. 2.44, — 3-разрядный. На Г-входы всех триггеров счетчика подан единичный разрешающий сигнал. Каждый триггер снабжен входом сброса R. Все Д-входы объединены, и на них подается сигнал сброса счетчика в нулевое начальное состояние. По заднему фронту импульсов синхронизации С триггеры изменяют свое состояние в соответствии с диаграммами, представленными на рис. 2.45.
Структурная таблица переходов счетчика (табл. 2.21) строится на основании рис. 2.45 при нулевых начальных состояниях выходов. !
С приходом каждого импульса двоичный код на выходе счетчика DO [2...0] увеличивается на единицу. 3-разрядный двоичный счетчик считает от DO [] = ООО до DO [] = 111. Восьмой импульс возвра-
Т а б л и ц а 2.21Структурная таблица переходов 3-разрядного двоичного счетчика
RDOl 3...0]
ООО 001 010 011 100 101 110 111
0 001 010 011 100 101 110 111 000
1 ООО 000 000 000 000 000 000 000
87
1 DOO D01 D02DD1 DD2 DD3
Т Т Q Т Т Q Т Т Qс —<\ С ----- <1 С ----- <1 С
R с)— R У R УR
Рис. 2.46. Схема асинхронного вычитающего двоичного счетчика
щает его в исходное состояние. В общем случае л-разрядный двоичный счетчик имеет 2” возможных кодовых комбинаций на выходах и, следовательно, его коэффициент счета равен 2я.
Вычитающий двоичный счетчик. В вычитающем счетчике, в отличие от суммирующего, при последовательном соединении триггеров используются их инверсные выходы (рис. 2.46).
При поступлении импульсов синхронизации С 3-разрядный код на выходах счетчика будет уменьшаться в соответствии со структурной таблицей переходов (табл. 2.22).
Реверсивный счетчик. В реверсивном счетчике направление счета может быть изменено. В схеме реверсивного счетчика задействуются триггеры с прямыми и инверсными выходами и комбинационная логика, обеспечивающая их переключение. По этому принципу построена изображенная на рис. 2.47 схема 3-разрядного реверсивного счетчика.
Счетчик имеет вход U/D для задания направления счета. При U/D = 1 он работает в режиме сложения, а при U/D = 0 — в режиме вычитания. Счетные импульсы поступают на вход синхронизации С; вход R предназначен для сброса счетчика. Структурная таблица переходов 3-разрядного реверсивного счетчика (табл. 2.23) описывает поведение счетчика во всех режимах.
Двоично-десятичный счетчик. Двоично-десятичные счетчики работают в bed-коде. Они имеют коэффициент сче+а 10 и отличаются от двоичных счетчиков наличием дополнительных логиче-
Т а б л и ц а 2.22Структурная таблица переходов вычитающего двоичного счетчика
RDO[ 2...0]
ООО 001 010 011 100 101 110 1110 111 ООО 001 010 011 100 101 110
1 ООО ООО 000 000 000 000 000 000
88
DOO D 01 D 02DD1 DD2 DD3
т Т Q1 сR
U/D-
& 1
&
T
DD4 DD51
&
T4 C
R
1
Рис. 2.47. Схема 3-разрядного реверсивного счетчика
ских связей, обеспечивающих переходы автомата в соответствии с таблицей bed-кода. На рис. 2.48 двоично-десятичный счетчик построен на четырех //Г-триггерах, причем один из них имеет два /-входа, объединенных логикой И.
Триггер DD1 в данной схеме при / = К = 1 работает в счетном режиме. Его состояние меняется с приходом каждого тактового импульса. У триггера DD2 на /-входе присутствует сигнал D03. Поэтому при D 03 = 0 триггер по заднему фронту сигнала DD0 будет переключаться, а при D 03 = 1 — устанавливаться в нулевое состояние.
На рис. 2.49 изменения сигнала D 01 происходят после второго, четвертого, шестого и восьмого импульсов, а после десятого импульса сигнал не изменяется. Триггер DD3, также как и DD1, работает в счетном режиме. Триггер DD4, вход синхронизации которого подключен к выходу триггера DD1, при DO2 - D 03 = 1 изменяет свое состояние по заднему фронту DOO, а при D 0 2 v D03 = = 0 устанавливается в нулевое состояние. До шестого импульса Q 2v Q3 = 0 и триггер DD4 хранит нулевое состояние; к моменту прихода восьмого импульса D 02 = D 03 = 1 и триггер опрокидывается в единичное состояние; после восьмого импульса снова D 02= О,
Т а б л и ц а 2.23Структурная таблица переходов 3-разрядного реверсивного счетчика
U/D RDO[ 2...0]
ООО 001 010 011 100 101 110 111
0 0 111 ООО 001 010 011 100 101 110
1 0 001 010 011 100 101 110 111 000
X 1 ООО 000 000 000 000 000 000 000
П р и м е ч а н и е . Символом «х» обозначено произвольное состояние.
89
DOO
DD1J Т 0ксR
£R
D01
DD2
£R
D02DD4
D03
DD3 JlJ2 К
r ^ T
Рис. 2.48. Схема двоично-десятичного счетчика
а после десятого импульса триггер DD4 вновь возвращается в нулевое состояние.
Структурная таблица переходов 4-разрядного двоично-десятичного счетчика (табл. 2.24) соответствует временным диаграммам, представленным на рис. 2.49.
Примеры микросхем двоичных счетчиков приведены на рис. 2.50.
В схеме счетчика ИЕ5 первый триггер работает как одноразрядный счетчик, а три последующих образуют 3-разрядный счетчик с коэффициентом счета 8. Для организации 4-разрядного счетчика необходимо выход DOO соединить с входом С2. Переключения счетчика происходят по задним фронтам импульсов синхронизации С1 и С2. В режиме счета необходимо выполнять условие R1 = = R2= 0. При R l = R2 = 1 счетчик обнуляется.
Счетчики микросхемы ИЕ19 также считают по задним фронтам импульсов на входах С при R = 0. При R = 1 происходит его обнуление.
Реверсивный счетчик ИЕ6 имеет раздельные входы суммирования CU и вычитания CD и, соответственно, разные выходы переноса: PU — при суммировании; PD — при вычитании. Предварительная запись данных в счетчик осуществляется с входов DI при L = 0. Счетчик обнуляется при R = 1.
1 2 3 4 5 6 7 8 9 10cJTJTJTJTJTJTJTJT_n_TL
DOO-
DOl-
D02-
D03- ~LРис. 2.49. Временные диаграммы работы двоично-десятичного счетчика
90
Т а б л и ц а 2.24 Структурная таблица переходов 4-разрядного
двоично-десятичного счетчика
R/Ю[3...0]
0000 0001 0010 ООН 0100 0101 0110 0111 1000 1001
0 0001 0010 ООП 0100 0101 0110 0111 1000 1001 1010
1 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Синхронные счетчики. Все рассмотренные ранее счетчики являются асинхронными. В них из-за временных задержек сигнала в логических элементах моменты переключения отдельных триггеров никогда не совпадают. Например, с приходом восьмого импульса (см. рис. 2.45) должны одновременно переключиться все четыре триггера схемы. В действительности из-за конечного времени переключения каждого элемента второй триггер переключится с некоторой задержкой относительно первого, третий — с задержкой относительно второго и т.д. Несмотря на то что время переключения современных схем не превышает десятков наносекунд, это может привести к нарушению работоспособности устройства в целом. Так, в рассматриваемом случае счетчик, находящийся в состоянии D O \\ - H I . после восьмого тактового импульса при переключении первого триггера попадает в состояние DO [] = 110, потом при переключении второго триггера — в состояние DO [] = 100, затем при переключении третьего триггера — в состояние DO [] = ООО, и только при переключении четвертого триггера — в нужное состояние DO [] = ООО.
В синхронных счетчиках импульсы синхронизации подаются одновременно на все триггеры. Чтобы с приходом каждого входного импульса не происходило одновременного переключения
—«а —<3
С1С2
~&ГR1R2
стИЕ5
DO0123
R
СТИЕ19
СТ
DO0123
DO0123
DI0123
—6 1 4>CD -&CU
R
СТИЕ6
DO0123
PU 6— PDo—
Рис. 2.50. Примеры микросхем двоичных счетчиков
91
всех триггеров, схему дополняю т логическими элементами И (рис. 2.51).
Каждый триггер схемы теперь может переключиться только при единичных состояниях всех предыдущих триггеров. Сигнал на выходе переполнения Р формируется при единичных состояниях всех четырех триггеров. Соединение выхода переполнения одного счетчика с входом разрешения следующего счетчика позволяет увеличивать разрядность без использования дополнительных цифровых схем.
Синхронные счетчики могут быть нереверсивными и реверсивными (рис. 2.52).
Счетчик ИЕ18 при L = 0 по переднему фронту импульса С записывает информацию с входов Z )/[3 ...0]. Режим счета устанавливается при условии R = L= E l = Е2= 1. Положительный фронт импульса переполнения на выходе Р формируется при переходе счетчика в состояние DO[3 ...0] = 1111.
Реверсивный счетчик ИЕ13 также при L = 0 по переднему фронту импульса С записывает данные с входов D I [3... 0]. Счет разре
DI СТ DO— 0 ИЕ18 0— 1 1— 2 2— 3 3
| L Р <> С
— Е1— Е2
ч R
DI0
СТИЕ13
DO0 _
1 1 —2 2 —3 3 —
) L Р (> СU/DЕ
Рис. 2.52. Примеры синхронных счетчиков
92
шается при Е = 0. При U/D = 1 счетчик работает в режиме сложения, а при U/D = 0 — в режиме вычитания.
2.6. Программируемая логика
Микросхемы программируемой логики — это большие интегральные схемы, позволяющие программно скомпоновать в одном корпусе электронную схему, содержащую сотни элементов простейшей логики.
Микросхемы интенсивно развиваются в двух направлениях:• микросхемы GA (Gate Array), или вентильные матрицы, —
размещенные на кристалле наборы полупроводниковых элементов, позволяющие пользователю создавать различные логические элементы и схемы на их основе; соединения между элементами могут быть запрограммированы производителем или пользователем;
• микросхемы PLD (Programmable Logic Device) — размещенные на кристалле матрицы логических элементов и элементов памяти, соединения между которыми могут быть запрограммированы пользователем.
2.6.1. Микросхемы GA!
Микросхема GA представляет собой набор размещенных на кристалле базовых ячеек, между которыми оставлены зоны для последующего создания соединений. Соединения элементов микросхемы могут выполняться изготовителем микросхем по масочной технологии или непосредственно потребителем. Микросхемы GA могут быть двух типов: M PGA и FPGA.
Микросхемы MPGA. Микросхемы M PGA (Mask Programmable Gate Array) являются вентильными матрицами, программирование которых выполняет производитель микросхем по специальному заказу, используя технологии производства больших интегральных схем.
М ассив базовых ячеек микросхемы M PGА размещается в центральной части матрицы, а по периферии размещаются периферийны е ячейки, из которых могут быть созданы входные и выходные каскады микросхемы. Из элементов базовых ячеек на кристалле может быть сформирован один логический элемент, а для реализации более сложных функций используется несколько ячеек.
Например, микросхема, представленная на рис. 2.53, содержит матрицу из 12x8 = 96 базовых ячеек. Периферийная часть вентильной матрицы содержит 44 периферийных ячейки с кон-
93
Питание 5 и 2,5 В Базовые ячейки
□□□□□□□□□□□
п п п п й ^ й п п п пI □аааа
□ааааан
Контактные площадки | Периферийные ячейки
- Рис. 2.53. Пример размещения элементов в вентильной матрице
тактными площадками и отдельные контакты для подключения источников питания.
Каждая базовая ячейка микросхемы M PGA состоит из идентичных наборов транзисторов, диодов и резисторов, позволяющих простроить различные логические элементы. Набор элементов периферийной ячейки ориентирован на построение схем входных и выходных каскадов микросхем.
Логическим блоком микросхемы M PGA считается схема, реализуемая путем соединения элементов в пределах одной или нескольких базовых ячеек, блоком ввода-вывода — схема, реализуемая на элементах периферийных ячеек.
Для каждого кристалла вентильной матрицы производителем разрабатывается библиотека логических блоков и блоков ввода- вывода, используемых при проектировании схем. Библиотека размещается на базовых ячейках с помощью металлизированных соединений элементов, выполненных в соответствии с электрическими схемами блоков. Для проектирования металлизированных соединений в вентильную матрицу вводится сетка проектирования, имеющая фиксированный шаг по вертикали и горизонтали. При трассировке соединений используются вертикальные и горизонтальные каналы между колонками базовых ячеек. Проектирование металлизированных соединений осуществляется с помощью специализированных систем автоматизированного проектирова
94
ния (САПР), разрабатываемых изготовителями вентильных матриц. Используемые при проектировании САПР, как правило, включают в себя синтез функциональной электрической схемы на основе базовых функциональных ячеек, логическое моделирование, синтез тестов контроля, разработку топологии межсоединений, расчет электрических параметров и моделирование работы схемы с учетом реальной топологии межсоединений, изготовление фотошаблонов, изготовление и испытания опытных образцов.
Изготовители предлагают целые ряды микросхем M PGA с различным числом логических элементов. Изделия каждого ряда могут иметь различные значения быстродействия и потребляемой мощности, изготавливаться по различным проектным нормам, иметь различное число выводов. В табл. 2.25 приведено несколько примеров таких рядов.
Такое разнообразие микросхем позволяет потребителю выбирать кристалл, наилучшим образом соответствующий проектируемой схеме. Изготовление микросхемы на основе выбранного кристалла по заказу потребителя производится изготовителем вентильной матрицы на специализированном оборудовании.
Микросхемы FPGA Микросхемы FPGA (Field Programmable Gate Array), как и вентильные матрицы типа MPGA, состоят из множества логических блоков и блоков ввода-вывода, связанных между собой посредством коммутационных блоков. В отличие от вентильных матриц логические блоки, блрки ввода-вывода и коммутационные поля микросхем FPGA конфигурируются при загрузке в
Т а б л и ц а 2.25Ряды микросхем MPGA
Фирма Размер элемента, мкм
Число типов в ряду
Число элементов
на кристалле
Время задержки
элемента, не
LSI 3 ; 7 880 ...6 ООО 2,2
Logic 2 23 554... 10013 1,4
1,5 18 980... 129 042 1,1Ferranti 3 6 130... 2 000 2,5
11 130...4 000 7,5
7 130...2 000 15
13 400... 10 000 15
8 400... 4 000 3
8 400... 4 000 10
95
Т а б л и ц а 2.26Сравнительные характеристики микросхем FPGA
Семейство Емкость памятиЧисло
логическихблоков
Числотриггеров
Числовходов-выходов
ХС4000 3 200... 100 352 бит
100...3 136 360...7 168 80... 448
Spartan 100... 784 До 2 • 103 80... 224
Spartan-II 16...56 Кбит 96 ...1 176 86... 284
Virtex 32... 128 Кбит 384...6 144 До 3,9 • 104 180...512
Virtex-II 72...3456 Кбит 64... 15 360 До 1,9 ■ 10б 88... 1 108
микросхему битовой последовательности (bit stream), полученной в результате разработки схемы. Конфигурационная последовательность может быть загружена в микросхему непосредственно в системе и перезагружена неограниченное число раз. Загрузка м икросхем производится автоматически из специальной загрузочной памяти при подаче напряжения питания или принудительно по специальному сигналу.
Логические блоки таких микросхем состоят из одного или нескольких относительно простых логических элементов, в основе которых лежат таблицы перекодировки, программируемые мультиплексоры, О-триггеры и цепи управления. Логический блок может выполнять любую логическую функцию в соответствии с заданной битовой последовательностью. Изменять выполняемую функцию можно неограниченное количество раз путем загрузки в микросхему другой битовой последовательности.
Число логических блоков у современных микросхем FPGA емкостью до 1 млн вентилей достигает нескольких десятков тысяч. Они также могут иметь встроенные реконфигурируемые модули памяти. К классу FPG A относятся микросхемы ХС2000, ХС3000, ХС4000, Spartan, Virtex фирмы Xilinx; АСТ1, АСТ2 фирмы Actel. Сравнительные характеристики ряда семейств микросхем FPGA фирмы Xilinx приведены в табл. 2.26.
2.6.2. Микросхемы PLD
Микросхемы PLD представляют собой размещенные на кристалле матрицы логических элементов и элементов памяти, соединения между которыми могут быть запрограммированы пользователем. Такие кристаллы позволяют пользователю с помощью специализированных программаторов синтезировать различные циф
96
ровые схемы как комбинационного, так и последовательностного типов.
Основными критериями классификации современных микросхем PLD являются вид и способы коммутации элементов логических матриц. По этому признаку выделяют несколько типов микросхем: PLA (Programmable Logic Array), PAL (Programmable Array Logic), CPLD (Complex Programmable Logic Devices).
Микросхемы PLA. Микросхемы PLA, или программируемые логические матрицы (ПЛМ ), имеют в своем составе матрицу логических элементов И и матрицу логических элементов ИЛИ (рис. 2.54).
В микросхеме матрица логических элементов И имеет п входов, 2п строк и т столбцов. Элементами связи в матрице И служат диоды, соединяющие строки со столбцами. Совместно с резистором и источником питания на каждом столбце образуется диодный элемент И, к входам которого подключены в прямом или инверсном виде входные сигналы А^О.../! - 1]. При изготовлении микросхемы диоды в матрице устанавливаются во всех точках пересечения, а при программировании лишние соединения пережигаются. На схеме матрицы И (см. рис. 2.54) оставленные после программирования соединения обозначены точками. После программирования на выходах матрицы И образуется т минтермов /[0... т - 1], которые подаются на программируемую матрицу элементов ИЛИ.
Us
хо-XI-
Х2-
Хп-1-
- с
~ £
г п —— — Мг 4 " -------- 1—
[атрица И1 А—
Ц у -
U j t -*0 '1 h Л -i
Н - — , 1
1—I
— , j
1
11 Матрица
1и л и 1
ч. „
' А ' & 1Л-i
Рис. 2.54. Микросхема PLA
4 Водовозов 97
М атрица элементов ИЛИ имеет т столбцов и к строк. Элементами связи в матрице ИЛИ служат биполярные транзисторы, включенные по схеме эмиттерного повторителя. При изготовлении микросхемы транзисторы устанавливаются на всех точках пересечения строк и столбцов матрицы ИЛИ, а при программировании лишние соединения пережигаются. На рис. 2.54 оставленные при программировании соединения показаны точками. Все транзисторы, подключенные к одному резистору строки, реализуют на выходе матрицы логическую функцию ИЛИ от подключенных к данной строке минтермов.
В результате микросхема PLA способна реализовать к логических функций от п переменных, заданных в дизъюнктивной нормальной форме с числом минтермов не более т. Запрограммированная на рис. 2.54 схема воспроизводит следующие функции:
/о - *о • * • Х 2... v Х х ■... • Х п_х v Х й ■ Х х ■... • Х п_х,
f = Х 0 ■ Х х ■ Х 2 ■... • Х п_х v Х 0 ■ Х х ■ Х 2...\
f k_x = X 0 .X l -X 2. . . v X 0 X 1.. . . - X n_l .
Микросхема PLA типа К556РТ2 (рис. 2.55) может реализовать восемь логических ф ункций Z)0[O...7], содержащих не более
48 терм ов, от 16 входных перем енны х D I [0... 15]. Входы Е (Enable) и CS (Chip Select) обеспечивают работу и программирование микросхемы.
Общим недостатком микросхем PLA, ограничивающим их использование и развитие, является отсутствие памяти и плохое использование ресурсов программируемой матрицы ИЛИ. На таких микросхемах можно реализовать только сравнительно простые комбинационные схемы.
Микросхемы PAL. Микросхемы PAL, или программируемая матричная логика, имеют программируемую матрицу элементов И, фиксированную матрицу элементов ИЛИ, специализированные макроячейки и цепи обратной связи, связывающие выходы схемы с входами матрицы И (рис. 2.56). М акроячейки могут включать в себя шинные формирователи с тремя выходными состояниями, триггеры, мультиплексоры.
Рис. 2.55. Микросхема М акроячей ки в виде буферов с трем я PLA типа К556РТ2 выходными состояниям и позволяю т пост-
DI PLA DO— 0 556РТ2
01 1
— 2 2— 3 3— 4 4— 5 5— 6 6— 7 7— 8— 9— 10— 11— 12 Us— 13 GND— 14— 15— Е- • > CS
98
Выходы-
Рис. 2.56. Структура микросхемы PAL
роить схему, в которой часть выводов можно сделать двунаправленными. При этом такой вывод можно запрограммировать либо как вход, либо как выход, либо как вывод, направление передачи информации по которому в процессе работы меняется в зависимости от данных на входе. Например, микросхема KP1556XJI8 с макроячейками в виде шинных формирователей имеет 10 входов DI[0... 9], два выхода DOO и D 0 7 и шесть двунаправленных выводов DO[ 1...6]. При программировании число входов может быть увеличено до 10, а число выходов — до 8.
М акроячейки с памятью в виде триггеров превращают микросхему PAL в классический конечный автомат, описанный в под- разд. 1.5. Например, микросхема КМ1556ХП8 (рис. 2.57) содержит восемь макроячеек с триггерами типа D и может реализовать конечный автомат, имеющий 10 входов DI[0...9], восемь выходов DO[0... 7] и 28 внутренних состояний. Активным фронтом сигнала синхронизации микросхемы С является передний фронт, /.-активный вход выборки микросхемы CS (Chip Select) обеспечивает ее
DI0123456 078
9
CS
PAL
1556ХР8
DO
0123456 7
UsGND
Рис. 2.57. Микросхема PAL типа KP1556XJI8
99
Т а б л и ц а 2.27Сравнительные характеристики микросхем PAL
Тип PAL (фирма-разработчик)
Степень сложности (вентилей) Число выводов Число
триггеров-PAL16L4 (AMD) 300 20 0PAL16R4'(AMD) 300 20 4
PAL16R6 (AMD) 300 20 6
PAL16R8 (AMD) 300 20 8
85C220 (Intel) 300 20 8
85C060 (Intel) 600 24 16
85C090 (Intel) 900 40 24
включение и выключение. При CS= 1 на всех выходах схемы присутствует высокоимпедансное состояние.
Программирование микросхем программируемой матричной логики осуществляется аналогично программированию PLA.
За счет различных связей между элементами схемы PAL позволяют реализовать довольно сложные устройства. На PAL без триггеров возможно построение только комбинационных схем, таких как дешифраторы, мультиплексоры, сумматоры. PAL с триггерами позволяют также строить счетчики, управляющие автоматы, контроллеры. Проектирование схем на основе PAL возможно только на основе специализированных систем автоматизированного проектирования, поставляемых разработчиком микросхемы. Для программирования микросхем используются программаторы, поставляемые вместе с пакетом САПР.
При изготовлении PAL используются в основном TTL- и CMOS- технологии. Степень сложности микросхем принято оценивать
100
Рис. 2.58. Структура микросхемы CPLD
Т а б л и ц а 2.28Сравнительные характеристики микросхем CPLD
Семейство Числомакроячеек
Числоэквивалентных
вентилейЧисло
триггеровЧисло
входов-выходов
МАХ7000 32...256 600... 5 ООО — 36... 164
МАХ9000 320...560 6 000... 12 000 484... 772 168...216
ХС9500 36... 288 800...6 400 36...288 34... 192
числом эквивалентных логических элементов И —НЕ (вентилей), хотя таких элементов в чистом виде в микросхемах нет. Сравнительные данные ряда зарубежных и отечественных микросхем PAL приведены в табл. 2.27. Все рассмотренные микросхемы PAL содержат небольшое число ячеек памяти и применяются при реализации относительно простых устройств, для которых не существует готовых схем стандартной логики.
Микросхемы CPLD. Микросхемы CPLD, или программируемые коммутируемые матричные блоки, предназначены для построения сложных цифровых автоматов с большим числом ячеек памяти. Микросхемы состоят из большого числа функциональных блоков, выполненных по структуре PAL, блоков ввода-вывода (ЮВ — Input/O utput Block) и программируемой матрицы межсоединений (PIA — Programmable Interconnect Array) (рис. 2.58).
Блоки ввода-вывода обеспечивают электрическое согласование внутренних и внешних сигналов микросхемы. Матрица межсоединений позволяет объединить выход любого функционального блока PAL со входами других блоков.
Микросхемы CPLD имеют высокую степень интеграции (до 10 ООО эквивалентных вентилей, до 256 макроячеек). К этому классу относятся микросхемы семейств МАХ5000, МАХ7000 и МАХ9000 фирмы Altera, схемы ХС7000 и ХС9500 фирмы Xilinx, а также большое число микросхем других фирм-производителей (Atmel, Vantis, Lucent и др.). Сравнительные характеристики микросхем CPLD приведены в табл. 2.28.
2.6.3. Программирование логики
Появление микросхем программируемой логики большой емкости привело к развитию средств автоматизации проектирования. Для программирования микросхем используются специализированные языки описания аппаратуры (H D L — Hardware Description Language) и программы автоматизированного синтеза циф
101
ровых схем, осуществляющие перевод текстового описания в описание схемы на заданном элементном базисе. Современные языки описания аппаратуры допускают описание проектируемого устройства как с точки зрения его поведения, так и с точки зрения структуры. Автоматизированное проектирование схемы выполняется в несколько этапов.
На первом этапе проектирования осуществляется описание структуры микросхемы. Большинство систем автоматизированного проектирования поддерживает иерархическое описание проектов, при котором сложный проект представляется как совокупность более простых проектов. При этом пользователю предлагается большой набор библиотечных элементов, которые можно использовать при проектировании. В набор библиотечных элементов входят:
• классические цифровые элементы (логические элементы, мультиплексоры, дешифраторы, счетчики, регистры, триггеры и др.) с фиксированной или переменной разрядностью;
• микросхемы стандартной логики;• типовые узлы цифровых систем, разработанные производи
телем микросхем;• элементы, созданные другими проектировщиками.Описание проекта осуществляется на языке H D L с использо
ванием библиотек.На втором этапе проектирования осуществляется компиляция
проекта. При компиляции проверяется корректность описания отдельных элементов и их соединений, производится логическая минимизация функций. В процессе компиляции проект размещается в выбранной микросхеме. На любом этапе компиляции могут возникнуть ошибки, которые необходимо исправить до перехода к следующему этапу. В результате компиляции проекта формируется загрузочный файл для программирования микросхемы. Одновременно создается файл отчета, содержащий всю информацию о процессе компиляции и его результатах.
Заключительный этап проектирования — верификация проекта, предусматривающая моделирование проекта в системе, определение его временных характеристик, организацию натурных экспериментов. Для исследования проекта на стадии моделирования в САПР используются редакторы временных диаграмм и процедуры симуляции. Пользователю предоставляется возможность описать входные сигналы микросхемы, а программа симуляции отображает ее выходные сигналы, сформированные в заданных условиях.
2.7. М икросхемы памяти
Микросхемы памяти предназначены для хранения больших объемов цифровой информации. Они состоят из отдельных ячеек
102
памяти, объединенных в массив с определенным числом строк и бит в строке.Число бит в строке определяет разрядность памяти. Строки массива нумеруются, номер строки считается ее адресом. Общее число строк задает адресное пространство (рис. 2.59).
Объем записываемой и хранимой в памяти информации определяет емкость микросхемы, которую обычно измеряют в битах, байтах (1 байт = 8 бит), килобитах (1Кбит = 210= 1024 бит), мегабитах (1 Мбит = 220= 1 048 576 бит) и гигабитах (1 Гбит = 230= 1 073 741 824 бит). Емкость микросхемы памяти рассчитывается как произведение числа строк т на разрядность я. Например, микросхема, имеющая 4 • 220 строк разрядностью 8 бит, имеет емкость 22х 220 х 2 3= 225 бит = 32М бит == 4 Мбайт.
К ячейкам в микросхеме организуется доступ для выполнения операций чтения (Read) и записи (Write). При выполнении любой из названных операций задается адрес строки; одновременно доступными при этом являются все биты выбранной строки.
2.7.1. Классификация
Основными признаками, берущимися за основу при классификации микросхем памяти, обычно являются назначение, способность хранить информацию при отсутствии питания, способ синхронизации и организация интерфейса при записи и чтении данных.
По назначению микросхемы памяти подразделяются на две группы: постоянная и оперативная память. Постоянная память (ROM — Read Only Memory) допускает в процессе работы только чтение информации.
Для записи данных в такую память необходимы специальные средства. Постоянная память обычно энергозависима, она способна хранить информацию при отключении питающего напряжения. Оперативная память (RAM — Random Access Memory) обеспечивает в процессе работы как чтение, так и запись данных. Обращение к любой ячейке памяти RAM производится по ее адресу в произвольном порядке.
Оперативная память обычно энергозависима, она способна хранить данные только при включенном источнике питания. При
Разряды я-1 • ■ • 3 2 1 0
0 1 2 3
та Ао 401
т - 2
т - 1
Рис. 2.59. Организация микросхемы памяти
103
отключении источника питания, даже кратковременном, вся информация в энергозависимой памяти теряется.
Память может быть асинхронной или синхронной. Асинхронная память обеспечивает доступ к данным в любой момент времени по сигналам записи (Write) и чтения (Read), поступающим извне. Синхронная память обеспечивает доступ к данным только в ф иксированны е моменты времени, задаваемые внеш ним генератором синхронизации. Активным при этом может быть лю бой уровень сигнала синхронизации, его передний или задний фронт.
По организации интерфейса память может быть параллельной или последовательной. Параллельная память осуществляет обмен данными в параллельном формате. Для выполнения операций записи и чтения такая микросхема снабжается шиной данных с числом линий, равным разрядности матрицы памяти. Последовательная память осуществляет обмен данными в последовательном формате. Число линий связи для подключения микросхемы к другим изделиям в таких микросхемах незначительно (2 ...4 линии).
2.7.2. Микросхемы ROM
Память типа ROM предназначена для хранения и чтения данных, записанных в нее предварительно. Процессы записи данных в такую память сложны, связаны с выполнением специальных процедур, иногда на специализированном оборудовании, и сравнительно медленны. Память типа ROM, как правило, энергонезависима и обеспечивает произвольный доступ к ячейкам.
В зависимости от способа программирования и технологии изготовления все микросхемы энергонезависимой памяти подразделяются на несколько групп:
• maskROM (mask ROM) — масочные микросхемы, программируемые на стадии изготовления с помощью фотошаблонов;
• OTPROM (One Time Programmable ROM ) — однократно программируемые пользователем микросхемы;
• EPROM (Erasable Programmable ROM) — репрограммируемые микросхемы, допускающие стирание информации и повторное программирование;
• EEPROM (Electrically EPROM ) — репрограммируемые м икросхемы с электрическим стиранием;
• Flash-memory (Flash-память) — разновидность EEPROM с особой технологией построения запоминающих ячеек.
Микросхемы ROM обычно имеют структуру в виде двумерной прямоугольной матрицы размерностью 2кт (рис. 2.60), где к — число разрядов шины адреса; 2к — число строк матрицы; т — число столбцов матрицы.
104
т - 1
Л[0...*-1] --г-
к
ЕЬ1
db db --•db
db2
db db ... db
; А-2*-1
db db ---db
6 - db db - - d b
Усилитель чтения
! 1 \ я СЕ ОЕ ЯО[0...т-1]
Рис. 2.60. Структура микросхемы ROM
Деш ифратор адреса в соответствии с полученным адресом A [Q ...k - 1] активизирует одну из 2к строк матрицы, разрешая доступ ко всем элементам выбранной строки. Данные из ячеек памяти выбранной строки по вертикальным шинам поступают на усилитель чтения, который по сигналу выбора микросхемы СЕ (Chip Enable) и сигналу чтения ОЕ (Output Enable) передает их на выходную шину данных D [0... т - 1]. Если микросхема не выбрана L-активным сигналом CS, то ее выходная шина данных находится в высокоимйедансном состоянии. Типовая временная диаграмма работы микросхемы ROM приведена на рис. 2.61.
Основной временной характеристикой ROM считается время доступа tA (time Access), отсчитываемое от момента выбора микро-
Ж0...Л-1]
СЕ
2)0 [0...т-1]
IXV
3 dL
j
Рис. 2.61. Временные диаграммы чтения ROM
105
схемы до момента появления данных на выходе. Если адрес изменяется после выбора микросхемы, то время доступа отсчитывается от этого момента. Время доступа для различных микросхем ROM обычно находится в пределах 30...200 не.
Для изготовления микросхем ROM используют как биполярные, так и CM OS-технологии. Простейшие элементы в микросхемах памяти maskROM представляют собой диодную или транзисторную перемычку между строкой и столбцом. На рис. 2.62 показано несколько вариантов таких запоминающих элементов.
В любой из схем (см. рис. 2.62) при выборке строки на разрядную шину попадает положительное напряжение, соответствующее уровню логической единицы. Если на пересечении строки и разрядной шины элемент памяти отсутствует, то при выборке строки сигнал высокого уровня на разрядную шину не попадает.
Микросхемы maskROM. Микросхемы maskROM программируются изготовителем только один раз и имеют стандартные прошивки. Обычно это коды букв различных алфавитов, таблицы математических функций, стандартные коды обмена информации, знакогенераторы в некоторых моделях устройств индикации. Быстродействие микросхем maskROM очень высокое, их время доступа (30...70 не) сравнимо с временем доступа микросхем оперативной памяти.
В настоящее время такие микросхемы находят очень ограниченное применение.
Микросхемы OTPROM . Однократно программируемые микросхемы OTPROM по принципу построения и функционирования аналогичны микросхемам maskROM, но в отличие от последних имеют режим программирования. Операция программирования заключается в избирательном разрушении (пережигании) части плавких перемычек, включенных в элементы памяти. Плавкие перемычки представляют собой небольшой участок металлизации, который расплавляется при программировании импульсами тока. Для пережигания перемычки необходимо пропустить через транзистор серию импульсов тока 20...50 мА по специальной методике, причем каждый тип OTPROM требует установки своих параметров при программировании. Программирование выполняется
Выборка строки
а б в
Рис. 2.62. Элементы памяти maskROM: а — диод; б — биполярный транзистор; в — полевой транзистор
106
сразу со всей матрицей микросхемы по заданной таблице прошивки с помощью специальных приборов — программаторов. М етодика п рограм м ирования предусм атривает подачу 40... 100 импульсов программирования, проверку записанной информации и обязательную термическую тренировку запрограммированной микросхемы при определенной температуре (около 100 °С).
Набор сигналов управления у микросхем OTPROM (рис. 2.63) обычно не отличается от набора сигналов maskROM. При программировании для записи данных используются выходные ли нии DO[0... 7]. Время доступа микросхем OTPROM обычно находится в пределах 50 ...200 не.
Микросхемы EPR O M . Микросхемы EPROM способны к многократному (от 100 до 10 млн циклов) перепрограммированию. В качестве элементов памяти в таких микросхемах используются бистабильные транзисторы со структурой MNOS (Metal — N itride — Oxide — Semiconductor).
В транзисторах M NOS диэлектрик под затвором транзистора состоит из двух слоев. При высоком (около 30 В) напряжении на затворе происходит туннельное перемещение носителей заряда через очень тонкий слой оксида кремния к границе двух диэлектриков. На границе диэлектриков образуется заряженный слой, который влияет на пороговое напряжение MOS-транзистора.
Эквивалентная схема элемента памяти EPROM представлена на рис. 2.64. Если заряд на плавающем затворе отсутствует, то пороговое напряжение транзистора близко к нулю. При отрицатель
А OTPROM DO556РТ16--- 0 0 —
12
12 1
~~п~п
34
34 __
— 5 5 —— 6 6 —
— 78
7
— 910
— 11 Us —— 12 GND —
| СЕ
Рис. 2.63. Микросхема OTPROM емкостью 213х8
Строка
Столбец
Рис. 2.64. Элемент памяти EPROM
107
ном заряде на плавающем затворе пороговое напряжение полевого транзистора увеличивается до нескольких вольт. Записанная в такой элемент памяти информация может храниться годами, поскольку путей для утечки заряда практически нет.
В режиме считывания на шину строки приходит единичный сигнал. В выбранной строке транзистор элемента памяти может быть закрыт или открыт, в зависимости от заряда на плавающем затворе. По разрядной шине столбца будет протекать ток при хранении логического нуля (транзистор откроется) или же ток будет отсутствовать при хранении логической единицы (транзистор заперт). Ток столбца воспринимается и усиливается усилителем считывания. В режиме записи в ячейку логической единицы на шину выбранного столбца подается высокое (порядка 10 В) напряжение, на шину выбранной строки подается еще более высокое напряжение. Поскольку напряжение на затворе превышает напряжение на стоке транзистора, то в пленке оксида создается высокая напряженность электрического поля и электроны, инжектированные в оксид, дрейфуют к плавающему затвору и накапливаются в нем. Ток, проходящий через диэлектрик, очень мал, поэтому время программирования велико (около 1 мс).
Стирание информации (удаление электронов с плавающего затвора) производится путем облучения кристалла ультрафиолетовым излучением, для чего в корпусе микросхемы предусматривается окно с кварцевым стеклом. Под действием излучения электроны приобретают энергию, достаточную для перехода с плавающего затвора в оксид. Затем они дрейфуют в подложку. Стирание микросхемы происходит в течение нескольких минут. Время сдирания зависит от расстояния до источника облучения, его мощности и объема микросхемы (более емкие микросхемы стираются быстрее).
Наиболее популярные микросхемы EPROM имеют восьмибитную организацию и выходы с тремя состояниями. Производством
Т а б л и ц а 2.29Примеры микросхем EPROM
Объемпамяти
Организация памяти
Типмикросхемы
Объемпамяти
Организация памяти
Типмикросхемы
16 Кбит 2и х8 2716 512 Кбит 216х8 2751232 Кбит 212х8 2732 1 Мбит 217х8 27010
64 Кбит
00Xcs 2764 2 Мбит 218х8 27020
128 Кбит 2и х8 27128 4 Мбит 219х8
256 Кбит 215х8 27256 8 Мбит 220 х 8
108
микросхем EPROM занимается большинство ведущих производителей м и кроэлектрон и ки , таких как In te l, A M D , Siem ens, Motorola, Atmel. Отечественные микросхемы сосредоточены преимущественно в серии 573. В табл. 2.29 приведены данные микросхем EPROM фирмы Intel.
Несколько микросхем EPROM изображено на рис. 2.65. Типовое назначение их выводов имеет следующий смысл:
• СЕ (Chip Enable) — выбор микросхемы: низкий уровень сигнала разрешает обращение к микросхеме, высокий уровень сигнала переводит микросхему в режим пониженного энергопотребления;
• ОЕ (Output Enable) — разрешение работы выходных буферов. Низкий уровень разрешает чтение данных из микросхемы. У неко-
A EPROM DO27020
— 0 0 —12
12
z 34
34 z
— 5 5 —— 6 6 —
А EPROM DIO 7 7 —2716
--- 0 0 — 8— 1 1 — — 9— 2 2 — — 10__ 3 3 11
Us —__ 4 4 _ — ■■■■■ 12■ GND ----— 5 5 ---- --- 13— 6 6 ---- — 14— 7 7 ---- — 15— 8 — 16---- 9 — 17— 10 — (» OE
' ОЕ i CE> СЕ Us — PGM
GND—— иР Up
Рис. 2.65. Примеры микросхем EPROM
109
СЕ
ОЕ
Я0[О...т-1]
Л[0...*-11
VЛ
ЧtOE
tCE1АСС
CLLL
i t :tOH
Рис. 2.66. Временные диаграммы чтения микросхем EPROM
торых типов микросхем на этот же вывод в режиме программирования подается программирующее напряжение UP;
• DIO [0...7] (Data Input/O utput) — двунаправленные линии шины данных, используемые как выходы при чтении и как входы при программировании. Время доступа при чтении данных отсчитывается от момента установки адреса или сигнала СЕ;
• А [ 0 . . .£ - 1] (Address) — входные линии шины адреса;• PGM (Program) — импульс программирования (некоторые
микросхемы не имеют такого входа, их программирование осуществляется по сигналу СЕ при высоком уровне UP;
• Up (Voltage Programming) — программирующее напряжение питания (для некоторых типов микросхем — импульс);
• Us — напряжение питания микросхем;• GND (Ground) — общий провод.При обращении для чтения на адресные входы микросхем
А [0... к - 1] подается код адреса, на входы СЕ и ОЕ — напряжение низкого уровня. Напряжение на входе UP устанавливается равным напряжению питания Us. Считываемые данные появляются на выходах DIO [0...7]. Типовые временные диаграммы сигналов в режиме чтения приведены на рис. 2.66.
У современных микросхем EPROM время доступа tACC и tCE составляет 50... 100 не, tOE — от 20 до 50 не, время удержания tO H равно 5... 7 не.
Режимы программирования у микросхем разных производителей могут быть различны. Например, у микросхем Atmel при обращении для записи (программирование) на вход Us подается напряжение 6,5 В, на вход UP — напряжение 13 В. Запись производится при низком уровне напряжения на входе СЕ и PGM и высоком уровне напряжения на входе ОЕ.
Микросхемы EEPROM. Микросхемы с электрическим стиранием EEPROM обеспечивают работу энергонезависимой памяти
110
в режиме перепрограммирования в системе. Они допускают многократное перепрограммирование от одного источника питания без изъятия из устройства, в котором установлены. Гарантийный срок хранения информации — несколько лет. Микросхемы используются там, где не требуется произвольный порядок доступа и частое обновление данных. Они характеризуются высокой скоростью доступа при чтении и относительно низкой скоростью записи. Число циклов записи хотя и велико, но ограничено (как правило, не менее 10 ООО). Перед выполнением записи новых данных требуется выполнить стирание ранее записанного массива. Это неудобно и занимает много времени. В структуре EEPROM предусмотрены коммутаторы режимов и формирователи импульсов требуемой амплитуды и длительности для работы в режимах программирования и стирания. Микросхемы могут иметь различные интерфейсы для записи и чтения данных. В зависимости от интерфейса микросхемы подразделяются на две группы:
• Parallel EEPROM — микросхемы с параллельным вводом- выводом адресов и данных,
• Serial EEPROM — микросхемы с последовательным вводом- выводом адресов и данных.
В микросхемах типа Parallel EEPROM для каждого разряда адреса и данных предусматриваются отдельные выводы на корпусе. Распространенные микросхемы' имеют восьмибитную организацию, выходы с тремя состояниями. Параметры некоторых микросхем приведены в табл. 2.30.
Микросхемы Parallel EEPROM обычно имеют те же выводы, что и микросхемы EPROM (рис. 2.67):
• Us и GND для подключения к источнику напряжения питания;
• адресные входы A [ 0 . . .k - 1];• входы-выходы данных DIO [0... 7],• /,-активные управляющие входы: выбор микросхемы СЕ (Chip
Enable), разрешение чтения ОЕ (Output Enable), разрешение записи WE (Write Enable).
Т а б л и ц а 2.30Микросхемы Parallel EEPROM
Объем памяти Организация памяти Тип микросхемы
16 Кбит 2п х8 АТ28С16
64 Кбит 213х8 АТ28С64
256 Кбит 215х8 АТ28С256
1 Мбит 14) -ч X 00 АТ28С010
4 Мбит 219х8 АТ28С040
111
А EEPROM $АТ28С256 DIO
--- 0 0— 1 1— 2 2— 3 3— 4 4— 5 5
— 6 6
--- 78
7
__910
__ ИUs■1 12 GND
— 13— 14
» ОЕ• WE| СЕ
А
01 2
345678
910 И 12
131415161718ОЕWEСЕ
EEPROMАТ28С040
Фт о01 2
3456 7
UsGND
Рис. 2.67. Примеры микросхем EEPROM фирмы Atmel
При обращении для чтения на адресные входы А [0 ...к - 1] подается код адреса, на входы CS и ОЕ — сигнал логического нуля, на вход WE — высокий уровень напряжения. Считываемый байт данных появляется на выходах DIO [0...7]. Время доступа у современных микросхем находится в пределах 60...250 не.
При обращении для записи байта на входы А [0 ...к - 1] подается код адреса, на входы СЕ и WE — низкий уровень напряжения, на вход ОЕ — вы сокий уровень напряж ения, а на выводы DIO [0... 7] — байт данных для записи. Код адреса запоминается во внутреннем регистре адреса и блоке управления по отрицательному фронту более позднего сигнала на входе CS или на входе WE. По этому же фронту в блоке управления запускается внутренний таймер, управляющий процедурой записи. Байт данных запоми-
112
нается во внутреннем регистре данных в блоке управления по положительному фронту сигнала на входе СЕ или на входе WE. После запоминания байта данных в микросхеме под управлением внутреннего таймера осуществляется перепись байта данных из регистра в блоке управления в запоминающее устройство по выбранному адресу. Временные диаграммы сигналов при обращении для записи приведены на рис. 2.68.
Величины tAS и tDH у микросхем разных типов имеют значения от 0 до 10 не. Значения tAH и tDS находятся в пределах50... 100 не, tW P — от 100 до 1 000 не.
Для сокращения суммарного времени, затрачиваемого на запись группы байтов, в микросхемах многих типов реализуется режим страничной записи. В таком режиме группа байтов данных и их адресов вводится в микросхему последовательно, байт за байтом, и запоминается в регистровом запоминающем устройстве блока управления. Старшие разряды кода адреса, одинаковые для всех микросхем в группе, задают номер страницы памяти, а младшие разряды определяют адрес байта в пределах страницы. Ч исло регистров в регистровом запоминающем устройстве определяет размер страницы памяти. Число страниц памяти в современных микросхемах составляет 64...256 (например, микросхема AT28LV64B имеет 64 страницы памяти). Если выполнена запись во все регистры регистрового запоминающего устройства или в течение определенного интервала времени после записи байта не произошла запись очередного байта данных, то в микросхеме выполняется цикл записи, в котором введенные ранее данные переписываются в память по заданным адресам.
Цикл записи у микросхем различных типов имеет длительность 0,2... 10 мс. В течение цикла записи новое обращение к памяти для записи или чтения невозможно, но шины адреса и данных микросхемы могут быть задействованы другими устройствами. Для определения момента завершения записи производители микросхем предлагают различные процедуры. Например, фирма Atmel в
Л[0...*-1]
CEwWE
DIO 10...7]
) ■■ ■ “ >c ~ .
К //
J 111 1 1
1
tAS
! tWP i t i *i, 1j tw e
! tDS tDH\tAH
Рис. 2.68. Временные диаграммы записи Parallel EEPROM
113
своих микросхемах для определения этого момента предусматривает процедуру DATA Polling — считывание бита на выводе D08. Во время цикла записи этот бит отличается от записанного; при завершении цикла записи бит не меняется и значения записанного и считанного битов совпадают.
Для предотвращения случайной записи в память при включении напряжения питания и появления помех в шинах управления в микросхемах EEPROM обычно предусматриваются аппаратные средства защиты данных:
• запись не выполняется, если величина напряжения питания не достигла установленного порога;
• запись не выполняется в течение некоторого интервала времени после достижения напряжением питания установленного порога;
• запись не выполняется, если хотя бы один из трех сигналов на входах управления СЕ, WE, ОЕ не имеет требуемого значения;
• запись не выполняется, если длительность импульсов на входах СЕ или WE меньше некоторой пороговой величины.
Кроме аппаратных средств защиты в микросхемах с режимом страничной записи используются и программные средства, причем режим программной защиты может быть как введен, так и отменен. Например, в микросхеме АТ28С256 фирмы Atmel для установки режима программной защиты необходимо по заданным адресам ввести определенную последовательность байтов. После этого перед любой записью данных также необходимо вводить эту последовательность байтов.
Многие микросхемы Parallel EEPROM имеют режим аппаратного стирания памяти. Так, у микросхем типа АТ28С16, АТ28С17, АТ28С64 стирание памяти происходит при СЕ = 0, напряжении 12 В на входе ОЕ и подаче на вход WE нулевого сигнала в течение 10 мс.
В микросхемах некоторых типов имеется возможность программного стирания памяти. Например, в микросхемах АТ28С265, АТ28С010, АТ28С040, АТ28С256 стирание происходит после записи по двум заданным адресам последовательности из шести определенных байтов. Стирание происходит за 20 мс.
М икросхемы с последовательным интерфейсом типа Serial EEPROM используют для обмена данными сравнительно малое число сигнальных линий. В таких микросхемах адреса ячеек памяти и данные передаются в микросхему при записи (и из микросхемы при чтении) последовательно с использованием какого- либо стандартного последовательного интерфейса. Ш ироко используются двухпроводной интерфейс интегральных схем I 2 С (Interface Integrated Circuit) фирмы Philips и трехпроводной последовательный периферийный интерфейс i ’/ ’/(Serial Peripheral Interface), предложенный фирмой Motorola.
114
Микросхемы Serial EEPROM с интерфейсом P C имеют следующие выводы (рис. 2.69):
• SDA (Serial Data/Address) — вход-выход для последовательного ввода и вывода данных и адресов;
• SCL (Serial Clock) — вход для ввода сигнала синхронизации;
• А[0 ...2 ] — входы для присвоения микросхеме номера при одновременном подключении нескольких микросхем к общим линиям SDA и SCL. Номер микросхемы задается в двоичном коде подсоединением этих выводов к шинам GND и Us\
• WP (Write Protect) — вход для запрета записи в микросхему. При WP = 1 возможно только чтение, при WP = 0 — чтение и запись.
Такой набор выводов позволяет подключать к общим шинам SDA и SCL несколько микросхем (рис. 2.70), которым присвоены номера 0, 1 и 2; к ним можно обращаться как для чтения, так и для записи.
По шине SDA в микросхемы памяти передаются команды управления: байт управления чтением CBR (Control Byte o f Reading) или байт управления записью СВ ̂ (C o n tro l Byte o f Writing), младший LSB (Low Byte) и старший M SB (Master Byte) адресные байты и байты данных DB (Data Byte). На эту же шину микросхемы Serial EEPROM выводят сигнал подтверждения Аск (Acknowledge) приема данных. На рис. 2.71 приведены диаграммы работы микросхемы АТ24С64 в различных режимах.
В байтах управления CBR и C B W младший бит определяет тип операции. При чтении он равен 0, при записи — 1. Биты АО, А1 и А2 определяют номер микросхемы, к которой производится об-
SDA EEPROM АОАТ24С64 А1
S C I,А2
UsW P
G N D
Рис. 2.69. Микросхема Serial EEPROM
Рис. 2.70. Схема подключения нескольких микросхем Serial EEPROMк общим шинам
115
Start CBW Address LSB Address MSB DB StopS1
I I I I I I 1 1 0 1 Q A2A1A0Q
i 1 i i 1 i i АI I I I 1 I 1 1 1 1 1 1 1 1 А
1 1 I 1 1 I 1 1 1 1 1 1 1 1 А
I 1 1 I I 1 I
1 1 1 1 1 1 1 А SP
Ack Ack Ack Acka
NoStart CBR Ack StopSJ
1 I I 1 1 1 1 1 0 1 0 А2А1А0 11 I 1 1 I 1 I А
1 1 Г 1 1 1 1 1 1 1 1 1 1 1 1 SP
_ l_ l I 1 I I I I LAck D B
6
Рис. 2.71. Диаграммы записи и чтения EEPROM: а — запись байта; б — чтение текущего адреса
ращение. Старшие четыре бита байта управления в соответствии с интерфейсом / 2С содержат информацию о типе устройства. Для микросхем EEPROM там должно быть 1010.
Параметры некоторых микросхем с интерфейсом P C приведены в табл. 2.31.
Микросхемы энергонезависимой памяти с интерфейсом SPI кроме цепей питания имеют шесть выводов (рис. 2.72):
• S I (Serial Input) — вход для последовательного ввода данных и адресов;
• SO (Serial Output) — выход для последовательного вывода данных; ,
• SC K (Serial Clock) — вход для приема синхросигнала;• СЕ (Chip Enable) — вход выбора микросхемы;• HOLD — вход ожидания;• WP (Write Protect) — вход запрета записи.Обращение к микросхеме происходит при подаче /.-активного
сигнала на вход СЕ. Информация принимается EEPROM по ли-
Т а б л и ц а 2.31 Микросхемы Serial EEPROM с интерфейсом 1 гС
Типмикросхемы Емкость Организа
ция памятиТип
микросхемы Емкость Организация памяти
АТ24С01 1 Кбит 27х8 АТ24С64 64 Кбит 213х8
АТ24С02 2 Кбит 28х8 АТ24С128 128 Кбит 214х8АТ24С04 4 Кбит 29х8 АТ24С256 256 Кбит 215х8
АТ24С08 8 Кбит ы о X 00 АТ24С512 512 Кбит 216х 8
АТ24С16 16 Кбит 2и х8 АТ24С1024 1 Мбит 217х8
АТ24С32 32 Кбит 2|2х8
116
SI EEPROM SOSCK АТ255256
\ h o ld[> WP Us> СЕ GND
Рис. 2.72. Микросхема EEPROM с интерфейсом SPI
нии S I и передается по линии SO синхронно с тактирующим сигналом SCK. После выбора микросхемы по входу СЕ по линии S I передается байт, содержащий код команды.
Набор команд состоит из шести инструкций:• READ — чтение данных по указанному адресу;• W REN — разрешение режима записи;• W RDI — запрещение режима записи;• W RITE — запись данных по указанному адресу;• RDSR — чтение регистра состояния;• W RSR — запись в регистр состояния.При включении питания устройство EEPROM всегда находит
ся в режиме запрета записи. Любая инструкция записи предваряется командой разрешения записи W REN, во время выполнения которой на входе аппаратной защиты данных WP должен действовать сигнал высокого уровня. Для завершения цикла модификации данных в EEPROM подается команда запрета режима записи W RDI. '
Текущее состояние микросхемы EEPROM (готовности, разрешения записи и программной защиты от модификации данных) может быть определено при чтении внутреннего регистра состояния с помощью команды RDSR.
Младший бит регистра состояния RD Y — индикатор готовности. Если R D Y равен нулю, то устройство готово к приему следующей инструкции, а если R D Y равен единице, то это значит, что внутренний цикл записи еще не завершен. Второй бит W EN — индикатор разрешения режима записи. Если W EN равен единице, то запись разрешена. Если же W EN равен нулю, то для разрешения записи необходимо выполнить команду W REN. Два следующих байта ВРО и ВР1 определяют, какая часть массива EEPROM защищена от модификации.
Для установки и снятия режима защиты от модификации после подачи сигнала низкого уровня на вход СЕ по линии S I в микросхему передается код команды WRSR. Далее в EEPROM передается новый байт для записи в регистр состояния (значение битов ВР1 и ВРО соответствует желаемому уровню защиты, а все остальные биты должны быть нулевыми).
117
Чтение данных инициируется передачей по линии S I команды READ, за которой следует передача одного или двух байтов адреса (в зависимости от объема массива EEPROM ). После завершения приема адреса EEPROM игнорирует все последующие изменения уровня на линии S I (до начала нового цикла обращения) и синхронно с SC K побитно передает на линию SO байт, расположенный по заданному адресу. Если необходимо считать только один байт, то после его приема необходимо установить на входе СЕ сигнал высокого уровня. Для последовательного чтения нескольких байтов необходимо удерживать на линии СЕ низкий уровень во время чтения нужного количества байтов. При последовательном чтении внутренний адресный счетчик EEPROM инкрементируется после передачи очередного байта данных. При переполнении счетчика передача данных продолжается с младших адресов. В течение цикла чтения выдача данных может быть приостановлена подачей на вход HOLD сигнала низкого уровня. При этом EEPROM переводит линию SO в высокоимпедансное состояние. При восстановлении высокого уровня на входе HOLD процесс выдачи данных будет возобновлен.
Для записи данных в массив EEPROM необходимо выполнить два условия: на вход WP необходимо подать единичный сигнал; микросхема должна находиться в режиме разрешения записи. Кроме того, если установлен режим программной защиты от модификации, адрес, по которому записываются данные, должен находиться вне защ ищ енного пространства. Запись данных инициируется передачей по линии S I команды W RITE, за которой следует передача одного или двух байтов адреса и байта данных. Внутренний цикл записи в EEPROM инициируется после изменения состояния линии S I с низкого уровня на высокий в течение отрицательного полупериода SCK. Для начала следующего обращ ения к EEPROM необходимо считывать значение из регистра состояния и опрашивать бит R D Y до тех пор, пока устройство не будет готово к приему новой команды чтения или записи данных.
Кроме режима записи байта микросхемы с интерфейсом SP I обычно имеют режим страничной записи. Размер страницы зависит от объема массива EEPROM. Если после передачи по линии S I первого байта не меняется сигнал на линии СЕ и начинается передача следующего байта данных, то внутренний счетчик адреса EEPROM инкрементируется. При выходе за размер страницы происходит перезапись байтов внутри страницы (начиная с первого). Внутренний цикл записи в EEPROM инициируется после изменения состояния линии S I с низкого уровня на высокий (в течение отрицательного полупериода SCK). Микросхема EEPROM автоматически возвращается в состояние запрета записи (после его завершения).
118
Т а б л и ц а 2.32Микросхемы EEPROM с интерфейсом SPI
Типмикросхемы Емкость Организа
ция памятиТип
микросхемы Емкость Организация памяти
АТ25010 1 Кбит 27х8 АТ25320 32 Кбит 212х8
АТ25020 2 Кбит 28х8 АТ25640 64 Кбит 213х8
АТ25040 4 Кбит 29х8 АТ25128 128 Кбит 214х8
АТ25080 8 Кбит 210х8 АТ25256 256 Кбит 215х 8
АТ25160 16 Кбит 2п х 8
Сравнительные данные микросхем EEPROM с интерфейсом SP I приведены в табл. 2.32.
Микросхемы Flash-memory. Flash-memory относится к классу EEPROM , но использует особую технологию построения запоминающих ячеек. В отличие от EEPROM в микросхемах Flash- memory процесс записи всегда сопровождается предварительным стиранием ячеек одного блока (сектора) данных.
Flash-memory характеризуется большими емкостями микросхем и малым энергопотреблением. Процедура записи относительно кратковременна (не менее 50 не). Важными свойствами микросхем являются невозможность прризвольного доступа к памяти и ограниченность числа циклов записи. В микросхемах этой группы чтение и запись данных возможны только массивами. Но для того чтобы не производить перезапись большого фрагмента данных после каждого обращения к микросхеме и чтобы увеличить скорость записи, в ее состав вводится буферный накопитель, содержимое которого после заполнения переписывается в основную память. Этот буферный элемент не обладает энергонезависимостью, и его данные могут быть утрачены, если питание микросхемы исчезнет до наступления момента перезаписи.
Первые микросхемы Flash-memory имели параллельный интерфейс и были предложены фирмой Intel в 1988 г. Сейчас такие микросхемы выпускаются различными фирмами, при этом они сильно отличаются по архитектуре, объему памяти и напряжениям питания, хотя, как правило, имеют такие же выводы, как у микросхем Parallel EEPROM:
• адресные входы А [0...А :- 1];• входы-выходы данных DIO [0... 7];• управляющие входы: выбор микросхемы СЕ (Chip Enable),
разрешение чтения ОЕ (Output Enable), разрешение записи WE (Write Enable).
При чтении данных из микросхем на адресные входы А [...] подается код адреса, на входы СЕ и ОЕ — нулевой сигнал, на
119
Т а б л и ц а 2.33Микросхемы Flash-memory фирмы Atmel с секторным способом записи
Типмикросхемы
Организацияпамяти
Числосекторов
Емкостьсектора Емкость блока
АТ29С256 215х8 512 64x8 —АТ29С512 216х8 512 128x8 —
АТ29С010А
00X(N 1024 128x8 213х8АТ29С020 218х8 1024 256x8 213х8
АТ29С040А 219х8 2048 256x8 214х8
вход WE — единичный сигнал. Считываемые данные появляются на выводах DIO [0...7]. Временные диаграммы сигналов при чтении также совпадают с сигналами чтения микросхем EPROM. Время доступа находится в пределах 70...250 не.
Запись данных в микросхемы производится по-разному, в зависимости от ее типа и архитектуры. Разные производители разрабатывают свои способы записи. Н апример, фирма Atmel производит микросхемы с секторным и с побайтным способами записи.
В микросхемах с секторным способом записи блок ячеек памяти разделен на секторы равных емкостей (табл. 2.33).
Блок управления таких микросхем содержит регистровое запоминающее устройство, емкость которого равна емкости сектора. Процедура записи данных в микросхему состоит из двух этапов. На первом этапе данные и их адреса вводятся в микросхему и запоминаются в регистровом запоминающем устройстве. В коде адреса старшие разряды задают номер сектора, одинаковый для всех кодов в группе. Младшие разряды кода адреса определяют регистр в регистровом запоминающем устройстве и соответствующую ему ячейку в заданном секторе памяти. Запись в регистровое запоминающее устройство может выполняться в произвольном порядке и не во все регистры.
На втором этапе выполняется цикл записи, в течение которого осуществляется стирание всех ячеек заданного сектора и перепись данных из регистров регистрового запоминающего устройства в соответствующие ячейки выбранного сектора памяти. Переход ко второму этапу осуществляется автоматически, если выполнена запись во все регистры запоминающего устройства или если после ввода данных в течение интервала времени более 150 мке не вводится очередной байт данных. Временные диаграммы сигналов управления на первом и втором этапах записи данных совпадаю т с врем енны м и диаграм мам и записи в микросхемы EEPROM при страничной записи.
120
В микросхемах памяти с побайтным способом записи осуществляется предварительное стирание всех ячеек памяти. Например, в микросхемах серии АТ29 фирмы Atmel процедура стирания памяти (C hip Erase) запускается после ввода в микросхему последовательности из шести байтов по двум заданным адресам. Стирание происходит за 10 мс. После завершения процедуры стирания выполняется побайтная запись. Перед записью каждого байта данных в микросхему вводится последовательность из трех заданных байтов по определенным адресам. Затем по требуемому адресу вводится байт данных. После ввода байта данных в микросхеме выполняется цикл записи длительностью 50 мкс.
Кроме программных средств защиты памяти от случайной записи в микросхемах Flash-memory (Flash-память) используются аппаратные средства защиты от разрушения данных при включении напряжения питания и появления помех в сигналах управления, аналогичные средствам аппаратной защ иты микросхем EEPROM.
В микросхемах Flash-memory некоторые блоки памяти ВВ (Boot Block) могут быть привилегированными. Они защищаются от чтения и записи особым образом. Для введения режима их защиты предусматриваются определенные процедуры, например ввод в микросхему последовательности из шести заданных байтов по определенным адресам.
В микросхемы Flash-memory обычно при изготовлении записывается код идентификации, подтверждающий тип микросхемы и факт ее изготовления конкретной фирмой. Специальная последовательность данных, записанных по определенным адресам, позволяет прочитать эти коды. t
Фирма Intel в настоящее время развивает три основных типа микросхем Flash-memory (табл. 2,34):
• микросхемы со структурой BE (Bulk Erase), стираемые целиком и программируемые побайтно.
Т а б л и ц а 2.34Микросхемы Flash-memory фирмы Intel
Тип микросхемы Организацияпамяти Тип микросхемы Организация
памяти
28F256 215х8 BE 28F004 2|9х8 ВВ
28F512 2I6x8 BE 28F008 220 х8 В В
28F010 2i7x 8 B E 28F002 218х8 SA
28F020 218х8 BE 28F004 219х8 SA
28F001 2|9х8 ВВ 28F008 220х8 SA
28F002 220 х8 ВВ
121
• микросхемы со структурой ВВ (Boot Block), в которых весь массив ячеек памяти разделен на блоки одинакового размера, стираемые независимо. Один из блоков, привилегированный, имеет дополнительные аппаратные средства защиты от стирания и записи;
• микросхемы с симметричной архитектурой SA (Symmetrical Architecture), в которых массив ячеек памяти разделен на несколько независимо-стираемых блоков одинакового размера.
Некоторые микросхемы представлены на рис. 2.73.Структуру BE имеют микросхемы первого поколения. Они орга
низованы побайтно и программируются побайтно, стираются целиком. Время доступа к данным в таких микросхемах находится в диапазоне 65...200 не. Стирание и программирование памяти воз-
А
0 1 2345678910 11 1213141516 17
-0 ОЕ -6 WE
СЕ UP
FLASH28F002
$DIO
0123456 7
UsGND
A
012345678910
11
12
13141516
*v OE -Q WE -6 CE -4 RP
Up
FLASH28F001
$DIO
0123456 7
UsGND
A
0FLASH28F004
$DIO
01 12 23 34 45 56 6
7 7f8910111213
UsGND
И15161718
' OE» WE) CE
122
Рис. 2.73. Микросхемы Flash-memory фирмы Intel
можно только при подаче на вход UP напряжения 12 В. Стирание и программирование выполняется по командам, записываемым во внутренний регистр по сигналу WE (Write Enable). При подаче на вход Up низкого напряжения стирание и программирование микросхем невозможны.
В микросхемах второго поколения ячейки памяти группируются в блоки, допускающие независимое стирание. Операция стирания блока может прерываться для чтения данных из других блоков. По способу разделения на блоки различают микросхемы Boot Block и Flash File.
Микросхемы Boot Block имеют однобайтную или переключаемую (1/2 байт) разрядность и состоят из нескольких блоков разного размера. Один из блоков, привилегированный, имеет дополнительные аппаратные средства защиты от модификации.
Операции стирания и программирования выполняются после записи соответствующих кодов в специальный регистр команд. Отработка операций отображается в регистре состояния, который может быть прочитан.
Дополнительный управляющий сигнал RP = 0 (Reset/Power Down) переводит микросхему в режим «глубокого сна» с потреблением тока в доли микроампера. Установка сигнала RP в единичное состояние переводит микросхему в режим чтения данных. Подача на вход RP напряжения 12 В разрешает программирование даже защищенного Boot-блока.
В микросхемах с симметричной архитектурой SA (Symmetrical Architecture) массив ячеек разделён на несколько равноправных, независимо стираемых блоков одинакового размера. Защита от модификации осуществляется только для всей микросхемы подачей низкого напряжения на вход UP.
Лидером в разработке и производстве микросхем Flash-memory больших объемов в настоящее время считается фирма Samsung Electronics. Объем памяти производимых этой фирмой микросхем достигает 4 Гбит (табл. 2.35).
Микросхемы им ерт странично-блочную организацию. Запись информации в микросхемы производится байт за байтом в страницу с организацией памяти (2й + 28) х 8 для 8-битных кристаллов или (218 + 2п) х 1 б — для 16-битных кристаллов. Стирается
Т а б л и ц а 2.35 Микросхемы Flash-memory фирмы Samsung Electronics
Тип микросхемы Организация памяти Время доступа, не
K9K4G08U0M 229 х8 50
K9K4G16U0M 228х 16 50
123
информация блоками размером (217 + 212)х 8 или (216 + 2п)х16. Запись одной страницы занимает около 300 мкс, стирание блока занимает 2 мс. При последовательном обращении к строкам в пределах страницы время доступа составляет 50 не. Для ускорения процесса чтения-записи микросхемы имеют cash-регистр объемом 2 Кбайт и boot-блоки с дополнительной защитой от стирания. Производитель-гарантирует 10 лет непрерывного хранения и не менее 105 циклов чтения-записи.
В отличие от стандартных типов микросхем Flash-memory, обращение к которым происходит произвольным образом при помощи параллельного интерфейса, ряд производителей предлагает также микросхемы с последовательным интерфейсом SP I и двойными интерфейсами.
На рис. 2.74 показана структурная схема микросхемы DataFlash с двумя интерфейсами обмена данными. М икросхема поддерживает последовательный интерфейс SPI, работающий с частотой до 33 МГц, и 8-разрядный параллельный интерфейс. Двойной интерфейс позволяет вести обмен данными с двумя различными устройствами.
Микросхема имеет следующие выводы:• S I (Serial Input) — вход последовательного ввода данных;• SC K /C LK (Serial Clock/Clock) — вход синхронизации;• CS (Chip Select) — вход выбора микросхемы;• R (Reset) — вход сброса;
SISCK/CLK
DATAFLASH
AT45DB1282
$DIO
01234
» R 5
' WP 6
SER/BYTE
7SO
RDY/BUSY
> CS UsGND
Рис. 2.74. Микросхема DataFlash с двумя интерфейсами
124
SI SO SCK/ RDY/ SER/ DIO[0...7]CLK BUSY BYTE
Рис. 2.75. Структура микросхемы DataFlash с двумя интерфейсами
• WP (Write Protect) — вход защиты от записи;• SO (Serial Output) — выход последовательного вывода дан
ных;• DIO[0... 7] — входы-выходы параллельного обмена данными,• SER/BYTE (Serial/Byte) — вход для переключения режима
обмена данными; .• RD Y/BU SY (Ready/Busy) — выход сигнала «готовность»/«за-
нято».В микросхеме, представленной на рис. 2.75, 132 Мбит памяти
организованы в 2й страниц по 1056 байт каждая. В дополнение к основной памяти емкостью 132 Мбит микросхема также содержит два буфера SRAM емкостью 1056 байт каждый. Буферы позволяют считывать данные во время записи страницы основной памяти, а также записывать непрерывные потоки данных. Память работает с максимальной тактовой частотой 40 МГц.
Выбор микросхемы осуществляется по Х-активному входу CS, после чего доступ к памяти осуществляется по последовательному
Т а б л и ц а 2.36 Микросхемы семейства DataFlash с двумя интерфейсами
Тип микросхемы Емкость памяти Частота, МГц
AT45DB642 64 Мбит 20/5
AT45DB1282 128 Мбит 50/40
AT45DB2562 256 Мбит 50/40
125
трехпроводному интерфейсу (S I — вход, SO — выход, SCK /C LK — тактовые импульсы) или восьмиразрядному параллельному интерфейсу (DIO [0... 7] — данные; SCK /C LK — тактовые импульсы).
Все циклы программирования выполняются встроенным автоматом при внутреннем тактировании, поэтому отдельной операции стирания перед записью не требуется. В табл. 2.36 приведены параметры микросхем семейства DataFlash с двумя интерфейсами.
2.7.3. Микросхемы RAM
Микросхемы RAM выполняют функции оперативной памяти, обеспечивающей в процессе работы чтение и запись данных в произвольном порядке.
В зависимости от используемых ячеек памяти они подразделяются на две группы: статические SRAM (Static RAM) и динамические DRAM (Dynamic RAM). Ячейки SRAM представляют собой триггеры, позволяющие хранить информацию при включенном питании в течение неограниченного времени. В микросхемах DRAM в качестве ячеек памяти используются полевые транзисторы, способные в течение короткого времени хранить электрический заряд на затворе. Использование таких элементов требует периодического обновления (регенерации) информации.
Микросхемы SRAM. В микросхемах SRAM множество ячеек памяти всегда объединяется в прямоугольную матрицу. М атрица состоит из п строк, каждая из которых объединяет т ячеек памяти. Число строк и столбцов определяет емкость микросхемы, бит: N = тп. Для выбора ячейки памяти в микросхеме предусматриваются дешифраторы: дешифратор строк и дешифратор столбцов (рис. 2.76).
Рис. 2.76. Структура микросхемы SRAM
126
Е Выборкастолбца
F77 VT5 Г-1 ,___ |—| VT6 VT8т ctin пЗТ™ *—Н1 ||—I __
L ЦЛ J D
Выборкастроки
Рис. 2.77. Статический элемент памяти CMOS-логики
Суммарное множество входов дешифратора строк и дешифратора столбцов образует адресную шину А [0 .../с - 1] микросхемы памяти. Разрядность адресной шины однозначно связана с емкостью микросхемы соотношением 2к= N. Работой микросхемы управляет блок ввода-вывода, на который поступают данные для записи в выбранную по шине адреса ячейку памяти D I{Data Input), сигнал выбора микросхемы CS (Chip Select), сигнал разрешения записи WE (Write Enable) и сигнал разрешения выхода ОЕ (Output Enable). Данные из выбранной ячейки памяти также через блок ввода-вывода поступают на выход микросхемы DO (Data Output).
Для записи в микросхему одного бита данных необходимо выставить на адресных входах микросхемы код адреса А [0... /с - 1], подать бит данных на вход DI, разрешающий сигнал выбора микросхемы на вход CS и сигнал WE, соответствующий режиму записи. При указанных сигналах выбирается одна строка и один столбец матрицы. Входные данные через блок ввода-вывода поступают на общие шины матрицы, связанные со всеми ячейками памяти, и записываются в ячейку, лежащую на пересечении выбранной строки с выбранным столбцом. В современных микросхемах SRAM выборка данных производится при сигналах CS = 0, ОЕ = 0, WE = 1, а запись — при CS = 0, WE = 0.
Каждый элемент памяти SRAM представляет собой триггер, собранный на биполярных или полевых транзисторах. Триггер, представленный на рис. 2.77, собран по схеме CM OS-логики. Он имеет два совмещ енны х входа-выхода D и D. Транзисторы VT5... VT8 соединяют триггер с разрядными шинами, по которым в парафазном виде подводится к триггеру при записи (или отводится от него при считывании) бит данных: транзисторы VT5, VT6 затворами подсоединены к строке; VT7, VT8 — к столбцу. При выборе ячейки в режиме чтения данные Z) и D поступают на общие шины, проходящие через все ячейки матрицы, считываются усилителем и через блок ввода-вывода поступают на выход микросхемы. В режиме записи данные с входа микросхемы через
127
устройство ввода-вывода поступают на шины, через открытые транзисторы VT5... VT8 попадают на триггер и устанавливают его в соответствующее состояние. Задержка времени между моментом установки адреса и моментом появления данных на выходе в режиме считывания (время доступа) у современных асинхронных микросхем SRAM составляет 12...20 не.
Рассмотренная структурная схема микросхемы SRAM имеет 1-разрядную организацию. Этот тип микросхем является преобладающим, но.не единственным. Вместе с ним широко применяются микросхемы SRAM с многоразрядной организацией. В последних матрица элементов памяти разбивается на отдельные секции, а запись и чтение информации производится одновременно из всех секций.
Микросхемы SRAM с различной организацией данных представлены на рис. 2.78.
М икросхема 541РУЗ имеет 1-разрядную организацию данных, а микросхема 357РУ8 — 8-разрядную. Обе микросхемы имеют выходы с тремя состояниями. Третье (высокоимпедансное) состояние присутствует на выходах при CS = 1, когда микросхема не выбрана.
3
А SRAM $541РУЗ
0 DO —1
A SRAM $Z 537РУ83 — 0 DO
4 — 1 05 — 2 16 — 3 27 — 4 38 5 49 — 6 5
US —10 GND __ 7 : 611 8 712 — 913 — 10DI — DI
u sWE 1 WE----- GND> CS 4 ' CS
128
Рис. 2.78. Микросхемы SRAM
Т а б л и ц а 2.37Микросхемы асинхронной SRAM фирмы Alliance Semiconductor
Тип микросхемы Емкость памяти Организацияпамяти Время доступа, не
AS7C164 64 Кбит 213х8 12...20
AS7C256 256 Кбит м СЛ X 00 10...20
AS7C1026 1 Мбит 216х 16 10... 20
AS7C1024 1 Мбит 217х8 10...20
AS6UB2568 2 Мбит00XГ4 55
AS7C4098 4 Мбит 218х 16 10...20
AS7C4096 4 Мбит 219х8 12...20
AS6UB51216 8 Мбит 219х 16 55... 100
AS6UB1M8 8 Мбит 220 х8 55... 100
Современные микросхемы асинхронной SRAM обычно исполняются 8- или 16-разрядными, имеют объем от 64 Кбайт до 4 Мбайт. В табл. 2.37 приведены параметры микросхем асинхронной SRAM фирмы Alliance Semiconductor.
М икросхемы DRAM. В динамической памяти типа DRAM (Dynamic RAM) используются наиболее простые элементы памяти — полевые транзисторы, способные хранить электрический заряд. Они рассматриваются как конденсаторы и, как и элементы статической памяти, объединяются в микросхеме в матрицу. Адрес элемента памяти задается строкой и столбцом матрицы. При записи логической единицы конденсатор заряжается, а при записи нуля — разряжается. Схема считывания данных разряжает через себя выбранный конденсатор и, если заряд был ненулевым, формирует единичный сигнал, одновременно подзаряжая конденсатор до прежнего уровня. На рис. 2.79 представлен один из вариантов схемы считывания данных из ячейки DRAM.
Элемент памяти состоит из конденсатора С и транзистора VT. Транзистор выполняет функции ключа; открывается по сигналу выборки строки и соединяет конденсатор С с разрядной шиной. Предварительно в паузах между обращениями к строкам матрицы емкости шин С1 и С2 заряжаются от источника напряжения U0 через открытые ключевые транзисторы VT5 и VT6. При обращении к строкам эти транзисторы закрываются. Запоминающий конденсатор С выбранного элемента памяти при подключении к разрядной шине изменяет ее потенциал. Это изменение незначительно, так как емкость запоминающего конденсатора намного меньше емкости шины С1. Поэтому при считывании информации ис-
5 Водовозов 129
Выборкастроки
r--tzL- VT — ,
Разряднаяшина
I ТТТ ЯчейкаI |— j"£_J ——) с j памяти
tr",n tb~ 1 С2
Выборка jстолбца || VT7
VT5 Щ VT6
F2
D
Рис. 2.79. Схема считывания данных из ячейки DRAM
пользуется дифференциальный усилитель триггерного типа на транзисторах VT1... VT4. Поскольку напряжение на конденсаторе С2 отличается от напряжения на разрядной шине, то триггер опрокидывается и на разрядной шине формируется уровень сигнала, соответствующий считываемой с конденсатора информации. При этом происходит восстановление заряда конденсатора, t .e . регенерация элемента памяти. Эта операция одновременно про-
Рис. 2.80. Структурная схема микросхемы DRAM
130
исходит во всех элементах выбранной строки. При выборе столбца матрицы информация поступает на выход микросхемы.
М икросхема DRAM (рис. 2.80), в отличие от микросхем статического типа, содержит два адресных регистра с объединенными входами. Ячейка памяти в микросхеме DRAM выбирается за два этапа. Сначала на адресные входы подается код адреса строки и импульс RAS (Row Address Select), производящий запись кода в регистр адреса строки. Затем на те же адресные входы подается код адреса столбца и импульс CAS (Column Address Select), производящий запись кода в регистр адреса столбца. Ячейка памяти выбирается на пересечении выбранной строки и выбранного столбца. Блок ввода-вывода управляет процессами чтения и записи информации.
Регенерация памяти происходит одновременно по всей строке матрицы при обращении к любой из ее ячеек. М аксимальный период обращения к каждой строке для гарантированного сохране-
А
0 1 2345678
DI -4CAS -Q&4S -OWE
DRAM565РУ7
оDO
UsGND
+
A
012345678
9-OCAS
-9 OE WE
DRAM 0MCM4400 DIO
0123
UsGND
Рис. 2.81. Примеры микросхем DRAM
131
Время доступа
RAS#
CAS# X
Address~Xro1X Col
L
Data ( DI
Ш .
)— с D2 j - C D3 I)— С D4 У
1Со4
Рис. 2.82. Диаграммы DRAM в режиме FPM
ния информации у современной памяти находится в пределах8...64 мс.
Современные микросхемы DRAM имеют емкость от 1 до 256 Мбит, время доступа — 35...60 не и обычно организованы по 1, 4, 8, 16, 18, 32 или 36 бит в корпусе. На рис. 2.81 представлено несколько таких микросхем.
Микросхема 565РУ7 имеет однобитную организацию 218х 1 и раздельные входы-выходы D I и DO. 4-разрядная микросхема МСМ4400 емкостью 220 х 4 имеет двунаправленные входы-выходы DIO [0...3]. 16-разрядная микросхема МСМ4160 емкостью 218х 16 состоит из двух половин по 8 бит, имеющих раздельные сигналы выборки столбца CASL и CASH, обеспечивающих возможность побайтного обращения.
В микросхемах DRAM при последовательном обращении к ячейкам памяти, принадлежащим одной строке матрицы, адрес строки выставляется на шине только один раз и сигнал RAS удерживается на низком уровне на время всех последующих циклов обращения, которые могут быть циклами записи или чтения (рис. 2.82). Такой режим обращения к памяти называется режимом быстрого страничного обмена FPM (Fast Page Mode). Под страницей в данном случае подразумевается строка, а состояние микросхемы с низким уровнем сигнала RAS называется открытой страницей.
Информация на выходе FPM DRAM появляется с некоторой задержкой относительно спада импульса CAS и держится во время его низкого уровня.
В табл. 2.38 приведены параметры микросхем DRAM фирмы Alliance Semiconductor.
Микросхемы NVSRAM. Микросхемы NVSRAM (Non Voltage SRAM ) представляют собой обычную статическую память SRAM, оснащенную встроенным резервным литиевым источником питания, схемами контроля уровня напряжения и различными сервисными устройствами: часами реального времени, переключате-
132
Т а б л и ц а 2.38 Микросхемы DRAM фирмы Alliance Semiconductor
Тип микросхемы Емкость памяти Организацияпамяти Время доступа, не
AS4C256K16F0 4 Мбит 218х 16 35, 50, 60
AS4C1M16F5 16 Мбит 220х 16 50, 60
AS4LC4M4F1 16 Мбит 224 х 4 50, 60
лями питания, компараторами и др. На производстве таких микросхем специализируется целый ряд фирм, основными из которых считаются Dallas Semiconductor (в составе корпорации Maxim), STMicroelectronics, Hanbit.
В микросхемах NVSRAM внутренний источник подключается при падении напряжения питания ниже некоторых пределов. Схема управления в микросхеме обеспечивает автоматическую защиту записи при пропадании питания и гарантирует сохранение данных в памяти в течение 10 лет при полном отсутствии внешнего питания. Кристалл всегда имеет внутренний изолирующий слой, который позволяет электрически отключать литиевый источник при хранении изделия на складе. При первом включении слой автоматически разрушается, что обеспечивает сохранение энергии литиевого источника до момента использования.
Энергонезависимая память NVSRAM выпускается в виде модулей, совместимых по выводам, с аналогичными по объему микросхемами памяти типов SRAM и EEPROM (табл. 2.39).
Т а б л и ц а 2.39 Микросхемы NVSRAM фирмы Dallas Semiconductor
Тип микросхемы Организация памяти Время доступа, н е
DS1220AB ю х~ 00 100, 120, 150, 200
DS1225AB 213х8 70, 85, 150, 170, 200
DS1230AB 215х8 70, 85, 100, 120, 150, 200
DS1245AB
00Xг- 70, 85, 100, 120
DS1249AB 2 18х 8 70, 85, 100
DS1250AB 2 19х 8 70, 100
DS1258AB 217х 16 70, 100
DS1265AB 2 20 х 8 70, 100
DS1270AB 2 2 1 х 8 70, 100
133
Микросхемы NVSRAM фирмы Dallas Semiconductor с часами реального времени
Т а б л и ц а 2.40
Тип микросхемы Организацияпамяти Время доступа, не Функции
DS1543 213х8 70; 100 RTC, WDT, Alarm
DS1554 215х 8 70, 100 RTC, WDT, Alarm
DS1556
00Xг-(N 70, 100 RTC, WDT, Alarm
DS1557P 219х 8 70, 100 RTC, WDT, Alarm
DS1742 2п х8 70, 100 RTC
DS1743
00XГ4 70, 100 RTC
DS1744 2,5х8 70, 100 RTC
DS1746
00X 1
г- ;
(N 70, 100 RTC
DS1747 219х 8 70, 100 RTC
Некоторые микросхемы NVSRAM (табл. 2.40) снабжаются часами реального времени RTC (Real Time Clock), сторожевым таймером W DT (Watch Dog Timer), способны выполнять функции будильника, т. е. генерировать сигналы при совпадении текущего времени с заданным (Alarm).
Структура многофункциональной микросхемы NVSRAM типа DS1554 с памятью объемом 215х 8 приведена на рис. 2.83. Она содержит:
• 16 восьмиразрядных регистров, в которых хранятся показания часов и все программируемые пользователем константы;
Рис. 2.83. Многофункциональная микросхема NVSRAM
134
• схему контроля питания, защиты от записи и сброса при включении питания;
• часы и сторожевой таймер;• внутренний тактовый генератор частотой 215= 32768 Гц.Микросхемы FRAM. Микросхемы FRAM (Ferro RAM) содер
жат ячейки памяти на основе пленки сегнетоэлектриков — сплава оксидов металлов, обладающего способностью при изменении своих физических параметров вырабатывать электрический ток или, наоборот, при пропускании через них электрического тока изменять свои физические свойства. После прекращения воздействия электрического тока изменения в материале сегнетоэлектрика сохраняются.
Запоминающая ячейка FRAM — конденсатор с тонким слоем ферромагнетика между пластинами. Приложенный к обкладкам конденсатора потенциал поляризует ферромагнетик. Направление поляризации представляет собой двоичную информацию, хранящуюся в ячейке. При повторном приложении потенциала заряд, затрачиваемый на поляризацию, зависит от направления поляризации. Если направление внешнего поля не совпадает с направлением поляризации, то на изменение направления поляризации затрачивается дополнительный заряд. В результате о содержимом ячейки судят по наличию тока перезаряда.
Чтение данных приводит к их стиранию. По этой причине после каждой операции чтения необходимо восстанавливать содержимое ячеек памяти. Схемы восстановления памяти входят в состав микросхемы, но из-за необходимости восстановления информации цикл обращения к памяти удлиняется. Время выборки микросхем FRAM — не менее 70 не.
Первые микросхемы FRAM созданы корпорацией Ramtron в 1984 г. В настоящее время они производятся всеми крупнейшими п рои зводи телям и пам яти: H itach i, Toshiba, IBM, Sam sung Electronics, Siemens, Texas Instruments, Fujitsu. Лучшие серийно производимые микросхемы FRAM имеют объем до 1 Мбит.
По назначению выводов и набору сигналов управления микросхемы FRAM обычно pin-to-pin совместимы со стандартными микросхемами EEPROM. Микросхемы большой емкости дополнительно снабжаются блоками защиты от записи (Write Protect) и мониторинга питания (Power Monitor) (рис. 2.84). Защита от записи включается при снижении напряжения питания ниже некоторого заранее установленного уровня. О переходе в режим защиты от записи микросхема сообщает установкой L -активного сигнала LVL (Low Voltage Lockout). В табл. 2.41 приведены параметры выпускаемых фирмой Ramtron микросхем FRAM.
Положительным качеством микросхем FRAM является произвольная адресация при записи, что существенно отличает их от других типов энергонезависимой памяти (кроме NVRAM).
135
Рис. 2.84. Микросхема FRAM емкостью 1 Мбит
На основе технологии FRAM выпускаются семейства многофункциональных устройств, содержащих кроме энергонезависимой памяти устройства самого разного назначения. Например,
Т а б л и ц а 2.41Микросхемы FRAM фирмы Ramtron
Тип микросхемы Организацияпамяти Время доступа, не Быстродействие
шины, МГц
FRAM с параллельным интерфейсом
FM20L08 217x8 60
FM18L08 2l5x8 70
FM1608 213x8 120
FRAM с двухпроводным последовательным интерфейсом P C
FM24CL64-S
00X7n 1
FM24CL16-S
00X7n Г1
FM24C256-SE 215x8 1
FM24C16-S(P) 2u x8 0,4
FM24C04-S(P) 29x8 0,4
FRAM с последовательным интерфейсом SPI
FM25CL64-S 2|3х8 20
FM25640-S(P) 213x8 5
FM25C160-S(P) 2n x8 5
FM25040-S(P) 29x 8 2,1
136
микросхемы семейства FM31xxx фирмы Ramtron (рис. 2.85) содержат часы реального времени, сторожевой таймер, счетчик событий, схему сброса при снижении напряжения питания, 64-раз- рядный серийный номер и универсальный компаратор, который можно использовать для упреждающего определения аварийного режима при снижении напряжения питания.
Микросхема снабжена следующими выводами:• CNT1, CNT2 (Counter 1, Counter 2) — входы счетчиков со
бытий;• АО, А1 — входы задания адреса устройства;• CAL/PFO (Calibration/Preventions Flag Output) — выход ка
либровки часов/предупреждения о нарушении питания;• R S T (Reset) — вход-выход сброса;• PFI (Preventions Flag Input) — вход компаратора упрежда
ющего контроля питания;
— XCLSDA FRAM
CAL/PFO —
FM31xxxXIХ2— АО
А1—
RSTt >—CNT1CNT2
t— VBAK
UsGND
—
— PFI —
а
Рис. 2.85. Многофункциональная микросхема FRAM семейства FM31xxx: а — условное обозначение; 6 — структурная схема
137
• XI, Х2 — выводы подключения кварцевого резонатора;• SDA (Serial Data/Address) — ввод-вывод последовательных
данных;• SCL (Serial Clock) — вход синхронизации последовательного
интерфейса;• VBAK (Voltage Backup) — резервное батарейное питание.Часы реального времени R TC (Real Time Clock) хранят инфор
мацию о текущем времени и дате. Часы должны непрерывно питаться от внешней батареи или конденсатора в качестве резервного источника VBAK. Они используют внешний кварцевый резонатор с частотой 32768 Гц и имеют режим калибровки для программной настройки точности хода.
М икросхема выполняет ряд функций для поддержки микропроцессорных систем:
• сигнал сброса R S T становится активным при снижении напряжения питания ниже запрограммированного порога и удерживается в активном состоянии в течение 100 мс после возвращения напряжения питания в допустимые пределы;
• сторожевой таймер (Watchdog) при активизации генерирует сигнал сброса RST, если до момента переполнения не поступила команда его сброса. Периоды переполнения сторожевого таймера программируются в диапазоне от 100 мс до 3 с;
• многоцелевой компаратор сравнивает внешнее напряжение на входе PFI с опорным напряжением 1,2 В. Он может использоваться для упреждающего выявления недопустимого снижения питания в любой точке схемы; >
• 64-разрядный серийный номер с возможностью блокировки его перезаписи позволяет идентифицировать микросхему;
• два энергонезависимых счетчика событий (Event Counters) подсчитывают число нарастающих или спадающих фронтов на соответствующих входах CNT1 и CNT2.
В табл. 2.42 приведены параметры аналогичных микросхем.Микросхемы MRAM. Микросхемы MRAM (Magnetic RAM) из
готавливаются на основе магниторезистивных материалов. Проводимость магниторезистивного слоя зависит от магнитного поля, в
Т а б л и ц а 2.42 Многофункциональные микросхемы с памятью FRAM
Тип микросхемы Емкость памяти Частота, МГц
FM31256 256 Кбит 1
FM3164 64 Кбит 1
FM3116 16 Кбит 1
FM3104 4 Кбит 1
138
Т а б л и ц а 2.43 Микросхемы MRAM фирмы Cypress Semiconductor
Тип микросхемы Емкость памяти Организацияпамяти
Время записи и чтения, не
CY9C6264 64 Кбит 213х8 70
CY9C62256 256 Кбит 215х8 70
которое он помещен. Внутри запоминающего элемента MRAM сопротивление находящегося в нем магниторезистивного материала определяется ориентацией магнитных моментов ферромагнитных слоев. В одном из слоев домены фиксированы в одном направлении. В другом слое они под воздействием внешнего поля могут быть развернуты в противоположном направлении. В результате они могут быть либо параллельны, либо перпендикулярны элементам фиксированного слоя, что соответствует двум логическим состояниям.
В MRAM при чтении производится измерение сопротивления магниторезистивной прослойки между двумя магнитными слоями. Если два магнитных слоя параллельны, то сопротивление слоя низкое; если перпендикулярны, то высокое. Для записи данных в MRAM используется массив взаимно-перпендикулярных шин, в точках пересечения которых размещены запоминающие элементы. Изменение состояния элемента происходит при одновременном прохождении тока через обе пересекающие его шины.
Основными положительными свойствами MRAM являются произвольная адресация, высокая скорость записи, низкое энергопотребление, энергонезависимость и неограниченное число циклов записи (табл. 2.43).
Микросхемы M ulti-Port RAM. M ulti-Port RAM — многопортовая память типа RAM с несколькими независимыми интерфейсами, обеспечивающими доступ к пространству памяти через разделенные шины адреса, данных и управления. В зависимости от числа портов ввода-вывода различают микросхемы двухпортовой (Dual-Port RAM), трехпортовой (Tri-Port RAM) и четырехпортовой (Four-Port RAM) памяти.
М икросхема памяти Dual-Port RAM (рис. 2.86) содержит единый массив памяти RAM, два адресных дешифратора, два блока управления вводом-выводом и общую схему логики арбитража и прерываний.
Основные выводы микросхемы:• AL [0...9] и AR [0...9] (Address Left/Right) — адреса левого и
правого портов;• DL [0...7] и DR [0...7] (Data Input/O utput Left/Right) — дан
ные левого и правого портов;
139
Рис. 2.86. Структура микросхемы Dual-Port RAM
• ОЕ L /R (Output Enable Left/Right) — входы разрешения чтения левого и правого портов;
• IN T L /R (Interrupt Left/Right) — выходы запросов на прерывания левого и правого портов;
• R /W L /R (Read/W rite Left/Right) — входы чтения-записи левого и правого портов,
• BUSY L /R (Busy Left/Right) — входы-выходы запрета доступа левого и правого портов.
При общем доступе к единому массиву ячеек в многопортовой памяти возможны конфликтные ситуации. Они появляются при одновременном обращении двух независимых активных устройств по разным портам к одной и той же ячейке памяти. Например, при одновременном выполнении операции записи по двум портам состояние ячейки памяти будет оставаться неопределенным до тех пор, пока одно из активных устройств не завершит обращение к ней и не закончатся переходные процессы. В результате в ячейку памяти будут записаны данные от опоздавшего устройства. При одновременном обращении состояние памйти неопределенно. В случае одновременной записи в один порт и чтении второго порта неопределенность существует только в отношении считываемых данных. С одинаковой вероятностью может быть считано как предыдущее состояние ячейки памяти, так и вновь записанные данные. Архитектура многопортовой памяти всегда предусматривает различные способы разрешения таких конфликтных ситуаций: арбитражную логику, семафоры или запросы на прерывания.
При использовании а р б и т р а ж н о й л о г и к и сигналы адресных линий левого и правого портов Л/, [0...9] и AR [0...9] сравниваются. Если их значения совпадают, то схема арбитража посы
140
лает одному из активных устройств сигнал запрета доступа BUSY. Этот сигнал поступает в опоздавшее к моменту арбитража активное устройство, а при одновременных обращениях — в устройство, выбранное случайным образом. Сигнал BU SY удерживается все время, пока не закончится операция обращения к памяти. Одновременно внутри микросхемы блокируются записи информации с данного порта. При одновременном чтении двух портов арбитр также формирует сигналы занятости, но блокировка сигналов чтения не производится и информация считывается одновременно через оба порта.
В качестве с е м а ф о р о в в многопортовой памяти используется несколько ячеек памяти, не входящих в рабочее пространство. Они являются указателями занятости определенных сегментов (банков) памяти. Активное устройство считывает состояние семафора, анализирует полученный код и, если банк занят, переходит в состояние ожидания. Если банк свободен, то активное устройство получает доступ к его содержимому и по окончании обмена освобождает занимаемый банк памяти путем записи разрешающего сигнала в соответствующий семафор.
Система п р е р ы в а н и й содержит буфер сообщений и логику формирования запросов на прерывания. Например, запрос на прерывание IN T R формируется в случае записи в буфер сообщений (ячейку памяти с определенным адресом) данных через порт L. Считывание содержимого этой ячейки памяти через порт R приведет к автоматическому снятию этого запроса. По аналогии при записи данных через порт R в буфер сообщений внутрисхемной логикой формируется запрос н^ прерывания IN T L.
Т а б л и ц а 2.44Микросхемы многопортовой памяти
Тип микросхемы Семейство Организация памяти Время доступа, не7052 Four Port
00Xгч 20, 25, 30, 35
7054 Four Port 2I2x8 20, 25, 35
70V525 Tri Port 2 |3х 16 55
7012 Dual Port 2 " x 9 25, 35, 55
7014 Dual Port 212x9 12, 15, 20, 25
7015 Dual Port 2I3x9 12, 15, 17, 20, 25, 35
7016 Dual Port 214x9 12, 15, 20, 25, 35
7017 Dual Port 215x9 15, 20
7018 Dual Port 2I6x9 15, 20
7019 Dual Port 2l7x9 15, 20
141
Ш0...8]
Рис. 2.87. Структура микросхемы памяти FIFO
В табл. 2.44 приведены параметры микросхем многопортовой памяти фирмы ID T (Integrated Device Technology).
Микросхемы FIFO. Микросхемы памяти FIFO (First In First Out) являются памятью с последовательным доступом, организованной по принципу «первый пришел — первый вышел». Структура памяти FIFO представляется в виде массива ячеек RAM с отдельным портом вывода, отдельным портом ввода и перемещаемыми указателями чтения и записи свободного пространства памяти (рис. 2.87). Микросхемы обычно имеют следующие контакты: ,
• Z>[0... 8] (Data Input) — входная шина данных;• R S (Reset) — вход сброса;• W (Write enable) — запись;• R (Read enable) — чтение;• X I (Expansion Input) — вход каскадирования;• FF (Full Flag) — флаг заполненности (массив полон);• EF (Empty Flag) — флаг заполненности (массив пуст);• XO /H F (Expansion Out/H alf-Full Flag) — выход каскадирова
ния/флаг заполнения половины массива;• Q[0...8] (Data Outputs) — выходная шина данных.Сигналы чтения R (Read) и записи W (Write) могут поступать
на одноименные входы микросхемы в произвольном порядке. При записи данные, поступающие с порта ввода, заносятся в массив и содержимое указателя записи увеличивается на единицу. При чтении данные из массива ячеек выводятся в порт вывода и содержимое указателя чтения также увеличивается на единицу.
В процессе записи данных содержимое прочитанной ячейки памяти может быть автоматически замещено новым записываемым значением. Для предотвращения потери данных в состав памяти
142
FIFO введены флаги заполненности FF (Full Flag) и EF (Empty Flag), позволяющие внешним устройствам осуществлять контроль над потоками считываемых или записываемых данных. Запись информации осуществляется через порт Z>[0...8], а считывание — через порт (?[0...8] с тремя состояниями.
Состояния флагов заполненности FF и EF определяются на основе сопоставления значений указателей. Активный уровень на выходе EF устанавливается в том случае, если разность между значениями указателей записи и чтения равна нулю, и информирует о неготовности выхода к считыванию следующего слова. Активный уровень на выходе FF устанавливается, если эта разность соответствует значению максимального размера памяти FIFO, и информирует о неготовности входа принять для записи следующее слово.
По способу передачи данных кроме обычных микросхем FIFO выпускаются микросхемы Serial-to-Parallel FIFO (последовательная запись/параллельное считывание) и Parallel-to-Serial FIFO (параллельная запись/последовательное считывание). В микросхему Parallel-to-Serial FIFO данные записываются всеми разрядами одновременно, а считываются с одного выхода последовательно во времени. В микросхемах Serial-to-Parallel FIFO данные записываются в последовательном виде, а считываются параллельно.
Сравнительные данные микросхем FIFO фирмы IDT (Integrated Device Technology) приведены в табл. 2.45.
Микросхемы памяти FIFO рекомендуются к применению:• в качестве буфера обмена данными между быстродейству
ющим процессором и более медленными периферийными устройствами;
Т а б л и ц а 2.45Микросхемы FIFO фирмы IDT
Типмикросхемы
Емкостьпамяти
Организацияпамяти Время доступа, не
7200 2 Кбит 28х9 12, 15, 20, 25, 30, 35, 50
7201 4 Кбит 29х9 12, 15, 20, 25, 30, 35, 50, 80
7202 9 Кбйт 210х9 12, 15, 20, 25, 30, 35, 50
7203 18 Кбит 2и х9 12, 15, 20, 25, 30, 35, 50
7204 36 Кбит 212х9 12, 15, 20, 25, 30, 35, 50
7205 72 Кбит 213х9 12, 15, 20, 25, 30, 35, 50
7206 144 Кбит 214х9 15, 20, 25, 30, 35, 50
7207 288 Кбит 215х9 15, 20, 25, 30, 35, 50
7208 0,5 Мбит 216х9 20, 25, 30, 35
143
• для согласования устройств с различной скоростью передачи данных;
• для организации обмена данными между шинами с разным форматом слова.
Контрольные вопросы
1. Какой логический сигнал присутствует на отключенном входе микросхемы TTL?
2. Какие уровни логических сигналов считаются стандартными для микросхем TTL?
3. В каком направлении текут входные токи микросхем TTL?4. В каком направлении текут выходные токи микросхем TTL?5. Для чего входные каскады логических микросхем снабжаются под
тягивающими резисторами?6. Где применяются буферные элементы с тремя выходными состоя
ниями?7. Где применяются микросхемы с выходами типа «открытый коллек
тор»?8. Какая логическая функция реализуется при объединении выходов
логических элементов с открытым коллектором?9. Чем определяется минимальная длительность импульсного сигна
ла, воспринимаемого логической микросхемой?10. В чем заключаются основные преимущества микросхем CMOS?11. Где в основном применяются микросхемы BiCMOS?12. Логические схемы какого типа могут быть построены на микро
схемах PLA?13. Логические схемы какого типа могут быть построены на микро
схемах PAL?14. В чем принципиальное отличие программируемых логических схем
типов FPGA и CPLD?15. В чем принципиальное отличие микросхем типа RAM и микро
схем типа ROM?16. Какие разновидности микросхем типа ROM допускают перепрог
раммирование в системе?17. Какими входами снабжается стандартная микросхема EPROM?18. Что такое время доступа микросхемы памяти?19. В чем принципиальное отличие микросхем памяти Serial EEPROM
от микросхем Parallel EEPROM?20. В чем принципиальное отличие микросхем Flash-memory от мик
росхем EEPROM?21. Почему в микросхемах памяти все выходы выполняются по схе
мам с тремя состояниями?22. Какие средства защиты от записи предусматриваются в микросхе
мах типа EEPROM и Flash-memory?23. В чем принципиальное отличие микросхем DRAM от микросхем
SRAM?24. Почему микросхемы DRAM при той же емкости имеют меньшее
число адресных линий, чем микросхемы SRAM?
144
25. Как устроены микросхемы NVSRAM и в каких задачах они могут заменить микросхемы Flash-memory?
26. Как устроены микросхемы FRAM и в каких задачах они могут заменить микросхемы Flash-memory?
27. Какие дополнительные функциональные блоки размещаются в микросхемах FRAM и NVRAM?
28. Как устроены микросхемы MRAM и в каких задачах они могут заменить микросхемы SRAM?
29. Для решения каких задач предназначены микросхемы FIFO?30. В каких задачах удобно использовать микросхемы Multi-Port RAM?31. Какими способами разрешаются конфликты при одновременном
доступе к памяти в микросхемах Multi-Port RAM?
Упраж нения
1. Постройте схему полного трехвходового дешифратора на микросхемах логических элементов стандартной логики.
2. Постройте схему двухвходового дешифратора со входом разрешения работы Е (Enable) на микросхемах логических элементов стандартной логики.
3. Постройте дешифратор 4 х 16 на микросхемах дешифратора 3x8 типа 74138.
4. Постройте схему шифратора на пять входов на микросхемах логических элементов стандартной логики.
5. Постройте схему 1-разрядного полного сумматора на микросхемах логических элементов стандартной логики.
6. Постройте схему 1-разрядного полного сумматора на основе микросхемы дешифратора 3x8.
7. Постройте схему 1-разрядного полного сумматора на основе двух микросхем мультиплексоров 8x1.
8. Постройте схему 1-разрядного полного сумматора на основе двух микросхем мультиплексоров 4x1.
9. Постройте мультиплексор 4 х 1 на микросхемах логических элементов стандартной логики.
10. Постройте схему одноступенчатого синхронного RS-триггера на элементах И—НЕ.
11. Постройте одноступенчатый синхронный D-триггер на основе асинхронных Л^-триггеров.
12. Постройте двухступенчатый D-триггер из /Л"-триггера.13. Постройте двухступенчатый JK-триггер на основе двухступенчато
го Л^-триггера и элементов И—НЕ.14. Постройте Г-триггер на основе двухступенчатого D-триггера.15. Постройте двухступенчатый D-триггер на основе /ЛГ-триггера.16. Нарисуйте схему 6-разрядного параллельного регистра на микро
схемах D-триггеров типа 7477.17. Нарисуйте схему 4-разрядного последовательного регистра на мик
росхемах D-триггеров 7474.18. Постройте 8-разрядный регистр Джонсона на основе микросхемы
типа ИР8.
145
19. Нарисуйте схему синхронного 4-разрядного двоичного счетчика на микросхемах /К-триггеров типа 7471.
20. Нарисуйте схему 8-разрядного двоичного счетчика на микросхемах типа ИЕ5.
21. Нарисуйте схему 8-разрядного двоичного реверсивного счетчика на микросхемах типа ИЕ6.
22. Нарисуйте схему блока памяти типа EPROM емкостью 212х8 на микросхемах типа 2716.
23. Нарисуйте схему блока памяти типа EEPROM емкостью 219 на микросхемах АТ28С256.
24. Нарисуйте схему блока памяти Serial EEPROM емкостью 224 на микросхемах АТ24С1024.
25. Нарисуйте схему блока памяти SRAM емкостью 2,2х8 на микросхемах типа 537РУ8.
26. Нарисуйте схему блока памяти DRAM емкостью 221 х 8 на микросхемах типа МСМ4400.
Г л а в а 3
ЦИФРОАНАЛОГОВЫЕ И АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ
3.1. Цифроаналоговые преобразователи
Преобразование аналоговых сигналов в цифровые и цифровых в аналоговые выполняется в системах автоматики специализированными схемами или модулями, входящими в состав более сложных схем. Аналого-цифровые преобразователи (ADC — Analog Digital Converter) осуществляют преобразование напряжения в цифровой сигнал, выполняя необходимые в таком случае операции дискретизации, квантования и кодирования. Цифроаналоговые преобразователи (DAC — Digital Analog Converter) осуществляют обратное преобразование. Микросхемы аналого-цифровых и цифроаналоговых преобразователей выпускаются в очень большом количестве многими производителями интегральных схем. Требования к точности преобразователей в системах автоматики различны, поэтому схемотехника преобразователей очень разнообразна.
При построении цифроаналоговых преобразователей обычно используют преобразование цифрового сигнала в сигнал токовый, который впоследствии с помощью операционного усилителя можно преобразовать в пропорциональное напряжение.
Простейшая схема преобразования двоичного кода в токовый сигнал состоит из источника опорного напряжения, набора резисторов и электронных ключей, коммутируемых в соответствии с состоянием отдельных разрядов двоичного числа Д О ...и - 1]
Сопротивления резисторов преобразователя выбираются обратно пропорциональными весу разрядов двоичного числа. Ключи Д О ...и - 1] считаются замкнутыми при единичном значении соответствующего разряда «-разрядного числа. Если считать, что точка
(рис. 3.1).
, -Т --------------- Т - - Т - - 1 -- ,
I
Рис. 3.1. Простейшая схема цифроаналогового преобразования
147
суммирования токов имеет нулевой потенциал, то выходной ток преобразователя
/ = 4 jL (Х 0 + 2Х1 + 4Х 2 + ... + 2" '1 ) = ^ ~ Х ,
где Uref — опорное напряжение.Большой разброс сопротивлений резисторов и высокие требо
вания к их точности очень усложняют использование такой схемы.
Преобразователь цифрового сигнала в ток на основе резистивной матрицы R-2R (рис. 3.2) использует только два номинала резисторов.
Ключи в схеме выполняются трехпозиционным; они подключают резисторы либо к узлу суммирования токов, либо к общей точке схемы. Поэтому нагрузка источника опорного напряжения в такой схеме постоянна, и в схеме при переходе к каждому следующему разряду происходит последовательное деление опорного напряжения на 2.
В результате выходной ток, как и в предыдущей схеме, пропорционален входному цифровому сигналу:
/ = § * ( * . + 2 * . + 4JT, + ... + 2 - * , . , ) = | | X.
Недостатком такой схемы считается появление импульсных помех при переключении ключей в процессе изменения кода. И збавиться от таких помех можно, используя преобразователь строкового типа (string DAC). В общем случае «-разрядный цифроёна- логовый преобразователь строкового типа состоит из 2" резисторов и такого же числа ключей (рис. 3.3). Для управления ключами в схеме предусматривается дешифратор, причем логика деш ифратора (табл. 3.1) в схеме несколько отлична от стандартной: как
и * Ж ^ / / 2 UKf/2 n- ^ u nf/2 n- 1г ^ т г -
2R 2R 2R 2R 2R
ЛО \Т7~Т7~1~~~Т:Я-р*"-1 | F"-2Л* ___ \~Г~
Рис. 3.2. Цифроаналоговый преобразователь на основе резистивной матрицы R-2R
148
и,ref.I l l
R/2 Л -1 R/4 R/2
ЛО...л- l] DC , - v v - v - v ,n !
по...2л- 1] / „ L L /------------ 7^1 I r -1________(*2 \Yi [>
Рис. 3.3. Цифроаналоговый преобразователь строкового типа
только какой-либо резистор подключается к цепи, любые дальнейшие увеличения кода уже не могут его отключить.
Токи на выходе преобразователя суммируются, в результате чего выходной ток всегда пропорционален коду входного сигнала X. Для изготовления многоразрядного преобразователя строкового типа требуется большое число резисторов и ключей, поэтому применение такой схемы не всегда рационально.
Наиболее популярными среди производителей микросхем считаются сегментные схемы, в которых часть входного сигнала обрабатывается строковым DAC, а часть — преобразователем по схеме R-2R. На рис. 3.4 представлена схема, в которой старшие пять разрядов 10-разрядного преобразователя декодируются и обрабатываются 31-разрядным строковым цифроаналоговым преобразователем, а младшие пять разрядов преобразуются по схеме R-2R. Выходные токи двух цифроаналоговых преобразователей суммируются.
Микросхемы цифроаналоговых преобразователей выпускаются целым рядом известных фирм: Maxim, Analog Device, Burr- Brown, Linear Technology, Hitachi, M icrochip и др.
Т а б л и ц а 3.1Таблица истинности дешифратора цифроаналогового преобразователя
строкового типа
ЛГ[0... л - 1] Г[0...2П- 1]
0000...0 10000000... 0
1000... 0 11000000... 0
0100...0 11100000... 0
1100...0 11110000...0
0010...0 11111000...0
1111...1 11111111...1
149
Рис. 3.4. Сегментированный цифроаналоговый преобразователь
Наиболее важными параметрами преобразователей являются разрядность, тип интерфейса, быстродействие, характеристики питания и тип выходного сигнала: ток или напряжение.
Разрядность цифроаналогового преобразователя определяет точность преобразования. Микросхемы выпускаются с разрядностью от 4 до 24 бит. Наиболее часто используются 8— 12-разрядные схемы, обеспечивающие шаг квантования выходной величины от 1/256 (0,39 %) до 1/4096 (0,0244 %). Микросхемы с разрядностью более 12 считаются прецизионными.
Быстродействие цифроаналоговых преобразователей принято оценивать по времени установления выходного сигнала, которое у микросхем с параллельным интерфейсом находится в пределах от 0,15 до 35 мкс. Чаще используются преобразователи низкого или среднего быстродействия.
Микросхемы цифроаналоговых преобразователей производятся с токовым выходом (без встроенного выходного операционного усилителя) и с выходом по напряжению (со встроенным выходным операционным усилителем). Наиболее предпочтительным считается выход по напряжению. Они могут иметь встроенный или внешний источник опорного напряжения, одно или несколько различных напряжений питания.
По типам входного интерфейса микросхемы DAC подразделяются на микросхемы с параллельным и последовательным интерфейсами. Микросхемы с параллельным интерфейсом, в свою очередь, могут иметь байтовый интерфейс или интерфейс большей разрядности (полноразрядные). Микросхемы с последовательным интерфейсом также подразделяются на несколько групп в зависимости от типа используемого интерфейса: SPI, P C и др.
На рис. 3.5 представлено несколько микросхем цифроаналоговых преобразователей с параллельным интерфейсом фирмы Maxim.
М икросхема 12-разрядного цифроаналогового преобразователя МАХ7545А имеет полноразрядный интерфейс. Для хранения входного сигнала в ней предусмотрен буферный регистр, запись цифрового сигнала DB[0... 11] в который производится сигналом WR (Write) при условии WR v CS = 0, где CS (Chip Select) — сигнал выбора микросхемы. Выход OUT (Output) в микросхеме
150
DB DAC- 0 MAX7545A VREF— 1 RFB- 2 OUT— 3— 4 us— 5 AGND- 6 DGND— 7— 8- 9- 10— 11-< > WR
А 1 CS
DB DACMAX506 VOUTA
1VOUTBVOUTC
3VOUTD
— 4 VREF— 5— 6 u s i
7 U S2— АО AGND- А1 DGND
л )W R
DB DAC— 0/8 MAX530 REFIN —— 1/9 REFOUT —
— 1/10 REFGND —- 3/11 ROFS -— 4 RFB -— 5 VOUT -- 6 US2 -— 7 US1 —— AO AGND —- A1 DGND -— CLR—LDAC
) WR) CS
Рис. 3.5. Микросхемы цифроаналоговых преобразователей с параллельным интерфейсом
токовый. Для преобразования токового сигнала в напряжение в схеме предусмотрен внутренний резистор обратной связи, который через контакт RFB (Resistor Feedback) можно подключить к внешнему операционному усилителю. Внешний источник опорного напряж ения подключается через контакт VREF (Voltage Refresh). Схема работает с одним источником положительного напряжения питания Us и имеет две точки для подключения общего провода: DGND (Digital Qround) — цифровой общий провод; AGND (Analog Ground) — аналоговый общий провод.
Микросхема МАХ506 является четырехканальным 8-разрядным цифроаналоговым преобразователем с байтовым интерфейсом и четырьмя выходами по напряжению: VOUTA, VOUTB, VOUTC и VOUTD. Для выбора канала предназначены адресные входы АО и А1. М икросхема имеет один общий вход опорного напряжения VREF (Voltage Refresh), может работать как от однополярного напряжения питания +5 В, так и от двуполярного ±5 В. При питании микросхем от однополярного источника питания вывод отрицательного источника питания Us, должен быть соединен с выводами аналогового A GND (Analog Ground) и цифрового DGND (Digital Ground) общего провода. L-активный сигнал записи WR (Write) предназначен для записи данных с шины DB[0... 7] в буфер микросхемы.
М икросхема МАХ530 — это 12-разрядный цифроаналоговый преобразователь с байтовым интерфейсом. Входная организация позволяет состыковывать микросхему непосредственно с 4-, 8-, 12- и 16-разрядными шинами (табл. 3.2). L-активный сигнал CLR (Clear) сбрасывает входной регистр микросхемы независимо от
151
Режимы работы микросхемы МАХ530Т а б л и ц а 3.2
CS WR L D A C АО А1 Обновление данных1 X 1 X X Нет операций
X 1 1 X X Нет операций
1 1 0 X X Запись входного регистра
0 0 . X 0 0 Запись младшей и средней тетрад Д[0...3] и Z>[4...7]
0 0 1 1 1 Запись старшей тетрады Z>[3... 11]
0 0 1 1 0 Запись средней тетрады Z>[4... 7]
0 0 1 0 1 Запись младшей тетрады Z>[0...3]
0 0 0 1 1 Запись старшей тетрады Z>[3... 11] и входного регистра
Примечание . Символом «х» обозначено произвольное состояние.
состояний остальных входов. Входы выбора микросхемы CS (Chip Select), записи WR (Write) и синхронной загрузки LDAC (Load Digital Analog Clock) предназначены для управления записью данных с входной шины D B [0... 11] во входной регистр преобразователя. Если CS = WR = 1, a LDAC = 0, то содержимое входного регистра обновляется. При всех других комбинациях, в которых CS v WR = 1, операции невозможны. При выбранной микросхеме, когда C S v WR = 0, происходит обновление данных. Микросхема может работать в режиме последовательной потетрадной записи «4 + 4 + 4» или в режиме «8 + 4». В первом случае линии D [0... 3] и Z)[4...7] поразрядно объединяются. Затем в соответствии с табл. 3.2 производится запись тетрад в произвольном порядке под управлением адресных сигналов АО и А 1. В режиме «8 + 4» обновление входного регистра производится в два этапа: младший байт Z)[0... 7] при АО = А1 = 0, а затем старшая тетрада Z)[3... 11] при АО = А1 - 1.
М икросхема имеет встроенный источник опорного напряжения Uref = 2,048 В, но допускается ее работа и с внешним источником. Вход для подключения источника опорного напряжения REFIN может быть подключен либо к внешнему источнику опорного напряжения, либо к выходу встроенного источника REFOUT.
М икросхема может работать в режиме однополярного или биполярного выходного сигнала. Вход резистора смещения ROFS соединяется с выходом VOUTдля работы в однополярном режиме или подключается к REFIN для включения режима биполярного выхода. На рис. 3.6 представлены две популярные микросхемы DAC с последовательным интерфейсом.
152
DINSCLK
DACMAX549A
OUTAOUTB
---- — SCLSDA
DACMAX517
OUT
REF AOA1
UsGND
__ —Us
) C5 ---- — REF GND
Рис. 3.6. Микросхемы цифроаналоговых преобразователей с последовательным интерфейсом
Т а б л и ц а 3.3Микросхемы цифроаналоговых преобразователей фирмы Maxim
Типмикросхемы
Разрядность,бит Число каналов Тип выхода
Время установления
выходного сигнала, мкс
Микросхемы с байтовым интерфейсомМХ7523 8 1 / 0,15МХ7528 8 2 / 0,35МАХ503 10 1 и 25МАХ530 12 1 и 25
Полноразрядные преобразователиМХ7520 10 , 1 I 0,5МХ7521 12 1 I 0,5
Микросхемы с интерфейсом SPIМАХ550А 8 1 и 4МАХ549А 8 2 и 4МАХ509 8 4 и 6МАХ504 10 1 и 25МАХ551 ■12 1 I 0,08МАХ541 16 1 и 1
Микросхемы с интерфейсом 12СМАХ5360 6 1 и 20МАХ517 8 1 и 6МАХ500 8 4 и 2,5МАХ5811 10 1 и 4МАХ5812 12 1 и 4
153
М икросхема МАХ549А фирмы Maxim является двухканальным 8-разрядным цифроаналоговым преобразователем. Интерфейс SPI по двум сигнальным линиям D IN (Data Input) и SC L K (Serial Clock) обеспечивает передачу данных с частотой до 10 МГц. Схема работает с однополярным источником питания Us = 2,5 В и внешним источником опорного напряжения, подключаемым на вход REF (Refrech).
Микросхема МАХ517 — это 8-разрядный цифроаналоговый преобразователь с интерфейсом / 2С, использующий для ввода данных две линйи: SDA (Serial Data) и SCL (Serial Clock). Она работает от одного источника питания с напряжением Us = 5 В. М икросхема снабжена входом REF (Refresh) для подключения источника опорного напряжения. Последовательный интерфейс / 2С обеспечивает загрузку данных со скоростью до 400 Кбит/с. Адресные входы АО и А1 предназначены для задания номера ведомого при подключении нескольких ведомых к одному ведущему устройству.
Справочные данные преобразователей DAC фирмы Maxim приведены в табл. 3.3.
3.2. Аналого-цифровые преобразователи
Микросхемы аналого-цифровых преобразователей очень разнообразны.
В них используются пять основных архитектур:• преобразователи последовательного приближения;• сигма-дельта преобразователи;• параллельные преобразователи; '• конвейерные преобразователи;• последовательные преобразователи.Основной характеристикой аналого-цифрового преобразовате
ля, влияющей на выбор той или иной архитектуры, считается скорость преобразования. Единицей измерения скорости преобразования принято считать число выборок в секунду (Sps — Sample Per Second).
Преобразователи последовательного приближения. Основные элементы аналого-цифрового преобразователя последовательного приближения представлены на рис. 3.7. ADC выполняет преобразования в командном режиме. После подачи команды «Пуск» устройство выборки-хранения устанавливается в режим хранения и все разряды регистра последовательного приближения, кроме старшего значащего разряда, сбрасываются. Старший разряд устанавливается в единичное состояние. Выходной сигнал регистра последовательного приближения поступает на цифроаналоговый преобразователь. Старший разряд регистра последовательного при-
154
Рис. 3.7. Аналого-цифровой преобразователь последовательного приближения
ближения сбрасывается, если выходной сигнал цифроаналогового преобразователя больше входного аналогового сигнала. В противном случае он остается в единичном состоянии.
В следующем такте в единичное состояние устанавливается следующий значащий разряд регистра последовательного приближения и вновь выходной сигнал цифроаналогового преобразователя сравнивается с входным сигналом. Если сигнал на его выходе становится больше входного, то установленный разряд сбрасывается, в противном случае — остается единичным.
Описанный процесс поочередно повторяется для каждого разряда регистра последовательного приближения, /^-разрядное преобразование осуществляется за N шагов. Окончание преобразования индицируется сигналом «Стоп». При появлении этого сигнала цифровой сигнал с выхода регистра последовательного приближения может быть считан.
Современный 8-разрядный аналого-цифровой преобразователь последовательного приближения способен выполнить преобразование за несколько сотен наносекунд, что соответствует частоте дискретизации в несколько мегагерц. Однако в схемах большей разрядности частота дискретизации существенно снижается из-за задержек в процессе цифроаналогового преобразования.
Сигма-дельта преобразователи. Сигма-дельта преобразователи в настоящее время считаются наиболее экономичными схемами с высоким разрешением. Структурная схема такого преобразователя представлена на рис. 3.8.
Постоянное напряжение подается на вход элемента сравнения. Напряжение на выходе интегратора нарастает или убывает в зависимости от знака сигнала на выходе элемента сравнения. С выхода компаратора через одноразрядный цифроаналоговый преобразователь сигнал поступает на вычитающий вход элемента сравнения. Благодаря такой отрицательной обратной связи среднее значение постоянного напряжения на входе интегратора стабилизи-
155
Рис. 3.8. Сигма-дельта преобразователь
Вход1,5 R
руется на нулевом уровне, а среднее выходное напряжение цифроаналогового преобразователя становится равным входному напряжению. В свою очередь, среднее выходное напряжение циф роаналогового преобразователя определяется плотностью потока единиц на выходе компаратора. Цифровой фильтр обрабатывает последовательный поток битов и вычисляет его среднее значение.
Параллельные преобразователи. Параллельный аналого-циф ровой преобразователь является очень громоздким, но самым быстрым типом аналого-цифрового преобразователя, ^-разрядны й
параллельный преобразователь состоит из 2N резисторов и 2N— l компараторов (рис. 3.9).
В схеме на компараторы К подаются опорные напряжения с резистивного делителя, значения которых для соседних точек отличаются на величину, соответствующую младшему значащему разряду. При фиксированном входном напряжении все компараторы, размещенные на схеме ниже некоторой точки, имеют входное напряжение выше опорного. На их логическом выходе при-
II сутствует единичный сигнал. У всех ком-Т —4£| параторов выше этой точки опорное на
пряжение больше входного, и на их выходах формируются сигналы низкого уровня. Сигналы с выходов компараторов преобразуются приоритетным шифратором в ^-разрядный двоичный код, поступающий на выход преобразователя.
Ь = 0 -
"У-'Н-
R
0,5 R
Рис. 3.9. Параллельный аналого-цифровой преобразо
ватель
156
Входной сигнал подается одновременно на все компараторы, поэтому задержка в преобразователе равна задержке компаратора и процесс преобразования осуществляется очень быстро. Такая архитектура предполагает использование большого числа резисторов и компараторов, поэтому имеет ограничение по максимальной разрешающей способности. М аксимальная частота дискретизации таких преобразователей может достигать 1 ГГц, но они имеют ограниченную разрядность (не более 8), относительно большие размеры кристалла и высокую стоимость.
Конвейерные преобразователи. В конвейерных преобразователях за счет объединения нескольких параллельных схем повышается разрядность преобразования. Структурная схема 8-разрядного конвейерного аналого-цифрового преобразователя, построенного на основе двух 4-разрядных параллельных схем, представлена на рис. 3.10.
Процесс преобразования в схеме проходит в два этапа. Первые четыре старших разряда обрабатываются первым параллельным аналого-цифровым преобразователем, и двоичный выходной 4- разрядный код подается на 4-разрядный цифроаналоговый преобразователь. Выходной сигнал с этого преобразователя вычитается из сохраненного аналогового входного сигнала, результат вычитания (остаток) усиливается и подается на второй параллельный аналого-цифровой преобразователь. Затем выходные сигналы двух 4-разрядных параллельных преобразователей объединяются в один 8-разрядный выходной сигнал.
Число ступеней в конвейерном преобразователе может быть больше двух. По этому принципу изготавливаются 3- и 4-конвей- ерные схемы, имеющие разрядность до 16.
Последовательные преобразователи. Последовательный аналого-цифровой преобразователь является разновидностью конвейерного преобразователя, ^-разрядный преобразователь имеет N oa-
8 "j Выход
Рис. 3.10. Конвейерный аналого-цифровой преобразователь
157
Выход
Рис. 3.11. Последовательный аналого-цифровой преобразователь
норазрядных ступеней (рис. 3.11). Остаточный сигнал каждой ступени является входным сигналом для следующей ступени.
Интерфейсы аналого-цифровых преобразователей. В интегральном исполнении аналого-цифровые преобразователи производятся
Т а б л и ц а 3.4Микросхемы аналого-цифровых преобразователей фирмы Maxim
Типмикросхемы
Разрядность,бит
Числоканалов Интерфейс
Время преобразования, МКС
Число выборок в секунду
ADC0820 8 1 Parallel 1,38 400- 103
МАХ1036 8 4 / 2С 5,3 188- 103
МАХ1106 8 1 sP i 16 50- 103
МАХ1108 8 2 SPI 16 5 0 -103
МАХИ 10 8 8 SPI Ц 5 0 -103
МАХ1111 8 4 SPI 16 5 0 -103
МАХ113 8 4 Parallel 1,8 400- 103
МАХ114 8 4 Parallel 0,66 1000- 103
МАХ117 8 8 Parallel 1,8 400- 103
МАХ195 16 1 SPI 9,4 —
МАХ1165 16 1 Parallel 6,0 —
МАХ1166 16 1 Parallel 6,0 —
158
с различными интерфейсами выходного сигнала. Выпускаются схемы с параллельным и последовательным интерфейсами. Параллельный интерфейс, в свою очередь, может быть байтовым и полноразрядным. Параметры некоторых аналого-цифровых преобразователей фирмы Maxim приведены в табл. 3.4.
На рис. 3.12 представлены микросхемы аналого-цифровых преобразователей.
М икросхема AD7819 фирмы Analog Device является быстродействующим 8-разрядным преобразователем последовательного приближения с максимальной производительностью 200 • 103 выборок в секунду. М икросхема питается от однополярного источника Us с напряжением от 2,7 до 5,5 В и содержит преобразователь
ADC DB■— AIN AD7819 0
12
VREF 3
—<i CONVST 456
—<' RD 7BUSY
UsAGND— СУGND
AIN ADCMAX1062 DOUT
SCLKREF
AUSDUS
i CS DGNDAGND
AIN1+AIN1-AIN2+AIN2-REF+REF-
CLKINRESET
DINSCLCS
ADCMAX7707
DOUT DRDY
CLKOUT6— —
UsGND
VIN
VREF+VREF-
MODE WR/RDY
RD
CS
ADCMAX150
DB0123456 7
INT OFL
REFOUT Us
GND
t
Рис. 3.12. Микросхемы аналого-цифровых преобразователей
159
последовательного приближ ения с временем преобразования 4,5 мкс, цепи выборки-хранения, встроенный тактовый генератор и байтовый параллельный интерфейс с шиной DB[0... 7]. Входной сигнал подается на вход A IN (Analog Input) микросхемы. Вход VREF (Voltage Refresh) предназначен для подключения внешнего источника опорного напряжения. Преобразование начинается по сигналу CONVST (Convert Start), по окончании процесса формируется сигнал готовности BU SY и преобразователь переходит в режим сниженного энергопотребления. Чтение данных с выходной шины производится при подаче L-активного сигнала RD (Read).
М икросхема MAXI062 фирмы Maxim является 14-разрядным ADC последовательного приближения с временем преобразования 5 мкс, снабженным последовательным интерфейсом SPI. М икросхема имеет раздельное питание цифровой и аналоговой частей, причем если напряжение питания аналоговой части составляет AUS= 4,75... 5,25 В, то цифровая часть может питаться от источника с напряжением DUS= 2 ,7 ... 5,25 В. Напряжение входного сигнала A IN может находиться в диапазоне от 0 В до напряжения внешнего источника опорного напряжения REF. Установка входа CS (Chip Select) в состояние логической единицы переводит микросхему в «спящий» режим, при котором потребляемый ток составляет не более 0,1 мкА, а вывод DOUT устанавливает в высокоим- педансное состояние. При CS = 0 микросхема переходит в нормальный рабочий режим. Сигналом к началу преобразования служит отрицательный фронт сигнала CS. Процесс преобразования тактируется положительными импульсами, поступающими на вывод синхронизации S C L K (Serial Clock). Весь процесс преобразования и считывания результатов измерения занимает 24 такта. При изменении частоты следования импульсов на выводе SC LK от 0,1 до 4,8 МГц частота преобразования изменяется от 4,17 • 103 до 200 ■ 103 выборок в секунду и потребляемый ток изменяется от 0,013 до 2,6 мА.
Микросхема МАХ7707 (см. рис. 3.12) — двухканальный 16-раз- рядный сигма-дельта ADC с выходным интерфейсом SPI. М икросхема способна обрабатывать как однополярные^ так и биполярные сигналы, для чего снабжена двумя дифференциальными входами AIN1+, A IN 1- и AIN2+, A IN 2 - и дифференциальным входом для подключения источника опорного напряжения REF+, REF-. Она работает от однополярного питания Us = 2,7...5,25 В и имеет трехпроводный последовательный интерфейс SP I с линиями D IN (Data Input), DOUT (Data Out) и SCL (Serial Clock).
Микросхема MAX150 — быстродействующий 8-разрядный конвейерный преобразователь. Две 4-разрядные секции преобразователя обеспечивают формирование 8-разрядного выходного сигнала за 1,34 мкс. ADC работает в диапазоне изменения входного сиг
160
нала VREF- < VIN < VREF+. Нижний предел, задаваемый на входе VREF-, должен быть больше 0, а задаваемый на входе VREF+ должен быть меньше напряжения источника питания Us = 5 В. М икросхема имеет встроенный источник опорного напряжения, напряжение с которого присутствует на выходе REFOUT (Refresh Output). Выходы данных DB[0... 7] имеют буферные каскады с тремя логическими состояниями. Выход переполнения OFL (Overflow) предназначен для каскадирования микросхем, /.-активный сигнал запроса прерывания IN T (Interrupt) формируется по окончании преобразования.
3.3. Цифровые потенциометры
Цифровые потенциометры (DP — Digital Potentiometer) представляют собой линейку из последовательно соединенных резисторов, в которой положение токосъемника изменяется с помощью цифрового сигнала. Они используются для цифроаналогового преобразования, но в отличие от традиционных схем выходным параметром такого преобразователя является сопротивление. Цифровой потенциометр всегда содержит встроенный последовательный интерфейс, с помощью которого задается его сопротивление, и управляющую логику, позволяющую реализовать ряд дополнительных функций: одновременное управление несколькими потенциометрами, установку при включении контакта потенциометра в среднее положение, отключение потенциометра с переводом всех выводов в высокоимпедансное состояние. Цифровые потенциометры с разными параметрами и интерфейсами (рис. 3.13) выпускаются целым рядом фирм: Maxim, Dallas Semiconductor, Analog Device, M icrochip и др.
М икросхема фирмы Maxim МАХ5436 является 128-позицион- ным потенциометром. Выводы //(High-Term inal), L (Low-Terminal) и W (Wiper) являются соответственно верхней, нижней и средней точками потенциометра. М икросхема требует трех источни-
n m DP ЯSCLK MAX5436 L
W
> CS Us,US2Uss
GND
тт/п ^ U' D DS1804INC
CS
НLW
UsGND
6 Водоьозов
Рис. 3.13. Цифровые потенциометры
ков питания: один источник (US1 = 2,7...5,25 В) для цифровой логики и два источника и US3) для аналоговой части. Она работоспособна при 31,5 В > ( US2— Us3) > 9 В. Напряжения питания Us2 и US3 могут быть двухполярными от ±5 до ±15 В или однополярными, например: Us2 = 20 В, Us3 = 10 В. М икросхема имеет последовательный интерфейс SPI. При включении питания движок потенциометра устанавливается в среднее положение.
Цифровой потенциометр DS1804 фирмы Dallas Semiconductor является энергонезависимым потенциометром, имеющим 100 позиций. Положение среднего вывода W сохраняется в энергонезависимой памяти типа EEPROM . Управление положением среднего вывода производится по трехсигнальному порту, имеющему интерфейс управления со счетчиком декремента-инкремента. К управляющим сигналам данного порта относятся: CS (Chip Select), IN C (Increment) и U/D (U p/D ow n). При U/D = 1 микросхема суммирует импульсы, поступающие на вход INC, а при U/D = 0 — вычитает. Напряжение питания микросхемы US1 может быть равно 3 или 5 В. Приборы выпускаются с полным сопротивлением 10, 50 и 100 кОм.
Контрольные вопросы
1. В чем преимущества и недостатки цифроаналоговых преобразователей типа R-2R?
2. В чем преимущества и недостатки цифроаналоговых преобразователей строкового типа?
3. Какие типы интерфейсов используются в микросхемах цифроаналоговых преобразователей?
4. Чем микросхема цифроаналогового преобразователя с полнораз- рядным интерфейсом отличается от микросхемы с байтовым интерфейсом?
5. В каких единицах измеряется быстродействие цифроаналоговых преобразователей и каков порядок быстродействия современных микросхем?
6. Как связаны между собой разрядность цифроаналогового преобразователя и точность преобразования?
7. Какая структура аналого-цифрового преобразователя считается:• самой быстродействующей;• самой медленной;• самой простой;• самой распространенной?
Упражнения
1. На основе микросхемы аналого-цифрового преобразователя МАХ150 постройте измеритель напряжения в диапазоне от 0 до 10 В с семисегментным индикатором.
162
2. На основе микросхемы аналого-цифрового преобразователя AD7819 постройте схему преобразования в 8-разрядный код результата деления двух напряжений.
3. Нарисуйте схему задатчика напряжения в диапазоне от 0 до 10 В на основе цифрового потенциометра DS1804 сопротивлением 10 кОм.
4. Нарисуйте схему задатчика тока в диапазоне от 0,1 до 10 мА на основе цифрового потенциометра DS1804 сопротивлением 100 кОм.
5. Нарисуйте схему усилителя с изменяющимся в диапазоне от 1 до 100 коэффициентом усиления на основе цифрового потенциометра DS1804 сопротивлением 50 кОм.
Глава 4 МИКРОКОНТРОЛЛЕРЫ
4.1. Структура микроконтроллера
Микроконтроллером называется большая интегральная схема, содержащая все основные компоненты микропроцессорной системы: процессорное ядро, память и набор стандартных функциональных модулей различного назначения. Такие интегральные схемы в настоящее время являются основными элементами встроенных систем управления самым различным оборудованием.
М икроконтроллер (рис. 4.1) состоит из трех блоков, связанных системными шинами: процессорного ядра, памяти и набора программируемых функциональных модулей различного назначения.
Процессорное ядро выполняет различные вычислительные операции и одновременно управляет работой всех остальных элементов схемы. По системным шинам процессорное ядро обменивается данными с памятью и функциональными модулями. Разрядность процессорного ядра определяет разрядность микроконтроллера. Наиболее распространены в настоящее время 8-битные (8-разрядные) микроконтроллеры. Вместе с тем ш ирокое применение в простых задачах находят и 4-битные изделия, а в сложных высокопроизводительных системах 16- и 32-битные изделия. На основе одного процессорного ядра обычно создается целое семейство микроконтроллеров. При этом память и набор функциональных модулей у всех микроконтроллеров семейства различны.
Процессорное ядро всегда имеет свою оригинальную схему и (обязательно) оригинальное имя. Например, микроконтроллеры фирмы M otorola построены на базе ядра НС05 и НС08, фирма Intel создала ядро M CS-51 и M CS-96, контроллеры фирмы
164
Рис. 4.1. Структура микроконтроллера
Microchip имеют ядро PIC12, PIC16, PIC17 или PIC18, фирма Atmel усиленно развивает семейство микроконтроллеров с ядром AVR.
В памяти микроконтроллера хранится программа его работы, исходные данные и все промежуточные результаты вычислений. В процессе работы процессорное ядро обращается к памяти для чтения данных и инструкций программы или для записи данных. Организация памяти микроконтроллера может быть различна. М икроконтроллеры с ф он-неймановской архитектурой имеют общую память для хранения данных и программ. При этом разрядность памяти, как правило, равна 1 байт. Такую архитектуру имеют, например, микроконтроллеры НС05 и НС08 фирмы Motorola. В микроконтроллерах с гарвардской архитектурой память разделена на две части: память данных (D ata Memory) и память программ (Program Memory). Разрядность памяти программ и памяти данных, а также шин доступа к ним в таких микроконтроллерах может быть различной. В частности, все микроконтроллеры PIC12, PIC16 фирмы M icrochip имеют 8-битную память данных, разрядность памяти программ у PIC12 равна 12, а у PIC16 она равна 14.
Ф ункциональные модули различных типов обеспечивают взаимодействие микроконтроллера с другими устройствами. Они могут выполнять самые различные функции: ввод и вывод данных, подсчет внешних событий и интервалов времени, передачу внешних запросов на процессорное ядро, аналого-цифровые и цифроаналоговые преобразования сигналов, сравнение различных величин, контроль за напряжением питания и др. Для процессорного ядра любой функциональный модуль представляется в виде одного или нескольких регистров. Каждый регистр имеет свой оригинальный адрес, по которому процессорное ядро находит его в процессе работы.
Программа работы микроконтроллера хранится в памяти в виде последовательности команд (инструкций). В процессе работы процессорное ядро последовательно извлекает из памяти инструкции, расшифровывает и выполняет их. В зависимости от инструкции в ядре выполняются различные арифметические и логические операции, пересылки данных. При необходимости в процессе выполнения инструкции процессорное ядро обращается за данными к ячейкам памяти и к функциональным модулям либо пересылает в них результаты вычислений. Множество инструкций, которые понимает процессорное ядро, образует систему команд микроконтроллера.
Система команд микроконтроллера может быть построена по одному из двух архитектурных принципов. Развитая система команд, содержащая большое количество инструкций разного формата, считается CISC-архитектурой (Complicated Instruction Set Computer). Различные инструкции при этом имеют разную длину
165
и разное время исполнения. Сокращенный набор команд, содержащий сравнительно малое количество инструкций одинакового формата, называется RISC-архитектурой (Reduced Instruction Set Com puter). В этом случае одна инструкция занимает только одну ячейку памяти и все инструкции имеют равное время исполнения. М икроконтроллеры с RISC-архитектурой имеют сравнительно более высокую производительность при той же тактовой частоте сигнала синхронизации и в настоящее время более распространены.
Разные производители в своих изделиях используют зачастую различные архитектурные принципы, поэтому приведенное ранее деление довольно условно.
4.2. Память
Память микроконтроллера предназначена для хранения инструкций программы и данных. Физически память организована так же, как в микросхемах памяти. Она состоит из множества ячеек определенной разрядности, каждая из которых имеет свой номер (адрес). Число ячеек (объем памяти) может быть различным. В микроконтроллерах с фон-неймановской архитектурой в общем пространстве ячеек памяти обычно выделяется отдельная область для хранения программы. В микроконтроллерах с гарвардской архитектурой память разделена на отдельные блоки: память программ (Program Memory) и память данных (Data Memory). Эти блоки памяти имеют независимую адресацию.
Память программ. Программа микроконтроллера записывается в виде последовательности команд (инструкций). Каждая инструкция имеет свой оригинальный двоичный код. Коды инструкций хранятся в памяти программ в определенной программой поеледовател ьности.
Память программ микроконтроллера по существующей классификации всегда является какой-либо разновидностью постоянной памяти типа ROM. Она энергонезависима, способна хранить записанную в нее информацию при отсутствии питающего напряжения. Основным режимом такой памяти является чтение данных, но способы записи программы (способы программирования) памяти могут быть разными. В зависимости от назначения микроконтроллера в нем может быть заложена память программ типа OTPROM , EPROM , EEPROM или Flash-memory.
М икроконтроллеры с памятью типа OTPROM программируются только один раз. Микросхемы с памятью типа EPROM могут быть перепрограммированы. При программировании такие микроконтроллеры извлекаются из изделия и устанавливаются в специальные программаторы. При использовании контроллеров с
166
памятью типа EEPROM и Flash-memory пользователь получает возможность изменения программы без извлечения из изделия. Память типа Flash-memory, кроме того, позволяет организовать перепрограммирование микроконтроллера непосредственно во время работы.
Память данных. Память данных предназначена для хранения результатов вычислений в процессе работы микроконтроллера. В процессе работы микроконтроллер обращается к ячейкам памяти данных при выполнении команд загрузки (чтения) и хранения (записи). Память данных микроконтроллера обычно является статической типа SRAM. Данные сохраняются в SRAM только при включенном питании микроконтроллера.
Специализированные ячейки Flash-memory. В энергонезависимой памяти микроконтроллеров Flash-memory могут присутствовать специализированные ячейки различной разрядности, предназначенные для защиты программы пользователя и конфигурирования изделия. Эти ячейки не отображаются в общем массиве памяти программ, имеют оригинальные имена и индивидуально программируются. Такими ячейками могут быть:
• биты-блокировки, позволяющие запретить чтение программы, энергонезависимой памяти данных типа EEPROM и программирование кристалла. Запрограммированные биты блокировки, как правило, можно стереть только при очистке Flash-memory программ. При этом уничтожается и сама программа;
• биты-предохранители (fuse-биты), задающие некоторые конфигурационные особенности микроконтроллера. Состав fuse-битов каждого конкретного микроконтроллера обусловлен особенностями построения узлов сброса, тактирования и программирования кристалла. Fuse-биты могут задавать тип источника тактового сигнала микроконтроллера, время задержки старта микроконтроллера после сброса, объем секции начальной загрузки в памяти программ;
• байты-сигнатуры, служащие для идентификации типа кристалла. Эти ячейки программируются изготовителем и доступны только для чтения.
4.3. Процессорное ядро
Каждый производитель микроконтроллеров для серии выпускаемых им изделий разрабатывает и патентует свое оригинальное процессорное ядро. Процессорное ядро содержит специализированные регистры и логические схемы, обеспечивающие извлечение инструкций из памяти и их выполнение. Набор элементов процессорного ядра обычно включает в себя программный счетчик, файл регистров общего назначения, файл регистров ввода-
167
вывода, регистр состояния, регистр инструкций, арифметико- логическое устройство, указатель стека.
Программный счетчик. Программный счетчик (PC — Program Counter) — регистр, предназначенный для хранения адреса ячейки памяти программ, в которой находится выполняемая в данный момент инструкция. При гарвардской архитектуре разрядность программного счетчика определяется числом ячеек в памяти программ; при фон-неймановской архитектуре разрядность программного счетчика определяется общим объемом памяти микроконтроллера.
В процессе выполнения программы содержимое программного счетчика изменяется. Обычно оно увеличивается на единицу после выполнения каждой инструкции. Но некоторые инструкции сами способны записывать данные в программный счетчик. В этом случае новое содержимое программного счетчика определяется данными, заложенными в выполняемой инструкции.
Регистр инструкций. Регистр инструкций — регистр, предназначенный для хранения считанной из памяти программ инструкции. Считанная из памяти программ инструкция декодируется и исполняется микропрограммным автоматом ядра. Разрядность регистра инструкций определяется разрядностью памяти программ у микроконтроллеров с гарвардской архитектурой и разрядностью общей памяти у микроконтроллеров с фон-неймановской архитектурой.
Арифметико-логическое устройство. Арифметико-логическое устройство (ALU — Arithmetic Logic Unit) — комбинационная логическая схема, непосредственно осуществляющая преобразование одной или двух переменных в соответствии с инструкцией, занесенной в регистр команд. Стандартное арифметико-логическое устройство способно выполнять простейшие арифметические и логические операции над одной или двумя переменными. Типовыми арифметическими операциями считаются сложение (addition), вычитание (subtract), инкремент (increm ent), декремент (decrement). В набор логических операций обычно входят инверсия (NOT), логическое сложение (OR), логическое умножение (AND), исключающее ИЛИ (exclusive OR). Некоторые производители интегрируют на кристалл также встроенный умножитель двух переменных.
Регистры общего назначения. Регистры общего назначения предназначены для временного хранения данных в процессе вычислений. Разрядность регистров определяет разрядность вычислений и в конечном счете разрядность самого микроконтроллера. Число регистров может быть произвольным. Обычно в этих регистрах хранится информация, обрабатываемая в арифметико-логическом устройстве, и полученный в нем результат вычислений. На некоторые из регистров могут быть возложены еще какие-либо допол
168
нительные функции. В ряде архитектур один из регистров, называемый аккумулятором, отличается от других большими возможностями. В этом регистре обычно хранится одна из переменных, обрабатываемых в арифметико-логическом устройстве, и туда же помещается результат операции.
Регистры ввода-вывода. Регистры ввода-вывода предназначены для управления функциональными блоками микроконтроллера. В различных операциях регистры могут участвовать целиком или отдельными битами. Обычно обращение к ним осуществляется с помощью специальных инструкций ввода (IN ) и вывода (OUT). При этом в инструкции указывается адрес регистра.
Регистр состояния. Регистр состояния (Status register) предназначен для хранения отдельных признаков результата, полученного при выполнении различных арифметических и логических операций в арифметико-логическом устройстве. Регистр обычно рассматривается состоящим из отдельных бит (флагов). Каждый флаг несет в себе определенную информацию о каком-либо одном признаке результата. Типовыми флагами регистра состояния яв ляются:
• флаг переноса С (Carry) — устанавливается при возникновении переноса из старшего разряда результата;
• флаг переполнения V или O V (Overflow) — устанавливается при переполнении разрядной сетки; при алгебраическом сложении двух двоичных чисел признаком переполнения является наличие переноса в знаковый разряд суммы при отсутствии переноса из ее знакового разряда (положительное переполнение) или наличие переноса из знакового разряда суммы при отсутствии переноса в ее знаковый разряд '(отрицательное переполнение);
• флаг отрицательного результата N (Negative) — устанавливается, когда результат операции является отрицательным числом; отрицательным обычно считается число, содержащее единицу в знаковом (старшем) разряде;
• флаг нулевого результата Z (Zero) — устанавливается, когда результат операции равен нулю;
• флаг полупереноса Н (H alf Overflow) или AC (Additional Carry) — устанавливается при возникновении переноса из младшей тетрады 8-битного числа в старшую (из третьего разряда в четвертый);
• флаг знака S (Sign) — определяется операцией исключающего ИЛИ (exclusive OR) между флагом отрицательного значения N и флагом переполнения V;
• флаг четности Р (Parity) — устанавливается при четном количестве единиц в результате операции.
Разрядность регистра состояния обычно равна разрядности ядра, но некоторые его биты могут быть не задействованы или задействованы в работе других узлов ядра.
169
в
Рис. 4.2. Регистры состояния: а — ядро AVR; б — ядра НС05; в — ядро MCS51
На рис. 4.2 показано размещение флагов в регистре состояния ядра AVR микроконтроллеров фирмы Atmel, ядра НС05 фирмы Motorola, ядра MCS51 фирмы Intel.
Стек. Стек — память данных, организованная по принципу «последний зашел — первый вышел» (LIFO — Last In First Out). Такая память обычно предназначается для оперативного сохранения содержимого отдельных регистров при переходах к подпрограммам.
Одним из таких регистров является программный счетчик. И звлечение из стека содержимого регистров производится в порядке, обратном порядку записи. Запись в стек и извлечение из стека не требует знания адреса ячеек памяти, в которые записываются данные.
Стек может быть организован либо в специально созданных в ядре ячейках памяти, либо в области памяти данных типа SRAM. В последнем случае в ядре предусматривается специальный регистр — указатель стека SP (Stack Pointer). Указатель стека хранит адрес последней записанной ячейки памяти в области стека. П оскольку при последовательной записи адреса ячеек всегда изменяются последовательно в сторону уменьшения, а при изображении памяти SRAM ячейки с меньшими номерами рисуются сверху, то говорят, что стек при записи растет вверх.
Число ячеек памяти (число уровней стека), которые используются в стеке для хранения данных, называется глубиной стека. Глубина стека в различных архитектурах ядра может быть различна: от двух ячеек до размера памяти данных. Например, в ядре PIC12 фирмы Microchip заложен двухуровневый стек, разрядность ячеек которого равна разрядности памяти программ (12 бит), а в ядре PIC16 той же фирмы — восьмиуровневый стек с разрядностью ячеек 13 бит. В микроконтроллерах MCS51 фирмы Intel и AVR фирмы Atmel стек организуется в памяти данных, и они оснаща-
170
ются указателем стека. В ядре MCS51 указатель стека 8-разрядный, а в ядре AVR — 16-разрядный.
Для работы со стеком в системе команд микроконтроллера предусматриваются специальные инструкции.
4.4. Функциональные модули
Функциональные модули в составе микроконтроллера могут выполнять самые разнообразные функции. Они обеспечивают работу процессорного ядра, различные режимы работы микроконтроллера, ввод и вывод данных в различных форматах, подсчет времени и событий, хранение данных. В состав микроконтроллера в качестве отдельных модулей входят тактовый генератор; схемы сброса, энергосбережения и поддержки программирования; системы прерываний; порты ввода-вывода; схемы последовательных интерфейсов; аналого-цифровые и цифроаналоговые преобразователи; аналоговые компараторы; энергонезависимая память данных типа EEPROM ; схемы управления индикаторами и клавиатурами и т.д.
Для управления функциональными модулями в них предусматриваются регистры ввода-вывода (Input/O utput registers) и особые ячейки Flash-memory. В регистры ввода-вывода информация заносится в процессе выполнения программы, а в ячейки Flash-memory — на стадии программирования микроконтроллера, одновременно с занесением программы в память программ.
I4.4.1. Тактовый генератор
Процессорное ядро всегда является синхронным микропрограммным автоматом, тактовый генератор необходим для его синхронизации. Именно период работы генератора определяет время, необходимое для выполнения элементарных операций в ядре. Простейшие операции, как правило, выполняются за один такт. Операции, связанные с извлечением данных из памяти, выполняются за два-три такта.
Схемы тактовых генераторов могут быть различными. Простейшим и наиболее дешевым считается внутренний (реализованный на кристалле) Л С-генератор. Он строится без внешних компонентов, но на частоту колебаний такого генератора сильно влияют напряжение питания и температура окружающей среды. Для изменения частоты колебаний внутреннего генератора к микроконтроллеру может подключаться внешняя RC- или Z С-цепь, параметры которой определяются рекомендациями изготовителя. На рис. 4.3, а представлен вариант подключения такой ЛС-цепи к
171
Us
JLR XTAL2
МС С1
XTAL2
XTAL1 XTAL1II
GNDС2
GND
MC
Рис. 4.3. Подключение внешних времязадающих цепей к микроконтроллеру:
а — ЛС-цепь; б — кварцевый резонатор
микроконтроллеру. Частота колебаний такого генератора определяется параметрами Л С-цепи.
При высоких требованиях к стабильности частоты колебаний к схеме внутреннего тактового генератора также могут быть подсоединены внешние высокостабильные времязадающие компоненты — кварцевые или керамические резонаторы (рис. 4.3, б). Частота колебаний в этом случае полностью определяется резонансной частотой кристалла.
Емкость конденсаторов C l, С2 подбирается по рекомендациям производителя.
В ряде случаев микроконтроллеры используются с внешними схемами тактовых генераторов. Это также обеспечивает высокую точность отсчета времени и при необходимости позволяет синхронизировать работу сразу нескольких устройств. Внешние генераторы, как правило, обладают высокой стабильностью и предсказуемостью параметров.
Если микроконтроллер допускает работу с различными схемами генераторов, то выбор той или иной схемы программируется на стадии занесения программы в память контроллера. Для хранения этой информации в Flash-памяти предусматриваются специальные биты-предохранители. В процессе работы микроконтроллера эти биты не могут быть изменены. Программирование битов- предохранителей осуществляется в соответствии с документацией на изделие.
4.4.2. Схема сброса
Схема сброса осуществляет перевод микроконтроллера в исходное состояние. При этом все регистры микропроцессорного ядра устанавливаются во вполне определенные начальные состояния и
172
микроконтроллер переходит к выполнению программы с фиксированного начального адреса.
Причинами (источниками) сброса могут являться различные физические воздействия:
• включение питания (сброс происходит, пока напряжение питания ядра не достигает определенного порога);
• внешний сброс (сброс происходит при поступлении сигнала низкого уровня определенной длительности на внешний контакт RESET микросхемы);
• кратковременный провал напряжения питания (сброс происходит, если напряжение питания контроллера в процессе работы опускается ниже определенного порога).
По любой из этих причин микроконтроллер переходит к выполнению программы с начального адреса. Причину сброса можно определить, если в системе сброса микроконтроллера предусмотрен специальный регистр, отдельные биты которого устанавливаются схемой сброса.
4.4.3. Система прерываний
Система прерываний микроконтроллера обеспечивает его взаимодействие с другими схемами и устройствами. При готовности внешнего устройства к обмену информацией с микроконтроллером оно вырабатывает сигнал запроса, который поступает в систему прерываний. Считается, что сигнал может появиться в произвольный момент времени. |
В каждой архитектуре микроконтроллера реализуется своя оригинальная система обслуживания прерываний, однако общий алгоритм обработки запросов всегда содержит одни и те же действия ядра:
• при поступлении запроса на прерывание завершается выполнение текущей инструкции программы;
• записывается в стек содержимое программного счетчика и текущее состояние некоторых наиболее важных регистров общего назначения; ;
• идентифицируется прерывающее устройство;• осуществляется переход к выполнению подпрограммы обслу
живания прерывания для идентифицированного устройства;• по окончании подпрограммы обслуживания прерывания из
влекается из стека содержимого регистров общего назначения и программного счетчика и восстанавливается состояние прерванной программы;
• возобновляется выполнение прерванной программы.Пользователю системы всегда предоставляется возможность
отключить (замаскировать) отдельные источники прерываний. Для
173
этого в схемах предусматриваются специальные программируемые регистры-маски, где каждому источнику прерываний ставится в соответствие один бит.
При большом числе источников прерываний порядок их обслуживания определяется приоритетом источника. Приоритет устанавливается в зависимости от важности и ответственности решаемой этим устройством задачи. Полагается, что запрос с большим приоритетом способен прервать подпрограммы обслуживания прерываний с меньшим приоритетом. Наиболее простым является фиксированное распределение приоритетов. При этом каждому из источников запросов присваивается постоянный приоритет, соответствующий его порядковому номеру в схеме. Ц иклическое распределение приоритетов (очередь) используется в тех случаях, когда ни одному из источников запросов исходно нельзя отдать явного предпочтения. В этом случае приоритеты входов изменяются в процессе работы контроллера после обработки любого из запросов. Вход последнего обслуженного запроса на прерывание получает низший приоритет, а приоритеты остальных входов при этом повышаются.
Идентификация источника прерывания в системе может выполняться как программными, так и аппаратными средствами.
В первом случае источник прерывания фиксируется установкой флажка в каком-либо регистре. П оиск этого флажка осуществляет прерывающая программа путем проверки всех возможных источников прерывания.
Во втором случае каждому источнику прерываний ставится в соответствие определенный адрес программы (вектор прерывания) и по этому адресу программист размещает команду перехода к соответствующей этому источнику подпрограмме обработки прерывания.
4.4.4. Порты ввода-вывода
Порты ввода-вывода обеспечивают ввод и вывод данных в параллельном формате. В режиме ввода данные с внешних контактов порта пересылаются в регистры микроконтроллера. В режиме вывода данные из регистров перемещаются на контакты микроконтроллера. Вывод данных, как правило, производится в «защелку» порта; данные присутствуют на выходных контактах до новой операции вывода в этот порт. В системе команд микроконтроллера для ввода и вывода данных обычно предусматриваются специальные команды.
В зависимости от выполняемых функций порты могут быть:• однонаправленными, предназначенными только для выпол
нения одной из операций (ввод или вывод) по всем линиям;
174
• двунаправленными, предназначенными для выполнения лю бой из операций ввода-вывода по всем линиям одновременно; направление передачи может быть изменено программно в процессе работы;
• с индивидуальной настройкой линий; направление передачи данных по каждой линии программируется независимо от остальных.
Последний вариант построения схемы порта в настоящее время наиболее распространен. В этом случае направление передачи данных любого вывода порта может быть изменено программно в процессе работы микроконтроллера.
Для работы с портами в микроконтроллере предусматриваются специальные регистры. Число регистров, обслуживающих порт, зависит от его возможностей. Для обеспечения работы однонаправленного порта достаточно одного регистра, связывающего процессорное ядро с контактами микроконтроллера. Порт ввода соединяет контакты микроконтроллера с входами регистра и позволяет процессорному ядру считывать его содержимое, а порт вывода соединяет контакты микросхемы с выходами регистра и позволяет процессорному ядру записывать в него инф ормацию. Для работы двунаправленного порта необходимо два регистра.
В регистр данных данные выводятся, из регистра входных контактов данные читаются. Для работы порта с индивидуальной настройкой выводов необходим еще регистр направления, позволяющий программировать направление передачи данных по каждой отдельной линии. Каждый бит этого регистра отвечает за одну линию ввода-вывода.
При установке бита в одно состояние линия включается на вывод данных, а при установке в другое — на ввод.
На рис. 4.4 представлен вариант подключения к микроконтроллеру посимвольного принтера, имеющего 8-битный вход DATA для приема данных, выход READY сигнала готовности и вход стро- бирования STROBE. Активным на входе стробирования обычно является сигнал низкого уровня.
Порт РогЫ микроконтроллера и бит порта Р о й Д соединенный с контактом STRO BE принтера, программируются на вывод данных, а бит порта Port!?, соединенный с контактом READY, — на ввод.
Подпрограмма вывода должна:• осуществить проверку готовности
принтера (чтение сигнала готовности принтера READY и его анализ);
• при обнаружении сигнала READY= 1 Рис. 4.4. Подключение прин- вывести данные в порт РогЫ; тера к микроконтроллеру
Микроконтроллер
Port /4ж Port В
DATA STROBE READY Принтер
175
• подтвердить вывод данных выводом сигнала стробирования STROBE= 0 для записи данных в принтер.
Если принтер не готов к обмену, то микроконтроллер через заданный интервал времени может повторить операцию.
,4.4.5. Энергонезависимая память данных
Энергонезависимая память данных типа EEPROM отличается от памяти данных типа SRAM существенно большим временем чтения и записи информации. Время обращения при записи обычно составляет несколько миллисекунд и к тому же сильно зависит от напряжения питания микроконтроллера. По этой причине обращение к EEPROM всегда осуществляется через регистры ввода-вывода. В архитектуре микроконтроллера обычно предусматриваются специальные сервисные функции, которые позволяю т пользователю программными средствами обнаруживать момент готовности EEPROM к записи. Для индикации момента готовности EEPROM к записи новых данных устанавливаются специальные прерывания по завершению процесса записи. Случайная запись в EEPROM предотвращается выполнением специальных процедур. Для работы с EEPROM в структуре микроконтроллера всегда предусматривается несколько регистров, хранящих адрес ячейки памяти, данные, команды и флаги состояния памяти. ,
4.4.6. Аналого-цифровые преобразователи
Аналого-цифровой преобразователь в составе микроконтроллера предназначен для оцифровки и ввода аналоговых сигналов с различных датчиков физических величин. В состав микроконтроллеров обычно входят 8... 16-битные многоканальные преобразователи с большим набором встроенных функций! При этом все функции преобразователя программируются и могут быть изменены в процессе работы.
Преобразователь обычно содержит схему выборки-хранения, удерживающую напряжение входа во время преобразования на неизменном уровне.
М ногоканальные преобразователи могут состоять из нескольких независимых схем, либо строятся на основе одной схемы ADC. В последнем случае на входе аналого-цифрового преобразователя устанавливается многоканальный коммутатор, позволяющий подать на вход преобразователя любой из сигналов с контактов микросхемы.
176
Аналого-цифровой преобразователь преобразует напряжение аналогового входного сигнала в цифровое значение известной разрядности. Результат в виде двоичного числа D определяется по формуле
где N — разрядность преобразователя; U — входное напряжение; U0 — опорное напряжение преобразователя.
В качестве источника опорного напряжения преобразователя микроконтроллеры допускают использование внешнего сигнала, внутреннего источника либо напряжения питания аналоговой части микроконтроллера.
Для управления преобразователем в микроконтроллере используются специальные регистры данных, управления и состояния аналого-цифрового преобразователя.
Аналого-цифровые преобразователи в составе микроконтроллеров могут работать в режиме однократного преобразования или в циклическом режиме. В режиме однократного преобразования каждое преобразование инициируется программой пользователя. В циклическом режиме аналого-цифровой преобразователь осуществляет выборку и обновление содержимого регистра данных непрерывно. Выбор режима программируется специальными битами в регистре управления.
Аналого-цифровой преобразователь обычно имеет свое собственное прерывание, которое может быть активизировано по завершению преобразования. '
4.4.7. Аналоговые компараторы
Аналоговые компараторы осуществляют сравнение двух напряжений. Результатом сравнения является логический сигнал, ф иксирующий момент равенства входных напряжений. Выход компаратора может быть использован в качестве запроса на прерывание. При этом пользователь может программировать формирование запроса по переднему или заднему фронту сигнала либо по любому его изменению.
В качестве одного из сравниваемых напряжений можно использовать внутреннее эталонное напряжение микроконтроллера, значение которого известно, либо нулевое напряжение с общего провода микросхемы.
Аналоговому компаратору, как и остальным периферийным блокам микроконтроллера, всегда выделяется вектор прерывания. Запрос на прерывание формируется по падающему или нараста
177
ющему фронту на выходе компаратора либо по любому переключению его выхода.
Для задания режимов работы компаратора используются специальные регистры управления.
На входы компараторов, как и в случае с аналого-цифровым преобразователем, могут подключаться аналоговые коммутаторы, обеспечивающие работу с большим количеством входных сигналов.
4.4.8. Таймеры-счетчики
Таймеры-счетчики обеспечивают работу микроконтроллера в реальном времени. С их помощью микроконтроллер может выполнять определенные заранее действия с объектом в заданные моменты времени. Типовыми задачами таймеров-счетчиков являются:
• подсчет импульсов сигнала за фиксированный интервал времени;
• формирование интервалов времени определенной длительности;
• формирование периодических сигналов заданной частоты;• формирование широтно-модулированных сигналов;• формирование временньк задержек;• измерение времени и др.Любая из этих задач может быть выполнена программно, йо в
этом случае процессорное ядро должно отложить все задачи и заниматься только подсчетом времени. Таймер-счетчик может быть использован для подсчета тактовых импульсов фиксированной частоты либо для подсчета любых внешних импульсных сигналов. Считается, что в первом случае устройство выполняет функции таймера, во втором — счетчика.
В современных микроконтроллерах кроме простейших функций подсчета импульсов на таймеры-счетчики возлагаются обычно дополнительные функции:
• захвата;• сравнения;• широтно-импульсной модуляции;• часов реального времени.В р е ж и м е з а х в а т а содержимое таймера-счетчика в момент
времени, задаваемый каким-либо внешним событием на входе захвата, запоминается в регистре данных и становится доступным для процессорного ядра. Одновременно формируется запрос на прерывание, сообщающий программе о готовности данных.
В р е ж и м е с р а в н е н и я содержимое таймера-счетчика сравнивается с некоторым фиксированным числом, хранящемся в од-
178
ном из регистров микроконтроллера. В момент равенства данных формируется сигнал на выходе сравнения и запрос на прерывание.
В р е ж и м е ш и р о т н о - и м п у л ь с н о й модуляции таймер- счетчик формирует последовательность импульсов определенной частоты. В последовательности длительность импульсов может быть изменена программно от нулевого значения до максимального, равного периоду сигнала.
В р е ж и м е ч а с о в р е а л ь н о г о в р е м е н и таймер-счетчик формирует импульсы на выходе и запросы на прерывание с периодом, кратным 1 с. Программный, или аппаратный, подсчет сформированных импульсов позволяет оценить реальное время работы микроконтроллера или подключенных к нему схем.
Число таймеров-счетчиков, интегрируемых на кристалл микроконтроллера, и их разрядность могут быть различны. Часто в одном контроллере используются 8- и 16-битные схемы с разными функциями. Для работы в составе систем управления электроприводами выпускаются специальные «моторные» контроллеры, формирующие трех- или шестиканальные широтно-импульсные сигналы управления ключами силовых инверторов напряжения.
Для регулирования частоты входного сигнала все таймеры снабжаются предделителями, связывающими вход таймера с тактовым генератором процессорного ядра. Коэффициент деления пред- делителя программируется. Содержимое таймера счетчика всегда программно доступно процессорному ядру для чтения и записи, а при переполнении счетчика вырабатывается запрос на прерывание программы.
I
4.4.9. Последовательные интерфейсы
Периферийные модули, реализующие стандартные последовательные интерфейсы, обеспечивают связь микроконтроллера с другими элементами системы. Современные микроконтроллеры обычно поддерживают несколько (иногда до трех) стандартных протоколов обмена интерфейса. Наиболее распространенными среди них являются UART, SPI, P C . Число линий, по которым происходит передача информации, в таких модулях равно двум или трем. Многие производители пользуются этим обстоятельством и проектируют модули универсальными, позволяющими на их основе реализовать сразу несколько типов интерфейсов. В последнее время все большее применение находит также C4jV-интерфейс. Логика работы его более сложна, и он обычно не является универсальным.
Интерфейсный модуль UART. Интерфейсный модуль UART (Universal Asynchronous Receiver Transmitter) используется мик-
179
роконтроллерами для связи с системами более высокого уровня: промышленным компьютером или программируемым логическим контроллером. Он позволяет реализовать протокол обмена ин терфейсов RS-232C, RS-422, RS-485. Ряд производителей микроконтроллеров, в частности M otorola (СШ А), модуль асинхронной приемопередачи, поддерживающий все режимы и протоколы UART, называют интерфейсом SC I (Serial Communication Interface).
Управление UART осуществляется через регистры ввода-вывода. Для организации обмена необходимы: регистры данных приемника и передатчика, несколько регистров управления и состояния, позволяющих программировать скорость передачи, задавать размер кадра и обслуживать процесс передачи.
Запись производится в регистр передачи данных, чтение — из регистра приема данных.
Скорость обмена данными в UARTпрограммируется. Программируемый генератор обычно реализуется как делитель частоты тактовых импульсов процессорного ядра. Коэффициент деления заносится в специально выделенные регистры ввода-вывода м икроконтроллера.
Передача данных инициируется записью передаваемых данных в регистр данных. По окончании передачи генерируется соответствующий запрос на прерывание.
При приеме данных обязательно производятся проверки наличия стартового бита, длины кадра и проверка бита паритета. По окончании приема генерируется запрос на прерывание и устанавливаются флаги ошибок.
Интерфейс SPI. Последовательный периферийный интерфейс SP I обеспечивает полный дуплексный обмен данными между двумя контроллерами. При этом один контроллер считается ведущим (master), второй — ведомым (slave). Ведущий контроллер является источником сигнала синхронизации (SCK ).
При 8-битных регистрах обмен длится восемь тактов. По окончании обмена генератор синхронизации останавливается и устанавливается флаг окончания передачи. Управление S P Iосуществляется через специальные регистры данных и регистры управления.
Регистр данных доступен для записи и чтения. Запись в регистр инициализирует передачу данных. Чтение регистра позволяет получить результат обмена. Интерфейсу выделяется вектор прерывания. Запрос на прерывание генерируется при завершении передачи.
Интерфейс P C . Последовательный интерфейс P C поддерживает двунаправленную последовательную связь нескольких устройств в полудуплексном режиме. В системе все устройства, участвующие в обмене, связываются двумя сигнальными линиями: SDA (Serial Data) — данные, SC K (Serial Clock) — синхронизация.
180
М икроконтроллер может выступать в роли передатчика или приемника. Синхронизацию обмена обеспечивает передатчик. Частота обмена имеет верхнее значение 100 кГц для стандартного режима и 400 кГц — для скоростного.
Для управления интерфейсом в контроллере выделяются регистры данных, адреса и управления. Регистр данных хранит байт данных для передачи или последний байт данных, полученный на двухпроводной последовательной шине. Регистр адреса — 7-бит- ный адрес устройства на двухпроводной последовательной шине.
Как и другим интерфейсам, для обслуживания P C выделяется вектор прерывания. Запрос на прерывание генерируется, если двухпроводной последовательный интерфейс закончил выполнение текущего задания и находится в состоянии ожидания.
4.4.10. Сторожевой таймер
Сторожевой таймер (Watchdog) предназначен для защиты микроконтроллера от зависаний. Он программируется на определенное время задержки, по истечении которого происходит сброс микроконтроллера. Сброс можно предотвратить, если за это время в программе встретится специальная команда сброса сторожевого таймера. Отсчет времени в этом случае начинается сначала. В правильно написанной программе команда сброса сторожевого таймера должна выполняться периодически с интервалами повторения меньшими, чем время задержки сброса сторожевого таймера.
Настройка задержки сброса производится программно — занесением информации в специальный регистр управления сторожевым таймером. При необходимости сторожевой таймер можно программно отключить.
4.4.11. Системы энергосбережения
Одним из основных показателей микроконтроллера' является энергопотребление. Величина энергопотребления характеризуется напряжением питания микроконтроллера и потребляемым током.
По напряжению питания все выпускаемые микроконтроллеры можно условно подразделить на три группы:
• микроконтроллеры с напряжением питания 5,0 В ± 10 %. Они предназначены для работы в изделиях, питающихся от промышленной или бытовой сети. Как правило, это довольно мощные микроконтроллеры с развитым набором функциональных модулей;
• микроконтроллеры с расширенным диапазоном напряжения питания (от 2 до 7 В). Такие микроконтроллеры могут быть ис
181
пользованы в изделиях как с питанием от сети, так и с автономным питанием;
• микроконтроллеры с пониженным напряжением питания. Напряжение питания таких микроконтроллеров обычно не превышает 3 В. Они специально разрабатываются для изделий с автономными источниками питания.
Ток, потребляемый микроконтроллером, зависит от его напряжения пйтания и тактовой частоты процессорного ядра. С ростом напряжения питания и тактовой частоты потребляемый ток всегда возрастает.
Большинство современных микроконтроллеров имеют несколько режимов работы, различающихся энергопотреблением. Обычно они подразделяются на две группы:
• активный режим, в котором микроконтроллер выполняет заложенную в него программу и включены все его функциональные блоки;
• режимы энергосбережения, в которых отключаются те или иные функциональные блоки микроконтроллера и его энергопотребление существенно снижается.
Режимы энергосбережения, в свою очередь, могут быть различными, например:
• режим холостого хода, при котором останавливается процессорное ядро, но продолжают работу некоторые функциональные блоки, связывающие микроконтроллер с системой. Через эти блоки процессорное ядро может быть вновь переведено в активный режим;
• режим ожидания, при котором останавливается процессорное ядро и отключается большинство функциональных блоков. Процессорное ядро может быть переведено в активный режим только через систему сброса или систему прерываний.
Для перевода микроконтроллера в тот или иной режим энергосбережения в системе команд предусматриваются специальные инструкции, а в его архитектуре — специальные регистры.
4.5. Сравнительная характеристика микроконтроллеров
На рис. 4.5 представлены 8-разрядные микроконтроллеры, ориентированные на сравнительно простые задачи.
М икроконтроллер MC68HC705KJ1 принадлежит семейству НС05 фирмы Motorola. Он имеет фон-неймановскую архитектуру и CISC-систему команд из 65 инструкций. Длительность исполнения большинства команд составляет от 2 до 6 машинных циклов или от 1 до 3 мкс при внутренней тактовой частоте 2 МГц. Внутренняя память программ микроконтроллера типа OTPROM имеет
182
м с РАМС68
>RESET HC705KJ1 0
OSC1 1
OSC2 2
3) IRQ/
uP 4
5
6
7
РВ
2
3
Us,US2
) MCLR
OSC1/CLKINOSC2/
CLKOUT
MCPIC16F83
RAO
RA1
RA2
RA3RA4/
TOSK1
—
RBO/INT
—
RBI —
RB2 —
RB3 —
RB4 —
RB5 —
RB6 —
RB7 —
Us, —
US2 —
Рис. 4.5. Примеры 8-разрядных микроконтроллеров
емкость 1,2 Кбайт, внутренняя память данных типа SRAM — 64 байт. М икроконтроллер имеет 15-разрядный многофункциональный таймер с блоком прерываний реального времени по сигналам переполнения, на основе которого также реализуется сторожевой таймер. Десять линий ввода-вывода объединены в два порта: РА [0...7] и РВ[2,3]. Входы OSC1 и OSC2 предназначены для подключения внешней R С-цепи или кварцевого резонатора, вход RESE T — для сброса микроконтроллера, вход IRQ/US — для аппаратного запроса на прерывания и перевода микроконтроллера в режим программирования.
М икроконтроллер PIC16F83 фирмы Microchip имеет гарвардскую архитектуру и RISC-систему команд из 35 инструкций. Большинство команд выполняется за один цикл длительностью 400 не при частоте тактового генератора 10 МГц. Flash-память программ микроконтроллера имеет объем 512 байт, память данных типа SRAM — объем 36 байт, Flash-память данных — 64 байт. М икроконтроллер имеет 13 линий ввода-вывода, объединенных в два порта (&4[0...4] и Л б[0...7]), 8-разрядный таймер-счетчик, сторожевой таймер с собственным RC-генератором. Вывод OSC1/CLKIN мик
183
росхемы предназначен для подключения источника тактового сигнала, вывод O SC 2/C LKO U Tявляется выходом тактового сигнала, а в режиме работы с внешним резонатором используется для подключения резонатора. Входы RB [4... 7] можно использовать как входы запросов на прерывания, вход M CLR используется для сброса микроконтроллера или перевода его в режим программирования. Вывод Us предназначен для подключения источника питания напряжением 5 В, а вывод GND — для подключения к общему проводу источника питания.
Контрольные вопросы
1. В чем принципиальное отличие гарвардской и фон-неймановской архитектур процессорного ядра? Какие они имеют преимущества и недостатки?
2. В чем принципиальное отличие CISC- и RISC-архитектур системы команд процессорного ядра? Какие они имеют преимущества и недостатки?
3. Какая информация хранится в регистре состояния микроконтроллера? В каких командах используется содержимое этого регистра?
4. Какая информация хранится в программном счетчике микроконтроллера? Какие команды влияют на его содержимое?
5. Какие действия микроконтроллера невозможны без стековой памяти?
6. Как меняется содержимое указателя стека при проталкивании данных в стек и при выталкивании данных из стека?
7. Какие операции может совершать микроконтроллер с содержимым регистров общего назначения?
8. Какие операции может совершать микроконтроллер с содержимым регистров ввода-вывода? >
9. Какие операции может совершать микроконтроллер с содержимым памяти данных?
10. Для чего в структуре микроконтроллера предусматривается энергонезависимая память данных?
11. Почему память типа EEPROM не может быть единственной памятью данных микроконтроллера?
12. Как устроены и как программируются порты ввода-вывода с индивидуальной настройкой линий?
13. Какие задачи может решать таймер-счетчик в микропроцессорной системе?
14. Как работает таймер-счетчик в режиме захвата?15. Как работает таймер-счетчик в режиме сравнения?16. Как работает таймер-счетчик в режиме широтно-импульсной мо
дуляции?17. Как строится многоканальный аналого-цифровой преобразователь
в составе микроконтроллера?18. В каких случаях аналого-цифровой преобразователь формирует зап
рос на прерывание?
184
19. Какие задачи в микропроцессорной системе решает аналоговый компаратор?
20. Для чего в микроконтроллерах предусматривается сторожевой таймер?
21. Какие режимы энергосбережения используются в микроконтроллерах?
22. Как синхронизируются данные, передаваемые модулем UARTI
Упражнения
1. Нарисуйте схему подключения цифроаналогового преобразователя МАХ506 к микроконтроллеру MC68HC705KJ1.
2. Нарисуйте схему подключения цифрового потенциометра DS1804 к микроконтроллеру PIC16F83.
Глава 5 ДАТЧИКИ
5.1. Классификация датчиков
Датчиком называют устройство, преобразующее физическое воздействие в электрический сигнал, предназначенный для передачи в систему автоматики информации о параметрах этого ф изического воздействия. Датчик обычно состоит из двух взаимосвязанных блоков: чувствительного элемента (сенсора) и нормирующего преобразователя.
Сенсор, используя различные физические законы, обеспечивает преобразование физического параметра в электрический сигнал. Состав и конструкция сенсора определяются типом измеряемой величины и методом ее восприятия, особенностями размещения датчика и имеющимися помехами измерению со стороны окружающей среды.
Нормирующий преобразователь усиливает выходной сигнал сенсора до величины, достаточной для передачи его на другие элементы системы, производит линеаризацию характеристики датчика или придает ей нужный вид (например, логарифмический), осуществляет фильтрацию, масштабирование, преобразование в заданные единицы измерения, дискретизацию, квантование и кодирование сигнала при преобразовании его в цифровую ф орму, обеспечивает передачу сигнала по выделенным датчику линиям связи другим элементам системы. Текущие значения измеряемого параметра в нормирующем преобразователе могут сравниваться с рядом заданных значений (уставок) и накапливаться в памяти.
Даже для измерения одного физического параметра датчики очень различны и классифицируются весьма условно по самым различным признакам:
• по измеряемому параметру: датчики линейной и угловой скорости, линейного и углового перемещения, момента, положения, тока, напряж ения, магнитного поля, температуры, давления, влажности;
• принципу действия: оптические, индуктивные, емкостные, пьезоэлектрические, тензометрические, акустические, вибрационные, на основе эффекта Холла, электромеханические, фото- импульсные, лазерные, контактные, потенциометрические, пирометрические, инфракрасного излучения, биметаллические, терморезистивные, магниторезистивные, фотодиодные и др.;
186
• области применения: общепромышленного назначения, металлургические, авиационные, автомобильные, охранной сигнализации, биомедицинские;
• различным сервисным функциям: цифровые и аналоговые, с гальванической развязкой, интерфейсные, программируемые, с памятью, беспроводные, интеллектуальные;
• технологии изготовления: полупроводниковые, электромеханические, микроэлектромеханические, электрохимические;
• конструктивному исполнению: в металлическом корпусе, бескорпусные, пылезащищенные.
Основная особенность современных датчиков — цифровая обработка сигналов как следствие использования в них микроконтроллеров и больших интегральных схем с программируемой логикой. Это обеспечивает так называемую коммуникационную открытость датчиков — соответствие их выходных сигналов стандартам на! аналоговые сигналы и цифровые интерфейсы. Важным преимуществом цифровой формы представления информации является также уменьшение помех в процессе передачи сигналов между элементами систем.
5.2. Датчики угловой скорости
Современные датчики угловой скорости для автоматизированного электропривода относятся к классу оптоэлектронных устройств. Они сочетают в едином корпусе прецизионную оптическую систему, фотоэлементы и цифровые интегральные схемы. По устоявшейся общепринятой терминологии такие датчики называются шифраторами приращений, или инкрементальными эн- кодерами.
В шифраторе приращений движение механизма с помощью гибкой муфты передается на вал датчика. В корпусе датчика на валу крепится прозрачный стеклянный или пластиковый кодирующий диск, на котором в зависимости от типа датчика нанесены одна, две или три дорожки непрозрачных меток (рис. 5.1).
Число меток на первых двух дорожках А и В всегда одинаково, метки на дорожках размещены по окружности равномерно, но со сдвигом на четверто периода по окружности. На третьей (индексной) дорожке всегда только одна метка, фиксирующая точку отсчета. Считывание меток и получение соответствующих логических сигналов в датчике осуществляется оптоэлектронным способом, при котором дорожки просвечиваются, а сигналы с фотоприемников усиливаются и формируются до стандартных логических уровней. При вращении диска световые потоки от источников периодически перекрываются непрозрачными метками, что приводит к появлению импульсных сигналов на выходах датчика.
187
I
Рис. 5.1. Шифратор приращений:1 — дорожка А; 2 — дорожка В; 3 — индексная дорожка; 4 — кодирующий диск;
5 — источники света; 6 — фотоприемники; 7 — ось вращения
Число меток, расположенных на дорожках А и В, определяет разрешающую способность датчика. Современные технологии нанесения меток и изготовления полупроводниковых фотоприемников позволяют распознавать метки размером в несколько микрон. При диаметре диска в несколько сантиметров достигается разрешающая способность до 10000 меток/оборот.
Одноканальные шифраторы. Одноканальные (тахометрические) шифраторы приращений при вращении в любом направлении формируют на выходе датчика периодическую импульсную последовательность (сигнал А на рис. 5.2). ,
Частота следования импульсов / Гц, на выходе такого ш ифратора определяется скоростью вращения диска и разрешающей способностью датчика по формуле
/ = пк,где п — скорость вращения диска, об/с; к — разрешающая способность (меток/оборот).
При движении в одном направлении простой подсчет импульсов на выходе датчика позволяет оценить угловое перемещение вала датчика, ф, рад, с момента начала наблюдения:
А Г - 1 Г "1 П П _ л Г~1 Н Г~1 Г~1 ,t t
в Г " I Г " I |— 1 I 1 — Г в I— 1 .1— 1 Г~1 I Lt t
а б
Рис. 5.2. Выходные сигналы шифратора приращений: а — при движении по часовой стрелке; б — при движении против часовой стрелки
188
Ф = 2тiN /k ,
где N — число подсчитанных счетчиком импульсов.Если же время счета ограничить некоторым фиксированным
интервалом Т, то по показаниям счетчика можно оценить угловую скорость вращения вала:
n = N /(T k).
Определить направление вращения одноканальные шифраторы приращений не позволяют, а изменение направления вращения датчика в процессе движения обязательно приведет к появлению ошибки при попытках оценки скорости и перемещения по приведенным выше формулам. Кроме того, при использовании одноканального шифратора при остановке механизма может наблюдаться явление позиционного дрожания. При остановке оптического диска на границе метки в результате воздействия вибрационных колебаний метка будет периодически перекрывать световой поток, а на выходе датчика появятся ложные импульсы.
Двухканальные шифраторы. Двухканальные шифраторы при равномерном вращении диска формируют два так называемых квадратурных сигнала А и В — две сдвинутые друг относительно друга на 90° периодические импульсные последовательности (см. рис. 5.2). Квадратурные сигналы позволяют при их логической обработке определить направление вращения вала и оценить перемещение в двух направлениях.
Угловая скорость вращения, как и в одноканальном шифраторе, может быть определена путем измерения частоты следования импульсов сигнала А или сигнала В. При этом квадратурные сигналы позволяют повысить разрешающую способность датчика в 2 или даже в 4 раза. Для повышения разрешающей способности в 2 раза над сигналами А и В выполняют операцию ИСКЛЮ ЧАЮ Щ ЕЕ ИЛИ (рис. 5.3). Сигнал х2, полученный в результате такой операции, имеет частоту в 2 раза большую, чем каждый из сигналов А и В.
* - £ 3 О П I I* г~1 гп гл... * * п п п п п п п п '
П П.П П П П П П П П П П Л ПOILt
Рис. 5.3, Повышение разрешающей способности двухканального шифратора приращений
189
Рис. 5.4. Использование D-триггера для определения направления вращения по квад
ратурным сигналам
Для повышения разрешающей способности в 4 раза формируются импульсы по передним и задним фронтам сигнала х2. Сигнал х4, полученный при таком преобразовании, имеет частоту в 4 раза большую, чем исходные сигналы А и В.
Направление вращение датчика определяется по разности фаз сигналов А и В. При вращении диска по часовой стрелке (вперед) сигнал А отстает от сигнала В, а при вращении диска против часовой стрелки (назад) сигнал А опережает сигнал В. Для определения направления можно, например, фиксировать состояние сигнала В по фронту сигнала А. Тогда при перемещении по часовой стрелке (см. рис. 5.2, а) В = 1, а при перемещении против часовой стрелки (см. рис. 5.2, б) В = 0. Эту задачу сравнительно просто решает D-триггер, на вход синхронизации которого подается сигнал А, а на D-вход — сигнал В (рис. 5.4). При вращении по часовой стрелке (вперед) на выходе триггера устанавливается сигнал знака Sign = 1, а при вращении против часовой стрелки (назад) — Sign = 0.
В современных датчиках в целях повышения помехоустойчивости для определения направления вращения часто используют не фронты, а изменения логических состояний квадратурных сигналов. Опрос сигналов производится постоянно. Если обнаруживается изменение состояния одного из сигналов, то знак скорости определяется как логическая функция от четырех переменный: А и В — исходное состояние сигналов (до изменения), А* и В* — новое состояние сигналов (после изменения). Логическая функция описывается табл. 5.1, которая следует из диаграмм, представленных на рис. 5.2.
Т а б л и ц а 5.1Таблица переходов для определения направления вращения
двухканального шифратора приращенцй
А * и В * (новое
состояние)
А и В (исходное состояние)
Sign(направление
вращения)
А * и В * (новое
состояние)
А и В(исходноесостояние)
Sign(направление
вращения)
10 00 Назад 11 10 Назад
01 00 Вперед 00 10 Вперед
00 01 Назад 01 11 Назад
11 01 Вперед 10 11 Вперед
190
Если принять, что при движении вперед Sign = 1, то из табл. 5.1 следует:
Sign = A B A ^ B * v A B A * B * v A B A ' T ' v A B A * i r * .
Эту формулу можно упростить. Если учесть, что переходы [АВА*В*] = 0011, 0110, 1001, 1100 невозможны, то
Sign = А ■ В ■ В * vA • А * v B ■ А * ~В*.
Трехканальные шифраторы. Трехканальные шифраторы приращений в дополнение к квадратурным сигналам А и В формируют за один оборот вала один импульс / (Index). Этот импульс обычно принимают за начало отсчета и используют для сброса счетчика при измерении углового перемещения. В результате показания счетчика соответствуют углу поворота вала относительно определенного начального положения.
Микросхемы квадратурного декодирования. Для обработки сигналов квадратурных датчиков разрабатываются специализированные микросхемы. Одна из таких микросхем LS7082, выпускаемая фирмой LSI Com puter Systems, представлена на рис. 5.5.
Входы А, В и IND X микросхемы подсоединяются к выходам трехканального шифратора приращений. С помощью входов х2 и х4/х1 по табл. 5.2 задается один из трех возможных режимов работы микросхемы.
К контакту RBIAS микросхему подключается резистор настройки длительности выходных импульсов в режиме х4.
При движении вперед микррсхема формирует последовательность импульсов UPCK, при движении назад — DNCK. И ндексный выходной сигнал микросхемы IN D X синхронизирован со счетными импульсами и может быть использован для начальной установки счетчиков. Выходы микросхемы могут непосредственно подключаться к входам реверсивного счетчика стандартной логики.
Выходные сигналы шифраторов приращений обычно имеют уровни стандартной TTL-схемы. Иногда для повышения нагрузочной способности и передачи сигналов на расстояние более 1 м
Рис. 5.5. Микросхема преобразователя квадратурных сигналов
LS7082 u pckS -DNCKi INDX СRBIAS
Us GND
191
Т а б л и ц а 5.2Таблица задания режима преобразователя квадратурных сигналов
х2 x4/xl Входной сигнал
1 1 х4
1. 0 х1
0 0 х2
Т а б л и ц а 5.3 Шифраторы приращений фирмы Peperl + Fuchs
ПараметрыСерия датчиков
10 14 20 30 58 60
Максимальная скорость вращения, об/мин
6 000 6 000 3 000 6 000 12 000 6 000
Максимальная разрешающая способность, меток/оборот, для пластикового/стеклянного диска
1 500/ 5 000
1 500/ 5 000
2 500/— 1500/ 5 000
1500/ 5 000
1 250/—
Число каналов 1/2/3 2/3 1/2/3 1/2/3 3 1/2/3
Вид выходного сигнала/ TTL/ TTL/ TTL/ TTL/ - / TTL/—интерфейс RS422 RS422 RS422 RS422 RS422 !
выходы выполняются с открытым коллектором или как двухтактные выходные каскады с повыш енной нагрузочной способностью.
В табл. 5.3 приведены паспортные данные ряда шифраторов приращений фирмы Peperl + Fuchs.
На рис. 5.6 изображен шифратор приращений 20-2952-2500, имеющий 2 500 меток на оборот и выходной интерфейс RS422.
Датчики линейной скорости. Для измерения линейной скорости движения используются те же шифраторы приращений, конструктивно дополненные мерными колесами, осуществляющими преобразование линейного перемещения в угловое. При известном диаметре мерного колеса R линейная скорость v легко вычисляется по угловой скорости:
v = I khR, где п — угловая скорость, об/с.
192
21221
Рис. 5.6. Шифратор приращений 20-2952-2500 фирмы Peperl + Fuchs
Encoder А20-2952-2500 В
IndexUs
GND
5.3. Датчики положения
Датчики положения используются для контроля положения и перемещения механизмов, в задачах определения уровня, измерения расстояния, в следящих электроприводах и в разном технологическом оборудовании. Первичные преобразователи датчиков положения используют самые разнообразные физические принципы. В электрическом приводе активно используются наиболее точные оптоэлектронные датчики, известные как абсолютные шифраторы.
Абсолютные шифраторы. Оптоэлектронный абсолютный ш ифратор осуществляет преобразование углового положения вала в двоичный код и по своему устройству очень похож на шифратор приращений. В отличие от шифратора приращений он имеет значительно больше дорожек на кодирующем диске. Количество дорожек определяется разрядностью преобразования.
П розрачны й кодирую щ ий д и ск абсолю тного ш иф ратора (рис. 5.7) разделяется на сектора. Каждый сектор, в свою очередь, разделяется на отдельные концентрические дорожки. Сектора кодируются, и код сектора наносится на дорожки в виде последовательности непрозрачных меток. Оптоэлектронная система абсолютного шифратора состоит из источников света и фотоприемников, расположенных напротив каждой дорожки. В любой момент времени она обеспечивает считывание двоичного кода, соответствующего угловому положению вала.
При кодировании дорожек обычно используется код Грея, в котором две соседние кодовые < комбинации отличаются только одним битом. Это позволяет избавиться от погрешности, вызван-
1 2 3
Рис. 5.7. Абсолютный шифратор:1 — кодирующий диск; 2 — источники света; 3 — фотоприемники; 4 — ось
вращения
7 Водоыозон 193
ной неоднозначностью считывания кода на границе секторов. Выходные данные шифратора могут быть также представлены в коде Грея, обычном двоичном коде или двоично-десятичном BCD- коде. Для преобразования кода Грея в нужный выходной код схема абсолютного шифратора содержит соответствующий преобразователь кода.
Общее число комбинаций на кодирующем диске выбирается равным степени числа 2. При пяти дорожках, показанных на рис. 5.7, число кодовых комбинаций равно 25= 32. В современных однооборотных шифраторах число дорожек — не более 13, что обеспечивает 213 = 8 192 отсчета на один оборот диска.
Для повышения точности измерения шифраторы изготавливаются многооборотными. В корпусе датчика устанавливается встроенный редуктор, позволяющий обнаружить до 4 096 оборотов. П оэтому полная разрядность многооборотного абсолютного ш ифратора уже достигает 25 бит, общее число кодовых комбинаций при этом равно 225 = 3 355 432. Точность измерения угла при этом достигает 360 х 60 х 60/33 554 432 = 0,04 с".
Данные с выхода абсолютного шифратора могут быть считаны в любой момент времени. При отключении и последующем включении датчика информация не теряется. Современные абсолютные шифраторы для сопряжения с другими элементами систем автоматики снабжаются стандартными последовательными интерфейсами, обеспечивающими гальваническую развязку и скорость передачи данных до 12 М бит/с.
Производством абсолютных шифраторов занимаются фирмы Ошгоп Electronics, Peperl + Fuchs, BallufF. В табл. 5.4 приведены параметры ряда абсолютных шифраторов фирмы Peperl + Fuchs.
Потенциометрические датчики линейного перемещения. Потенциометрический датчик линейного перемещения представляет собой линейно изменяющееся сопротивление с выводом средней
Т а б л и ц а 5.4 Абсолютные шифраторы фирмы Peperl + Fuchs
ПараметрыМодель
AVE10 AVM10 SCS10 PVM10
Разрядность 12 24 13 25
Число оборотов 1 4 096 1 4 096
Выходной код Двоичный, код Грея
Двоичный, код Грея
Двоичный, BCD- код, код Грея
Двоичный
Интерфейс RS422, SSI RS422, SSI Параллельный RS485
194
Рис. 5.8. Схема потенциометрического датчика перемещения
VREF
Vq u t
Xточки (рис. 5.8). При движении ползунок перемещается по направляющей сопротивления.
Если потенциометр подсоединить к источнику опорного напряжения URef, а входное сопротивление схемы, подключенной к выходу датчика, считать значительно большим, чем его номинальное сопротивление, то выходное напряжение U0ut линейно зависит от текущего положения ползунка:
U оит = U r e f j ,
где X — текущее положение датчика; L — максимальное перемещение (диапазон измерения).
Основными параметрами потенциометрических датчиков считаются:
• номинальный диапазон перемещения;• номинальное сопротивление;• разрешение.Параметры некоторых потенциометрических датчиков фирмы
Honeywell приведены в табл. 5.5.
, Т а б л и ц а 5.5Потенциометрические датчики фирмы Honeywell
Тип датчика Диапазон перемещения, мм
Сопротивление,кОм Разрешение, мм
ММ10-30 10...30 1...10 Менее 0,01
CLP 13 12,7... 101 1 ...20 Менее 0,01
CLP21 , 15... 100 1 ...20 Менее 0,01
SPI/SPR18 25... 150 1 ...20 Менее 0,01
LP/CFL 55... 1000 2...500 Менее 0,01
CI 18 25... 150 1/5 Менее 0,01
CR18 10...50 1/5 Менее 0,01
RC20 50...250 2/8/10 Менее 0,01
MMS33 50... 900 5/10 Менее 0,01
MSL38 100... 2 000 5/10/20 Менее 0,01
195
Для преобразования результатов измерений в цифровой сигнал на выход потенциометрического датчика подключается аналого-цифровой преобразователь.
5.4. Датчики тока
Датчики тока обеспечивают преобразование токовых сигналов в напряжение или цифровую форму, представляют информацию о мгновенных, средних и действующих значениях тока. Современные датчики, решающие эти задачи, строятся на различных ф изических принципах в самом разном конструктивном исполнении и работают в цепях постоянного и переменного тока в диапазоне от единиц миллиампер до сотен и тысяч ампер. Первичные преобразователи датчиков используют самые различные физические принципы. Наиболее распространенными являются резистивные датчики, датчики Холла и трансформаторные датчики.
Резистивные датчики. Чувствительным элементом резистивного датчика является резистор специального исполнения (шунт), включенный в цепь последовательно нагрузке. Падение напряжения на резисторе, пропорциональное измеряемому току, поступает на нормирующий преобразователь для дальнейшей обработки и преобразования. Такой сенсор работоспособен в цепях переменного и постоянного тока, отличается простотой и точностью, но не обеспечивает гальванической развязки электрических цепей.
Шунты с номинальными сопротивлениями от 0,001 до 100 Ом мощностью до 5 Вт и допуском от ± 0,5 до ± 5 % выпускает целый ряд производителей. Номинальное сопротивление, рассеиваемая мощность и температурный коэффициент сопротивления резистивного датчика выбираются исходя из реальных условий эксплуатации. Считается, что максимальное падение напряжения на измерительном резисторе не должно быть более 200 мВ, при этом изменение сопротивления датчика из-за саморазогрева не должно превышать 0,1 %. Некоторые производители предлагают резисторы с четырьмя выводами: два токовых для подкдючения измеряемой цепи, и два потенциальных, используемых как выходы. При производстве токоизмерительных резисторов особое внимание уделяется снижению их паразитной индуктивности, существенно влияющей на частотные свойства датчиков. В табл. 5.6 приведены параметры резистивных датчиков тока фирм Vishay Intertechnology и IRC.
Для преобразования выходного напряжения резистивных датчиков и гальванической развязки цепей необходимы специализированные микросхемы. Например, микросхема H CPL 7510/7520 фирмы Agilent Technologies (рис. 5.9) обеспечивает линейность 0,06 % и гальваническую развязку до 1 000 В.
196
Т а б л и ц а 5.6Резистивные датчики тока фирм Vishay Intertechnology и IRC
Производитель Серия Мощность, Вт Сопротивление, Ом Допуск, %
Vishay WSL0805 0,125; 0,5 0,01 ...0,2 0,5; 1
WSL1206 0,25; 0,5 0,002 ...0,2
WSL1210 0,5; 1 0,001 ...0,5
WSL2512 l; 2 0,001 ...0,5
WSL2010E 0,5 0,5... 10000
IRC CSC 5 0,001 ...0,005 1; 5OLV 1; 3; 5 0,003... 0,03 5; 10
WSM1 1 0,01... 1 000 1; 5WSM2 2
О8(NОО
1;5
Для подключения микросхемы необходимо два гальванически развязанных источника питания, подключаемых к контактам USI, GND1 и US2, GND2. Контакты VIN+ и VIN- предназначены для подключения к резистивному датчику тока. Контакт VREF — для подключения источника опорного напряжения, задающего коэффициент преобразования.
Выходной сигнал снимается'с контакта VOUT.Датчики Холла. Эффект Холла проявляется в появлении ЭДС
на концах проводника или полупроводника, размещенного в магнитном поле. Магнитное поле в датчике создается током, протекающим по проводнику, помещенному в разрезной тороидальный магнитный сердечник.
Известны две конструкции датчиков тока на основе эффекта Холла: датчики разомкнутого и замкнутого типов.
В датчике р а з о м к н у т о г о т и п а выходным сигналом является напряжение, пропорциональное току первичной цепи. В датчике з а м к н у т о го т и п а для повышения чувствительности предусмотрена компенсационная обмотка. Чувствительность такого датчика прямо пропорциональна числу витков вторичной обмотки. Выходной сигнал датчика замкнутого типа токовый.
Большой выбор датчиков тока, предназначенных для работы в диапазоне токов от 200 мА до 1 ООО А, разомкнутого и замкнутого типов предлагают разные про-
VIN+VIN-
VREF
HCPL7510
VOUT
UsiGND1
US2GND2
Рис. 5.9. Микросхема HCPL 7510/7520 для ре
зистивного датчика
197
Т а б л и ц а 5.7 Датчики тока разомкнутого типа фирмы F.M.Bell
Тип датчика Номинальный ток, А
Номинальное выходное
напряжение, ВПогрешность
линейности, %
MS-15 15 1,7 +1MS-20 20 1,2 ±1ВВ-25 25 1 +1
ВВ-100 100 5 ±1ВВ-150 150 6 ±0,6ВВ-300 300 6 ±0,7ВВ-600 600 6 ±1,25
изводители. Параметры датчиков тока разомкнутого и замкнутого типов фирмы F.M.Bell приведены соответственно в табл. 5.7 и 5.8.
Трансформаторные датчики. Датчики на базе трансформаторов тока обычно работают на частоте промышленной сети 50, 60 или 400 Гц и не могут использоваться в цепях постоянного тока. Если в цепи измеряемого тока присутствует постоянная составляющая, то сердечник насыщается и ошибка преобразования недопустимо возрастает. Трансформаторные датчики обеспечивают гальваническую развязку цепей и не нуждаются в дополнительном источци- ке питания. Для установки на печатные платы они выпускаются в малогабаритном исполнении. Малогабаритные трансформаторы тока серии TR сетевой частоты, рассчитанные на ток до 100 А
Т а б л и ц а 5.8 Датчики тока замкнутого типа фирмы F.M.Bell
Тип датчика Номинальный ток, А
Номинальный выходной ток, мА
Погрешность линейности, %
CLS-25 25 25 ±0,5CLN-50 50 50 ±0,5CLN-100 100 100 ±0,5CLN-200 200 100 ±0,5CLN-300 300 150 ±0,5CLN-500 500 100 ±0,5
CLN-1000 1 000 200 ±0,3
198
(действующее значение), выпускает компания Inductive Technologies.
Современные трансформаторные датчики тока являются интеллектуальными устройствами, в которые производители встраивают нормирующие преобразователи, аналого-цифровые преобразователи и интерфейсные схемы. Компания CR Magnetics разработала серию трансформаторных датчиков тока CR4100, позволяющих измерять действующее значение переменного тока до 150 А с повышенным содержанием гармоник. Датчики имеют потенциальный (0 ...5 В) или токовый (4...20 мА) выход. Полоса рабочих частот датчиков — от 20 Гц до 5 кГц, напряжение изоляции — 2 500 В. Кроме того, компания CR Magnetics выпускает одно-, двух- и трехканальные цифровые датчики тока серии Data Stream с интерфейсом RS485, рассчитанные на токи до 25 А. Встроенный аналого-цифровой преобразователь имеет разрешающую способность 16 бит. Скорость передачи данных по интерфейсу — до 19 200 бит/с.
5.5. Датчики напряжения
Датчики напряжения преобразуют высоковольтные сигналы в силовых цепях в сигналы низкого уровня напряжения, обеспечивая при этом гальваническую развязку электрических цепей. В основе действия датчиков обычно используется эффект Холла. Измеряемое напряжение с помощью йнешнего резистора R преобразуется в ток, поступающий на входные клеммы датчика (рис. 5.10).
Сопротивление резистора выбирается пользователем исходя из номинального входного тока. В табл. 5.9 приведены параметры датчиков напряжения фирмы LEM.
R LV 25-Р + гл-Г ~ ^ -~ + 15 В
Рис. 5.10. Схема подключения датчика напряжения LV 25-Р -15В
Т а б л и ц а 5.9Д атч и ки напряж ения ф ирмы L E M
Тип датчика Входной ток, мА
Входное напряжение, В Точность, % Выходной
сигнал, мА
LV 25-Р 10 О СЛ 8 0,6 25
LV100 10 100...2 500 0,7 50
199
Датчики температуры широко распространены во многих системах автоматики.
Известными производителями датчиков являются фирмы Dallas Semiconductor, Analog Device, Honeywell, Linear Technology, Maxim Integrated Products, National Semiconductor.
Простейшие датчики температуры представляют собой платиновые терморезисторы с линейной зависимостью сопротивления от температуры.
Зависимость описывается эмпирическими формулами с точно определенными коэффициентами. Формулы и коэффициенты всегда приводятся в документации датчиков, что позволяет вводить их в программы расчета температуры и получать результат измерения с высокой точностью. Платиновые терморезисторы выпускаются с номиналами 100 и 1 ООО Ом при температуре окружающей среды 0 °С. Диапазон рабочих температур датчиков зависит от типа прибора.
Более совершенные датчики могут осуществлять прямое преобразование температуры в код, контролировать выход температуры за установленные пределы, имеют стандартные интерфейсы, позволяющие подключать множество датчиков к одной шине. Кроме того, некоторые изделия имеют внутреннюю память типа EEPROM и встроенные часы реального времени.
Они позволяют с помощью центрального процессора снимать температурные характеристики с измеряемого объекта в течение длительного времени. >
Ф ирма Dallas Sem iconductor предлагает набор температурных датчиков, которые измеряют температуру в диапазоне -40 °С... +125 °С и обеспечивают точность ±2°С с крутизной 6,25 мВ/°С. Например, цифровой термометр DS 18В20 позволяет считывать температуру с разреш ением от 9 до 12 разрядов. Для связи с другими приборами он снабжен однопроводным интерфейсом 1- Wire.
Интерфейс 1-Wire позволяет объединять в систему большое количество разных устройств. Одно из устройств, подключенных к линии, является ведущим (master), остальные — ведомыми (slave). Информация, передаваемая по интерфейсу 1-Wire, воспринимается подключенными к нему устройствами либо как команды, либо как данные. Команды генерируются ведущим и обеспечивают различные варианты поиска и адресации ведомых устройств, определяют активность на линии даже без непосредственной адресации отдельных компонентов, управляют обменом данными в сети и т.д.
При реализации однопроводного интерфейса используются стандартные уровни сигналов TTL-схемы, а питание болыпин-
5.6. Датчики температуры
200
ства однопроводных компонентов осуществляется от внешнего источника Us с рабочим напряжением в диапазоне 2 ,8 ...6 ,0 В, подключенного к линии данных через резистор 5 кОм.
Каждый датчик фирмы Dallas Semiconductor имеет уникальный серийный номер, благодаря чему к одной шине можно подключать несколько приборов. Датчики можно размещать в различных местах и собирать ведущему шины информацию по простому двухпроводному кабелю. На рис. 5.11 показаны основные узлы датчика температуры DS 18В20.
В состав прибора входят:• 64-разрядная память типа ROM, хранящая серийный номер
изделия;• температурный датчик;• энергозависимая память, хранящая предельные значения тем
пературы (температурные ТН - и TL-триггеры);• регистр конфигурации.Связь с DS 18В20 осуществляется через однопроводной интер
фейс 1-Wire. Ведущий шины сначала должен передать по шине команду, позволяющую выделить нужный из множества включенных датчиков.
Ведущий может также узнать, сколько и какие типы приборов присутствуют на шине.
После успешного выполнения функциональной команды память и управление микросхемой становятся доступны и ведущий может выполнить любую команду чтения данных и управления прибором. '
Датчик температуры, представленный на рис. 5.11, может использовать питание по линии однопроводного интерфейса. Если на выводе DQ присутствует сигнал высокого уровня, то схема получает энергию с этой линии и использует ее для подзарядки
Рис. 5.11. Структурная схема датчика температуры DS 18В20
201
внутреннего конденсатора в цепи питания. Питание датчика можно подключить и к контакту Us микросхемы.
Для измерения температуры микросхема использует два генератора частоты с разными температурными коэффициентами, настроенными на одну температурную точку (обычно -55 °С). Разность между частотами генераторов является исходным значением для формирования цифрового кода, соответствующего измеряемой температуре. Пользователь может сконфигурировать разрешение датчика в 9, 10, 11 или 12 бит. Прибор выполняет измерение температуры только после получения команды запуска от ведущего шины. Цифровые данные сохраняются в 16-битной памяти типа SRAM. При отрицательной температуре результат представляется в дополнительном коде.
После того как датчик DS 18В20 выполнил температурное преобразование, значение температуры сравнивается с предельными значениями tH и tL, хранящимися в ячейках энергонезависимой памяти. Если температура выше tH или ниже tL, то в приборе устанавливается флаг выхода температуры за допустимые пределы и датчик DS 18В20 отвечает ведущему на аварийную команду поиска. В результате прибор будет идентифицирован и немедленно считан.
Контрольные вопросы
1. Чем определяется погрешность измерения скорости при использовании в качестве датчика шифратора приращений?
2. В каких контурах электропривода применяются шифраторы прйра- щений, а в каких — абсолютные шифраторы?
3. Можно ли использовать шифратор приращений для измерения линейной скорости механизма?
4. Почему трансформаторные датчики тока нельзя использовать для измерений в цепях постоянного тока электропривода?
5. Как решается проблема гальванической развязки при использовании резистивных датчиков?
6. Чем определяется коэффициент передачи датчика тока на основе эффекта Холла? Как повысить коэффициент передачи в 2 раза?
7. Как подключить резистивный датчик температуры к микроконтроллеру?
8. Как программируется цифровой датчик температуры с интерфейсом 1-Wire?
Упражнения
1. Нарисуйте схему для определения направления вращения механизма с использованием в качестве датчика шифратора приращений.
2. Нарисуйте схему цифрового измерителя скорости с трехканальным шифратором приращений на микросхеме LS7082.
202
3. Нарисуйте схему подключения абсолютного шифратора к микроконтроллеру.
4. Нарисуйте схему подключения шифратора приращений к микроконтроллеру.
5. Нарисуйте схему подключения потенциометрического датчика положения к микроконтроллеру.
6. Нарисуйте схему резистивного датчика тока с микросхемой HCPL 7510.
7. Нарисуйте схему подключения резистивного датчика тока к микроконтроллеру.
8. Нарисуйте схему подключения цифрового датчика температуры к микроконтроллеру.
Г л а в а 6
СРЕДСТВА ЧЕЛОВЕКОМАШИННОГО ИНТЕРФЕЙСА
6.1. Клавиатуры
Средства человекомашинного интерфейса предназначены для управления системой автоматики, ввода и вывода информации человеком при настройке системы или в ходе процесса управления. Средствами ввода данных обычно являются различные клавиатуры, средствами вывода — индикаторы.
Для ввода исходных данных и команд любая цифровая система снабжается клавиатурой. В простейших случаях клавиатура выполняется в виде отдельных кнопок. При этом каждая кнопка имеет свою линию связи с микроконтроллером, снабжается подтягивающим резистором и схемой защиты от дребезга. Защита от дребезга может выполняться параллельно включенным конденсатором (рис. 6.1) или специализированными микросхемами на основе мультивибраторов или счетчиков.
При замыкании кнопки S (см. рис. 6.1) в схему поступает /.-активный сигнал. При кратковременном размыкании конденсатор заряжается через подтягивающий резистор R. При дребезге, если напряжение на контакте не успевает достичь низкого логического уровня UIL, логический сигнал на входе схемы считается нулевым.
В микросхемах фирмы Maxim, разработанных специально для подавления дребезга контактов, контакт считается устойчиво замкнутым (разомкнутым), если состояние на входе остается неизменным в течение заданного времени. Функциональная схема и временные диаграммы работы микросхемы МАХ6816 представле-
Рис. 6.1. Кнопка с емкост- гера, изменяя состояние выхода микро- ной защитой от дребезга схемы.
R
UsJL
ны на рис. 6.2. В состав микросхемы входят встроенный генератор импульсов, счетчик, схема ИСКЛЮ ЧАЮ Щ ЕЕ ИЛИ и D-триггер. При несовпадении состояний на входе и выходе схема ИСКЛЮ Ч А Ю Щ ЕЕ И Л И ф орм ирует сигнал сброса счетчика. Если состояние на входе не изменяется в течение заданного врем ен и зад ерж ки tPD (P ro p ag a tio n Delay), то счетчик переполняется и формирует сигнал синхронизации для триг-
204
1- Ги г 1ш 1 пп п
11 tOUT I
' tб
Рис. 6.2. Микросхема МАХ6816: а — структурная схема; б — временные диаграммы
При большом количестве контактов отдельные кнопки клавиатуры конструктивно объединяются в матрицу (рис. 6.3). Контакты размещаются на пересечении строк и столбцов матрицы, и при замыкании контакта линия одной строки соединяется с линией одного столбца. Например, при замыкании контакта s2b вторая строка матрицы соединяется со столбцом Ь. Число строк и столбцов матрицы зависит от типа клавиатуры.
Для ввода данных с клавиатуры в системе организуется ее сканирование. Например, на рис. 6.4 с этой целью линии столбцов и строк матрицы подключены к параллельным портам микроконтроллера. Port А микроконтроллера, соединенный со столбцами а, Ь, с, d клавиатуры, работает на вывод данных, a Port В, соединенный со строками 0, 1, 2, 3, — на ввод. Для определения нажатой
sOa^ sOb^ sOc^ sOd,
sla slb^ sic sM ,
s2a^ s2b s2c^ s2d,
s3a^s
s3b^ s3c^ s3dj
a, b, c, d tJо 0>ООн
кsо
Клавиатура 0, 1, 2, 3 >' V
Он%
Рис. 6.3. Матричная клави- Рис. 6.4. Подключение клавиатурьатура к микроконтроллеру
205
Рис. 6.5. Клавиатуры фирмы «Никколь»: а - СК-04; б - СК-06; в - СК-11
клавиши контроллер должен постоянно формировать на столбцах матрицы А последовательности сдвинутых во времени импульсов и опрашивать при этом строки матрицы.
Каждой клавише клавиатуры всегда соответствует определенная символьная информация. Эта информация в виде цифр, букв или символов наносится на клавиши. Подразумевается, что при нажатии клавиши в систему будет введен код клавиши, соответствующий нанесенному на ней символу.
На рис. 6.5 показаны три простые клавиатуры фирмы «Никколь». Клавиатура СК-04 имеет 18 клавиш, объединенных в четыре строки и пять столбцов. Квадратная клавиатура СК-06 состоит из 16 клавиш, объединенных в матрицу 4x4. Восемь контактов клавиатуры СК-11 объединены в матрицу 2x4.
6.2. Устройства индикации
Светодиоды. Простейшее устройство индикации может состоять из нескольких светодиодов, включенных в схему элемента. При
206
СветодиодыТ а б л и ц а 6.1
Типсветодиода Цвет Сила света,
мКдПрямой ток,
мАПрямое
напряжение,В
АЛ 102 AM Красный 0,13 5 2,8
АЛ102БМ Красный 2 10 2,8
АЛ102ВМ Зеленый 0,45 20 2,8
АЛ102ГМ Красный 0,4 10 2,8
АЛ102ДМ Зеленый 0,6 5 2,8
АЛ307АМ Красный 0,15 10 2
АЛ307БМ Красный 0,9 10 2
АЛ307ДМ Желтый 0,4 10 2,5
АЛ307ЕМ Желтый 1,5 10 2,5
протекании тока через светодиод он излучает световой поток. Цвет и интенсивность свечения определяются исключительно типом светодиода и его электрическими характеристиками. Параметры распространенных отечественных светодиодов приведены в табл. 6.1.
Для подключения светодиодов обычно используются элементы с открытым коллектором. При этом последовательно светодиоду устанавливается токоограничивающий резистор, с помощью которого и задается режим работы прибора (рис. 6.6). Для расчета сопротивления резистора достаточно знать параметры светодиода:
R = (US - U VD)/IyD,
где Uyb — падение напряжения на светодиоде; I VD — прямой ток светодиода.
Логический элемент должен выдерживать ток светодиода: I 0L > I VD.
Семисегментные индикаторы. Семисегментные индикаторы используются для отображения цифровой информации. Каждый индикатор способен отобразить одну цифру, для вывода многоразрядных чисел используется несколько индикаторов.
Семисегментный индикатор состоит из семи отдельных светодиодов, у которых объединены аноды или катоды (рис. 6.7). Семь светодиодов
Vs
Рис. 6.6. Типовая схема подключения светодиода
207
Рис. 6.7. Семисегментные индикаторы: а — с объединенными анодами; б — с объединенными катодами
индикатора (а, Ь, с, d, e , f g) расположены в определенном порядке, как это показано ранее (см. рис. 1.5). Индикатор способен отобразить все шестнадцатеричные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, Ь, С, d, Е и F. В одном корпусе могут располагаться несколько одноразрядных индикаторов. Там же могут быть установлены дополнительные светодиоды для вывода дополнительной информации (точки, знаки и др.) (рис. 6.8).
20,2
а 15 9
DP Цифра 15
а б37,6___________
а
(N
Цифра 1 Цифра 2 Цифра 3в
Рис. 6.8. Семисегментные индикаторы фирмы Kingbright: а — SA04; б — DA56; в — ВА56
Рис. 6.9. Схема подключения индикатора с объединенными анодами к семисегментному дешифратору
Для подключения семисегментных индикаторов необходимо выполнить преобразование двоичного кода в семисегментный код. Эту задачу решают семисегментные дешифраторы, рассмотренные в гл. 1. Схема подключения индикатора с объединенными анодами к семисегментному дешифратору показана на рис. 6.9.
При подключении многоразрядных индикаторов обычно используют принцип динамической индикации: все одноименные выводы цифр объединяют и подключают к одному порту микроконтроллера, а выбор той или другой цифры производят путем переключения их общих анодных (или катодных) выводов, подключенных к другому порту.
Матричные индикаторы. В матричных индикаторах светодиоды размещаются на пересечении строк и столбцов матрицы (рис. 6.10). Индикаторы могут иметь схему с общими анодами или с общими катодами.
В матрице с общими анодами (см. рис. 6.10) любой светодиод включается, если на соответствующий столбец матрицы подают сигнал низкого уровня, на соответствующую строку — сигнал высокого уровня. При выбранном столбце одновременно можно зажигать несколько светодиодов в разных строках.
Число строк и столбцов матрицы у различных индикаторов может быть разным. Например, индикатор ТА07 (рис.6.11, а) состоит из 35 светодиодов, объединенных в матрицу из семи строк и пяти столбцов, а индикатор ТА16 (рис.6 .11,5) содержит 40 светодиодов и имеет матрицу 8x5.
Рис. 6.10. Матричный индикатор с общими анодами
209
а б
Рис. 6.11. Примеры матричных индикаторов фирмы Kingbright: а - ТА07; б - ТА16
При управлении матричным индикатором необходимо поочередно выбирать столбцы и соответствующие светодиоды в строках. Процесс вывода информации на такие индикаторы очень похож на описанный ранее процесс сканирования матричной клавиатуры.
Жидкокристаллические индикаторы. Ж идкокристаллические индикаторы позволяют отобразить сразу строку или даже несколько строк цифровых и буквенных символов (рис. 6.12). Они являются программируемыми устройствами с встроенной памятью и встроенными схемами управления. Длина строки индикатора обычно состоит из 8, 16, 20 или 40 символов. Число строк может меняться от 1 до 4 (табл. 6.2).
Ж идкокристаллические индикаторы являются программируемыми устройствами; они всегда имеют встроенные контроллеры и память типа RAM, предназначенную для хранения кодов ото-
Рис. 6.12. Жидкокристаллический индикатор 16 х 2
210
Т а б л и ц а 6.2Жидкокристаллические индикаторы Data Vision
Тип индикатора Формат Размер символа, мм
DV0802 8x2 2,9 х 5,5
DV 16120 16x1 6,Ох 14,5
DV 16275 16x2 4,07x7,76
DV 16400 16 х4 2,95x4,75
DV 20210 20x2 6,0x9,66
DV 20410 20x4 4,84x9,22
DV 40200 40x2 3,20x5,55
DV 40400 40x4 3,54x4,89
бражаемых символов. Подключаются к системе такие индикаторы, как правило, через стандартный 14-контактный разъем. Через этот разъем индикатор получает команды управления и коды отображаемых символов. Индикатор также может посылать информацию о своем состоянии и данные из своих внутренних блоков памяти. Описание выводов стандартного разъема жидкокристаллического индикатора приведено в табл. 6.3.
При помощи сигнала на контакте R S индикатор информируется о том, что именно передается по шине данных: команда или код символа. Сигнал на контакте Е является стробом, сопровождающим сигналы на шине данных. Запись информации в индикатор происходит по спаду этого сигнала. Потенциал на управля-
Т а б л и ц а 6.3Выводы стандартного разъема жидкокристаллического индикатора
N Контакт Описание
1 GND Общий провод
2 Us Питание (5 В)
3 и0 Смещение (0...5 В)
4 RS Данные/команда
5 R /W Чтение/запись
6 Е Строб записи
7... 14 DB0...DB7 Шина данных
211
Т а б л и ц а 6.4Типовая система команд жидкокристаллического индикатора
Код командыОписание команды
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 0 0 0 0 1 Очистить дисплей
и установить курсор в нулевую позицию
0 0 0 0 0 0 0 0 1 * Установить курсор в нулевую позицию. Установить дисплей относительно буфера RAM в начальную позицию
0 0 0 0 0 0 0 1 I/D 5 Установить направления сдвига курсора вправо (//£> = 1) или влево (I/D = 0) при записи/чтении очередного кода в RAM. Разрешить (5 = 1 ) сдвиг дисплея вместе со сдвигом курсора
0 0 0 0 0 0 1 D С В Включить/выключить (Л= 1/0) дисплей. Зажечь/погасить < курсор (С = 1/0). Изображение курсора сделать мигающим ( 5 = 1 )
0 0 0 0 0 1 5/С R/L * * Переместить курсор (5/С = 0) или сдви- нутьдисплей (5/С = 1) вправо (R/L = 1) или влевб (R/L - 0)
0 0 0 0 1 DL N 5 * * Установить разрядность шины данных 4 бит (DL = 0) или 8 бит(Л 1= 1), число строк дисплея — одна (У = 0) или две СУ= 1), шрифт — 5 x 7 точек (5 =0 ) или 5x10 точек ( 5 = 1 )
212
Окончание табл. 6.4
Код командыОписание команды
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 Адрес Установка адреса RAM
0 1 BF АС Чтение Лм^-флага (BF) и счетчика адреса
1 0 Данные Записьданных в RAM
1 1 Данные Чтение данных из RAM
Т а б л и ц а 6.5Пример кодовой таблицы русифицированного
жидкокристаллического индикатора
КодСтаршая тетрада (D7... D4)
1 2 3 4 5 6 7 8 9 A в с D Е F
Мла
дшая
те
трад
а (D
3...D
0)
0 space 0 @ Р ' P Б ю ч Д м
1 j 1 А Q а Я Г я ш ц2 м 2 В R Ь r Ё б ъ щ Л
3 # 3 С S с s Ж в ы
4 $ 4 D Т 4 t 3 г ь ф5 % 5 Е и е и И ё э ц6 & 6 F V / V Й ж ю щ7 • 7 G W Е w Л 3 я
8 ( 8 Н X h X п и
9 ) 9 I Y i У У й
А * J Z j z ф к В
В + К [ k ч Л
С » < L I ш м
D - = М ] m ъ н §Е > N л n ы п яF / ? О _ 0 э т Ь 1
213
ющем контакте R /W задает направление передачи данных: запись в индикатор ( R /W = 0 ) или чтение индикатора ( R /W = 1).
Если во время цикла записи в индикатор поступает код команды (табл. 6.4), то он записывается в регистр команд индикатора и индикатор приступает к ее выполнению. После приема байта команды или байта данных индикатору необходима пауза для обработки получённой информации. Специальный Busy-флаг индикатора устанавливается на время паузы и сбрасывается по ее окончании.
Данные, поступающие на индикатор, записываются в буфер данных (RAM), который обычно содержит 80 ячеек. При записи или считывании буфера данных обращение осуществляется к ячейке, на которую в данный момент указывает курсор.
Кодовая таблица жидкокристаллического индикатора (табл. 6.5) устанавливает взаимосвязь данных и отображаемых символов.
Память индикатора обычно имеет больше ячеек, чем число знакомест дисплея. Смещая окно индикатора относительно буфера данных, можно отображать на дисплее различные области буфера. У двустрочных индикаторов первые 40 ячеек буфера данных обычно отображаются на верхней строке дисплея, а вторые 40 ячеек — на нижней строке дисплея. Сдвиг окна дисплея относительно буфера данных для верхней и нижней строк происходит синхронно. Курсор будет виден на индикаторе только в том случае, если он попал в зону видимости дисплея (и если предварительно была подана команда отображения курсора). I
Контрольные вопросы
1. С какой целью входы цифровых схем, подключаемые к механическим контактам, снабжаются подтягивающими резисторами?
2. Как осуществляется защита от дребезга при подключении к цифровым схемам механических контактов?
3. От чего зависит яркость и цвет свечения светодиода?4. Как подключить семисегментный индикатор с общим анодом к
параллельному порту микроконтроллера?5. Как подключить семисегментный индикатор с общим катодом к
параллельному порту микроконтроллера?6. Как кодируются символы, отображаемые на матричном индика
торе?7. Как подключается к микроконтроллеру жидкокристаллический ин
дикатор?
Упражнения
1. Нарисуйте схему подключения матричной клавиатуры к микроконтроллеру и поясните принцип ее действия.
214
2. Нарисуйте возможные схемы подключения светодиодов к цифровым микросхемам.
3. Постройте схему подключения многоразрядного индикатора к микроконтроллеру, используя принцип динамической индикации.
4. Нарисуйте схему подключения матричного индикатора к микроконтроллеру.
5. Используя систему команд жидкокристаллического индикатора напишите программу для записи в индикатор последовательности из четырех десятичных цифр.
ЗАКЛЮЧЕНИЕ
К сожалению, материал данного учебного пособия не может охватить всего многообразия стремительно развивающейся области элементов систем автоматики. Учебное пособие знакомит студентов только с наиболее распространенными типами элементов, основными направлениями и тенденциями развития этого направления электротехники.
В самом общем виде, очень приближенно, наблюдаемые в настоящее время тенденции развития систем управления электроприводов и промышленной автоматики можно сформулировать следующим образом:
• расширение области использования цифровых методов обработки сигналов в процессе реализации алгоритмов управления;
• расширение использования в схемах электроприводов больших интегральных схем (микроконтроллеров и микросхем программируемой логики);
• расширение номенклатуры датчиков и элементов управления со стандартными последовательными интерфейсами, обеспечивающими их взаимодействие с системами более высокого уровня.
С появлением качественно новых элементов меняются возможности разработчиков. Появляются новые подходы и новые технологии проектирования. Уже сейчас электроприводы и системы автоматики стали программируемыми, методы проектирования средств вычислительной техники активно используются на всех стадиях их создания. Появляются новые теоретические и практические данные по вопросам проектирования цифровых систем автоматики.
СПИСОК ЛИТЕРАТУРЫ
1. Аванесян Г. Р. Интефальные микросхемы ТТЛ, ТТЛШ : справочник/ Г. Р. Аванесян, В. В.Левшин. — М .: Машиносфоение, 1993. — 256 с.
2. Алексенко А. Г. Основы микросхемотехники / А. Г. Алексенко. — М .: Лаборатория базовых знаний, 2004. — 448 с.
3. Антонов А. П. Обзор элементной базы фирмы Altera / А. П. Антонов, В. Ф. Мелехин, А. С. Филиппов. — С П б . : ЭФО, 1999. — 96 с.
4. Бродин В. Б. Микроконфоллеры. Архитектура, профаммирование, интерфейс / В. Б. Бродин, М. И. Шагурин. — М. : ЭКОМ, 1999. — 400 с.
5. Водовозов А. М. Микроконтроллеры для систем автоматики : учеб. пособие / А. М. Водовозов. — Вологда : ВоГТУ, 2002. — 123 с.
6. Водовозов А. М. Цифровые элементы систем автоматики : учеб. пособие / А. М. Водовозов. — Вологда : ВоГТУ, 2002. — 110 с.
7. Гребнев В. В. Микросхемы энергонезависимой памяти фирмы Atmel / В. В. Гребнев. - С П б .: ЭФО, 1997. - 64 с.
8. Давыденко Ю. Современные светодиоды / / Компоненты и технологии. — 2004. — № 6. — С. 38—43.
9. Данилов А. Современные промышленные датчики тока / / Современная элекфоника. — 2004. — № 1. — С. 26—34.
10. Дерюгин А. А. Применение интефальных микросхем памяти : справочник / А. А. Дерюгин, В. В. Циркин, В. В. Красовский. — М. : Радио и связь, 1994. — 232 с.
11. Жданкин В. К. Поворотные шифраторы : основные типы и некоторые особенности применения / / компоненты и технологии. — 2001. — № 8 . - С . 9 0 -9 6 .
12. Жданкин В. К. Поворотные шифраторы фирмы Pepperl + Fuchs / / Современные технологии автоматизации. — 2001. — № 3. — С. 6—24.
13. Зыбайпо А. Датчики температуры / / Электронные компоненты. — 2 0 0 3 . - № 2 . - С . 2 4 -2 8 .
14. Мальцев П. П. Цифровые интефальные микросхемы : справочник / П.П.М альцев, Н .СД олидзе, М .И.Критенко. — М. : Радио и связь, 1994. - 240 с.
15. Мамаева Т. Память FIFO и ее применение / / Компоненты и технологии, 2001. — № 2. — С. 14— 17.
16. Николайчук О. Современные цифроаналоговые преобразователи фирмы Maxim / / Схемотехника. — 2002. — № 12.
17. Однокристалльные микроконтроллеры Р1С12С5х, Р1С12С6х, PIC16x8x, PIC14000, М16С/61/62 / под ред. Б. Я. Прокопенко. — М .: ДО- ДЕКА, 2000. - 336 с.
18. Оптоэлектронные приборы фирмы Kingbrigcht. — М .: Додека, 1999. — 64 с.
217
19. Партала О. Н. Цифровая электроника / О.Н. Партала. — М .: Наука и техника, 2001. — 224 с.
20. Петровский И. Логические ИС КР 1533, КР 1554 : справочник / И. Петровский. — М .: Бином, 1993. — 500 с.
21. Применение интегральных схем : практическое руководство: в 2 кн. Кн. 2 / под ред. А. Уильямса. — М .: Мир, 1987. — 413 с.
22. Ремизевич Т. В. Микроконтроллеры для встраиваемых приложений: от общих подходов — к семействам НС05 и НС08 фирмы Motorola / Т. В. Ремизевич. — М .: ДОДЕКА, 2000. — 272 с.
23. Староверов К. DataFlash — универсальное средство для хранения программного кода и данных / / Компоненты и технологии. — 2004. — № 4 . - С . 7 2 -7 5 .
24. Стешенко В. Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов / В. Б. Стешенко. — М .: ДОДЕКА, 2000. — 128 с.
25. Титце У. Полупроводниковая схемотехника: справочное руководство/ У.Титце, К.Ш енк. — М .: Мир, 1982. — 512 с.
26. Угрюмое Е. П. Цифровая схемотехника / Е. П. Угрюмов. — СПб. : БХВ - СПб., 2000. - 528 с.
27. УзенгерА. Применение знакосинтезирующих индикаторов фирмы Data V ision// Компоненты и технологии. — 2001. — № 7. — С. 98 — 102.
28. Фрике К. Вводный курс цифровой электроники: пер. с нем. / К. Фрике. — М .: Техносфера, 2002. — 428 с.
29. Хоровиц П. Искусство схемотехники: в 2 т. Т. 2 / П. Хоровиц, У. Хилл. — М. : Мир, 1983. — 590 с.
30. Шагурин И. И. Микропроцессоры и микроконтроллеры фирмы Motorola : справ, пособие / И. И. Шагурин. — М .: Радио и связь, 1998. — 560 с. I
31. Шило В. Л. Популярные цифровые микросхемы : справочник / В. Л. Шило. — М .: Радио и связь, 1989. — 352 с.
32. Шитиков А. Цифровые датчики температуры от Dallas Semiconduct o r / / Компоненты и технологии. — 2001. — № 2. — С. 48 —51.
33. Шитиков А. Цифровые потенциометры от Dallas Semiconductor / / Компоненты и технологии. — 2001. — № 8. — С. 32—35.
ОГЛАВЛЕНИЕ
Предисловие.............................................................................................................3Введение................................................................................................................... 5
Глава 1. Логические основы автоматики......................................................... 7
1.1. Информация и общие принципы ее преобразования.......................... 71.2. Способы кодирования информации.........................................................10
1.2.1. Системы счисления.............................................................................101.2.2. Кодирование числовой информации.............................................141.2.3. Специальные кодировки...................................................................17
1.3. Формальные правила двоичной арифметики........................................221.4. Алгебра логики .............................................................................................. 24
1.4.1. Логические ф ункции....................................... 241.4.2. Законы и теоремы алгебры логики ................................................271.4.3. Описание логических ф ункций...................................................... 27
1.5. Теория автоматов........................................................................................... 311.5.1. Абстрактные цифровые автоматы..................................................311.5.2. Матричное описание автомата........................................................331.5.3. Графическое описание автомата.............. 351.5.4. Структурные автоматы.......................................................................36
Глава 2. Цифровая схемотехника ............................................ 462.1. Классификация цифровых схем................................................................ 462.2. Основные параметры цифровых микросхем.......................................... 47
2.2.1. Статические параметры.....................................................................472.2.2. Динамические параметры................................................................ 51
2.3. Технологии производства цифровых микросхем................................. 532.4. Специальные вхЬдные и выходные каскады .........................................592.5. Стандартная логика...................................................................................... 62
2.5.1. Логические элементы................................ 632.5.2. Буферные элементы........................................................................... 642.5.3. Комбинационные логические схемы............................................ 652.5.4. Триггеры................................................................................................ 772.5.5. Последовательные логические схемы ........................................... 82
2.6. Программируемая логика........................................................................... 932.6.1. Микросхемы G A ..................................................................................932.6.2. Микросхемы P L D ...............................................................................962.6.3. Программирование логики ............................................................ 101
2.7. Микросхемы пам яти.................................................................................. 1022.7.1. Классификация................................................................................103
219
2.7.2. Микросхемы R O M ............................................................................ 1042.7.3. Микросхемы R A M ............................................................................ 126
Глава 3. Цифроаналоговые и аналого-цифровые преобразователи 147
3.1. Цифроаналоговые преобразователи........................................................ 1473.2. Аналого-.цифровые преобразователи......................................................1543.3. Цифровые потенциометры........................................................................161
Глава 4. Микроконтроллеры............................................................................ 164
4.1. Структура микроконтроллера................................................................... 1644.2. П амять............................................................................................................ 1664.3. Процессорное ядро.................... 1674.4. Функциональные модули........................................................................... 171
4.4.1. Тактовый генератор..........................................................................1714.4.2. Схема сброса....................................................................................... 1724.4.3. Система прерываний........................................................................1734.4.4. Порты ввода-вывода.........................................................................1744.4.5. Энергонезависимая память данных.............................................. 1764.4.6. Аналого-цифровые преобразователи...........................................1764.4.7. Аналоговые компараторы................................................................1774.4.8. Таймеры-счетчики............................................................................ 1784.4.9. Последовательные интерфейсы.....................................................1794.4.10. Сторожевой таймер.........................................................................1814.4.11. Системы энергосбережения......................................................... 181
4.5. Сравнительная характеристика микроконтроллеров...................... , 182
Глава 5. Датчики............................................................................................... .186
5.1. Классификация датчиков...........................................................................1865.2. Датчики угловой скорости.........................................................................1875.3. Датчики положения..................................................................................... 1935.4. Датчики то к а ........................................... 1965.5. Датчики напряжения...................................................................................1995.6. Датчики температуры................................................................................. 200
Глава 6. Средства человекомашинного интерфейса ...........................204
6.1. Клавиатуры.................................................................................................... 2046.2. Устройства индикации............................................................................... 206
Заключение........................................................................................................... 216Список литературы.............................................................................................217
Учебное издание
Водовозов Александр Михайлович
Элементы систем автоматики
Учебное пособие
! Редактор И. В. Мочалова Технический редактор О. Н. Крайнова Компьютерная верстка: JI. М. Беляева
Корректоры И. В. Могилевец, И. Н. ВолковаДиапозитивы предоставлены издательством
Изд. № 101112063. Подписано в печать 20.09.2006. Форыат 60x90/16.Гарнитура «Таймс». Печать офсетная. Бумага тнп. № 2. Уел. печ. л. 14,0.Тираж 3000 экз. Заказ № 17743.
Издательский центр «Академия», www.academia-moscow.ruСанитарно-эпидемиологическое заключение № 77.99.02.953.Д.0047963.07.04 от 20.07.2004. 117342, Москва, ул. Бутлерова, 17-Б, к. 360. Тел./факс: (495)330-1092, 334-8337.
Отпечатано в ОАО «Саратовский полиграфический комбинат»410004, г. Саратов, ул. Чернышевского, 59.