Текст
                    Цифровые системы
Теория и практика
8-е издание ---------------
I •»»! I 4	•	•
Рональд Дж. Точчи,"Нил С. Уидмер

Ronald J. Tocci Monroe Community College Neal S. Widmer Purdue University Digital Systems Principles and Applications Eight edition Upper Saddle River, New Jersey Columbus, Ohio
Рональд Дж. Точчи Колледж Монро Нил С. Уидмер Университет Пердью Цифровые системы Теория и практика 8-е издание Сканирование Игорь Пономарёв Преобразование http://librus.ru Москва • Санкт-Петербург • Киев 2004
ББК 32.973.26-018.2.75 Т64 УДК 681.3.07 Издательский дом “Вильямс” Зав. редакцией С.Н. Тригуб Перевод с английского М.В. Бойко, А.В. Высоцкого, СЛ. Огородника Под редакцией В.В. Марченко По общим вопросам обращайтесь в Издательский дом “Вильямс” по адресу: info@williamspublishing.com, http://www.williamspublishing.com Точчи, Рональд, Дж., Уидмер, Нил, С. Т64 Цифровые системы. Теория и практика, 8-е издание. : Пер. с англ. — М. : Издательский дом “Вильямс”, 2004. — 1024 с. : ил. — Парал. тит. англ. ISBN 5-8459-0586-9 (рус.) В восьмом издании книги более широко рассмотрены программируемые ло- гические устройства (ПЛУ). Эта технология быстро вытесняет в современных цифровых системах микросхемы малой (МИС) и средней степени интеграции (СИС). Благодаря тому, что ПЛУ рассматриваются в самых разнообразных раз- делах этой книги, читатель может получить представление об альтернативных путях реализации цифровых логических схем — от простейших логических элементов до сложных систем. К этой книге прилагается компакт-диск с описанием микросхем ТТЛ- и КМОП-серий, а также спецификации шинных интерфейсов. Компакт-диск так- же содержит демонстрационную версию компилятора языка CUPL — програм- мы PAL Expert, созданной компанией Logical Devices, Inc. Книга будет полезна студентам, аспирантам и специалистам, изучающим теорию и практику применения цифровых устройств. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в ка- кой бы то ни было форме и какими бы то ни было средствами, будь то электронные или меха- нические, включая фотокопирование и запись на магнитный носитель, если на это нет пись- менного разрешения издательства Prentice Hall, Inc. Authorized translation from the English language edition published by Prentice Hall, Ptr., Copyright © 2001 All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises Internationa], Copyright © 2004 ISBN 5-8459-0586-9 (pyc.) ISBN 0-13-085634-7 (англ.) © Издательский дом “Вильямс”, 2004 © Prentice Hall, Inc., 2001
Оглавление Введение 20 Глава 1. Введение в предмет 31 Глава 2. Системы счисления и коды 53 Глава 3. Логические элементы и булева алгебра 83 Глава 4. Комбинационные логические схемы 139 Глава 5. Триггеры и родственные им устройства 217 Глава 6. Цифровая математика: схемы и операции 313 Глава 7. Счетчики и регистры 375 Глава 8. Семейства логических интегральных микросхем 475 Глава 9. Логические схемы средней степени интеграции 579 Глава 10. Сопряжение с аналоговым миром 679 Глава 11. Запоминающие устройства 761 Глава 12. Применение программируемых логических устройств 865 Приложение А. Введение в микропроцессоры и микрокомпьютеры 915 Приложение Б. Спецификации некоторых интегральных схем 943 Приложение В. Элементы логических схем 955 Глоссарий 960 Предметный указатель 1018
Содержание Введение Глава 1. Введение в предмет 1.1. Численные представления Аналоговое представление Цифровое представление 1.2. Цифровые и аналоговые системы Преимущества цифровой техники Ограничения цифровой техники Цифровое будущее 1.3. Цифровые системы счисления Десятичная система Десятичный счет Двоичная система Двоичный счет 1.4. Представление двоичных величин Цифровые сигналы и временные диаграммы 1.5. Цифровые и логические схемы Логические схемы Цифровые интегральные схемы 1.6. Параллельная и последовательная передача информации 1.7. Память 1.8. Цифровые компьютеры Основные элементы компьютера Центральное процессорное устройство Типы компьютеров Резюме Глава 2. Системы счисления и коды 2.1. Преобразование из двоичной системы счисления в десятичную 2.2. Преобразование из десятичной системы счисления в двоичную Последовательное деление Диапазон счета 2.3. Восьмеричная система счисления Преобразование из восьмеричной системы счисления в десятичную Преобразование из десятичной системы счисления в восьмеричную Преобразование из восьмеричной системы в двоичную Преобразование из двоичной системы в восьмеричную Восьмеричный счет 2.4. Шестнадцатеричная система счисления Преобразование из шестнадцатеричной системы в десятичную Преобразование из десятичной системы в шестнадцатеричную Преобразование из шестнадцатеричной системы в двоичную Преобразование из двоичной системы в шестнадцатеричную Шестнадцатеричный счет Преимущества шестнадцатеричной и восьмеричной систем Выводы 2.5. Двоично-десятичный код Двоично-десятичное кодирование Сравнение двоично-десятичного и двоичного кодов 2.6. Подведем итоги
2.7. Байт 68 2.8. Алфавитно-цифровые коды 69 ASCII-код 69 2.9. Метод проверки четности для обнаружения ошибок 72 Бит четности 73 2.10. Применение 75 Резюме 76 Глава 3. Логические элементы и булева алгебра 83 3.1. Булевы константы и переменные 85 3.2. Таблицы истинности 86 3.3. Логический элемент ИЛИ и операция ИЛИ 87 Логический элемент ИЛИ 88 Выводы 88 3.4. Логический элемент И и операция И 91 Логический элемент И 92 Выводы , 93 3.5. Операция НЕ 95 Логический элемент НЕ (инвертор) 95 Выводы 96 3.6. Алгебраическое описание логических схем 96 Схемы с инверторами 97 3.7. Расчет выходных сигналов логических схем 98 Определение уровня выходного сигнала на схеме 99 3.8. Получение логических схем из булевых выражений 100 3 9. Логические элементы И-НЕ и ИЛИ-НЕ 102 Логический элемент ИЛИ-НЕ 102 Логический элемент И-НЕ 104 3.10. Булевы теоремы 106 Теоремы для нескольких переменных 108 3.11. Теоремы де Моргана 110 Следствия теорем де Моргана 112 3.12. Универсальность логических элементов И-НЕ и ИЛИ-НЕ 114 3.13. Альтернативное представление логических элементов 117 Интерпретация обозначений логических элементов 119 Резюме 120 3.14. Использование различных представлений логических элементов 121 Какой же вариант схемы более предпочтителен? 122 Размещение кружков, обозначающих инверсию 122 Анализ схем 124 Объявленные уровни 126 Маркировка низких логических сигналов 126 Маркировка сигналов, обладающих двумя активными состояниями 127 3.15. Стандарт представления логических элементов IEEE/ANSI 127 Традиционные обозначения или обозначения IEEE/ANSI? 128 Резюме 129 Глава 4. Комбинационные логические схемы 139 4.1. Дизъюнктивная форма выражения 141 Конъюнктивная форма 141 4.2. Упрощение логических схем 142 4.3. Алгебраическое упрощение 142 4.4. Проектирование комбинационных логических схем 147 Полная методика проектирования 149 4.5. Метод карт Карно 154 Структура карт Карно 154 Содержание 7
Группировка Группировка ячеек попарно Группировка ячеек по четыре (квартеты) Группировка ячеек по восемь (октеты) Полный процесс упрощения Как заполнять карту Карно, исходя из выходного выражения Безразличное состояние Резюме 4.6. Исключающее ИЛИ и исключающее ИЛИ-НЕ Исключающее ИЛИ Исключающее ИЛИ-НЕ 4.7. Генератор и проверочное устройство сигнала четности 4.8. Разрешающие/запрещающие схемы 4.9. Основные характеристики цифровых ИС Биполярные и униполярные цифровые ИС Семейство ТТЛ Семейство КМОП Питание и общий провод Диапазоны напряжения логических уровней Неподключенные (плавающие) входы Коммутационная диаграмма логических схем 4.10. Поиск неполадок в цифровых системах 4.11. Внутренние неполадки в цифровых ИС Неисправность внутренних схем Внутреннее замыкание входов на общий провод или источник питания Внутреннее замыкание выхода на общий провод или источник питания Разомкнутый вход или выход Замыкание между двумя выводами 4.12. Внешние неполадки Разомкнутый сигнальный провод Замкнутый сигнальный провод Неисправный источник питания Перегрузка на выходе 4.13. Изучение неисправностей 4.14. Программируемые логические устройства Программирование ПЛУ Инструментальные программные средства Введение в CUPL Цикл разработки Резюме 155 156 157 158 158 162 163 165 166 166 167 172 173 176 177 178 179 179 180 180 181 182 184 184 184 184 186 187 188 189 189 190 190 191 193 194 195 197 199 201 Глава 5. Триггеры и родственные им устройства 5.1. Защелка на элементах И-НЕ Установка защелки (триггера) Сброс триггера Одновременная установка и сброс Резюме Другие обозначения Терминология 5.2. Защелка на элементах ИЛИ-НЕ Состояние триггера при включении схемы 5.3. Поиск неполадок 5.4. Тактовые сигналы и синхронные триггеры Синхронные триггеры Время установки и время удержания триггера 5.5. Синхронные S-C-триггеры 217 220 221 222 222 223 223 224 226 229 229 231 232 233 234 8 Содержание
Внутреннее строение S-C-триггеров, управляемых фронтом 236 5.G. Синхронные J-K-триггеры 238 Внутреннее строение J-K-триггеров. управляемых фронтом 240 5.7. Синхронный D-триггер 241 Реализация D-трш гера 242 Параллельная передача данных 242 5.8. Защелка на D-триггере (прозрачная защелка) 243 5.9. Асинхронные входы 245 Маркировка асинхронных входов 247 5.10. Обозначение IEEE/ANSI 249 5.11. Временные процессы в триггерах 250 Моменты установки и удержания 251 Задержки распространения сигнала 251 Максимальная частота синхронизации Лдах 251 Время нахождения тактовых импульсов на высоком и низком уровнях 252 Ширина активного асинхронного импульса 252 Время нарастания тактового сигнала 252 Реальные ИС 252 5.12. Потенциальные проблемы согласования по времени в схемах с триггерами 254 5.13. Триггеры Master/Slave 256 5.14. Применение триггеров 257 5.15. Синхронизация триггеров 257 5.16. Обнаружение последовательности входных импульсов 259 5.17. Хранение и передача данных 260 Параллельная передача данных 261 5.18. Последовательная передача данных: сдвиговые регистры 262 Требование к величине времени удержания 264 Последовательная передача между регистрами 264 Операция сдвига влево 265 Сравнение параллельного и последовательного типов передач 265 5.19. Деление частоты и счет 266 Счет 267 Диаграмма переходов 268 Коэффициент пересчета 269 5.20. Прикладная задача 270 5.21. Триггер Шмитта 272 5.22. Одновибратор (ждущий мультивибратор) 274 Одновибратор без повторного запуска 274 Одновибратор с повторным запуском 275 Реальные устройства 276 Ждущий мультивибратор 277 5.23. Анализ последовательных схем 277 5.24. Генератор тактовых (синхронизирующих) импульсов 280 Генератор на основе триггера Шмитта 280 Таймер 555 в качестве несинхронизированного мультивибратора 280 Кварцевые генераторы тактовых импульсов 282 5.25. Поиск неисправностей в схемах с триггерами 282 Разомкнутые входы 283 Короткозамкнутые выходы 284 Фазовый сдвиг тактовых (синхронизирующих) импульсов 286 5.26. Применение программируемых логических устройств 288 Защелка на элементах И-НЕ 288 D-защелка 289 Режим ввода переходов состояний при программировании ПЛУ 290 Резюме 292 Содержание
Глава 6. Цифровая математика: схемы и операции 313 6.1. Двоичное сложение 314 6.2. Представление чисел со знаком 315 Обратный код 316 Дополнительный код 317 Представление чисел со знаком в системе дополнительных кодов 317 Отрицание 319 Особый случай представления чисел через дополнительный код 320 6.3. Сложение в системе дополнительных кодов 322 6.4. Вычитание в системе дополнительных кодов 324 Переполнение 325 6.5. Умножение двоичных чисел 326 Умножение в системе дополнительных кодов 327 6.6. Двоичное деление 327 6.7. Сложение двоично-десятичных чисел 328 Сумма чисел меньше или равна 9 328 Сумма чисел больше 9 329 Вычитание двоично-десятичных чисел 330 6.8. Арифметика шестнадцатеричных чисел 331 Сложение шестнадцатеричных чисел 331 Вычитание шестнадцатеричных чисел 332 Представление чисел со знаком в шестнадцатеричном виде 333 6.9. Арифметические схемы 334 Арифметико-логическое устройство 334 6.10. Параллельный двоичный сумматор 335 6.11. Принцип работы полного сумматора 337 Минимизация методом карт Карно 338 Полусумматор 339 6.12. Параллельный полный сумматор с регистрами 340 Обозначения, описывающие работу регистров 340 Последовательность операций 342 6.13. Распространение сигнала переноса 342 6.14. Параллельный сумматор на базе ИС 343 Последовательное подключение параллельных сумматоров 345 6.15. Система дополнительных кодов 346 Сложение 346 Вычитание 346 Комбинация сложения и гычитания 348 6.16. Двоично-десятичный сумматор 350 Последовательное соединение двоигно-десятг'чных сумматоров 352 6.17. Интегральные схемы АЛУ 353 АЛУ на базе ИС 74LS382/HC382 354 Расширение АЛУ 356 Другие АЛУ 357 6.18. Обозначения стандарта IEEE/ANSI 358 6.19. Пример поиска неисправностей 358 6.20. Полный сумматор на основе ПЛУ 360 Резюме 363 Глава 7. Счетчики и регистры 375 Часть I 376 7.1. Асинхронные счетчики 376 Прохождение сигнала 378 Коэффициент пересчета 378 Деление частоты 379 7.2. Счетчики с коэффициентом пересчета менее 2N 380 10 Содержание
Диаграмма переходов состояний 382 Отображение состояний счетчика 382 Изменение коэффициента пересчета 384 Основной алгоритм 385 Десятичные счетчики/двоично-десятичные счетчики 385 7.3. Интегральные схемы асинхронных счетчиков 386 Обозначение стандарта IEEE/ANSI для счетчика на ИС 74LS293 390 Асинхронные счетчики на КМОП 391 7.4. Асинхронные вычитающие счетчики 392 7.5. Задержка на распространение сигнала в асинхронных счетчиках 394 7.6. Синхронные (параллельные) счетчики 396 Работа схемы 398 Преимущество синхронных счетчиков по сравнению с асинхронными 398 Действующие ИС 399 7.7. Синхронные вычитающие и реверсивные счетчики 400 7.8. Предустанавливаемые счетчики 401 Синхронная предустановка 403 7.9. ИС 74ALS193/HC193 403 Входы синхронизации СРи и CPd 403 Вход задающего сброса 403 Предустановочные входы 403 Счетные выходы 404 Выходы конечного счета 404 Регулируемые значения коэффициента пересчета, используемые в ИС 74ALS193/HC193 408 Многокаскадная схема 409 7.10. Еще о системах обозначений стандарта IEEE/ANSI 410 Управляющая зависимость (С) 411 Направление счета (+ или -) 411 Зависимость И (G) 412 7.11. Декодирование значения счетчика 412 Декодирование, управляемое по высокому уровню сигнала 413 Декодирование, управляемое по низкому уровню сигнала 415 Декодирование двоично-десятичного счетчика 415 7.12. Сбои при декодировании 416 Стробирование 418 7.13. Последовательное включение двоично-десятичных счетчиков 419 7.14. Проектирование синхронного счетчика 420 Основная идея 421 Таблица возбуждений для J-K-триггера 421 Методика разработки 422 Управляющий элемент для шагового двигателя 426 7.15. Счетчик на сдвиговых регистрах 429 Кольцевой счетчик 429 Запуск кольцевого счетчика 430 Счетчик Джонсона 431 Декодирование счетчика Джонсона 433 ИС счетчиков на сдвиговых регистрах 433 Резюме части I 434 Часть II 435 7.16. Применение счетчиков: счетчик частоты 435 Полная схема счетчика частоты 437 7.17. Применение счетчиков: цифровые часы 439 7.18. Регистры интегральных схем 442 7.19. Параллельный вход/параллельный выход — ИС 74ALS174/74HC174 443 7.20. Последовательный вход/последовательный выход — ИС 4731В 444 Содержание 11
7.21. Параллельный вход/последователья.ый выход — ИС 74ALS165/74HC165 446 7.22. Последовательный вход/параллельный выход — ИС 74ALS164/74HC164 448 7.23. Условные обозначения регистров стандарта IEEE/ANS1 450 7.24. Решение основных проблем 452 7.25. Программирование ПЛУ при помощи булевых выражений для работы в качестве счетных схем 455 Другой метод 456 Резюме 458 Глава 8. Семейства логических интегральных микросхем 475 8.1. Терминология цифровых ИС 477 Параметры тока и напряжения 477 Коэффициент разветвления 478 Задержки распространения 478 Требования к мощности 479 Произведение задержки сигнала на мощность рассеяния 480 Помехоустойчивость 481 Запрещенные уровни напряжения 483 Функционирование логических схем в режимах источника тика и нагрузки 483 Корпуса ИС 483 8.2. Логическое семейство ТТЛ 487 Функционирование схемы в состоянии с низким уровнем 488 Функционирование схемы в состоянии с высоким уровнем 489 Функционирование в режиме нагрузки - 490 Функционирование в режиме источника тока 490 Схема с двухтактным выходом 490 Элемент ТТЛ ИЛИ-НЕ 492 Резюме 492 8.3. Технические характеристики ТТЛ 493 Диапазон значений температур и напряжений источника питания 494 Уровни напряжения 495 Максимальные .значения напряжений 495 Рассеяние мощности 496 Задержки распространения сигнала 496 8.4. Характеристики различных серий ТТЛ 497 Стандартная серия 74 ТТЛ 497 Серия 74S ТТЛ на базе транзисторов Шотки 497 Серия 74LS на маломощных транзисторах Шотки 498 Серия 74AS на улучшенных транзисторах Шотки 498 Серия 74ALS на маломощных улучшенных транзисторах Шотки 499 74F — быстродействующие схемы на ТТЛ 499 Сравнение характеристик ТТЛ различных серий 499 8.5. Коэффициент нагрузки и коэффициент разветвления в схемах на ТГЛ 501 Определение коэффициента разветвления 502 8.6. Другие характеристики ТТЛ 506 Неподключенные (плавающие) входы 506 Неиспользуемые входы 506 Замкнутые входы 507 Смещение входов схем ТТЛ в состояние с низким уровнем 508 Переходы тока 509 8.7. МОП-технология 510 Полевой канальный МОП-транзистор 511 Ключи на полевых транзисторах 512 12 Содержание
8.8. Цифровые схемы на полевых транзисторах 513 8.9. Комплементарная МОП-логика 514 Инвертор на КМОП 514 Элемент И-НЕ на КМОП 515 Элемент ИЛИ-НЕ на КМОП 516 RS-триггер на КМОП 517 8.10. Характеристики различных серий ИС на КМОП 517 Серии 4000/14000 518 Серия 74С 518 Серии 74НС/НСТ (быстродействующие КМОП-структуры) 518 Серии 74АС/АСТ (улучшенные КМОП-структуры) 518 Серии 74АНС/АНСТ (улучшенные быстродействующие КМОП- структуры) 519 Биполярная КМОП-логика 519 Напряжение источника питания 519 Логические уровни напряжения 520 Запас помехоустойчивости 520 Мощность рассеяния 520 Увеличение PD с ростом частоты 521 Коэффициент разветвления 522 Скорость переключения состояний 522 Неиспользуемые входы 523 Статическая чувствительность 523 Фиксация 524 8.11. Низковольтная технология 525 Семейство КМОП 525 Семейство биполярной КМОП-логики 526 8.12. Выходы с открытым коллектором/стоком 528 Выходы с открытым коллектором/стоком 529 Буфер/драйвер с открытым коллектором/стоком 531 Обозначения стандарта IEEE/ANSI для выходов с открытым коллектором/стоком 533 8.13. Тристабильные логические выходы (выходы с тремя состояниями) 534 Преимущества тристабильных структур 535 Тристабильные буферы 535 Тристабильные ИС 537 Обозначение тристабильных выходов согласно стандарту IEEE/ANSI 537 8.14. Высокоскоростная логика шинного интерфейса 538 8.15. Цифровые ИС семейства ЭСЛ \ 540 Базовая схема ЭСЛ 540 Элемент ИЛИ/ИЛИ-НЕ на ЭСЛ 540 Характеристики ЭСЛ 542 8.16. Передаточный логический элемент (двунаправленный переключатель) на КМОП 544 8.17. Сопряжение интегральных схем 547 8.18. Управление КМОП на базе ТТЛ 548 Управление высоковольтными устройствами на КМОП с помощью ТТЛ 548 8.19. Управление ТТЛ на базе КМОП 549 Управление ТТЛ в состоянии с высоким уровнем с помощью КМОП 550 Управление ТТЛ в состоянии с низким уровнем с помощью КМОП 550 Управление ТТЛ с помощью высоковольтных устройств на КМОП 552 8.20. Аналоговые компараторы напряжения 553 8.21. Поиск неисправностей 554 Использование логического импульсного генератора и пробника при тестировании схемы 555 Поиск замкнутых узлов 555 Содержание 13
Токовый детектор 556 Резюме 557 Глава 9. Логические схемы средней степени интеграции 579 9.1. Дешифраторы 580 Разрешающие входы 581 Преобразование двоично-десятичного кода в двоичный 585 Преобразование двоично-десятичного кода в десятичный 587 Применение дешифраторов 587 9.2. Преобразование двоично-десятичного кода в семисегментный 589 Сравнение индикаторов на светоизлучающих диодах с общим анодом и общим катодом 591 9.3. Жидкокристаллические индикаторы 592 Управление ЖКИ 593 Типы ЖКИ 593 9.4. Шифраторы 596 Приоритетные шифраторы 598 Приоритетный шифратор 74147, преобразующий десятичный код в двоично-десятичный 598 Ключевой шифратор 600 9.5. Поиск неисправностей * 603 9.6. Мультиплексоры (селекторы данных) 606 Базовый мультиплексор с двумя входами 606 Мультиплексор с четырьмя входами 607 Мультиплексор с восемью входами 608 ИС 74ALS157/HC157 (четыре мультиплексора с двумя входами) 610 9.7. Применение мультиплексоров 612 Маршрутизация данных 612 Преобразование параллельного кода в последовательный 613 Установка последовательности передачи данных 614 Формирование логической функции 616 9.8. Демультиплексоры (распределители данных) 617 Демультиплексор с 1 входом и 8 выходами 618 Синхронизируемый демультиплексор 620 Охранные системы наблюдения 620 Синхронные системы передачи данных 623 Приемник 623 Полное описание работы схемы . 625 9.9. Дополнительные сведения о поиске неисправностей 627 9.10. Компараторы величин 631 Входы данных 631 Выходы 631 Последовательное соединение 631 Применение 633 9.11. Преобразователи кодов 635 Основной принцип преобразования кодов 635 Процесс преобразования 636 Реализация схемы 637 Другие варианты построения преобразователей кодов 639 9.12. Шины данных 639 9.13. Тристабильный регистр 74ALS173/HC173 641 9.14. Функционирование шины данных 643 Передача данных 645 Сигналы на шине данных 645 Упрощенная временная диаграмма сигналов на шине данных 647 Расширение шины 647 14 Содержание
Упрощенное представление шины данных 649 Двунаправленные шины данных 650 9.15. ПЛУ и таблицы истинности 652 Приоритетный шифратор 654 Резюме 655 Глава 10. Сопряжение с аналоговым миром 679 10.1. Сопряжение с аналоговым миром 680 Сравнительный обзор цифровых и аналоговых систем 680 10.2. Цифро-аналоговое преобразование 682 Аналоговый выходной сигнал 684 Весовые коэффициенты входных битов 684 Разрешающая способность(величина шага квантования) 685 Процентная разрешающая способность 687 Физический смысл разрешающей способности 688 Двоично-десятичный входной код 689 Биполярные ЦАП 691 10.3. Строение цифро-аналогового преобразователя 692 Точность преобразования 694 ЦАП с выходом по току 695 Резистивная цепь типа R/2R 696 10.4. Характеристики цифро-аналоговых преобразователей 698 Разрешающая способность 698 Точность 698 Погрешность смещения нуля 699 Время установления сигнала 700 Монотонность 700 10.5. Цифро-аналоговые преобразователи на интегральных схемах 700 10.6. Применение цифро-аналоговых преобразователей 701 Управление 701 Автоматический контроль 702 Восстановление сигнала 702 Аналого-цифровое преобразование 702 ЦАП с последовательной передачей данных 702 10.7. Поиск неисправностей в цифро-аналоговых преобразователях 702 10.8. Аналого-цифровое преобразование 704 10.9. Интегрирующие аналого-цифровые преобразователи 706 Разрешающая способность и точность аналого-цифровых преобразователей 709 Время преобразования tc 710 10.10. Сбор данных 711 Восстановление оцифрованного сигнала 713 Помеха дискретизации 714 10.11. Аналого-цифровые преобразователи поразрядного уравновешивания 716 Время преобразования 718 Реальная ИС: АЦП поразрядного уравновешивания ADC0804 719 10.12. Аналого-цифровые преобразователи параллельного типа 723 Время преобразования 725 10.13. Другие методы аналого-цифрового преобразования 726 Реверсивные интегрирующие аналого-цифровые преобразователи (АЦП следящего типа) 726 Аналого-цифровые преобразователи с двойным интегрированием 726 Аналого-цифровые преобразователи “напряжение/частота” 727 Сигма/дельта модуляция 728 10.14. Цифровые вольтметры 729 10.15. Схемы выборки и хранения 732 Содержание 15
10.16. Мультиплексирование 733 10.17. Цифровой запоминающий осциллограф 734 Другие области применения 737 10.18. Цифровая обработка сигналов 737 Цифровая фильтрация 738 Резюме 741 Глава 11. Запоминающие устройства _ 761 11.1. Терминология систем памяти 763 11.2. Общие принципы функционирования схем памяти 767 Входы адреса 768 Вход чтения/записи R/W 768 Включение памяти 769 11.3. Соединение схем памяти с центральным процессором 771 11.4. Постоянные запоминающие устройства 772 Структурная схема ПЗУ 773 Операция чтения 774 11.5. Архитектура ПЗУ 775 Массив регистров 775 Дешифраторы адреса 776 Выходные буферы 776 11.6. Временные параметры ПЗУ 777 11.7. Типы ПЗУ 778 Программируемое по фотошаблону ПЗУ 778 Программируемые ПЗУ (ППЗУ) 781 Стираемые программируемые постоянные запоминающие уса ройства (СППЗУ) 783 Электрически стираемое программируемое ПЗУ(ЭСППЗУ) 785 Постоянные запоминающие устройства на компакт-дисках CD ROM 788 11.8. Флэш-память 789 КМОП ИС флэш-памяти 28F256A 791 Команда чтения 792 Команды стирания/подготовки к стиранию ' 793 Команда стирания с последующим контролем 793 Команды подготовки к программированию/программирования 794 Команда программирования с последующим контролем 794 11.9. Применение ПЗУ 794 Программно-аппаратное обеспечение 794 Запоминающие устройства для хранения программы самозагрузки 795 Таблицы данных 795 Преобразователь данных 796 Генераторы функций 796 Вспомогательные запоминающие устройства 797 11.10. Полупроводниковые ОЗУ 798 11.11. Архитектура ОЗУ 798 Операция чтения 799 Операция записи 800 Выбор микросхемы 800 Входы ввода-вывода 800 11.12. Статические ОЗУ (SRAM) 802 Временные процессы в статических ОЗУ 802 Цикл чтения 803 Цикл записи 805 Реальная микросхема статической памяти 806 11.13. Динамические ОЗУ (DRAM) 808 11.14. Структура и функционирование динамических ОЗУ 809 16 Содержание
Мультиплексирование адресов 811 11.15. Циклы чтения/записи динамического ОЗУ 815 Цикл чтения динамического ОЗУ 815 Цикл записи динамического ОЗУ 816 11.16. Обновление информации в динамическом ОЗУ 818 11.17. Технологии динамической памяти 821 Модули памяти 822 FPM DRAM 822 EDO DRAM 823 SDRAM 823 DDR SDRAM 823 SLDRAM 823 DR DRAM 824 11.18. Увеличение длины слов данных и емкости памяти 824 Расширение длины слова данных 824 Расширение емкости запоминающих устройств 827 Неполная дешифрация адреса 830 Объединение чипов динамической памяти 832 11.19. Специальные функции памяти 833 Хранение информации при отключении питания 833 Кэш-память 834 Память FIFO 835 Кольцевые буферы 836 11.20. Поиск неисправностей в системах оперативной памяти 836 Функционирование ОЗУ 837 Тестирование дешифрирующих логических элементов 840 Тестирование полной системы оперативной памяти 841 11.21. Тестирование ПЗУ 845 Резюме 846 Глава 12. Применение программируемых логических устройств 865 12.1. Фундаментальные понятия схемотехники ПЛУ 867 Обозначения ПЛУ 868 12.2. Архитектура ПЛУ 869 ППЗУ 869 Программируемая матричная логика 871 Программируемая пользователем матричная логика 873 12.3. ПЛУ GAL 16V8 (типовая матричная логика) 874 Простой режим 878 Сложный режим 881 Буферизованный режим 882 12.4. Привязка карты пережигания языка CUPL к архитектуре ПЛУ GAL 16V8 886 12.5. Проблемы проектирования 888 Схема разрешения конфликтов 890 Дешифрация состояний счетчика 892 12.6. ПЛУ GAL 22V10 897 12.7. Клавишное кодирующее устройство 900 12.8. Разработка более совершенных ПЛУ 906 Тенденции развития программного обеспечения 908 Резюме 909 Приложение А. Введение в микропроцессоры и микрокомпьютеры 915 А.1. Что такое цифровой компьютер? 917 А.2. Как компьютер “думает”? 917 А.З. Секретный агент “89” 918 Содержание 17
A. 4. Организация простейшей компьютерной системы 919 Арифметико-логическое устройство (АЛУ) 920 Запоминающее устройство 920 Устройство ввода 921 Устройство вывода 921 Интерфейс 921 Устройство управления 922 Центральное процессорное устройство (ЦПУ) 922 А. 5. Основные элементы микрокомпьютеров 923 Микропроцессор (МПУ) 924 А. 6. Машинные слова 926 Типы машинных слов 926 А.7. Командные слова 927 Многобайтовые команды 928 А. 8. Выполнение программы машинного языка 930 Выполнение программы 933 А.9. Структура типичного микрокомпьютера 935 Системные шины 936 Порты ввода-вывода 937 Временные процессы 938 А. 10. Комментарии 940 Резюме 940 Приложение Б. Спецификации некоторых интегральных схем 943 Приложение В. Элементы логических схем 955 Триггеры 955 Булевы теоремы 957 Таблицы истинности логических элементов 958 Обозначения логических элементов 958 Глоссарий 960 Предметный указатель 1018 18 Содержание
Тебе Кэп, за твою долгую любовь и за миллионы спо- собов, которыми ты освещаешь жизнь всех, к кому прикасаешься. —Рональд Дж. Точчи Моей жене, Крис, и нашим детям Джону, Брэду, Блейку, Мэтту и Кэйти: они имели все права на мое время и внимание, потраченные на завершение этого издания. —Нил С. Уидмер
Введение Данная книга представляет собой фундаментальное изложение основных принци- пов и технологий построения современных цифровых схем и предназначена для ис- пользования в качестве учебного пособия для студентов технических специальностей. Материал книги доступен независимо от того, владеет ли читатель начальными зна- ниями в области электроники, хотя подобные навыки только облегчили бы понима- ние этого материала. Те разделы, где эти знания необходимы, можно попросту опус- тить без ущерба для понимания логических принципов в целом. Что нового? Восьмое издание выгодно отличается от седьмого. Книга написана простым язы- ком, и разобраться в ней сможет не только специалист. Материал седьмого издания частично был изменен и расширен с целью более полного и подробного описания. Появились новые примеры, контрольные вопросы в конце каждого раздела, введены упражнения для самостоятельного выполнения после каждой главы. Все это сделано для лучшего усвоения новых знаний и закрепления уже пройденного материала. Описание ПЛУ Наиболее значительное изменение по сравнению с седьмым изданием книги Циф- ровые системы: принципы и возможные применения — новый подход в изучении программируемых логических устройств (ПЛУ). В виде ПЛУ можно реализовать лю- бую логическую схему, начиная от простейших логических элементов и заканчивая сложными цифровыми системами. Революционные изменения в технологии неиз- менно влекут за собой изменения в изложении соответствующих тем (например, пе- реход от вакуумной лампы к транзистору, или скачок от транзисторных схем к схе- мам на основе операционных усилителей). Пятнадцать последних лет технология двигалась навстречу программируемой логике. В современных цифровых системах малые и средние интегральные схемы в основном уже выполняют второстепенные функции. Программируемые устройства, матрицы логических элементов, заказные ИС разрабатываются на основе последних достижений в области цифровых систем. Однако чтобы понять, как создаются эти микросхемы, нужно в первую очередь озна- комиться с элементами, из которых они состоят. Это дешифраторы, мультиплексоры, сумматоры, буферные устройства, триггеры, регистры, счетчики и т.д. Важнейшим этапом вводных лабораторных занятий является разводка и тестирование этих эле- ментов. Занятия способствуют установлению четкой терминологии — двоичные вхо- ды и выходы, действие физического устройства, практические ограничения. Боль- шим плюсом есть совместный (дискуссионный) поиск причин каких-либо неисправ- ностей. Отметим, что текстовое,, графическое описание схем или даже компьютерное мо- делирование не могут дать равноценной замены работе с макетами. В качестве маке- тов можно использовать программируемые устройства, которые ничем не будут усту- пать средним интегральным схемам. Современная технология подразумевает созда- ние схем отдельных базовых элементов в качестве ПЛУ, поэтому наряду со знаниями об этих элементах необходимо расширять знания и о программируемых устройствах. Скорее всего, читатель сможет разрабатывать логические схемы с использованием ПЛУ прежде, чем разберется во всех деталях его работы. Сперва предлагается изу- чить последовательность программирования на относительно простых схемах. По ме- ре знакомства с более сложными схемами читатели будут узнавать и о преимущест- вах различных языков программирования. В итоге, после изучения всех основных элементов, станет понятной схематика ПЛУ, все его возможности и ограничения.
Очередность Подойти к описанию ПЛУ можно по одному из трех путей: а) опустить весь ма- териал, касающийся ПЛУ, не нарушая при этом последовательности изложения; б) вынести его как отдельную тему, в виде последних разделов глав 4, 5, 6, 7 и 9 прежде, чем читать главу 12; в) изучение ПЛУ можно представить как независимый курс, и включить в программу лекций и лабораторных занятий. Такой механизм обеспечит максимальную гибкость графиков чтения различных курсов. Преподаватели довольно редко читают главы в той последовательности, в которой они приведены здесь. Книга написана таким образом, что каждая глава большей ча- стью основана на предыдущем материале, однако их порядок можно немного изме- нить. Первую часть главы 6 (арифметические операции) можно прочесть после главы 2 (системы счисления), хотя в этом случае еще не скоро встретится упомина- ние об арифметических схемах из шестой главы. Большую часть материала главы 8 (характеристики ИС) можно рассмотреть раньше (после главы 4 или 5), и это не вы- зовет серьезных недоразумений. Курс лекций, составленный по этой книге, может быть рассчитан как на один, так и на два семестра. Если это семестровый курс и количество отведенного времени невелико, то некоторые темы можно просто исключить. Ниже приведен список раз- делов и глав, отсутствие которых практически не нарушает целостности изложения. Очевидно, выбор будет зависеть от программы, намеченных целей и пожеланий сту- дентов. Глава 1: Все Глава 8: Разделы 11, 14-21 Глава 2: Раздел 6 Глава 9: Разделы 5, 9, 15 Глава 4: Разделы 7, 10-14 Глава 10: Разделы 7, 14-18 Глава 5: Разделы 3, 24-26 Глава 11: Разделы 17-21 Глава 6: Разделы 5-7, 11, 13, 16-20 Глава 12: Все Глава 7: Разделы 10, 14, 23-25 Типы упражнений Седьмое издание содержало четыре типа упражнений: сложные (С), на выявление неисправностей в схемах (Т). на усвоение нового материала (N), на разработку схем (D). В восьмом издании добавился еще один тип упражнений, который обозначается как (В). Это задачи, касающиеся базовых моментов того, о чем говорится в отдель- ных главах. Также появилось больше упражнений, направленных на понимание из- ложенного материала. Если задание не относится к вышеперечисленным, значит, оно имеет промежуточный уровень сложности, где-то между трудным и основным. Перечни технических характеристик Технические спецификации отдельных интегральных схем приведены в приложе- нии Б, которое представлено в конце книги. Технология ИС В этом издании, как и в двух предыдущих, больше внимания уделено технологии КМОП, которая занимает ведущее положение в области малых и средних интеграль- ных схем, хотя на данный момеш в целом преобладает ТТЛ-технология. Примеры промышленного применения Примеры, приведенные в предыдущих изданиях, мы использовали и здесь для ответа на возникающий у некоторых студентов вопрос: “А зачем все это нужно знать?” Примерами могут служить схемы управления копировальных аппаратов, устройства циклового программного управления технологическими жидкостями, датчики контроля над напряжением бортового питания на космическом корабле, цифровой термостат, функциональный преобразователь таблиц соответствия. Приме- ВВЕДЕНИЕ 21
ры использования ПЛУ раскрывают дополнительные возможности реализации экви- валентных СИС и МИ С. Приводятся новые решения, объединяющие несколько раз- личных типов схем и методов исполнения в одну автономную систему ПЛУ. Напри- мер, на рис. Р.1 показана схема управления шаговым двигателем, где элемент GAL 16V8, выступающий как схема сопряжения, включает в себя контроллер последова- тельности, дешифратор и буферизованные выходы с тремя состояниями. Это очень полезное практическое решение при работе с шаговыми двигателями в лаборатории. На рис. Р.2 изображена схема для клавишного кодирующего устройства, которое часто используется в качестве устройства ввода в микропроцессорах и друглх цифро- вых системах. Схема состоит из последовательности кольцевых счетчиков, шифрато- ров и контролируемого выхода с тремя состояниями. Схемы, приведенные в приме- рах, достаточно просто создаются и их можно использовать как отдельные элементы в последующих экспериментах. Входы контроллера Интерфейс последовательности GAL16V8 . Рис. Р.1. Схема управления шагового двигателя, показанная на рис. 12.20 Изменения в содержании глав Произошли изменения и в тематике отдельных глав: Глава 1. Взгляд на “цифровое будущее” основывается на последних достижениях науки и техники. Глава 2. Теперь в этой главе описаны новые и усовершенствованы старые мето- ды использования калькуляторов для перехода от одной системы счисления к другой. Глава 3. Несколько сократилось рассмотрение стандартных обозначений логиче- ских элементов (IEEE). Глава 4. а) Появилась информация об использовании карт Карно, включая де- тальный пример “безразличных состояний” элемента; б) ПЛУ представлено как альтернативная основа для создания логических схем. По возможности просто показаны общие принципы действия таких устройств на примере схем, про- граммируемых с помощью технологии плавких перемычек. Указано, какая вы- 22 Введение
числительная техника и программное обеспечение понадобятся при разработке схем в виде ПЛУ, а также их место во всем этом процессе. Рассмотрен специ- альный язык высокого уровня, используемый для описания подобных элемен- тов. И, как результат, приводится пример реализации простой комбинационной логической схемы. D3 D2 DAV Рис. Р2. Схема клавишного кодирующего устройства, показанного на рис. 12.25 Глава б. Логические схемы с обратной связью, включая сдвиговые регистры и D-защелки, созданные на основе ПЛУ. Опираясь на существующее в вышеупо- мянутом языке описания определение перехода между логическими состояния- ми, простой счетчик реализован в виде программируемого устройства. Глава 6. Появился новый раздел, посвященный описанию четырехбитового сум- матора на основе ПЛУ. Наряду с отдельными (индексированными) переменны- ми, для логического объединения четырехбитовых массивов информации в язык описания введено представление о наборе данных. Глава 7. а) Убран материал по устаревшей интегральной схеме 74178 больше места уделено ИС 74165, 74174; б) наряду с буферизацией выходов ПЛУ, описа- ны еще два метода задания последовательности состояний счетчика (конечный автомат). Введение 23
Глава 8. Развитие технологии вынудило существенно изменить тематику этой главы. Добавлена информация о корпусах с матричным расположением шаро- вых выводов. Все примеры и технические характеристики приводятся только для серии усовершенствованных маломощных интегральных схем серии ТТЛ с диодами Шотки, тогда как параметры основной схемы описаны при помощи бо- лее понятного стандарта ТТЛ. Также объединены в один раздел технологии МОП и КМОП, с акцентом на КМОП-структурах как наиболее популярных на сего- дняшний день. При этом вся информация о МОП-структурах с р- и п-каналами сводится к их текущему промышленному применению. Усовершенствован мате- риал по ЭСЛ. Также обновлено содержание раздела о низковольтных технологи- ях. Чтобы исключить избыточные сведения, описания схем со свободным кол- лектором и свободным стоком были объединены; в лучшем виде представлена трехуровневая логика. Линии передачи и необходимость их оконечной нагрузки рассмотрены вкратце, наряду с ними описана серия устройств сопряжения для высокоскоростных шин. Глава 9. «Здесь рассматриваются цветные жидкокристаллические дисплеи и тех- нология изготовления экранов ноутбуков. Раздел о газоразрядных дисплеях и два раздела стандартных обозначений IEEE из книги убраны. Также показана возможность описания ПЛУ с помощью метода таблиц истинности. Действие стандартных функций средних интегральных схем получено на основе програм- мируемых логических устройств. Глава 10. Расширен раздел, посвященный дискретизации аналоговых сигналов, теореме Найквиста и наложению спектров. Описание возможностей применения АЦП и ЦАП в быстро развивающейся области цифровой электроники дополнено поверхностным ознакомлением с цифровым сигнальным процессором. Глава 11. Весь материал по программируемым устройствам был либо отредакти- рован, либо перенесен в другие главы, большей частью в главу 12. Рассмотрено еще больше понятий и терминов, которые часто встречаются в литературе ком- пьютерного направления (например, момент переходного состояния в технологии динамических ОЗУ или понятие времени ожидания (задержки) и как оно влияет на скорость выполнения операций, описание кэшей первого и второго уровней, которые имеются у всех современных компьютеров). Поскольку кольцевые бу- феры широко используются в системах ЦОС, они будут представлены в виде мо- дулей памяти. Глава 12. Теперь эта глава начинается с обзора внутренней архитектуры элемен- тарного ПЛУ. Материал главы 11 седьмого издания был модифицирован и объе- динен с материалом главы 12. Приводится пример использования популярной схемы GAL 22V10 в качестве сумматора. Также показано, как создаются имею- щие большое практическое значение схемы универсального задающего устройст- ва для шагового двигателя и клавишного кодирующего устройства с использова- нием только одного ПЛУ. Появилась информация о других языках описания ап- паратных средств, о концепции построения более совершенных вентильных матриц, программируемых пользователем Приложение А. Материал по микропроцессорной технике (глава 13 в предыду- щих изданиях) носил характер поверхностного введения в этот достаточно сложный и очень важный предмет, поскольку в большинстве учебных программ на него выделяется отдельный курс. Поэтому мы вынесли эту тему в виде при- ложения, чтобы впоследствии убрать ее вообще. Читатели могут высказать свое мнение по этому поводу на Web-узле нашей книги http://www/prenhall.corn/ tocci. 24 Введение
Что осталось из прошлых изданий? Все характерные особенности изложения материала в предыдущих изданиях, за- воевавших огромную популярность у читателей, мы сохранили и здесь. Например, подход к описанию основных логических операций и логических элементов при по- мощи блок-схем этих элементов, не вдаваясь в детали их внутреннего строения, об- легчает понимание материала на ранних этапах изучения книги. Или же рассмотре- ние основных электротехнических характеристик интегральных схем только после полного усвоения принципов бинарной логики. Глава 8 знакомит читателя с внут- ренней архитектурой ИС. В итоге он может интерпретировать значения на входах и выходе логического модуля и, исходя из этого, предложить возможную схему его строения. Описание каждой новой темы или устройства состоит из следующих этапов: рас- смотрение принципа действия; изучение примеров и возможностей применения, час- то с использованием реально существующих ИС; контрольные вопросы по материалу каждого раздела; практические упражнения ко всей главе, находящиеся в ее конце. Отметим, что в книге представлены упражнения различных степеней сложности, причем они ориентированы не на обычное заучивание основных принципов, приве- денных в главе, а требуют их понимания и умения использовать в разных ситуаци- ях. В результате студент обретает уверенность в собственных силах и углубляет зна- ния по данной теме. Сведения о стандарте IEEE/ANSI для обозначений логических элементов обсуж- даются отдельно и практически не влияют на ход изложения. Поэтому при желании их можно убрать полностью или частично без потерь для содержания. Информация о поиске неисправностей в логических схемах представлена с 4 по 11 главу. Здесь опи- саны всевозможные принципы и технологии, детально рассмотрены отдельные слу- чаи, представлены 25 примеров поиска возникших неисправностей и 60 упражнений на эту тему. Однако для получения хороших практических навыков, необходимых для устранения неполадок в электронных схемах, без лабораторного практикума на макетах не обойтись. В восьмом издании собрано более 200 примеров, около 400 вопросов и более 450 упражнений. В некоторых из упражнений (помещенных в конце каждой главы) представлены типичные микрокомпьютерные системы с использованием логических устройств, описанных ранее в соответствующей главе. С помощью алфавитного указателя читатель сможет быстро найти информацию по любой ИС, которая встречалась или на которую были ссылки в тексте. Также вместе собраны таблицы с наиболее часто встречающимися теоремами булевой алгеб- ры, краткое резюме основных логических элементов, таблицы истинности для триг- геров, что очень полезно при решении задач или работе в лаборатории. Толковый словарь содержит краткое описание всех терминов, выделенных в тек- сте жирным шрифтом. Дополнительные средства Книге сопутствует основательное дополнение, содержащее много составных час- тей. Каждая из них имеет определенное назначение и может использоваться незави- симо или в совокупности с остальными. К изданию бесплатно прилагается компакт-диск, который содержит: полный перечень технических спецификаций интегральных схем компании Texas Instruments, Inc., включая все серии ТТЛ, КМОП, а также спецификации шинных интерфейсов; принципиальные схемы (часть из которых вошла в книгу), представленные в формате файлов двух программ Electronics Workbench™ и CircuitMaker®. Сту- денты, имеющие доступ к первой из них, могут спокойно работать с этими фай- лами, при подготовке к лабораторным занятиям. О том, как получить пользова- ВВЕДЕНИЕ 25
тельскую версию программы, можно узнать на сайте компании Electronics Workbench — www.electronicsworkbench.com; демонстрационная версия компилятора языка CUPL — PAL EXPERT от компа- нии Logical Devices, Inc. Лицензионный вариант этого мощного программного продукта читатели книги могут приобрести со скидкой, указав при заказе реги- страционный номер #РгеН5Р1-2000. Для студентов Пакет программ StudyWizard Tutorial Software. Студенты смогут лучше разо- браться в материале, отвечая на вопросы, а также проверить знание терминоло- гии при помощи этой программы. К сожалению, данный пакет не идет в ком- плекте с книгой. Руководство по лабораторному практикуму: моделирование и разработка Грего- ри Мосса (Gregory Moss). В заданиях, связанных с программируемой логикой, используется программное обеспечение CUPL. Эта версия содержит новые маке- ты и модели, изменения, касающиеся ПЛУ согласно изменениям в тексте книги, а также несколько новых рисунков. (ISBN 0-13-086588-5) Руководство по лабораторному практикуму: поиск и устранение неисправно- стей, предложенное Джимом деЛохом (Jim DeLoach) и Фрэнком Амбросио (Frank Ambrosio), включает более 40 экспериментальных примеров нахождения, анали- за и ликвидации неполадок в электронных схемах. (ISBN 0-13-089703-5) Настольный справочник студента, составленный Фрэнком Амбросио, способст- вует закреплению знаний по всем темам. Старое издание изменилось в соответ- ствии с изменениями в тексте самой книги, и сейчас содержит полностью обнов- ленные схемы. (ISBN 0-13-085639-8) Web-узел, посвященный этой книге (www.prenhall.com/tocci). Здесь открыта для студентов бесплатная дистанционная система обучения, воспользовавшись кото- рой можно проверить понимание ключевых моментов по отдельным темам. Web-узел, посвященный электронике (www.prenhall.com'electronics). Включает дополнительные задачи поиска и устранения неисправностей, ссылки на Web- ресурсы промышленных предприятий, интервью со специалистом в области электроники и многое другое. Для преподавателей Web-узел, посвященный этой книге (www.prenhall.com/tocci). Преподаватель может разместить здесь свой конспект лекций, воспользовавшись нашей про- граммой-построителем Syllabus Builder. Это хороший способ для проведения за- нятий в режиме реального времени или самостоятельного изучения. Web-узел, посвященный электронике (www.prenhall.com/electronics). Здесь на- ходится электронный вариант журнала Prentice Hall Electronics Technology Journal, а также всевозможные дополнения к тексту книги, помещенные сюда для упрощения доступа. Обратитесь в наше территориальное представительство с просьбой предоставить Вам имя пользователя и код доступа. Поддержка сетевых курсов. Если, согласно Вашему учебному плану, курс циф- ровой электроники выносится на дистанционное обучение, обратитесь в наше представительство за списком программных решений. Руководство преподавателя содержит последовательно изложенные решения всех упражнений, которые встречаются в тексте. (ISBN 0-13-085635-5) Сборник ответов к лабораторным работам включает в себя все результаты двух лабораторных практикумов. (ISBN 0-13-085637-1) 26 Введение
Компакт-диск, содержащий все рисунки из текста, оформленные в виде слайдов программы PowerPoint. 150 слайдов дополнительно включают пояснения к этим рисункам. (ISBN 0-13-089704-3) Тестовые задания. Это сборник из сотен вопросов, которые можно использовать в качестве тестов и экзаменов. (ISBN 0-13-085636-3) PH Test Manager — это компьютеризованная версия предыдущего пункта (для платформы Windows). Представлена в виде компакт-диска, позволяет редакти- ровать вопросы и включать в них графические объекты. Имеет сложную про- грамму графического вывода. (ISBN 0-13-085641-Х) Благодарности Мы искренне признательны всем, кто рецензировал седьмое издание и заполнял обширную анкету: Майклу Г. Истмэну (Michael G. Eastman) из Рочестерского техно- логического института; доктору Уолтеру Э. Тэйну (Walter Е. Thain) из Южного госу- дарственного политехнического университета; Майклу Э. Клеммеру и Джону Данну (Michael Е. Clemmer, John Dunn) из технического института в городе Ноксвилл; а так- же Курту Нэлти из Остинского колледжа. Их критика, комментарии и рекомендации сыграли неоценимую роль при окончательном формировании восьмого издания. Также выражаем глубокую благодарность нашим коллегам: профессору Фрэнку Амбросио из колледжа Монро за основательную работу над каталогами, книгами Ру- ководство Преподавателя и Настольный Справочник Студентах профессору Грего- ри Моссу из университета Пердью за многочисленные советы относительно содержа- ния отдельных тем и в особенности раздела современной программируемой логики; профессору Энтони Окстоби (Anthony Oxtoby) из того же университета за техниче- ский обзор тем, связанных с обработкой цифровых сигналов. Мы высоко ценим по- мощь, оказанную со стороны Дэвида Мота (David Mot) из компании Logical Devices, Inc., любезно предложившего специальную оценочную версию программы CUPL по нашей просьбе, а также Майка Гастингса (Mike Hastings) из компании Texas Instruments, Inc., предоставившего технические характеристики логических схем. Проект такой величины требует внимательного, профессионального редактирова- ния, и здесь нам на выручку снова пришло издательство Prentice Hall. Мы благода- рим за помощь главного редактора Скотта Самбуччи (Scott Sambucci), его первого помощника Кэйти Брэдфорд (Katie Bradford), производственного редактора Стива Робба (Steve Robb) и Алекса Вульфа (Alex Wolf) и редактора печати Брета Воркмэна (Bret Workman). И наконец, хотим сказать огромное спасибо нашим женам и детям за понимание и поддержку. Рональд Дж. Точчи (Ronald J. Tocci) Нил С. У ид мер (Neal S. Widmer) Введение 27
Web-узел, посвященный этой книге Создание Web-узла для этой книги Страница издательства Prentice Hall: виртуальная среда обучения Технология сейчас развивается очень большими темпами, поэтому за изменения- ми нужно постоянно следить. С этой целью издательство Prentice Hall и создало се- тевую среду обучения для студентов и преподавателей — сопутствующий нашей кни- ге Web-узел. Его назначение состоит в том, чтобы более полно, с учетом последних достижений науки и техники раскрыть тематику отдельных глав. Особое внимание уделено ин- формации, имеющейся на Web-узлах такого же направления, что обеспечивает чита- телей солидным запасом полезных ссылок. На страницах Web-узла собраны: Для преподавателя Программа Syllabus Manager™ позволяет разместить конспект лекций в сети. Syllabus Manager™ поможет шаг за шагом создать сетевой вариант курса, мо- дифицировать его, разместить ссылки на нашу страницу, а также на другие ре- сурсы в Internet. Чтобы это сделать, не обязательно знать язык HTML. Материал доступен студентам на протяжении всего периода обучения. Все, что им будет нужно знать — Internet-адрес нашей страницы и пароль для доступа к конспекту, который укажете Вы. Если курс лекций уже размещен при помощи программы Syllabus Manager™, студенты смогут войти в него из любой точки нашего Web-узла. Щелкнув левой кнопкой мыши на текущей дате, студент увидит список пунктов сегодняшнего задания. С целью экономии времени каждый из пунктов напря- мую связан с конкретным разделом в конспекте лекций. Чтобы добавить задание, укажите с помощью мыши желаемые сроки его выпол- нения, название, инструкции, а также будет оно повторяться или нет. Гиперссылки создаются очень просто. Чтобы создать гиперссылку, нужно впи- сать необходимый URL в соответствующую строку. Это автоматически отобра- зится в тексте конспекта. Завершенный вариант курса лекций размещается на наших серверах. Обновлять информацию можно с любого компьютера, подключенного к Internet. Все изме- нения, внесенные в конспект, станут доступны студентам при следующем посе- щении. Для студента В резюме глав выделены все ключевые понятия, встречающиеся в тексте книги. 28 Web-узел, посвященный этой книге
Система интерактивной проверки знаний дополнительно содержит небольшие советы к заданиям и автоматически выставляет оценку. В нее входят вопросы в виде тестов либо вопросы, требующие ответа “да” или “нет”, есть задания на сравнение или такие, где необходимо представить развернутый ответ. После того как Вы закончите выполнение заданий, специальная программа оповеще- ния результатов Results Reporter проанализирует работу, графически отобразит ко- личество правильных и неправильных ответов и даст полную раскладку всех вопро- сов. Студенты могут отправить результаты проверки на любой из четырех адресов электронной почты — преподавателю, его ассистенту, кому-то из сокурсников. Доска объявлений позволяет размещать свои вопросы и давать ответы или ком- ментарии на вопросы других. Форум обеспечивает диалог в реальном времени с пользователем нашего Web- узла, который может находиться где угодно в пределах страны. Это отличная возможность для проведения всякого рода обсуждений и семинаров. Чтобы воспользоваться всеми этими возможностями, нужно просто посетить Web- узел книги Цифровые системы: принципы и возможные применения по адресу www. prenhall. com/tocci От издательства Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сде- лать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услы- шать и любые другие замечания, которые вам хотелось бы высказать в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бу- мажное или электронное письмо, либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обя- зательно учтем его при отборе и подготовке к изданию последующих книг. Наши ко- ординаты: E-mail: inf o@williamspublishing. com WWW: http: //www.williamspublishing.com Информация для писем из: России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152 Web-узел, посвященный этой книге 29

Глава 1 Введение в предмет Содержание: 1.1. Численные представления 1.2. Цифровые и аналоговые системы 1.3. Цифровые системы счисления 1.4. Представление двоичных величин 1.5. Цифровые и логические схемы 1.6. Параллельная и последовательная передача информации 1.7. Память 1.8. Цифровые компьютеры
В этой главе: различия между аналоговым и цифровым представлениями; преимущества и недостатки цифровой техники по сравнению с анало- говой; назначение аналого-цифровых преобразователей (АЦП) и цифроаналого- вых преобразователей (ЦАП); основные характеристики двоичной цифровой системы; перевод двоичного числа в его десятичный эквивалент; счет в двоичной числовой системе; типичные цифровые сигналы и временные диаграммы сигналов; различие между параллельной и последовательной передачей информации; описание свойств памяти; описание основных компонентов цифровых компьютеров и их назначение; различие между аналоговыми микрокомпьютерами, микропроцессорами и микроконтроллерами. Введение В сегодняшнем мире термин цифровой стал частью нашего ежедневного общения благодаря повсеместному использованию цифровых систем и цифровой техники поч- ти во всех областях жизни: в компьютерах, автоматике, робототехнике, в медицине и на производстве, транспорте, развлечениях, космических исследованиях и т.д. Вы находитесь в преддверии удивительного образовательного путешествия, на протяже- нии которого откроете фундаментальные принципы, понятия и операции, общие для всех цифровых систем, — от простейших ключей с двумя состояниями и до наиболее сложных компьютеров. В книге описаны принципы работы цифровых систем, а так- же даны практические рекомендации по анализу цифровых систем или их сбоев. Начнем с представления базовых концепций, которые являются фундаментальной частью цифровых технологий; эти концепции будут расширены далее по ходу книги. Мы также представим некоторую терминологию, необходимую для ознакомления с новой областью знаний. 1.1. Численные представления В науке, технологии, бизнесе и во многих других областях деятельности мы по- стоянно имеем дело с величинами. Величины измеряют, изучают, записывают, над ними производят арифметические операции, за ними наблюдают, т.е. используют тем или иным способом в большинстве физических систем. Важно, что при работе с различными величинами мы можем представить их значения точно и эффективно. Существуют два основных способа представления численных значений величин: ана- логовый и цифровой. Аналоговое представление При аналоговом представлении величина отображается напряжением, током или движением стрелки измерительного прибора пропорционально значению данной ве- личины. В качестве примера может служить автомобильный спидометр, в котором 32 Глава 1
отклонение стрелки прибора пропорционально скорости машины. Угловое положение стрелки отображает значение скорости автомобиля, при этом стрелка следит за лю- быми изменениями этой величины при разгоне или торможении автомобиля. Другой пример — ртутный термометр, в котором высота столбика ртути пропор- циональна температуре в комнате. Как только температура повышается или понижа- ется, ртуть также пропорционально поднимается или опускается так, что ее уровень отображает значение температуры. В качестве еще одного примера аналоговой величины можно привести обычный микрофон. В этом приборе выходное напряжение генерируется пропорционально ам- плитуде звуковых волн, попадающих в микрофон. Изменения выходного напряже- ния в точности повторяют изменения входного звука. Перечисленные выше аналоговые величины имеют общую важную характеристи- ку: они могут варьироваться в непрерывном диапазоне значений. Скорость автомо- биля может иметь любое значение между 0 и, скажем, 100 километрами в час. Точно так же и выходной сигнал микрофона может иметь любое значение в диапазоне от 0 до 10 мВ (например, 1 мВ; 2,3724 мВ; 9,9999 мВ). Цифровое представление При цифровом представлении величины отображаются не пропорциональными величинами, а символами, которые называются разрядами. В качестве примера возьмем электронные часы, которые показывают время суток в форме десятичных разрядов, соответствующих часам и минутам (иногда и секундам). Как известно, время суток изменяется постоянно, что нельзя сказать о показаниях электронных часов, — они меняются с шагом 1 за минуту (или за секунду). Другими словами, та- кое цифровое представление времени суток изменяется дискретными шагами по сравнению со временем на аналоговых часах, где показания циферблата меняются непрерывно. Главную разницу между аналоговыми и цифровыми величинами можно записать так: Аналоговый = непрерывный Цифровой = дискретный (шаг за шагом) Благодаря дискретной природе цифрового представления нет никакой двусмысленно- сти при чтении значения цифровой величины, тогда как значение аналоговой вели- чины часто может иметь различные интерпретации. Пример 1.1 Какие из приведенных ниже величин аналоговые, а какие цифровые? а) переключатель с десятью различными позициями; б) ток в электрической розетке; в) температура комнаты; г) песчинки на пляже; д) спидометр автомобиля? Решение а) цифровая; б) аналоговая; в) аналоговая; г) цифровые, так как песчинки могут иметь только дискретные (целочисленные) значения, а не любое возможное значение в непрерывном диапазоне; д) аналоговая, если спидометр со стрелкой; цифровая, если он индикаторный. Введение в предмет 33
Контрольные^вопроеёг 1. Кратко опишите основную разницу между аналоговыми и цифровыми величи- нами. 1.2. Цифровые и аналоговые системы Цифровая система — это комбинация устройств, разработанных для обработки логической информации или физических величин, которые представлены в цифровой форме. Эти устройства чаще всего электронные, но могут быть механическими, маг- нитными или пневматическими. Наиболее распространенные цифровые системы в мире — это цифровые компьютеры и калькуляторы, цифровое оборудование по обра- ботке аудио- и видеоданных, телефонные системы. Аналоговая система содержит устройства, которые оперируют с физическими ве- личинами, представленными в аналоговой форме. В аналоговой системе амплитуда выходного сигнала в колонке радиоприемника может иметь любое значение между нулем и максимальным пределом. Другие обычные аналоговые системы — это уси- лители звука, устройства записи и воспроизведения на магнитной ленте, обычный плавный (реостатный) выключатель света. Преимущества цифровой техники Все большее число приложений в электронике, как, впрочем, и большинство дру- гих технологий используют цифровую технику, чтобы осуществлять операции, кото- рые когда-то выполнялись при помощи аналоговой техники. Основные причины рос- та популярности цифровых технологий заключаются в следующем. 1. Цифровые системы, как правило, легче разрабатывать. Так происходит потому, что используемые схемы принадлежат к ключевым схемам, в которых важны не точные значения напряжения или тока, а лишь диапазон (высокий или низкий сигнал), в который они попадают. 2. Легко осуществить хранение информации. Хранение осуществляется с помощью специальных устройств и схем, которые могут считывать цифровую информацию и сохранять ее сколь угодно долго. Запоминающие устройства сверхбольшой ем- кости могут хранить миллиарды бит информации на сравнительно малом физи- ческом пространстве. Аналоговые устройства хранения информации, наобо- рот, имеют крайне ограниченные возможности. 3. Большая точность. Цифровые системы могут оперировать любым необходимым количеством десятичных знаков путем простого увеличения числа ключевых схем. В аналоговых системах точность обычно ограничена тремя или четырьмя знаками, потому что значения тока или напряжения непосредственно зависят от номиналов компонент схемы и подвержены влиянию случайных флуктуаций на- пряжения (шумов). 4. Возможность запрограммировать действие. Достаточно легко спроектировать цифровые системы, в которых работа контролируется набором хранящихся ко- манд, или программой. Аналоговые системы также можно программировать, но разнообразие и сложность имеющихся в распоряжении операций строго ограни- чены. 5. Цифровые схемы менее подвержены шумам. Паразитные флуктуации напряже- ния (шумы) некритичны для цифровых систем, потому что точные значения на- * Ответы к контрольным вопросам приведены в конце той главы, к которой они относятся. 34 Глава 1
пряжения для них не столь важны (шум не настолько большой, чтобы нельзя было отличить высокий уровень сигнала от низкого). 6. Большее количество схемотехнических решений может быть изготовлено на интегральных схемах (ИС). Конечно, и аналоговая схемотехника выиграла от бурного развития ИС-технологий, но ее относительная сложность, а также ис- пользование компонентов, которые не могут быть эффективно интегрированы (высокоемкие конденсаторы, прецизионные резисторы, катушки индуктивности, трансформаторы), помешали аналоговым системам добиться такой же высокой степени интеграции. Ограничения цифровой техники У цифровой техники есть один важный недостаток: Реальный мир в основном аналоговый. Большинство физических величин аналоговые по своей природе — это именно те величины входных и выходных наблюдаемых сигналов, с которыми оперирует и ко- торые контролирует система. В качестве примеров можно привести температуру, давление, координату, скорость, уровень жидкости, скорость потока и т.д. У нас во- шло в привычку выражать эти величины в цифровом виде, например, когда мы гово- рим, что температура равна 64' (63,8°, если требуется большая точность), то на самом деле мы делаем цифровое приближение аналоговой по своей сути величины. Чтобы воспользоваться преимуществами цифровой техники при работе с аналого- выми входными и выходными сигналами, надо следовать трем следующим инструк циям: 1. Перевести реальные аналоговые входные сигналы в цифровую форму. 2. Обработать цифровую информацию. 3. Перевести цифровые выходные сигналы обратно в реальную аналоговую форму. На рис. 1.1 показана блок-схема такого алгоритма для типичной системы контро- ля температуры. После измерения аналоговой температуры полученное значение конвертируется в цифровую величину с помощью аналого-цифрового преобразовате- ля (АЦП). Цифровая величина затем обрабатывается цифровыми устройствами, ко- торые могут включать или не включать цифровой компьютер. Его цифровой выход- ной сигнал конвертируется обратно в аналоговую величину с помощью цифроанало- гового преобразователя (ЦАП). Этот аналоговый выходной сигнал подается на контроллер, который выполняет некоторые действия по корректировке температуры. Температура (аналоговая форма) Рис. 1.1. Блок-схема системы контроля температуры, которая требует аналого-цифрового преобразования, для использования устройства цифровой обработки Введение в предмет 35
Еще олин наглядный пример преобразования между аналоговой и цифровой фор- мами — аудиозапись. Компакт-диски (CD) завоевали индустрию звукозаписи благо- даря гораздо более эффективным средствам для записи и воспроизведения музыки. Процесс состоит главным образом в следующем: (1) звуки инструментов и человече- ский голос продуцируют аналоговый сигнал в микрофоне; (2) этот аналоговый сигнал конвертируется в цифровую форму с использованием аналого-цифрового преобразо- вания; (3) цифровая информация хранится на поверхности компакт-диска; (4) во время воспроизведения проигрыватель компакт-дисков считывает цифровую инфор- мацию с поверхности диска и преобразовывает ее в аналоговый сигнал, который за- тем усиливается и подается на громкоговорители, используемые для прослушивания. Потребность в преобразовании между аналоговой и цифровой формами информа- ции можно рассматривать как недостаток, потому что аппаратура становится более сложной и дорогой. Другой фактор, который иногда также важен, — дополнительное время, необходимое для описанных выше преобразований. Однако во многих прило- жениях эти факторы компенсируются многочисленными преимуществами цифровой техники, так что преобразование между аналоговыми и цифровыми величинами ста- ло в современных технологиях практически всеобщим. В некоторых ситуациях, напротив, использование аналоговой техники проще и экономически оправдано. Например, процесс генерирования и поступления электри- чества в дома и офисы в основном осуществляется с помощью аналоговой схемотех- ники. На практике очень часто можно видеть и цифровые, и аналоговые методы, ис- пользуемые в одной и той же системе, для получения преимуществ каждой из них. В таких гибридных системах одна из наиболее важных задач на этапе разработки за- ключается в определении того, какие части системы будут аналоговыми, а какие цифровыми. Цифровое будущее Достижения в сфере цифровой технологии в течение трех последних десятилетий были феноменальными, но это только начало. Число областей применения цифровых ситем продолжает расти, и, вероятно, что к тому момоенту, когда вы прочитаете эти строки, некоторые из “технологий будущего” уже станут обычным явлением. Воз- можно, ваш автомобиль уже оснащен встроенным компьютером, который превраща- ет приборную панель в центр беспроводной коммуникации, информации и навига- ции. Вы уже можете использовать голосовые команды для отсылки или получения электронной почты, вызова информации о ситуации на дорогах, проверки техниче- ского состояния машины, отправки факса, заказа еды в дорогу и просто переключе- ния радиостанций или смены компакт-дисков — и все это без единого движения ру- ками или отрыва внимания от дороги. Или, например, у хронически больного ребен- ка может быть вшитый в руку микропроцессорный датчик, который позволяет врачам следить за его пульсом, кровяным давлением, температурой, активностью иммунной системы и другими биологическими данными независимо от того, где на- ходится ребенок. Данные могут отслеживаться и просматриваться докторами или медсестрами по радиосканеру, расположенному отдельно (как делал, например, док- тор Мак-Кой из сериала StarTrek) — лечение назначается так быстро, как только в нем возникает необходимость и с минимальной задержкой. Если эти плоды цифровой эры еще не материализованы, не волнуйтесь — они близко... вместе с еще большими достижениями такого же рода. Уже скоро ваши за- понки или сережки смогут взаимодействовать при помощи низкоорбитальных спут- ников и иметь большие вычислительные мощности, чем ваш сегодняшний домашний или офисный компьютер. Телефоны смогут получать, сортировать и, возможно, отве- чать на входящие звонки так же, как это делают высококлассные секретари. Дети в школах смогут делиться мыслями со сверстниками и собирать информацию по всему миру. Когда вы захотите посмотреть определенную телевизионную программу в 36 Глава 1
удобное для вас время, вся информация, которую вы увидите, будет передана в ваш дом за одну секунду и сохранена в памяти вашего телевизора или компьютера. Чи- тая о какой-либо местности, расположенной в 5000 километрах от дома, вы сможете физически ощутить там свое присутствие. И это лишь верхушка айсберга! Другими словами, цифровая технология не только продолжит свое сверхскорост- ное вторжение во все области нашей жизни, но и прорубит окно туда, где мы еще не были даже в мечтах. Поэтому сейчас наша первоочередная задача — узнать как можно больше о цифровой технологии и, уверенно чувствуя себя в седле, наслаж- даться поездкой. . . Контрольные вопросы 1. В чем преимущества цифровой техники по сравнению с аналоговой? 2. Каковы основные ограничения при использовании цифровой техники? 1.3. Цифровые системы счисления Цифровые технологии используют разнообразные системы счисления. Наиболее распространены десятичная, двоичная, восьмеричная и шестнадцатеричная. Деся- тичная система счисления, естественно, наиболее знакома для нас, потому что мы пользуемся ею каждый день. Изучение некоторых характеристик десятичной систе- мы поможет лучше понять другие системы счисления. Десятичная система Десятичная система состоит из 10 цифр-символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; ис- пользуя их в качестве разрядов числа, можно выразить любую величину. Десятичная система, также называемая системой по основанию 10, развилась естественным пу- тем (10 цифр — 10 пальцев у человека; кстати, слово “разряд” (digit) означает “палец” по-латыни). Десятичная система — это позиционная система, в которой значение разряда за- висит от его положения. Например, рассмотрим десятичное число 453. Цифра 4 представляет собой четыре сотни, 5 — пять десятков, а 3 — три единицы. По суще- ству, 4 несет на себе основной вес всех трех разрядов; оно является старшим знача- щим разрядом (СЗР). Число 3 несет наименьший вес и называется младшим знача- щим разрядом (МЗР). Рассмотрим другой пример — число 27,35. Это число равно 2 десяткам плюс 7 единиц плюс 4 десятым плюс 5 сотым, или 2 х 10+7х 1 + 3x0,1+ 5 х 0,01. Деся- тичная точка (запятая в русском языке) используется для того, чтобы отделить це- лую часть числа от дробной. Говоря более строго, различные позиции относительно десятичной точки несут вес, выражаемый степенью 10. Это показано на рис. 1.2, где для примера приведено число 2745,214. Десятичная запятая отделяет положительные степени 10 от отрица- тельных. Число 2745,214 равно (2 х 10+3) + (7 х 10+2) + (4 х 10+1) + (5 х 10^) + (2 х х Ю"1) + (1 х 10’2) + (4 х Ю’3). Таким образом, любое число — это сумма произведений каждого разряда на его позиционную величину. Введение в предмет 37
Позиционные значения (веса) t f t СЗР Десятичная ^зр; точка Рис. 1.2. Значение положения величины в десятичной системе как степени 10 Десятичный счет Счет в десятичной системе начинается с 0 в позиции единиц и каждый символ (разряд) увеличивается до 9. Затем прибавляем 1 к следующей более старшей пози- ции и снова начинаем счет с 0 на первой позиции (рис. 1.3). Этот процесс продолжа- ется до 99. Затем прибавляем 1 к третьей позиции и начинаем заново с 0 на двух первых позициях. Та же схема используется непрерывно до любой величины, кото- рую мы хотим посчитать. Важно заметить, что при десятичном счете позиция единиц (младший значащий разряд) меняется с каждым шагом счета, позиция десятков меняется вверх каждые 10 шагов, сотен — каждые 100 шагов и т.д. Другая характеристика десятичной системы заключается в том, что, используя только два десятичные знакоместа, можно просчитать 102 = 100 различных чисел (от 0 до 99)*, с помощью трех знакомест можно просчитать 1000 чисел (от 0 до 999) * Ноль тоже считается числом. 38 Глава 1
и т.д. Таким образом, с помощью N знакомест можно просчитать 10N различных чи- сел начиная с нуля. Максимальным числом при этом всегда будет 10N - 1. Двоичная система К сожалению, десятичная система счисления не применяется при реализации цифровых систем. Очень сложно, в частности, спроектировать электронное оборудо- вание таким образом, чтобы оно работало с десятью различными уровнями напряже- ния (каждый представлял бы один десятичный символ от 0 до 9). С другой стороны, очень легко спроектировать простую и точную электронную схему, которая бы рабо- тала только с двумя уровнями напряжения. По этой причине почти каждая цифро- вая система использует двоичную (по основанию 2) систему счисления в качестве ба- зовой системы счисления для всех операций, хотя часто в сочетании с двоичной применяются и другие системы счисления. В двоичной системе существует всего два символа или возможных значений раз- ряда — 0 и 1, но даже при этом система с основанием 2 может быть использована для представления любой величины, выраженной в десятичной или другой системе. Однако чтобы выразить данную величину, потребуется большее количество двоичных разрядов. Все вышеизложенные замечания, касающиеся десятичной системы, применимы и к двоичной системе. Двоичная система также позиционная, т.е. каждый двоичный разряд имеет свое собственное значение или вес, выраженный степенью 2 (рис. 1.4). Позиции слева от двоичной точки (аналога десятичной точки) являются положитель- ными степенями 2, а места справа — отрицательными. На рисунке показано двоич- ное число 1011,101. Чтобы найти его эквивалент в десятичной системе, нужно взять сумму произведений каждого значения разряда (0 и 1) и его позиционного значения: 1011,1012 = (1 х 23) + (0 х 22) + (1 х 21) + (1 х 2°) + (1 х 2"1) + (0 х 2’2) + (1 х 23) = = 8 + 0 + 2 + 1 +0,5 + 0 + 0,125 + 11,62510 Заметьте, что здесь нижние индексы (2 и 10) использованы, чтобы показать осно- вание, в котором выражено данное число. Такая договоренность используется, чтобы избежать ошибки при работе с более чем двумя системами счисления. Позиционные значения см - 23 22 21 2° n см см I I I I I II 10 1 1 <• 1 0 1 СЗР Двоичная мз р точка Рис. 1.4. Значения двоичных позиций в виде степеней 2 В двоичной системе термин двоичный разряд часто обозначается термином бит, который с этого момента будет использоваться в книге. Таким образом, в числе, по- казанном на рис. 1.4, четыре бита слева от двоичной точки представляют его целую часть, а три бита справа от точки — его дробную часть. Самый левый бит — старший значащий бит (СЗБ), у него наибольший вес, а младшим значащим битом (МЗБ) вы- ступает самый правый бит с наименьшим весом. Старший значащий бит здесь имеет зес 23, а младший значащий бит — 2~3. Введение в предмет 39
Двоичный счет Имея дело с двоичными числами, мы обычно ограничиваемся определенным чис- лом бит. Это ограничение обусловлено схемотехникой, используемой для представле- ния двоичных чисел. Рассмотрим порядок двоичного счета на примере четырехбито- вых двоичных чисел. Последовательность действий (показана на рис. 1.5) начинается, когда во всех би- тах стоят 0; это положение называется нулем отсчета. Для каждого последующего счета разряд единиц (2°) переключается, т.е. меняет свое двоичное значение на про- тивоположное. Всякий раз, когда бит единиц меняется с 1 на 0, переключается (меняет свое состояние) разряд двоек (21); когда меняется с 1 на 0 бит двоек, пере- ключается (меняет свое состояние) разряд четверок (22); при переключении с 1 на 0 бита четверок переключается разряд восьмерок (23). Этот процесс продолжается до Рис. 1.5. Порядок двоичного счета Важная характеристика последовательности операций при двоичном счете пока- зана на рис. 1.5. Бит единиц (младший значащий бит) меняется или с 0 на 1 или с 1 на 0 при каждом отсчете. Второй бит (разряд двоек) остается 0 на протяжении двух отсчетов, а потом 1 на протяжении тех же двух отсчетов, затем опять 0 и т.д. Третий бит (разряд четверок) остается 0 на протяжении четырех отсчетов, потом на протя- жении четырех отсчетов остается в состоянии 1 и т.д. Четвертый бит (разряд восьме- рок) остается 0 уже восемь отсчетов, потом восемь отсчетов — равным 1. Если про- должать считать дальше и добавить больше разрядов, эта зависимость продолжалась бы — 0 и 1 попеременно менялись бы с частотой 2*v ~1 отсчетов. Например, при ис- пользовании кода из пяти бит пятый бит менял бы свое значение каждые шестна- дцать отсчетов: шестнадцать 0, потом шестнадцать 1 и т.д. Для двоичной системы, как и для десятичной, тоже справедливо утверждение, что при использовании N бит или разрядов проходит 2'v отсчета. Например, для чис- ла из двух бит пройдет 22 = 4 отсчета (от 002 до 11г), а для числа из четырех бит пройдет 24 = 16 отсчетов (от 00002 до 11112) и т.д. Последний отсчет всегда будет представлен всеми единицами и будет равен 2N - 1 в десятичном представлении. При использовании четырех бит, например, последний отсчет будет 11112 = 24-1 = 15ю. 40 Глава 1
Пример 1.2 Какое максимальное число можно представить, используя восемь бит? Решение 2N - 1 = 28 - 1 = 255|р = 11111111^. На данном этапе было изложено краткое введение в систему двоичных чисел и их соотношение с десятичными числами. В следующих главах книги эти две системы, а также некоторые другие рассматриваются более детально. Контрольные вопросы 1. Назовите десятичный эквивалент числа 11010112. 2. Какое следующее двоичное число идет за 101112 при двоичном счете? 3, Какое максимальное десятичное значение можно выразить, используя 12 бит? 1.4. Представление двоичных величин В цифровых системах обрабатываемая информация обычно переводится в двоич- ную форму. Двоичные величины могут быть представлены любым устройством, ко- торое имеет только два рабочих состояния или возможных режима. Например, у пе- реключателя только два состояния: включен или выключен. Произвольно сопоставив включенному переключателю двоичный 0 и выключенному — двоичную 1, можно представлять любое двоичное число так, как показано на рис. 1.6, а, где состояния различных переключателей показывают число 100102. а) Рис. 1.6. а) Включенные б) отсутствие или наличие отверстий в бумажной ленте представляет, соответственно, нули и единицы выключенные переключатели; О О Другой пример показан на рис. 1.6, б. Здесь отверстия, пробитые в бумаге, ис- пользуются для представления двоичных чисел. Пробитое отверстие является двоич- ной единицей, а отсутствие отверстия — двоичным нулем. Существует множество других устройств, имеющих только два рабочих состоя- ния, т.е. они могут работать только в двух противоположных режимах. Среди этих устройств можно назвать электрические лампочки (светящиеся или темные), диоды Введение в предмет 41
(есть проводимость или нет проводимости), реле (включенные или выключенные), транзисторы (в режиме отсечки и. ш режиме насыщения), фотоэлементы (освещенные или затемненные), термостаты (открытые или закрытые), механические тиски (сжатые или раскрученные), участки на магнитном диске (намагниченные или раз- магниченные). В электронных цифровых системах двоичная информация отображается с помо- щью напряжений (или токов) на входах или выходах различных схем. Обычно дво- ичные нуль и единица представляются двумя номинальными уровнями напряжения. Например, нуль вольт (О В) может представлять двоичный 0, а +5 В может представ- лять двоичную 1. В реальных системах ввиду разнообразия схем 0 и 1 представляют- ся диапазонами напряжений. Этот принцип показан на рис. 1.7, а. Напряжения от О до 0,8 В представляют 0, а напряжения от 2 до 5 В представляют 1. Все входные и выходные сигналы обычно попадают в один из этих диапазонов значений, не учиты- вая промежуточного перехода из одного диапазона в другой. Рис. 1.7. а) Типичное распределение напряжений, в цифровой системе; б) типичная вре- менная диаграмма цифрового сигнала Теперь становится очевидным еще одно отличие цифровых и аналоговых систем. В цифровых системах точное значение напряжения не важно; например, если при- своить напряжениям такие значения, как на рис. 1.7, а, то напряжение 3,6 В будет означать ту же самую величину, что и напряжение 4,3 В. В аналоговых системах, напротив, точное значение важно. Например, если аналоговое напряжение пропор- ционально температуре, измеренной датчиком, то 3,6 В будет представлять совсем другую температуру, чем 4,3 В. Другими словами, значение напряжения здесь несет необходимую информацию. Эта характеристика означает, что проектирование точных аналоговых устройств в общем более сложное по сравнению с цифровыми вследствие такого различного влияния на точные значения напряжений номиналов компонент, температуры, шумов (случайных флуктуаций напряжения). Цифровые сигналы и временнь/е диаграммы На рис. 1.7, б изображен типичный цифровой сигнал и его распределение во вре- мени. Эта зависимость напряжения от времени (0 называется временной диаграм- мой. Горизонтальная шкала (время) размечена с равными интервалами начиная с t0> затем tlt t2 и т.д. На приведенной временной диаграмме сигнал начинается с О В (двоичный 0) в момент t0, и остается на этом уровне до момента В момент сиг- нал делает резкий переход (скачок) до 4 В (двоичная 1). В момент t2 он уменьшается до 0 В. Такие же переходы происходят в моменты t3 и t5. Обратите внимание, что в момент t4 сигнал не изменяется, а остается на уровне 4 В от до t5. 42 Глава 1
На этой временной диаграмме переходы показаны вертикальными линиями, т.е. мгновенными, хотя на самом деле это не так. Во многих ситуациях время пере- ключения оказывается настолько коротким по сравнению с периодами между пере- ключениями, что его можно условно свести до вертикальной линии на диаграмме. Позже мы столкнемся с ситуациями, в которых придется показать переключения более строго — на расширенной временной шкале. С помощью временных диаграмм можно показать, как меняются цифровые сиг- налы во времени, а также определить отношение между двумя или несколькими сигналами в одной и той же схеме или системе. Показывая один или несколько циф- ровых сигналов на осциллографе или на анализаторе логических состояний, можно сравнить эти сигналы с ожидаемыми для них временными диаграммами. Это очень важно при исследовании схем или поиске неполадок в цифровых системах. 1.5. Цифровые и логические схемы Цифровые схемы проектируются для того, чтобы генерировать выходные напря- жения, попадающие в диапазоны, назначенные для 0 и 1, как, скажем, на рис. 1.7. Цифровые схемы разрабатываются таким образом, чтобы уверенно различать вход- ные напряжения по назначенным для 0 и 1 диапазонам. Это значит, что цифровая схема реагирует одинаково на все входные напряжения, попадающие в диапазон ну- левых значений; и точно так же она не различает входные напряжения, лежащие в диапазоне, назначенном для единицы. Этот принцип представлен на рис. 1.8. — типичная цифровая схема показана с входным сигналом vi и выходным ио. Выходной сигнал используется для двух раз- личных форм входного сигнала. Обратите внимание, что сигнал ио одинаков в обоих случаях, потому что входные сигналы хотя и отличаются точными значениями на- пряжений, но имеют одинаковые двоичные значения. Vi ОВ Цифровая схема 4В v0 Случай I ~ 5в ------------------ --------------О В Случай II —— 3,7 В ------------------ I --------------о в Рис. 1.8. Цифровая схема реагирует на двоичное значение входного сигнала (0 или 1), а не на фактическое значение напряжения Введение в предмет 43
Логические схемы Принцип, которому подчиняется реакция цифровой схемы на входной сигнал, на- зывается логикой схемы. Каждый тип цифровой схемы следует определенному набо- ру правил, благодаря чему цифровые схемы также называют логическими схемами (в книге используются оба этих термина). В главе 3 понятие “логика схемы” раскры- то более детально. В книге представлены все типы логических схем, используемых в цифровых сис- темах в настоящее время. Сначала внимание уделяется только логическим операци- ям, которые осуществляют схемы, т.е. взаимосвязи между входными и выходными сигналами. Внутренняя работа логической схемы рассматривается после основатель- ного разбора логических функций. Цифровые интегральные схемы Почти все цифровые схемы, используемые в современных цифровых системах, являются интегральными схемами (ИС). Значительное разнообразие логических ин- тегральных схем дало возможность конструировать сложные цифровые системы, меньшие по размерам и более надежные, чем их аналоги на дискретных элементах. В производстве цифровых ИС используется несколько технологий изготовления интегральных схем, наиболее распространены ТТЛ, КМОП и п-канальные МОП- технологии, ЭСЛ. Каждая из них отличается по типу схемотехнических инструмен- тов, используемых при осуществлении логических операций. Например, ТТЛ (транзисторно-транзисторная логика) использует в качестве основного элемента би- полярный транзистор, а КМОП (комплементарная металл-оксидная полупроводнико- вая логика) использует канальный полевой униполярный МОП-транзистор (MOSFET) в режиме обогащения. Мы изучим различные ИС-технологии, их характеристики, а также сравним их преимущества и недостатки до того, как будут представлены ос- новные типы логических схем. Контрольные вопросы 1. Проверьте истинность высказывания. Точное значение входного напряжения , является критическим параметром для цифровой схемы. 2. Может ли цифровая схема выдавать одинаковое выходное напряжение для раз- личных значений входных напряжений? 3. Цифровая схема также может называться схемой. 4. График, показывающий изменение одного или нескольких цифровых сигналов во времени, называется t--- -- — - - -- —' -- --------- — 1 1.6. Параллельная и последовательная передача информации Одна из наиболее распространенных операций, выполняемых цифровой систе- мой, — это передача информации из одного места в другое. Информацию можно пе- редавать на расстояние от нескольких миллиметров (на плате той же схемы) до мно- гокилометровых пространств, когда оператор компьютерного терминала связывается с компьютером в другом городе. Передаваемая информация имеет двоичную форму и обычно представляется в виде напряжений на выходе передающей схемы, присоеди- ненной ко входу приемной схемы. На рис. 1.9 показаны два основных метода пере- дачи цифровой информации: параллельный и последовательный. 44 Глава 1
a) 1 2 3 4 5 6 7 8 t t МЗБ 6) Рис. 1.9. а) Параллельная передача использует no одной линии связи на каждый бит, при этом все биты переда- ются одновременно; б) последовательная передача исполь- зует только одну линию связи, так что каждый бит пе- редается последовательно (по одному за единицу времени) На рис. 1.9, а показано, как передается с компьютера на принтер двоичное число 10100110 при использовании параллельной передачи. Каждый бит двоичного числа представлен в виде одного из выходных сигналов компьютера и присоединен к соот- ветствующему входу принтера, так что все восемь бит передаются одновременно (параллельно). На рис. 1.9, б показано, что при использовании последовательной передачи меж- ду компьютером и принтером существует только одна линия связи. С выхода компь- ВВЕДЕНИЕ В ПРЕДМЕТ 45
ютера поступает цифровой сигнал, уровень напряжения которого изменяется через разные промежутки времени соответственно передаваемому двоичному числу. Ины ми словами, за единицу времени на вход принтера передается только один бит (последовательно). Сопроводительная временная диаграмма объясняет, как изменя- ется уровень сигнала во времени. Обратите внимание, что сначала передается млад- ший значащий бит — это типично для последовательной передачи. Зачастую требуется найти компромисс между параллельной и последовательной передачей — между скоростью и простотой схемы. Передача двоичных данных из одной части цифровой схемы в другую осуществляется быстрее с помощью парал- лельной передачи, так как все биты передаются одновременно, тогда как при после- довательной передаче только по одному за единицу времени. Однако с другой сторо- ны, параллельная передача требует больше линий связи между передатчиком и при- емником двоичных данных. Другими словами, параллельная передача быстрее, а последовательная требует меньшего количества линий связи. В дальнейшем мы еще не раз затронем вопрос сравнения параллельного и последовательного методов пере- дачи двоичной информации. ! Контрольные допросы 1. Опишите преимущества параллельного и последовательного методов передачи двоичной информации. 1.7. Память В большинстве устройств или схем сигнал на выходе при подаче входного сигнала изменяется в зависимости от входного, а когда входной сигнал прекращается — вы- ходной возвращается к первоначальному состоянию. Такие схемы не демонстрируют свойства памяти, поскольку их выходные сигналы возвращаются в нормальное со- стояние. Однако в цифровой схемотехнике определенные типы устройств и схем об- ладают памятью. Когда на такую схему поступает входной сигнал, выходной сигнал также меняется, но при этом он остается в новом состоянии даже после прекращения входного сигнала. Это свойство сохранять отклик на кратковременное входное возму- щение называется памятью. На рис. 1.10 показана работа схемы с памятью и без нее. Рис. 1.10. Сравнение работы схем с памятью и без нее Устройства и схемы памяти играют важную роль в цифровых системах, потому что они являются средством хранения двоичных чисел, как временного, так и посто- янного, а также способны изменять хранящуюся информацию в любое время. О раз- нообразных элементах памяти, магнитных и оптических, а также использующих электронные схемы-защелки (регистры-защелки и триггеры), читатель узнает позже. 46 Глава 1
1.8. Цифровые компьютеры Цифровая техника внедрилась в бессчетное количество технологий, но область ав- томатических цифровых компьютеров является, безусловно, наиболее заметной и расширяющейся. Несмотря на то, что цифровые компьютеры оказывают влияние на все стороны нашей жизни, большинство людей вряд ли точно знают обо всех воз- можностях компьютера. Проще говоря, компьютер — это система аппаратного обеспечения, осуществляющая арифметические операции, обрабатывающая данные (обычно в двоичной форме) и принимающая решение. В основном человек может выполнять все то, что делает компьютер, но компью- теры работают с гораздо большими скоростями и точностью. И это несмотря на тот факт, что они осуществляют все операции по одному шагу за единицу времени (такт). Если, например, человек может, взяв список из 10 чисел, найти их сумму сразу, располагая числа одно за другим и складывая их поразрядно, то компьютер будет складывать числа только по два, так что на ту же самую операцию ему потре- буется девять шагов. Однако тот факт, что компьютеру требуется только несколько наносекунд на каждый шаг, легко компенсирует этот недостаток. Компьютер работает быстрее и точнее человека, но, в отличие от нас, он требует полного набора инструкций (команд), которые бы указывали точно, что делать на каждом шагу. Этот набор инструкций называется программой и подготавливается одним или несколькими операторами для любой работы, выполняемой компьютером. Программы размещаются в запоминающем устройстве компьютера в виде двоичного кода, где каждая команда имеет свой уникальный код. Компьютер считывает коды команд из памяти по одному за такт и осуществляет действие, вызываемое кодом. Основные элементы компьютера Существует несколько типов компьютерных систем, причем отдельно взятый тип можно разбить на несколько функциональных устройств. Каждое из них осуществ- ляет специфические операции, и при выполнении инструкций, заданных програм- мой, все они функционируют вместе. На рис. 1.11 изображены пять главных функ- циональных элементов цифрового компьютера и их взаимодействие. Сплошными ли- ниями показан поток данных и информации. Пунктирными линиями — поток управляющих и синхронизирующих сигналов. Центральный процессор Устройство ввода Данные, информация 7 Устройство вывода Память Сигналы управления Данные или информация Рис. 1.11. Функциональная схема цифрового компьютера Арифметике- логическое устройство Устройство управления Данные, информация Введение в предмет 47
Основные функции каждого из компонентов описаны ниже. 1. Устройство ввода. Через это устройство в компьютерную систему и запоминаю- щее устройство подаются полный набор команд и данные для их хранения. Ин- формация обычно поступает в устройство ввода с клавиатуры или диска. 2. Запоминающее устройство. Память хранит команды и данные, полученные от устройства ввода. Она также хранит результаты арифметических операций, по- лученные от арифметического устройства. Запоминающее устройство снабжает информацией устройство вывода. 3. Устройство управления. Это устройство извлекает команды из запоминающего устройства по одному за такт и расшифровывает их, а затем отсылает соответст- вующие сигналы во все другие устройства для выполнения конкретной команды. 4. Арифметико-логическое устройство. Все арифметические расчеты и логические операции осуществляются именно в этом устройстве, которое затем отсылает ре- зультаты в запоминающее устройство для хранения. 5. Устройство вывода. Это устройство извлекает данные из запоминающего устрой- ства и распечатывает, отображает или каким-то другим способом представляет информацию оператору (либо руководит процессом в случае вычислительной ма- шины для управления технологическими процессами). Центральное процессорное устройство На схеме (рис. 1.11) показано устройство управления и арифметико-логическое устройство, которые часто рассматриваются как одно целое и называются централь- ным процессором (ЦП). ЦП содержит весь набор схем для вызова, а также интерпре- тации команд, управления и осуществления различных операций, вызванных ко- мандами. Типы компьютеров Все компьютеры состоят из основных частей, описанных выше, но могут разли- чаться как размерами, быстродействием, емкостью памяти, вычислительной мощно- стью, так и другими характеристиками. Компьютеры часто классифицируют по фи- зическому размеру, что обычно, хотя и не всегда, является показателем их относи- тельных способностей. Три основных группы, от самых маленьких до самых больших, составляют: микрокомпьютеры, миникомпьютеры (рабочие станции) и большие ЭВМ. Микрокомпьютеры становятся все более и более мощными, поэтому грань между ними и миникомпьютерами стала довольно размытой и уже различают теперь только два типа компьютеров: маленькие, которые стоят в офисе, на столе или располагаются просто на коленях, и большие, размер которых не позволяет раз- местить их подобным образом. В этой книге мы будем иметь дело преимущественно с микрокомпьютерами. Микрокомпьютер — самая маленькая разновидность компьютеров. Обычно мик- рокомпьютер состоит из нескольких плат ИС и включает микропроцессор, память, платы интерфейса ввода-вывода для совмещения с устройствами ввода-вывода: кла- виатурой, видеодисплеем, принтером и дисковыми накопителями. Микрокомпьюте- ры появились как результат огромного прогресса в технологии изготовления ИС, по- зволившего размещать все больше и больше цифровых схем на маленьком чипе. Чип с микропроцессором, например, содержит как минимум все те схемы, которые со- ставляют в компьютере центральный процессор — устройство управления и арифме- тико-логическое устройство. Другими словами, микропроцессор — это “ЦП на одном чипе”. Большинство из нас знакомы с микрокомпьютерами общего назначения, такими как IBM PC и его клоны, или Apple Macintosh, используемыми дома и в офисах. Эти микрокомпьютеры могут работать с широким спектром задач в зависимости от уста- 48 Глава 1
новленного на них программного обеспечения. Существует более узкоспециализиро- ванный тип микрокомпьютеров, который называется микроконтроллером и не явля- ется компьютером общего назначения. Скорее он спроектирован для использования в специализированном или встроенном контроллере, помогающем отслеживать и кон- тролировать действия машины, оборудования или процесса. Микроконтроллеры — это микрокомпьютеры, потому что они, как и ЦП, используют микропроцессор, но микроконтроллеры намного меньше микрокомпьютеров общего назначения, по- скольку они взаимодействуют с намного меньшими устройствами ввода-вывода. Фактически, некоторые из этих устройств ввода-вывода (как и память) располагают- ся на том же чипе, что и микропроцессор. Такие однокристальные микроконтролле- ры задействованы в огромном количестве задач: управляющих приборах, металлооб- рабатывающих машинах, видеомагнитофонах, банкоматах, фотокопировальных ап- паратах, автомобильных системах зажигания, антиблокировочных тормозных системах, медицинском оборудовании и многих других областях. Даже если у вас нет персонального компьютера и вы используете его только на работе или в школе, ваша жизнь ежедневно связана с микрокомпьютерами, потому что невероятно много современных потребительских электронных устройств, приборов, офисного оборудования и т.п. основаны именно на встроенных микроконтроллерах. Г “ ттангамиву т. ’ — - • «. ~ Контрольные вопросы 1. Объясните, в чем отличие цифровых схем с памятью и цифровых схем без па- мяти. 2. Назовите пять основных функциональных частей компьютера. 3. Из каких двух частей состоит ЦП? 4. Чип ИС, содержащий центральный процессор, называется_______. Резюме 1. Существует два основных способа представления числового значения физических величин: аналоговый (непрерывный) и цифровой (дискретный). 2. Большая часть реальных величин — аналоговые, но цифровая техника превосхо- дит аналоговую, и многочисленные прогнозируемые достижения произойдут именно в области цифровой техники. 3. Двоичная система (0 и 1) является базовой для цифровой технологии. 4. Цифровые, или логические, схемы работают с напряжениями в определенных диапазонах, представляющих двоичный 0 или двоичную 1. 5. Существует два основных способа передачи цифровой информации: параллель- ный (все биты одновременно) и последовательный (по одному биту за единицу времени). 6. Главные составные части компьютера — это устройство ввода, управляющее уст- ройство, запоминающее устройство, арифметико-логическое устройство, устрой- ство вывода. 7. Комбинация арифметико-логического устройства и управляющего устройства на- зывается центральным процессором (ЦП). 8. Микрокомпьютер обычно имеет однокристальный центральный процессор, кото- рый еще называется микропроцессором. 9. Микроконтроллер — это микрокомпьютер, спроектированный для узкоспециали- зированного (в отличие от устройств общего назначения) применения. Введение в предмет 49
Основные термины аналоговое представление цифровое представление цифровая система аналоговая система аналого-цифровой преобразователь (АЦП) цифроаналоговый преобразователь (ЦАП) десятичная система двоичная система бит временная диаграмма цифровая/логическая схема параллельный последовательный память цифровой компьютер программа устройство ввода управляющее устройство запоминающее устройство арифметико-логическое устройство устройство вывода центральный процессор (ЦП) ми крокомпьютер микропроцессор микроконтроллер Упражнения Раздел 1.2 1.1. Какие из приведенных ниже величин аналоговые, а какие — цифровые: а) количество атомов в образце материала; б) высота полета самолета; в) давление в велосипедной шине; г) ток, протекающий через громкоговоритель; д) показания таймера микроволновой печи. Раздел 1.3 1.2. Преобразуйте следующие двоичные числа в их десятичные эквиваленты: а) 110012; б) 1001,10012; в) 10011011001,101102. 1.3. Используя шесть бит, покажите порядок двоичного счета от 000000 до 111111. 1.4. Какого максимального числа можно достичь при счете, если пользоваться 10 битами? 1.5. Сколько бит потребуется, чтобы досчитать до 511? Раздел 1.4 1.6. Нарисуйте временную диаграмму цифрового сигнала, который непрерывно меняется от 0,2 В (двоичный 0) до 4,4 В (двоичная 1), если он остается на этих уровнях 2 и 4 мс соответственно. Раздел 1.6 1.7. Целые десятичные значения от 0 до 15 необходимо передать в двоичной форме. а) Сколько линий связи потребуется при параллельной передаче? б) Сколько линий потребуется при последовательной передаче? Эти термины выделены жирным шрифтом, их можно найти в тексте главы. Значения терминов приведены в словаре в конце книги. 50 Глава 1
Разделы 1.7 и 1.8 1.8. Чем различаются микропроцессор и микрокомпьютер? 1.9. В чем отличие микроконтроллера от микрокомпьютера? Ответы к контрольным вопросам Раздел 1.1 1. Аналоговые величины могут принимать любые значения в непрерывном диапа- зоне, а цифровые величины — только дискретные значения. Раздел 1.2 1. Цифровую технику легче проектировать; с ее помощью удобнее хранить инфор- мацию; она имеет большую точность и возможность программирования; менее подвержена шумам; существует возможность достичь более высокой степени ин- теграции. 2. Реальные физические величины являются аналоговыми. Раздел 1.3 1. Ю710; 2. 110002; 3. 409510. Раздел 1.5 1. Неправильно. 2. Да — в случае, если оба напряжения соответствуют одному логическому уровню. 3. Логическая. 4. Временная диаграмма. Раздел 1.6 1. Параллельная передача быстрее; последовательная требует только одной линии связи. Раздел 1.8 1. Реагируя на входной кратковременный сигнал, схема с памятью изменит выход- ной сигнал и останется в этом положении. 2. Устройство ввода, управляющее устройство, запоминающее устройство, арифме- тико-логическое устройство, устройство вывода. 3. Управляющее и арифметико-логическое устройства. 4. Микропроцессор. ВВЕДЕНИЕ В ПРЕДМЕТ 51

Глава 2 Системы счисления и коды Содержание 2.1. Преобразование из двоичной системы счисления в десятичную 2.2. Преобразование из десятичной системы счисления в двоичную 2.3. Восьмеричная система счисления 2.4. Шестнадцатеричная система счисления 2.5. Двоично-десятичный код 2.6. Подведем итоги 2.7. Байт 2.8. Алфавитно-цифровые коды 2.9. Метод проверки четности для обнаружения ошибок 2.10. Применение
В этой главе: преобразование числа из одной системы счисления (десятичной, двоич- ной, восьмеричной, шестнадцатеричной) в другую; преимущества восьмеричной и шестнадцатеричной систем счисления; счет в восьмеричной и шестнадцатеричной системах; представление десятичных чисел в двоично-десятичном коде, преимуще- ства и недостатки использования двоично-десятичного кода; разница между двоично-десятичным и двоичным кодами; назначение алфавитно-цифровых кодов, в частности ASCII-кода; метод проверки четности для определения ошибок. Введение Двоичная система счисления — наиболее важная среди цифровых систем (не ме- нее существенны также некоторые другие системы), потому что она повсеместно ис- пользуется для представления величин вне цифровых систем. Это значит, что в не- которых ситуациях десятичные значения должны быть переведены в двоичные до того, как они поступят в цифровую систему. Например, когда вы вводите десятичное число в карманный калькулятор (или компьютер), набор схем внутри преобразовы- вает десятичное число в двоичное. Очевидно, что встречаются ситуации, когда двоичные значения на выходе цифро- вой системы должны быть переведены в понятные нам десятичные значения. На- пример, калькулятор (или компьютер), использующий двоичные числа для решения задач, преобразовывает двоичные значения в десятичные перед выводом их на экран. Кроме двоичной и десятичной систем, в цифровых системах находят широкое применение еще две другие системы. Восьмеричная (по основанию 8) и шестнадца- теричная (по основанию 16) системы счисления используются для одной цели — обеспечить эффективные средства для представления больших двоичных чисел. Обе эти системы имеют общее преимущество — они могут быть легко преобразованы в двоичную систему. В цифровой системе может использоваться три или четыре системы счисления одновременно, поэтому чтобы понять, как действует система, необходимо знать о процессе преобразования величин из одной системы в другую. В этой главе показано, как выполняются эти преобразования. Возможно, сначала некоторые из них не по- требуются при изучении цифровых систем, однако без преобразований величин не обойтись, когда речь пойдет о микропроцессорах. Далее также рассматриваются некоторые двоичные коды, служащие для пред- ставления различных видов информации. В этих двоичных кодах используются нули и единицы, но немного иначе, чем в двоичной системе счисления. 2.1. Преобразование из двоичной системы счисления в десятичную Как показано в главе 1, двоичная система счисления является позиционной, т.е. каждый двоичный разряд (бит) несет определенный вес, зависящий от его поло- жения относительно младшего значащего бита (МЗБ). Любое двоичное число может быть переведено в десятичный эквивалент простым суммированием весов тех пози- ций в двоичной системе, которые содержат единицу. Чтобы продемонстрировать это, попробуем преобразовать число 110112 в десятичный эквивалент. 54 Глава 2
110 11 24 + 23 + 0 + 21 + 2° = 16+8 + 2 + 1 = 27ю Рассмотрим другой пример — с большим количеством бит: 10110101 27 + 0 + 25 + 24 + 0 + 22 + 0 + 2° = = 181ю Обратите внимание, что процедура преобразования такова: нахождение веса (т.е. степени 2) каждого бита, содержащего 1, и затем суммирование этих весов. Также важно, что старший значащий бит имеет вес 27, хотя это восьмой по счету бит; так происходит из-за того, что младший значащий бит, который является первым битом, имеет вес 2°. Контрольные вопросы 1. Преобразуйте число 1000110110112 в десятичный эквивалент. 2. Какой вес старшего значащего бита в числе, состоящем из 16 бит? 2.2. Преобразование из десятичной системы счисления в двоичную Существует два способа преобразования целого десятичного числа в двоичный эк- вивалент. Первый из них является обратным процессу, описанному в разделе 2.1. Десятичное число просто выражается суммой степеней 2, и тогда единицы и нули записываются на соответствующих конкретной степени местах. Например: 45ю = 32 + 8+ 4 = 25 +0 + 23 + 22 + 0 + 2° = 1 0 1 1 0 I2 Обратите внимание, что в позициях 21 и 24 стоят нули, так как должны быть за- полнены все позиции. Рассмотрим еще один пример: 76ю =64+8 + 4 = 2в+0 + 0 + 23 + 22 +0 + 0 = 100 1 100 Последовательное деление Другой метод преобразования целых десятичных чисел использует деление на 2. Узкое преобразование (показанное внизу для числа 25ю) требует последовательного едения на 2 с записыванием остатка после каждого такого деления, пока частное в влых числах не будет равно 0. Обратите внимание, что двоичный результат получен при записи первого остатка на месте младшего значащего бита, а последний оста- ок — на месте старшего. Системы счисления и коды 55
Этот процесс, показанный на блок-схеме (рис. 2.1), можно также использовать при преобразовании десятичного числа в любую другую систему счисления. Деление на 2 I Запись частного (Q) и остатка (R) Суммирование всех R в двоичное число (первый остаток записывается как МЗБ, последний - как СЗБ) Рис. 2.1. Блок-схема метода последовательного де- ления при преобразовании целых чисел из десятич- ной системы счисления в двоичную. Этот же про- цесс может быть использован при преобразовании целых десятичных чисел в любую другую систему 56 Глава 2
Совет по работе с калькулятором Если для деления на 2 вы используете калькулятор, можно определить, будет ли ос- таток равен 0 или 1 по тому, имеет ли результат дробную часть. Например, 25/2 рав- няется 12,5. Так как здесь присутствует дробная часть (0,5), остаток будет равен 1. Если бы число не имело дробной части, например 12/2 = 6, то остаток был бы равен 0. Этот принцип продемонстрирован в следующем примере. Пример 2.1 Переведите 3?ю в двоичную систему. Попробуйте сделать это сами, и только потом проверьте себя с помощью решения, приведенного ниже. Решение 37 --- = 18.5--------► остаток 1 (МЗБ) <8 — = 9.0----------► 0 9 ---- •= 4,5------> 1 2 4 ---- = 2,0-------► 0 2 2 — = 1,0-----► 0 2 — = 0,5-----* 1 (СЗБ) 2 Таким образом, 371Р = 1001012. Диапазон счета Вспомним, что при использовании бит можно просчитать 2N различных деся- тичных чисел от 0 до 2Л - 1. Например, при N = 4 можно досчитать от 00002 до 11112 или, соответственно, от 010 до 15ю, т.е. 16 десятичных чисел. Отсюда макси- мальное десятичное значение равно 24 - 1 = 15, и всего в этом случае существует 24 различных числа. Сформулируем данный принцип следующим образом: Используя N бит, можно представить десятичные числа от О до 2N - 1, т.е. 2n различных числа. Пример 2.2 а) Какой диапазон десятичных чисел может быть представлен с помощью 8 бит? б) Сколько требуется бит, чтобы представить все десятичные значения от 0 до 12500? Решение a) N = 8. Следовательно, можно представить двоичные числа от 0 до 2я - 1 = 255. Чтобы проверить это, убедимся, что 111111112 эквивалентно 255ю- Системы счисления и коды 57
б) Используя 13 бит, есть возможность досчитать от десятичного 0 до 213 - 1 = 8191. Если использовать 14 бит, можно досчитать ог десятичного 0 до 214 - 1 = 16383. Ясно, что 13 бит мало, а 14 выведут за пределы 12500, однако приходится ис- пользовать именно 14 бит. Контрольные вопросы 1. Преобразуйте число 83ю в двоичный эквивалент, используя оба рассмотренных выше метода. 2. Преобразуйте число 72910 в двоичный эквивалент, используя оба рассмотрен- ных выше метода. Проверьте свой ответ обратным преобразованием. 3. Сколько бит потребуется, чтобы досчитать до десятичного миллиона? 2.3. Восьмеричная система счисления Восьмеричная система счисления часто используется при работе цифровых ком- пьютеров. Эта система имеет основание 8, т.е. она состоит из восьми возможных цифр: 0, 1, 2, 3, 4, 5, 6 и 7. Таким образом, каждый разряд восьмеричного числа может иметь значения от 0 до 7. Позиции разрядов восьмеричного числа имеют сле- дующие веса: М1 00 со о со го *00 о 00 8‘1 СМ со °? со со ц> СО Восьмеричная точка Преобразование из восьмеричной системы счисления в десятичную Восьмеричное число может быть легко преобразовано в свой десятичный эквива- лент с помощью умножения каждого восьмеричного разряда на его позиционный вес. Например: 3728 = 3 х (82) + 7 х (81) + 2 х (8°) = 3x64+7x8 + 2x1 = 2501о 24,68 = 2 х (81) + 4 х (8°) + 6 х (81) = 20,7510 Совет по работе с калькулятором Используйте функцию ух, чтобы возвести 8 в нужную степень. Преобразование из десятичной системы счисления в восьмеричную Десятичное число можно преобразовать в восьмеричное, применяя все тот же метод последовательного деления, который используется в преобразовании из десятичной сис- темы в двоичную (см. рис. 2.1), но с делением на 8 вместо 2. Ниже приведен пример. 58 Глава 2
----- = 33 + остаток 2 МЗБ 33 ----- = 4 + остаток! СЗР 4 --- = 0 + остаток 4 8 26610 = |412в Обратите внимание, что первый остаток становится младшим значащим разрядом (МЗР) восьмеричного числа, а последний — старшим значащим разрядом (СЗР). Совет по работе с калькулятором Если для деления в вышеуказанном процессе используется калькулятор, то резуль- тат будет включать в себя десятичную дробную часть вместо остатка. Остаток может быть получен умножением дробной части на 8. Например, 266/8 равно 33,25. Остаток равен 0,25 х 8 = 2. Точно так же 33/8 равно 4,125, и остаток составляет 0,125 х 8 = 1. Преобразование из восьмеричной системы в двоичную Главное преимущество восьмеричной системы — простота, благодаря которой между ней и двоичной системой можно осуществлять преобразования, которые вы- полняются с помощью конвертирования каждого восьмеричного разряда в трехбито- вый эквивалент. Все восемь возможных разрядов показаны в табл. 2.1. ^Таблица 2.1 Восьмеричное число 0 12 3 4 5 6 7 Двоичный эквивалент 000 001 010 011 100 101 110 111 Таким образом можно преобразовать любое восьмеричное число в двоичное, кон- вертируя каждый разряд по отдельности. Например, можно преобразовать 4728 в двоичный эквивалент, как показано ниже: 4 7 2 Jr X Ф 100 111 010 Таким образом, восьмеричное число 472 эквивалентно двоичному 100111010. В качестве другого примера преобразуем в двоичный эквивалент 5431s: 5 4 3 1 Jr ф Jr Jr 101 100 011 001 В итоге, 5431g = 1011000110012. Системы счисления и коды 59
Преобразование из двоичной системы в восьмеричную Преобразование целых двоичных чисел в целые восьмеричные в точности повто- ряет описанные выше процедуры, но в обратном порядке. Биты двоичного числа распределяются в группы по три бита, начиная с младшего значащего бита. Затем каждая группа преобразуется в восьмеричный эквивалент (см. табл. 2.1). Чтобы про- демонстрировать данный процесс, рассмотрим преобразование двоичного числа 1001110102 в восьмеричное. 10 0 1110 10 ’-,-' '-V-' '-V-' 111 4 7 2Я Иногда двоичное число будет иметь нецелое число групп из трех бит. В этом слу- чае можно добавить один или два нуля слева от старшего значащего бита двоичного числа, чтобы заполнить последнюю группу. Покажем это на примере двоичного чис- ла 11010110. Ю 1 1 0 1 0 1 1 0 •-V-' '-V-' '-,-' 111 3 2 6Я Обратите внимание, что 0, дополняющий число до целого количества групп, был добавлен слева от старшего значащего бита. Восьмеричный счет Наибольшей восьмеричной цифрой является 7, поэтому при счете в восьмеричной системе разряд изменяется от 0 до 7. Как только разряд достигает 7, он снова пере- ходит в 0 на очередной счет, а следующий по величине разряд увеличивается на еди- ницу. Приведем, например, такие последовательности двоичных чисел: (1) 65, 66, 67, 70, 71 и (2) 275, 276, 277, 300. С помощью N восьмеричных разрядов можно досчитать от 0 до 8'v - 1, т.е. всего пройти 8n различных чисел. Например, используя три восьмеричных разряда, мож- но досчитать от 0008 до 7778, что эквивалентно от 010 до 51110 — всего 83 = =512ю различных восьмеричных чисел. Пример 2.3 Преобразуйте 1771О в восьмибитовый эквивалент. Решение 177/8 = 22 + остаток 1 (младший значащий бит) 22/8 = 2 + остаток 6 2/8 = 0 + остаток 2 Таким образом, 177ю = 2618. Теперь преобразуем восьмеричное число в его двоичный эквивалент 0101100012 и получаем 17710= 101100012 Обратите внимание: первый 0 отсекается, чтобы выразить результат восемью битами. Этот метод преобразования десятичного числа сначала в восьмеричное, а только по- том в двоичное число часто более эффективен по сравнению с прямым преобразова- нием из десятичного числа в двоичное, особенно при работе с большими числами. Обратное преобразование — из двоичного числа в десятичное через восьмеричное — часто тоже происходит быстрее. 60 Глава 2
Контрольные вопросы 1. Преобразуйте число 6148 в десятичный эквивалент. X Преобразуйте число 14610 в восьмеричный, а затем в двоичный эквивалент. 3. Преобразуйте число 100111012 в восьмеричный эквивалент. 4. Напишите еще три числа, которые при счете в восьмеричной системе будут следовать за числами 624, 625, 626. 5. Преобразуйте число 97510 в двоичный эквивалент через восьмеричный. 6. Преобразуйте число 1010111011г в десятичный эквивалент через восьмерич- ный. 7. Какой диапазон десятичных значений можно представить четырехразрядным восьмеричным числом? 2.4. Шестнадцатеричная система счисления Шестнадцатеричная система счисления использует основание 16. Таким образом, tsa имеет 16 возможных символов: цифры от 0 до 9 и буквы А, В, С, D, Е и F. I табл. 2.2 показаны соотношения между шестнадцатеричной, десятичной и двоич- ой системами. Обратите внимание, что каждый шестнадцатеричный разряд пред- ставляет собой группу из четырех двоичных чисел. Важно помнить, что шестнадца- ричные цифры от А до F эквивалентны десятичным значениям от 10 до 15. [Таблица 2.2 Шестнадцатеричная система Десятичная система Двоичная система п 0 0000 1 0001 л 2 0010 1 3 on 11 4 4 0100 5 5 0101 » у 1 6 0110 7 7 0111 8 1000 9 9 1001 А 10 1010 В 11 1011 Е 12 1100 D 13 1101 Е 14 1110 F 15 1111 ОСТЕМЫ СЧИСЛЕНИЯ И КОДЫ 61
Преобразование из шестнадцатеричной системы в десятичную Шестнадцатеричное число легко может быть преобразовано в свой десятичный эквивалент — вспомните, что каждый шестнадцатеричный разряд имеет вес, выра- женный степенью 16. Младший значащий разряд имеет вес 16° = 1; следующий раз- ряд имеет вес 161 = 16; следующий за ним — 162 = 256 и т.д. Процесс преобразова- ния показан на примере ниже. Совет по работе с калькулятором Как и в случае с преобразованием из восьмеричной в десятичную систему, можно использовать функцию калькулятора ух, чтобы возвести 16 в нужную степень. 35616 = 3 х 162 + 5 х 161 + 6 х 16° = 768 + 80 + 6 = 85410 2AF16 = 2 х 162 + 10 х 161 + 15 х 16° = 512+160+15 6871О Обратите внимание, что во втором примере значению А в шестнадцатеричной сис- теме было поставлено в соответствие десятичное число 10, а значению F — 15. Преобразование из десятичной системы в шестнадцатеричную Как уже было сказано, используя последовательное деление на 2, можно выпол- нить преобразование из десятичной системы счисления в двоичную, а при использо- вании последовательного деления на 8 можно выполнить преобразование из десятич- ной системы в восьмеричную. Точно так же можно преобразовать и десятичное число в шестнадцатеричное, если использовать последовательное деление на 16 (см. рис. 2.1). Этот принцип демонстрируют два следующих примера. Пример 2.4 а) Преобразуйте 42310 в шестнадцатеричное число. Решение 423 ---- = 26 + остаток?------------- 16—, 26 ---- = 1 + остаток 10 ----------- 16______j I 1 --- = 0 + остаток 1 ---------- 16 42310= 1А7 б) Преобразуйте 21410 в шестнадцатеричное число. 62 Глава 2
Решение 214 ---- = 13 + остаток 6---------- 16—, 13 --- = 0 + остаток 13 --------- 16 214,о= 06-6 Обратите внимание, что остатки от деления формируют разряды шестнадцатерич- ного числа. Кроме того, остатки больше 9 представлены буквами от А до F. Совет по работе с калькулятором Если для деления при преобразовании чисел используется калькулятор, то результа- ты будут включать десятичную дробь вместо остатка. Остаток можно легко получить умножив дробную часть на 16. В примере 2.4,6 калькулятор показал результат: Остаток равен (0,375) х 16 = 6. Преобразование из шестнадцатеричной системы в двоичную Как и восьмеричная, шестнадцатеричная система счисления применяется в ос- новном в качестве эффективного метода представления двоичных чисел. Относитель- но просто преобразовать шестнадцатеричное число в двоичное. Каждый шестнадца- теричный разряд преобразовывается в свой четырехбитовый эквивалент (см. табл. 2.2), что продемонстрировано на примере числа 9F216. 9F216 = 9 F 2 Jr Jr = 1001 1111 0010 = 1001111100102 На практике вы можете убедиться, что ВА616 = 1011101001102. — • • * а ж ж Преобразование из двоичной системы в шестнадцатеричную Преобразование из двоичной системы в шестнадцатеричную обратно процессу, описанному выше. Двоичное число разбивают на группы из четырех бит, и каждая из них преобразовывается в эквивалентное ей шестнадцатеричное число. Нули (на рисунке они затемнены) добавляются в случае необходимости, чтобы дополнить группы из четырех бит. 1 1 1 0 1 0 0 1 1 02= 0’0 1 1 1 0 1 0 0 1 1 0 '--------------v--г X-v-,х-v-, 3 А 6 = ЗА616 Чтобы осуществлять преобразования между шестнадцатеричными и двоичными числами, необходимо знать четырехбитовые двоичные числа (от 0000 до 1111) и их шестнадцатеричные эквиваленты. Как только они освоены, преобразования осущест- Системы счисления и коды 63
вляются так быстро, что отпадает всякая нужда в калькуляторе. Именно по этой причине шестнадцатеричная (и восьмеричная) система так полезна при представле- нии больших двоичных чисел. В качестве упражнения попробуйте убедиться, что 1010111112= 15Fi6. Шестнадцатеричный счет При счете в шестнадцатеричной системе каждый разряд увеличивается на едини- цу от 0 до F. Как только разряд достигает значения F, он сбрасывается в 0, а сле- дующий разряд увеличивается на 1. Рассмотрим такие шестнадцатеричные последо- вательности: а) 38, 39, ЗА, ЗВ, ЗС, 3D, ЗЕ, 3F, 40, 41, 42; б) 6F8, 6F9, 6FA, 6FB, 6FC, 6FD, 6FE, 6FF, 700. Обратите внимание, что 9 в одном из разрядов меняется на А, когда в процессе счета оно увеличивается на 1. С помощью N шестнадцатеричных разрядов можно досчитать от 0 до 16х - 1, т.е. всего пройти 16N различных числовых значений. Например, используя три шестна- дцатеричных разряда, можно досчитать от 000i6 до FFF16 или от 010 до 40951О, что всего составляет 4096 = 163 различных значений. Преимущества шестнадцатеричной и восьмеричной систем Шестнадцатеричная и восьмеричная системы часто используются в цифровых системах в качестве эффективного средства представления строк бит. В процессе ра- боты компьютера строки из 64 бит встречаются редко. Эти двоичные строки не все- гда являются цифровыми значениями, а чаще — о чем будет сказано позже — пред- ставляют собой код, не несущий числовую информацию. Когда приходится иметь де- ло с большими массивами бит, с большим удобством и меньшей вероятностью ошибок можно выражать двоичные числа в шестнадцатеричной и восьмеричной сис- темах, так как их достаточно легко взаимно преобразовывать. Чтобы продемонстри- ровать преимущества восьмеричного и шестнадцатеричного представлений двоичной строки, предположим, что имеется распечатка содержимого 50 секторов памяти, ка- ждое из которых хранит 16-битовое число, и этот список надо проверить. Как легче проверить эти 50 чисел, если они будут выглядеть так — 0110111001100111, или так — 6Е67? И при чтении какого числа легче ошибиться? Важно помнить, что хотя цифровые схемы и оперируют двоичными числами, но там, где работают люди, обычно используют восьмеричную и шестнадцатеричную системы счисления. Пример 2.5 Преобразуйте 378 в 16-битовое двоичное число. Используйте при этом промежуточ- ное преобразование в шестнадцатеричную систему. Решение = 23 + остаток 10 'г—1 23 ~т~- = 1 + остаток 7 F-1 = 0 + остаток 1 64 Глава 2
Таким образом, 378ю = 17А16. Это шестнадцатеричное число легко преобразовать в роичное — 000101111010. И наконец, можно выразить 3781О 16-битовым двоичным •мелем, прибавив четыре нуля впереди: 378ю = 0000 0001 0111 10102 Iример 2.6 Преобразуйте B2F16 в восьмеричное число. Решение Вегче всего сначала преобразовать шестнадцатеричное число в двоичное, а уже затем восьмеричное. B2Fi6 = 1011 0010 1111 (переводим в двоичный эквивалент) = 101 100 101 111 (распределяем в группы по три бита) = 5 4 5 78 (преобразовываем в восьмеричное число) Выводы Естественно, что сначала выполнить все преобразования из одной системы счис- Вёния в другую не совсем просто, но несмотря на то, что многие преобразования вы- полняются автоматически на микрокалькуляторе с помощью единственной кнопки, Вам необходимо освоить принцип этих преобразований и понимать сам процесс. Кро- ре того, если в самый ответственный момент в калькуляторе сядет батарейка, а под рукой не будет замены, на помощь придет краткое резюме, приведенное ниже. Но не |вбывайте, что нет ничего лучше практики, практики и еще раз практики! I. При преобразовании из двоичной, восьмеричной или шестнадцатеричной систем в десятичную используйте метод весовых сумм каждого разряда. L При преобразовании из десятичной системы в двоичную (восьмеричную, шестна- дцатеричную) используйте метод последовательного деления на 2 (8 или 16) и подбора остатков (см. рис. 2.1). I. При преобразовании из двоичной в восьмеричную (или шестнадцатеричную) сис- тему распределите биты в группы по три (или четыре) и преобразуйте каждую группу в соответствующее ей восьмеричное (шестнадцатеричное) значение. L При преобразовании из восьмеричной (или шестнадцатеричной) системы в двоичную преобразуйте каждый разряд в трехбитовый (или четырехбитовый) эквивалент. S- При преобразовании из восьмеричной системы в шестнадцатеричную (или наобо- рот) сперва используйте промежуточное преобразование в двоичный эквивален’1, который затем легко преобразовать в нужную числовую систему. Ъ онтрольные вопросы 1. Преобразуйте число 24СЕ16 в десятичный эквивалент. 2 Преобразуйте 31171О в шестнадцатеричное число, а затем шестнадцатеричное — | в двоичное. В. Преобразуйте число 10010111101101012 в шестнадцатеричный эквивалент. В. Напишите четыре следующих числа в шестнадцатеричной последовательности: Е9А, Е9В, Е9С, E9D,,,,. 5 Преобразуйте число 35278 в шестнадцатеричный эквивалент. В. Какой диапазон десятичных значений можно представить, используя четырех- разрядное шестнадцатеричное число? Системы счисления и коды
2.5. Двоично-десятичный код Когда числа, буквы или слова представлены специальной группой символов, го- ворят, что они закодированы, а такую группу символов называют кодом. Наверное, один из наиболее знакомых кодов для нас — код Морзе, в котором последовательно- сти точек и гире представляют буквы алфавита. Как уже было показано, любое десятичное число можно представить эквивалент- ным двоичным числом. Группу нулей или единиц в двоичном числе также можно считать кодом, представляющим десятичное число. Представление этого числа своим эквивалентом в двоичной системе называется обычным двоичным кодом. Все цифровые системы используют те или иные виды двоичных чисел для внут- ренних операций, однако поскольку люди чаще пользуются десятичной системой, очень часто приходится выполнять преобразования между десятичной и двоичной системами. В случае с большими числами эти преобразования могут быть долгими и сложными, поэтому во многих ситуациях используют такие средства кодирования десятичных чисел, которые бы объединяли определенные черты как десятичной, так и двоичной систем. Двоично-десятичное кодирование Если каждый разряд десятичного числа представить двоичным эквивалентом, то результат получим в виде кода, который называется двоично-десятичным кодом (Binary-Coded-Decimal — BCD). Так как десятичный разряд может быть равен 9, требует- ся четыре бита, чтобы закодировать каждый разряд (двоичный код для 9 равен 1001). Чтобы продемонстрировать двоично-десятичный код, возьмем, например, деся- тичное число 874. Каждый разряд следует заменить его двоичным эквивалентом: 8 1000 7 1 0111 4 1 0100 (десятичный код) (двоично-десятичный код) В качестве другого примера попробуем представить в двоично-десятичном коде число 943: 9 4 3 (десятичный код) 1 1 1001 0100 ООН (двоично-десятичный код) В этом случае каждый десятичный разряд снова заменяется двоичным эквивален- том. Обратите внимание, что для любого разряда всегда используется четыре бита. Двоично-десятичный код, таким образом, представляет каждый разряд десятич- ного числа четырехбитовым двоичным числом. При этом используются только числа от 0000 до 1001. Двоично-десятичный код не использует числа 1010, 1011, 1100, 1101, 1110 и 1111. Другими словами, применяются только 10 из 16 возможных че- тырехбитовых групп двоичного кода. Если вдруг в машине, работающей с двоично- десятичным кодом, каким-то образом появляется одно из таких “запрещенных” чи- сел, то обычно выдается сообщение об ошибке. Пример 2.7 Преобразуйте число 0110100000111001 (двоично-десятичный код) в десятичный эк- вивалент. Решение Разделите двоично-десятичное число на группы по четыре бита и преобразуйте каж- дый из них в десятичный разряд. 0110 1000 0011 1001 Ч у - У у - У*. у — У 6 8 3 9 £• 66 Глав/, 2
Пример 2.8 Преобразуйте число 011111000001 в десятичный эквивалент. Решение 0111 1100 0001 '—.—' '—.—' 1 1 1 “Запрещенная" группа означает появление ошибки Сравнение двоично-десятичного и двоичного кодов Важно помнить, что двоично-десятичный код не является еще одной системой счисления, такой как двоичная, восьмеричная, десятичная и шестнадцатеричная системы. Это фактически та же десятичная система, в которой каждый разряд пред- ставлен двоичным эквивалентом. Также важно понимать, что двоично-десятичное число — не то же самое, что обычное двоичное число. Обычный двоичный код пред- ставляет в двоичной системе какое-либо десятичное число полностью, а двоично- десятичный код преобразовывает в двоичную систему каждый десятичный разряд по отдельности. Чтобы продемонстрировать этот принцип, возьмем число 137 и сравним обычный двоичный и двоично-десятичный коды: 1371О = 100010012 (двоичный код), 13710 = 0001 ООН 01112 (двоично-десятичный код). Двоично-десятичный код требует 12 бит, чтобы представить число 137, в то время как обычный двоичный код — только восемь бит. Для представления десятичных чисел, имеющих больше одного разряда двоично-десятичный код вообще требует боль- ше бит, чем двоичный, потому что он не использует все возможные группы из четырех бит, как отмечено выше, и это делает его в некоторой степени неэффективным. Главное преимущество двоично-десятичного кода — простота преобразования в десятичную систему и из нее. Нужно помнить только кодовые группы из четырех бит, представляющие десятичные числа от 0 до 9. Эта легкость преобразования осо- бенно важна с позиции аппаратного обеспечения, потому что в цифровой системе операции по преобразованию в десятичную систему и из нее выполняют логические схемы. Контрольные вопросы 1 . Представьте десятичное число 178 обычным двоичным эквивалентом. Затем за- кодируйте то же самое число, используя двоично-десятичный код. 1 2. Сколько бит потребуется, чтобы представить восьмиразрядное десятичное число в двоично-десятичном коде? । 3. Каковы преимущества и недостатки кодирования десятичных чисел в двоично- десятичном коде по сравнению с обычным двоичным кодом? 2.6. Подведем итоги В табл. 2.3 даны представления десятичных чисел от 1 до 15 в двоичной, восьме- ричной, шестнадцатеричной системах и в двоично-десятичном коде. Изучите таблипу ж убедитесь, что понимаете, как получены эти значения. Обратите особое внимание, тго двоично-десятичный код всегда использует четыре бита на каждый десятичный разряд. 1СТЕМЫ СЧИСЛЕНИЯ и коды 67
Таблиц* К)г • ' •чтл*» ДУЛ М и Десятичная система Двоичная система Восьмеричная система Шестнадцатеричная система Двоично-десятичный код 0 0 0 0 0000 1 1 1 1 0001 2 10 2 2 0010 3 11 3 3 0011 4 100 4 4 0100 5 101 5 5 0101 6 110 6 6 0110 7 111 7 7 0111 8 1000 10 8 1000 9 1001 11 9 1001 10 1010 12 А 0001 0000 11 1011 13 В 0001 0001 12 1100 14 С 0001 0010 13 1101 15 D 0001 0011 14 1110 16 Е 0001 0100 15 1111 17 F 0001 0101 2.7. Байт Большинство микропроцессоров обрабатывают и хранят двоичные данные в груп- пах по восемь бит, поэтому строка из восьми бит имеет специальное название — байт. Байт всегда состоит из восьми бит и может представлять многочисленные типы данных или информации, как показано в примерах ниже. Пример 2.9 Сколько байт содержит строка из 32 бит? Решение 32.'8 = 4, т.е. ь строке из 32 бит содержится четыре байта. Пример 2.10 Какое максимальное десятичное значение может быть представлено в двоичной сис- теме счисления при использовании двух байт? Решение Два байта составляют 16 бит, поэтому максимальное десятичное значение будет эк- вивалентомдвоичного 216 - 1 = 65535. 68 Глава 2
Пример 2.11 Сколько байт потребуется, чтобы представить десятичное число 846569 в двоично- десятичном коде? Решение Каждый десятичный разряд преобразовывается в четырехбитовый двоично- десятичный код. Таким образом, шестиразрядное десятичное число преобразуется в 24 бита. Эти 24 бита составляют три байта, как представлено на диаграмме ниже. 8 4 6 5 6 9 (Десятичная запись) 1000 0100^3110 o\l'^Tl7''T()O1 (Двоично-десятичная запись) Байт 1 Байт 2 Байт 3 Контрольные вопросы 1. Сколько байт потребуется, чтобы представить 2351О в двоичной системе счисления? 2. Какое наибольшее десятичное значение может быть представлено в двоично- i десятичном коде при использовании двух байт? 2.8. Алфавитно-цифровые коды Кроме цифровых данных компьютер должен уметь обрабатывать нечисловую ин- формацию. Другими словами, компьютер должен распознавать не только числа, но и коды, представляющие буквы алфавита, знаки пунктуации и другие специальные символы. Такие коды называются алфавитно-цифровыми кодами. Полный алфавит- но-цифровой код должен включать в себя 26 латинских строчных букв, 26 латин- ских заглавных букв, 10 цифр, 7 знаков пунктуации, примерно от 20 до 40 других символов типа +, /, #, %, * и т.д. Можно сказать, что алфавитно-цифровой код пред- ставляет все разнообразие символов и функций, которое мы видим на клавиатуре компьютера. ASCII-код Наиболее распространен алфавитно-цифровой код — ASCII (American Standard Code for Information Interchange — Американский стандартный код для обмена ин- формацией). Код ASCII (произносится “аски”) содержит семь бит, т.е. имеет 27 = 128 возможных кодовых групп. Этого более чем достаточно, чтобы представить все стан- дартные символы клавиатуры плюс некоторые управляющие функции, например, ввод или возврат строки. В табл. 2.4 приведен частичный список кодов ASCII. Кро- ме групп двоичного кода для каждого символа, в таблице приведены также восьме- ричный и шестнадцатеричный эквиваленты. Таблица 2.4. Частичный список кодов ASCII .-А'; Г/". Символ Семибитовый Восьмеричная система Шестнадцатеричная система код ASCII А 100 0001 101 41 S 100 0010 102 42 С 100 0011 103 43 Системы счисления и коды 69
Продолжение табл. 2.4 Символ Семибитовый Восьмеричная система Шестнадцатеричная система код ASCII D 100 0100 104 44 Е 100 0101 105 45 F 100 0110 106 46 G 100 0111 107 47 Н 100 1000 110 48 1 100 1001 111 49 J 100 1010 112 4А К 100 1011 113 4В L 100 1100 114 4С М 100 1101 115 4D N 100 1110 116 4Е 0 100 1111 117 4F Р 101 0000 120 50 Q 101 0001 121 51 R 101 0010 122 52 S 101 0011 123 53 Т 101 0100 124 54 и 101 0101 125 55 V 101 0110 126 56 W 101 0111 127 57 X 101 1000 130 58 Y 101 1001 131 59 Z 101 1010 132 5А 0 011 0000 060 30 1 011 0001 061 31 2 011 0010 062 32 3 011 0011 063 33 4 011 0100 064 34 5 011 0101 065 35 6 011 0110 066 36 7 011 0111 067 37 8 011 1000 070 38 9 011 1001 071 39 пробел 010 0000 040 20 • 010 1110 056 2Е ( 010 1000 050 28 + 010 1011 053 2В $ 010 0100 044 24 * 010 1010 052 2А ) 010 1001 051 29 70 Глава 2
Окончание табл. 2.4 Кямвол Семибитовый код ASCII Восьмеричная система Шестнадцатеричная система — 010 1101 055 2D 010 1111 057 2F Кр 010 1100 054 2С ж 011 1101 075 3D МВсЭ ООО 1101 015 0D Асзврат строки ООО 1010 012 0А ример 2.12 дующее сообщение закодировано в коде ASCII. Что это за сообщение? 1001000 1000101 1001100 1010000 пение 1чала преобразуем семибитовый код в шестнадцатеричный эквивалент. Получаем 48 45 4С 50 ерь найдем эти шестнадцатеричные значения в табл. 2.4 и определим соответст- вие им символы. В результате получим уже окончательно: HELP Сод ASCII используется для передачи алфавитно-цифровой информации между пьютером и внешними устройствами (например, принтером или другим компью- im). Компьютер также использует код ASCII для внутренних операций — хране- информации, которую печатает оператор на клавиатуре. Пример показан ниже. пмер 2.13 фатор печатает программу на языке Бейсик на клавиатуре определенного микро- птьютера. Компьютер преобразует каждое нажатие клавиши в код ASCII и сохра- т этот код как байт в памяти. Определите двоичные строки, которые будут введе- в память, когда оператор напечатает следующую команду языка Бейсик: ГО 25 ние ;ем каждый символ (включая пробел) в табл. 2.4 и запишем их коды ASCII. G 01000111 О 01001111 Т 01010100 О 01001111 (пробел) 00100000 2 00110010 5 00110101 тите внимание, что слева от крайнего левого бита каждого кода ASCII добавлен . Это необходимо потому, что коды должны быть сохранены в памяти как байты !мь бит). Добавление дополнительного бита называется дополнением нулями. :мы СЧИСЛЕНИЯ И КОДЫ 71
Контрольные вопросы 1. Закодируйте в коде ASCII следующее сообщение “COST = $72”, используя ше- стнадцатеричное представление. 2. Следующее дополненное нулями закодированное кодом ASCII сообщение хра- нится в последовательных ячейках памяти компьютера: 01010011 01010100 01001111 01010000 Что это за сообщение? 2.9. Метод проверки четности для обнаружения ошибок Перемещение двоичных данных или кодов из одного места в другое — наиболее частая операция, выполняемая в цифровых системах. Вот всего несколько примеров: Передача оцифрованного голоса по радиорелейной линии связи. Хранение данных и их поиск на внешних носителях памяти (например, на маг- нитной ленте или диске). Передача цифровых данных с компьютера на удаленный компьютер по телефон- ной линии (т.е. с использованием модема). Это один из основных способов от- правки и получения информации в Internet. Когда бы информация не передавалась с одного устройства (передатчика) на дру- гое (приемник), всегда существует вероятность появления ошибок, которые могут возникнуть, если приемник принял информацию, не идентичную посланной с пере- датчика. Основная причина ошибок при передаче — электрические помехи, которые состоят из паразитных флуктуаций напряжения или тока, присутствующих во всех электронных системах в различной степени. На рис. 2.2 показан пример такого типа ошибки при передаче. Передатчик посылает приемнику относительно свободный от шумов последователь- ный цифровой сигнал по линии связи. Однако к тому времени, когда сигнал достигнет приемника, он уже будет содержать определенное количество шумовых помех, нало- женных на основной сигнал. В какой-то момент времени шумы могут оказаться доста- точно большими по амплитуде и изменить логический уровень сигнала, как показано в точке х. Если это происходит, приемник может неправильно интерпретировать текущий бит как логическую 1, в то время как передатчик не передавал ее. Большая часть современного цифрового оборудования относительно устойчива к ошибкам, и вероятность ошибок, подобных показанной на рис. 2.2, очень невелика. Однако нужно учесть, что цифровые системы часто передают тысячи, а то и миллио- ны бит в секунду, поэтому даже очень малая вероятность сбоя может вызвать слу- чайную ошибку, которая принесет много беспокойства, если вообще не окажется гу- бительной. По этой причине много цифровых систем используют методы обнаруже- ния (а иногда и коррекции) ошибок. Одна из наиболее простых и широко распространенных схем обнаружения ошибок — метод проверки четности. Передатчик 3 3 X Приемник (.с Рис. 2.2. Пример помех, вызывающих ошибку при передаче цифровых данных 72 Глава 2
Бит четности Битом четности называется дополнительный бит, добавленный к кодовой группе, которая передается из одного места в другое. Бит четности может быть или 0, или 1 в зависимости от количества единиц, содержащихся в кодовой группе. Здесь исполь- зуются два разных метода. В методе положительной четности (Even-Parity Method) значение бита четности выбрано таким, чтобы общее количество единиц в кодовой группе (включая сам бит четности) было четным числом. Например, пусть имеется группа 100011. Она пред- ставляет собой код ASCII латинской буквы “С”. Кодовая группа содержит три еди- ницы. Следовательно, мы добавим бит четности, равный 1, чтобы общее число еди- ниц стало четным числом. Новой кодовой группой, включающей бит четности, ста- новится 1 1 0 0 0 0 1 1 4 L — — — - Добавленный бит четности* Если кодовая группа уже содержит четное число единиц, биту четности присваи- вается значение 0. Например, если кодовая группа была 1000001 (код ASCII латин- ской буквы “А”), то соответствующий бит четности будет равен 0 и, таким образом, новый код, включающий бит четности, будет 01000001. Метод отрицательной четности (Odd-Parity Method) используется аналогично, исключение составляет бит четности — он выбирается таким, чтобы общее количест- во единиц (включая сам бит четности) было нечетным числом. Например, если ко- довая группа равна 1000001, то присоединенный бит четности будет равен 1. Для ко- довой группы 1000011 он будет равен 0. Независимо от того, какой метод применяется — положительной или отрицатель- ной четности — бит четности становится действительной частью кодового слова. До- бавляя бит четности к семибитовому коду ASCII, мы получаем восьмибитовый код. Таким образом, бит четности является таким же равноценным битом в коде, как и любой другой бит. Бит четности призван обнаруживать любую ошибку в одном разряде, которая по- является во время передачи кода из одного места в другое. Пусть, например, латин- ская буква "А” передается с использованием отрицательной четности. Переданный код будет 11000001 Восстанавливая этот код, приемная схема проверит, чтобы код содержал нечетное количество единиц (включая и бит четности). Если это условие выполнится, прием- ник сделает вывод, что код получен правильно. Теперь предположим, что какие то шумы или сбои в работе привели к получению следующего кода: 11000000 Приемник обнаружит, что код имеет четное количество единиц. Это будет озна- чать, что в коде содержится ошибка, так как приемник и передатчик заранее усло- вились использовать метод отрицательной четности. Однако приемник не сможет об- наружить в каком именно бите произошла ошибка, так как не знает, какой код пе- редавался. Очевидно, что метод проверки четности не сработает, если ошибка произойдет сразу в двух битах, потому что две ошибки не изменят “нечетность” или “четность” ►личества единиц в коде. На практике метод проверки четности используется толь- ко в тех ситуациях, когда вероятность одной ошибки очень мала и, следовательно, I роятность двойной ошибки практически равна нулю. * Бит четности может размещаться в любом конце кодовой группы, но обычно его ставят слева от старшего значащего бита. Системы счисления и коды 73
При использовании метода проверки четности необходимо заранее определить, какая честность — положительная или отрицательная — будет использоваться. Хотя эти методы равнозначны, однако положительная четность используется чаще. Пере- датчик должен добавлять соответствующий бит к каждой строке передаваемой ин- формации. Если, например, передатчик отсылает данные в коде ASCII, то бит четно- сти добавляется к каждой семибитовой группе кода ASCII. Когда приемник обраба- тывает полученные от передатчика данные, он проверяет общее количество единиц (включая бит четности) в каждой кодовой группе, чтобы убедиться, что оно согласу- ется с ранее выбранным типом проверки четности. Эту операцию называют провер- кой четности данных. В случае обнаружения ошибки приемник отошлет передат- чику запрос на повтор последней группы данных. Точная процедура действий при обнаружении ошибки будет зависеть от конкретной системы. Пример 2.14 Компьютеры часто сообщаются с другими удаленными компьютерами с помощью те- лефонных линий. Так, например, осуществляется связь в Internet. Когда один ком- пьютер передает сообщение другому, информация в сообщении обычно закодирована с помощью кода ASCII. Сколько строк бит передаст компьютер, чтобы отослать со- общение “HELLO”, используя код ASCII с контролем по положительной четности? Решение Сначала найдем коды ASCII для каждого символа данного сообщения. Затем для ка- ждого кода подсчитаем количество единиц. Если оно четное, в качестве старшего значащего разряда добавим 0. Если количество единиц нечетно, добавим 1. Таким образом, во всех результирующих восьмибитовых кодах (байтах) будет четное коли- чество единиц (с учетом бита четности). Добавленные биты четности I Н- 01001000 Е- 11000101 L- 1 1 0 0 1 1 0 О L- 11001100 О- 11001111 Контрольные вопросы 1. Добавьте бит четности к коду ASCII символа $, используя отрицательную чет- ность, а затем выразите результат в шестнадцатеричном виде. 2. Добавьте бит четности, используя положительную четность, к двоично- десятичному коду десятичного числа 69. 3. Почему с помощью проверки четности нельзя обнаружить в передаваемых дан- ных двойную ошибку? 74 Глава 2
2.10. Применение Далее приводится несколько реальных примеров, которые послужат заключи- тельным обзором материала, рассмотренного в данной главе. Они помогут понять то, как в цифровом мире используются различные коды и системы счисления. Много примеров рассматривается также в упражнениях в конце этой главы. Вариант 2.1 Обычный CD-ROM (компакт-диск) может хранить от 650 Мбайт цифровых данных. Так как 1 М = 220, сколько бит данных может содержать CD-ROM? Решение Вспомним, что один байт состоит из 8 бит. Таким образом, 650 Мбайт составляет 650 х 2го х 8 = 5452595200 бит. Вариант 2.2 В магазине автомобильных запчастей компьютер хранит номера всех деталей в семи- битовом коде ASCII с битом отрицательной четности. Коды каждой детали хранятся в последовательных ячейках памяти. Перечислите двоичное содержание памяти, где хранится деталь № JR2-5. Решение Возьмем в отдельности каждый символ номера детали, затем найдем их ASCII-код и припишем бит отрицательной четности к крайнему слева биту. Вот результат: J = 01001010 R = 01010010 2 = 00110010 10101101 5 = 10110101 Вариант 2.3 Небольшой компьютер по управлению процессами использует восьмеричный код для представления 12-битовых адресов памяти. а) Сколько восьмеричных разрядов потребуется для этого? б) Какой диапазон адресов доступен при использовании восьмеричного кода? в) Сколько у компьютера ячеек памяти? Решение а) Так как 3 бита преобразуются в один восьмеричный разряд, потребуется 12/3 = 4 восьмеричных разряда. б) Двоичный диапазон простирается от 0000000000П02 до 1111111111112. При ис- пользовании восьмеричного кода эти границы равны соответственно 00008 и 77 778. в) При использовании 4 восьмеричных разрядов общее количество адресов равно 84 = 4096. Системы счисления и коды 75
Вариант 2.4 Обычно в персональном компьютере для обращения к ячейкам памяти применяется адрес из 20 бит. а) Сколько шестнадцатеричных разрядов потребуется для обращения по адресу па- мяти? б) Какой диапазон адресов доступен? в) Сколько всего ячеек памяти имеет компьютер? Решение а) Так как 4 бита преобразуются в один шестнадцатеричный разряд, то потребуется 20/4 = 5 шестнадцатеричных разрядов. б) От 0000016 до FFFFF16. в) При использовании 5 шестнадцатеричных разрядов общее количество адресов равно 165 = 1048576. Вариант 2.5 В большинстве калькуляторов двоично-десятичный код используется для хранения десятичных значений, введенных с клавиатуры калькулятора, и отображения цифр на экране. а) Если калькулятор восьмиразрядный, сколько потребуется бит для его работы? б) Какие биты записываются в память, когда в калькулятор введено число 375? Решение а) При использовании двоично-десятичного кода каждый десятичный разряд преоб- разуется в 4 бита. Таким образом, потребуется 8 х 4 = 32 бита. б) 375ю преобразуется в ООН 0111 0101 в двоично-десятичном коде. Резюме 1. Восьмеричная и шестнадцатеричная системы счисления используются в цифро- вой технике и компьютерах в качестве эффективного средства представления двоичных величин. 2. При преобразовании из восьмеричной системы счисления в двоичную и обратно один восьмеричный разряд соответствует трем битам. При преобразованиях меж- ду шестнадцатеричной и двоичной системами один шестнадцатеричный разряд соответствует четырем битам. 3. Метод последовательного деления используется для преобразования десятичных чисел в двоичные, восьмеричные или шестнадцатеричные. 4. Используя N-битовое двоичное число, можно представить десятичные значения от 0 до 2 V - 1. 5. Двоично-десятичный код десятичного числа формируется преобразованием каж- дого разряда десятичного числа в четырехбитовый двоичный эквивалент. 6. Байтом называется строка из восьми бит. 7. Алфавитно-цифровой код использует группы бит для представления всех симво- лов и функций типичной клавиатуры компьютера. Код ASCH — наиболее рас- пространенный алфавитно-цифровой код. 8. Метод проверки четности для обнаружения ошибок заключается в добавлении специального бита четности к каждой передаваемой группе битов. 76 Глава 2
новные термины «меричная система счисления тнадцатеричная система счисления чное двоичное кодирование 1чно-десятичный код алфавитно-цифровой код ASCII (Американский стандартный код для обмена информацией) метод проверки четности бит четности пражнения целы 2.1 и 2.2 2.1. Преобразуйте эти двоичные числа в десятичные: а) 10110; д) 11111111; б) 10001101; е) 01110111; в) 100100001001; ж) 1111010111; г) 01011011; з) 10111111. 2.2. Преобразуйте следующие десятичные значения в двоичные: а) 37; е) 405; б) 14; ж) 205; в) 189; з) 2313; г) 1024; и) 511. д) 77; 2.3. Какое наибольшее десятичное значение может быть представлено с помо- щью восьмибитового двоичного числа? С помощью 16-битового? здел 2.3 2.4. Преобразуйте следующие восьмеричные числа в их десятичные эквиваленты: а) 743; д) 165; б) 36; е) 5; в) 3777; ж) 257; г) 2000; з) 1204. 2.5. Преобразуйте следующие десятичные числа в восьмеричные: а) 59; Д) 771; б) 375; е) 2313; в) 919; ж) 65536; г) 1024; з) 255. 2.6. Преобразуйте все восьмеричные числа из упражнения 2.4 в двоичные. 2.7. Преобразуйте двоичные числа из упражнения 2.1 в восьмеричные. 2.8. Запишите по порядку все восьмеричные числа от 1658 до 2008. 2.9. Когда большое десятичное число необходимо преобразовать в двоичное, ино- гда легче сначала преобразовать его в восьмеричное, а потом — в двоичное число. Попробуйте выполнить эту процедуру для числа 231310 и сравните ее с процедурой, использованной в упражнении 2.2,е. Эти термины выделены жирным шрифтом в тексте данной главы; их значения можно Вайти в словаре в конце книги. Системы счисления и коды
2.10. Сколько восьмеричных разрядов потребуется, чтобы представить десятич- ные числа до 20000? Раздел 2.4 2.11. Преобразуйте эти шестнадцатеричные значения в десятичные: а) 92; д) 000F; б) 1А6; е) 55; в) 37FD; ж) 2С0; г) ABCD; з) 7FF. 2.12. Преобразуйте эти десятичные значения в шестнадцатеричные: а) 75; д) 7245; б) 314; е) 389; в) 2048; ж) 25619; г) 14; з) 4095. 2.13. Преобразуйте двоичные числа из упражнения 2.1 в шестнадцатеричные. 2.14. Преобразуйте шестнадцатеричные значения из упражнения 2.11 в двоичные. 2.15. Запишите по порядку шестнадцатеричные значения от 280 до 2А0. 2.16. Сколько шестнадцатеричных разрядов потребуется, чтобы представить деся- тичные значения до 1 миллиона? Раздел 2.5 2.17. Закодируйте эти десятичные числа в двоично-десятичном коде: а) 47; д) 13; б) 962; е) 888; в) 187; ж) 42689627; г) 6727; з) 1204. 2.18. Сколько потребуется бит, чтобы представить десятичные числа от 0 до 999 при использовании обычного двоичного кода и двоично-десятичного кода? 2.19. Следующие числа закодированы двоично-десятичным кодом. Преобразуйте их в десятичные эквиваленты. а) 1001011101010010; г) 0111011101110101; б) 000110000100; д) 010010010010; в) 011010010101; е) 010101010101. Раздел 2.7 2.20. а) Сколько бит содержится в восьми байтах? б) Какое максимальное шестнадцатеричное число может быть представлено четырьмя байтами? в) Какое максимальное десятичное значение, закодированное с помощью двоично-десятичного кода, можно представить тремя байтами? Разделы 2.8 и 2.9 2.21. Представьте выражение “X = 25/Y” в коде ASCII (не учитывая кавычек). Добавьте к ним бит отрицательной четности. 78 Глава 2
2.22. Добавьте бит положительной четности к каждому коду ASCII из упраж- нения 2.21 и выразите результат в шестнадцатеричном виде. 2.23. Следующие байты (приведенные в шестнадцатеричном виде) представляют имя человека, сохраненное в памяти компьютера. Каждый байт является дополненным кодом ASCII. Определите имя человека. 42 45 4Е 20 53 4D 49 54 48 2.24. Преобразуйте следующие десятичные числа в двоично-десятичный код и до- бавьте к ним бит отрицательной четности: а) 74; г) 275; б) 38; д) 165; в) 8884; е) 9201. 2.25. В некоторой цифровой системе десятичные числа от ООО до 999 представле- ны в двоично-десятичном коде. Бит отрицательной четности добавлен к конце каждой кодовой группы. Исследуйте все кодовые группы, приведен- ные внизу. Каждая группа была передана из одного места в другое. Некото- рые из них содержат ошибки. Предположим, что могло произойти не более двух ошибок в каждой группе. Определите, какие из групп имеют по одной ошибке, а какие совершенно точно содержат две ошибки. (Подсказка: пом- ните, что это двоично-десятичный код.) а) 1001010110000 (последняя цифра является битом четности); б) 0100011101100; в) 0111110000011; г) 1000011000101. 2.26. Предположим, что приемник получил следующие данные от передатчика из примера 2.14: 01001000 11000101 11001100 11001000 11001100 Какие ошибки может обнаружить приемник в полученных данных? Более сложные задания 2.27. Выполните следующие преобразования. В некоторых из них можно приме- нить различные методы, чтобы найти наиболее подходящий. Например, преобразование из двоичной системы счисления в десятичную может быть сделано непосредственно или с помощью промежуточного преобразования из двоичной системы в восьмеричную, а потом преобразования из восьмерич- ной системы в десятичную. а) 141710 = ________2 б) 255jo =__________2 в) 110100012 =10 г) 11101010001001112 =ю д) 2497ю =8 е) 511ю =8 ж) 235g =ю з) 4316g =ю Системы счисления и коды 79
и) 7A9ie =io к) ЗЕ1С16 -____ ______ю л) 16001О =io м) 38187ю =1в н) О) п) р) 86510 =_________________(в двоично-десятичном коде) 100101000111(в двоично-десятичном коде) = 465g = _ В3416 = .16 .8 с) 01110100(в двоично-десятичном коде) т) 1110102 = ________________(в двоично-десятичном коде) 2 ю 2.28. Представьте десятичное значение 37 всеми указанными способами: а) обычным двоичным; б) в двоично-десятичном коде; в) шестнадцатеричным; г) в ASCII-коде (т.е. каждый разряд является символом); д) восьмеричным. 2.29. Заполните пробелы нужными словами. а) Преобразование из десятичной системы в требует последова- тельного деления на 8. б) Преобразование из десятичной системы в шестнадцатеричную требует последовательного деления на. в) В двоично-десятичном коде каждый преобразуется в свой четырехбитовый эквивалент. г) код характеризуется тем, что только один бит меняется при переходе от одного значения к следующему. д) Передатчик добавляет _______ к кодовой группе, чтобы дать воз- можность приемнику обнаружить. е) код является наиболее распространенным алфавитно- цифровым кодом в компьютерных системах. ж) и системы счисления часто используются в ка- честве эффективного средства выражения больших двоичных чисел. з) Строка из восьми бит называется. 2.30. Напишите двоичное число, которое получится, если увеличить данное число на единицу: а) 0111; б) 010000; в) 1110. 2.31. Повторите упражнение 2.30, отнимая единицу. 2.32. Запишите числа, которые получатся, если данные числа увеличить на еди- ницу: а) 77778; б) 7777i6; в) 20008; г) 200016; 80 Глава 2
д) 9FF16; е) 100016 2 33. Повторите упражнение 2.32, отнимая единицу. Задачи повышенной сложности 2.34. В микрокомпьютере адреса ячеек памяти — двоичные числа, обозначающие каждую схему памяти, которая хранит один байт. Количество бит, состав- ляющих адрес, зависит от того, сколько ячеек памяти содержится в микро- компьютере. Это количество может быть очень велико, поэтому адреса часто выражаются не в двоичном виде, а в шестнадцатеричном. а) Если микрокомпьютер использует 20-битовые адреса, сколько различ- ных ячеек памяти он может содержать? б) Сколько шестнадцатеричных разрядов потребуется, чтобы представить адрес ячейки памяти? в) Какой шестнадцатеричный адрес имеет 256-я ячейка памяти? (Обрати- те внимание: первый адрес всегда 0.) 2.35. В системах записи на компакт-дисках напряжение звукового сигнала обыч- но дискретизируется примерно 44 000 раз в секунду и значение каждого от- счета записывается на поверхность компакт-диска в виде двоичного кода. Другими словами, каждое записанное двоичное число представляет собой точку напряжения на графике звукового сигнала. а) Если двоичные числа имеют длину шесть бит, сколько различных зна- чений напряжения может быть представлено одним двоичным числом? Определите значение напряжений для восьми и десяти бит. б) Если используются 10-битовые числа, сколько бит будет записано на компакт-диск за 1 секунду? в) Если обычно компакт-диск может хранить 5 млн. бит, сколько секунд аудиозаписи может быть записано при использовании 10-битовых чи- сел? 2.36. Черно-белая цифровая камера накладывает на картинку мелкую сетку и за- тем измеряет и записывает двоичное число, представляющее уровень серого каждой ячейки сетки. Например, при использовании четырехбитовых чисел значение черного будет равно 0000, белого — 1111, а уровень любого уровня серого будет лежать между ними. При использовании шестибитовых чисел черный равен 000000, белый — 111111, а любой уровень серого лежит меж- ду ними. Предположим, что в каждой ячейке сетки необходимо различить 254 уровня серого. Сколько бит понадобится, чтобы представить все эти уровни? 2.37. Составьте таблицу, показывающую двоичное, восьмеричное, шестнадцате- ричное и двоично-десятичное представления всех десятичных чисел от 0 до 15. Сравните вашу таблицу с табл. 2.3. Ответы к контрольным вопросам Раздел 2.1 1. 2267. 2. 32768. Системы счисления и коды 81
Раздел 2.2 1. 1010011. 2. 1011011001. 3. 20 бит. Раздел 2.3 1. 396. 2. 222; 010010010. 3. 235. 4. 627, 630, 631. 5. 1111001111. 6. 699. 7. От 0 до 4095. Раздел 2.4 1. 9422. 2. C2D; 110000101101. 3. 97В5. 4. Е9Е, E9F, EAO, ЕА1. 5. 757. 6. От 0 до 65535- Раздел 2.5 1. 101100102; 000101111000д8Оично.десятичный код. 2. 32. 3. Преимущество: простота преобразования. Недостаток: двоично-десятичный код требует большего количества бит. Раздел 2.7 1. Один. 2. 9999. Раздел 2.8 1. 43, 4F, 53, 54, 20, 3D, 20, 24, 37, 32. 2. STOP. Раздел 2.9 1. А4. 2. 001101001. 3. Две ошибки в данных не изменят четность или нечетность количества единиц в группе. 82 Глава 2
Глава 3 Логические элементы и булева алгебра I Содержание: 1. Булевы константы и переменные 2. Таблицы истинности 3. Логический элемент ИЛИ и операция ИЛИ 4. Логический элемент И и операция И 5. Операция НЕ 6. Алгебраическое описание логических схем 7. Расчет выходных сигналов логических схем 8. Получение логических схем из булевых выражений 9. Логические элементы И-НЕ и ИЛИ-НЕ 10. Булевы теоремы 11. Теоремы де Моргана 12. Универсальность логических элементов И-НЕ и ИЛИ-НЕ 13. Альтернативное представление логических элементов 14. Использование различных представлений логических элементов 15. Стандарт представления логических элементов IEEE/ANSI
В ЭТОЙ ГЛАВЕ использование трех простейших логических операций; описание использования и построение таблиц истинности для логических элементов И, И-НЕ, ИЛИ, ИЛИ-HE и элемента НЕ (инвертора); временные диаграммы для различных видов логических схем; составление булевых выражений для логических схем и их комбинаций; моделирование логических схем при помощи основных логических эле- ментов И, ИЛИ, НЕ; возможности булевой алгебры в упрощении сложных логических схем; использование теорем де Моргана при упрощении логических выражений; реализация схем, представленных булевыми выражениями, при помощи универсальных логических элементов (И-НЕ либо ИЛИ-НЕ); преимущества моделирования принципиальных логических схем при по- мощи альтернативных обозначений логических элементов по сравнению со стандартными обозначениями; понятие логических сигналов низкого и высокого уровня; обозначения логических элементов стандарта IEEE/ANSI и комментарии к ним. Введение Как было сказано в главе 1, цифровые (логические) схемы работают в режиме двоичного счета, где каждое входное и выходное напряжение представлено логиче- ским 0 или логической 1; символы 0 и 1 представляют предписанные им уровни на- пряжения. Эта особенность логических схем позволяет воспользоваться булевой ал- геброй для анализа и проектирования цифровых систем. Булева алгебра — это отно- сительно простой математический инструмент, позволяющий описать связи между выводами и вводами логических схем при помощи алгебраических уравнений (булевыми выражениями). В этой главе рассматриваются фундаментальные логиче- ские схемы — логические элементы, из которых состоят сложные схемы и цифровые системы. Мы покажем, как с использованием булевой алгебры можно описывать и анализировать операции различных логических элементов и их комбинаций в соста- ве сложных схем. Также уделим немного внимания применению булевой алгебры для упрощения булевых выражений и для преобразования сложных схем в более простые (содержащие меньше логических элементов и/или меньше соединений). Бо- лее подробно упрощение схем описывается в главе 4. Булевой алгеброй удобно пользоваться при моделировании логических схем с же- лаемым количеством входов и выходов. Основные идеи рассматриваются в этой гла- ве, а более подробно к данной теме мы вернемся при проектировании логических схем в главе 4. Поскольку булева алгебра отображает операции, реализуемые схемой, в форме ал- гебраических уравнений, для анализа и проектирования схем удобно использовать компьютерные системы, программам которых нужно знать, что представляет собой схема. Программа может использовать процедуры для упрощения схемы исходя из булевых алгебраических уравнений и выдавая затем упрощенный вариант начальной логической схемы. Иной областью ее применения может оказаться моделирование карт пережигания (плавких) перемычек, необходимых для программирования про- граммируемых логических матриц (Programmable Logic Devices — PLD). Оператор 84 Глава 3
юдит булевы уравнения для желаемой операции, а программа преобразует их в фту пережигания. Этот процесс подробно рассматривается в главе 4. Ясно, что булева алгебра — отличное средство описания, анализа, проектирова- 1я и реализации цифровых схем. Если вы планируете работать в сфере цифровой хники, вы обязаны хорошо разбираться в булевой алгебре (кстати, она значительно юще, чем традиционная алгебра). Для этого требуется выполнять все примеры, уп- жнения и задачи (даже те, которые преподаватель не назначал). Когда необяза- льные задания закончатся, приступайте к тем, которые назначил преподаватель. |ЗЛ. Булевы константы и переменные Отличие булевой алгебры от традиционной главным образом состоит в том, что Ьервая оперирует с константами и переменными, принимающими только два воз- можных значения — 0 или 1. Булева переменная — это параметр, который в раз- личных случаях принимает значение 0 или 1. Эти переменные часто используют для редставления уровня напряжения в проводнике или на контакте ввода-вывода схе- мы. Например, булево значение 0 может быть назначено для представления любого Напряжения в диапазоне от 0 до 0,8 В, в то время как значение 1 характерно для редставления любого напряжения в диапазоне от 2 до 5 В*. Таким образом, булевы 0 и 1 не являются реальными величинами, а представля- ет состояния переменной напряжения, или так называемые логические уровни. На- пряжение в цифровой схеме представляет логический уровень 0 или логический уро- вень 1 — в зависимости от присущих ему действительных численных значений. В цифровой логике одновременно с 0 и 1 используются и другие термины. Некото- рые из наиболее часто употребляемых обозначений показаны в табл. 3.1. В большин- стве случаев мы будем пользоваться обозначениями 0/1 или высокий/низкий. Логический 0 Логическая 1 Ложь Истина Выключен Включен низкий Высокий Нет Да Ключ открыт Ключ закрыт Как было замечено во введении, булева алгебра — это отличный способ выраже- вия связи между входами и выходами схем. Входами считаются логические пере- менные, логический уровень которых постоянно определяет выходной уровень сиг- вала. В дальнейшем для представления логических переменных будут использованы письменные символы. К примеру, буква А будет представлять некий вход или выход -ифровой схемы, при этом она может быть как 0 так и 1 (или одним, или другим). Поскольку возможны всего два состояния, булева алгебра проста в применении, если сравнивать с традиционной алгеброй. В булевой алгебре нет десятичных дробей, отрицательных чисел, квадратных и кубических корней, логарифмов, мнимых чисел и пр. В ней имеются только три основных операции: ИЛИ, И и НЕ. Эти фундаментальные операции называются логическими операциями. Цифровые схемы, называемые логическими элементами, можно реализовать с помощью дио- дов, транзисторов и резисторов, соединенных между собой таким образом, чтобы вы- * Напряжения в промежутке от 0,8 В до 2 В не определены (ни 0, ни 1) и при нормальных условиях не встречаются. Логические элементы и булева алгебра 85
ход схемы являлся результатом логических операций (И, ИЛИ, НЕ) над входами. Сначала мы будем использовать булеву алгебру для описания и анализа этих основ- ных логических элементов, а немного позже перейдем к анализу и проектированию различных комбинаций логических элементов в цифровых схемах. 3.2. Таблицы истинности Таблицы истинности — это способ описания зависимости выходных сигналов ло- гической схемы от логических уровней ее входных сигналов. Рис. 3.1, а иллюстри- рует возможные комбинации логических уровней входных сигналов А и В вместе с соответствующими им уровнями выходных сигналов. Первая строка в таблице пока- зывает, что когда А и В оба характеризуются логическим 0, выходной сигнал х при- нимает значение 1. Вторая строка показывает, что если входной сигнал В изменить на 1 (т.е. А = 0, а В = 1), выходной сигнал х принимает значение 0. Таким образом, из таблицы видно, что происходит с выходным сигналом при изменении значений входных состояний. Выход Входы I I А___В О О О 1 1 о 1 1 X X 1 о 1 о АВС X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 б) А В С D X 0 0 0 0 0 0 0 1 0 0 10 0 0 11 0 10 0 0 10 1 0 110 0 111 10 0 0 10 0 1 10 10 10 11 110 0 110 1 1110 1111 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 В) Рис. 3.1. Пример таблиц истинности: а) для двухвходовой схемы; б) для трехвходовой; в) для четырехвходовой схемы На рис. 3.1, б и в приводятся примеры таблиц истинности для трех- и четырех- входовых логических схем. Здесь каждая таблица содержит все возможные комби- нации входных логических состояний с соответствующими логическими уровнями выходных сигналов х в правой колонке. Конечно же, действительные значения для х будут зависеть от типа логической схемы. Заметим, что для двухвходовой таблицы истинности существует 4 комбинации входных сигналов, 8 — для трехвходовой таблицы истинности и 16 — для четырех- входовой. Для N-входовой таблицы истинности возможно 2N входных комбинаций. Также заметим, что перечень всех возможных комбинаций входных сигналов следу- ет двоичному счету и поэтому достаточно легко описать все комбинации, не упустив ни одной. 86 Глава 3
Контрольные вопросы ч- 1. Какое выходное состояние показано в таблице истинности (рис.3.1, в) для че- тырехвходовой схемы, когда все входные сигналы, кроме В, равны 1? 2. Повторите предыдущее упражнение, но для других входных состояний: А= 1, В = О, С = 1. I 3. Какого размера таблица понадобится для пятивходовой схемы? 3.3. Логический элемент ИЛИ и операция ИЛИ Операция ИЛИ (операция логического сложения) — это первая из трех основных операций булевой алгебры, которую мы рассмотрим. Таблица истинности, показан- ная на рис.3.2, а, демонстрирует операцию ИЛИ над двумя входными сигналами А и В. Конечный результат представлен выходом х. Из таблицы следует, что х принима- ет значение логической 1 для каждой комбинации входных состояний, содержащей хотя бы одну логическую 1. В единственном случае х = 0, когда оба входных состоя- ния равны 0: х = А + В ИЛИ А_____В 0 0 0 1 1 0 1 1 а) х = А+ В 0 1 1 1 Логический элемент ИЛИ б) Рис. 3.2. а) Таблица истинности, определяющая опера- цию ИЛИ; б) графическое представление двухвходового логического элемента ИЛИ В этом соотношении знак “+” означает не традиционное, а логическое сложение. Это сложение во многом напоминает традиционное, кроме случая, когда логические уровни входных сигналов А и В одновременно равны 1. Здесь операция ИЛИ даст 1 + + 1=1, а не 1+1 = 2. В булевой алгебре 1 — это наивысшее возможное значение, поэтому нам никогда не удастся получить результат больше 1. Такой же принцип сложения и для трехвходового логического элемента. Получим х = А + В + С. Если в нашем случае все три входных сигнала — логические 1, то по- лучим х = 1 . + 1 + 1 = 1. Выражение х = А + В читается как “х равен А ИЛИ В”. Это означает, что х примет значение логической 1, когда или А, или В, или оба одновременно будут равны 1. Ана- логично, соотношение х = А + В + С читается как “х равен А ИЛИ В ИЛИ С” и х при- мет значение логической 1, если А, В, С или любая их комбинация равны 1. Логические элементы и булева алгебра 87
Логический элемент ИЛИ В цифровой схемотехнике логический, элемент ИЛИ — это схема, содержащая два или больше входов, выходной сигнал которой является комбинацией ИЛИ всех входных сигналов. На рис. 3.2, б показано графическое представление (символ) двухвходового логического элемента ИЛИ. Напряжение входных сигналов А и В представляет логические уровни. Выходному сигналу х также соответствует некий логический уровень, являющийся результатом операции ИЛИ над А и В, т.е. х = А + В. Другими словами, логический элемент ИЛИ работает таким образом, что его выход- ной логический сигнал будет высоким (логическая 1), если А или В, или оба они ха- рактеризуются логическим уровнем 1. Выходной сигнал логического элемента ИЛИ будет низким (логический 0), только если все входные сигналы соответствуют логи- ческому 0. Такой же подход распространяется и на логические элементы с большим количе- ством входов. На рис. 3.3 показан трехвходовый логический элемент ИЛИ и его таб- лица истинности. При анализе таблицы становится видно, что выходной сигнал х со- ответствует 1, когда один или несколько входных сигналов соответствуют 1. Это об- щее правило распространяется и на логические элементы с произвольным количеством входов. Рис. 3.3. Графическое изображение и таблица истинности для трехвходового логического элемента ИЛИ Используя язык булевой алгебры, выход х можно представить как х = А + В + С, где опять следует помнить, что знак “+” означает логическую операцию ИЛИ. Вы- ходной сигнал любого логического элемента ИЛИ можно представить в виде комби- нации ИЛИ его входных сигналов. Это утверждение будет использовано при после- дующем анализе логических схем. Выводы Для операции ИЛИ и логического элемента ИЛИ следует запомнить, что: 1. Результатом (выходным сигналом) операции ИЛИ будет логическая 1, если на любом из входов будет логическая 1. В противном случае выходному сигналу бу- дет соответствовать 0. 2. Логический элемент ИЛИ — это логическая схема, которая выполняет операцию ИЛИ над своими входными сигналами. 3. Соотношение х = А + В читается как “х равен А ИЛИ В”. Термин логический, элемент связан с операцией запрета/разрешения, рассматриваемой в главе 4. 88 Глава. 3
Пример 3.1 |Во многих промышленных системах контроля требуется активизировать выходную логическую функцию всякий раз, когда активизируется какой-нибудь из входов. Например, в химических процессах это может потребоваться при включении сигна- лизации в момент превышения максимально возможного значения температуры или давления. На рис. 3.4 показана блок-схема такой системы контроля. Цепь темпера- турного датчика создает выходное напряжение, пропорциональное температуре про- цесса. Это напряжение VT сравнивается с эталонным напряжением VTR в цепи схемы сравнения (компаратора) напряжений. Обычно на выходе компаратора Гн низкое на- пряжение (логический 0), но он переключается на напряжение высокого уровня (логическую 1) в момент, когда Гт превышает Рта, указывая на то, что температура процесса слишком высока. Похожий механизм реализуется при измерении давления. I Выходной сигнал компаратора Рн переключается с низкого на высокий, когда давле- ние процесса становится слишком высоким. VpR Рис. 3.4. Применение логического элемента ИЛИ в системе контроля Поскольку нужно получить сигнал тревоги, когда слишком высоки температура или давление, очевидно, что два выходных сигнала компаратора подаются на двухвходо- вый логический элемент ИЛИ. Выходной сигнал логического элемента ИЛИ, таким образом, станет высоким (т.е. логической 1) для любого условия тревоги и активизи- рует сигнализацию. Такой же подход применяется и в системах с большим количе- ством обрабатываемых переменных. Пример 3.2 Определим выходной сигнал логического элемента ИЛИ, изображенного на рис. 3.5. Входные сигналы АиВ изменяются согласно временной диаграмме. К примеру, сиг- нал А низкий, начиная с момента t0; он становится высоким в момент tlt и опять становится низким в момент t3 и т.д. Решение Выходной сигнал логического элемента ИЛИ будет высоким, если любой из входных сигналов будет высоким. Между моментами t0 и оба входных сигнала низкие, по- этому выходной сигнал = 0. В момент ti входной сигнал А становится высоким, в то время как В остается низким. Это приводит к тому, что выходной сигнал становится высоким в момент и остается таким до момента t4, пока один или оба входных сигнала высокие. В момент t4 состояние В изменяется с 1 на 0 и теперь оба входных Логические элементы и булева алгебра 89
сигнала низкие, поэтому выходной сигнал становится низким. В момент t5 вход А становится высоким, преобразуя выходной сигнал обратно в высокий, и остается та- ким до конца показанного временного промежутка. Время Рис. 3.5. Пример 3.2 Выходной сигнал О Выходной сигнал Пример 3.3, а Найдем форму сигнала на выходе логического элемента ИЛИ для случая, показанно- го на рис. 3.6. 1 А О — Время Рис. 3.6. Примеры 3.3, а и б Выход А + В+С Решение Три входных сигнала логического элемента ИЛИ — А, В, С — изменяются согласно временной диаграмме сигналов. Выходной сигнал логического элемента ИЛИ будет 90 Глава 3
высоким, если любой из трех входных сигналов характеризуется высоким логиче- ским уровнем. Поэтому на рисунке изображена выходная форма сигнала логического элемента ИЛИ. Особое внимание следует обратить на то, что происходит в момент tr. На диаграмме показано, что в этот момент входной сигнал А изменяется с высокого на низкий, тогда как входной сигнал В изменяется с низкого на высокий. Так как на входах переходы происходят приблизительно в одно и то же время, существует ко- роткий интервал, когда эти входные сигналы логического элемента ИЛИ находятся в неопределенном состоянии между 0 и 1. В это время выходной сигнал логического элемента ИЛИ также принимает значение из этого диапазона, что подтверждается паразитным всплеском (или пиком) выходного сигнала в момент tv. Этот всплеск и его размер (амплитуда и ширина) зависят от скорости, с которой происходит переход между состояниями. Пример 3.3, б Что произойдет со всплеском выходного сигнала, изображенного на рис. 3.6, если входной сигнал С оставить высоким, несмотря на то, что в момент ti А и В будут из- меняться? Решение Если установить входной сигнал С в момент tr высоким, выходной сигнал логическо- го элемента ИЛИ останется высоким независимо от того, что происходит с другими входными сигналами, поскольку высокий входной сигнал будет поддерживать высо- кий уровень выходного сигнала логического элемента ИЛИ. Поэтому никакого пара- зитного всплеска не возникнет. Контрольные вопросы 1. Какая единственно возможная комбинация состояний входных сигналов при- ведет к низкому логическому уровню выходного сигнала любого элемента ИЛИ? 2. Запишите булево выражение для шестивходового логического элемента ИЛИ. 3. Если входной сигнал А (рис.3.6) постоянно поддерживать равным 1, то Какова будет форма выходного сигнала? 3.4. Логический элемент И и операция И Операция И — это вторая фундаментальная операция булевой алгебры. Таблица истинности, изображенная на рис. 3.7, а, иллюстрирует операцию И, выполняемую вад входными сигналами А и В, результат которой — выходной сигнал х. Из табли- цы видно, что х принимает значение логической 1, только когда оба входных сигна- ла, А и В, характеризуются высокими состояниями. Для случаев, где хотя бы один ход равен 0, выход — логический 0. Булево выражение для операции И выглядит так х = А • В. ЭГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 91
и а) б) Рис. 3.7. а) Таблица истинности, определяющая опе- рацию И; б) графическое представление логического элемента И В этом соотношении знак не является традиционным знаком умножения, а обозначает булеву операцию И (логическое умножение). Тем не менее, операция И над булевыми переменными похожа на традиционное умножение, что отражено и в таблице истинности. Поэтому будем считать, что они аналогичны. Эта особенность пригодится при оценке логических соотношений, содержащих операцию И. Соотношение х = А • В читается как “х равен А И В” и означает, что х будет равен 1 только при условии, что А = 1 и В = 1. Знак обычно опускают, поэтому соотно- шение просто имеет вид х ~ АВ. В случае с тремя входами имеем: х=А*В*С= АВС, а читается данное соотношение как “х равен А и В и С". Это означает, что х примет значение 1, только когда входные сигналы А, В и С соответствуют 1. Логический элемент И Графическое представление двухвходового логического элемента И показано на рис. 3.7, б. Выходной сигнал логического элемента И равен логическому произведе- нию его входных сигналов, т.е. х = АВ. Другими словами, логический элемент И — это схема, которая функционирует таким образом, что выходной сигнал соответству- ет высокому уровню только тогда, когда все входные сигналы высокие. Во всех ос- тальных случаях выходному сигналу логического элемента И сопоставляется низкий уровень. Эту операцию можно проводить и над большим количеством входных сигналов. К примеру, рассмотрим трехвходовый логический элемент И (см. рис. 3.8) и соответ- ствующую таблицу истинности. Еще раз отметим, что выходной сигнал логического элемента И равен 1, только когда А = В = С = 1. Выходное соотношение примет вид х = АВС. Аналогично, для четырехвходового логического элемента И выходной сиг- нал запишется как х = ABCD и т.д. Рис. 3.8. Таблица истинности и графическое представле- ние логического элемента И 92 Глава 3
Обратите внимание на отличие между символами, изображающими логический -мент И, а также логический элемент ИЛИ. Всякий раз, когда на чертеже логиче- * схемы присутствует логический элемент И, можно считать, что сигнал на вы- № будет высоким, лишь когда все входные сигналы элемента будут высокими. [кий раз, когда на чертеже логической схемы присутствует логический элемент И, это означает, что сигнал на выходе будет высоким, если любой из входных валов элемента будет высоким. («ВОДЫ Операция И реализуется так же, как традиционное умножение 1 и О. Логический элемент И — это схема, которая производит логическое умножение входных сигналов. Выходной сигнал логического элемента И принимает состояние логической 1 только при условии, что все входные сигналы логического элемента соответству- ют логической 1. В противном случае выход — логический 0. Соотношение х = АВ читается как “х равен А И В”. ример 3.4 [ем выходной сигнал логического элемента И, ых входных формах сигналов. изображенного на рис. 3.9, при 1 А О 1 В О 1 х О *о h l2 b U t5 t6 t7 Рис. 3.9. Пример 3.4 пение сходной сигнал логического элемента И найдем, приняв во внимание тот факт, что соответствует логической 1 только в том случае, когда все входные сигналы логи- >го элемента соответствуют логической 1. На данной диаграмме это условие вы- кинется для интервалов t2 - н t6 - t?. В другие моменты времени один1 или оба Иных сигнала равны 0, поэтому выходной сигнал будет низким. Заметьте, что ко- I уровень одного из входных сигналов меняется, а другой сигнал в это время низ- I — это не оказывает никакого эффекта на уровень выходного сигнала. •ji 11ЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 93
Пример 3.5, а Найдем выходную форму сигнала логического элемента И, изображенного на рис. 3.10. А лллллл. в _I I в >_плл_ 2 Рис. 3.10. Примеры 3.5, а и б Решение Выходной сигнал х примет значение логической 1, только когда оба входных сигна- ла, А и В, высокие одновременно. Исходя из этого утверждения, можно изобразить выходную форму сигнала (рис. 3.10). Когда входной сигнал В соответствует логическому 0, выходной сигнал х также со- ответствует 0, не принимая во внимание состояние входа А. В момент, когда сигнал В — логическая 1, сигнал х такой же, как и сигнал А. Поэтому В можно считать управляющим входным сигналом, который пропускает или не пропускает сигнал А на выход. В этой ситуации логический элемент И играет роль схемы запрета. Можно говорить, что В = 0 является условием запрета, которое создает нулевой логический сигнал на выходе. И наоборот, В = 1 — условие разрешения, позволяющее входному сигналу А попасть на выход. Это свойство запрета — важное применение логического элемента И, которое будет рассмотрено далее. Пример 3.5, б Что произойдет с формой выходного сигнала х (рис. 3.10), если входной сигнал В бу- дет соответствовать логическому 0? Решение При низком уровне входного сигнала В выходной сигнал х также будет оставаться низким. Это можно объяснить двумя способами. Первый: при В = 0 имеем х = А • В = = А • 0 = 0 (умножение на 0 дает 0). Второй: для получения высокого выходного сиг- нала входные сигналы логического элемента И должны быть высокими. А это усло- вие не выполняется, так как В низкий. Контрольные вопросы 1. Какая единственно возможная комбинация входных сигналов приведет к высо- кому выходному сигналу пятивходового логического элемента И? 2. Какому логическому уровню должен соответствовать второй входной сигнал] двухвходового логического элемента И, чтобы сигнал первого входа не влиял на выход? 3. Проверьте истинность высказывания. При одинаковых входных состояниях выход логического элемента И никогда не может быть таким же, как выход логического элемента ИЛИ. 94 Глава 3
3.5. Операция НЕ Операция НЕ отличается от операций И и ИЛИ, так как она действует на одну переменную. К примеру, если над переменной А производится операция НЕ, то ре- зультат будет таким: х = А , где черта над А означает операцию НЕ. Это выражение читается как “х равно НЕ А” или “х равно величине, обратной А”, а еще “х равно дополнению А”. Все эти выра- жения применяются наравне, и каждое из них означает то, что логическая величина х = А обратная логической величине А. Таблица истинности, представленная на рис. 3.11, а, показывает это для двух состояний А = 0 и А = 1: 1=0, так как НЕ 1 — это 0 и 0 = 1, так как НЕ 0 — это 1 кружка всегда указывает на инверсию б) Рис. 3.11. а) Таблица истинности; б) графическое представление инвертора (логический элемент НЕ); в) временная диаграмма сигналов Операция НЕ также называется инверсией или дополнением; эти названия будут время от времени встречаться в книге. Для обозначения инверсии будет использо- ваться черта, хотя существует и другое, альтернативное обозначение “ ’ ”, а именно А' = А Оба эти обозначения соответствуют операции инверсии. Логический элемент НЕ (инвертор) На рис. 3.11, б показано графическое представление логического элемента НЕ, который чаще называют инвертором. Этот логический элемент всегда имеет один вход и один выход, логический уровень сигнала которого всегда противоположен ло- гическому уровню входного сигнала. На временной диаграмме (рис. 3.11, в) показано действие инвертора на входной сигнал. Входной сигнал на всех участках временной диаграммы инвертируется, т.е. если входной сигнал равен 0, то на выходе он прини- мает значение 1 и наоборот. ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 95
Выводы Правила применения операций ИЛИ, И, НЕ выглядят так: ИЛИ и НЕ 0 + 0 = 0 0*0 = 0 6 = 1 0 + 1 = 1 0*1 = 0 1 = 0 1 + 0=1 1*0 = 0 1 + 1 = 1 1*1 = 1 Контрольные вопросы 1. Выход инвертора (рис. 3.11) подключен ко входу второго инвертора. Определи- те выходной сигнал второго инвертора для двух возможных входных сигна- лов А. 2. Выход логического элемента И (рис. 3.7) соединен со входом инвертора. Для всех комбинаций входных сигналов А и В составьте таблицу истинности, со- держащую значения выходного сигнала инвертора у. З.б. Алгебраическое описание логических схем Любую логическую схему, какая бы сложная она ни была, можно целиком опи- сать при помощи трех простейших булевых операций, так как логические элементы И, ИЛИ и элемент НЕ — фундаментальные компоненты цифровых систем. Напри- мер, рассмотрим схему на рис. 3.12. Эта схема имеет три входа (А, В и С) и один вы- ход х. Применяя булевы выражения для каждого логического элемента, получаем выходной сигнал. Рис. 3.12. Логическая схема и ее булево выражение х = А *В + С Выражение для выходного сигнала логического элемента И запишется как А • В. Выходной сигнал логического элемента И подан на вход логического элемента ИЛИ одновременно с другим входным сигналом С. После операции ИЛИ над входными сигналами выходной сигнал всей схемы запишется как х = А • В + С. (Это оконча- тельное выражение также можно представить в виде х = С + А • В, потому что не имеет значения, в каком порядке будут записаны слагаемые суммы ИЛИ.) Порой возникает вопрос: какую операцию в соотношении следует выполнять пер- вой? Соотношение А • В + С можно толковать двояко: 1) между элементом А • В и элементом С выполняется операция ИЛИ; 2) между элементом А и элементом В + С выполняется операция И. Во избежание такой путаницы было принято, что если в выражении присутствуют обе операции И и ИЛИ, то первой выполняется операция И, если только в соотношении нет круглых скобок. В таком случае первой выполни- 96 Глава 3
операцию, указанную в скобках. Такое же правило, определяющее порядок вы- гнения операций, есть и в обычной алгебре. Далее рассмотрим рис. 3.13. Выражение для выходного сигнала логического эле- гга ИЛИ записывается А + В. Этот выходной сигнал вместе с другим входным налом С подан на вход логического элемента И. Таким образом, соотношение для годного сигнала логического элемента И выглядит как х = (А + В) • С. Скобки сь указывают, что в первую очередь выполняется действие А ИЛИ В, а затем ме- у результирующим сигналом и входным сигналом С выполняется операция И. Без |бок выражение будет истолковано неправильно, так как А + В • С означает, что фация И выполняется между А и В • С. А+В х= (А+В).С С • Рис. 3.13. Логическая схема, выражение для которой требует скобок емы с инверторами Всякий раз, когда в логической схеме есть инвертор, выражение для выходного нала соответствует выражению для входного сигнала с чертой. На рис. 3.14 пока- к два примера использования инверторов. На рис. 3.14, а входной сигнал А про- чит через инвертор, поэтому выходным сигналом будет А. Выходной сигнал ин- тора одновременно с входным сигналом В подан на логический элемент ИЛИ, ре- ьтирующий выходной сигнал которого равен А + В . Черта над А показывает, что «ной сигнал А сначала инвертирован, а затем участвует в операции ИЛИ с сигна- I В. На рис. 3.14, б выходной сигнал логического элемента ИЛИ, равный А + В, про- зе? через инвертор. Таким образом, выходным сигналом инвертора будет (А + В), жольку инвертируется целиком все выражение для входного сигнала. Отметим, > черта располагается над всем выражением (А + В). Это очень важно, потому что ^ажения (А + В) и (А + В) не эквивалентны. Запись (А + В) подразумевает, что Вала между А и В осуществляется операция ИЛИ, а затем полученное выражение (ертируется, тогда как запись (А + В) означает, что между инвертированными А и доводят операцию ИЛИ. х = А + В А+ В В •-----± В • х = А+ В Рис. 3.14. Схемы, содержащие инвертор рис. 3.15 иллюстрируются еще два примера, которые нужно рассмотреть под- . Особенно отметим использование двух пар скобок на рис. 3.15, б и одновре- = использование входного сигнала А для двух отдельных логических элементов . 3.15, а. ЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 97
Рис. 3.15. Примеры более сложных схем ; Контрольные вопросы 1. В схеме, показанной на рис. 3.15, а, измените каждый логический элемент И на ИЛИ, а логические элементы ИЛИ на И. Запишите выражение для выход- ного сигнала х. 12. В схеме, представленной на рис. 3.15, б, замените каждый логический элемент | И на ИЛИ, а логические элементы ИЛИ на И. Запишите выражение для вы- ходного сигнала х. 3.7. Расчет выходных сигналов логических схем Имея булево выражение для выходного сигнала схемы, можно рассчитать логиче- ский уровень выходного сигнала для любых значений входных сигналов схемы. На- пример, необходимо определить логический уровень выходного сигнала х для схемы, изображенной на рис. 3.15, а, в случае, когда А = О, В = 1, С = 1 и Л = 1. Как и в обычной алгебре, значение х можно найти путем подстановки значений переменных в выходное выражение, расположив операции следующим образом: 98 Глава 3
х = АВС(А + D) = б 1 • 1 (0 + 1) = 1 • 1 • 1 • (О + 1) = 111(1) = 1-1-10 = о Теперь рассчитаем выходной сигнал схемы, изображенной на рис. 3.15, б, для пений А = 0, В = О, С = 1, D = 1 и Е = 1. х = + (А + В)с] • Е = 1 + (0 + 0) 11 • 1 =[1+ о]1 =[1+1] 1 = 1-1 = 1 При решении булевых соотношений следует придерживаться таких правил: Сначала нужно выполнять все инверсии отдельных элементов, таких как 0 = 1 или 1 = 0. Затем следует выполнять все операции внутри скобок. Операции И выполняются перед выполнением операций ИЛИ, если только это не противоречит расстановке скобок. Если над выражением стоит черта, выполняются сначала все операции внутри выражения, а затем инвертируется результат. В качестве упражнения найдите выходные сигналы обеих схем, изображенных на 3.15, для случая, когда все входные сигналы равны 1. Ответами будут х= 0 и = 1 соответственно. пределение уровня выходного сигнала на схеме Имея в распоряжении данные об уровнях входных сигналов, логический уровень одного сигнала можно найти прямо из принципиальной схемы, не рассматривая :ево выражение. Эту методику часто используют специалисты при устранении не- равностей или тестировании логических систем. Методика позволяет проследить вень выходного сигнала как для каждого логического элемента, так и для всей мы в целом. Для наглядности схема на рис. 3.16, до этого изображенная на 3.15, а, видоизменена так, что уровни входных сигналов схемы А = 0, В = 1, С = D = 1. Порядок анализа следующий: сначала учитываются входные сигналы, да- изучается их прохождение через все логические элементы и инверторы, при этом ксируются все выходные сигналы, пока не будет получен результат для выходного нала. На рис. 3.16 у логического элемента И № 1 все три входных сигнала равны 1, по- у что инвертор преобразует А = 0 в А = 1. Это приводит к 1 на выходе элемента И, как 1 • 1 • 1 = 1. Логический элемент ИЛИ принимает входные сигналы, соответ- ;ющие 1 и 0, что приводит к появлению 1 на выходе, так как 1 + 0=1. Эта 1 ин- гируется в 0 и передается на логический элемент И К? 2 одновременно с сигна- ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 99
лом, соответствующим 1, который поступает с логического элемента И № 1. Входные сигналы, соответствующие 0 и 1, в логическом элементе И № 2 дают выходной сиг- нал х = 0, так как 0-1 = 0. Рис. 3.16. Нахождение уровня выходного сигнала на принципиальной схеме Пример 3.6 Определите выходной сигнал (рис. 3.16), если все входные сигналы соответствуют 0. Решение Когда А = В = С = D = 0, выходной сигнал первого элемента И будет низким. Когда этот сигнал низкого уровня попадает на вход второго элемента И, не принимая во внимание уровни в остальных частях схемы, он автоматически становится равен 0. В этом примере показано, что для нахождения выходного сигнала не всегда нужно на- ходить логические уровни сигналов в каждой точке схемы. Контрольные вопросы. 1. При помощи выражения для х найдите выходной сигнал схемы, изображенной на рис. 3.15, а, при условии, что А = 0, В = 1, С = 1, и D = 0. 2. При помощи выражения для х найдите выходной сигнал схемы, изображенной на рис. 3.15, б, при условии, что А = В = Е = 1, С = D = 0. 3. Дайте ответы на предыдущие вопросы путем нахождения логических уровней сигналов на всех входах и выходах в схеме, как это делалось для рис. 3.16. 3.8. Получение логических схем из булевых выражений Когда работа схемы описывается булевым выражением, можно сразу составить логическую схему, руководствуясь этими данными. К примеру, если нужно соста- вить схему, заданную выражением х = А • В • С, то очевидно, что для этого нужен трехвходовый логический элемент И. Если необходима схема, определяемая как х = А + В, можно воспользоваться двухвходовым логическим элементом ИЛИ с ин- вертором на одном из входов. Аналогичный подход срабатывает и в случае более сложных схем. Предположим, что необходимо составить схему, воспользовавшись выражением для выходного сигнала у = АС + ВС + АВС . Это булево выражение состоит из трех 100 Глава 3
:ементов (AC, ВС , ABC ), между которыми производится операция ИЛИ. Для >ализации схемы необходим трехвходовый логический элемент ИЛИ (рис. 3.17, а) с юдными сигналами, обозначенными как АС , ВС и АВС . АС •---А _ВС • ...-Ч АВС •---7 ♦ у = АС 4 ВС + АВС а) с. 3.17. Получение логической схемы из булевых выражений Каждый входной сигнал логического элемента ИЛИ является результатом логиче- эго умножения (значит, для них потребуется три элемента И). Полная схема изо- ажена на рис. 3.17, б. Следует обратить внимание, что для получения требуемых в тношении элементов А и С используются инверторы. Такой общий подход всегда срабатывает несмотря на то, что существуют более обные и эффективные способы построения схем. Однако теперь этот прямой метод служит для сокращения количества новых понятий, которые следует изучить. [ример 3.7 ггавьте логическую схему для выражения х = (А + В)(В + С). иение этого выражения следует, что (А + В) и (В + С) — это входные сигналы логиче- >го элемента И, поэтому каждый из них является выходным сигналом логического мента ИЛИ. Окончательный вариант схемы показан на рис. 3.18. а ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 101
Контрольные вопросы 1. Составьте схему для выражения х = А В С (А + В), используя логические элементы с тремя входами. 2. Составьте логическую схему для выражения у = АС + ВС + АВ . 3. Составьте логическую схему для выражения х = [В + (А + В)С] Е . 3.9. Логические элементы И-НЕ и ИЛИ-НЕ В цифровых схемах широко используются два других типа логических элемен- тов — ИЛИ-HE, а также И-НЕ. Эти логические элементы сочетают в себе фундамен- тальные операции (И, ИЛИ, НЕ), поэтому их легко можно описать булевыми выра- жениями. Логический элемент ИЛИ-НЕ Графическое представление двухвходового логического элемента ИЛИ-НЕ пока- зано на рис. 3.19, а. Оно такое же, как и для обычного элемента ИЛИ, но с дополни- тельным кружком на выходе. Этот маленький кружок означает инверсию. Поэтому логический элемент ИЛИ-НЕ работает как последовательная связка логического эле- мента ИЛИ и инвертора. Таким образом схемы на рис. 3.19, а и 3.19, б эквивалент- ны, а выражение, описывающее выходной сигнал логического элемента ИЛИ-НЕ, выглядит как х = А + В . Таблица истинности, изображенная на рис. 3.19, в, иллюстрирует тот факт, что выходной сигнал логического элемента ИЛИ-НЕ — это результат инверсии выходно- го сигнала элемента ИЛИ для всех возможных вариантов входных сигналов. Выход- ной сигнал логического элемента ИЛИ высокий в том случае, когда хотя бы один из входных сигналов высокий. А выходной сигнал логического элемента ИЛИ-НЕ, на- оборот, будет низким, когда любой входной сигнал будет высоким. Эту операцию можно распространить и на логические элементы ИЛИ-НЕ с большим количеством входов. 102 Глава 3
6) ИЛИ ИЛИ-НЕ А В А+В Ан В 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 в) Рис. 3.19. а) Графическое представление логиче- ского элемента ИЛИ-НЕ; б) эквивалентная ло- гическая схема; в) таблица истинности для логического элемента ИЛИ-НЕ ример 3.8 Е делите выходной сигнал логического элемента ИЛИ-НЕ при заданных входных злах (рис. 3.20). А е в • О О Рис. 3.20. Пример 3.8 х = А+ В ение н из способов получения выходного сигнала логического элемента ИЛИ-НЕ за- Иочается в нахождении выходного сигнала элемента ИЛИ и последующем инверти- нии его (меняя все 1 на 0 и наоборот). Другой способ — воспользоваться тем, что одной сигнал логического элемента ИЛИ-НЕ будет высоким только в том случае, да все входные сигналы будут низкими. Таким образом, можно изучить входные алы, найти временные интервалы, когда все входные сигналы низкие, и устано- 103 ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА
вить на этих интервалах высокий уровень выходного сигнала элемента ИЛИ-НЕ. На остальных участках диаграммы выходной сигнал логического элемента будет низ- ким. Окончательная форма выходного сигнала показана на рисунке. Пример 3.9 Получите булево выражение для выходного сигнала трехвходового логического эле- мента ИЛИ-НЕ, прошедшего через инвертор. Решение В соответствии с рис. 3.21, где приведена принципиальная схема, выражение для выходного сигнала элемента ИЛИ-НЕ выглядит как х = А + В + С. Затем сигнал по- дается на инвертор, что дает х = А + В + С. Рис. 3.21. Пример 3 9 - А + В + С Наличие двойного символа инверсии указывает на то, что величина (А + В + С) ин- вертируется дважды. Понятно, что при этом величина остается неизменной, так как х=А+В+С=А+В+С. В любом случае две черты, обозначающие инверсию, над одной величиной или пере- менной компенсируют друг друга (как в предыдущем примере). Однако когда А + В, символы инверсии не компенсируются. Это связано с тем, что внутренние знаки ин- версии (более короткие) действуют на отдельные переменные А и В, в то время как длинная черта действует на величину (А + В). Отсюда следует, что А + В * А + В, так же как и АВ АВ . Логический элемент И-НЕ Графическое представление двухвходового логического элемента И-НЕ показано на рис. 3.22, а. Практически это тот же логический элемент И, за исключением ма- ленького кружка на выходе, который означает операцию инверсии. Таким образом, элемент И-НЕ действует как связка обычного элемента И с инвертором, поэтому схе- мы на рис. 3.22, а и на рис. 3.22, б эквивалентны, и выражением для выходного сигнала элемента И-НЕ будет х = АВ. Таблица истинности для этого элемента (рис. 3.22, в) показывает, что выходной сигнал элемента И НЕ есть ни что иное, как инвертированный сигнал логического элемента И для всех возможных вариантов входных сигналов. Выходной сигнал логического элемента И становится высоким, только когда все входные сигналы высокие. А выходной сигнал логического элемента И-НЕ, наоборот, низкий, когда все входные сигналы высокие. Это справедливо и для логических элементов И-НЕ с большим количеством входов. 104 Глава 3
A б) Рис. 3.22. а) Графическое представление логического элемента И-НЕ; б) эквива- лентная схема; в) соответствующая таблица истинности в) имер 3.10 ?делите выходной сигнал логического элемента И-НЕ при заданных входных алах (рис. 3.23). Рис. 3.23. Пример 3.10 пение квый способ — сначала изобразить выходной сигнал элемента И, а затем инверти- ать его. рой способ — воспользоваться тем, что выходной сигнал элемента И-НЕ низкий, ько если все входные сигналы высокие. Таким образом, можно найти все времен- ‘ интервалы, на которых все входные сигналы высокие, и на них изобразить вы- ной сигнал элемента И-НЕ низким. На всех остальных участках временной диа- ммы выходной сигнал будет высоким. ример 3.11 выражения х = АВ (С + D) составить логическую схему, используя только эле- •ы ИЛИ-НЕ и И-НЕ. »ение одной сигнал элемента И-НЕ выражается как (С + В). Между этой величиной и гчинами А и В проводят операцию логического умножения И с последующим ин- 1ЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 105
вертированием результата (операция И-НЕ). Окончательная схема приведена на рис. 3.24. Отметим, что логический элемент И-НЕ сначала проводит операцию И над А, В и (С + D) , а только потом инвертирует окончательный результат. Пример 3.12 Найти уровень выходного сигнала на рис. 3.24 при A = B = C= luD = O. Решение Первый метод использует выражение для х х = АВ (C + D) = ii (Г+о) = F i (Т) = 1 10 = 0 = 1 Второй метод заключается в описании логических уровней входных сигналов на всей схеме (состояния 0 и 1 показаны на рис. 3.24). Далее проследим их движение через каждый элемент схемы. Логический элемент ИЛИ-НЕ имеет входные сигналы, соот- ветствующие 1 и 0, из чего следует, что выходной сигнал элемента соответствует 0 (выходной сигнал элемента ИЛИ соответствовал бы 1). Поэтому элемент И-НЕ полу чает входные сигналы, соответствующие 0, 1 и 1, что приводит к появлению 1 на выходе (логический элемент ИЛИ дал бы выходной сигнал, соответствующий 0). Контрольные вопросы 1. Какое единственное сочетание входных сигналов трехвходового элемента ИЛИ-1 НЕ привело бы к высокому логическому уровню выходного сигнала? 2. Определите уровень выходного сигнала схемы, изображенной на рис. 3.24, при А = В=1иС = В = 0. 3. Замените логический элемент ИЛИ-НЕ на элемент И-НЕ (рис. 3.24) и логиче- ский элемент И-НЕ на элемент ИЛИ НЕ. Каким будет новое выражение для х? 3.10. Булевы теоремы В предыдущих разделах читатель уже ознакомился с тем, как можно применять булеву алгебру для анализа логических схем и выражать математически их работу. Далее мы продолжим изучение булевой алгебры и перейдем к булевым теоремам (правилам), которые помогают упрощать логические выражения и логические схемы 106 Глава 3
рзая группа теорем проиллюстрирована на рис. 3.25. Во всех теоремах х — логи- кая переменная, которая может быть равна 0 или 1. Каждая теорема сопровожда- я логической схемой, которая демонстрирует ее справедливость. Рис. 3.25. Теоремы для одной переменной Теорема № 1 гласит, что результатом логического умножения (операции И) любой временной на 0 является 0. Это нетрудно запомнить, потому что логическое умно- Вние сходно с традиционным умножением в обычной алгебре, где, как известно, ^вожение на 0 всегда дает 0. Также известно, что выходной сигнал логического Ьвмента И будет соответствовать 0, если хотя бы один из входных сигналов этого емента будет логическим 0. (Одного такого сигнала достаточно, поэтому не стоит Ьащать внимания на остальные.) Теорема № 2 также очевидна, если сравнивать ее с традиционным умножением. Справедливость теоремы № 3 доказывается путем анализа возможных случаев. Бли х = 0, тогда 0 • 0 = 0; если х=1, то 1*1 = 1, поэтому х • х = х. ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 107
Теорему № 4 можно доказать тем же методом, причем нужно заметить, что в любой момент времени выходной сигнал х или обратный ему х будут соответствовать 0. Теорема № 5 справедлива потому, что операция сложения 0 с любой величиной не приведет к ее увеличению как при обычном сложении, так и при логическом (операция ИЛИ). Теорема № 6 предполагает, что если переменную сложить с логической 1, резуль- татом операции всегда будет 1. Это справедливо для обоих значений х: 0 + 1 = 1 и 1 + 1 = 1, причем выходной сигнал логического элемента ИЛИ будет равен 1, когда какой-либо из входных сигналов соответствует 1 независимо от логических уровней остальных входных сигналов. Теорему № 7 можно доказать, проверив ее условие для двух возможных значений х:0 + 0 = 0и1 + 1 = 1. Теорема № 8, кроме непосредственной подстановки, проверяется очевидным фак- том (в любом случае в этом выражении или х, или х будет равен 1, поэтому сложе- ние приведет к единственно возможному результату — логической 1). Перед тем как перейти к остальным теоремам, следует обратить внимание на то, что при использовании теорем № 1-8 переменная х может представлять более чем одну переменную. Например, если имеется выражение АВ(АВ), согласно теореме № 4 АВ обозначается как х, поэтому АВ(АВ) = 0. Этот простой принцип применим и ко всем остальным теоремам. Теоремы для нескольких переменных Теоремы, перечисленные ниже, содержат несколько переменных: 9. х + I/ = </ + х Ю. х • у = у • х 11. X + (у + z) = (х + у) + 2 = X + 2 + у 12. х(уг) = {ху)г = хуг 13а. х(у + г) = ху + хг 136. (w + х)(у + г) = wy + ху + W2 + хг 14. х + ху = х 15а. х + ху = х + у 156. х + ху = х + у Теоремы № 9 и № 10 называются законами коммутативности. Эти законы ут- верждают, что выполнять операции И, ИЛИ можно в любом порядке — результат будет одинаков. Теоремы № 11 и № 12 — законы ассоциативности, которые утверждают, что операции И, ИЛИ можно выполнять, группируя переменные в любом порядке. Теорема № 13 — закон дистрибутивности, который указывает на допустимость вынесения общего множителя за скобки, как и в обычной алгебре, а также на воз- можность факторизации выражения. К примеру, если имеется выражение АВС + АВС , можно вынести за скобки общий множитель В : АВС + АВС = В(АС + АС). Рассмотрим выражение АВС + A BD . В данном случае оба слагаемые содержат общие переменные А и В , поэтому А • В можно вынести за скобки: АВС + ABD = АВ(С + D). Теоремы № 9-13 несложно запомнить, так как они идентичны теоремам обычной алгебры. В то же время теоремы № 14 и № 15 не имеют аналогов в обычной алгебре. Каждую из них можно доказать, проверив для всех возможных комбинаций значе- ний переменных х и у. Теорема № 14 проверяется следующим образом. 108 Глава 3
Случай 1. Для х = 0, у = О • х + ху = х О + О • О = О 0 = 0 Случай 2. Для х = О, у = 1 х + ху = х О + 0 • 1 = О 0 + 0 = 0 0 = 0 Случай 3. Для х = 1, у = О х + ху = х 1 + 1 . О = 1 1 + 0=1 0 = 0 Случай 4. Для х = 1, у = 1 X + ху = X 1 + 1 • 1 = 1 1 + 1 = 1 1 = 1 Теорему № 14 также можно доказать при помощи теорем № 6 и № 2: х + ху = х(1 + у) - х • 1 (теорема № 6) = х (теорема № 2) Эти булевы теоремы оказываются чрезвычайно полезны при упрощении логиче- ских выражений — они позволяют сокращать в выражении количество членов. Схе- ма упрощенного выражения менее громоздка, чем полученная из исходного выраже- ния. Большая часть следующей главы будет посвящена упрощению логических схем. Далее показаны примеры, иллюстрирующие использование булевых теорем*. Пример 3.13 Упростите выражение у = ABD + ABD. Решение Переменная АВ выносится за скобки (теорема № 13): у - AB(D + D). На основании теоремы № 8 величина в скобках равна 1, поэтому у ~ АВ 1 . .. п. _ (теорема № 2) Пример 3.14 Упростите выражение г = (А + В)(А + В). Решение Выражение можно разложить, непосредственно перемножив величины в скобках (теорема № 13): * Все булевы теоремы собраны в приложении. Логические элементы и булева алгебра 109
z = AA + AB + BA + BB. - • Согласно теореме № 4 А • А = 0 . Аналогично, В • В = В (теорема № 3): 2 = 0 + АВ + В- А + В = АВ + АВ + В. Вынося за скобки переменную В (теорема № 13), получим z = В (А + А + 1). В результате на основании теорем № 2 и № 6, 2 = В. Пример 3.15 Упростите выражение х = ACD + ABCD . Решение Вынося за скобки общую переменную CD, получим х = CD (А + АВ). На основании теоремы Хе 15а можно заменить А + АВ на А + В. Таким образом х = CD(A + В) = = ACD + BCD. Контрольные вопросы I • _ _ 1. Используя теоремы Хе 13 и № 14, упростите выражение у = АС + АВС . 2. С помощью теорем Хе 13 и Хе 8 упростите выражение у = ABCD + ABCD . 3. Руководствуясь теоремами Хе 13 б и Хе 156 упростите выражение у = AD + ABD . 3.11. Теоремы де Моргана Две наиболее важные теоремы булевой алгебры получены великим математиком де Морганом. Теоремы де Моргана оказываются чрезвычайно полезны при упроще- нии выражений, содержащих инверсию суммы или произведения переменных. Эти теоремы выглядят следующим образом: 16- (х + у) = х • у 17- (ху) = х + у Теорема Xs 16 гласит, что инверсия логической суммы двух переменных равно- ценна логическому произведению обратных к слагаемым величин. Согласно теореме Xs 17 инверсия логического произведения двух переменных равноценна логической сумме обратных к множителям величин. Обе теоремы де Моргана несложно доказать проверкой при всех возможных значениях переменных х и у (см. упражнение в кон- це главы). Хотя эти теоремы сформулированы лишь для одиночных переменных х и у, они также справедливы и в том случае, когда х и/или у являются сложным выражением, содержащим несколько переменных. В качестве примера рассмотрим выражение (АВ + С): (АВ + С) = (АВ) С . 110 Глава 3
Отметим, что на основании теоремы № 16 АВ соответствует х, а С соответствует Возможно дальнейшее упрощение полученного результата, так как в выражении исутствует инверсия логического произведения АВ. Исходя из теоремы №17, по- учим АВ • С = (А + В) • С . Далее можно заменить В на В, и окончательным результатом будет (А + В) • С = АС + ВС . В окончательном результате имеются только обратные к отдельным переменным ‘ЛИЧИНЫ. 3.16 простите выражение z = (А + С) • (В + D) до слагаемых, представленных отдельными вличинами, обратными переменным. вшение [а основании теоремы № 17, приняв, что (А + С) соответствует хи (В + D) соответ- гвует у, получим г = (А + С) + (В + D). го можно представлять себе как устранение общей инверсии в правой части выра- ения и изменение знака логического произведения (•) на знак логической суммы ). Согласно теореме № 16 слагаемые (А + С) и (В + D) разлагаются как г = (А + С) + (В + D) = (А С) + ВЬ. аким образом, общая инверсия в правой части исходного выражения исчезла с за- [еной (+) на (•). Заменив двойную инверсию, получим окончательный результат: z = АС + BD . В примере 3.16 наглядно показано, как при помощи теорем де Моргана можно упростить выражение (избавиться от знака инверсии в любой части выражения, а также изменить знак операции на противоположный — заменить (+) на (•) и наобо- рот). Такие действия продолжаются до тех пор, пока не будет получен результат, представленный отдельными величинами. Приведем два примера. Пример 1 Пример 2 z = А + В С г = (А + ВС) • (В + EF) = А • (В С) = А • (В + С) = А (В + С) = (А + ВС) + (В + EF) ^(ABC) + (D~EF) = [а • (В + С)] + [5 (-Ё + У)] = АВ + АС + DE + DF Теоремы де Моргана также легко распространить на случай более чем двух пере- менных. Например, x + y + z = xy-z, xyz = x + y + z. Логические элементы и булева алгебра 111
Здесь знак общей инверсии разбивается на отдельные знаки инверсии, при этом знак операции изменяется на противоположный. Аналогичный подход также распро- страняется и на соотношения, содержащие любое количество переменных. Отметим, что рассматриваемые переменные сами могут быть выражениями. Приведем еще один пример: х = АВ-CD ~EF = AB + CD + EF = АВ + CD + EF Следствия теорем де Моргана Рассмотрим теоремы № 16 и № 17 с точки зрения логических схем. Сначала рас- смотрим теорему № 16, где (х + у) = х • у. Левая часть уравнения есть ни что иное как выходной сигнал логического эле- мента ИЛИ-НЕ, входные сигналы которого — х и у. Правая часть уравнения — это результат действия логического элемента И на две обратные величины. Оба эти ут- верждения эквивалентны (рис. 3.26, а). х У х«у = X + у б) Рис. 3.26. Следствия теоремы .А/6 16: а) эквивалентные схемы, б) альтер- нативное графическое представление элемента ИЛИ НЕ Это означает, что логический элемент И с инверторами на каждом из его входов эквивалентен элементу ИЛИ-НЕ. В действительности, для реализации элемента ИЛИ-НЕ используются оба эти представления. Когда логический элемент И с инвер- тированными входными сигналами применяют для описания операции ИЛИ-НЕ, то обычно представляют это так, как показано на рис. 3.26, б. (Маленькие кружки на входах означают операцию инверсии.) Теперь, в соответствии с теоремой № 17, (х • у) = х + у. Левую часть уравнения графически можно представить элементом И-НЕ с вход- ными сигналами х и у. Правая часть уравнения — результат действия логического элемента ИЛИ на отдельные инвертированные переменные. На рис. 3.27, а изобра- жены две эти эквивалентные схемы. Логический элемент ИЛИ с инверторами на всех его входах равноценен логическому элементу И-НЕ. Для представления опера- ции И-НЕ применяются оба эти обозначения. На рис. 3.27, б показано наиболее час- то используемое представление операции И-НЕ (маленькие кружки на входах озна- чают инверсию). 112 Глава 3
ху X + у - ху а) х + у = ху б) Рис. 3.27. а) Теорема Л? 17: эквивалентные схемы; б) альтернативное графическое представление операции И-НЕ ример 3.17 лучите выходное соотношение для схемы, показанной на рис. 3.28, и упростите • с помощью теорем де Моргана. Рис. 3.28. Пример 3.17 Z=A*B*C=A+B+C=A+B+C гение годное соотношение имеет вид z = АВС . Используя теоремы де Моргана, можно явиться от общего знака инверсии: г = А + В + С . ратив двойную инверсию над С, получим г = А + В + С. нтрольные вопросы Применяя теоремы де Моргана, преобразуйте выражение г = (А + В) • С до со- стояния, когда переменные будут представлены отдельно инвертированными величинами. Проделайте то же самое для выражения у = RST + Q . Составьте схему для выражения г = АВС , используя только элемент ИЛИ-НЕ и инвертор. Применяя теоремы де Моргана, преобразуйте выражение у = А + В +• CD до со- стояния, когда переменные будут представлены отдельно инвертированными величинами. ИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 113
3.12. Универсальность логических элементов И-НЕ и ИЛИ-НЕ Все булевы выражения содержат различные комбинации основных операций ИЛИ, И и НЕ. Исходя из этого любое выражение можно реализовать как с помощью комбинации логических элементов ИЛИ, И и инверторов, так и лишь при помощи одних только элементов И-НЕ, не привлекая другие логические элементы. Это воз- можно потому, что элементы И-НЕ, соответственно подобранные, могут представлять любую булеву операцию — И, ИЛИ и НЕ (рис. 3.29). Рис. 3.29. Реализация булевых функций на основе элемента И-НЕ На рис. 3.29, а изображен двухвходовый логический элемент И-НЕ, входы кото- рого умышленно соединены между собой. Обладая такой структурой, логический элемент И-НЕ работает как инвертор, поэтому выходной сигнал будет х = А А = А . На рис. 3.29, б изображены два элемента И-НЕ, соединенные таким образом, что их совместная работа дает операцию И. Второй элемент И-НЕ используется в качест- ве инвертора для замены АВ на АВ = АВ . Операцию ИЛИ можно реализовать с помощью элементов И-НЕ, соединив их ме- жду собой, как показано на рис. 3.29, в. Элементы И-НЕ № 1 и № 2 служат инверто- рами, обращающими входные сигналы. Исходя из этого, окончательным выражени- ем будет х = А • В , или, после упрощения согласно теоремам де Моргана, х = А + В. Подобным образом (при помощи элемента И-НЕ) реализуется любая булева опера- ция (рис. 3.30). На рис. 3.30, а представлен элемент ИЛИ-НЕ, входы которого соеди йены между собой. Такая структура элемента ИЛИ-НЕ работает как инвертор. Вы- ражением, описывающим выходной сигнал, будет х = А + А = А . На рис. 3.30, б два логических элемента ИЛИ-НЕ соединены так, что реализуется элемент ИЛИ. Второй элемент ИЛИ-НЕ используется как инвертор для замены А + В на А + В = А + В . Операцию И также можно реализовать при помощи элементов ИЛИ-НЕ (рис. 3.30, в). Элементы ИЛИ-НЕ № 1 и 2 используются в роли инверторов, тем самым обращая входные сигналы элемента ИЛИ-НЕ № 3. Окончательное выражение х = А + В согласно теоремам де Моргана можно далее упростить до х = А • В. 114 Глава 3
Рис. 3.30. Реализация любой булевой операции логическим элементом ИЛИ-НЕ Инвертор ИЛИ Любую булеву операцию можно реализовать, используя только логические эле- внты И-НЕ, однако это означает, что и любую логическую схему можно составить ? одних элементов И-НЕ. То же самое можно констатировать по поводу элемента ЛИ-HE. Эта особенность элементов И-НЕ и ИЛИ-НЕ оказывается очень полезной эи моделировании логических схем (рис. 3.31). Рис. 3.31. Примеры интегральных схем Лример 3.18 некотором производственном процессе при достижении специфических режимов ганавливается лента конвейера. Такие режимы отслеживаются и описываются со- зяниями четырех логических сигналов: сигнал А становится высоким тогда, когда ЭТИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 115
лента конвейера движется слишком быстро; сигнал В становится высоким, когда приемник, расположенный в конце ленты, наполняется; сигнал С становится высо- ким, когда натяжение ленты слишком сильно; сигнал D становится высоким в мо- мент, когда выключается ручное управление. Логическая схема нужна для генерации высокого сигнала х всякий раз, когда одновре- менно выполняются или условия А и В, или условия С и D. Очевидно, что логическое выражение для х должно быть х = АВ + CD. Схему следует реализовать минимальным количеством интегральных схем (ИС). Для этого подойдут ИС транзисторно-транзис- торной логики (ТТЛ), показанные на рис. 3.31. Каждая ИС в одном чипе содержит четы- ре одинаковых логических элемента, включенных последовательно-параллельно. Решение Непосредственный метод реализации данного выражения состоит в том, чтобы ис- пользовать два элемента И и один элемент ИЛИ (рис. 3.32, а). Для этого берется два И ИЛИ После сокращения двойной инверсии Рис. 3.32. Варианты реализации логической схемы из примера 3.18 116 Глава 3
»нта ИС 74LS08 и один элемент ИС 74LS32. Числа в круглых скобках над каж- входом и выходом — это номера ножек (контактов) соответствующей ИС. Они а видны на любой коммутационной логической схеме. На большинстве пред- нных в этой книге логических схем номера контактов не будут показаны, если о они не понадобятся для описания работы схемы. ic. 3.32, б показан другой вариант реализации данного выражения, который ос- на замещении каждого элемента И и ИЛИ эквивалентным элементом И-НЕ 3.29). ервый взгляд, новая схема состоит из семи логических элементов И-НЕ. Не- >я на это, элементы И-НЕ № 3 и № 5 последовательно соединены как инверторы можно убрать из схемы, так как они делают двойную инверсию выходного сиг- первого элемента И-НЕ. Подобным образом убираются элементы И-НЕ № 4 и Окончательная схема показана на рис. 3.32, в. t схема эффективнее показанной на рис. 3.32, а, потому что она состоит из трех кодовых элементов И-НЕ, которые можно реализовать на одной ИС 74LS00- рольные вопросы Сколько вам известно различных способов реализации операции инверсии в ло- I глческой схеме? Реализуйте выражение х = (А + В)(С + D), используя элементы ИЛИ и И. Затем сделайте то же самое, но при помощи элементов ИЛИ-НЕ путем преобразова- ния каждого элемента ИЛИ и И в элемент ИЛИ-НЕ, воспользовавшись эквива- лентным представлением (рис. 3.30). Какая схема более эффективна? Запишите выражение для выходного сигнала схемы, изображенной на рис. 3.32, в. Применяя теоремы де Моргана, докажите эквивалентность полу- ченного выражения с аналогичным выражением для схемы, изображенной на рис.3.32, а. 13. Альтернативное представление гических элементов ы уже рассмотрели пять основных логических элементов (И, ИЛИ, инвертора, . ИЛИ-НЕ) и обозначения, которые являются их графическим представлением, оторых логических схемах до сих пор используются лишь эти стандартные обо- няя, однако наряду со стандартными все чаще используются альтернативные (ения логических элементов. ред тем как приступить к обсуждению причин, побуждающих к использованию рнативных обозначений, введем альтернативные обозначения для каждого ло- кого элемента и покажем, что они абсолютно эквивалентны стандартным. На 3.33 слева показаны стандартные, а справа — альтернативные обозначения. рнативные обозначения для каждого элемента получаются следующим образом. нверсией каждого входа и выхода на символе стандартного обозначения обавлением маленьких кружков на входах и выходах или удалением кружков, in они присутствовали там ранее). меной символа, обозначающего операцию И, на символ, обозначающий опера- ю ИЛИ, а также наоборот, символ операции ИЛИ — на символ операции И. случае операции инверсии символ не изменяется.) ЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 117
A •—Ц __ )O — -• A + В = AB B>—СУ У B = A + B И-НЕ ИЛИ-НЕ Рис. 3.33. Стандартные и альтернативные обозначения различных логических элементов К примеру, стандартное обозначение элемента И-НЕ аналогично обозначению ло- гического элемента И, за исключением кружка на выходе. Следуя изложенной выше идее, удалим кружок с выхода и добавим кружки на каждый из входов. Затем заме- ним символ, обозначающий операцию И, на символ, который обозначает операцию ИЛИ. В результате получим символ, обозначающий операцию ИЛИ с кружками на входах. Воспользовавшись теоремами де Моргана, несложно доказать, что подобное альтернативное обозначение эквивалентно обычному. Выражение, описывающее вы- ходной сигнал элемента И-НЕ, — АВ = А + В , что соответствует аналогичному вы- ражению для альтернативного обозначения. Рассуждая таким образом, можно дока- зать эквивалентность каждой пары обозначений (рис. 3.33). Подчеркнем несколько моментов, касающихся эквивалентности логических эле- ментов: 1. Понятие эквивалентности распространяется на логические элементы, содержа- щие любое количество входов. 2. Ни одно из стандартных графических обозначений логических элементов не име- ет кружков на входах, а все альтернативные их имеют. 3. Стандартные и альтернативные обозначения каждого логического элемента реа- лизуют одинаковую физическую схему; нет никакой разницы между схемами. I представленными двумя обозначениями. 4. И-НЕ и ИЛИ-НЕ — логические элементы с операцией инверсии, поэтому их стандартные и альтернативные обозначения будут содержать кружки или на вхо-1 дах, или на выходе. В элементах И и ИЛИ не происходит инверсии, поэтому аль- тернативное обозначение для каждого из них будет содержать кружки и на вхо- дах, и на выходе. 118 ГЛАВА 3
терпретация обозначений логических элементов каждый логический элемент на рис. 3.33 дает возможность однозначно интерпре- зать суть работы схемы. Теперь введем понятие активных логических уровней. Когда входная или выходная линия на изображении логического элемента не со- urn кружков, это означает, что такая линия возбуждается высоким уровнем ыа (active-HIGH). Если же входная или выходная линия содержит кружки, это чает, что такая линия возбуждается низким уровнем сигнала (active-LOW). Та- образом, наличие или отсутствие кружков характеризует работу входов и выхо- :емы, что пригодится для объяснения работы схемы. я рис. 3.34 показано стандартное обозначение логического элемента И-НЕ. На эажении элемента кружки расположены только на выходе, следовательно, для ы характерны возбуждаемый низким уровнем сигнала выход и возбуждаемый ки и уровнем сигнала вход. Логическую операцию, представленную этим элемен- можно интерпретировать следующим образом: выходной сигнал будет низким только в том случае, если все входные сигналы будут высокими. ругими словами, выход будет в активном состоянии, если все входы будут нахо- :я в их активном состоянии. Слово “все” вообще характерно для логических ентов И. А АВ В Возбуждаемый высоким уровнем сигнала Низкий уровень сигнала Выходной сигнал будет низким, только если все входные сигналы будут высокими а) Возбуждаемый сигнала низким уровнем сигнала Рис. 3.34. Интерпретация двух обозначений логического элемента И-НЕ Выходной сигнал будет ьысоким, только если на каком-либо из входов будет низкий сигнал Альтернативному графическому обозначению логического элемента И-НЕ .3.34, б) характерны возбуждаемый высоким уровнем сигнала выход и возбуж- :ые низким уровнем сигнала входы, поэтому толковать схему можно следующим эом. выходной сигнал будет высоким только в том случае, если какой-либо из входных сигналов будет низким. то означает, что выход будет в своем активном состоянии, когда какой-либо из эв будет находиться в своем активном состоянии. Выражение “какой-либо” ха- ерно для логического элемента ИЛИ. Теперь вполне очевидно, что обе интерпретации логического элемента И-НЕ !. 3.34) дают в результате одно и то же. ЯЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 119
Резюме У читателя, возможно, уже возник вопрос: почему необходимо иметь два различ- ных обозначения и интерпретации каждого логического элемента? Ответить на этот вопрос можно будет, ознакомившись со следующим разделом. Теперь подытожим ос- новные понятия, имеющие отношение к графическому представлению логических элементов. 1. Чтобы получить альтернативное обозначение логического элемента, стандартное обозначение логического элемента преобразуется (И на ИЛИ, ИЛИ на И), при этом кружки на входах и выходах также меняются (т.е. существующие кружоч- ки удаляются и добавляются туда, где они отсутствуют). 2. Для работы логического элемента сначала нужно отметить, какое логическое со- стояние (0 или 1) является активным для входов, а какое — для выхода. Затем необходимо выяснить, что активное состояние выхода для логического элемента И определяется наличием у всех входов активного состояния, а для логического элемента ИЛИ — наличием у какого-либо из входов активного состояния. Пример 3.19 Объясните работу двух вариантов представления логического элемента ИЛИ. Решение Результат показан на рис. 3.35. Отметим, что выражение “какой-либо” характерно для логического элемента ИЛИ, а выражение “все” — для логического элемента И. А+ В Возбуждаемый высоким уровнем сигнала Высокий уровень сигнала Выходной сигнал будег высоким, только если все входные сигналы будут высокими * А »В = А + В Выходной сигнал будет ybprbv, только если на каком-либо из входов будеп низкий сигнал Возбуждаемый низким уровнем сигнала Низкий уровень сигнала Рис. 3.35. Интерпретация двух вариантов обозначений элемента ИЛИ -гл Контрольные вопросы 1. Объясните работу логического элемента ИЛИ-НЕ в его стандартном представ- лении (рис. 3.33). 2. Повторите п. 1 а) для альтернативного обозначения логического элемента ИЛИ- НЕ; б) для альтернативного обозначения логического элемента И; в) для стан- дартного обозначения логического элемента И. 120 Глава 3
.14. Использование различных редставлений логических элементов Принципиальные схемы в некоторых руководствах содержат только стандартное едставление логических элементов. Несмотря на то, что такой подход корректен, никак не упрощает понимания работы схемы. Аккуратное применение в принци- альной схеме альтернативных обозначений логических элементов сделает яснее руктуру всей схемы. Это можно проиллюстрировать на примере, показанном на с. 3.36. Рис. 3.36. а) Исходная схема со стандартными обозначениями логического элемен- та И-НЕ; б) эквивалентное представление схемы, когда выход Z возбуждается вы- соким уровнем сигнала; в) эквивалентное представление схемы, в котором выход Z возбуждается низким уровнем сигнала; г) таблица истинности А В С D Z 0 0 0 0 0 0 0 1 0 0 10 0 0 11 0 1 0 0 0 10 1 0 110 0 111 10 0 0 10 0 1 10 10 10 11 110 0 1-1 0 1 1110 1111 I I I 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 г) Схема на рис. 3.36, а состоит из трех соединенных между собой логических эле- ггов И-НЕ. Выходной сигнал Z зависит от входных сигналов А, В, С и В. На Внципиальной схеме используются стандартные обозначения логических элемен- » И-НЕ. Хотя эта схема логически корректна, она не упрощает понимания ее ЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 121
функционирования. Приведенные на рис. 3.36, бив схемы значительно легче анали- зировать. Схема, показанная на рис. 3.36, б, получена из первоначальной схемы путем за- мены символа логического элемента И-НЕ № 3 его альтернативным вариантом. На этой схеме выходной сигнал Z поступает из логического элемента И-НЕ, выход кото- рого возбуждается высоким уровнем сигнала. Поэтому можно утверждать, что вы- ходной сигнал Z будет высоким, когда либо X, либо У будут низкими. Сигналы X и У — низкие выходные сигналы элементов И-НЕ. Из этого следует, что только при А = В = 1 на выходе X сигнал будет низким. На выходе У сигнал будет низким лишь при С = D = 1. Объединив эти утверждения, можно описать работу схемы следующим образом. На выходе Z сигнал будет высоким, если A=B=1,C = D = 1 или одновременно все сигналы равны 1. Это утверждение можно сформулировать в виде таблицы истинности, установив Z = 1 во всех строках таблицы, для которых выполняется условие А = В = 1 и/или С = D = 1. В остальных случаях Z = 0. Такая таблица истинности показана на рис. 3.36, г. Схема на рис. 3.36, в получена из первоначальной схемы путем замены обозначе- ний логических элементов И-НЕ № 1 и № 2 альтернативными элементами. На этой схеме выходной сигнал Z получается из элемента И-НЕ, выход которого возбуждает- ся низким уровнем сигнала. Поэтому можно утверждать, что выходной сигнал Z бу- дет низким только в том случае, если X = У = 1. Сигналы X и У являются высокими. Из этого следует, что на выходе X сигнал будет высоким, только когда сигналы А или В будут низкими. На выходе У сигнал будет высокий только при низких сигна- лах С или D. Объединив эти утверждения, опишем работу схемы: на выходе Z сигнал будет низким, только если сигналы А или ВиС или D низкие. Это выражение можно свести в таблицу истинности, установив Z = 0 во всех стро- ках таблицы, для которых выполняется указанное условие (т.е. Z = 0 для строк, где хотя бы один из сигналов, А или В, одновременно с одним из сигналов, С или D, яв- ляются низкими; в остальных случаях Z = 1). Результирующая таблица истинности аналогична таблице, изображенной на рис. 3.36, б. Какой же вариант схемы более предпочтителен? Ответ на этот вопрос зависит от функции, которую выполняет сигнал, генерируе- мый схемой. Если схема осуществляет некоторое действие (например, включает све- тодиод или активизирует другую логическую схему), когда выходной сигнал Z пере- ходит в состояние логической 1, то говорят, что выход Z возбуждается высоким уровнем сигнала; в этом случае следует воспользоваться принципиальной схемой, изображенной на рис. 3.36, б. С другой стороны, если схема предназначена для вы- полнения какого-то действия, когда выходной сигнал переходит в состояние логиче- ского 0, то выход Z возбуждается низким уровнем сигнала. В таком случае удобнее воспользоваться принципиальной схемой, изображенной на рис. 3.36, в. Конечно же, встречаются ситуации, когда оба состояния выходного сигнала (0 или 1) могут использоваться для выполнения различных действий, и любой из них может рассматриваться как активное состояние. В таких случаях можно вос- пользоваться любым представлением. Размещение кружков, обозначающих инверсию Вернемся к рассмотренной ранее принципиальной схеме, изображенной на рис. 3.36, б. Отметим, что входы логических элементов И-НЕ № 1 и № 2 возбужда- 122 Глава 3
rrm юте я низким уровнем сигнала, чтобы иметь возможность возбуждать сигналом низ- 'о уровня вход логического элемента И-НЕ № 3. Если вернуться к схеме, изобра- нной на рис. 3.36, в, то можно увидеть, что выходы логических элементов И-НЕ 1 и № 2 возбуждаются высоким уровнем сигнала. Это необходимо для согласова- я со входами логического элемента И-НЕ № 3. Анализ схем позволяет сформули- »ать общее правило для подготовки логических схем: если есть возможность, символы, обозначающие логические элементы, следует выбирать таким образом, чтобы выходы с кружками соединялись со входами, также имеющими кружки; выходы без кружков должны соединяться со входами, не содержащими кружков. Следующие примеры поясняют роль этого правила. ример 3.20 гическая схема, изображенная на рис. 3.37, а, вызывает сигнал тревоги, когда ходной сигнал Z становится высоким. Измените схему таким образом, чтобы ее 5ота была как можно более эффективной. 3.37. Пример 3.20 хение как сигнал тревоги срабатывает при Z = 1, выход Z возбуждается высоким уров- сигнала. Поэтому символ логического элемента И № 2 не нужно менять. Символ ггческого элемента ИЛИ-НЕ следует заменить альтернативным символом, у кото- > выход не содержит кружка, чтобы согласовать с входом элемента И № 2, кото- k тоже не имеет кружков (рис. 3.37, б). Теперь в схеме нет входов без кружков, [иненных с выходами без кружков. ример 3.21 ВЬгда выходной сигнал схемы, изображенной на рис. 3.38, а, становится низким, Ьтивируется другая логическая схема. Измените схему таким образом, чтобы ее ра- нга была максимально эффективной. тмпение Кк как выход Z возбуждается низким уровнем сигнала, символ логического элемен- Ь ИЛИ № 2 следует заменить альтернативным (рис. 3.38, б). Новый символ логиче- ного элемента ИЛИ № 2 содержит кружки на входах, поэтому выходы логических Квментов И и ИЛИ № 1 также должны содержать кружки (рис. 3.38, б). У инверто- кружок уже имеется. Теперь в схеме все входы с кружками соединены с выхода- также имеющими кружки. ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 123
Рис. 3.38. Пример 3.21 Анализ схем Когда принципиальная схема составляется согласно правил, приведенных в этих примерах, инженеру или студенту намного проще проследить ход сигнала через схе- му и определить входные условия, необходимые для возбуждения требуемого выхо- да. Это показано в следующих примерах, где используются логические схемы, взя- тые из описания реального микрокомпьютера. Пример 3.22 Логическая схема, изображенная на рис. 3.39, генерирует выходной сигнал МЕМ, который активизирует микросхемы памяти в определенном микрокомпьютере. Опре- делите входные условия, необходимые для возбуждения МЕМ. МЕМ Решение Один из методов решения поставленной задачи состоит в написании выражения для выходного сигнала МЕМ с использованием входных сигналов RD, ROM-А, ROM-В и RAM. Затем нужно просчитать это выражение для 16 возможных комбинаций вход- ных сигналов. Решение таким методом займет немного больше времени, чем необхо- димо для такой простой задачи. Более рациональный метод заключается в анализе схемы с использованием идей, рассмотренных в двух предыдущих разделах: 1. Выход МЕМ, возбуждаемый сигналом высокого уровня, перейдет на низкий уро- вень, только если X и Y высокие. 124 Глава 3
2. X станет высоким, только если RD = 0. 3. У станет высоким, когда или W или V высокие. 4, V станет высоким, когда RAM = 0. 5. W станет высоким, когда или ROM-А = 0 или ROM-В = 0. 6. Объединив все утверждения, придем к выводу, что МЕМ будет низким только в том случае, когда RD = 0 и хотя бы один из трех входов ROM A, ROM-В vljivl RAM характеризуется низким состоянием сигнала. Пример 3.23. ^Логическая схема, изображенная на рис. 3.40, применяется для управления приво- дом накопителя на гибких магнитных дисках в режиме передачи информации или получения информации от диска. Схема приведет в действие привод, когда сигнал \DRIVE = 1. Определите входные состояния, необходимые для активизации привода. DRIVE Решение Еще раз проанализируем схему шаг за шагом: 1. DRIVE — выход, возбуждаемый высоким уровнем сигнала; он станет высоким, только если X = У = 0. 2. X станет низким, когда или IN, или OUT— высокие. р. У станет низким, только если W = 0 и А$ = 0. 4. W станет низким, только если сигналы с Ах по А7 высокие. 5. Объединив все утверждения, придем к выводу: выходной сигнал DRIVE будет высоким, когда А: = А2 = А3 = А4 = А5 = А^ = А7 = 1 и Aq = 0 и когда IN = 1 и/или OUT = 1. Отметим незнакомый символ для восьмивходового КМОП-элемента И-НЕ (74НС30); акже обратим внимание на то, что сигнал А7 соединен с двумя входами И-НЕ. ЭТИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 125
Объявленные уровни Ранее логические сигналы уже были описаны как низкие и высокие. Для приме- ра, выходной сигнал МЕМ схемы, изображенной на рис. 3.39, — низкий, а выход- ной сигнал DRIVE схемы, представленной на рис. 3.40, — высокий. Qkhvlia словом, это состояния выходных сигналов, которые определяют какое-то действие. Анало- гично, рис. 3.40 содержит возбуждаемые высоким уровнем сигналов входы с Ах по А7 и возбуждаемый низким уровнем сигнала вход Aq. Когда логический сигнал находится в своем активном состоянии, можно сказать, что он объявлен. К примеру, если вход А^ считается объявленным, то вход находится в своем низком состоянии. Когда логический сигнал не находится в своем активном состоянии, он не объявлен. Поэтому когда говорят, что сигнал DRIVE неутвержден- ный, имеется в виду, что он находится в своем пассивном состоянии (низком). Несомненно, термины объявленный и необъявленный являются соответственно синонимами для терминов активный и пассивный: объявленный = активный; необъявленный = пассивный. В цифровой схемотехнике встречаются оба сочетания терминов, поэтому читатель не должен теряться, встретив эти описания действующего состояния логических сигналов. Маркировка низких логических сигналов Для маркировки низких сигналов обычно применяется черта, которая является характеристическим символом для низкого сигнала; соответственно, отсутствие чер- ты указывает на наличие высокого сигнала. К примеру, все сигналы схемы, изображенной на рис. 3.39, низкие, и поэтому их маркировка выглядит следующим образом: RD, ROM - А, ROM - В, RAM, MEM . Запомните, изображение черты просто акцентирует внимание на том, что эти сиг- налы низкие. В соответствующих случаях мы еще воспользуемся этим условным правилом маркировки логических сигналов. 126 Глава 3
Маркировка сигналов, обладающих двумя активными состояниями Очень часто выходной сигнал обладает двумя активными состояниями, когда г ществляется одно действие при высоком состоянии, а другое — при низком. большинстве случаев такие сигналы маркируют произвольным образом. Например, Шгяал считывания/записи ( RD / WR) можно интерпретировать следующим образом: сгда сигнал RD/WR высокий, выполняется операция считывания; если сигнал кзкий, совершается запись. * Контрольные вопросы П. Применяя пошаговый метод (примеры 3.22 и 3.23), определите входные со- стояния, необходимые для активизации выхода схемы, изображенной на рис. 3.37, в. 12 Выполните п.1 для схемы, изображенной на рис. 3.38, в. 3. Сколько логических элементов И-НЕ изображено на рис. 3.39? ft. Сколько логических элементов ИЛИ-НЕ изображено на рис. 3.40? 1ft. Каков будет выходной уровень схемы на рис. 3.38, в, если все входные сигна- лы — объявленные? |б. Какими входными состояниями должна обладать схема, изображенная на рис. 3.37, в, чтобы вызвать выходной сигнал тревоги? п. Какие из приведенных сигналов низкие: RD , W или R / W ? 1.15. Стандарт представления югических элементов IEEE/ANSI Символы логических элементов, которые использовались до настоящего времени в ой главе, являются традиционными обозначениями. На протяжении долгих лет га применялись в промышленности. Эти символы изображались в характерной для гасдого логического элемента форме. Современный стандарт логических символов разработан в 1984 году; он носит название Стандарт 91 1984 IEEE/ANSI для этических символов. В этом стандарте для представления всех логических элемен- з и схем используются прямоугольные символы. Специальный условный индекс \ерации внутри прямоугольника указывает на зависимость выходов устройства от о входов. На рис. 3.41 рядом с традиционными символами основных логических эле- митов изображены символы стандарта IEEE/ANSI. Отметим следующие моменты. — * А * Прямоугольный симзол содержит небольшой прямоугольный треугольник вместо маленького кружочка, обозначающего инверсию логического уровня в традици- онном символе. Наличие или отсутствие треугольника также означает высокое или низкое состояния на входах или на выходе. Специальный индекс внутри каждого прямоугольника описывает логические свя- зи между входами и выходом. Индекс “1” внутри символа инвертора символизи- рует устройство только с одним входом; треугольник на выходе указывает на то, что выход перейдет в свое низкое состояние, когда единственный вход возбужда- ется своим высоким состоянием. Индекс внутри символа И означает, что вы- ход установится в свое высокое состояние, когда все входы будут возбуждены вы- ЮГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 127
соками состояниями. Индекс “>” внутри логического элемента ИЛИ символизи- рует то, что выход установится в активное состояние (высокое), когда один или несколько входов будут находиться в активном состоянии (высоком^. 3. Прямоугольные символы для логических элементов И-НЕ и ИЛИ НЕ точно такие же, как и для И и ИЛИ (с добавлением на выходе маленьких треугольников, обо- значающих инверсию). Рис. 3.41. Обозначения логических элементов: а) традицион- ные; б) IEEE/ANSI Традиционные обозначения или обозначения IEEE/ANSI? Стандарт IEEE/ANSI пока недостаточно широко применяется в области цифровой техники, хотя иногда в некоторых современных схемах его можно случайно обнару- жить. Большинство учебных пособий цифровых ИС содержат оба типа логических символов, и, возможно, это будет способствовать популяризации обозначений IEEE/ANSI. Несмотря на то, что в большинстве чертежей схем данного учебника в основном используются традиционные обозначения, рассмотрение каждого нового логического устройства будет сопровождаться его аналогом стандарта IEEE/ANSI. Таким образом, читателю предоставляется возможность ознакомиться с этим новым стандартом. 128 Глава 3
1- Изобразите все основные логические элементы, используя традиционные сим- волы и символы IEEE/ANSL 2. Изобразите символ IEEE/ANSI для логического элемента ИЛИ-НЕ с выходом, возбуждаемым высоким уровнем сигнала. >зюме Булева алгебра — это математический инструмент анализа и моделирования цифровых схем. Операции И, ИЛИ, НЕ — простейшие булевы операции. Логический элемент ИЛИ выдает высокий выходной сигнал, когда любой из вхо- дов логического элемента высокий. Логический элемент И порождает высокий выходной сигнал, когда все входные сигналы логического элемента высокие. Вы- ходной сигнал элемента НЕ (инвертора) всегда противоположен входному сигналу. Логический элемент ИЛИ-НЕ — это элемент ИЛИ, выходной сигнал которого по- дан на инвертор. Логический элемент И-НЕ — это элемент И, выходной сигнал которого также подан на инвертор. Для упрощения логических схем следует применять булевы теоремы и правила, что существенно облегчает реализацию схемы. Любую булеву операцию можно реализовать, используя только элементы И-НЕ или только элементы ИЛИ-НЕ. Независимо от наличия низкого или высокого выходного сигнала каждый логиче- ский элемент можно изображать и стандартным, и альтернативным способом. Б стандарте IEEE/ANSI для изображения логических элементов используются прямоугольные символы с внутренним индексом, который представляет зависи- мость выходных сигналов от входных. новные термины* м алгебра * ия НЕ ррнативные логические символы «еский уровень рсное дополнение вные логические уровни ша истинности ент НЕ (инвертор) кий ыхия И еят ИЛИ-НЕ низкий элемент И элемент И-НЕ объявленный операция ИЛИ булевы теоремы необъявленный элемент ИЛИ теоремы де Моргана обозначения стандарта IEEE/ANSI ^ажнения ел 3.3 (В) Эти термины выделены жирным шрифтом и приведены в словаре основных терминов в г книги. ЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 129
3.1. Изобразите выходную диаграмму для логического элемента ИЛИ, который показан на рис. 3.42. Рис. 3.42. 3.2. Предположим, что вход А на рис. 3.42 неумышленно накоротко замкнут с землей (т.е. А = 0). Изобразите результирующую диаграмму выходных сиг- налов. 3.3. Предположим, что на вход А (рис. 3.42) подано напряжение 5 В (т.е. А = 1). Изобразите результирующую диаграмму выходных сигналов. 3.4. Прочитайте следующие утверждения, относящиеся к логическому элементу ИЛИ. Сначала они могут показаться справедливыми, но после некоторых размышлений вы должны уяснить, что то или иное не всегда истинно. До- кажите это, опровергнув каждое утверждение своим примером. а) Если выходная форма сигнала вентиля ИЛИ аналогична форме одного из входов, то на диаграмме второй входной сигнал будет постоянно под- держиваться на низком уровне. б) Если выходная диаграмма логического элемента ИЛИ всегда характери- зуется высоким уровнем, то один из входных сигналов постоянно под- держивается на высоком уровне. 3.5. Сколько существует комбинаций входных состояний, которые приведут к высокому уровню выходного сигнала у пятивходового логического элемен- та ИЛИ? Раздел 3.4 (В) 3.6. Замените логический элемент ИЛИ, изображенный на рис. 3.42, элемен- том И. а) Изобразите диаграмму выходного сигнала. б) Изобразите диаграмму выходного сигнала, если вход А постоянно нако- ротко замкнут на землю. в) Изобразите диаграмму выходного сигнала, если на вход А постоянно по- дается напряжение 5 В. (D) 3.7. Ссылаясь на рис. 3.4, видоизмените схему таким образом, чтобы сигнал тревоги активизировался только тогда, когда давление и температура одно- временно превышали бы свои допустимые значения. (В) 3.8. Замените логический элемент ИЛИ на рис. 3.6 элементом И; изобразите диаграмму выходного сигнала. 3.9. Пусть имеется неизвестный двухвходовый логический элемент, который может быть как элементом ИЛИ, так и элементом И. Какую комбинацию 130 Глава 3
входных сигналов следует приложить ко входам логических элементов, что- бы определить тип представленного* элемента? 3.10. Проверьте истинность высказывания. Сколько бы входов не содержал ло- гический элемент И, он будет производить высокий сигнал только при един- ственной комбинации уровней входных сигналов. 3.5—3.7 (В) 3.11. Пусть на вход инвертора поступает сигнал А, показанный на рис. 3.23. Изо- бразите форму выходного сигнала. Проделайте то же с сигналом В. (В) 3.12. а) Напишите булево выражение для выхода х (рис. 3.43, а). Рассчитайте значения х для всех возможных входных состояний. Внесите значения в таблицу истинности. б) Повторите п. а для схемы, изображенной на рис. 3.43, б. Рис. 3.43 3.13. Рассчитайте полную таблицу истинности для схемы, изображенной на рис. 3.15, б, путем определения логических уровней на каждом выходе для всех 32 возможных комбинаций выходных сигналов. ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 131
3.14. В схеме, представленной на рис. 3.15, б, замените каждый логический эле- мент ИЛИ на И, а элемент И на ИЛИ. Запишите выходное соотношение для полученной схемы. 3.15. Рассчитайте полную таблицу истинности для схемы, изображенной на рис. 3.16, путем определения логических уровней на каждом выходе (для всех 16 возможных комбинаций выходных сигналов). Раздел 3.8 (В) 3.16. При помощи элементов И, ИЛИ и НЕ составьте соответствующую логиче- скую схему для каждого из выражений: а) х = АВ(С + D); б) z = (A + B + CDE) + BCD; в) у = (КГ+N + PQ); г) x = W + PQ; д) z = MN(P + N); е) х = (А +В)(А +В). Раздел 3.9 (В) 3.17. а) Подайте на вход элемента ИЛИ сигнал, форма которого показана на рис. 3.44. Изобразите диаграмму выходного сигнала. б) Проделайте п. а, но при постоянно низком сигнале С. в) Проделайте п. а, но теперь при постоянно высоком сигнале С. Рис. 3.44 (В) 3.18. Решите упражнение 3.17 для логического элемента И-НЕ. (С) 3.19. Напишите соотношение для выходного сигнала схемы, изображенной на рис. 3.45, и воспользуйтесь им для составления таблицы истинности. Затем подайте на входы сигналы, формы которых показаны на рис. 3.44, и изо- бразите выходную диаграмму для всей схемы. 132 Глава 3
3.20. Рассчитайте таблицу истинности для схемы, изображенной на рис. 3.24. 3.21. Видоизмените схемы, составленные в и. 3.16 так, чтобы они состояли из элементов ИЛИ-НЕ, а также элементов И-НЕ. Раздел 3.10 Практическое задание (В) 3.22. Закончите каждое из выражений: а) А + 1 = б) А • А = в) В • В = г) С+С = Д) х • 0 = е) D • 1 = ж) D + 0 = з) С + С =________ и) G + GF = к) у + wy = 3.23. Докажите теоремы № 15, о и № 15, б методом проверки для всех возмож- ных комбинаций. (С) 3.24. а) Упростите следующее соотношение, воспользовавшись теоремами № 13, в, № 3 и 4: х = (М + N)(M + P)(N + Р). б) Упростите следующее соотношение, воспользовавшись теоремами № 13, а, № 8 и 6: 2 = АВС + АВС + BCD. Разделы 3.11 и 3.12 3.25. Докажите теоремы де Моргана путем проверки для всех возможных комби- наций. Логические элементы и булева алгебра 133
(В) 3.26. Упростите каждое из соотношений, применяя теоремы де Моргана: а) АВС; б) А + ВС; в) АВСВ; г) А + В ; Д) АВ; е) А + С + D ; ж) А(В + С)Р; з) (M + N)(M + N); и) ABCD. 3.27. Применяя теоремы де Моргана, упростите выходное соотношение схемы, изображенной на рис. 3.45. (С) 3.28. Преобразуйте схему, изображенную на рис. 3.43, б, таким образом, чтобы она состояла только из элементов И-НЕ. Затем напишите выходное соотно- шение для новой схемы, упростите его, используя теоремы де Моргана, и сравните полученный результат с соотношением для первоначальной схемы. 3.29. Преобразуйте схему, изображенную на рис. 3.43, а, таким образом, чтобы она состояла только из элементов ИЛИ-НЕ. Затем напишите выходное соот- ношение для новой схемы, упростите его, используя теоремы де Моргана, и сравните полученный результат с соотношением для первоначальной схемы. (В) 3.30. Покажите, каким образом можно из двухвходового элемента ИЛИ-НЕ скон- струировать двухвходовый логический элемент И-НЕ. (В) 3.31. Покажите, каким образом можно из двухвходового элемента И-НЕ сконст- руировать двухвходовый логический элемент ИЛИ-НЕ. 3.32. В воздушной авиации применяются системы для мониторинга давления (Р), количества оборотов в минуту (RPM) и температурных (Т) значений двига- телей. Для этого используют сенсоры, которые функционируют следующим образом: Выход сенсора RPM = 0, только когда скорость < 4800 об/мин. Выход сенсора Р = 0, только когда давление < 220 фунт/дюйм2. Выход сенсора Т = 0, только когда температура < 200° F. На рис. 3.46 изображена логическая схема, которая представляет высоко- точный сигнальный индикатор (СИ) состояния двигателей. Предположим, индикатор включается, когда на выходе схемы устанавливается высокий уровень напряжения. а) Определите, какие состояния двигателей приведут к включению СИ и системы оповещения пилота. б) Преобразуйте схему таким образом, чтобы она состояла только из эле- ментов И-НЕ. 134 Глава 3
Рис. 3.46 еделы 3.13 и 3.14 (В) 3.33. Изобразите стандартные и альтернативные графические символы для всех основных логических элементов. 3.34. Для всех следующих положений изобразите соответствующий логический символ элемента — стандартный или альтернативный. а) Высокий выходной сигнал устанавливается, только когда все три вход- ных сигнала низкие. б) Низкий выходной сигнал устанавливается, только когда любой из четы- рех входных сигналов низкий. в) Низкий выходной сигнал устанавливается, только когда все восемь входных сигналов высокие. 3.35. Схема, изображенная на рис. 3.45, представляет несложный цифровой ком- бинационный замок. На выходе схемы будет низкий сигнал UNLOCK при единственной комбинации входных состояний. а) Видоизмените чертеж так, чтобы нагляднее представить действие схемы. б) Для новой схемы определите ту единственную комбинацию входных со- стояний, которая приведет к появлению сигнала UNLOCK. Выполните свой анализ схемы, применяя пошаговый метод, который рассматривал- ся в примерах 3.22 и 3.23. Сравните полученные результаты с таблицей истинности, составленной для упражнения 3.19. 3.36. а) Определите входные состояния, необходимые для активизации выхода Z схемы, изображенной на рис. 3.37, б. Выполните свой анализ схемы, применяя пошаговый метод, который рассматривался в примерах 3.22 и 3.23. б) Предположим, активизирование сигнала тревоги происходит при низком состоянии выходного сигнала Z. Измените схему согласно новому усло- вию, а затем используйте исправленный чертеж для анализа входных состояний, необходимых для возбуждения сигнала тревоги. (D) 3.37. Видоизмените схему, изображенную на рис. 3.40 так, чтобы вместо Ay = 1 для установки DRIVE = 1 требовалось Ах = 0. 3.38. Определите входные состояния, необходимые для возбуждения выхода схе- мы (рис. 3.47). 3.39. Используя результаты упражнения 3.38, составьте полную таблицу истин- ности схемы, изображенной на рис. 3.47. ТЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 135
(В) 3.39. Определите а) объявленное состояние для выхода схемы, изображенной на рис. 3.47; б) для выхода схемы, изображенной на рис. 3.36, в. 3.40. На рис. 3.48 представлена схема, реализованная из логических элементов, которые имитируют двухвходовый выключатель, подобный тому, что при- меняется в домашних условиях. Здесь используется светодиод, который включается (открывается), когда выходной сигнал элемента ИЛИ-НЕ будет низким. Поскольку выход обозначен как LIGHT , это указывает на то, что он возбуждается низким уровнем сигнала. Определите входные состояния, необходимые для включения светодиода. Проверьте, как действует двухвхо- довый выключатель при различных положениях переключателей А и В. Способ моделирования подобных схем для получения заданной зависимости между входами и выходом рассматривается в главе 4. ИЛИ A F"1" х = А+~В 0 0 О 0 1 1 10 1 11 1 Логический элемент ИЛИ б) а) Рис. 3.48. Раздел 3.15 3.42. Перечертите схемы, изображенные на рис. 3.47, а и на рис. 3.48, б, исполь- зовав обозначения стандарта IEEE/ANSI. Прикладная задача (С) 3.43. Обратимся к примеру, представленному на рис. 3.40. Входы с А7 по Ао — это адресные входы, которые подсоединены к схеме от выходов микропро- цессорного чипа, помещенного в микрокомпьютере. Восьмибитовый адрес- ный код А7 — Ао содержит информацию о том, каким образом схема будет задействована микропроцессором. В примере 3.23 необходимый для активи- зации привода адресный код А? — Aq был равен 111111102 = FE16. 136 Глава 3
Видоизмените схему так, чтобы для активизации привода микропроцессор подавал код 4А16. Задачи повышенной сложности (С) 3.44. Проиллюстрируйте, как можно реализовать (графически представить) соот- ношение х = АВС , воспользовавшись одним двухвходовым элементом ИЛИ- НЕ и одним двухвходовым элементом И-НЕ. (С) 3.45. Реализуйте выражение у = ABCD, воспользовавшись одним двухвходовым элементом И-НЕ. Ответы к контрольным вопросам Раздел 3.2 1. X = 1. 2. х = 0. 3. 32. Раздел 3.3 1. Все входные сигналы низкие. 2. x = A + B + C + D + E + F. 3. Постоянно высокий уровень сигнала. Раздел 3.4 1. Все пять входных сигналов = 1. 2. Низкий входной сигнал приведет к низкому выходному сигналу. 3. Ложь; см. таблицу истинности для каждого элемента. Раздел 3.5 1. Выход второго инвертора будет таким же, как входА. 2. у будет низким, только когда А = В = 1. Раздел 3.6 1. x = A + B + C + AD. 2. х = D(AB + C) + Е . Раздел 3.7 1. 2. 3. X ~ 1. X - 1. X = 1 для обоих. Раздел 3.8 1. См. рис. 3.15, а. 2. См. рис. 3.15, б. 3 См. рис. 3.17, б. ГИЧЕСКИЕ ЭЛЕМЕНТЫ И БУЛЕВА АЛГЕБРА 137
Раздел з.У 1. Все входные сигналы низкие. 2. х = 0. 3. х = А + В + CD. Раздел 3.10 1. у = АС . 2. y = ABD. 3. у = AD + BD . Раздел 3.11 1. z = AB + C. 2. y = (R + S + f)Q. 3. Такая же, как на рис. 3.28, только элемент И-НЕ замещен элементом ИЛИ-НЕ. 4. у = АВ(С + D). Раздел 3.12 1. Три. 2. Схема ИЛИ-НЕ более оптимальна потому, что может быть реализована одной ИС 74LS02. 3. х = (AB)(CD) = (АВ) + (CD) = АВ + CD . Раздел 3.13 1. Низкое состояние выходного сигнала будет, когда любой входной сигнал высокий. 2. Высокое состояние выходного сигнала будет, когда все входные сигналы низкие. 3. Низкое состояние выходного сигнала будет, когда любой входной сигнал низкий. 4. Высокое состояние выходного сигнала будет, когда все входные сигналы высокие. Раздел 3.14 1. Z станет высоким, когда А = В = 0иС = В=1. 2. Z станет низким, когда А = В = 0, Е - 1, а также С или D, или оба одновременно равны 0. 3. Два. 4. Два. 5. Низкий. 6. A = B = 0, C = D = 1. 7. W. Раздел 3.15 1. См. рис. 3.41. 2. Прямоугольник, внутри которого имеется индекс &, и треугольники на входах. 138 Глава 3
Глава 4 Комбинационные логические схемы Содержание Дизъюнктивная форма выражения Упрощение логических схем Алгебраическое упрощение Проектирование комбинационных логических схем Метод карт Карно Исключающее ИЛИ и исключающее ИЛИ-НЕ Генератор и проверочное устройство сигнала четности Разрешающие/запрещающие схемы Основные характеристики цифровых ИС 0. Поиск неполадок в цифровых системах 11. Внутренние неполадки в цифровых ИС 2. Внешние неполадки 3. Изучение неисправностей 4. Программируемые логические устройства
В этой главе: преобразование логических выражений в сумму произведений (дизъюнк- тивную форму); описание операций по упрощению дизъюнктивного выражения до макси- мально простого вида; использование булевой алгебры и карт Карно для упрощения и проекти- рования логических схем; работа схем исключающее ИЛИ, а также исключающее ИЛИ-НЕ; проектирование простых логических схемы с помощью таблиц истинности; реализация схем, разрешающих прохождение сигнала; формулировка основных характеристик цифровых ИС на ТТЛ и КМОП; основные правила устранения неполадок в цифровых системах; описание фундаментальных принципов программируемых логических устройств (ПЛУ); описание порядка работы при программировании ПЛУ на осуществление простых комбинационных логических функций; знакомство с учебником по CUPL, чтобы получать необходимую инфор- мацию для проведения в лаборатории простого эксперимента по програм- мированию. Введение В главе 3 рассматривалось функционирование всех основных логических элемен- тов, а также использование булевой алгебры для описания и анализа схем, состав- ленных из комбинации логических элементов. Эти схемы могут быть классифициро- ваны как комбинационные логические схемы, потому что в любой момент времени логический уровень на их выходе зависит от комбинации логических уровней на входах. Комбинационная схема не имеет памяти, поэтому ее выходной сигнал зави- сит только от текущих значений логических уровней на входах. В этой главе мы продолжим изучение комбинационных схем. Сначала рассмотрим работу по упрощению логических схем при помощи двух методов: применения тео- рем булевой алгебры и составления карт. Затем освоим простые методы проектиро- вания комбинационных логических схем, удовлетворяющих заданным требованиям. Авторы этой книги не ставили своей целью всеохватывающее изучение методики проектирования логических схем, однако знакомство с этой областью послужит хо- рошим введением в логическое проектирование. Большая часть главы посвящена поискам неполадок в комбинационных схемах. Краткое ознакомление с поиском различных неисправностей поможет читателю раз- вить аналитические навыки, необходимые для успешного поиска, а также исправления неполадок. Чтобы сделать этот материал максимально практичным, сначала расскажем о некоторых основных характеристиках логических ИС на ТТЛ- и КМОП-логике и ко- ротко опишем наиболее часто встречающиеся в цифровых ИС неисправности. В заключительной части этой главы читатель ознакомится с основными принци- пами работы программируемых логических устройств — ИС, внутренняя структура которых может изменяться пользователем для осуществления различных логических операций. Несмотря на то, что этот материал не является обязательным для изуче- ния, он предоставляет достаточно информации, чтобы в лаборатории, оснащенной со- ответствующим оборудованием и программным обеспечением, выполнить простей- ший эксперимент по программированию схем. 140 Глава 4
4.1. Дизъюнктивная орма выражения Методы упрощения и проектирования логических схем требуют, чтобы логиче- ское выражение было записано в виде суммы произведений (ее еще называют дизъ- юнктивной формой). Ниже приведены некоторые примеры такой формы записи: 1. АВС + АВС; 2. АВ + ABC + CD + D; 3. AB + CD + EF + GK + HL. Каждое из этих выражений, записанных в виде сумм произведений, состоит из двух и более произведений (минтермов), сложенных вместе с помощью оператора ИЛИ. Каждый такой член состоит из одной или нескольких переменных, записан- ных по отдельности в инверсной или прямой форме. Например, в выражении АВС + АВС первое произведение содержит переменные А, В и С в прямых (не ин- версных) формах. Второй член выражения содержит дополнения к А и С. Заметьте, что в выражении, записанном в виде суммы произведений (в дизъюнктивной форме), один знак инверсии не может стоять над двумя и более переменными в члене (т.е. нельзя записать АВС или RST). Конъюнктивная форма При проектировании логических схем иногда используют еще одну основную форму логических выражений. Она называется произведением сумм (конъюнктивной формой) и состоит из двух или более сумм, которые перемножены друг с другом с помощью оператора И. Каждая сумма содержит одну или несколько переменных в прямой или инверсной форме. Рассмотрим несколько выражений, записанных в виде произведения сумм: 1. (А + В + С)(А + С); 2. (А + В)(С + D)F ; 3. (А + СКВ + 5)(В + С)(А + D + В). При проектировании и упрощении схем выражение обычно приводится к дизъ- юнктивной форме — сумме произведений (Sum-Of-Products — SOP), поэтому в этой книге читатель вряд ли столкнется с конъюнктивной формой записи — произведени- ем сумм (products-of-sum — POS), которая, однако, время от времени встречается в отдельных структурах. Контрольные вопросы 1. Какие из следующих выражений записаны в дизъюнктивной форме? а) АВ + CD + Е ; б) АВ(С + В); в) (А + В)(С + D + В); г) MN + PQ. I 2. Какие из приведенных выше выражений записаны в конъюнктивной форме? Комбинационные логические схемы 141
4.2. Упрощение логических схем Как только получено выражение для логической схемы, можно попытаться уменьшить его до более простой формы, содержащей меньше членов или перемен- ных. Новое выражение используют для получения схемы, эквивалентной заданной, но содержащей меньше элементов и соединений. Чтобы продемонстрировать такой подход, рассмотрим рис. 4.1, а. Показанную схему можно упростить до схемы на рис. 4.1, б. Обе схемы представляют одну и ту же логику, поэтому очевидно, что более простая схема предпочтительнее, так как она содержит меньшее количество элементов и, следовательно, будет компактнее и де- шевле исходной схемы. Более того, надежность схемы увеличится, потому что в ней будет меньше внешних соединений, которые всегда являются потенциальными точ- ками отказа схемы. Рис. 4.1. Часто можно упростить логическую схему (а), чтобы добиться более эффективного варианта (б) В следующих разделах рассматриваются два метода упрощения логических схем. Один из них использует теоремы булевой алгебры и в значительной мере зависит от опыта и случая. Второй метод (карты Карно) — систематический, с последователь- ным приближением к результату. Однако иногда преподаватели пропускают послед- ний метод, потому что он в некоторой степени механический и может отодвинуть на второй план реальное понимание булевой алгебры. При желании второй метод можно опустить — это никак не повлияет на последовательность и смысл дальнейшего ма- териала. 4.3. Алгебраическое упрощение Теоремы булевой алгебры, изученные в главе 3, можно использовать, чтобы упро- стить выражение для какой-либо логической схемы. К сожалению, не всегда очевид- но, какими теоремами следует пользоваться для получения простейшего результата. Более того, нельзя точно сказать, является ли упрощенное выражение простейшим вариантом или его можно еще как-либо минимизировать. Именно поэтому алгебраи- ческое упрощение — это часто метод проб и ошибок, однако опытный специалист обычно добивается достаточно хороших результатов. Примеры ниже проиллюстрируют несколько способов применения теорем булевой алгебры при упрощении выражений. Следует обратить внимание, что эти примеры содержат два основных шага: 142 Глава 4
i. Исходное выражение приводится к дизъюнктивной форме с помощью последова- тельного применения теорем де Моргана и перемножения членов выражения. 2. Как только выражение приведено к дизъюнктивной форме, его члены проверя- ются на наличие общих множителей и везде, где возможно, осуществляется вы- несение за скобки — это приведет к сокращению одного или нескольких членов. Пример 4.1 Упростите логическую схему, приведенную на рис. 4.2, а. Рис. 4.2. Пример 4.1 щение эвым делом необходимо определить выражение на выходе схемы, используя мс- s. представленный в разделе 3.6. Результат на выходе исходной схемы такой: г = АВС + АВ • (АС). к только выражение определено, целесообразно будет убрать все длинные знаки версии, используя теоремы де Моргана и перемножая все члены: г = АВС + АВ(А + С) = АВС + АВ(А + С) = АВС + АВА + АВС [теорема (17)]; [убираем двойную инверсию]; [перемножаем члены]; = ABC + АВ + АВС [А • А = А]. лучив выражение в дизъюнктивной форме, нужно искать общие переменные сре- различных членов, чтобы вынести их за скобки. У первого и третьего членов вы- кения общий множитель АС, который можно вынести: z = АС(В +В) + АВ [А • А = А]. к как В + В = 1, то z = АС(1) + АВ = АС + АВ [А • А = А]. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 143
теперь МОЖНО вынести А, ЧТО дает следу юьцге исхралгсплс. Z = А(С + В). Полученный результат больше упростить невозможно. Его реализация показана на рис. 4.2, б. Очевидно, что схема на рис. 4.2, б намного проще, чем исходная схема на рис. 4.2, а. Пример 4.2 Упростите выражение z = АВС + АВС + АВС . Решение Выражение уже приведено к дизъюнктивной форме. Метод 1. Первые два члена выражения имеют общий множитель АВ . Таким образом, z = АВ(С + С) + АВС = АВ(1) + АВС = АВ + АВС . Теперь из обоих членов можно вынести общий множитель А: z = A(B + BC). Применив теорему № 156, получим г = А{В + С). Метод 2. Имеется исходное выражение z = АВС + АВС + АВС . Первые два члена имеют общий множитель АВ, а два последних — АС. Как узнать, выносить ли за скобки АВ из первых двух членов или АС из двух последних? Во- обще-то можно сделать и то, и другое, дважды используя член АВС . Иначе говоря, мы можем переписать выражение в следующем виде: z = АВС + АВС + АВС + АВС , где мы добавили дополнительный член АВС. Такое добавление вполне допускается и не изменит значения выражения, так как АВС + АВС = АВС (теорема (7)). Теперь вынесем АВ из первых двух членов и АС из двух последних: z = АВ(С + С) + АС{В + В) = АВ • 1 + АС 1 = АВ + АС = А(В + С). Получен тот же самый результат, что и с помощью метода 1. Прием использования одного и того же члена несколько раз значительно облегчает труд. Пример 4.3 Упростите выражение г = АС(АВР) + ABCD + АВС. Решение Для начала, применив теорему де Моргана к первому члену выражения, получим z = АС(А + В + В) + ABCD + АВС (шаг 1). Теперь перемножим результаты z = АСА + АС В + ACD + ABCD + АВС (шаг 2). Поскольку [ А • А = 0 ], то первый член сократится: z = АВС + ACD + ABCD + АВС (шаг 3). Мы получили выражение в дизъюнктивной форме. Теперь необходимо найти общие множители среди всех его членов. Уместным будет поиск самого большого общего 144 Глава 4
множителя двух или нескольких членов. Например, первый и последний члены вы- ражения имеют общий множитель ВС, а второй и третий — AD. Можно сгруппи- ровать их и вынести за скобки таким образом: 2 = ВС(А + А) + AD(C + ВС) (шаг 4). Теперь, так как А + А = 1 , а С + ВС = С + В (теорема № 15а), имеем г = ВС + AD(B + С) (шаг 5). Такой же результат получается и при выборе других общих множителей. Например, если вынести за скобки С из первого, второго и четвертого членов в шаге 3 2 = с(АВ + AD + АВ) + ABCD, выражение внутри скобок можно разложить далее: г = С(Ё[а + а] + AD) + ABCD. Так как А + А = 1 , то имеем 2 = с(в + ~AD) + ABCD. Перемножив результаты 2 = ВС + ACD + ABCD , выносим за скобки AD из второго и третьего членов и получаем г = ВС + АВ(С + ВС). Используя теорему № 15а, выражение в скобках можно преобразовать до В + С. Та- ким образом, получаем результат 2 = ВС + AD(B + С). Он полностью совпадает с полученным ранее результатом, но занял чуть больше ша- гов (вот почему следует искать наибольшие общие множители — они быстрее всего приведут к конечному результату). При пер 4.4 Упростите выражение х = (А + В)(А + В + D)D . Решение Это выражение можно привести в дизъюнктивную форму перемножением всех чле- нов внутри скобок. Получим результат х = AAD + ABD + ADD + BAD + BBD + BDD. Первый член можно сократить, так как АА = 0 . Аналогично можно сократить тре- тий и шестой члены, потому что DD = 0 . Пятый член можно упростить до BD , так U1K В В = В. Следовательно, х = ABD + ABD + BD . Выносим за скобки BD из каждого члена и получаем х = BD(A + А + 1). Ясно, что член внутри скобок всегда равен 1, отсюда конечный результат х = ВР. ЧБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 145
ример 4.5 гростите схему на рис. 4.3, а. Рис. 4.3. Пример 4.5 эшение ыражение на выходе z = (А + В)(А + В). еремножив скобки, чтобы получить дизъюнктивную форму, получим з = АЛ + АВ + BA + ВВ . ократим АА = О и ВВ = 0 и получим выражение г = АВ + АВ. то выражение реализовано на рис. 4.3,6, и если сравнить его с исходной схемой, то идно, что они обе содержат одинаковое количество элементов и соединений. В дан- ом случае процесс привел к эквивалентному, а не более простому схемотехническо- су решению. 1ример 4.6 ^простите выражение х = АВС + ABD + CD. ’ешение Сонечно, можно попытаться сделать это, но какого-либо упрощения добиться нельзя. Контрольные вопросы 1. Какие из следующих выражений не записаны в дизъюнктивной форме? a) RST + RST + Т ; б) ADC + ADC; в) MNP + (М + N)P ; г) АВ + АВС + ABCD. 2. Упростите схему на рис. 4.1, а до схемы 4.1, б. (3. Измените все элементы И на рис. 4.1, а на элементы И-НЕ. Определите новое выражение для х и упростите его. 146 Глава 4
4.4. Проектирование комбинационных логических схем Когда необходимый выходной уровень логической схемы задан для любых вход- ных условий, результат обычно можно отобразить на таблице истинности. Из табли- RK истинности также получают булево выражение для требуемой схемы. Например, рассмотрим рис. 4.4, а, на котором изображена таблица истинности для цепи с дву- Кя входами, А и В, и выходом х. В таблице показано, что выходной сигнал х будет равен 1, только когда А = 0 и В = 1. Теперь остается определить, какая логическая пема соответствует произведенной операции. На рис. 4.4, б показано одно из воз- можных решений — здесь элемент И используется вместе с входными сигналами А в В, так что х = А В . Ясно, что х будет равен 1, только если оба входных сигнала, риходящие на элемент И, равны 1, т.е. А = 1 (что значит, что А = 0) и В = 1. Для Бсех других значений А и В выходной сигнал х будет равен 0. Рис. 4.4. Схема, выходной сигнал которой равен 1 только при условии, что А = 0 и В = 1 Подобный подход можЦо использовать и для других входных условий. Например, хи бы х должен был иметь высокий уровень только при условии, что А = 1 и В = 0, в схеме содержался бы элемент И для входных сигналов А и В . Другими слова- [, дчя нескольких из четырех возможных условий на входе можно получить высо- й уровень сигнала х, подавая на элемент И такие входные сигналы, которые по- хляют получить требуемое произведение. Все четыре различных ситуации пред- хвлены на рис. 4.5. Каждый из показанных элементов И производит выходной гнал, который равен 1 только при одном входном положении и равен 0 при всех гальных положениях. Заметьте, что на входы элемента И подаются инверсные или «мые сигналы в зависимости от значений переменных в данной ситуации. Если в ком-то случае переменная равна 0, то перед элементом И она инвертируется. Рассмотрим случай, представленный на рис. 4.6, а. Таблица истинности показы- гт, что выходной сигнал х равен 1 в двух случаях: А = 0, В = 1 и А = 1, В = 0. Как ясно реализовать такую схему? Известно, что произведение А • В даст 1, только Е А = 0, В = 1, а произведение А В равно 1 только при условии, что А = 1, В = 0. вбуемый выходной сигнал х должен иметь высокий уровень в любом случае, по- Ж? все члены выражения надо сложить с помощью элемента ИЛИ, чтобы поду- ть х. Это показано на рис. 4.6, б, где конечное выражение для выходного сигнала вао х = АВ + АВ . В этом примере каждое требуемое произведение получаем только при таких при- ходных в таблице входных условиях, при которых х = 1. Затем выходные сигналы жента И складываются, чтобы получить выходной сигнал х, который равен 1, кько если каждый входной сигнал элемента И тоже соответствует 1. Та же проце- ра может быть расширена и на примеры с большим количеством входов. Рассмот- м таблицу истинности для схемы с тремя входами (табл. 4.1). Есть три случая, ко- БИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 147
гда выходной сигнал х = 1. В таблице показаны требуемые произведения И для каж- дого из этих случаев. Заметьте, что в каждом случае, когда переменная равна 0, она инвертируется перед входом на элемент И. Дизъюнктивная форма для х получена складыванием с помощью элемента ИЛИ всех трех произведений: х = АВС + АВС + АВС . Рис. 4.5. Элемент И, на который поданы соответствующие входные сигналы, может быть использован для получения 1 на выходе для любого конкретного на- бора входных уровней высокий уровень только при А = 1 и В - О высокий уровень только при А= 1 и В = 1 Рис. 4.6. Каждый набор входных сигналов, который должен привести к на- личию на выходе высокого уровня сигнала, может быть реализован на от- дельном элементе И. Выходные сигналы элемента И складываются вместе с помощью элемента ИЛИ для получения необходимого выходного сигнала Таблица 4 Л • . А в с X 0 0 0 0 0 0 1 0 0 1 0 1 -> АВС 0 1 1 1 АВС 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 -> АВС 148 Глава 4
Полная методика проектирования Как только из таблицы истинности определено выражение для выходного сигнала в дизъюнктивной форме, можно легко реализовать схему, используя элементы И и ИЛИ, а также инверторы. Однако обычно выражение можно упростить, что даст возможность построить более эффективную схему. Следующий пример демонстриру- ет полную методику проектирования. Пример 4.7 Спроектируйте логическую схему с тремя входами А, В и С, выходы которой будут Жметь высокий уровень, только если на большей части входов также присутствует высокий уровень. Решение —- ----------------------— , , - ------------------г— —-- т ГТ ~ (Этап 1. Составление таблицы истинности. Согласно условию данной задачи, выходной сигнал х должен быть равным 1, если 1 равны два или более входных сигналов; для всех других случаев выходной сигнал должен быть равен 0 (табл. 4.2). Таблица 4.2 г v" г л * V • *” S * * * "* •• | • * . * ’ ' г" — А В с 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 ABC 1 0 0 0 1 0 1 1 ABC 1 1 0 1 ABC 1 1 1 1 -) ABC ш 2. Записать произведение для каждого случая, когда выходной сигнал равен 1. возможно четыре таких случая. Произведения для каждого из них показаны :м с таблицей истинности (табл. 4.2). Обратите внимание, что каждое произведе- содержит все входные переменные либо в инверсной, либо в прямой форме. ш 3. Записать выражение для выходного сигнала в дизъюнктивной форме. х = АВС + АВС + АВС + АВС . Е 4. Упростить выходное выражение. выражение можно упростить несколькими способами. Вот самый быстрый из так как член АВС содержит две общих переменных с любым из остальных чле- выражения, можно применить АВС, сгруппировав его с каждым другим членом, ажение, переписанное после использования члена АВС три раза (вспомним при- 4.2 и тот факт, что булева алгебра допускает такие приемы), выглядит так: х = АВС + АВС + АВС + АВС + АВС + АВС. всем за скобки попарно общие члены и получим X = ВС(А + А) + АС(В + В) + АВ(С + С). ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 149
Все члены в скобках в этом выражении равны 1, а значит имеем х = ВС + АС + АВ. Такая схема реализована на рис. 4.7. Выражение для нее записано в дизъюнктивной форме, поэтому схема включает несколько элементов И, сигналы с которых поступа- ют на элемент ИЛИ. Пример 4.8 Обратимся к рис. 4.8, а, где изображен аналого-цифровой преобразователь орбиталь- ного спутника, отслеживающий постоянное напряжение батареи на 12 В. Выходной сигнал преобразователя — двоичное число ABCD из четырех бит, соответствующий напряжению батареи с шагом 1 В, где А — старший значащий бит. Двоичные вы- ходные сигналы преобразователя попадают на логическую схему, которая вырабаты- вает высокий уровень сигнала на выходе, если поступившее двоичное значение боль- ше, чем 01102 = 610; т.е. напряжение батареи больше 6 В. Требуется построить логи- ческую схему. СЗБ vB МЗБ а) z=A+BCD А Б Логическая С схема О А В С D Z (0) 0 0 0 0 0 z (1) 0 0 0 1 0 "(2) 0 0 1 0 0 (3) 0 0 1 1 0 (4) 0 1 0 0 0 (5) 0 1 0 1 0 (6) 0 1 1 0 0 (7) 0 1 1 1 1-> ABCD (8) 1 0 0 0 1-> ABCD (9) 1 0 0 1 1-> ABCD (Ю) 1 0 1 0 1-> ABCD (11) 1 0 1 1 1-> ABCD (12) 1 1 0 0 1-» ABCD (13) 1 1 0 1 1-> ABCD (14) 1 1 1 0 1-> ABCD (15) 1 1 1 1 1-» ABCD А АЦП р D А • В ♦ с > D » в) б) Рис. 4.8. Пример 4.8 150 Глава 4
Решение В таблице истинности на рис. 4.8, б для каждого набора входных переменных пока- зан десятичный эквивалент двоичного числа, представляемого комбинацией ABCD. Выходной сигнал z равен 1 для тех случаев, когда двоичное число больше ОНО. Во всех других случаях сигнал г равен 0. Таблица истинности представляет в дизъюнк- тивной форме следующее выражение: г = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD. Упростить это выражение представляется неимоверной задачей, однако шаг за шагом процесс будет вовлекать в себя все новые и новые общие множители, и члены типа А + А будут сокращаться: г = ~ABCD + АВС(5 + D) + ABC(D + D) + ABC(D + D) + ABC(D + D) = ABCD + ABC + ABC + ABC + ABC = ABCD + AB(C + C) + AB(C + C) = ABCD + AB + AB = ABCD + A(B + B) = ABCD + A Последнее выражение можно еще упростить, применив теорему № 15а, которая гла- сит, что х + ху = х + у.В данном случае х = А, у = BCD. Таким образом, z = ABCD + А = BCD + А . Конечное выражение реализовано в схеме на рис. 4.8, в. Приведенный выше пример показывает относительную громоздкость метода алгеб- раических упрощений, особенно когда исходное выражение содержит большое коли- чество членов. Это ограничение не касается, однако, метода карт Карно, который рассматривается далее. Пример 4.9 Обратимся к рис. 4.9,а, на котором изображен простой копировальный аппарат. Сиг- нал S останавливает устройство и зажигает индикатор, если выполняется одно из следующих условий: (1) в приемном лотке нет бумаги или (2) при подаче бумаги сра- батывают два микропереключателя, указывающих, что в бумагопроводящем тракте возникла пробка. Наличие бумаги в приемном лотке показывает высокий уровень ло- гического сигнала Р. Каждый микропереключатель генерирует логический сигнал (Q и К), который принимает высокий уровень, когда бумага проходит мимо этого пе- реключателя и активирует его на время прохождения. Спроектируйте логическую схему, выдающую высокий уровень выходного сигнала S для заданных условий, и реализуйте ее, используя микросхему 74НС00, состоящую из четырех элементов И- НЕ с двумя входами каждый. Решение Для решения этой задачи воспользуемся пошаговым описанием процесса, как в при- мере 4.7. Таблица истинности приведена в табл. 4.3. Выходной сигнал S будет равен логиче- ской 1 при Р = О (когда в тракте нет бумаги). Сигнал S также примет значения 1 в случаях, когда Q и R оба будут равны 1 (пробка при подаче бумаги). Как показывает таблица, существует пять различных условий, которые приводят к высокому уровню на выходе •d Произведения для всех таких случаев показаны справа от таблицы Комбинационные логические схемы 151
Рис. 4.9. Пример 4.9 Выражение в дизъюнктивной форме принимает следующий вид: Можно начать упрощать это выражение с вынесения за скобки PQ из первого и вто- рого членов и PQ из третьего и четвертого: s = PQ(R + R) + PQ(R + R) + PQR Таблица 4.3 4 . - ;****•; -4 W . ' • i # * • * р Q R s 0 0 0 1 -> PQR 0 0 1 1 ~>~PQR 0 1 0 1 -> PQR 0 1 1 1 -> PQR 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 PQR Теперь можно сократить R + R , так как они равны 1: S = PQ + PQ + PQR. Вынесем за скобки Р из первого и второго членов выражения и сократим перемен- ную Q в этих членах: 152 Глава 4
S = P + PQR. Теперь можно применить теорему № 156 ( х + ху ~ х + у ) и получить S = Р + QR . Реализация этой схемы на элементах И/ИЛИ показана на рис. 4.9, б ВНН- Чтобы реализовать эту схему с использованием микросхемы 74НС00, состоящей из четырех элементов И-НЕ с двумя входами каждый, необходимо преобразовать каж- дый элемент, включая инвертор, в эквивалентную структуру на элементах И-НЕ (см. раздел 3.12). Новая схема показана на рис. 4.9, в. Разумеется, можно сократить двойные инверторы и прийти к реализации схемы на одних элементах И-НЕ, пока- занной на рис. 4.9, г. Конечная подключенная схема реализуется путем присоединения двух элементов И- НЕ на микросхеме 74НС00. Эта КМОП-микросхема имеет такой же набор элементов к такое же количество выводов, как и ТТЛ-микросхема 74LS00, изображенная на рис. 3.31. На рис. 4.10 показана подключенная схема с номерами выводов, включая вывод питания +5 В и вывод на общий провод. Также на рисунке показаны оконеч- ный усиливающий транзистор и СИД (светоизлучающий диод), отображающий со- стояние выходного сигнала S. Рис. 4.10. Пример 4.10. Схема с рис. 4.9, г, реализованная на микросхеме И НЕ 74НС00 Контрольные вопросы 1. Запишите в дизъюнктивной форме выражение для схемы с четырьмя входами и выходом, выходящим на высокий уровень при условии, если вход А и два других входа имеют низкий уровень. 2. Реализуйте выражение из предыдущего упражнения, используя элементы И- НЕ на четыре входа. Сколько потребуется таких элементов? Комбинационные логические схемы 153
4.5. Метод карт Карно Карта Карно — это графическое средство для упрощения логических уравнений или преобразования таблиц истинности в соответствующую логическую схему про- стым и упорядоченным путем. Карта Карно (или К-карта) используется для решения задач с любым количеством входных переменных, однако ее практическое примене- ние ограничено пятью или шестью переменными. В этой книге дальнейшая работа с картами Карно ограничена четырьмя переменными, так как задачи с большим коли- чеством переменных слишком сложны и лучше всего решаются с помощью компью- терных программ. Структура карт Карно Как и таблица истинности, карта Карно является средством, показывающим со- отношение между логическими входами и требуемым выходом. На рис. 4.11 показа- ны три примера карт Карно для двух, трех и четырех переменных, а также соответ- ствующие таблицы истинности. Эти примеры иллюстрируют следующие важные принципы построения карт Карно: 1. Таблица истинности дает значение выходного сигнала X для любой комбинации входных переменных. Карта Карно дает ту же информацию, но в несколько дру- гом виде. Каждый набор входных переменных таблицы истинности отвечает ячейке карты Карно. Например, на рис. 4.11, а условие А = О, В = 0 из таблицы истинности соответствует ячейке АВ на карте Карно. В таблице истинности это- му случаю отвечает X = 1, следовательно, в карте Карно в ячейку АВ помещает- ся 1. Точно так же, условию А = 1, В = 1 в таблице истинности соответствует ячейка АВ карты Карно. Поскольку в этом случае X = 1, то в ячейку АВ снова ставится 1. Все другие ячейки заполняются нулями. Точно такая же последова- тельность используется и для карт с тремя и четырьмя переменными, как это показано на рисунке. 2. Квадраты карт Карно обозначаются таким образом, чтобы горизонтально приле- гающие ячейки отличались только одной переменной. Например, левая верхняя ячейка карты для четырех переменных отвечает значению ABCD , а ячейка, прилегающая к ней справа — ABCD (отличается только переменной D). Точно так же и вертикально прилегающие друг к другу ячейки отличаются только од- ной переменной. Например, левая верхняя ячейка отвечает набору переменных ABCD, а ячейка прямо под ней — ABCD (отличается только переменной В). Заметьте, что каждая ячейка в верхней строке считается прилегающей к соответ- ствующей ячейке в нижней строке. Например, ячейка А ВС' D в верхней строке прилегает к ячейке ABCD из нижней строки, так как они тоже отличаются только одной переменной А. Можно считать, что верхняя часть карты как бы за- вернута и касается ее основания. Ячейки левого столбца прилегают к соответст- вующим ячейкам правого столбца. 3. Чтобы вертикально и горизонтально прилегающие ячейки отличались только од- ной переменной, обозначения от верхней части до нижней должны быть сделаны' в определенном порядке, как это показано на рисунке: АВ, АВ , АВ , АВ. По- добный же порядок соблюдается и при обозначении ячеек слева направо: CD, CD , CD, CD. 4. Когда карта Карно заполнена нулями и единицами, выражение выходного сигна- ла X в дизъюнктивной форме может быть получено сложением вместе ячеек, со- 154 Глава 4
держащих 1, с помощью элемента ИЛИ. В карте для трех переменных на рис. 4.11, б единицы содержат ячейки АВС, АВС, АВС и АВС, поэтому X = АВС + АВС + АВС + АВС . в в А В X 1 0 0 0 0 1 1 0 1 1 1 -> АВ Г _ 1 А 0 < х = АВ + АВ ► 0 1 J А 1 -> АВ 0 1 а) А В С X 0 0 0 1 -4 АВС 0 0 1 1 -4 АВС 0 1 0 1 -4 АВС 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 АВС 1 1 1 0 AB Г ___ __ 1 AB , X = ABC + ABC k + ABC + ABC I J AB AB 6) 1 1 1 0 1 0 0 0 А В С D X 0 0 0 0 0 0 0 0 1 1 -> ABCD 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 -4 ABCD 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 -4 ABCD 1 1 1 0 0 1 1 1 1 1 -4 ABCD CD CD CD CD AB 0 1 0 0 X = ABCD + ABCD AB 0 1 0 0 + ABCD + ABCD AB 0 1 1 0 AB 0 0 0 0 в) Рис. 4.11. Карты Карно в) четырех переменных и таблицы истинности для а) двух, б) трех ц оуппировка Выражение, полученное для выходного сигнала X, можно упростить правильным ещением в картах Карно ячеек, содержащих единицы. Процесс такого подбора гвается группировкой (looping). 4БИНАЦИ0ННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 155
Группировка ячеек попарно На рис. 4.12, а приведена карта Карно определенной таблицы истинности с тремя переменными. Эта карта содержит пару единиц, вертикально прилегающих друг к другу; первая представляет произведение АВС , а вторая — АВС . Заметьте, что в этих двух членах только переменная А меняет свое состояние с прямого на инверс- ное, а В и С остаются неизменными. Эти два члена могут быть сгруппированы (совмещены) таким образом, что в результате переменную А можно сократить, по- скольку она появляется как в нормальном состоянии, так и в инверсном. Это легко доказать: X = АВС + АВС = ВС(А + А) = ВС(1) = ВС . Тот же принцип справедлив для любой пары вертикально или горизонтально прилегающих друг к другу ячеек с единицами. На рис. 4.12, б приведен пример двух горизонтально прилегающих единиц. Если их объединить, то можно будет сократить переменную С, так как она появляется и в прямой, и в инверсной формах, что дает 'р зультат X = АВ. Рис. 4.12. Примеры группировки двух прилегающих ячеек, содержащих единицы Другой пример показан на рис. 4.12, в. В картах Карно, как уже говорилось, можно рассматривать верхнюю и нижнюю строки как прилегающие. Следовательно, две единицы на этой карте можно объединить в группу, что даст результат АВС + АВС = ВС . 156 Глава 4
На рис. 4.12, г карта Карно содержит две пары ячеек с единицами, которые мож- но объединить. Две единицы в верхней строке непосредственно прилегают друг к другу. В нижней строке обе единицы также прилегают, потому что левый и правый столбцы карты также считаются соседними. При объединении пары в верхней строке сокращается переменная D (она встречается и как В, и как D), что даст произведе- ние АВС . Группировка в нижней строке приведет к сокращению переменной С — получается произведение ABD. Эти два члена складываются в элементе ИЛИ, что и цает конечный результат X. Подведем итог сказанному. Объединение в карте Карно пары прилегающих ячеек, содержащих единицы, приводит к сокращению той переменной, которая меняет свою форму в этих ячейках. Группировка ячеек по четыре (квартеты) Карта Карно может содержать группу из четырех ячеек с единицами, прилегаю- щих друг к другу. Такие группы иногда называют квартетами (quads). На рис. 4.13 эображены несколько примеров таких групп. На рис. 4.13, а четыре единицы при- бегают друг к другу по вертикали, а на рис. 4.13, б — по горизонтали. Карта Карно Ла рис. 4.13, в содержит четыре единицы в квадрате, поэтому их также можно рас- сматривать как прилегающие. Четыре единицы на рис. 4.13, г и 4.13, д прилегают, так как верхняя и нижняя строки, а также левый и правый столбец карты считают- ся прилегающими. С С CD CD CD CD CD CD CD CD АВ 0 < 1 ' АВ 0 0 0 0 АВ 0 0 0 0 АВ 0 1 АВ 0 0 0 0 АВ 0 1 1 0 АВ 0 1 АВ 1 1 1 1 АВ 0 1 1 0 АВ 0 АВ 0 0 0 0 АВ 0 0 0 0 а ) х = с 6 Х = АВ в ) Х = а BD Г* 1 . 4.13. Примеры группировки по четыре прилегающих ячейки, содержащих единицы ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 157
Когда группа из четырех ячеек объединена, конечный член выражения будет со- держать только те переменные, которые не меняют свою форму во всех ячейках вы- бранной группы. Например, на рис. 4.13, а четыре ячейки, содержащие единицы, соответствуют наборам переменных АВС , АВС , АВС и АВС . Изучение этих чле- нов показывает, что лишь переменная С не изменяет свою форму (и А, и В появля- ются как в простой, так и в инверсной формах). Таким образом, конечное выражение для выходного сигнала X будет просто X = С. Это очень легко доказать: X = АВС + АВС + АВС + АВС = АС(В + В) + АС(В + В) = ~АС + АС = С(А + А) = С. В другом примере (рис. 4.13, г) четыре ячейки соответствуют произведениям пе- ременных ABCD , ABCD , ABCD . Изучение этих членов выражения для выходного сигнала показывает, что только переменные А и D остаются неизменными, поэтому уже упрощенное выражение для X будет иметь вид: Х = AD, что можно доказать так же, как в предыдущем примере. В других случаях, приве- денных на рис. 4.13, выражения, указанные около карт Карно, тоже соответствуют упрощенным выражениям для этих карт. Подведем итоги. Группировка четырех прилегающих ячеек, содержащих единицы, по- зволяет сократить три переменных, которые меняют свои формы от ячейки к ячейке. Группировка ячеек по восемь (октеты) Группа из восьми единиц, прилегающих друг к другу, иногда называется еще ок- тетом. Несколько примеров октетов приведены на рис. 4.14. Когда октет группирует- ся на карте с четырьмя переменными, сокращаются сразу три из четырех перемен- ных, так как только одна остается неизменной во всех восьми ячейках. Например, изучение восьми сгруппированных ячеек на рис. 4.14, а показывает, что только пе- ременная В остается в одной и той же форме независимо от ячейки. Другие же пере- менные встречаются то в прямой, то в инверсной формах, т.е. для этой карты конеч- ное выражение будет X — В. Можно проверить результат и в других примерах на рис. 4.14. Подведем итог. Группировка октета (восьми прилегающих ячеек, содержащих единицы) позволяет сократить три переменных, которые меняют свои формы от ячейки к ячейке. Полный процесс упрощения Как было показано в предыдущих разделах, группировка пар, квартетов и окте- тов в картах Карно может быть использована для упрощения выражения. Сформу- лируем правило объединения групп любого размера: Если переменная в полученной группе встречается как в прямой, так и в инверсной формах, ее можно сократить. Переменные, которые не ме- няют свою форму от ячейки к ячейке группы, должны остаться и в ко- нечном выражении. 158 Глава 4
Рис. 4.14. Примеры группировки единицы, по восемь (октетами) г) прилегающих ячеек, содержащих Таким образом, чем больше группа из единиц, тем больше переменных можно бу- дет сократить, т.е. группа из двух ячеек позволяет сократить одну переменную, группа из четырех — две,.а группа из восьми — три переменных. Этот принцип ис- пользуется для получения с помощью карт Карно упрощенного логического выраже- ния, содержащего любую комбинацию из единиц и нулей. Рассмотрим несколько примеров процедуры упрощения. Ниже описывается алгоритм действий, которыми следует руководствоваться при упрощении булевы?: выражений, г - Этан 1. Постройте карту Каоно и поместите единицы в те ячейки, которые соответ- ствуют единицам в таблице истинности. Все остальные ячейки заполните нулями. Этап 2. Проанализируйте карту, найдите области прилегающих единиц и выделите те единицы, которые не прилегают к другим единицам. Они называются изолированными единицами. Этап 3. Найдите единицы, которые прилегают только к еще одной единице. Сгруп- пируйте в пары две любые прилегающие единицы. Этап 4. Сгруппируйте все октеты, даже если они будут содержать единицы, которые уже были сгруппированы. Этап 5. Сгруппируйте все квартеты, содержащие одну или несколько единиц, кото- рые еще не были сгруппированы. При этом убедитесь, что используется минимальное количество групп. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 159
Этап 6. Сгруппируйте любые пары, которые необходимы, чтобы включить те еди- ницы, которые еще не были сгруппированы. Убедитесь, что используется минимальное количество групп. Этап 7. Просуммируйте все члены, описываемые каждой группой. Эти этапы должны выполняться строго в той последовательности, в которой они здесь приведены. Используйте их при решении следующих примеров при обработке карт Карно. В каждом случае полученное логическое выражение будет иметь про- стейшую дизъюнктивную форму. Пример 4.10 На рис. 4.15, а показана карта Карно для задачи с четырьмя переменными. Предпо- ложим, что карта была получена из таблицы истинности (этап 1). Для удобства со- ставления групп все ячейки пронумерованы. ABCD Группа 4 ACD Группа 11,15 + BD Г руппа 6, 7,10,11 ВС + Группа 5, 6,9,10 ACD Группа 3,7 Рис. 4.15. Примеры с 4.10 по 4.12 + ACD + АВС + ACD 2,6 7,8 11,15 160 ГЛАВА 4
Решение Этап 2. Ячейка 4 — единственная ячейка, которая содержит единицу, не приле- гающую ни к одной другой единице. Она выделяется в собственную груп- пу — группу 4. Этап 3. Ячейка 15 прилегает только к ячейке 11. Эта пара тоже группируется; обо- значим ее группой 11, 15. Этап 4. На данной карте нет октетов. Этап 5. Ячейки б, 7, 10 и 11 формируют квартет. Заметьте, что ячейка 11 использу- ется уже во второй раз. Этап 6. Все единицы на карте уже сгруппированы. Этап 7. Каждая группа образует свой минтерм в выражении для сигнала X. Группа 4 дает просто ABCD. Группа из ячеек 11 и 15 дает минтерм ACD (переменная В сокращается). Ячейки 6, 7, 10 и 11 дают BD (сокращаются А и С). Пример 4.1 Рассмотрим карту, изображенную на рис. 4.15, б. Здесь первый шаг уже выполнен. Этап 2. Изолированных единиц на карте нет. Этап 3. Единица в ячейке 3 прилегает только к единице в ячейке 7. Группирование этой пары дает минтерм ACD . Этап 4. На карте нет октетов. Этап 5. Можно выделить два квартета. Ячейки 5, 6, 7 и 8 формируют один квартет, который дает минтерм АВ . Ячейки 5, 6, 9 и 10 формируют второй квартет; его формирование возможно, так как он содержит две единицы, которые еще не были сгруппированы раньше. Группирование этого квартета дает ВС . Этап 6. Все единицы на карте уже сгруппированы. Этап 7. Минтермы, полученные с помощью группировки, складываются с помощью операции ИЛИ, что дает конечный результат X. Пример 4.12 Рассмотрим карту Карно на рис. 4.15, в. Этап 2. Изолированных единиц нет. Этап 3. Единица в ячейке 2 прилегает только к единице в ячейке 6, что дает мин- терм ACD. Ячейка 9 прилегает к ячейке 10. Группировка этой пары дает в результате АВС. Точно так же и группы ячеек 7 и 8, 11и15 дают минтер- мы АВС и ACD , соответственно. Этап 4. Октетов нет. Этап 5. На карте можно выделить один квартет, сформированный ячейками 6, 7, 10 и 11, но его не надо группировать, так как все единицы этого квартета уже вошли в другие группы. Этап 6. Все единицы уже сгруппированы. 5>тал 7. Выражение для X показано на том же рисунке. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 161
Пример 4.13 Рассмотрим карту Карно на рис. 4.16, а. CD CD CD CD CD « CD CD CD АВ 0 0 0 АВ 0 v 0 АВ 0 1 АВ 0 1 Jj 1 АВ 0 0 0 / \ 1 АВ 0 0 0 1 АВ Ci_ 1 ' 0 J АВ 1; & 0 । । X = ACD + АВС + АВС + ACD X = ABD + BCD + BCD + ABD а) б) Рис. 4.16. Одна и та же карта Карно с двумя эквивалентными реше- ниями Этап 2. Изолированных единиц нет. Этап 3. Единиц, имеющих только одну прилегающую единицу, тоже нет. Этап 4. Октетов нет. Этап 5. Квартетов нет. Этапы 6 и 7. Можно сгруппировать много пар — находим минимальное число групп, которые бы учитывали все единицы на карте. Для данной карты осущест- вимы две возможных группировки, что даст в обоих случаях по четыре пары ячеек. На рис. 4.16, а показано первое решение и конечный результат, а на рис. 4.16, б — второе. Заметьте, что оба выражения одинаковой сложности. Как заполнять карту Карно, исходя из выходного выражения Когда желаемый выходной сигнал представлен булевым выражением вместо таб- лицы истинности, карту Карно можно заполнить с помощью следующего алгоритма. 1. Получить выражение в дизъюнктивной форме, если это еще не сделано. 2. Для каждого минтерма в полученном выражении поставить единицу в ячейке карты, которая соответствует данному члену (обозначена той же комбинацией входных переменных). Во все остальные ячейки поставить нули. Данная процедура приведена в примере внизу. Пример 4.14 Используйте карту Карно для упрощения выражения у = C(ABD + D) + АВС + D . Решение а) Раскрыв скобки, мы получим у = ABCD + CD + ABC + D , т.е. выражение в дизъ- юнктивной форме. 162 Глава 4
б) Чтобы учесть член ABCD, поставим в соответствующую ячейку карты Карно единицу (рис. 4.17). Для члена CD единицы помещаем во все те ячейки, в обо- значении которых присутствует CD : это члены ABCD, ABCD, ABCD, ABCD. Для члена АВС единицы ставятся в те ячейки, которые содержат АВС в своих обозначениях: ABCD, ABCD . И наконец, для члена D расставляем единицы во все ячейки, в обозначениях которых имеется D — т.е. во всех ячейках крайнего слева и самого крайнего справа столбцов. CD CD CD CD 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 у = AB + С + D Рис. 4.17. Пример 4.14 Теперь, когда карта Карно заполнена, разбиваем ее на группы, чтобы упростить вы- ражение. Можете удостовериться в том, что после правильной группировки получит- ся выражение у = АВ + С + D . Безразличное состояние Некоторые логические схемы спроектированы таким образом, что их входные ус- ловия не имеют конкретных выходных уровней обычно по той причине, что такие входные сигналы никогда не происходят. Иначе говоря, существуют такие комбина- ции входных уровней, при которых нам “безразлично”, какой уровень у сигнала на выходе: высокий или низкий. Это утверждение проиллюстрировано на рис. 4.18. а. Рис. 4.18. Безразличные состояния следует заменить нулями или единицами таким образом, чтобы группировка ячеек карты Карно дала самое простое выражение АВ АВ АВ АБ МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 163
Выходной сигнал г, изображенный на рисунке, не задан точно для условий А, В. С = 1, О, 0 и А, В, С = 0, 1, 1. Вместо нуля или единицы для этих комбинаций вход- ных переменных использован х, который показывает, что в данном случае мы имеем дело с безразличным состоянием. Такое состояние встречается по нескольким при- чинам, в основном из-за того, что в некоторых случаях определенные комбинации входных сигналов ни при каких условиях не могут появиться, следовательно, для данного условия не будет конкретного выходного сигнала. У разработчика схем есть возможность выбрать для выходного сигнала при без- различном состоянии как О, так и 1, чтобы получить наиболее простое выражение на выходе системы. Например, для таблицы истинности на рис. 4.18, а, карта Карно изображена на рис. 4.18, б и имеет значки х в ячейках АВС и АВС. Основательно обдумав последствия выбора, разработчик должен изменить ячейку АВС на 1, а ячейку АВС на 0, что в результате дает квартет, который можно выделить и полу- чить z = А, как показано на рис. 4.18, в. Когда бы ни встретилось безразличное состояние, необходимо решить, какой х заменить на 0, а какой — на 1, чтобы получить наиболее удобные для группы в кар- те Карно (т.е. наиболее простое выражение). Такое решение не всегда будет легким. Несколько упражнений в конце главы помогут вам попрактиковаться в работе с без- различными состояниями. Рассмотрим еще один пример. Пример 4.15 Требуется спроектировать логическую схему, управляющую дверью лифта в трех- этажном здании. Схема, представленная на рис. 4.19, а, имеет четыре входа. М — логический сигнал, показывающий, когда лифт движется (М =1), а когда стоит (М = 0). Fl, F2 и F3 — сигналы индикаторов этажа, обычно имеющие низкий уро- вень. Они приобретают высокий уровень, только если лифт достигает соответствую- щего этажа. Например, когда лифт поднимается до уровня второго этажа, то F2 = 1, a F1 и F3 = 0. Сигнал на выходе схемы — OPEN — обычно имеет низкий уровень; высокий уровень он приобретает, когда дверь лифта должна быть открыта. Решение Заполним таблицу истинности для выходного сигнала OPEN (рис. 4.19, б). а) Лифт не может находиться на нескольких этажах одновременно, поэтому только у одного входного сигнала индикаторов этажей может быть высокий уровень в любое заданное время. Это значит, что во всех случаях, когда в таблице истинно- сти у нескольких сигналов индикаторов этажей уровень 1, речь идет о безразлич- ных состояниях. Можно расставить х для сигнала OPEN во всех восьми таких случаях, когда несколько сигналов F = 1. б) Рассматривая все восемь случаев, можно сделать вывод, что при М = 1 лифт движется, причем сигнал OPEN обязан находиться на уровне 0, так как дверь не должна открываться во время движения лифта. При М = 0 (лифт остановился) требуется, чтобы сигнал OPEN был равен 1 и один из индикаторов этажей также показывал 1. Если все сигналы индикаторов этажей равны 0, лифт останавлива- ется, но не напротив определенного этажа (в этом случае OPEN равен 0 и двери остаются закрытыми). Как только таблица истинности заполнена, можно перенести всю информацию в кар- ту Карно на рис. 4.19, в. В этой карте только три единицы, но целых восемь безраз- личных состояний. Изменив четыре таких состояния на единицы, получаем три, группы по четыре ячейки каждая, содержащих все исходные единицы. Это опти- мальная группировка для минимизации выражения выходного сигнала. Такой выбор трупп даст выходное выражение для сигнала OPEN, показанное под картой Карно. 164 Глава 4
M F1 F2 F3 II yy Схема управления лифтом т OPEN м F1 F2 F3 OPEN 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 X 0 1 0 0 1 0 1 0 1 X 0 1 1 0 X 0 1 1 1 X 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 X 1 1 0 0 0 1 1 0 1 X 1 1 1 0 X 1 1 1 1 X б) а) в) Рис. 4.19. Пример 4.15 OPEN = M(F1 + F2 + F3) г) □юме Работа с картами Карно имеет некоторые преимущества над алгебраическим ме- эм. Она представляет собой более упорядоченный процесс с четкими и определен- ии шагами по сравнению с методом проб и ошибок при алгебраическом упроще- I. Карты Карно обычно позволяют получить результат за меньшее время, особенно [ выражений с большим количеством членов, а, кроме того, они всегда дают ми- <альную форму для выходного выражения. Тем не менее, некоторые преподаватели предпочитают алгебраический метод, так : он требует хорошего знания булевой алгебры и не является сугубо механической цезурой. Нужно отметить, что у каждого метода свои преимущества, и хотя ыгинство разработчиков логических схем профессионально используют оба мето- хля того, чтобы получить приемлемые результаты, достаточно хорошо знать один их. уществуют и другие, более сложные методы, которые разработчики использую! минимизации логических схем с числом входов, большим четырех. Эти методы жально подогнаны для работы со схемами с большим количеством входов, । 5ИНАЦИ0ННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 165
т.е. там, где алгебраический метод или карты Карно не совсем подходят. Большая часть таких алгоритмов используется в компьютерных программах, которые осуще- ствляют минимизацию при заданных входных данных из таблицы истинности или из неупрощенного выражения. Контрольные вопросы 1. Получите выражение для примера 4.7, используя карту Карно. 2. Получите выражение для примера 4.8, используя карту Карно (данный пример отражает преимущества карт Карно для выражений с большим количеством членов). 3. Используя карту Карно, получите выражение для примера 4.9. 4. Что такое безразличное состояние? 4.6. Исключающее ИЛИ и исключающее ИЛИ-НЕ В цифровых системах довольно часто встречаются еще две специальные логиче- ские схемы: исключающее ИЛИ и исключающее ИЛИ-НЕ. Исключающее ИЛИ Рассмотрим логическую схему на рис. 4.20, а. Выходное выражение * для этой схемы х = АВ + АВ. Сопроводительная таблица истинности показывает, что х = 1 в двух случаях: А = 0, В = 1 (член АВ )иА = 1,В = О (член АВ). Иначе говоря, схема выдает высокий уровень, когда входные сигналы имеют противо- положные уровни. Данная схема называется исключающее ИЛИ (XOR — exclusive OR). Такая комбинация логических элементов довольно часто встречается в приложе- ниях и иногда может быть просто незаменимой. У схемы исключающее ИЛИ даже есть собственный символ (рис. 4.20, б), который содержит в себе всю логику схемы и, таким образом, обозначает то же логическое выражение, что и таблица истинно- сти. Схема исключающее ИЛИ представляет собой еще один тип логического элемен- та, поэтому далее она рассматривается именно с этой стороны. Символ исключающее ИЛИ в IEEE/ANSI изображен на рис. 4.20, в. Символ внутри прямоугольника (=1) показывает, что выходной сигнал будет иметь высокий уровень только в том случае, если один из входных сигналов будет высоким. В элементе исключающее ИЛИ только два входа (не существует элементов с тре- мя или четырьмя входами). Эти два входа построены так, что на выходе получаем х = АВ + АВ . Часто это условие записывают следующим образом х = А © В , где символ © обозначает операцию исключающее ИЛИ. Характеристики элемента исключающее ИЛИ можно описать так: 1. В данном элементе только два входа, а на выходе получаем сигнал х = АВ + АВ = А®В. 166 Глава 4
2. Выходной сигнал имеет высокий уровень, только когда два входа содержат про- тивоположные уровни. Некоторые ИС могут содержать элементы исключающее ИЛИ. Ниже перечислены микросхемы, каждая из которых состоит из четырех элементов исключающее ИЛИ. 74LS86 Исключающее ИЛИ (ТТЛ); 74С86 Исключающее ИЛИ (КМОП); 74НС86 Исключающее ИЛИ (быстродействующий КМОП). Символы элемента исключающее ИЛИ б) х = А Ф В = АВ + АВ х = АФ В в) Рис. 4.20. а) Схема исключающее ИЛИ и таблица истинности; б) традиционный символ элемента исключающее ИЛИ; в) символ элемента исключающее ИЛИ по стандартам IEEE/ANSI Исключающее ИЛИ-НЕ Схема исключающее ИЛИ НЕ (Exclusive-NOR, XNOR) полностью противополож- на схеме исключающее ИЛИ. На рис. 4.21. а изображена схема исключающее ИЛИ- НЕ с сопроводительной таблицей истинности. Выходное выражение для этой схемы х~АВ + АВ j'-'.есте с таблицей показывает, что х = 1 в двух случаях: А = В — 1 (член АВ) и Л = В = 0 (член АВ). Иначе говоря: схема исключающее ИЛИ-НЕ выдает сигнал высокого уровня на выхо- де, когда входные сигналы имеют одинаковые уровни. Очевидно, что выходной сигнал схемы исключающее ИЛИ-НЕ является ичверс- жым для сигнала исключающее ИЛИ. Традиционный символ элемента исключающее ЛИ НЕ получают путем добавления маленького кружка на выходе символа исклю- чающее ИЛИ (рис. 4.21, б), а символ по стандартам IEEE/ANSI — маленького тре- Иольника на выходе. Оба символа показывают, что у выходного сигнала низкий Вввень, когда только один из входных сигналов имеет высокий уровень. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 167
Символы элемента исключающее ИЛИ-НЕ д-----х. х = АФ В = АВ + АВ В-----77 х = А Ф В б) в) Рис. 4.21. а) Схема исключающее ИЛИ-НЕ и таблица истинности; б) традици- онный символ элемента исключающее ИЛИ; в) символ элемента исключающее ИЛИ по стандартам IEEE/ANSI В элементе исключающее ИЛИ-НЕ только два входа, которые построены так, что на выходе получаем х - АВ + АВ. Это условие еще записывают таким образом: х = А @ В, что представляет обычную инверсию операции исключающее ИЛИ. Характеристики элемента исключающее ИЛИ-НЕ можно описать так: 1. Данный элемент имеет только два входа, а на выходе получаем сигнал х = АВ + АВ = А ® В. 2. В выходном сигнале уровень высокий только тогда, когда оба входа имеют один и тот же уровень. Некоторые ИС могут содержать элементы исключающее ИЛИ НЕ. Далее перечис- лены микросхемы, которые содержат по четыре элемента исключающее ИЛИ-НЕ. 74LS266 — исключающее ИЛИ-НЕ (ТТЛ). 74С266 — исключающее ИЛИ-НЕ (КМОП). 74НС266 — исключающее ИЛИ-НЕ (быстродействующий КМОП). Каждая из этих микросхем с элементом исключающее ИЛИ-НЕ имеет, однако, такую схемотехнику на выходе, которая ограничивает их применение в некоторых приложениях. Очень часто разработчик схем получает функцию исключающее ИЛИ- НЕ простым соединением выхода элемента исключающее ИЛИ с инвертором. 168 Глава 4
Пример 4.16 Определите форму выходного сигнала для входных сигналов, изображенных на рис. 4.22. Рис. 4.22. Пример 4.16 Решение Форму выходного сигнала можно получить, используя свойство исключающее ИЛИ принимать высокий уровень, только если входные сигналы имеют различные уровни. Конечный результат, изображенный на том же рисунке, демонстрирует некоторые интересные моменты: а) Форма сигнала х совпадает с сигналом А в те промежутки времени, когда В = О (в интервалах от t0 до G и от t2 до t3). б) Форма сигнала х обратна форме сигнала А в то время, когда В = 1 (в интервале от до t2). в) Эти наблюдения показывают, что элемент исключающее ИЛИ может использо- ваться как управляемый инвертор — один из его входов служит для управления инверсией сигнала на другом входе. Данное свойство может оказаться полезным в некоторых приложениях. Пример 4.17 Двухбитовое число xxxQ может принимать любые значения (00, 01, 10 или 11). На- пример, когда Xj = 1 и х0 = 0, двоичное число равно 10 и т.д. Точно так же у-^Уо представляет второе двоичное число. Требуется спроектировать логическую схему, использующую входы хь х0, и уо, выход которой будет иметь высокий уровень только тогда, когда оба двоичных числа Х]Х0 и У\Уа будут равны. Решение Первый шаг решения — построение таблицы истинности для 16 входных условий (табл. 4.4). Выход г должен иметь высокий уровень во всех тех случаях, когда Х1Х0 = У\Уо, т.е. когда х2 = ух и х0 = Уо- Таблица показывает, что всего таких случая че- тыре. Можно было бы продолжать решение, используя обычную процедуру: получить дизъюнктивную форму г, попытаться упростить ее и затем реализовать результат. Од- нако суть этой задачи делает ее идеально подходящей для реализации на элементах ис- ключающее ИЛИ-НЕ. Обратимся к рис. 4.23. На логической диаграмме сигналы xi и yi поданы на один элемент исключающее ИЛИ-НЕ, а х0 и у0 — на другой. На выходе обо- их элементов будет высокий уровень только в том случае, если на обоих входах будет одинаковый уровень. Таким образом, для Xi = yi и х0 = Уо оба выходных сигнала будут иметь высокий уровень. Это и есть условие, которое необходимо было выполнить, т.е. оба двухбитовых числа равны. Необходимый результат заключается в том, что на выходе элемента И уровень будет высоким только в случае равенства обоих битов. Комбинационные логические схемы 169
аблица 4.4 Zt л х (выход) 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 Двоичное число Двоичное число Рис. 4.23. Схема для определения равенства двух двоичных чисел, состоящих из двух бит Z Пример 4.18 Упрощая выражения на выходе комбинационной логической схемы, можно увидеть опе- рации исключающее ИЛИ, а также исключающее ИЛИ-НЕ при вынесении за скобки об- щих множителей, что обычно легко реализовать с помощью одноименных элементов в конечной схеме. Чтобы продемонстрировать этот подход, посмотрим на рис. 4.24, а. Решение В неупрощенном выражении для схемы х = ABCD + ABCD + AD. Можно вынести множитель AD из двух первых членов за скобки: х = AD(BC + ВС) + AD). Выражение в скобках равнялось бы 1 только в том случае, если бы там стояло вы- ражение ВС + ВС . В скобках можно узнать комбинацию исключающее ИЛИ-НЕ для переменных В и С. Применим этот факт для переделки схемы, как показано на рис. 4.24, б. Эта схема намного проще исходной — используется меньшее количество входов, а также сокращены два инвертора. 170 Глава 4
Рис. 4.24, Пример 4.18. Один из способов применения элемента исключающее ИЛИ-НЕ при реализации схемы Контрольные вопросы 1. Используйте булеву алгебру, чтобы доказать, что выходное выражение для операции исключающее ИЛИ-НЕ — точная инверсия операции исключающее ИЛИ. 2. Каким будет выходной сигнал элемента исключающее ИЛИ-НЕ, если на его входы подать логический сигнал и его инверсную копию? 3. Инвертор, необходимый разработчику логических схем, содержит только эле- мент исключающее ИЛИ на микросхеме 74НС86. Понадобится ли разработчику другая микросхема? Комбинационные логические схемы 171
4.7. Генератор и проверочное устройство сигнала четности В главе 2 передатчик присоединяет бит четности к набору бит данных перед пере- сылкой их на приемник, что позволяет приемнику обнаруживать единичные ошиб- ки, появившиеся во время передачи. На рис. 4.25 показан пример одного типа логи- ческих схемных решений, который применяется для формирования сигнала четно- сти и проверки четности. Этот пример использует группу из четырех битов в качестве передаваемых данных, а также бит положительной четности, хотя с таким же успехом можно было бы применить отрицательную четность и любое количество бит. На рис. 4.25, а изображен набор данных, которые требуется передать. Он посту- пает на схему генератора сигнала четности, формирующую на своем выходе бит по- ложительной четности Р. Этот бит четности передается в приемник вместе с исход- ными битами данных, что составит уже пять бит. На рис. 4.25, б эти пять бит (данные + бит четности) поступают на схему проверочного устройства сигнала четно- сти в приемнике, которое генерирует выходной сигнал ошибки Е, показывающий, присутствует ли в данных единичная ошибка. Нет ничего удивительного, что обе схемы используют элементы исключающее ИЛИ, потому что элемент исключающее ИЛИ оперирует таким образом, что на его выходе будет 1, если у нечетного количества входов единичные уровни, а 0 на выхо- де элемента получается тогда, когда единице равно четное количество входных сиг- налов. Рис. 4.25. Элементы исключающее ИЛИ используются для реализации проверочного устрой- ства и генератора сигнала четности в системе с положительной четностью 172 Глава 4
Пример 4.19 Определите выходной сигнал генератора сигнала четности для каждого из перечис- ленных ниже наборов входных данных D^D2D\Do' а) 0111; б) 1001; в) 0000; г) 0100. Можете воспользоваться рисунком 4.25, а. Решение Для каждого случая подадим уровни сигналов данных на входы генератора сигнала четности и проследим их значения в каждом элементе вплоть до выхода схемы Р. Результаты таковы: а) 1; б) 0; в) 0; г) 1. Заметьте, что Р равен 1, только если исход- ные данные содержат нечетное количество единиц. Таким образом, общее количество единиц, посланное на приемник (данные + бит четности), будет четным. Пример 4.20 Определите выходной сигнал проверочного устройства сигнала четности (см. рис. 4.25, б) для каждого из нижеперечисленных наборов данных, полученных от передатчика: р D3 d2 Do а) 0 1 0 1 0 б) 1 1 1 1 0 в) 1 1 1 1 1 Решение г) 1 0 0 0 0 Для каждого случая подадим уровни сигналов данных на входы проверочного уст- ройства сигнала четности и проследим их величину до выхода схемы Е. Результаты таковы: а) 0; б) 0; в) 1 и г) 1. Заметьте, что сигнал Е равен 1, только если на входы проверочного устройства сигнала четности поступает нечетное количество единиц. Это показывает, что произошла ошибка, потому что в данной задаче используется положительная четность. 4.8. Разрешающие/запрещающие схемы Каждый из основных логических элементов может быть использован для управ- ления прохождением входного логического сигнала через схему. Этот принцип ото- бражен на рис. 4.26, где логический сигнал А подается на один из входов каждого из основных логических элементов. Второй вход В каждого элемента — управляющий. Логический уровень на этом управляющем зходе будет определять, разрешено ли прохождение входного сигнала на выход или запрещено. Именно по причине управ- ляющего действия таких схем их иногда называют вентилями. Внимательно изучив рис. 4.26, вы заметите, что когда включаются неинверти- рующие элементы (И, ИЛИ), то выходной сигнал будет в точности повторять входной сигнал А. И наоборот — когда включаются инвертирующие элементы (И-НЕ, ИЛИ- НЕ), выходной сигнал окажется инверсным входному сигналу А. Обратите внимание, что в элементах И, а также ИЛИ-НЕ в запрещенном состоя- жии на выходе постоянный низкий уровень, а элементы И-НЕ и ИЛИ генерируют по- гоянный высокий уровень выходного сигнала в том же запрещенном состоянии. При разработке цифровых схем часто встречаются ситуации, когда требуется раз- решить или запретить прохождение логического сигнала в зависимости от состояния <аного или нескольких управляющих входов. Некоторые из таких ситуаций приве- дены на рисунках ниже. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 173
РАЗРЕШЕНО 1ПГ л_п. тпг Рис. 4.26. Четыре основных элемента могут или разрешать, или запрещать прохожде- ние входного сигнала А под управлением логического уровня управляющего сигнала В Пример 4.21 Спроектируйте логическую схему, которая бы разрешала прохождение сигнала на выход, только когда управляющие сигналы В и С оба имеют высокий уровень; в про- тивном случае на выходе должен оставаться 0. Решение Воспользуемся элементом И, потому что сигнал должен проходить на выход без ин- версии, а условие запрещения прохождения должно дать на выходе низкий уровень сигнала. Так как условие разрешения должно выполняться только при В = С = 1, то потребуется элемент И с тремя входами (рис. 4.27, а). 174 Глава 4
Пример 4.22 Спроектируйте логическую схему, которая бы разрешала прохождение сигнала на выход, только когда один из двух управляющих сигналов имеет высокий уровень; в противном случае уровень сигнала на выходе должен оставаться высоким. Решение Результат изображен на рис. 4.27, б. Используется элемент ИЛИ, потому что усло- вие, которое запрещает прохождение, должно дать на выходе высокий уровень, и сигнал должен проходить на выход без инверсии. Управляющие сигналы В и С объе- диняются на элементе исключающее ИЛИ. Когда В и С отличаются друг от друга, элемент исключающее ИЛИ передает низкий уровень сигнала для включения эле- мента ИЛИ. Когда В и С одинаковы, элемент исключающее ИЛИ передает высокий уровень сигнала и выключает элемент ИЛИ.' Пример 4.23 Спроектируйте логическую схему для входного сигнала А, управляющего сигнала В и выходов X и У. Схема должна работать таким образом: а) Когда В = 1, X будет повторять сигнал А, причем У будет равен 0. б) Когда В = 0, X будет равен 0, а У будет повторять сигнал А. Решение На обоих выходах будет 0 при выключенной схеме и входной сигнал, если схема включена. Таким образом, надо использовать элемент И для каждого выхода. По- скольку X должен быть включен при В ~ 1, то один элемент И управляется сигна- лом В, как показано на рис. 4.28. Выход У должен быть включен при В = 0, следо- вательно, второй элемент И управляется сигналом В . Контрольные вопросы 1. Спроектируйте логическую схему с тремя входами А, В и С и выходным сигна- лом, который имеет низкий уровень, только когда сигнал А имеет высокий уро- вень, а В и С отличаются друг от друга. 2. Какие логические схемы имеют на выходе единицу в выключенном состоянии? 3. Какие логические схемы во включенном состоянии передают на выход инвер- тированный сигнал? Комбинационные логические схемы 175
4.9. Основные характеристики цифровых ИС Цифровые ИС представляют собой набор резисторов, диодов и транзисторов, изго- товленных на одном куске полупроводникового материала (обычно кремния). Эта ос- нова называется подложкой, но часто всю структуру называют микросхема. Микро- схема закрыта защитным пластиковым или керамическим корпусом, в котором сде- ланы выводы для подсоединения ИС к другим устройствам. Один из наиболее распространенных типов корпусов — плоский корпус с двухрядным расположением выводов, или корпус типа DIP, показанный на рис. 4.29, а. Корпус имеет такое на- звание благодаря двум параллельным рядам выводов. Эти выводы пронумерованы против часовой стрелки, если смотреть сверху. При этом обратите внимание на спе- циальный ключ или точку на одном из концов корпуса, от которой начинается от- счет (см. рис. 4.29, б). Корпус DIP, показанный на рисунке, имеет 14 выводов. Раз- меры такого корпуса — 0,75 дюйма на 0,25 дюйма. Также широко используются корпусы с 16, 20, 24, 28, 40 и 64 выводами. Из рис. 4.29, в видно, что сама полупроводниковая микросхема намного меньше, чем DIP; обычно она представляет собой кремниевый кристалл размерами примерно 0,05 квадратных дюйма, который подсоединен к выводам корпуса с помощью очень тонких проволочек (диамеаром одна тысячная дюйма). Корпус типа DIP — наиболее распространенный тип корпусов ИС в старых уст- ройствах цифровой схемотехники, но теперь становятся популярными и другие виды корпусов, которые рассматриваются в главе 8. в) Рис. 429. а) Плоский корпус с двумя рядами выводов (DIP); б) вид сверху; в) сам кремниевый кристалл намного меньше, чем защитная оболочка 176 Глава 4
Цифровые ИС часто классифицируют по их сложности, измеряемой количеством эк- вивалентных логических элементов на подложке. В настоящее время насчитывается шесть уровней сложности, которые разделяют примерно так, как это сделано в табл. 4.5. Таблица 4.5 Сложность Количество элементов на микросхеме Малая степень интеграции — МСИ (Small-Scale Integration — SSI) менее 12 Средняя степень интеграции — ССИ (Medium-Scale Integration — MSI) от 12 до 99 Высокая степень интеграции — ВСИ (Large-Scale Integration — LSI) от 100 до 9999 Сверхвысокая степень интеграции — СВСИ (Very Large- Scale Integration — VLSI) от 10 000 до 100 000 Ультравысокая степень интеграции •— УВСИ (Ultra Large- Scale Integration — ULSI) от 100 000 до 1 000 000 Гига-интеграция — ГИ (Giga-Scale Integration — GSI) 1 000 000 и более Все конкретные микросхемы, которые упоминались в этой главе и главе 3, отно- сятся к микросхемам с малой степенью интеграции (SSI), имеющих небольшое коли- чество элементов. В современных цифровых системах используются средняя степень интеграции (MSI) или высокая степень интеграции (LSI, VLSI, ULSI, GSI) и с их по- мощью осуществляется большинство функций, которые когда-то требовали несколь- ко плат с микросхемами, полными элементов с малой степенью интеграции. Однако микросхемы с малой степенью интеграции все еще используются в качестве интер- фейса или совокупности средств, обеспечивающих связывание стандартных компо- нентов в единую компонентную архитектуру между другими более сложными микро- схемами. Обычно используют небольшие схемы на дискретных элементах, чтобы со- единить ИС друг с другом или с прочими устройствами, поэтому необходимо знать, как анализировать, проектировать, тестировать, а также искать неисправности в простых соединительных схемах. Биполярные и униполярные цифровые ИС Цифровые ИС можно также классифицировать согласно основному типу элек- тронных компонент, использованных в схеме. Биполярными ИС называются такие интегральные схемы, которые изготовлены на биполярных плоскостных транзисто- рах (типа р-п-р или п-p-n). Униполярные ИС — это такие схемы, которые в качестве основного элемента используют униполярные полевые транзисторы (р-канальные или n-канальные МОП-структуры). ТТЛ-элементы (на транзисторно-транзисторной логике) оставались основной сери- ей элементов на биполярных транзисторах в цифровых ИС на протяжении более 30 лет. Стандартная серия 74 стала первой серией ИС на ТТЛ. В новых схемах эта серия уже не используется — ее заменили другие быстродействующие ТТЛ-серии, но базовое расположение элементов серии 74 является основой для всех ТТЛ-серий для ИС. Такое расположение элементов для стандартного ТТЛ-инвертора показано на рис. 4.30, а. Заметьте, что в качестве основных элеменюв схема содержит несколько биполярных транзисторов. ТТЛ оставалась ведущей логикой элементов для категорий ИС с малой и средней степенями интеграции вплоть до последнего десятилетия, когда ей бросила вызов КМОП-технология, которая понемногу вытеснила ТТЛ. КМОП (комплементарная структура металл-оксид-полупроводник) принадлежит к классу униполярных цифро- вых ИС, потому что здесь в качестве основных элементов используются р-канальные Комбинационные логические схемы 177
или п-канальные МОП-структуры. На рис. 4.30, б приведена стандартная схема ин- вертора на КМОП. Если сравнить схемы на ТТЛ и КМОП на рис. 4.30, можно уви- деть, что КМОП-технология использует меньшее количество компонентов — это одно из основных ее преимуществ перед ТТЛ. Поскольку ИС на КМОП и ТТЛ и сейчас доминируют в области производства уст- ройств с малой и средней степенями интеграции, обратим особое внимание пользова- теля именно на эти две технологии. В главе 8 характеристики и схемотехника ТТЛ и КМОП рассматриваются подробно, а далее пока только дан обзор их основных пара- метров для поиска неполадок в простых комбинационных схемах. Рис. 4.30. а) Схема инвертора на ТТЛ; б) схема инвертора на КМОП. В скобках приведе- ны номера выводов Семейство ТТЛ Семейство ТТЛ состоит из нескольких подсемейств или серий. В табл. 4.6 пере- числены названия всех серий ТТЛ вместе с названием, которое используется для то- го, чтобы отличать серии ИС. Например, ИС на ТТЛ-элементах стандартной серии имеют идентификационный номер, начинающийся с цифры 74. ИС с номерами 7402, 7438 и 74123 все принадлежат именно к этой серии. Точно так же ИС, принадлежа- щие к ТТЛ-серии на маломощных транзисторах Шотки, имеют идентификационный номер 74LS. ИС с номерами 74LS02, 74LS38 и 74LS123 являются примерами уст- ройств серии 74LS. Таблица 4.6 ' ТТЛ-серия Приставка Пример ИС Стандартная ТТЛ 74 7404 (сборка из шести инверторов) ТТЛ Шотки 74S 74S04 (сборка из шести инверторов) ТТЛ на маломощных транзисторах Шотки 74LS 74LS04 (сборка из шести инверторов) Улучшенная ТТЛ на транзисторах Шотки 74AS 74AS04 (сборка из шести инверторов) Улучшенная ТТЛ на маломощных транзисто- рах Шотки 74ALS 74ALS04 (сборка из шести инверторов) 178 Глава 4
Основное различие между элементами ТТЛ заключается в их электрических ха- рактеристиках, таких как мощность рассеяния и скорость переключения. Они не различаются расположением выводов или типом выполняемых микросхемой логиче- ских операций. Например, ИС 7404, 74S04, 74LS04, 74AS04 и 74ALS04 — сх^мы из шести инверторов на одной плате. Семейство КМОП Некоторые серии КМОП приведены в табл. 4.7. Серия 4000 — самая старая серия КМОП-технологии, она содержит большое количество аналогичных семейству ТТЛ логических функций, но серия 4000 не разрабатывалась с учетом совмести части выводов с устройствами ТТЛ. Например, микросхема 4001 состоит из четырех эле- ментов ИЛИ-НЕ, каждый с двумя выводами, что в точности повторяет ТТЛ микро- схем 7402, но при этом у входов и выходов элементов на КМОП микросхеме номера выводов отличаются от номеров микросхем ТТЛ. Серии 74С, 74НС, 74НСТ, 74АС и 74АСТ — новые серии КМОП. Первые три со- вместимы по выводам с соответствующими сериями ТТЛ. Например, 74С02, 74НС02 и 74НСТ02 имеют ту же нумерацию выводов, что и серии 7402, 74LS02 и т.д. Серии 74НС и 74НСТ работают быстрее, чем устройства 74С. Серия 74НСТ спроектирована электрически совместимой с устройствами ТТЛ, т.е. интегральная схема 74НСТ может быть напрямую подсоединена к устройствам ТТЛ без использования каких- либо интерфейсных схем. Серии 74АС и 74АСТ имеют повышенную производитель- ность, но ни одна из них не совместима с ТТЛ по выводам. Устройства же серии ”1АСТ наоборот — электрически совместимы с транзисторно-транзисторной логикой. Более конкретно различные серии ТТЛ и КМОП рассматриваются в главе 8. |Габлйца 4.7 КМОП-серия Приставка Пример ИС КМОП-структура с металлическими затворами 40 4001 (сборка из четырех ИЛИ-НЕ) I КМОП-структура с металлическими затворами, совмести- мая с ТТЛ по выводам 74С 74С02 (сборка из четырех ИЛИ-НЕ) Высокоскоростная КМОП-структура с кремниевыми затво- 1 рами, совместимая с ТТЛ по выводам 74НС 74НС02 (сборка из четырех ИЛИ-НЕ) I 5с сокоскоростная КМОП-структура с кремниевыми затво- рами, совместимая с ТТЛ по выводам и электрически 74НСТ 74НСТ02 (сборка из четы- рех ИЛИ-НЕ) КМОГ -структура с улучшенным быстродействием, несо- вместимая с ТТЛ по выводам и электрически 74АС 74АС02 (сборка из четырех ИЛИ-НЕ) КЛ’ЭП-структура с улучшенным быстродействием, несовмес- Ммая с ТТЛ по выводам, но совместимая электрически 74АСТ 74АСТ02 (сборка из четы- рех ИЛИ-НЕ) итание и общий провод При использовании цифровых ИС необходимо правильно подсоединять выводы * к другим устройствам. Наиболее важные соединения — проводники питания по- каянного тока и общий (заземление), которые являются непременным условием х правильной работы схем на плате. Обратившись к рис. 4.30, вы можете видеть, схемы как на ТТЛ, так и на КМОП обязательно имеют постоянный (по току) пе- нник питания, подсоединенный к одному из выводов, а также общий провод, под- моченный к другому. Источник питания обозначается Vcc для схем на ТТЛ и VDD схем на КМОП. Многие современные интегральные схемы на КМОП, спроекти- Ьанные с учетом электрической совместимости с интегральными схемами ТТЛ, же используют обозначение Vcc на выводе питания. ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 179
Если ИС не имеет источника питания или общего провода, логические элементы на плате не смогут правильно реагировать на входные сигналы, а значит, вся схема не сможет генерировать требуемые логические уровни на выходе. Диапазоны напряжения логических уровней Для устройств ТТЛ напряжение Vcc обычно равно +5 В. Для интегральных схем на КМОП VdD может колебаться от +3 до +18 В, хотя если интегральные схемы по КМОП-технологии используются вместе с ИС на ТТЛ, наиболее часто используют на- пряжение питания VDD = +5 В. Для стандартных устройств ТТЛ приемлемый диапазон входных напряжений ко- леблется для уровней логического 0 и логической 1 и определяется так, как это по- казано на рис. 4.31, а. Логическим нулем называется любое напряжение в диапазоне от О до 0,8 В; логической единицей — любое напряжение в диапазоне от 2 до 5 В. Напряжения вне пределов этих диапазонов называются неопределенными и не должны использоваться как входные сигналы ТТЛ-устройств. Производители ИС не могут гарантировать реакцию ТТЛ-схемы на входной уровень из неопределенного диапазона (между 0,8 и 2,0 В). ТТЛ 5,0В ••• ЛОГИЧЕСКАЯ 1 3,5 В •• КМОП* ЛОГИЧЕСКАЯ 1 Не определено 2,0 В • •• 0,8В ••• ОВ ••• Не определено ЛОГИЧЕСКИЙ 0 1,5В ••• ОВ ЛОГИЧЕСКИЙ 0 5,0 В • • *VDD = + 5В а) б) Рис. 4.31. Диапазоны логических уровней входных напряжений для цифро- вых ИС на ТТЛ и на КМОП Диапазоны логических уровней входных напряжений для интегральных схем на КМОП, оперирующие с напряжениями VDD = +5 В, показаны на рис. 4.31, б. Напря- жения между 0 и 1,5 В определены как логический ноль, а напряжения от 3,5 В до 5 В считаются логической единицей. Неопределенный диапазон включает напряже- ния от 1,5 до 3,5 В. Неподключенные (плавающие) входы Что же случится, если вход цифровой ИС останется неподключенным к какому- либо другому устройству? Неподключенные входы часто называют плавающими. От- вет на этот вопрос различен для ТТЛ и КМОП. Плавающий вход ТТЛ будет действовать как логическая единица. Другими ело-, вами, ИС будет реагировать, как если бы на данном входе присутствовал высокий уровень сигнала. Эта характеристика часто используется при тестировании ТТЛ- схем. Неосмотрительный техник может даже оставить некоторые входы неподклю- 180 Глава 4
ченными вместо того, чтобы подключить к ним логический сигнал с высоким уров- нем. Хотя это и будет логически корректно, не рекомендуется практиковать такой подход, особенно на финальной стадии разработки схем, так как плавающий вход ТТЛ крайне чувствителен к шумовым сигналам, которые могут неблагоприятно вли- ять на работу схемы. Плавающий вход ТТЛ будет показывать уровень постоянного тока между 1,4 и 1,8 В при измерении с помощью вольтметра или осциллографа. Несмотря на то, что данный уровень лежит в неопределенном диапазоне, схема на ТТЛ может отреагиро- вать как на логическую единицу. Знание этой характеристики плавающих входов может оказаться неоценимым при поиске неполадок в таких схемах. Если плавающим оставлен вход КМОП, это может иметь неприятные последст- вия. ИС может перегреться и в итоге вообще сгореть. По этой причине ко всем вхо- дам интегральной микросхемы, выполненной по КМОП-технологии, должны быть подсоединены либо низкий или высокий уровни сигналов, либо выходы другой ИС. Плавающий вход КМОП не покажет определенной величины напряжения при изме- рении, а будет случайным образом колебаться, так как микросхема реагирует на шумы. Таким образом, вход КМОП не будет вести себя как логический нуль или ло- гическая единица, и поэтому эффект от такого неподключения непредсказуем. Ино- гда выход колеблется как результат воспринятых плавающим входом шумов. Коммутационная диаграмма логических схем Коммутационная диаграмма показывает все электрические соединения, номера выводов и ИС, значения номиналов компонентов, названия сигналов, напряжения питания. На рис. 4.32 показана типичная коммутационная диаграмма простой логи- ческой схемы. Тщательно изучите ее и обратите особое внимание на следующие важ ные моменты: Рис. 4.32. Типичная коммутационная диаграмма логической схемы ИС Тип Z1 74НС04 шесть инверторов Z2 74НС0С четыре элемента И-НЕ 1. Схема использует логические элементы двух разных ИС. Два инвертора являют- ся частью микросхемы 74НС04, которая обозначена Z1. Плата 74НС04 содержит шесть инверторов; в этой схеме используются два из них, каждый имеет обозна- чение Z1, показывающее, что инвертор является частью данной ИС. Точно так же и два элемента И-НЕ — часть микросхемы 74НС00, состоящей из четырех элементов И-НЕ. Все элементы на этой плате обозначены Z2. С помощью нумера- ции каждого элемента (Zl, Z2, Z3 и т.д.) можно проследить, какой элемент явля- Комбинационные логические схемы 181
ется частью какой микросхемы. Это особенно важно в более сложных схемах, со- держащих много ИС с несколькими элементами на плате. 2. Каждый входной и выходной вывод элемента показан на диаграмме. Эти номера выводов, а также обозначения ИС служат для того, чтобы быстро и легко разы- скать любую точку на схеме. Например, вывод 2 схемы Z1 относится к верхнему инвертору на диаграмме. Таким же образом можно сказать, что вывод 4 схемы Z1 подключен к выводу 9 схемы Z2. 3. Питание и общий провод каждой ИС (но не каждого элемента) показаны на диа грамме. Например, вывод 14 схемы Z1 подключен к источнику напряжения +5В, а вывод 7 схемы Z1 подключен к общему проводу. Эти соединения обеспечивают питание для всех шести инверторов данной схемы. Производители электронного оборудования, как правило, прилагают к своим про- дуктам летальные схемы, обычно примерно такого же формата, что и диаграмма на рис. 4.32. Такие коммутационные диаграммы необходимы при поиске неполадок в схеме. В данной книге различные интегральные микросхемы обозначены как Zl, Z2, Z3 и т.д. Часто также пользуются другими общепринятыми обозначениями: IC1, IC2, IC3 и т.д. или Ul, U2, U3 и т.д. Контрольные вопросы 11. Какой корпус цифровых ИС наиболее распространенный? 2. Назовите шесть общепринятых категорий цифровых ИС, классифицированных по их сложности. 3. Проверьте истинность высказывания: микросхема 74S74 содержит ту же ло- гику и имеет ту же нумерацию выводов, что и микросхема 74LS74. 4. Проверьте истинность высказывания: микросхема 74НС74 содержит ту же логику и имеет ту же нумерацию выводов, что и микросхема 74AS74. 5. Какие серии КМОП не совместимы по выводам с ТТЛ? 6. Какой диапазон входного напряжения для уровня логического нуля в ТТЛ? Какой диапазон для логической единицы? 7. Ответьте на вопрос 6 для КМОП-схем, работающих с напряжением питания VDD = 5 В 8. Как отреагирует интегральная ТТЛ-схема на плавающий вход? 9. Как отреагирует интегральная схема на КМОП-структуре на плавающий вход? 10. Какие серии КМОП могут быть прямо подключены к ТТЛ без каких-либо ин- терфейсных схем? 4.10. Поиск неполадок в цифровых системах Существует три основных шага при ремонте неисправной цифровой схемы или системы: 1. Поиск неисправности. Обследуйте работу схемы/системы и сравните с ожидае-1 мой корректной работой схемы. 2. Локализация неисправности. Протестируйте систему и проведите необходимый измерения ее параметров для того, чтобы локализовать неисправность. 3. Ремонт неисправности. Замените неисправный компонент, отремонтируйте неис-| правное соединение, исправьте замыкание и т.п. 182 Глава 4
На первый взгляд эти действия могут показаться очевидными и предельно про- стыми, но настоящая процедура ремонта неисправностей зависит непосредственно от типа и сложности схемы, а также от набора инструментов по поиску неисправностей и доступной документации. Настоящие навыки по ремонту неисправностей можно получить только в лабора- тории путем многочисленных экспериментов и реального поиска неполадок в неис- правных схемах и системах. Не вызывает сомнений, что наилучший способ стать профессионалом по устранению неисправностей — работать над неисправными схе- мами как можно больше, и никакие горы прочитанных книг не смогут заменить по- лученного опыта. Эта книга призвана помочь развить у специалиста аналитические навыки, которые являются основой эффективного поиска неполадок. Читатель узна- ет о различных видах наиболее распространенных неисправностей в системах, со- стоящих в основном из цифровых ИС, а также о том, как распознавать эти неис- правности. Для наглядности представлены конкретные случаи таких неполадок, что- бы продемонстрировать аналитический процесс поиска неисправностей. Упражнения в конце главы помогут пользователю самостоятельно пройти весь процесс анализа и сделать выводы о причине неправильной работы схемы. Чтобы проработать все вопросы и упражнения, рассмотренные в этой книге, спе- циалисту по устранению неисправностей понадобится базовый набор инструментов: .логический пробник, осциллограф, импульсный генератор логических функций, токо- вый детектор. В трех следующих разделах будет использоваться логический пробник, показан- ный на рис. 4.33. Логический пробник имеет острый металлический щуп, которым можно коснуться конкретной тестируемой точки. На рисунке показано, как пробник проверяет вывод № 3 на ИС. Пробником можно также коснуться проводящей дорож- жи на печатной плате схемы, неизолированного провода, вывода, контакта дискрет- ного компонента (например, транзистора) или любой другой части схемы. Логиче- ский уровень на щупе пробника можно определить по состоянию светового индика- тора или светодиода на самом пробнике. В таблице на рис. 4.33 приведены четыре возможных ситуации. Заметьте, что неопределенный логический уровень видно по тусклому свечению индикатора. Это признак того, что щуп пробника касается точки жа схеме, которая никуда не присоединена или “плавает”, т.е. не имеет контакта с жаким-либо источником напряжения. Световой индикатор Логический уровень Логический пробник VCC Земля Световой индикатор Не горит Горит(ярко) Тускло Мигает низкий выскоий неопределенный* пульсирующий * Включая неприсоединенное или плавающее состояние Печатная хплата Земля г. 4.33. Логический пробник используется для контроля логических уровней на любом вы- е ИС или в любой точке логической схемы ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 183
4.11. Внутренние неполадки в цифровых ИС Наиболее распространены следующие неполадки цифровых ИС: 1. неисправность внутренних схем; 2. замыкание входов или выходов на общий провод или Vcc; 3. отсутствие контакта входов или выходов; 4. замыкание между двумя выводами (не на общий провод или Vcc). Теперь попытаемся описать каждый из перечисленных выше типов неисправностей. Неисправность внутренних схем Обычно эта неисправность вызвана одним из внутренних компонентов, который полностью вышел из строя и больше не может работать в заданном режиме. Если это произошло, выходы ИС не мо1ут правильно реагировать на входные сигналы ИС и никак нельзя предсказать их отклик, потому что он будет зависеть от того, какой внутренний компонент вышел из строя. Пример такого типа неисправности — замы- кание между базой и эмиттером транзистора Q4 или чрезмерно большое значение со- противления jR2 в схеме ТТЛ-инвертора на рис. 4.30, а (этот тип внутренних непола- док ИС встречается не так часто, как три другие). Внутреннее замыкание входов на общий провод или источник питания Этот тип внутренних неисправностей приведет к тому, что на входе ИС будет по- стоянно один и тот же логический уровень: то ли высокий, то ли низкий. На рис. 4.34, а показан вывод 2, который всегда будет находиться в состоянии низкого уровня. Если этот входной вывод управляется логическим сигналом В, произойдет замыкание В на общем проводе. Таким образом, этот тип неполадки будет влиять на выходной сигнал устройства, генерирующего сигнал В. Точно так же входной вывод ИС может быть замкнут внутри схемы на +5 В, как показано на рис. 4.34, б. При этом данный вывод будет постоянно находиться в со- стоянии высокого уровня. Если этот вход будет управляться логическим сигналом А, произойдет замыкание А на +5 В. Внутреннее замыкание выхода на общий провод или источник питания Этот тип внутренних неисправностей приведет к тому, что вывод на выходе ИС будет постоянно оставаться на одном и том же логическом уровне: высоком или низ- ком. На рис. 4.34, в вывод № 3 элемента И-НЕ внутри ИС замкнут на общий провод. Этот выход все время будет находиться в состоянии низкого уровня и не будет отве- чать на состояния входа, задаваемые на выводах 1 и 2; другими словами, логические входы А и В никак не повлияют на выход X. Выходной вывод ИС может также быть замкнут на +5 В внутри ИС, как показано на рис. 4.34, г. Это приведет к тому, что вывод № 3 на выходе будет оставаться в со- стоянии высокого уровня независимо от сигналов, поданных на вход. Заметьте, чтс данный тип неисправности не имеет никакого влияния на логические уровни на вхо- дах ИС. 184 Глава 4
замыкание а) б) Рис. 4.34. а) Вход ИС, замкнутый на общий провод внутри схе- мы; б) вход ИС, замкнутый на источник питания внутри схе- мы. Эти два типа неисправностей заставляют входной сигнал на замкнутом выводе постоянно оставаться только в одном со- стоянии; в) выход ИС, замкнутый на общий провод внутри схе- мы; г) выход ИС, замкнутый на источник питания внутри схе- мы. Последние два типа неисправностей никак не повлияют на сигналы на входах ИС пимер 4.24 :мотрите на рис. 4.35. Техник использует логический пробник, чтобы определить гояние различных выводов ИС. Изучите полученные результаты в таблице на ри- ке и определите, правильно ли работает схема. В противном случае укажите воз- нные причины неполадок. Рис. 4.35. Пример 4.24 Вывод Состояние Z1-3 Импульсы Z1-4 низкий Z2-1 низкий Z2-2 высокий Z2-3 высокий ние э<д 4 на выходе инвертора должен пульсировать, так как пульсирует его вход, писанные результаты, однако, показывают, что вывод 4 постоянно имеет низкий нь. Его подсоединение к выводу 1 элемента Z2 привело к тому, что на выходе ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 185
элемента И-НЕ появился высокий уровень сигнала. Запишем три возможные ошиб- ки, которые вызвали подобную ситуацию. Во-первых, в инверторе мог произойти выход из строя каких-либо компонентов внутри схемы инвертора, что привело к неправильной реакции на входной сигнал. Во-вторых, вывод 4 инвертора мог оказаться замкнутым на общий провод внутри схемы Z1, тем самым вызывая низкий уровень на выходе. В-третьих, вывод 1 эле- мента Z2 мог замкнуться на общий провод внутри Z2, что тоже помешало бы изме- нению напряжения на выходе инвертора. Кроме всех этих возможных проблем, также могли возникнуть внешние замыкания на общий провод где-либо между выводом 4 элемента Z1 и выводом 1 элемента Z2. Чтобы локализовать реальную неисправность, обратимся к следующему примеру. Разомкнутый вход или выход Иногда очень тонкая проводящая проволочка, соединяющая вывод ИС с ее внут- ренними схемами, может порваться, размыкая тем самым цепь. На рис. 4.36 в примере 4.25 показана такая ситуация для входа (вывод 13) и выхода (вывод 6). Если подать сигнал на вывод 13, то он не достигнет входа элемента И-НЕ 1 и, таким образом, никак не будет влиять на выход. Разомкнутый вход будет находиться в плавающем состоя- нии. Как указано выше, устройства ТТЛ будут отвечать на данный вход так, как будто на него была подана логическая единица, а устройства КМОП будут отвечать случай- ным образом и могут даже полностью выйти из строя вследствие перегрева. Рис. 4.36. ИС с внутренним размыканием входа не будет реагировать на сигналы, поданные на входной вывод. Разомкнутый выход будет генериро- вать непредсказуемое напряжение на соответствующем выводе Размыкание на выходе элемента И-НЕ-4 не дает сигналу попасть на вывод 6 ИС, поэтому на данном выводе не будет стабильного напряжения. Если такой вывод под- ключен ко входу другой ИС, то состояние на входе будет неопределенным. Пример 4.25 Что покажет логический пробник на выводах 13 и 6 схемы на рис. 4.35? Решение На выводе 13 логический пробник покажет логический уровень внешнего сигнала^ поданного на этот вывод (на диаграмме не изображен). На выводе 6 пробник покажет тусклое свечение — неопределенный логический уровень, так как выходной уровень элемента И-НЕ не достигает вывода 6. 186 Глава 4
Пример 4.26 Посмотрите на схему (рис. 4.37) и записанные результаты показаний логического пробника. Какие возможные ошибки привели к таким результатам? ИС выполнена на ТТЛ. Решение Изучение полученных результатов показывает, что инвертор работает правильно, но выходной уровень элемента И-НЕ не согласуется с ожидаемым. На выходе должен быть высокий уровень, так как на вывод 1 на входе элемента подан низкий уровень. Такой уровень не дает элементу И-НЕ реагировать на импульсы на выводе 2. Воз- можно, что низкий уровень не достигает внутренних схем элемента И-НЕ из-за внут- реннего размыкания. ИС выполнена на ТТЛ, поэтому данная разомкнутая схема мо- жет привести к такому же результату, как и логический высокий уровень на выво- де 1. Если бы ИС была выполнена по КМОП-технологии, то внутреннее размыкание на выводе 1 могло бы привести к неопределенному уровню на выходе, а также воз- можному перегреву и выходу микросхемы из строя. Из предыдущих рассуждений и исходя из того, что входы устройства ТТЛ разомкну- ты, напряжение на выводе 1 устройства Z2 будет равно примерно 1,4-1,8 В, пробник расценит это напряжение как неопределенный уровень. Это было бы правильно в том случае, если бы разомкнутая схема была внешней по отношению к элементу И-НЕ. А поскольку между выводами 4 элемента Z1 и 1 элемента Z2 нет разомкнутой цепи, то вапряжение на выводе 4 элемента Z1 достигнет вывода 1 элемента Z2, но потеряется внутри элемента И-НЕ из-за обрыва в нем. Примечание: Vcc и земля каждой ИС не показаны Вывод Состояние Z1-3 высокий Z1-4 низкий Z2-1 низкий Z2-2 Импульсы Z2-3 Импульсы Рис. 4.37. Пример 4.26 гмыкание между двумя выводами Внутреннее замыкание между двумя выводами ИС приведет к тому, что логиче- ie сигналы на этих выводах все время будут иметь одинаковые уровни сигнала, гда два сигнала, которые должны иметь различные уровни, показывают одинако- в колебания логических уровней, всегда есть большая вероятность того, что сигна- замкнуты друг на друга. Рассмотрим схему (рис. 4.38), на которой выводы 2 и 4 элемента И-НЕ замкнуты при самого элемента. Замыкание приводит к тому, что выводы на выходе обоих крторов соединяются друг с другом, и сигналы на выводе 2 микросхемы Z1 и на воде 4 микросхемы Z1 имеют одинаковый уровень, даже если входные сигналы верторов поданы так, чтобы произвести различные выходные уровни. Рассмотрим рвы входных сигналов, показанные на диаграмме. Даже несмотря на то, что эти рвы отличаются, на выводах Z1-2 и Z1-4 они одинаковы. Б интервале времени от fj до t2 оба инвертора имеют на входах высокий уровень нала и пытаются выдать на выходах низкий уровень, и то, что они замкнуты, не вывает никакого влияния на данный процесс. В интервале от i4 до t5 в обоих ин- ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 187
тервалах низкии уровень на входах и они пытаются получить на своих выходах < сокий уровень, так что замыкание снова не оказывает никаких последствий на работу. Однако в интервалы от t2 До Ц и от t3 до t4 один инвертор пытается выдать выходе высокий уровень, в то время как другой — низкий. Такая ситуация назы ется конфликтом сигналов, потому что оба сигнала “борются” друг с другом. Ес конфликт сигналов происходит в действительности, уровень напряжения на замк] тых выходах будет зависеть от внутреннего строения ИС. Для устройств ТТЛ : обычно напряжение около верхней границы диапазона логического нуля (т.е. оке 0,8 В), хотя оно может попасть и в неопределенный диапазон. Для устройств КМ< это напряжение из неопределенного диапазона. Рис. 4.38. Когда два вывода на входе замыкаются, сигналы, поданные на эти выводы, принудительно приводятся к одному уровню, после чего обычно появляется третий ло- гический уровень Когда форма сигнала подобна изображенной на рис. 4.38 для сигналов на Z1-2 и Z1-4 и содержит три логических уровня, скорее всего два выходных закорочены друг на друга. Контрольные вопросы 1. Назовите различные типы неполадок в цифровых ИС. | 2. Какая внутренняя неисправность ИС может привести к появлению трех уров- ней напряжения? 3. Что покажет логический пробник на выводах Z1-2 и Z1-4 на рис. 4.38, если А = 0, а В = 1? 4. Что такое конфликт сигналов? 4.12. Внешние неполадки О том, как можно распознать эффекты от различных внутренних неполадок • цифровых ИС, рассказывалось в предыдущих разделах. Однако намного больше н приятностей случается по причине внешних неполадок; в этом разделе описаны наа более распространенные из них. 188 Глава
Разомкнутый сигнальный провод Этот род неполадок включает все неисправности, которые приводят к излому или разрыву проводящей дорожки, т.е. такие, которые мешают уровню напряжения перей- ти из одной точки в другую. Вот несколько причин открытых сигнальных проводов. 1. Разрыв провода. 2. Плохое соединение пайкой; расшатанное соединение накруткой. 3. Треснувшая или разрезанная проводящая дорожка на печатной плате (некоторые из таких трещин тоньше волоса, так что их тяжело увидеть без помощи увеличи- тельного стекла). 4. Загнутый или сломанный вывод ИС. . 5. Неисправное гнездо для ИС, не позволяющее получить хороший контакт. Неполадки такого типа часто можно обнаружить при тщательном визуальном изучении, а потом проверить, отсоединив питание от схемы, и проследить непрерыв- ность проводящей дорожки с помощью омметра, измеряя сопротивление между теми двумя точками проводника, где возможен разрыв. Пример 4.27 Посмотрите на КМОП-схему на рис. 4.39 и сопроводительную таблицу показаний ло- гического пробника. Какая наиболее вероятная ошибка схемы? Z1: 74НС08 Z2: 74НС02 Рис. 4.39. Пример 4.27 Вывод Состояние Z1-1 Импульсы Z1-2 высокий Z1-3 Импульсы Z1-4 низкий Z1-5 Импульсы Z1-6 низкий Z2-3 Импульсы Z2-2 Неопределенный Z2-1 Неопределенный мнение “определенный уровень на выходе элемента ИЛИ-НЕ появился вследствие неопре- ленного уровня на входном выводе 2. На выводе Z1-6 уровень низкий, поэтому иким он будет и на выводе Z2-2. Ясно, что низкий уровень с вывода Z1-6 не дости- ет вывода Z2-2, а значит между ними должен быть разрыв сигнального провода •мы. Место этого обрыва можно определить так: сначала необходимо обследовать юводник логическим пробником с вывода Z1-6, а затем проследить низкий уровень > проводнику до вывода Z2-2 вплоть до того места, где низкий уровень переходит в определенный. мкнутый сигнальный провод У этого типа неисправностей те же последствия, что и у внутреннего замыкания кду выводами ИС. Он может привести два сигнала к одному уровню (конфликт МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 189
сигналов;, сигнальный провод замыкается скорее на оощем проводе или на исс, чем на другом проводе. В таких случаях сигнал принудительно будет приведен к низкому или высокому уровню соответственно. Главные причины внезапных замыканий меж- ду двумя точками могут быть следующие. 1. Нестабильный провод. Причина неисправности — слишком большой отрезок изоляции, снятой с концов близко лежащих проводов. 2. Замыкание между пайками. Капли припоя могут замкнуть две или несколько точек между собой. Обычно такой тип неисправности присущ очень близко ле- жащим точкам, например, прилегающим выводам ИС. 3. Несовершенное травление. Медь между прилегающими проводящими дорожка- ми на печатной плате иногда может быть не полностью вытравлена. Тщательное визуальное изучение часто позволяет быстро обнаружить неполадки и этого типа, а омметр — проверить, между какими двумя точками возникло замыкание. Неисправный источник питания Все цифровые системы имеют один или несколько источников питания постоян- ного тока, которые подают на схему требуемые напряжения Vcc n VDD. Неисправный или перегруженный (питающий схему, которая требует больший ток, чем предна- значено) источник питания будет подавать на интегральную схему плохо регулируе- мое напряжение — в результате ИС не будет работать совсем или будет работать не- правильно. Источник питания может выйти из строя из-за неполадок во внутренних схемах, или из-за того, что схема, которую он питает, потребляет больший ток, чем тот, на который данный источник рассчитан. Такая ситуация возможна, если микросхема или компонент имеют какую-либо неисправность, приводящую к гораздо большем} потреблению тока. При поиске неполадок очень эффективной будет проверка уровней напряжения на каждом источнике питания системы, которая показывает, лежат ли они все в задан- ных пределах. Также целесообразно проверить источники питания с помощью ос- циллографа, чтобы убедиться, что уровни постоянного тока не сильно пульсируют и во время работы схемы, а уровни напряжения остаются постоянными. Один из наиболее явных признаков неисправного источника питания — когда од- на или несколько микросхем работают неправильно или не работают вообще. Неко-1 торые ИС более устойчивы к флуктуациям напряжения источника питания и могут продолжать работу, в то время как другие не будут функционировать. Всегда важно проверить напряжения питания и общего провода на каждой ИС, которая работает неправильно. Перегрузка на выходе Когда выход цифровой ИС подсоединен к слишком большому количеству входов других ИС, выходной ток может превысить номинальное значение, и напряжение на| выходе попадет в неопределенный интервал. Такой эффект называется перегрузкой! выходного сигнала, обычно это результат неумелого проектирования схем или непра- вильного их соединения. Контрольные вопросы 1. Назовите наиболее распространенные виды внешних ошибок. 2. Назовите некоторые причины разомкнутых сигнальных проводов в схемах. 3. По каким признакам можно определить неисправный источник питания? 4. Как влияет перегрузка на выходной уровень напряжения ИС? 190 Глава <1
4.13. Изучение неисправностей Следующий пример раскроет аналитический процесс поиска неисправностей в цифровых схемах. Хотя в примере использована довольно простая комбинационная логическая схема, приведенные рассуждения и последовательность действий могут быть применены к любым более сложным цифровым схемам, которые рассматрива- ются в последующих главах. Пример 4.28 Изучите схему на рис. 4.40. Выход Y должен иметь высокий любом из следующих условий: а) А = 1, В = 1 независимо от уровня С; уровень сигнала при б) А = 1, В = 1, С = 1. Убедитесь в правильности этого предположения на практике. +5 В 4 5 В • С ♦ 13 12 Z2 +5 В Z2 Все микросхемы - ТТЛ Z1: 74LS86 Z2 74LS00 ВывоД Состояние Z1-1 низкий Z1-2 низкий Z1-3 высокий Z2-4 низкий Z2-5 высокий Z2-6.10 высокий Z2-13 высокий Z2-12 высокий Z2-9.11 низкий Z2-8 высокий Рис. 4.40. Пример 4.28 Ь) При проверке схемы техник обнаружил, что выход Y имеет высокий уровень все- гда, когда присутствует высокий уровень на А или на С независимо от уровня на В. Измерения логическим пробником для условия А = В = 0, С = 1 были записа- ны в таблицу на рис. 4.40. Изучите полученные уровни и назовите возможные причины неправильного функ копирования схемы. Затем предложите алгоритм процедуры по точному определе- ипо каждой неисправности. Р- шение се выходы элементов И-НЕ показывают правильные уровни, которые согласовыва- ются с напряжениями, поданными на их входы. Несмотря на это элемент ИЛИ-НЕ олжен иметь на выходном выводе 3 низкий уровень, так как оба его входа имеют « зкий уровень. Однако оказывается, что Zl-З остается с высоким уровнем, даже ес- к' на входы поданы такие сигналы, которые стремятся перевести его на низкий уро- вень. Причины такой ситуации следующие. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 191
а.) ьиои внутреннего комгпвенпа гл мешает получить на его выходе низкии ур< i напряжения. б) Внутреннее замыкание на питание Vcc в любой точке проводника около узла Ji (затушеванного на рисунке). в) Вывод 3 устройства Z1 замкнут на Vcc внутри схемы. г) Вывод 5 устройства Z2 замкнут на Vc,c внутри схемы. д) Вывод 13 устройства Z2 замкнут на Vcc внутри схемы. Все эти причины (кроме первой) замыкают узел X (и вес выводы ИС, присоединен ные к данному узлу) прямо на Vcc. Чтобы локализовать неисправность, можно использовать приведенный ниже алго- ритм действий. Эта последовательность, конечно, не единственный способ, так как реальная процедура поиска неисправностей в большей степени зависит от имеющего- ся в распоряжении техника оборудования. а) Проверьте напряжения Vcc и общего провода на соответствующих выводах эле- мента Z1. Хотя это и маловероятно, но отсутствие одного из них могло вызвать высокий уровень на Z1-3. б) Отключите питание от схемы и с помощью омметра проверьте, нет ли замыканий (сопротивлений менее 1 Ом) между узлом X и любой точкой, подключенной к Vcc (например, Z1-14 или Z2-14). Если такого замыкания нет, четыре последних при- чины неисправностей можно отбросить. Это говорит о том, что очень вероятным будет отказ одного из внутренних компонентов элемента Z1, т.е. этот элемент на- до заменить. в) Если шаг 2 показывает, что между узлом X и какой-либо точкой, подключенной к Vcc, есть замыкание, требуется провести тщательный осмотр платы и поискать капли припоя, невытравленные участки меди, неизолированные провода, касаю- щиеся друг друга, или любые другие возможные причины внешнего замыкания на Vcc. Весьма вероятно замыкание, вызванное каплей припоя между прилегаю- щими выводами 13 и 14 элемента Z2. Вывод 14 подключен к Vcc, а вывод 13 — к узлу X. Если найдено внешнее замыкание, исправьте его и с помощью омметра убедитесь, что узел X больше не замкнут на Vcc. г) Если шаг 3 не выявил внешнего замыкания, остаются всего три вероятных при- чины неправильной работы: внутренние замыкания между Vcc и Zl-3, Z2-13 или Z2-5. Один из них замыкает узел X на Vcc. Чтобы определить, какой из выводов ИС является причиной неисправности, придет- ся отсоединить каждый из них от узла X по очереди и снова проверить, нет ли замы- кания на Vcc после каждого такого отсоединения. Когда вывод, который был внут- ренне замкнут на Vcc, будет отсоединен, замыкание узла X на Vcc сразу исчезнет. Процесс отсоединения каждого проверяемого вывода от узла X может быть как лег- ким, так и сложным в зависимости от конструкции схемы. Если ИС вставлены » гнезда, все, что потребуется — вытянуть ИС из гнезда, отогнуть “подозрительный" вывод и снова вставить схему. Если же ИС впаяны в печатную плату, то придется срезать провода, присоединенные к какому-либо выводу, а после работы восстав о! вить соединение. Существует методика поиска неполадок, при которой не требуется отгибать выводи или отрезать провода для того, чтобы найти и локализовать неисправность. В данной случае потребуется инструмент, который называется токовым детектором. С еги помощью можно найти в схеме ток короткого замыкания, подавая на узел импульс J Токовый детектор определяет изменения магнитного поля на проводнике, через ко! торый течет ток короткого замыкания. Подробнее этот прибор рассматривается главе 8. 192 Глава
Пример 4.28 довольно прост, но дает понять ход мыслей специалиста по поиску неполадок, который хочет локализовать неисправность. Читатель сможет развить собственные навыки по поиску неполадок, работая над множеством задач в конце главы, обозначенных буквой Н (задачи по поиску неполадок). 4.14. Программируемые логические устройства* После первого знакомства с семействами ТТЛ и КМОП очень важно изучить все средства реализации логических схем. Множество устройств различной сложности известно под широкой категорией программируемые логические устройства (ПЛУ). Эти устройства позволяют конечному пользователю задавать конкретные операции с помощью процесса, который называется программированием. Данный материал по- может использовать ПЛУ в лабораторных экспериментах по реализации простых ло- гических схем, а также изучить процесс проектирования и инструментальные сред- ства разработки. В книге приведена только та информация, которая будет безусловно необходима в работе. Благодаря этому можно будет использовать данную методику, как только вам потребуются конкретные знания, чтобы понять внутреннюю работу схемы. Если же вы не сталкиваетесь с ПЛУ при работе в лаборатории, можно про- пустить этот раздел без ущерба для последовательности объяснения материала. Рассмотрим процесс проектирования комбинационных цифровых схем, который уже был объяснен ранее. Входные устройства идентифицируются и им назначаются алгебраические имена типа А, В, С или LOAD, SHIFT, CLOCK. Точно так же и вы- ходным устройствам присваиваются имена — например, X, Y, Z или SHIFTOUT, CLOCKOUT. Затем строится таблица истинности, в которую вписываются все воз- можные комбинации входных сигналов и соответствующие им реакции выходов. Таблица истинности является одним из способов описания функционирования схе- мы. Можно использовать и другой способ — описание с помощью выражений буле- вой алгебры. В этом случае разработчик должен найти наиболее простое алгебраиче- ское соотношение и выбрать цифровые ИС, которые могут быть соединены вместе для реализации схемы. Возможно, у читателя уже сложилось представление об этой последней стадии как об утомительной, занимающей много времени и подверженной сшибкам. Программируемые логические устройства позволяют доверить большинство таких скучных процессов компьютеру и программному обеспечению по разработке ПЛУ. Использование программируемой логики увеличивает эффективность проектирова- ния и упрощает процесс разработки, поэтому большая часть современных цифровых ктем разрабатывается именно по такой методике- Работа разработчика схем за- кючается при этом в обозначении входов и выходов, лишенном ошибок определении гических соотношений в общих чертах и выборе программируемого устройства, сособного реализовать схему с наименьшими затратами. Концепция использования ж . граммируемых логических устройств предельно проста: заложите побольше логи- Ьских элементов в одну ИС и управляйте взаимосвязью этих элементов с помощью Влектроники. На рис. 4.41 проиллюстрирован такой подход для очень простой ком- Ьнационной схемы. Можно легко узнать логику этого упрощенного ПЛУ — дизъюнктивная форма, - рая реализована на элементах И, поступающих на оконечный элемент ИЛИ. 1ьм)Д X будет дизъюнкцией входов с данными А и В. Реальная выходная функция ?ит от выходных уровней элементов И, подключенных ко входам элемента ИЛИ. I санном случае все выходы элемента И присоединены к элементу ИЛИ с помощью " Все разделы по ПЛУ могут быть пропущены без ущерба для последовательности объясне- L изложенных в главах 1-11. 1БИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 193
соединительных звеньев (перемычек) 1, 2, 3 и 4. Каждая из этих перемычек может оставаться нетронутой или селективно отсоединять выход соответствующего элемента И от элемента ИЛИ. Например, если перемычки 1, 2 и 3 будут разомкнуты, только четвертый элемент И останется подключенным к элементу ИЛИ, и на его выходе по- лучим сигнал X = АВ; если же разомкнуть перемычки 1 и 4, то на выходе получим х = АВ + АВ . Следовательно, схемотехника описанного выше решения заключается в том, что при разомкнутой перемычке на вход элемента ИЛИ подается низкий уро- вень. Входы данных Рис. 4.41. Упрощенный пример программируемого логического устройства Выход X Программирование ПЛУ С помощью данного способа можно реализовать выражение дизъюнкции для двух переменных, размыкая соответствующие перемычки. Микросхема ПЛУ поставляется с нетронутыми соединительными звеньями, которые находятся внутри ИС. Заметьте, что на рисунке показан набор “программирующих входов”. Чтобы получить доступ к перемычкам, микросхему надо перевести в специальный режим, в котором на ее оп- ределенные выходы подаются специальные (более высокие) напряжения. Этот про- цесс называется программированием ПЛУ (более детально он рассматривается в по- следующих главах). Микросхема помещается в специальный прибор — программа- тор. Большая часть современных программаторов присоединяется к персональному компьютеру с программным обеспечением, содержащим библиотеки с заложенной информацией о множестве типов программируемых устройств. На рис. 4.42 показана типичная система для программирования ИС. Исходный проект вводится в компьютер одним из нескольких способов, описанных далее. ПК, на котором установлено программное обеспечение по разработке ПЛУ, преобразует исходный проект в файл под названием “карта пережигания плавких перемычек” (“fuse plot”). Этот файл действительно напоминает карту, которая показывает, какие перемычки в программируемом устройстве должны быть разомкнуты пережиганием, а какие — остаться целыми. Затем карта пережигания перемычек преобразовывается в выходной файл установленного формата для передачи его в программатор. 194 Глава 4
Для установки связи с программатором на ПК активизируется (вызывается и ис- полняется) программное обеспечение. Оно позволяет пользователю установить про- грамматор в необходимый для данного программируемого устройства режим и дает инструкции по его программированию. Наконец, деталь помещается в специальный разъем, который позволяет вставить устройство и зажать его выводы. Он называется гнездом с нулевым усилием сочленения (Zero Insertion Force socket — ZIF socket). Та- кие универсальные программаторы, которые могут программировать любые типы программируемых устройств, предлагаются сейчас многими производителями. Благодаря повсеместному распространению программируемых схем, производите- ли осознали потребность в стандартизации выводов микросхем, а также методов про- граммирования. Объединенный технический совет по электронным устройствам fJoint Electronic Device Engineering Council — JEDEC) принял стандарт JEDEC 3 — формат по передаче программируемых данных в ПЛУ независимо от производителя ПЛУ или программного обеспечения. Также были стандартизированы выводы раз- личных корпусов ИС, что сделало процесс программирования намного менее запу- яным. В итоге программирующие устройства получили возможность программно- сть мно1 очисленные типы ПЛУ. Программное обеспечение, которое позволяет раз- мотчику указать конфигурацию ПЛУ, просто выдает выходной файл, который очиняется нормам стандартов JEDEC. Затем этот файл загружается в любой •DEC-совместимый программатор, способный программировать нужный тип ПЛУ. усилием сочленения Рис. 4.42. Система для разработки ПЛУ . нструментальные программные средства Процесс генерации выходного файла по стандарту JEDEC, необходимого для пе- фчи проекта схемы в программатор ПЛУ, чересчур утомителен для написания его Лаую. За последние 20 лет было разработано множество пакетов программного усечения, позволяющих пользователям вводить проекты удобным способом и за- ЛНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 195
тем автоматически создавать файл по стандарту JEDEC для конкретного устройства. Исходное программное обеспечение, разработанное компанией Monolitic Memories, Inc (MMI), называлось PALASM — аббревиатура от PAL assembler (Programmable Array Logic Assembler — транслятор программируемой матричной логики). Версии этого программного обеспечения до сих пор можно найти выставленными на всеоб- щее обозрение для низкоуровневой разработки ПЛУ. С тех пор на рынке, однако, появилось намного более мощное программное обеспечение — логические компиля- торы. Трансляторы и компиляторы — программное обеспечение, работающее на обычных персональных компьютерах. Синтаксис, который используется для описа- ния работы схем, часто называют языком описания аппаратного обеспечения (Hardware Description Language — HDL). Каждый компилятор требует определенно- го языка. Наиболее популярные универсальные компиляторы — ABEL (разработан- ный корпорацией Data I/O) и CUPL (разработанный компанией Logical Devices, Inc.). Пользователь просто задает входной файл в формате, который программное обеспе- чение может интерпретировать. Основная разница между транслятором и компиля- тором — в методе описания соотношений между входами и выходами логической схемы. Транслятору нужен входной файл, который в сжатой форме определяет рабо- ту схемы в формате, очень близком к аппаратному обеспечению программируемого устройства (например, в выражениях булевой алгебры). Компилятор может работать с более абстрактным представлением того же проекта и преобразовать его согласно конкретному аппаратному обеспечению, необходимому для программирования уст- ройства. На рис. 4.43 показан компилятор, который работает с тремя различными' видами входных данных: булевыми уравнениями, таблицами истинности и принци- пиальными схемами. Рис. 4.43. Методы, задающие входные данные в компилятор В случае булевых уравнений или таблиц истинности входной файл будет им формат текста ASCII, и его можно создать, используя любой текстовый редактор вашем ПК. В этом файле задается программируемое устройство и некоторая отсор рованная информация: имя разработчика, дата, версия и т.д. Необходимо указ назначение выводов, а также имена сигналов на входах и выходах. Затем пише: набор булевых уравнений или таблицы истинности, которые определяют логику боты устройства. Большая часть инструментальных средств разработки способна ’ ростить заданные во входном файле уравнения, используя методы упрощения, : добные изученным в данной главе. Это свойство позволяет разработчику сразу зд 196 Глав
вать логику без предварительной минимизации уравнений. Если минимизированная форма логического уравнения требует больше элементов, чем есть в программируе- мом устройстве, автоматически генерируется сообщение об ошибке. Высокоуровневые компиляторы дополнительно имеют несколько других опций по указанию спецификации схем. Одна из этих опций — схематический ввод описания электрической схемы. Этот режим ввода позволяет указать работу схемы — он рису- ет принципиальный проект логической схемы в пакете программного обеспечения с автоматическим черчением схем (Computer Aided Drafting — CAD). Такой графиче- ский файл затем преобразуется в одну из форм таблицы соединений (net list), кото- рая несет в себе типы используемых компонентов и способы их соединения. Этот ме- тод довольно полезен уже при повторной разработке существующей схемы с исполь- зованием ПЛУ. Некоторые компиляторы, предлагаемые сторонними продавцами, являются уни- версальными. Это означает, что можно написать файл на языке компилятора, а за- тем указать программируемое устройство от любого производителя. В случае приме- нения распространенных типов программируемых устройств от нескольких произво- дителей, если желательно использовать только один язык. Другие компиляторы, предлагаемые самими производителями программируемых устройств, очень специ- фичны. Такие средства имеют преимущество, когда вы используете все устройства от одного производителя и хотите работать с самыми новыми устройствами этого произ- водителя. Введение в CUPL Чтобы ознакомиться с настоящими примерами простых средств разработки ПЛУ, воспользуемся популярным и легкодоступным компилятором — CUPL (Universal Compiler for Programmable Logic), который разработан компанией Logical Devices, Inc. Он может быть использован для программирования широкого спектра компонент от различных производителей, а его демонстрационную версию можно бесплатно за- грузить из Internet. CUPL также поддерживает много удобных режимов ввода, что является неотъемлемой чертой его языка описания аппаратного обеспечения. Входной файл разделен на несколько разделов. Заголовок содержит детали доку- ментации, а также информацию, которую компилятор может использовать для про- граммирования требуемого устройства. Разделы входной и выходной спецификаций 1 «пользуются для назначения имен сигналов на соответствующих выводах програм- мируемого устройства. Раздел описания аппаратной части позволяет изобразить про- ект одним из вышеуказанных подходящих методов. В этом разделе представлен ме- род написания булевых уравнений. Логические операторы и правильный синтаксис (такого написания показаны в табл. 4.8. аблииг 4.8. Синтаксис языка CUPL ‘для логических операции Функция Оператор Формат CUPL Стандартное обозначение 1 и & А & В А • В или # А # В А + В ! А ! В А исключающее ИЛИ $ А $ В а е в В качестве примера реализуем простую комбинационную логическую схему с пе- мзованием компилятора CUPL и очень популярного программируемого устройства L I6V8. Детали архитектуры GAL 16V8 и усовершенствованные особенности PL более детально рассмотрены в следующих разделах. Для начала вернемся к ixtepy 4.7, который раскрывал процесс разработки комбинационной схемы. В этом МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 197
примере использовалась таблица истинности, с помощью которой было получено вы ражение в дизъюнктивной форме: X = АВС + АВС + АВС + АВС. Partno 1234567 Date June 2 Revision 02 Designer N.S.Widmer Company Purdue University Assembly Chapter 4 Location Chapter 4 Device G16V8 Format j Весь текст между /* и */ является комментарием. Здесь можно записать все что угодно /‘JEDEC Простой пример комбинационной логической схемы */ /* Спецификация входов */ Рис. 4.44. Пример формата, используемого во входном файле CUPL — режим бу- левых уравнений 198 Глава
Рассмотрим рис. 4.44, чтобы изучить формат входных файлов CUPL. Заметьте, что последовательности символов /* и */ используются для включения комментари- ев, которые помогают разобраться в структуре файла. Также важно, что каждый оператор должен заканчиваться точкой с запятой (;). Номера выводов, которые используются в качестве входов и выходов, указывают- ся в зависимости от свойств выбранного программируемого устройства (о том, как их правильно выбрать, речь пойдет дальше). Обратите внимание на то, что в разделе описания аппаратной части выходная переменная всегда находится слева от операто- ра “=”, и выражение в дизъюнктивной форме может быть введено в неупрощенной форме. Компилятор уменьшит уравнение до наиболее простой формы перед тем, как сгенерировать выходной файл. Конечная схема будет подключена следующим обра- зом (рис. 4.45). Рис. 4.45. Подключенная конечная схема, получен- ная из входного файла CUPL (рис. 4.44) Цикл разработки Входной файл (иногда еще называемый исходным) может быть набран в любом Вестовом редакторе. После вызова компилятор открывает и компилирует исходный Ал. Если при этом появляется сообщение о некой ошибке, причину необходимо Внаружить и устранить, изменяя входной файл в текстовом редакторе. Данный рсдесс повторяется до тех пор, пока при компиляции уже не будут появляться со- кхения об ошибках или предупреждения. С этого момента проект можно проверить [аомощью программы моделирования — компьютерной программы, которая рас- жгмвает правильные логические состояния, основанные на описании логической мы и текущих входных сигналах. При этом вырабатывается набор гипотетиче- кс входных и соответствующих им выходных сигналов, который должен доказать, о устройство работает так, как ожидается. Такой набор называется тестовым век- Црсм Если тестовый вектор достаточно исчерпывающий, проект будет испытан еще того, как запрограммируется первое устройство. Когда разработчик удовлетворен втсй своего проекта, генерируется файл JEDEC, для чего запускается соответст- Kzee программное обеспечение. Файл JEDEC служит входным файлом программа- Кв со вставленным в разъем ПЛУ (рис. 4.42). Многие программаторы и связанное с Ки программное обеспечение могут программировать схему, а затем запускать тес- Kbe векторы на входе и наблюдать реакцию на выходах. Это еще раз подтвержда- |Насколько функциональны ПЛУ. Затем ПЛУ вставляются в схему и проходят I 5ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 199
функциональный контроль вместе со всеми периферийными компонентами. Блок- схема на рис. 4.46 демонстрирует последовательность полного процесса разработки. Итак, основы разработки ПЛУ раскрыты на ознакомительном уровне. Теперь пользователь уже в лаборатории может повторить приведенный выше комбинацион- ный пример, используя систему средств разработки CUPL. Программное обеспечение и базовый учебник, имеющиеся на сопроводительном компакт-диске, который также можно загрузить с Web-узла компании Logical Devices, Inc, помогут разобраться во всех тонкостях синтаксиса языка CUPL. Вы можете посетить сайт, сопровождающий данную книгу, чтобы ознакомиться со ссылками на указанные средства инструмен- тальной разработки. Рис. 4.46. Блок-схема полного процесса разработки ПЛУ Контрольные вопросы 1. Какой будет выходная функция ПЛУ, если перемычки 1 и 2 схемы на рис. 4.41 будут разомкнуты? 2. Какой будет эта функция, если все перемычки оставить нетронутыми? 200 Глава 4
3. Опишите содержимое структуры ПЛУ, показанного на рис. 4.41, если бы оно содержало четыре входа данных. 4. Назовите последовательность шагов при проектировании, программировании и контроле ПЛУ. Резюме 1. Две основные формы логических выражений — дизъюнктивная и конъюнктивная. 2. Чтобы реализовать один из возможных подходов к проектированию комбинаци- онных логических схем, необходимо действовать следующим образом: (1) постро- ить таблицу истинности, (2) преобразовать таблицу истинности в выражение дизъюнктивной форме, (3) упростить полученное выражение, используя буле: алгебру или карты Карно, (4) реализовать конечный результат. 3. Карта Карно — графический метод представления таблицы истинности схемы и получения упрощенного выражения для выходной функции схемы. 4. Схема исключающее ИЛИ имеет выражение х = АВ + АВ . Ее выход х будет иметь высокий уровень, только если на входах А и В будут различные логические уровни. в. Схема исключающее ИЛИ-НЕ имеет выражение х = АВ + АВ. На ее выходе х будет высокий уровень, только если входы А и В будут иметь одинаковые логиче- ские уровни. В. Каждый из основных элементов (И, ИЛИ, И-НЕ, ИЛИ-НЕ) может использоваться для того, чтобы разрешить или запретить прохождение входного сигнала на выход. 7. ТТЛ и КМОП — это основные технологии ИС. Цифровые ИС охватывают широ- кий диапазон по сложности (определяется количеством элементов на микросхеме) и могут вмещать как базовые, так и сверхсложные логические функции. В- Для поиска неполадок необходимо понимать работу схемы, знать типы возмож- ных неисправностей, полную принципиальную схему, при этом также потребует- ся логический пробник. В. Программируемым логическим устройством (ПЛУ) называется ИС, содержащая большое число логических элементов, соединения между которыми могут быть запрограммированы пользователем для того, чтобы получить требуемое логиче- ское отношение между входами и выходами схемы. ВО. Чтобы запрограммировать ПЛУ, необходима система инструментальных средств разработки, содержащая компьютер, программное обеспечение по разработке ПЛУ и программатор со специальным гнездом, который и осуществляет про- граммирование микросхемы с ПЛУ. новные термины юнктивная форма юнктивная форма в Карно (К-карта) йировна (азличное” состояние ючающее ИЛИ (XOR) ючающее ИЛИ-НЕ (XNOR) >ггор и проверочное устройство сигнала е-нисти впение/запрещение ус с двухрядным расположением выво- да (корпус типа DIP) L ССИ, ВСИ, СВСИ, УВСИ, ГИ исторно-транзисторная логика (ТТЛ) комплементарная структура металл-оксид- полупроводник (КМОП) неопределенный уровень плавающий вход логический пробник конфликт программатор гнездо с нулевым усилием сочленения (ZIF) JEDEC-стандарт язык описания аппаратного обеспечения (HDL) моделирование тестовый вектор компилятор CUPL (универсальный компилятор для про- граммируемой логики) •ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 201
Упражнения Разделы 4.2 и 4.3 (В) 4.1. Упростите следующие выражения, используя булеву алгебру: а) х = АВС + АС ; б) y = (Q + R)(Q + R); в) w = АВС + АВС + А ; г) q = RST(R + S + T)\ д) х = ABC + ABC + ABC + ABC + ABC ; e) z = (B + C)(B + C) + A + B + C; ж) у = (C + P) + ACD + ABC + ABCD + ACD ; з) x = AB(CD) + ABD + BCD. (B) 4.2. Упростите схему на рис. 4.47, используя булеву алгебру. (С) 4.3. Замените каждый элемент в упражнении 4.2 на элемент ИЛИ-НЕ и упр стите схему, используя булеву алгебру. Раздел 4.4 (В, D) 4.4. Спроектируйте логическую схему согласно таблице истинности, показание в табл. 4.9. (В, D) 4.5. Спроектируйте логическую схему, на выходе которой сигнал будет име: высокий уровень только тогда, когда на большей части входов (А, В и С) б дет низкий уровень. 202 Глава 4
Тя^ниш 49 А в п X 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 (D) 4.6. Заводу-изготовителю требуется сирена, которая бы извещала о конце рабо- чего дня. Сирена должна активироваться при выполнении любого из сле- дующих условий: а) время суток — позже 5 часов вечера, все машины выключены; б) день недели — пятница, производственный цикл окончен, все машины выключены. Спроектируйте логическую схему, контролирующую сирену. (Подсказка: используйте четыре логических входных переменных, чтобы представить различные условия; например, на входе А будет высокий уровень, только когда время суток будет позже 5.) (D) 4.7. Четырехбитовое двоичное число представлено в виде АзА^Ао, где А3, А2, Ах и Ао изображают отдельные биты и Ао — младший значащий бит. Спроекти- руйте логическую схему, дающую на выходе высокий уровень в том случае, если двоичное число больше 0010 и меньше 1000. (D) 4.8. На рис. 4.48 показана принципиальная схема автомобильной сигнализации, которая должна извещать об определенных нежелательных условиях. Три переключателя показывают состояние двери возле места водителя, зажига- ние и свет фар соответственно. Спроектируйте логическую схему с этими тремя переключателями в качестве входных сигналов так, чтобы сигнали- зация активировалась в момент выполнения любого из следующих условий: а) фары горят, зажигание выключено; б) дверь открыта, зажигание выключено. 4.9. Реализуйте схему из упражнения 4.4, используя элементы И-НЕ. 4.10. Реализуйте схему из упражнения 4.5, используя элементы И-НЕ. МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 203
Светодиод Рис. 4.48. Упражнение 4.8 Раздел 4.5 4.11. (В) Определите минимальное выражение для всех карт Уделите особое внимание шагу 5 для карты а. Карно на рис. 4.49. CD CD CD CD CD CD CD CD c C АВ 1 1 1 1 AB 1 0 1 1 AB 1 1 АВ 1 1 0 0 AB 1 0 0 1 AB 0 0 АВ 0 0 0 1 AB 0 0 0 0 AB 1 0 АВ 0 0 1 1 AB 1 0 1 1 AB 1 X а) 6) в) Рис. 4.49. Упражнение 4.11 (В) 4.12. Упростите выражение из упражнения 4.1, д, используя карту Карно. (В) 4.13. Упростите выражение из упражнения 4.1, ж, используя карту Карно. (В) 4.14. Упростите выражение из упражнения 4.1, з, используя карту Карно. (В) 4.15. Получите выходное выражение из упражнения 4.7, используя карту Карно. 204 Глава 4
(C,D) 4.16. На рис. 4.50 показан двоично-десятичный счетчик, выход которого пред- ставляет собой четырехбитное число и является двоично-десятичным кодом количества импульсов, поступивших на вход счетчика. Например, после че- тырех импульсов на выходе счетчика будет число DCBA = 01002 = 410. Счет- чик сбрасывается на 0000 десятым импульсом, а потом начинает считать заново. Другими словами, число DCBA никогда не будет больше 10012 = 9ю« Спроектируйте логическую схему, которая выдает высокий уровень сигнала на своем выходе, если значение счетчика 2, 3 или 9. Используйте карту Карно и постарайтесь умело распорядиться безразличными состояниями. Рис. 4.50. Упражнение 4.16 Высокий уровень, только если DCBA = 210, 310 или 910 [ (D) 4.17. На рис. 4.51 показаны выключатели устройства управления копировального аппарата. Эти выключатели находятся в разных местах бумагопроводящего тракта на пути бумаги через аппарат. Каждый выключатель в нормальном состоянии открыт, а когда мимо него проходит бумага, он закрывается. Не- возможно одновременно замкнуть выключатели SW1 и SW4. Спроектируйте логическую схему, которая бы имела на выходе высокий уровень, когда од- новременно замкнуты два или несколько выключателей. Используйте карту Карно; постарайтесь умело распорядиться всеми безразличными состояниями. Уровень высокий, когда замкнуты два и более выключателя* SW1 и SW4 не могут быть замкнуты одновременно дел 4.6 (В) 18. а) Определите форму выходного сигнала для схемы на рис. 4.52. ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 205
б) в) 4.19. Повторите предыдущее упражнение при низком уровне входного ла В на протяжении всего интервала времени. Повторите предыдущее упражнение при постоянном высоком входного сигнала В на протяжении всего интервала времени. (В) Для схемы на рис. 4.53 определите входные условия, необходимые для лучения на выходе выражения х = 1. 4.20. 4.21. 4.22. (В) Микросхема 7486 содержит четыре элемента исключающее ИЛИ. Покажи те, как получить элемент исключающее ИЛИ-НЕ, используя только одщ такую микросхему. (Подсказка', см. пример 4.16.) (В) Модифицируйте схему на рис. 4.23 так, чтобы можно было сравнивать дв: четырехбитных числа и при их точном равенстве получать на выходе выс j кий уровень сигнала. (С) На рис. 4.54 показан компаратор, который определяет, равны ли между со- бой два трехбитных числа х2Х}Хо и и если они не равны, то определи, ет, какое из них больше. В компараторе есть три выхода, которые опреде ляются так: а) М = 1, только если оба входных числа равны; б) N = 1, только если х2ХхХо больше У2У1У0, в) М = 1, только если у2У\Уо больше x2xjxo. Спроектируйте логическую схему для этого детектора. В схеме шесть вха дов и три выхода, т.е. она слишком сложна для работы с таблицей истия ности. (Вернитесь к примеру 4.17 — это небольшая подсказка, которая п» может решить данную задачу.) 206 ГЛАВА
Двоичное число х Компаратор Двоичное число У ---М {х = у } --->- N {х > у } ---{х < у} Рис. 4.54. Упражнение 4.22 Упражнения по проектированию (С, D) 4.23. На рис. 4.55 изображена схема устройства умножения, которое принимает два двоичных числа хгх0 и угу0, состоящих из пары бит каждое, и выдает двоичное число 23z2Ziz0, равное арифметическому произведению входных чисел. Спроектируйте логическую схему данного устройства умножения. {Подсказка', такая логическая схема должна иметь четыре входа и четыре выхода.) Рис. 4.55. Упражнение 4.23 (D) 4.24. На удаленный приемник передается двоично-десятичный код, состоящий из битов А3, А2, Ai и Ао, причем А3 — старший значащий бит. Схема приемника включает двоично-десятичный детектор ошибок, который проверяет, чтобы полученный код был действительно двоично-десятичным (т.е. был < 1001). Спроектируйте схему, которая бы выдавала высокий уровень сигнала при ошибке. (D) 4.25. Спроектируйте логическую схему, на выходе которой присутствует высокий уровень, когда сигналы А и В оба имеют высокий уровень, в то время как сигналы С и D оба имеют либо высокий уровень, либо — низкий. Попытай- тесь реализовать схему без использования таблицы истинности, постройте таблицу истинности по спроектированной ранее схеме, чтобы проверить, что результат согласуется с условием задачи. (D) 4.26. На химическом заводе стоят четыре больших емкости для нагрева, содер- жащие разные жидкости. Для того чтобы определить, не превышают ли уровни в емкостях А или В установленные нормы, используются датчики уровней. В емкостях С и D стоят датчики температуры, которые определяют падение температуры ниже установленного уровня в любой из этих емко- стей. Предположим, что на выходах А и В датчика уровня низкий уровень сигнала, если уровень жидкости удовлетворяет норме, и высокий, когда МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 207
уровень превышает допустимый. Точно так же на выходах С и D темпера- турного датчика присутствует низкий уровень, когда температура емкости удовлетворяет требованиям, и высокий — когда опускается слишком низко. Спроектируйте логическую схему, которая бы извещала о том, что уровень в емкости А или В поднялся слишком высоко, и одновременно температура в любой из емкостей С и D опустилась слишком низко. (С, D) 4.27. На рис. 4.56 показан перекресток большого шоссе и второстепенного подъ- ездного пути. Датчики дорожного движения расположены вдоль направле- ний С и D (на главной дороге) и направлений А и В (на другой дороге). На выходах этих датчиков присутствует низкий уровень (0), когда нет ни одной машины, и высокий уровень (1), когда рядом находятся машины. Светофор на перекрестке должен управляться согласно таким условиям: а) Светофор на направлении восток-запад (В-3) должен показывать зеленый свет, когда оба направления — С и D — заняты машинами. б) Светофор на направлении В-3 должен показывать зеленый свет, когда одно направление — или С, или D — занято машинами, а одно из на- правлений А и В свободно. в) Светофор на направлении север-юг (С-Ю) должен показывать зеленый свет, когда оба направления — А и В заняты, но оба направления С и D свободны. г) Светофор на направлении С-Ю должен показывать зеленый свет, когда машин нет ни на одном направлении. Используя выходы датчиков А, В, С и D в качестве входов, спроектируйте логическую схему управления светофорами. Схема должна состоять из двух выходов: С-Ю и В-3, на которых присутствует высокий уровень, когда соот- ветствующие светофоры должны показывать зеленый свет. Упростите схему насколько это возможно и укажите все шаги. А О С-* Рис. 4.56. Упражнение 4.27 208 Глава 4
(D) 4.28. Измените генератор и проверочное устройство сигнала четности, показанные на рис. 4.25, для работы с отрицательной четностью. (Подсказка’ вспомни- те, какова связь между битами отрицательной и положительной четности для одного и того же набора данных.) (D) 4.29. Измените генератор и проверочное устройство сигнала четности, показанные на рис. 4.25, для работы с восемью битами данных. .здел 4.8 (В) 4,30. а) При каких условиях элемент ИЛИ позволит логическому сигналу прой- ти на выход без изменений? б) Ответьте на вопрос а для элемента И. в) Повторите для элемента И-НЕ. г) Повторите для элемента ИЛИ-НЕ. (В) 4.31. а) Может ли инвертор использоваться в качестве разрешающей/запрещаю- щей схемы? Поясните ответ. б) Может ли элемент исключающее ИЛИ использоваться в качестве разре- шающей/запрещающей схем? Поясните ответ. (D) 32. Спроектируйте логическую схему, которая бы разрешила входному сигналу А пройти на выход схемы, только когда на входе управления В присутству- ет низкий уровень, в то время как на входе управления С — высокий; в противоположном случае выход должен иметь низкий уровень. (D) 33. Спроектируйте логическую схему, которая запрещает прохождение входно- го сигнала, только когда все входы управления В, С и D имеют высокий уровень; на выходе должен быть высокий уровень в запрещенном состоянии. (D) 34. Спроектируйте логическую схему, которая управляет прохождением сигна- ла А согласно следующим условиям: а) выход X будет равен А, когда входы управления В и С имеют одинако- вые уровни; б) выход X останется в состоянии с высоким уровнем сигнала, когда на входах управления В и С различные уровни. (D) 35. Спроектируйте логическую схему с двумя входными сигналами Аг и А^ и входом управления S, которая работает согласно требованиям, указанным на рис. 4.57. Такая схема называется мультиплексором (см. главу 9). (D) 6. Используя карты Карно, спроектируйте логическую схему, которая бы удовлетворяла требованиям упражнения 4.17. Сравните ее с решением на рис. 4.23. Это сравнение покажет, что метод карт Карно не дает преиму- ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 209
ществ при использовании логических элементов исключающее ИЛИ, а так же исключающее ИЛИ-НЕ. Разработчик должен уметь определять необхо димость применения этих элементов. S Г| z О " = Ао Разделы 4.9—4.13 (Т)* 4.37. а) Техник, тестирующий логическую схему, обнаружил, что выход одного из инверторов все время имеет низкий уровень, тогда как на входе на- блюдаются импульсы. Назовите как можно больше возможных причин этой неисправности. б) Ответьте на вопрос а для случая, когда выход инвертора все время на- ходится на неопределенном уровне. (Т) 4.38. Сигналы, показанные на рис. 4.58, подаются на входы схемы, изображен- ной на рис. 4.32. Предположим, что на выводе Z1-4 внутреннее размыкание. Рис. 4.58. Упражнение 4.38 а) Что покажет логический пробник на выводе Z1-4? б) Какое напряжение постоянного тока покажет вольтметр на выводе Z1-4 (Помните, что ИС выполнены на ТТЛ.) в) Нарисуйте, какими, по вашему мнению, должны быть сигнала CLOCKOUT и SHIFTOUT. г) Пусть вместо размыкания на выводе Z1-4 выводы 9 и 10 элемента Z1 внутренне замкнуты. Нарисуйте возможные сигналы на выводах Z2-1C. CLOCKOUT и SHIFTOUT. * Напоминаем, что буквой Т обозначены упражнения по поиску и устранению неисправностей 210 Глава
(Т) 4.39. Предположим, что ИС на рис. 4.32 изготовлены по КМОП-технологии. Опишите, как повлияет на работу схемы разомкнутый проводник между выводами Z2-2 и Z2-10. (Т) 4.40. В примере 4.24 были названы три возможных неисправности для ситуации, изображенной на рис. 4.35. Опишите последовательность ваших действий по определению, какая же из них действительно имела место. (Т) 4.41. Взгляните на рис. 4.37. Пусть устройства выполнены по КМОП-технологии. Также предположим, что логический пробник показывает на выводе Z2-3 неопределенный уровень вместо импульсов. Назовите возможные причины неисправности и запишите последовательность действий по определению, какая же из них действительно произошла. (Т) 4.42. Обратитесь к логической схеме на рис. 4.40. Заметьте, что выход Y должен иметь высокий уровень при выполнении любого из следующих условий: а) А = 1, В = 1 независимо от уровня С; б) А = 1, В = 1, С = 1. При испытании схемы техник обнаружил, что на выходе У присутствует высокий уровень сигнала только при выполнении первого условия, в то вре- мя как для всех других комбинаций входных сигналов присутствует низкий уровень. Изучите приведенный ниже список возможных причин неисправ- ности. Определите, какие из пунктов могли быть причинами неполадок, а какие — нет, и проставьте “да” и “нет” напротив каждого пункта. Объясни- те свою позицию для каждого отрицательного ответа. а) Внутреннее замыкание вывода Z2-13 на общий провод. б) Размыкание перемычки на вывод Z2-13. в) Внутреннее замыкание вывода Z2-11 на Vcc. г) Размыкание перемычки между Vcc и Z2. д) Внутреннее размыкание схемы на выводе Z2-9. е) Размыкание перемычки между выводами Z2-11 и Z2-9. ж) Капля припоя между выводами 6 и 7 элемента Z2. (Т) 4.43. Назовите последовательность действий при локализации неисправности, ко- торая приводит к сбою схемы, описанной в упражнении 4.42. (Т) 4.44. Пусть элементы на рис. 4.40 выполнены по КМОП-технологии. При тести- ровании схемы техник обнаружил, что она работает правильно во всех слу- чаях, кроме двух: а) А = 1, В = 0, С = 0; б) А = 0, В = 1, С = 0. Для этих ситуаций логический пробник показывает неопределенные уровн» на выводах Z2-6, Z2-11 и Z2-8. Какова, по вашему мнению, возможная не- исправность схемы? Объясните свой ответ. (Т) 4.45. На рис. 4.59 изображена комбинационная логическая схема, которая управ ляет автомобильной сигнализацией, если заняты места водителя и/или пас ИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 211
сажира и при этом не пристегнуты ремни безопасности. Сигналы DRIV и PASS, для которых управляющим является высокий уровень, показывают присутствие водителя и пассажира соответственно, и запускаются давлени- ем на сидения автомобиля. Сигнал IGN, который также приводится в дви- жение высоким уровнем сигнала, показывает, включено ли зажигание. Сиг- нал BELTD , управляемый низким уровнем, показывает, что ремень безо- пасности водителя не застегнут-, сигнал BELTP — аналогичный сигнал для пассажира. Сигнализация должна срабатывать (иметь низкий уровень), когда автомобиль начинает движение, любое из передних сидений занято, но соответствующий ремень безопасности не застегнут. а) Убедитесь, что схема действительно работает, как описано в задаче. б) Опишите, как будет работать система сигнализации, если произойдет внутреннее замыкание вывода Z1-2 на общий провод. в) Опишите, как будет работать система, если между выводами Z2-6 и Z2-10 цепь разомкнута. Рис. 4.59. Упражнения 4.45, 4.46 и 4.47 (Т) 4.46. Пусть система на рис. 4.59 функционирует таким образом, что сигнализа- ция срабатывает, как только водитель и/или пассажир садятся в машину, и машина начинает движение независимо от положения ремней безопасности. Какими будут возможные причины неисправностей? Предложите последова- тельность действий по нахождению настоящей неисправности. (Т) 4.47. Пусть система на рис. 4.59 функционирует таким образом, что сигнализа- ция беспрерывно издает сигнал, как только машина начинает движение, не- зависимо от других условий. Назовите возможные причины неисправностей и опишите последовательность действий по локализации неисправности. Раздел 4.14 (С) 4.48. а) Измените схему ПЛУ на рис. 4.41 так, чтобы оно могло обрабатывать три входа данных. 212 Глава 4
б) Используя ПЛУ с тремя входами, покажите, как реализовать схему из примера 4.7. Заметьте, что для выполнения этого задания нет необходи- мости упрощать выходное выражение. Практические задания по ПЛУ (4.49—4.56) 4.49. Проверьте истинность высказывания'. а) Компилятор применяется для связи с программатором. б) Файл по стандарту JEDEC может быть использован как входной файл для программатора. в) Если входной файл откомпилирован без ошибок, это значит, что ПЛУ работает правильно. г) Исходный файл можно создать в любом текстовом редакторе. д) Тестовые векторы используются при моделировании, а также испыта- нии устройства. 4.50. Для чего используются символы /* и */ во входном файле CUPL? 4.51. Дайте определение понятию исходный файл. 4.52. Что такое разъем ZIF? 4.53. Назовите три основных режима ввода описания схемы в программное обес- печение по разработке ПЛУ. 4.54. Что означают термины JEDEC и HDL? 4.55. Напишите исходный файл описания аппаратной части для CUPL в режиме ввода булевых уравнений, чтобы реализовать схему из примера 4.9 на эле- менте GAL 16V8. 4.56. Напишите исходный файл описания аппаратной части для CUPL в режиме ввода булевых уравнений, чтобы реализовать четырехбитовый генератор сигнала четности, показанный на рис. 4.25, а. Практическое задание (В) 4.57. Дайте определения каждому из следующих терминов: а) карта Карно; б) дизъюнктивная форма; в) генератор сигнала четности; г) октет; д) разрешающая схема; е) безразличное состояние; ж) плавающий вход; з) неопределенный уровень напряжения; и) конфликт; й) ПЛУ; к) ТТЛ; л) КМОП. Функционирование микрокомпьютеров (С) 4 58. В микрокомпьютере микропроцессорное устройство (МП) всегда связано с одним из следующих компонентов: (1) оперативным запоминающим устрой- •МБИНАЦИОННЫЕ ЛОГИЧЕСКИЕ СХЕМЫ 213
ством (RAM), которое хранит программы и данные, изменяющиеся в про- цессе работы; (2) постоянным запоминающим устройством (ROM), которое хранит программы и данные, никогда не изменяющиеся; (3) внешними уст- ройствами ввода-вывода (I/O): клавиатурой, видеодисплеем, принтером и дисковыми накопителями. Во время исполнения программы МПУ генериру- ет код адреса, который выбирает тип используемого устройства (RAM, ROM или I/O). На рис. 4.60 показана типичная ситуация, когда на выходе МП восьмибитовый код адреса: с Л15 по Ag. Вообще-то на выходе МП адрес кода содержит 16 бит, но младшие биты с А? по Ао не используются при выборе устройства. Код адреса подается на логическую схему, которая генерирует сигналы выбора устройства: RAM , ROM и I / О . Проанализируйте схему и определите: а) диапазон адресов с А15 по А8, который активирует сигнал RAM ; б) диапазон адресов, который активирует сигнал I/O ; в) диапазон адресов, который активирует сигнал ROM . Выразите адреса в двоичной и шестнадцатеричной системах. Например, от- вет для задания а будет таким: с А15 по А8 = с ООООООООг по 111011112 = с 0016 п° EF16- (С, D) 4.59. В некоторых микрокомпьютерах МПУ может на короткие периоды времени быть отключен, когда с его помощью активизируется специальный сигнал управления DMA (Direct Memory Access — DMA). Этот сигнал использует- ся для запрещения (дезактивизации) логики выбора устройства, так что сигналы RAM , ROM и I/О все находятся в своих неактивных состояни- ях. Измените схему на рис. 4.60 так, чтобы сигналы RAM , ROM и I / О дезактивизировались, как только активизировался сигнал DMA независимо от состояния кода адреса. 214 Глава 4
Ответы к контрольным вопросам Раздел 4.1 1. Только .а. 2. Только в. Раздел 4.3 1. Выражение б не записано в дизъюнктивной форме, потому что сразу над двумя переменными С и D (член ACD) имеется один знак инверсии. Выражение в не записано в дизъюнктивной форме по той причине, что в нем присутствует член (М + N)P . 2. х = А + В + С. Раздел 4.4 1. х = ABCD + aUcD + ABCD . 2. Восемь. Раздел 4.5 1. х = АВ + АС + ВС . 2. х = А + BCD. 3. S = P + QR. 4. Входное условие, для которого не существует конкретного выходного условия; т.е. можно поставить как 0, так и 1. Раздел 4.6 1. Все время низкий уровень. 2. Нет; имеющийся в распоряжении элемент исключающее ИЛИ может использо- ваться как инвертор, если постоянно подавать на один из его входов высокий уровень (пример 4.16). Раздел 4.8 1. х = А(В ® С). 2. ИЛИ, И-НЕ. 3. И-НЕ, ИЛИ-НЕ. Раздел 4.9 1. Корпус типа DIP. 2. МСИ, ССИ, ВСИ, СВСИ, УВСИ, ГИ. 3. Да. 4. Да. 5. Серии 40, 74АС, 74АСТ. 6. От 0 до 0,8 В; от 2,0 до 5,0 В. 7. От 0 до 1,5 В; от 3,5 до 5,0 В. 8. Как будто на входы был подан высокий уровень сигнала. Комбинационные логические схемы 215
9. Непредсказуемо; схема может перегреться и сгореть. 10. 74НСТ и 74АСТ. Раздел 4.11 1. Разомкнуты входы или выходы; входы или выходы замкнуты на Исс; входы или выходы замкнуты на общий провод; выводы замкнуты друг на друга; сбой внут- ренних компонентов. 2. Выводы замкнуты друг на друга. 3. Для ТТЛ — низкий уровень; для КМОП — неопределенный. 4. Два или несколько выходов связаны вместе. Раздел 4.12 1. Размыкание сигнальной линии; замыкание сигнальной линии; неисправность ис- точника питания; перегрузка на выходе. 2. Сломаны провода; плохие паяные соединения; трещины или надрезы на печатной плате; погнутые или сломанные выводы ИС; неисправные разъемы для ИС. 3. ИС будут работать неправильно или вообще не будут работать. 4. Неопределенный логический уровень. Раздел 4.14 1. х = В. 2. х = 1. 3. Четыре инвертора, 16 элементов И, 16 соединений и элемент ИЛИ с 16 входами. 4. См. рис. 4.46. 216 Глава 4
Глава 5 Триггеры и родственные им устройства Содержание 5.1. Защелка на элементах И-НЕ 5.2. Защелка на элементах ИЛИ-НЕ 5.3. Поиск неполадок 5.4. Тактовые сигналы и синхронные триггеры 5.5. Синхронные S-C-триггеры 5.6. Синхронные J-K-триггеры 5.7. Синхронный D-триггер 5.8. Защелка на D-триггере (прозрачная защелка) 5.9. Асинхронные входы 5.10. Обозначение IEEE/ANSI 5.11. Временные процессы в триггерах 5.12. Потенциальные проблемы согласования по времени в схемах с триггерами 5.13. Триггеры Mas ter/Slave 5.14. Применение триггеров 5.15. Синхронизация триггеров 5.16. Обнаружение последовательности входных импульсов 5.1 7. Хранение и передача данных 5.18. Последовательная передача данных: сдвиговые регистры 5.19. Деление частоты и счет 5.20. Прикладная задача 5.21. Триггер Шмитта 5.22. Одновибратор (ждущий мультивибратор) 5.23. Анализ последовательных схем 5.24. Генератор тактовых (синхронизирующих) импульсов 5.25. Поиск неисправностей в схемах с триггерами 5.26. Применение программируемых логических устройств L
В этой главе: построение схем триггеров-защелок на элементах И-НЕ и ИЛИ-НЕ и ана лиз их работы; различие между синхронными и асинхронными системами; описание принципов работы триггеров, возбуждаемых фронтом сигнала; анализ и применение на практике временных параметров триггеров, ука- занных производителем; основные отличия между параллельным и последовательным методами передачи данных; рисование временных диаграмм сигналов на выходе нескольких типов триггеров по известным сигналам на входе; различные обозначения триггеров согласно стандартам IEEE/ANSI; использование диаграммы переходов состояний для описания работы счетчиков; использование триггеров в синхронных схемах; сдвиговые регистры при построении схем передачи данных; использование триггеров для построения схем деления частоты и счета импульсов; описание типичных характеристик триггеров Шмитта; применение различных типов одновибраторов при проектировании схем; проектирование свободно идущего осциллятора, с помощью таймера 555; признаки и предсказание эффекта фазового сдвига тактовых импульсов в синхронных схемах; нахождение различных неисправностей в триггерных схемах; программирование ПЛУ с описанием схемы в формате переходов состоя- ний, принятом в языке CUPL. Введение До этого момента рассматривались комбинационные логические схемы, уровни напряжения на выходах которых в любой момент времени зависели от уровней на- пряжения на входах. Любые предшествующие состояния на входах никак не влияли на текущие выходные сигналы, так как комбинационные логические схемы не име- ют памяти. Обычно цифровые системы состоят как из комбинационных логических схем, так и из элементов памяти. На рис. 5.1 показана общая блок-схема цифровой системы, объединяющей в себе комбинационные логические схемы и устройства памяти. Комбинационная часть схемы принимает логические сигналы с внешних входов и с выходов элементов па- мяти. Она обрабатывает входные сигналы и генерирует соответствующие выходные сигналы. Некоторые из выходных сигналов используются для определения двоичных значений, которые необходимо сохранить в элементах памяти. Сигналы с выходов некоторых элементов памяти, в свою очередь, поступают на входы комбинационных схем. Этот процесс показывает, что внешние выходные сигналы цифровой системы одновременно являются функцией внешних входов, а также информации, хранящей- ся в элементах памяти. 218 Глава 5
Комбинационные Рис. 5.1. Общая блок-схема цифровой системы Наиболее важный элемент памяти — триггер (flip-flop), который образован сбор- кой логических элементов. Будучи логическим элементом, триггер, однако не обла- дает свойством хранения информации. Только если несколько таких устройств со- единяются вместе, это позволяет сохранять некую информацию. Для построения триггеров используеася несколько различных типов размещения элементов. На рис. 5.2 показано общепринятое обозначение триггера. Он имеет два выхода, обозначенные Q и Q , причем оба выхода являются инверсными по отношению друг к другу. Буквы Q и Q — наиболее распространенные обозначения выходов триггера, но иногда будут использоваться и другие (X и X) или (А и А), чтобы различать разные триггеры одной логической схемы. Состояние на выходах Прямой выход Инверсный выход Q=1,C С. Q = 0/_> -1: Высокий уровень, или 1; также называется состоянием SET Низкий уровень, или 0; также называется состоянием CLEAR или RESET Рис. 5.2. Общепринятое обозначение, использующееся для представления триггера и двух его возможных состояний Выход Q называется прямым выходом триггера, a Q — инверсным. Когда гово- рят о состоянии триггера, подразумеваю! его прямой выход (Q), при этом очевидно, что Q имеет противоположное состояние. Например, если гонорят, что триггер нахо- дится в состоянии с сигналом высокого уровня (в единичном состоянии), имеют в ви- ду, что Q = 1, а если речь идет о том, что в триггере на выходе сигнал низкого уровня Триггеры и родственные им устройства 219
(нулевое состояние), то Q = 0. Естественно, на выходе Q всегда будет состояние, ие версное состоянию выхода Q. Два возможных рабочих состояния триггера показаны на рис. 5.2, б. Замеп4| что высокий (или единичный) уровень (Q = 1/Q = 0) также называют возбужденны; состоянием (SET). Когда входные сигналы триггера приводят к установке Q в едт кичное состояние, речь идет о возбуждении триггера. Точно так же и низкий (ил нулевой) уровень (Q = 0/Q = l) называют сброшенным состоянием (RESET). Когд входные сигналы триггера приводят к его установке в состояние Q = 0, говорят сбросе, или очистке триггера. Многие триггеры имеют входы установки и/или сбрс са, которые используются для управления триггером, а также для его перевода конкретное состояние. Как показано на рис. 5.2, а, триггер может иметь как один, так и много входог Эти входы используются для переключения триггера между его возможными состоя ниями. Большинство входов триггера достаточно возбудить импульсом только оди раз, чтобы изменить состояние на выходе триггера, причем выход останется в это] новом состоянии даже после прохождения импульса. Эта характеристика и являете памятью триггера. Триггер иногда называют защелкой, или бистабильным мультивибратором. Тер мин защелка используется для обозначения некоторых типов триггеров, описанны далее. В свою очередь термин бистабильный мультивибратор — технически боле правильное наименование триггера, но слишком труднопроизносимое для повседне! ного использования в работе. 5.1. Защелка на элементах И-НЕ Наиболее простую схему триггера можно построить на двух элементах И-НЕ ил на двух элементах ИЛИ-НЕ. Вариант из двух элементов И-НЕ, показанный н рис. 5.3, а, называется защелкой на элементах И-НЕ, или просто защелкой. Об элемента И-НЕ имеют перекрестные обратные связи, так что выход элемента И-Н Ns 1 подключен к одному из входов элемента И-НЕ Ns 2 и наоборот. Выходы элемеь тов, обозначенные Q и Q соответственно, — это выходы защелки, которые в но£ мальных условиях всегда инверсны друг другу. Защелка имеет также два вход? вход установки, который переводит Q в единичное состояние, и вход сброса, возврг щающий Q в нулевое состояние. Рис. 5.3. При одновременной подаче единичных сигналов на входы установки и сброса защелка на элементах И-НЕ будет иметь два возможных состояния 220 Глава
В нормальном состоянии на входах установки и сброса присутствует высокий уро- вень, а когда требуется изменить сигналы на выходах защелки, на одном из них появится импульс с низким уровнем сигнала. Проанализируем, почему при одновре- менной подаче на входы установки и сброса единичных сигналов на выходе получа- ется два равновероятных состояния. Одна такая ситуация показана на рис. 5.3, а, где Q = 0, a Q = 1. При Q = 0 на входах элементов И-НЕ № 2 получаем 0 и 1, что да- ет Q = 1. Единица с выхода Q переводит элемент И-НЕ № 1 в единичное состояние на обоих входах, что дает на выходе сигнал Q = 0. Таким образом, получен низкий уровень на выходе элемента И-НЕ № 1, который приводит к появлению высокого уровня на выходе элемента И-НЕ № 2, что, в свою очередь, поддерживает низкий уровень на выходе И-НЕ № 1. Второй случай показан на рис. 5.3, б, где Q = 1, a Q = 0. Высокий уровень с эле- мента И-НЕ № 1 переводит выход И-НЕ № 2 в нулевое состояние, что сохраняет на выходе элемента И-НЕ № 1 высокий уровень. Таким образом, если одновременно на вход установки и на вход сброса поданы единичные уровни, то возможны два со- стояния установки триггера, которые зависят от уровней на входах триггера в пре- дыдущий момент времени. Установка защелки (триггера) Рассмотрим ситуацию, когда на вход установки на мгновение подается импульс с низким уровнем напряжения, в то время как на входе сброса остается высокий уровень. На рис. 5.4, а показано, что произойдет, если до подачи импульса выход Q был равен 0. Как только в момент t0 на вход установки поступит импульс с низким уров- нем, на Q установится высокий уровень, который переведет выход Q в состояние с низким уровнем, так что теперь на обоих входах элемента И-НЕ № 1 будет низкий уровень. Таким образом, когда вход установки вновь возвращается в единичное со- стояние в момент выход элемента И-НЕ № 1 остается также в единичном состоя- нии, что, в свою очередь, сохранит нулевое состояние на выходе элемента И-НЕ № 2. Рис. 5.4. Импульс с нулевым состоянием на входе установки при разных начальных усло- виях: а) до подачи импульса, Q = 0; б) до подачи импульса, Q - 1. Заметьте, что в обоих случаях на Q устанавливается высокий уровень напряжения На рис. 5.4, б показано, что происходит, если до подачи на вход установки им- пульса на выходах триггера состояние Q = 1, Q = 0. Поскольку Q = 0 поддерживает жа выходе элемента И-НЕ № 1 высокий уровень, то имг.ульс с нулевым состоянием жичего не изменит. Таким образом, когда вход установки возвратится в первоначаль- ное состояние с высоким уровнем, на выходе защелки останется состояние Q = 1, ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 221
Подведем итоги: импульс с низким уровнем на входе установки всегда перевод защелку в состояние Q = 1. Эта операция называется установкой защелки, или триггера. Сброс триггера Теперь рассмотрим, что произойдет, если подать импульс с низким уровнем на вход сброса, в то время как на входе установки продолжает оставаться высокий уро- вень. Такая ситуация показана на рис. 5.5, а. При этом до подачи импульса триггер был в состоянии Q = 0 и Q = 1. Поскольку Q = 0 уже заставляет выход элемента И- НЕ № 2 иметь высокий уровень, то импульс с низким уровнем на входе сброса никак не повлияет на схему. Когда этот вход вновь возвратится в единичное состояние, на выходах защелки сохранится Q = 0, a Q = 1. Рис. 5.5. Импульс с нулевым состоянием на входе сброса при разных начальных условиях: а) до подачи импульса, Q = 0; б) до подачи импульса, Q = 1. В обоих случаях на входе Q устанавливается низкий уровень На рис. 5.5, б показана ситуация, когда до подачи импульса на вход сброса Q = 1. В момент t0 подается импульс с низким уровнем, поэтому на Q установится высокий уровень, который заставит Q перейти в нулевое состояние — на обоих входах И-НЕ № 2 установятся низкие уровни сигналов. Таким образом, когда вход сброса возвра- тится в момент ti в единичное состояние, выход элемента И-НЕ № 2 тоже останется в единичном состоянии, что, в свою очередь, сохранит на выходе элемента И-НЕ № 1 нулевое состояние. Подведем итоги: импульс с низким уровнем на входе сброса всегда переводит за- щелку в состояние Q = 0. Эта операция называется очисткой, или сбросом защелки. Одновременная установка и сброс Одновременная подача импульсов с низким уровнем на входы установки со сброса приведет к появлению на выходах обоих элементов И-НЕ высокого уровня: Q = Q = 1. Такая ситуация нежелательна, поскольку предполагается, что оба выхода должны быть инверсными друг другу. Более того, когда входы установки и сброса возвратятся в единичное состояние, результирующее состояние на выходе защелки будет зависеть от того, какой вход окажется в исходном состоянии первым. Одно- временный их переход в единичное состояние приведет к непредсказуемым результа- там. Именно по этим причинам одновременная подача на входы установки и сброса нулевых состояний для защелок на элементах И-НЕ вообще не используется. 222 Глава 5
Резюме Работу защелок, описанную выше, легко можно представить с помощью таблиц истинности (рис. 5.6). Рис. 5.6. а) Защелка на элементах И-НЕ; б) таблица истинности SET CVEAR Выход 1 1 Без изменений О 1 1 О О О Q= 1 Q = О Не допускается* ‘дает Q = Q т=1 • Кратко работу защелки на элементах И-НЕ можно охарактеризовать так: 1. На входы установки и сброса подана 1. Это условие — нормальное состояние по- коя, так как оно не оказывает никакого влияния на состояния на выходах за- щелки. Выходы Q и Q останутся в тех состояниях, в которых они находились до подачи импульсов. 2. На вход установки подан О, на вход сброса — 1. Это условие приведет к установ- ке на выходе состояния Q = 1, в котором защелка останется даже после возвра- щения входа установки в состояние с высоким уровнем. Такой процесс называет- ся установкой защелки. 3. На вход установки подана 1, на вход сброса — О. Это условие приведет к уста- новке на выходе Q = 0, в котором защелка останется даже после возвращения входа сброса в единичное состояние. Такой процесс называется очисткой, или сбросом защелки. 4. На входы установки и сброса подан О. При этом условии защелка попытается одновременно выполнить операции установки и сброса, что может привести к не- определенному состоянию. Такое условие не используется. т '/ 'Т t V О "I ’ *.* ’V Ь а< I Другие обозначения Из описания принципа работы защелки на элементах И-НЕ следует, что входы установки и сброса управляются низким уровнем сигнала. Вход установки приведет к появлению на выходе состояния Q = 1 тогда, когда на него цодан низкий уровень; вход сброса очистит триггер (Q = 0), когда на него также будет подан низкий уро- вень. По этой причине защелка на элементах И-НЕ часто изображается иначе, чем это делается обычно для каждого элемента И-НЕ (см. рис. 5.7, а). Кружки на входах и обозначения1 входных сигналов SET и CLEAR показывают, что эти входы управ- ляются низким уровнем сигналов (читатель может вернуться к разделам 3.13 и 3.14, чтобы вспомнить данный материал). На рис. 5.7, б показано упрощенное обозначение защелки. Здесь входы S (SET) и С (CLEAR) соответствуют входам установки и сброса, а кружки на входах показыва- ют, что эти входы управляются низким уровнем. В дальнейшем такое обозначение будет применяться для защелки на элементах И-НЕ. И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 223
a) Рис. 5.7. а) Эквивалентное обозначение защелки на элементах И- НЕ; б) упрощенное обозначение 6) Терминология Сброс триггера или защелки иногда также называется очисткой. Оба эти термин взаимозаменяемы в цифровой схемотехнике. Фактически, вход сброса можно такж называть входо.м очистки. Пример 5.1 Сигналы, приведенные на рис. 5.8, а, подаются на входы защелки, изображенной н; рис. 5.7. Пусть в начальный момент времени Q = 0. Определите форму выходноп сигнала. SET Рис. 5.8. Пример 5.1 CLEAR Решение В начальный момент времени сигналы SET - CLEAR = 1, так что Q остается в нуле- вом состоянии. Импульс с низким уровнем, который поступает на вход сброса CLEAR в момент времени Тх, не оказывает на выход никакого влияния, так как Q уже находится в сброшенном (нулевом) состоянии. Единственный способ, которым можно перевести Q в единичное состояние, — это пм дать импульс с низким уровнем на вход установки SET. Такой импульс поступает 1 момент времени Т2» и вход SET переходит в нулевое состояние. Когда он возврата! ется в единичное состояние в момент Т3, Q все равно останется в новом единичное состоянии. 224 Глава
В момент Т4, когда входной сигнал SET вновь переходит в нулевое состояние, это никак не меняет состояние Q, так как Q уже установлен в единичное состояние. Единственный способ перевести Q обратно в нулевое состояние, — подать импульс с низким уровнем на вход CLEAR. Такой импульс поступает в момент времени Т5. Когда входной сигнал SET возвращается в единичное состояние в момент Te, Q все равно остается в новом нулевом состоянии. Этот пример показывает, что выход защелки “запоминает” предыдущее состояние на входе и не меняет его, пока на вход не поступит противоположное состояние. Пример 5.2 При использовании механического коммутатора (ключа) практически невозможно Ьолучить “чистый” переход напряжения от одного уровня к другому Этому мешают случайные броски напряжения — дребезг. На рис. 5.9 показано, что при переключе- жии коммутатора из положения 1 в положение 2 такие броски напряжения (контакт замыкается и разрывается в положении 2 несколько раз) возникают на выходе перед тем, как ключ окончательно перейдет в положение 2. +5 В Случайный "дребезг” I Окончательный 1 переход в Переключение положение 2 в положение 2 I I Переключение Переключение в положение 2 обратно в положение 2 Рис. 5.9. а) Дребезг механического переключения контакта дает множе- ство скачков уровней напряжения; б) защелка на элементах И-НЕ ис- пользуется для устранения дребезга при переключении механического ключа ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 225
Множественные скачки напряжения на выходе обычно длятся не больше нескольких миллисекунд, но они могут оказаться неприемлемы во многих практических приме- нениях. Для предотвращения дребезга на выходе схемы используется защелка на элементах И-НЕ. Опишите функционирование схемы такой “противодребезговой за- щиты”, показанной на рис. 5.9, б. Решение Предположим, что ключ находится в положении 1, так что на входе CLEAR имеется низкий уровень напряжения и Q = 0. Когда ключ перейдет в положение 2, появится первый контакт и на входе CLEAR будет высокий уровень напряжения, а на входе SET — низкий. Это установит выход Q = 1 в течение нескольких наносекунд (времени отклика элемента И-НЕ). Если теперь ключ разорвет контакт 2 из-за дре- безга, на входах SET и CLEAR одновременно появится высокий уровень, что никак не повлияет на выход Q — он останется в том же единичном состоянии. Состояние выхода Q не изменится, даже если ключ будет дребезжать на контакте 2 перед окон- чательной установкой в новом положении. Точно так же, если передвинуть ключ из положения 2 обратно в положение 1, на входе CLEAR при первом контакте установится низкий уровень. Это сбросит выход Q в нулевое состояние, в котором выход останется, даже если ключ будет дребезжать на контакте еще несколько раз. Таким образом, на выходе Q при каждом переключении ключа из одного положения в другое наблюдается только один переход напряжения. Контрольные вопросы . . t 1. Назовите нормальное состояние покоя для входов SET и CLEAR. Каким уровнем напряжения они управляются? 2. Какими будут состояния Q и Q после сброса (очистки) триггера? 3. Проверьте истинность высказывания. Вход SET нельзя использовать для то- го, чтобы получить на выходе Q = 0. 4. Если первоначально подать сигнал на какой-либо триггер, невозможно пред- сказать начальные состояния Q и Q . Как можно добиться того, чтобы защелка на элементах И-НЕ всегда начинала работу с состояния Q = 1? 5. 2. Защелка на элементах ИЛИ-НЕ Два элемента ИЛИ-НЕ с перекрестными обратными связями могут использовать ся в качестве защелки. Такая схема, показанная на рис. 5.10, а, подобна защелке из элементах И-НЕ и отличается только тем, что выходы Q и Q поменялись местами. Проанализировать работу защелки на элементах ИЛИ-НЕ можно точно таким жа образом, как это было сделано для защелок на элементах И-НЕ. Результаты привел ев ны в таблице истинности на рис. 5.10, б и кратко охарактеризованы ниже. 1. На входы установки и сброса подан 0. Это условие — нормальное состояние поЯ коя для защелки на элементах ИЛИ-НЕ, которое никак не влияет на состояния выхода защелки. Выходы Q и Q останутся в тех состояниях, в которых они нм ходились до подачи импульсов. 226 Глава
SET CLEAR SET CLEAR Выход 0 0 Без изменений 1 0 Q= 1 0 1 Q= 0 1 1 Не допускается* *дает Q = Q= О а) б) в) Рис. 5.10. а) Защелка на элементах ИЛИ-НЕ; б) таблица истинности; е) упрощенное обозначение 2. На вход установки подана 1, на вход сброса — О. Это условие приведет к уста- новке на выходе состояния Q = 1, в котором защелка останется даже после воз- вращения входа установки в нулевое состояние. 3. На вход установки подан О, на вход сброса — 1. Это условие приведет к установ- ке на выходе состояния Q = 0, в котором защелка останется даже после возвра- щения входа сброса в нулевое состояние. 4 На входы установки и сброса подана 1. При этом условии защелка попытается одновременно выполнить операции установки и сброса, т.е. установиться в со- стояние Q = Q = 0 . Если на входы одновременно попадут нули с указанных вы- ходов, это может привести к неопределенному состоянию. Такое условие не должно использоваться. Защелка на элементах ИЛИ-НЕ работает точно так же, как и защелка на элемен- тах И-НЕ, за исключением того, что входы установки и сброса управляются не низ- ким, а высоким уровнем напряжения; нормальное состояние покоя для такой защел- ки — состояние, когда на входы установки и сброса подан нулевой, а не единичный уровень. Выход Q установится в единичное состояние высоким уровнем входного им- пульса, поданного на вход установки, и сбросится в нулевое состояние высоким уровнем входного импульса на входе сброса. В упрощенном обозначении защелки на элементах ИЛИ-НЕ, показанном на рис. 5.10, в, нет кружков на входах установки S <SET) и сброса С (CLEAR), т.е. для этих входов управляющим является высокий уро- вень напряжения. Пример 5.3 усть в начальный момент времени Q = 0. Определите форму выходного сигнала защелки а элементах ИЛИ-НЕ, если на ее входы поданы сигналы, приведенные на рис. 5.11. SET 0 CLEAR 0 Q О Ti Т2 т3 т4 т5 тб Рис. 5.11. Пример 5.3 (ИТЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 227
Решение В начальный момент времени сигналы SET - CLEAR = 0, что никак не влияет на выход Q, и поэтому Q остается в нулевом состоянии. В момент времени Тг на вход SET поступает импульс с высоким уровнем напряжения, который переведет Q в единичное состояние. Даже после окончания импульса и возвращения входа SET в ноль в момент Т2, выход Q останется в новом состоянии. В момент времени Т3 высокий уровень поступает уже на вход CLEAR и переводит Q в нулевое состояние. Когда в момент Т4 этот вход возвращается в нулевое состояние, Q все равно не изменится. Импульс сброса, поступающий в момент Т$, никак не меняет состояние выхода Q, так как Q уже сброшен в нулевое состояние. Импульс установки в момент Т6 вновь переводит выход Q в единичное состояние, в котором он и останется. Этот пример показывает, что триггер “запоминает” последнее состояние на входе и не меняет его, пока на вход не поступит противоположное состояние. Пример 5.4 На рис. 5.12 показана простая схема, которая используется для того, чтобы обнару- жить прерывание светового луча. Сфокусированный свет попадает на фототранзи- стор, подключенный с общим эмиттером по схеме, которая работает в ключевом ре- жиме. Предположим, что защелка была сброшена в нулевое состояние с помощью мгновенного размыкания ключа SW1. Опишите, что произойдет, если луч света бу- дет хотя бы на мгновение прерван. +5 В Рис. 5.12. Пример 5.4 Решение При попадании на него света фототранзистор становится полностью проводящим, та как сопротивление между коллектором и эмиттером в этот момент очень мало. Ti ким образом, напряжение о0 между коллектором и эмиттером транзистора бул практически равным нулю, что приведет к подаче низкого уровня напряжения вход установки триггера, т.е. на обоих входах — установки и сброса — одновремен^ получатся нули. Если прервать световой луч, фототранзистор выключится, и его сопротивление к<я лектор-эмиттер станет очень большим (т.е. произойдет размыкание схемы), что nJ ведет к росту v0 до 5 В. Это, в свою очередь, возбуждает вход установки, следси тельно, на выходе Q получается высокий уровень, а значит, включится сигнал тревоJ 228 Глава
Q останется в единичном состоянии и сигнал тревоги будет звучать даже тогда, когда напряжение о0 возвратится в нулевое состояние (т.е. даже если луч света был пре- рван только на мгновение). И на входе установки, и на входе сброса одновременно будет низкий уровень сигнала, поэтому состояние Q не меняется. В этом примере характеристика памяти триггера-защелки используется для преобра- ювания мгновенного события (прерывания луча) в постоянный сигнал на выходе. (состояние триггера при включении схемы Когда на схему подается питание, невозможно предсказать начальное состояние на выходе триггера, если его входы установки и сброса не находятся в активных со- стояниях (т.е. в состоянии покоя на входах S = С = 1 для защелки на элементах |И НЕ и S = С = О для защелки на элементах ИЛИ-НЕ). Появление нуля или едини- . цы в начальный момент времени на выходе равновероятно и зависит от таких факто- ров. как внутренние задержки распространения сигналов в устройстве, паразитные I емкости, внешние нагрузки и т.п. Если для того, чтобы обеспечить правильный ре- |жим работы схемы, защелка или триггер должны в начальный момент времени на- |ходиться в определенном состоянии, тогда требуется на мгновение возбудить нужные |входы установки или сброса перед работой схемы (обычно это подача на соответст- вующий вход импульса). г -• - --«л 1 оятрольяые вопросы 11. Назовите нормальное состояние покоя для входов защелки на элементах ИЛИ- НЕ. Каким уровнем напряжения они управляются? 2. Какими будут состояния Q и Q после установки триггера? I 3. Каким единственным способом можно изменить выход Q защелки на элементах ИЛИ-НЕ из 1 в О? 4. Объясните, почему схема не будет работать, если защелку на элементах ИЛИ- НЕ, показанную на рис. 5.12, заменить защелкой на элементах И-НЕ. .3. Поиск неполадок Два следующих примера пригодятся при поиске неполадок в схемах, содержащих целки. Пример 5.5 анализируйте и опишите работу схемы на рис. 5.13. ение ный переключатель используется для установки или очистки защелки на эле- ах И-НЕ, которую применяют для получения чистых от дребезгов напряжения тов на выходах Q и Q . Эти сигналы с выходов защелки управляют прохожде- импульсов с частотой 1 кГц на выходы ХА и Хв элемента И. а переключатель замыкается в положение А, защелка устанавливается в поло- е Q = 1. Такое положение разрешает импульсам с частотой 1 кГц проходить на ХА, а Хв = 0, поскольку на выходе защелки Q сохраняется низкий уровень, переключатель замыкается в положение В, защелка сбрасывается, и Q = 0. этом выход ХА = 0, а высокий уровень напряжения на выходе Q разрешает юждение импульсов на выход Хв. ЖГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 229
Пример 5.6 Техник тестирует схему, изображенную на рис. 5.13, и записывает наблюдения в таблицу (табл. 5.1). Он заметил, что когда переключатель находится в положении В. схема работает правильно, но в положении А защелка не устанавливается в состоя- ние Q = 1. Какие возможные неисправности могли вызвать неправильную работу схемы? ^Таблица §.1 мпипш А • v ия BBS- «аз Положение SET CLEAR Q Q Хд Хе переключателя (Z1-1) (Z1-5) (Z1-3) (Z1-6) (Z2-3) (Z2-6) А низкий высокий низкий высокий низкий Импульсы В высокий низкий низкий высокий низкий Импульсы Решение Есть несколько вероятных причин неправильной работы схемы: 1. 2. 3. Внутреннее размыкание вывода Z1-1, которое не дает выходу Q правильно pearj ровать на входной сигнал SET. Внутренний сбой какого-либо компонента элемента И-НЕ (Z1), что также не па] зволяет ему правильно работать. Выход Q все время имеет низкий уровень напряжения, что может быть вызвав следующими причинами: а) вывод Zl-З замкнут на общий провод внутри элемен- та; б) вывод Z1-4 замкнут на общий провод внутри элемента; в) вывод Z2-2 заме нут на общий провод внутри элемента; г) узел Q замкнут на общий провод. 230 Глава »
Любое из этих предположений легко проверить с помощью омметра, подключенного между узлом Q и общим проводом. Внешнее замыкание узла Q можно установить и визуально. А может ли быть причиной неисправности внутреннее или внешнее замыкание вы- хода Q на источник питания Vcc? В данном случае ответ отрицательный — это не могло привести к неправильной работе схемы. Если бы выход Q был замкнут на ис- точник питания Vcc» это не позволило бы выходу Q принимать единичное состояние, когда на вход SET был подан низкий уровень. А поскольку Q не принимает еди- ничное состояние, то это предположение отпадает. Причина, по которой Q постоянно находится в единичном состоянии — постоянно высокий уровень на выходе Q, который через нижний элемент И-НЕ поддерживает на Q высокий уровень напряжения. 5.4. Тактовые сигналы и синхронные триггеры Цифровые системы могут работать в асинхронном и синхронном режимах. В асинхронных системах выходы логических схем изменяют свои состояния в любое время, когда меняется сигнал, поступающий на вход. Для такой системы проектиро- вание и поиск неисправностей, как правило, сложнее, чем для синхронной. В синхронных системах существуют сигналы (они называются сигналами синхро- низации, или тактовыми сигналами), которые определяют, в какой точно момент времени выходной сигнал может изменять свое состояние. Тактовые сигналы обычно представляют собой последовательность прямоугольных или квадратных импульсов, как это показано на рис. 5.14. Они распространяются во все элементы системы, при этом большая часть выходов системы (если не все) может изменять свои состояния только во время поступления одного из фронтов тактовых импульсов. Когда такто- вый сигнал меняет уровень с 0 на 1, такое нарастание импульса называется положи- гтельным фронтом (Positive Going Transition — PGT); спад тактового сигнала с 1 на О называется отрицательным фронтом (Negative Going Transition — NGT). В даль- нейшем эти термины будут часто использоваться. Рис. 5.14. Тактовые сигналы Большая часть цифровых систем — принципиально синхронные (хотя в них все- ’ а присутствуют те или иные асинхронные части), так как синхронные схемы легче гроектировать, а также исправлять в них различные неполадки — выходы схемы г—-------------------------------------------------------------------- Григгеры и родственные им устройства 231
могут менять свои состояния только в известные моменты времени. Другими слов^ ми, почти все окружающие нас электронные устройства синхронизируются фронтами импульсов. Синхронизация специальными сигналами происходит с помощью синхронных триггеров, спроектированных так, что они меняют свое состояние во время поступ- ления на тактовый вход одного из фронтов тактового импульса. Синхронные триггеры Некоторые типы синхронных триггеров используются в широком диапазоне за- дач. Прежде чем изучить различные синхронные триггеры, ознакомьтесь с принци- пами их работы, общими для всех устройств данного типа. 1. Синхронные триггеры имеют тактовый вход синхронизации, который обычно обозначается буквами CLK, СК или СР. В этой книге используется обозначение CLK (см. рис. 5.15). В большей части синхронных триггеров вход CLK управля- ется фронтом импульса, т.е. он возбуждается при нарастании или спаде импуль- са. Такой принцип действия данного входа указывается маленьким треугольни- ком. Этот признак отличает обозначения синхронных триггеров от защелок, управляемых уровнями напряжения. Тактовый вход активизируется положительным фронтом а) Рис. 5.15. Синхронные триггеры дополнительно имеют тактовый вход (CLK), ко- торый возбуждается а) по положительному или б) по отрицательному фронту. Воздействие того или иного фронта тактового импульса на триггер определяется уровнями сигналов на входах управления Тактовый вход активизируется отрицательным фронтом б) На рис. 5.15, а изображен триггер с маленьким треугольником на тактовом вхо- де, показывающим, что данный вход возбуждается, только когда на него посту-1 пает положительный фронт тактового импульса; никакая другая часть импульса не может влиять на вход. На рис. 5.15, б символ триггера на входе, кроме ма- ленького треугольника, также содержит кружок. Это значит, что тактовый вход возбуждается, только когда на него поступает отрицательный фронт тактового импульса, и никакая другая часть импульса не может повлиять на его состояние. I -2. Синхронные триггеры также имеют один или несколько управляющих входов, у| которых могут быть разные наименования в зависимости от их предназначения. Сигналы управления не влияют на выход триггера Q до тех пор, пока на триггеа не поступит активный фронт тактового импульса. Другими словами, влияние та- ких входов синхронизировано с сигналами на входе CLK, и по этой причине они носят название синхронных управляющих входов. Например, входы управления триггера; изображенного на рис. 5.15, а, не смогут как-либо повлиять на выход Q, пока на тактовый вход не поступит положитель-| ный фронт тактового импульса. Аналогично, входы управления триггера на! 232 Глава 5
рис. 5.15, б никак не будут влиять на Q, пока на триггер не поступит отрица- тельный фронт тактового импульса. Подведем итоги: входы управления заставляют триггер приготовиться к смене состояний на выходе, но только с приходом на тактовый вход активного фронта тактового импульса триггер изменит текущее состояние. Управляющий вход оп- ределяет что произойдет на выходе триггера (т.е. его новое состояние), а такто- вый вход определяет когда это произойдет. >емя установки и время удержания триггера В синхронных триггерах важно знать два требования по времени, чтобы быть ренным в надежном и правильном отклике на входы управления в те моменты, да приходит активный фронт тактового импульса. Эти требования для триггера, ввляемого положительным фронтом, проиллюстрированы на рис. 5.16. Время установки а) Рис. 5.16. Входы управления должны оставаться стабильными а) на время установки Кв до прихода управляющего фронта тактового импульса и б) на время удержания /н после прихода управляющего фронта Время удержания б) Временем установки ts (Setup time) называется временной интервал, непосредст- ю предшествующий управляющему фронту тактового сигнала, во время которого 1кляющий вход должен оставаться в стабильном состоянии. Производители ИС чно указывают минимально возможное время установки — tH(min). Если гребо- »е к величине этого времени не выполняется, значит, триггер не сможет надежно агировать на сигнал во время прихода нужного фронта тактового импульса. Временем удержания tH (Hold time) называется временной интервал, непосредст- ао предшествующий управляющему фронту тактового сигнала, во время которого кронный управляющий вход должен оставаться в одном и том же состоянии. >изводители ИС обычно указывают минимально приемлемое значение времени эжания — £H(min). Если требование по величине этого времени не выполняется, ггер не сможет надежно отреагировать на входной сигнал. Таким образом для того, чтобы синхронный триггер правильно отвечал на сигнал момент прихода управляющего фронта тактового импульса, управляющие входы к-кны оставаться в стабильном состоянии (не изменять уровня напряжения) как вимум в продолжение временного интервала, равного £s(min), до прихода нужного :нта тактового импульса и как минимум в продолжение временного интервала, »ного £H(min), после прихода нужного фронта. Триггеры в интегральном исполнении имеют минимально допустимые интервалы в £н» лежащие в наносекундном диапазоне. Обычно время установки находится в ИТЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 233
диапазоне от о до ои нс, а время удержания — от и до ли нс. Заметьте, что эти ин- тервалы заменяются до момента достижения тактовым сигналом 50% уровня фронта. Требования к временным интервалам очень важны для синхронных систем, пото- му что — как будет показано далее — встречается много ситуаций, когда состояние синхронных входов управления триггера меняется примерно в тот же самый момент, когда наступает тактовый импульс. Контрольные вопросы 1. Какие два типа входов содержатся в синхронном триггере? 2. Что значит термин управляемый фронтом импульса? 3. Проверьте истинность высказывания. Тактовый вход повлияет на состояние выхода триггера, только когда на управляющий вход поступит активный фронт сигнала. 4. Опишите требования ко времени установки и времени удержания синхронного триггера. 5.5. Синхронные S-C-триггеры На рис. 5.16, а показано логическое обозначение синхронного S-C-триггера, управляемого положительным фронтом тактового сигнала. Это значит, что такой триггер может менять состояние, только когда сигнал, поступающий на тактовый вход, переходит с 0 в 1. Входы S и С управляют состоянием триггера точно так же, как это было описано для защелок на элементах ИЛИ-НЕ, но с единственным отли- чием — данный триггер не отвечает на эти входы до поступления положительного фронта тактового сигнала. Таблица истинности на рис. 5.17, б показывает, как отвечает выход триггера на приход положительного фронта тактового импульса на вход CLK для различных комбинаций входных сигналов на входах S и С. В этой таблице прослеживается не- сколько новая номенклатура. Стрелка вверх (?) показывает, что вход CLK управля- ется положительным фронтом; обозначение Qq показывает состояние выхода Q до по- ступления фронта тактового импульса. Такая номенклатура часто используется про- изводителями ИС в руководствах по эксплуатации интегральных схем. Формы сигналов на рис. 5.17, в иллюстрируют работу синхронного S-C-триггера. Если предположить, что требования по величине времени установки и времени удержания выполняются во всех случаях, можно проанализировать формы сигналов,] показанные на рисунке, следующим образом: 1. В начальный момент времени на всех входах был 0, поэтому и на выходе Q так- же предполагается 0, т.е. Qo — 0. 2. Когда положительный фронт первого тактового импульса поступает на тактовый] вход (точка а), на входах S и С триггера имеем 0, поэтому триггер никак не реа-] гирует и остается в состоянии Q = 0 (т.е. Q = Qo). 3 С приходом на тактовый вход положительного фронта второго тактового импуль- са (точка с) на входе S высокий уровень напряжения, а на С — все еще низкий. поэтому по положительному фронту тактового импульса триггер переключается единичное состояние. 4. Когда на вход поступает третий тактовый импульс (момент е), вход S = 0, 1 С = 1, поэтому триггер сбрасывается в нулевое состояние. 5. Четвертый тактовый импульс вновь устанавливает триггер в состояние Q = 1 (точка g), потому что во время прихода положительного фронта вход S = 1, С = 0. 234 Глава а
по положительному фронту Выход Входы S с CLK Q 0 0 Т Qo (без изменений) 1 0 т 1 0 1 . ? 0 1 1 т Не определено Qo - состояние на выходе перед положительным фронтом на тактовом входе. Отрицательный фронт на тактовом входе не вызывает изменений на выходе в) Рис 5.17. а) Синхронный. S-C-триггер, управляемый положительным фронтом тактово- 90 импульса; б) таблица истинности; в) типичные формы сигналов Во время прихода положительного фронта пятого тактового импульса S = 1, а С = 0. Однако выход Q уже установлен в единичное состояние, поэтому измене- ний нет. Ситуация, когда S = С « 1, не должна использоваться, потому что на выходе по- является неопределенное состояние. Следует обратить внимание, что в данном случае отрицательные фронты тактовых сульсов никак не действуют на состояние триггера. Также важно заметить, что :вни на входах S и С не влияют на триггер, пока на него не поступит очередной южительный фронт тактового импульса. Входы S и С — синхронные управляю- ГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 235
щие входы, они управляют состоянием триггера во время прихода тактовых импуль сов; вход CLK также называется входом переключения, так как именно он в момен ты активных фронтов тактовых импульсов заставляет триггер изменять свои состоя ния согласно сигналам на входах S и С. На рис. 5.18 показаны обозначение и таблица истинности синхронного S-C триггера, управляемого отрицательным фронтом тактового импульса. Кружок и тре угольник на входе CLK показывают, что данный триггер переключается только i моменты, когда сигнал на тактовом входе изменяет свое состояние с 1 на 0. Это1 триггер работает точно так же, как и триггер, управляемый положительным фрон том за исключением того, что его выход может изменять состояние только во врем! спадающего фронта тактового импульса (точки Ь, d, f, h и j на рис. 5.17). В цифро вых системах используются как триггеры, управляемые положительным фронтов тактового сигнала, так и триггеры, управляемые отрицательным фронтом. Срабатывание по отрицательному фронту Входы S С CLK 0 0 1 1 0 1 С 1 1 1 1 1 Выход Q_________ О0(без изменений) 1 0 Не определено Рис. 5.18. Синхронный S-C-триггер, управляемый только отрицательным фронтом Внутреннее строение S-C-триггеров, управляемых фронтом В детальном анализе внутреннего строения синхронных триггеров уже нет необ ходимости — теперь все они доступны на интегральных схемах. Описание внешне!' работы триггеров дополнено упрощенным анализом работы внутренних схем тригге ров. На рис. 5.19 показано строение триггера, управляемого фронтом. импульсом Рис. 5.19. Упрощенная внутренняя схема S C-триггера, управляемого фронтом Защелка И-НЕ 236 Глава 5
Схема такого триггера содержит три части: I. Базовую защелку на элементах И-НЕ, состоящую из элементов И-НЕ-3 и И-НЕ-4. В. Схему управления импульсами, состоящую из элементов И-НЕ № 1, а также И-НЕ № 2. В. Схему обнаружения фронта импульса. Как показано на рис. 5.19, схема обнаружения фронта выдаст узкий пик положи- ельной полярности (CLK*), совпадающий с активным фронтом входного тактового Вмпульса. Схема управления импульсами “направляет” этот пик на входы установки Ели сброса защелки в зависимости от уровней на этих входах. Например, если 8=1, I С = 0, то сигнал CLK* будет инвертирован, и после прохождения элемента И НЕ к 2 также вызовет появление импульса с низким уровнем, но на входе сброса за- пел ки, что приведет к сбросу: Q = 0. На рис. 5.20, а показано, как формируется сигнал CLK* для триггеров, управ- иемых фронтом, а именно для управляемых положительным фронтом. В инверторе Егнал задерживается на некоторое время, поэтому переход сигнала от одного уровня К другому на входе CLK происходит на несколько наносекунд позже перехода на рсоде CLK. Элемент И выдает пик на выходе, который имеет высокий уровень толь- Во в течение нескольких наносекунд — когда на входах CLK и CLK одновременно жблюдается высокий уровень. В результате в момент прихода на вход CLK положи- тельного фронта на входе CLK* появляется узкий импульс. На рис. 5.20, б показано, го для триггера, управляемого отрицательным фронтом, узкий импульс на входе Е£А'* появляется в момент прихода на вход CLK отрицательного фронта импульса. CLK CLK CLK* нс. 5.20. Примеры реализации схем обнаружения фронта импульса, которые используются триггерах, управляемых а) положительным и б) отрицательным фронтами. Продолжи- слъность импульсов CLK* обычно лежит в пределах от 2 до 5 наносекунд Сигнал на CLK* имеет высокий уровень только в течение нескольких наносекунд, гтому уровни на входах S и С влияют на состояние выхода Q только в момент входа на вход CLK активного фронта тактового импульса и очень непродолжи- :ьное время после него. Именно эта черта предоставляет триггеру свойство пере- ючаться по фронту сигнала. ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 237
Контрольные вопросы ... . <4 ' ... 1. Пусть формы сигналов, показанные на рис. 5.17, в, поданы на входы триггера с рис. 5.18. Какое состояние будет на выходе Q в точках Ь, /ив Л? 2. Объясните, почему входы S и С влияют на состояние выхода Q только в момент прихода на вход CLK активного фронта? 5.6. Синхронные J-K-триггеры На рис. 5.21, а показан синхронный J-K-триггер, управляемый положительным фронтом тактового сигнала. Входы J и К управляют состоянием триггера подобно входам S и С в синхронном S-C-триггере за исключением того, что при условии J = К - 1 на выходе триггера не появляется неопределенное состояние. При таком наборе входных переменных данный J-K-триггер переключится в противоположное состояние по положительному фронту тактового импульса. Такой режим работы триггера называется режимом переключения. В этом режиме, если на входах J и К высокий уровень, триггер изменяет состояние (переключается) на противоположное в момент прихода положительного фронта тактового импульса. J к CLK Q 0 0 т О0(без изменений) 1 0 1 0 1 т 0 1 1 т Qo (переключение) Установка Переключение Переключение Сброс Переключение Без изменений б) Рис. 5.21. а) Синхронный J-K-триггер, реагирующий только на положительный фронт тактовых импульсов; б) временные диаграммы сигналов на входах и выходах синхрон- ного J К-триггера CLK Время 238 Глава
Таблица истинности, изображенная на рис. 5.21, а, показывает, каким образом | синхронный J-K-триггер реагирует на положительные фронты импульсов J и К. За- метьте, что приведенная таблица истинности совпадает с таблицей для синхронного S-C-триггера (рис. 5.17) за исключением условия J ~ К = 1. При выполнении на вхо- I ze триггера этого условия на выходе получается состояние Q = Qq , т.е. новое значе- ние на выходе Q будет инверсным предыдущему значению, которое сменилось с при- ходом очередного положительного фронта тактового импульса; это и есть режим пе- реключения. Работа такого триггера проиллюстрирована на рис. 5.21, б. Опять же — мы пред- полагаем, что выполняются требования к величинам времени установки и времени удержания. 1. В начальный момент времени на всех входах присутствуют нулевые состояния, на выходе Q предполагается единичное состояние, т.е. Qo = 1- 2. Когда на тактовый вход поступает положительный фронт первого тактового им- пульса (точка а), вход J = 0, а вход К = 1, что приводит к сбросу триггера в ну- левое состояние: Q ~ 0. 3. Во время прихода положительного фронта второго тактового импульса J = К = 1 (точка с), поэтому триггер переключается в противоположное состояние: Q = 1. 4. В точке е входы J и К одновременно равны 0, поэтому триггер не меняет своего текущего состояния. 5. В точке g вход J = 1, а К = 0. Такая комбинация входных сигналов приводит к установке выхода Q в единичное состояние. Однако триггер уже установлен в это состояние, поэтому в нем он и останется. |С. В точке i снова J = К = 1, поэтому триггер переключится в противоположное со- стояние. То же самое произойдет и в точке k. Заметьте, что триггер никак не реагирует на отрицательный фронт тактового им- Ьульса. Уровни на входах J и К также не влияют на триггер в моменты, когда на Тактовый вход не поступают соответствующие фронты импульсов. Сами по себе вхо- иы J и К не могут заставить триггер изменить состояние. На рис. 5.22 изображен символ, обозначающий синхронный J-K-триггер, пере- |жлючающийся по отрицательному фронту тактового импульса. Кружок на входе CLK доказывает, что такой триггер изменит свое состояние, когда состояние входа CLK изменится с 1 на 0. Данный триггер работает точно так же, как и триггер, управ- ляемый отрицательным фронтом (рис. 5.21) за исключением той особенности, что он изменит свое состояние во время прихода другого — отрицательного — фронта июменты b, d, f, h и f). На практике широко применяются J-K-триггеры обеих по- Иярностей. а к clk 0 0 1 1 0 1 С 1 1 1 1 1 Q___________ Qo (без изменений) 1 0 (50 (переключение) Рис. 5.22. Синхронный J K /приггер, реагирующий только на отрицательный фронт тактового импульса J-K-триггер намного более универсальный, чем S-C-триггер, потому что он не ет неопределенного состояния. При условии J = К = 1 он просто переключится, а ситуация находит широкое применение во всех типах двоичных счетчиков. Под- ЕЯ итог сказанному, можно сформулировать такой принцип: J-K-триггер выполня- ете те же операции, что и S-C-триггер плюс работает в режиме переключения. ГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 239
Внутреннее строение J-K-триггеров, управляемых фронтом Упрощенный пример внутреннего строения J-K-триггера, управляемого фронтом, показан на рис. 5.23. Он содержит те же три части, что и S-C-триггер (рис. 5.19), с единственной разницей — выходы Q и Q имеют обратные связи со схемой управле- ния импульсами, выполненной на элементах И-НЕ. Эта обратная связь и дает J-K- триггеру возможность переключаться при условии, что J — К = 1. импульсом Рис. 523. Внутреннее строение J-K-триггера, управляемого фронтом тактового импульса Теперь более детально рассмотрим условие переключения. Предположим, что J = К = 1 и Q находится в нулевом состоянии во время прихода импульса на вход CLK. При Q = 0 и Q - 1 сигнал CLK* через элемент И-НЕ № 1 пройдет (уже инвер- тированный) на вход SET защелки, что приведет к установке на выходе Q = 1. Если предположить, что на выходе Q в момент прихода тактового импульса был высокий уровень сигнала, то сигнал CLK* (инвертированный после элемента И-НЕ) пройдет на вход защелки CLEAR через элемент И-НЕ № 2, а это приведет к установке на выходе Q = 0. Таким образом, состояние на выходе Q всегда будет переключаться в противоположное. Чтобы переключение действительно произошло, как описано выше, импульс CLK* должен быть очень узким. Он обязан возвращаться в нулевое состояние до то- го, как выходы Q и Q переключатся в новые состояния, иначе новые уровни на них вызовут появление еще одного импульса CLK*, который переключит защелку обратно. Контрольные вопросы 1. Проверьте истинность высказывания: а) J-K-триггер может быть использован как S-C-триггер; б) S-C-триггер не может быть использован как J-K-триггер. 2. Содержит ли J-K-триггер неопределенные входные состояния? 3. При каком входном условии J-K-триггер всегда устанавливает выход Q в еди- ничное состояние с поступлением активного фронта на тактовый вход? 240 Глава 5
5.7. Синхронный D-триггер На рис. 5.24, а показаны таблица истинности и символ, которым обозначают син- хронный D-триггер, переключающийся по положительному фронту. В отличие от J-К и S-C-триггеров, в данном триггере только один синхронный управляющий вход — D, что обозначает данные (data). Работа D-триггера состоит в следующем: в момент прихода на тактовый вход положительного фронта тактового импульса выход Q переключится в то же самое состояние, которое наблюдается на входе D в данный момент времени. Таким образом, в момент прихода на триггер положительного фронта тактового импульса уровень на входе D будет сохранен. Диаграммы, изобра- женные на рис. 5.24, б, иллюстрируют работу такого триггера. Рис. 524. а) D-триггер, управляемый только по положительному фронту тактового импульса; б) временные диаграммы Предположим, что в начальный момент времени на выходе Q установлен высокий уровень. Когда в точке а на триггер поступает положительный фронт тактового им- пульса, на входе D низкий уровень напряжения, поэтому Q установится в нулевое эстояние. Несмотря на то, что уровень напряжения на входе D меняется в промежу- ток времени между точками а и Ь, на Q это не оказывает никакого влияния — выход D-триггера хранит тот самый низкий уровень, в котором находился управляющий вход D в точке а. Когда в точке b на триггер поступает следующий положительный £ронт тактового импульса, Q установится в состояние с высоким уровнем, так как в этот момент на входе D присутствует высокий уровень. Q сохраняет высокий уровень, пока положительный фронт очередного тактового импульса в точке с не сбросит вы- ход Q в состояние с низким уровнем, в котором в тот момент будет находиться вход JD. Точно так же выход Q будет принимать значения входа D в моменты прихода по- ложительных фронтов последующих тактовых импульсов в моменты d, е, f и g. За- ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 241
метьте, что Q продолжает находиться в состоянии с высоким уровнем в момент е, по- скольку в таком же состоянии находится и D. Снова подчеркиваем — важно запомнить, что выход Q меняет свои состояния только в момент прихода положительного фронта тактового импульса. Между такто- выми импульсами вход D не оказывает на состояние выхода никакого влияния. D-триггер, переключаемый по отрицательному фронту тактовых импульсов, рабо- тает точно так же, как описано выше, с той лишь разницей, что выход Q будет при- нимать состояния со входа D в момент прихо; а на тактовый вход отрицательного фронта. Символ, которым обозначают D-триггер, переключаемый по отрицательному фронту тактовых импульсов, будет иметь кружок на тактовом входе. Реализация D-триггера D-триггер, управляемый фронтом, легко реализовать, просто добавив инвертор к схеме управляемого фронтом J-K-триггера, как сделано на рис. 5.25. Если подать на такую схему оба значения D, легко убедиться, что Q примет значение, присутствую- щее в момент поступления положительного фронта тактового импульса на входе D. То же самое преобразует и S-C-триггер в D-триггер. а) б) Рис. 5.25. D-триггер, управляемый фронтом тактового импульса, реализованный на J-K-триггере Параллельная передача данных Теперь читателю, вероятно, хотелось бы узнать, зачем же все-таки нужен D-1 триггер, ведь оказалось, что выход Q просто повторяет состояние на входе D. На са-1 мом деле Q принимает состояние входа D только в определенные моменты времени,! и поэтому выход не полностью идентичен входу (см. временные диаграммы на, рис. 5.24). В большинстве применений D-триггера его выход должен запомнить состояние входа D только в заданные моменты времени. Пример такой работы показан на рис. 5.26. Выходные сигналы логической схемы X, Y и Z должны быть переданы для хранения на выходы триггеров Qlt Q2 и Q3 соответственно. Уровни с выходов X, У d Z можно подать на устройства Qlr Q2 и Q3 через D-триггеры по поступлению на так- товые входы всех триггеров сигнала TRANSFER (передача), после чего триггеры хра- нят полученные значения для дальнейшей их обработки. Это пример параллельной передачи двоичных данных; все три бита X, У и Z передавались в схеме одновременно. | 242 Глава 5
*После поступления отрицательного фронта импульса Рис. 5.26. Параллельная передача двоичных данных с использованием D-триггера Контрольные вопросы 1. Что случится с формой выходного сигнала Q на рис. 5.24, б, если на входе D все время будет низкий уровень? 2. Проверьте истинность высказывания. На выходе Q всегда то же самое со- стояние, что и на входе D. 3. Может ли J-K-триггер использоваться для параллельной передачи данных? 5.8. Защелка на D-триггере (прозрачная защелка) D триггер, управляемый фронтом тактового импульса, использует схему обнару- жения фронта импульса, которая гарантирует, что выход триггера будет соответс'" вующим образом реагировать на вход D, только когда на тактовый вход поступит нужный фронт импульса. Если бы не было схемы обнаружения фронта, то триггер работал бы в другом режиме, который называется защелкой на D-триггере, или про- сто D-защелкой и устроен так, как это показано на рис. 5.27, а. Приведенная схема содержит защелку на элементах И-НЕ и управляющие эле- менты И-НЕ № 1, а также И-НЕ № 2, но не включает схемы обнаружения фронта импульса. Общий вход на управляющие элементы называется разрешающим вхо- дом — ENABLE (сокращенно EN)t а не тактовым входом, потому что его влияние на выходы Q и Q не ограничивается только временем поступления фронта. Работа D- защелки описана ниже. Триггеры и родственные им устройства 243
Защелка И-НЕ Входы Выход EN D Q 0 X 1 0 1 1 Qq (без изменений) 0 1 X - безразличное состояние Qq - состояние Q перед наступлением низкого уровня на EN б) в) Рис. 5.27. D-защелка: а) структура; 6) таблица истинности; в) обозначение 1. Когда на входе высокий уровень, сигнал с низким уровнем со входа D поступит или на вход SET, или на вход CLEAR защелки на элементах И-НЕ, что устано- вит выход Q в такое же состояние в котором находится и вход D. Если D изме- нит свое состояние, в то время как на входе EN все еще остается высокий уро- вень, Q сразу же переключится в такое же состояние. Следовательно, пока EN = 1, на выходе Q будет то же состояние, что и на входе D; в таком режиме D- защелку называют “прозрачной”. 2. Когда вход EN примет состояние с низким уровнем, входу D будет запрещено влиять на защелку на элементах И-НЕ, так как на выходах обоих управляющих элементов будет одновременно высокий уровень. Следовательно, выходы Q и Q останутся в том же состоянии, в котором они находились до того, как на входе EN установилось состояние с низким уровнем. Иными словами, выходы “защелкиваются” в своем текущем состоянии и не могут изменяться, пока вход EN имеет низкий уровень, даже если меняется состояние входа D. Работу данной схемы иллюстрирует таблица истинности на рис. 5.27, б. Логиче- ский символ, которым принято обозначать 2)-защелку, показан на рис. 5.27, в. За- метьте, что хотя вход EN работает почти так же, как вход CLK триггера, управляе- мого фронтом, на нем нет маленького треугольника (его наличие говорит о том, что данный вход может работать только во время перехода импульса с одного уровня фронта на другой), т.е. D-защелка не управляется фронтом. Пример 5.7 Определите форму сигнала Q на выходе £>-защелки для сигналов на входах EN и D, приведенных на рис. 5.28. Пусть в начальный момент времени Q = 0. Решение Цо момента времени Тх на входе EN наблюдается низкий уровень напряжения, по- этому выход Q “защелкнут” в текущем нулевом состоянии и не может изменить его даже при изменении сигнала на входе D. В интервале от Тх до Т2 на входе EN высо- кий уровень, поэтому Q будет повторять сигнал на входе D. Таким образом, в момент Т\ выход Q устанавливается в состояние с высоким уровнем и остается в нем, пока сигнал на входе D не изменится. Когда вход EN возвратится на низкий уровень в момент Т2, выход Q окажется “защелкнутым” в единичном состоянии, которое он 244 Глава 5
имел в момент Т2, и будет оставаться в нем все время, пока на входе EN будет низ- кий уровень сигнала. В момент Т3 вход EN вновь приобретет высокий уровень, и Q последует за состояни- ем на входе D до момента Т4, когда EN возвратится на низкий уровень. В интервале от Т3 до Т*4 D-защелка будет “прозрачна”, т.е. изменения на входе D будут проходить на выход Q. В момент 7*4 на входе EN появится низкий уровень, и Q “защелкнется” в нулевом состоянии, потому что такое состояние будет на выходе Q в момент Т4. По- сле момента Т4 изменения на D никак не повлияют на выход Q — он будет “защелкнут” (т.е. EN = 0). Хранение Прохождение Хранение Прохождение Хранение при Q = 0 О = D при 0=1 0 = D при 0 = 0 Рис. 5.28. Временные диаграммы из примера 5.7, иллюстрирующие два режима работы прозрачной D-защелки -= - - . - — *—* Контрольные вопросы 1. Опишите, чем отличается работа .D-защелки от управляемого фронтом D- триггера. ' 2. Проверьте истинность высказывания. При EN — 0 D-защелка находится в прозрачном режиме. 3. Проверьте истинность высказывания. В D-защелке вход D может влиять на выход Q, только когда EN = 1. 5.9. Асинхронные входы До сих пор были рассмотрены синхронные триггеры, входы которых S, С, J, К и UD относятся к так называемым управляющим входам. Эти входы иногда также на- жгвают синхронными входами, так как их воздействие на выход триггера синхрони- ровано с сигналом на входе CLK. Из предыдущих примеров очевидно, что син- ронные входы управления должны использоваться согласованно с тактовым сигна- Ьом. чтобы устанавливать триггер в определенные положения. Большая часть синхронных триггеров также содержит один или несколько асин- хронных входов, работающих независимо от тактового сигнала и синхронных вхо- Кв. Такие асинхронные входы могут использоваться для установки триггера в еди- ^^чное состояние или его сброса в нулевое состояние в любой момент времени неза- Кси.ио ит условий на других входах. Иными словами, асинхронные входы — это ИТЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 245
доминирующие входы, т.е. их применяют для подавления всех остальных входов и принудительной установки триггера в то или иное состояние. На рис. 5.29 показан J-K-триггер с двумя асинхронными входами, обозначенны- ми PRESET (вход предварительной установки) и CLEAR (сброс). Эти входы управ- ляются низким уровнем напряжения (кружок на символе триггера). Сопроводитель- ная таблица истинности показывает, как асинхронные входы влияют на выход триг- гера. Рассмотрим следующие ситуации: 1. PRESET = CLEAR = 1. Асинхронные входы неактивны и триггер свободно отве- чает на сигналы, поданные на входы J. К и CLK, т.е. триггер находится в син- хронном режиме. 2. PRESET = 0, CLEAR - 1. Вход PRESET становится активным, и выход Q не- медленно устанавливается в единичное состояние независимо от того, какие сиг- налы были в данный момент поданы на входы J, К и CLK. Пока на входе PRESET имеется 0, сигнал на входе CLK не может влиять на триггер. 3. PRESET = 1, CLEAR = 0 . Вход CLEAR становится активным, и Q немедленно сбрасывается в нулевое состояние независимо от того, какими были сигналы в данный момент на входах J, К и CLK. Пока на входе CLEAR имеется 0, сигнал на входе CLK никак не влияет на триггер. 4. PRESET = CLEAR = 0. Такое условие не должно использоваться, поскольку оно приводит к неопределенному состоянию на выходе триггера. PRESET CLEAR Реакция триггера 1 1 Синхронизируемая работа* 0 1 Q = 1 (независимо от CLK) 1 0 Q = 0 (независимо от CLK) 0 0 Не используется ‘Q будет реагировать на J, К и CLK Рис. 5.29. Синхронный J-K-триггер с асинхронными входами Важно заметить, что асинхронные входы реагируют на уровни постоянного на- | пряжения. Это значит, что если на вход PRESET подан постоянный нулевой сиг- нал, то триггер все время остается в состоянии Q = 1 независимо от состояний дру- гих входов. Аналогично, постоянный низкий уровень на входе CLEAR будет удер- живать триггер в состоянии Q = 0. Таким образом, асинхронные входы могут использоваться для удержания триггера в определенном состоянии на протяжении любого требуемого интервала времени. Чаще, однако, асинхронные входы применя- ют для установки или очистки триггера посредством подачи мгновенного импульса на один из таких входов. Много синхронных триггеров, доступных на базе ИС, имеют оба описанных асин- хронных входа; другие имеют только вход CLEAR. В некоторых триггерах асин-, хронные входы управляются высоким уровнем сигнала, а не низким, для них на символе триггера не будет изображен кружок на асинхронных входах. 246 Глава 5
Маркировка асинхронных входов Производители интегральных схем не пришли к соглашению относительно ис- пользования определенной номенклатуры для асинхронных входов. Наиболее часто их маркируют обозначениями PRE (PREset) и CLR (CLeaR). Также можно встретить обозначения Sd (Direct Set — непосредственная установка) и RD (Direct Reset — не- посредственный сброс). Далее в этой книге для обозначения асинхронных входов ис- пользованы обозначения PRE и CLR (такая маркировка встречается наиболее часто). Если асинхронные входы управляются низкими уровнями напряжения, как это обычно происходит, используется знак инверсии над обозначениями входа и соответ- ствующего ему сигнала: PRE и CLR. Хотя большинство триггеров на базе ИС имеют один или несколько асинхронных входов, в некоторых случаях эти входы не используются — они постоянно удержи- ваются в таком состоянии, в котором неактивны. Далее в книге приведены примеры, которые не требуют использования асинхронных входов (они не будут показаны на схеме); при этом по умолчанию будет предполагаться, что на входах поддерживается неактивный логический уровень напряжения. Пример 5.8 На рис. 5.30, а показан J-K-триггер, который управляется по отрицательному фрон- ту тактового импульса и имеет асинхронные входы, управляемые низким уровнем напряжения. До того как вы возьметесь за решение поставленной задачи, обратите внимание на обозначение входов. Тактовый сигнал, поданный на триггер, обозначен CLK (знак инверсии показывает, что он активирует триггер в момент прихода на тактовый вход отрицательного фронта импульса), в то время как внутри триггера этот сигнал обозначен уже просто CLK. Аналогично, внешние асинхронные входы, которые управляются низким уровнем, обозначены PRE и CLR, но внутри триггера они помечены просто PRE и CLR. Важно запомнить, что кружок на входе обозначает реакцию данного входа на поступление низкого уровня сигнала. Решение До момента времени а каждый из входов PRE и CLR находится в неактивном со- стоянии с высоким уровнем сигнала, поэтому на выход они никак не влияют. Таким образом, когда в точке а отрицательный фронт первого тактового импульса CLK по- ступает на соответствующий вход, Q переключится в противоположное состояние, потому что при условии J = К = 1 триггер переключается. В точке b на входе PRE устанавливается активное для него состояние с низким уровнем сигнала, что немедленно переключит триггер в состояние Q = 1. Заметьте, что сигнал PRE приводит к установке выхода в состояние Q = 1, не ожидая, пока на тактовый вход поступит отрицательный фронт очередного импульса. Таким обрэзом, асинхронные входы действительно работают независимо от тактовых сигналов. В точке с отрицательный фронт сигнала CLK заставит выход триггера вновь переклю- читься е противоположное состояние. Заметьте, что вход PRE возвратился в неактив- ное для него состояние еще до точки с. Точно так же в точке d отрицательный фронт сигнала CLK заставит Q переключиться обратно в состояние с высоким уровнем. В точке е устанавливается активное состояние на входе CLRy поэтому триггер не- медленно будет сброшен в состояние Q — 0. Опять же, этот процесс никак не зависит от сигнала CL К на тактовом входе. Отрицательный фронт следующего импульса CLK, приходящий на триггер в точке Л не переключит состояние выхода Q, потому что вход CLR все еще остается актив- Триггеры и родственные им устройства 247
ным. Низкий уровень на входе CLR подавляет сигнал на входе CLK и удержи г — • триггер в состоянии Q = 0. Когда в точке g на триггер поступит отрицательный фронт очередного импульса CLK t он переключит Q в состояние с высоким уровнем, так как в этот момент вре- мени ни один из асинхронных входов не будет активным. Описание работы этой схемы кратко представлено в таблице на рис. 5.30, б. Момент Действие а b Синхронное переключение по отрицательному фрон гу на CLK Асинхронная установка по PRE = 0 с Синхронное переключение d Синхронное переключение е Асинхронный сброс по CLR = 0 F g CLR отменяет действие отрицательного фронта на CLK Синхронное переключение б) Рис. 5.30. Временные диаграммы из примера 5 8, иллюстрирующие реакцию синхронного триггера на сигналы, поданные на асинхронные входы 1. Опишите, чем отличается работа асинхронного входа от синхронного. 2. Может ли D-триггер реагировать на сигналы на входах D и CLK, если в это время вход PRE =1? 3. Назовите условия, необходимые для переключения в противоположное состоя- ние J-K-триггера с асинхронными входами, которые управляются низким уровнем напряжения. 248 Глава
5.10. Обозначение IEEE/ANSI На рис. 5.31, а показано обозначение J-K-триггера с асинхронными входами, ко- торый управляется низким уровнем напряжения (по стандартам IEEE/ANSI). Обра- тите внимание на прямоугольный треугольник около входа CLK, показывающий, что данный вход управляется отрицательным фронтом тактовых импульсов (в обозначе- ниях IEEE/ANSI прямоугольный треугольник имеет такое же значение, как и кру- жок в традиционных символах устройств). Следует также обратить внимание на то, что тактовый вход помечен буквой “С" внутри прямоугольника. Стандарты IEEE/ANSI используют такое обозначение для указания любого входа, который опре- деляет моменты времени, когда другие входы могут каким-то образом повлиять на выход. Входы PRE и CLR управляются низким уровнем напряжения (наличие на них прямоугольных треугольников). Стандарты IEEE/ANSI также используют обо- значения “S” и “R” внутри треугольников для обозначения асинхронных входов ус- тановки и сброса, которые соответствуют входам предварительной установки (PRESET) и сброса (CLEAR). Рис. 5.31. Обозначение по стандартам IEEE/ANSI а) для J-K-триггера, управляемого фронтом; б) для реальной ИС (интегральная схема 74LS112 — двойной J К-триггср, управляемый отрицательным фронтом) На рис. 5.31, б показан логический символ по стандарту IEEE/ANSI для ИС серии 74LS из семейства ТТЛ. Интегральная схема 74LS112 является сдвоенным J-K- триггером, управляемым по отрицательному фронту тактового сигнала и содержа- щим асинхронные входы для предварительной установки и сброса. Схема содержит два J-K-триггера, абсолютно подобных изображенному на рис. 5.31, а. Обратите внимание на то, как пронумерованы входы и выходы ИС; обозначения входов внутри прямоугольников показаны только для верхнего триггера, потому что входы нижнего расположены точно так же. Этот символ используется и для ИС, изготовленной по КМОП-технологии — 74НС112. На рис. 5.32 показан символ IEEE/ANSI для D-триггера с асинхронными входа- ми, управляемого по положительному фронту тактового импульса. Символ не имеет прямоугольных треугольников на тактовом входе, так как управляется именно по положительному фронту импульса, а не по отрицательному. Триггеры и родственные им устройства 249
74НС175 б) Рис. 5.32. Обозначение по стандартам IEEE/ANSI а) для D триггера, управляемого фронтом; б) для реальной ИС (интегральная схема 74НС175 — четыре триггера с об- щими тактовыми входами и входами сброса) На рис. 5.32, б показан символ IEEE/ANSI для ИС 74НС175, которая содержит четыре D-триггера, имеющих общий тактовый вход CLK и общий вход сброса CLR, но при этом триггеры не имеют входа PRE . Приведенный символ содержит отдель- ные блоки для каждого триггера, а также специальный общий блок управления, размещенный вверху на рисунке и специально указанный. Общий блок управления используется там, где ИС имеет один или несколько общих входов к нескольким схемам на одной общей печатной плате. В микросхеме 74НС175 для всех четырех D- триггеров общими являются входы CLK и CLR. Это значит, что поступивший на вход CLK положительный фронт тактового импульса приведет к появлению на выхо- де Q уровня, который наблюдается в тот же момент на входе D; низкий уровень на входе CLR сбросит все выходы Q в нулевое состояние. ^Контрольные вопросы . ' 1 1. Поясните значения двух разных треугольников, которые могут стоять на так- товом входе согласно стандартам IEEE/ANSI. 2. Укажите назначение общего блока управления. 5.11. Временные процессы в триггерах Производители триггеров на базе ИС обязаны указывать несколько важных вре- менных параметров и характеристик, которые должны быть приняты во внимание 250 Глава 5
перед использованием триггера в том или ином схемотехническом решении. Далее описаны наиболее важные понятия и приведены реальные примеры конкретных триггеров на ИС из логических с* мейств ТТЛ и КМОП. Моменты установки и удержания Моменты установки и удержания уже были рассмотрены ранее (см. раздел 5.4), они характеризуют требования, которые необходимо выполнить для обеспечения на- дежного переключения триггера. В спецификации изготовителя ИС всегда должны быть указаны минимальные значения величин fs (время установки — Setup Time) и tn (время удержания — Hold Time). Задержки распространения сигнала Когда бы сигнал ни менял состояние триггера, всегда существует задержка во времени между моментом поступления сигнала на вход устройства и моментом, ко- гда изменяется выходной уровень сигнала. На рис. 5.33 изображена задержка рас- пространения сигнала, вызванная положительным фронтом импульса на входе CLK. Заметьте, что эти задержки измеряются между точками достижения сигналами уровней 50% на входе и на выходе. Такие же задержки имеют место при поступле- нии сигналов на асинхронные входы триггера (входы предварительной установки и сброса). В спецификации изготовителя обычно указаны задержки распространения для каждого входа, причем указываются максимальные значения величин £Нв (время задержки при переключении с низкого уровня на высокий) и tBH (время задержки при переключении с высокого уровня на низкий). Задержка положительного перепада а) Рис. 5.33. Задержки распространения сигнала в триггере Задержка отрицательного перепада б) Максимальная частота синхронизации fMAx Это максимальная частота, которая может быть подана на вход CLK, причем Триггер еще будет надежно переключаться. Предельная частота /мах варьируется от Триггера к триггеру, даже если они все имеют один и тот же номер серии. К приме- ру, возможна такая ситуация, когда изготовитель J-K-триггеров на базе ИС 7470 протестировал должные устройства и обнаружил, что значения /мах лежат в интер- вале от 20 до 35 МГц. В это?л случае производитель не может гарантировать, что триггеры, скажем, серии 7470, которые вы решили использовать в своей схеме, бу- ут работать на частотах свыше 20 МГц. Одни из них действительно будут работать, 'ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 251
а другие — нет. Если же упомянутые выше триггеры должны работать на частотах ниже 20 МГц, тогда изготовитель обязан гарантировать, что все устройства будут ра- бочими. Время нахождения тактовых импульсов на высоком и низком уровнях Производитель обязан также указать минимальную продолжительность времени iw(L), когда сигнал CLK находится на низком уровне напряжения перед тем, как он перейдет к высокому уровню. Также указывается минимальное время на про- тяжении которого сигнал CLK остается с высоким уровнем напряжения перед тем, как он перейдет к низкому. Эти параметры показаны на рис. 5.34, а. Если требова- ния по обеспечению минимальных величин указанных параметров не выполняются, переключение триггера может стать недостоверным. Заметьте, что эти временные ве- личины измеряются между серединами фронтов тактового сигнала. Рис. 5.34. а) Время нахождения тактовых импульсов на высоком и низком уровнях; б) ширина асинхронного импульса PRE или CLR Ширина активного асинхронного импульса Изготовитель указывает минимальную продолжительность времени, в течение ко- торого необходимо подавать активный уровень напряжения на асинхронные входы предварительной установки и сброса, чтобы надежно установить триггер или очи- стить его. На рис. 5.34, б показано время tw(L) для асинхронного входа, управляемо- го низким уровнем. Время нарастания тактового сигнала Для надежного переключения триггера в тактовом сигнале периоды нарастания и спада импульса должны быть предельно короткими. Если тактовый сигнал слишком долго переходит от одного уровня к другому, триггер может переключаться хаотиче- ски или не переключиться вообще. Производители редко указывают максимальное время перехода для каждого триггера, выполненного на базе ИС, но взамен они при- водят среднее время, общее для всех ИС данного логического семейства. Например, время перехода для ТТЛ обычно составляет <50 нс, а для КМОП — <200 нс. Выпол-, нение указанных требований варьируется у разных производителей ИС и для разных серий устройств внутри ТТЛ- и КМОП-технологий. Реальные ИС В качестве практического примера приведенных временных параметров рассмот- рим несколько триггеров на базе ИС: 7474 — Сдвоенный D-триггер, управляемый фронтом (стандартная ТТЛ); 252 Глава 5
74LS112 — Сдвоенный J-K-триггер, управляемый фронтом (маломощная ТТЛ на транзисторах Шотки); 74С74 — Сдвоенный D-триггер, управляемый фронтом (КМОП на транзисторах с металлическим затвором); 74НС112 — Сдвоенный J-K-триггер, управляемый фронтом (быстродействующая КМОП). В табл. 5.2 приведен список значений различных временных параметров для ка- ждого из устройств, указанных в спецификациях заводов-изготовителей. Все значе- ния являются минимальными, за исключением задержек распространения, для ко- торого указано максимальное время. Таблица 5.2.^3начения временных параметров триггеров (нс) ТТЛ КМОП 7474 74LS112 74С74 74НС112 fs 20 20 60 25 Гн 5 0 0 0 Гвн от входа CLK до выхода О 40 24 200 31 Гнв от входа CLK до выхода Q 25 16 200 31 Ген от входа CLR до выхода Q 40 24 225 41 Гнв от входа PRE до выхода Q 25 16 225 41 rw(Z-) время перехода импульса CLK в низкий уровень 37 15 100 25 MR) время перехода импульса CLK в высокий уровень 30 20 100 25 Mi-) для входов PRE или CLR 30 15 60 25 /мах МГц 15 30 5 20 В табл. 5.2 рассматриваются два интересных момента: 1. Все триггеры имеют очень малое время Гн, что типично для большинства совре- менных триггеров, которые управляются фронтами импульсов. 2. Устройства серий 74НС на КМОП имеют значения временных параметров, близ- кие к значениям ТТЛ-устройств. Серия 74С имеет значительно более худшие па- раметры, чем 74НС. Пример 5.9 С помощью табл. 5.2 дайте ответы на следующие вопросы. В) Предположим, что Q = 0. Сколько времени понадобится выходу Q схемы серии 7474, чтобы переключиться в состояние с высоким уровнем после прихода на вход CLK положительного фронта тактового импульса? К) Предположим, что Q = I. Сколько времени понадобится выходу Q схемы серии 74НС112, чтобы переключиться в состояние с низким уровнем после прихода им- пульса на вход CLR ? I Какую минимальную длительность должен иметь импульс, поданный на вход CLR схемы серии 74LS112, чтобы с необходимой достоверностью очистить триг- I гер? ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 253
г) Триггер какой серии из табл. 5.2 требует, чтобы входы управления оставались стабильными после поступления на него активного фронта тактового импульса? д) Для триггера какой серии входы управления должны оставаться стабильными минимальное время до поступления на него активного фронта тактового импульса? Решение а) Положительный фронт тактового импульса перебросит выход Q из состояния с низким уровнем в состояние с высоким уровнем. Задержка между приходом им- пульса на вход CLK и выход Q для схемы серии 7474 согласно таблице будет со- ставлять £нв = 25 нс. б) Согласно таблице для схемы серии 74НС112 время, требуемое выходу Q, чтобы перейти из состояния с высоким уровнем в состояние с низким уровнем после прихода импульса на вход CLR, будет составлять £Вн = 41 нс. в) Для схемы серии 74НС112 минимальная длительность импульса, поданного на вход CLR , составит iw(L) = 15 нс. г) Серия 7474 — единственная серия, указанная в табл. 5.2, для которой время удержания не равно нулю. д) Триггеры всех серий имеют ненулевое время установки. Контрольные вопросы 11. Какие временные параметры триггеров показывают время, которое требуется выходу Q, чтобы ответить на входной сигнал? 2. Проверьте истинность высказывания. Триггер, для которого указана! /мах = 25 МГц, будет надежно переключаться любым сигналом на входе CLK с ' частотой ниже 25 МГц. 5.12. Потенциальные проблемы согласования по времени в схемах с триггерами Во многих цифровых схемах выход одного из триггеров подключен ко входу дру- гого непосредственно или через какие-либо логические элементы, причем оба тригге- ра управляются одним тактовым сигналом. Такая ситуация может привести к по- тенциальной проблеме согласования по времени. Типичный случай показан на рис. 5.35, где выход Qj одного триггера подключен ко входу J второго триггера, при этом оба устройства управляются одним и тем же тактовым сигналом, поступающим на входы CLK. Потенциальная проблема согласования по времени заключается в следующем: со- стояние Qj изменится в момент прихода на триггер отрицательного фронта тактового импульса, соответственно изменится и вход J2 второго триггера, что может привести к появлению на выходе второго триггера Q2 неопределенного состояния. Предположим, что в начальный момент времени Qi = 1, a Q2 = 0. Таким образом, до поступления отрицательного фронта тактового импульса первый триггер имеет на входах Jj = К\ = 1, а второй — J2 = Qj = 1 и К2 - 0. Когда на устройства одновремен- но приходит активный фронт тактового импульса, выход первого триггера Qi пере- ключится в состояние с низким уровнем напряжения, но это произойдет не сразу, а 254 Глава 5
через определенный промежуток времени — требуется учесть задержку распростра- нения сигнала внутри устройства, £вн. Тот же самый фронт того же тактового им- пульса надежно переключит второй триггер в состояние с высоким уровнем только в том случае, если tBH будет больше, чем время удержания второго триггера, tH- Если же это условие не будет выполняться, то реакция второго устройства окажется не- предсказуемой. Тактовый импульс О Qi (J2) О 1 q2 о 1вннаО1 Рис. 5.35. Второй триггер правильно отреагирует на уровень сигнала на выхо- де Qi до поступления на вход CLK отрицательного фронта тактовгчх им- пульсов только в том случае, если время удержания второго триггера будет меньше, чем задержка распространения сигнала в первом триггере Все современные управляемые фронтом триггеры имеют время удержания 5 нс и менее; большая часть из них имеет <ц = 0» т.е. требование по величине этого пара- метра для них выполняется всегда. Для таких триггеров показанная на рис. 5.35 си- туация практически невозможна. Во всех схемах на триггерах, с которыми читатель ознакомится дальше по тексту, мредполагается по умолчанию, что время удержания достаточно мало, чтобы триггер ж ог надежно переключиться согласно следующему правилу: выход триггера перейдет в состояние, определяемое логическими уров- нями на его синхронных входах управления, которые наблюдались в момент, непосредственно предшествующий поступлению на триггер ак- тивного фронта тактового импульса. Если применить это правило к рис. 5.35, очевидно, что выход второго триггера Q2 т- ключится в состояние, определенное условиями на синхронных входах J2 = 1 и = 0, которое имеется как раз до поступления на триггер отрицательного фронта актового импульса. То, что вход J2 изменит свое состояние после прихода отрица- мьного фронта тактового импульса, не будет иметь никакого значения. ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 255
Пример 5.10 Определите сигнал Q на выходе J-K-триггера, который управляется по отрицатель- ному фронту тактового импульса, для форм входных сигналов, показанных рис. 5.36. Пусть в начальный момент времени = О и Q = 0. Решение Триггер будет реагировать на входные сигналы только в моменты времени Тг, Т4, Т6 и Т8. В момент Т2 выход Q будет реагировать на условие на входах J = К = 0, пред- шествующее моменту Т2- В момент Т4 выход Q будет управляться сигналами J = 1 и К = 0, которые наблюдались на входе непосредственно перед поступлением на триг- гер тактового импульса в момент Т4. В момент Тв выход Q будет реагировать на ус- ловие на входах J = О, К = 1, предшествующее моменту Тв. Наконец, в момент Тъ выход Q среагирует на входные сигналы J = К = 1. 5.13. Триггеры Master/Slave До появления таких управляемых фронтом триггеров, которые имели малое иля нулевое время удержания, проблемы временного согласования (рис. 5.35) часто ве- шались использованием специального класса триггеров с главными и подчиненнымг элементами (Master/Slave). Триггеры типа Master/Slave на самом деле содержат два триггера — главный (master) и подчиненный (slave). При нарастании фронта сигна. I CLK уровни входов управления (D, J, К) определяют состояние выхода только глав- ного триггера. Когда сигнал CLK принимает низкий уровень, состояние главного пе- редается на подчиненный триггер. Выходы подчиненного триггера Q и Q меняются непосредственно после прихода отрицательного фронта тактового импульса. Такая работа триггера Master/Slave очень напоминает работу триггеров, управляемых от! рицательным фронтом, за исключением одного серьезного недостатка: входы упра>| ления должны оставаться стабильными, когда CLK имеет высокий уровень сигнал,.; иначе на выходе возможно непредсказуемое состояние. Эта проблема, присущая триггерам Master/Slave, была преодолена с появлением улучшенного типа устройг - Master/Slave, который называется Master/Slave с блокировкой данных (Master/Sla Л with data lockout). 256 Глава '>
В настоящее время в триггерах типа Master/Slave нет необходимости, хотя в бо- лее старом оборудовании их все же можно встретить. Примеры этого типа уст- ройств — серии ТТЛ 7473, 7476 и 74107, а также серии устройств с блокировкой данных 74110 и 74111. Более новые технологии производства ИС (74LS, 74AS, "4ALS, 74НС, 74НСТ) уже не используют устройства Master/Slave. Фактически, се- рии 74LS76 и 74LS107 были изготовлены на управляемых фронтом триггерах, хотя стандартные элементы 74-й серии были выполнены на устройствах типа Master/ Save. При работе с триггерами Master/Slave в процессе изучения какого-либо оборудо- вания можно анализировать их работу, используя те же принципы, что и для управ- л гемых фронтом триггеров. 5.14. Применение триггеров Управляемые фронтом тактового импульса триггеры (синхронные триггеры) — •то универсальные устройства, которые можно использовать для решения самых разнообразных задач, включая вычисления, хранение двоичной информации, пере- дачу данных в двоичной форме и многие другие. Почти во всех этих применениях жспользуют триггеры в синхронном режиме. Многие из таких схем можно отнести к жатегории схем последовательного действия. Последовательной схемой называют та- ую схему, выходы которой изменяют свои состояния согласно определенной заранее г юледовательности, причем каждая смена состояний происходит только в момент поступления на устройство тактового импульса. Некоторые основные применения вких схем рассматриваются в следующих разделах, а в последующих главах они всасываются более детально. >.15. Синхронизация триггеров Большая часть цифровых систем — принципиально синхронные, т.е. почти все ггналы меняют свои состояния синхронно с изменениями уровней тактовых им- 1ьсов. Однако во многих случаях существует внешний сигнал, который не синхро- изирован с остальными; иначе говоря, он будет асинхронным. Асинхронные сигна- ы часто являются результатом действий оператора, как, например, в случае, когда вловек включает коммутатор на входе устройства в неопределенный момент време- в относительно внутреннего тактового сигнала. Этот случайный фактор может вы >ать непредсказуемые и нежелательные последствия. Следующий пример иллюстри- J-&T, как для синхронизации асинхронного входа может быть использован триггер. ример 5.11 Иа рис. 5.37, а показана ситуация, когда при включении оператором коммутатора с гротиводребезговой защитой (такой переключатель был описан в примере 5.2) возни- кает входной сигнал А. Этот сигнал принимает высокий уровень, когда оператор ак- изизирует переключатель, и низкий — когда оператор отпускает его. Входной сиг- зал А используется для управления прохождением тактового сигнала через элемент Е таким образом, что тактовые импульсы появляются на выходе X только тогда, ко- г?а А имеет высокий уровень. .Троблема заключается в том, что сигнал А является асинхронным; он может менять состояние в любое время относительно тактового сигнала, потому что тот мо- ент, когда оператор активизирует или разъединяет переключатель, будет совершен- но случайным. Это может привести к появлению на выходе X неполных тактовых Ьмпульсов, если хотя бы один из фронтов импульса А придется на тот момент, когда актовый сигнал имеет высокий уровень (рис. 5.37, б). ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 257
Рис. 5.37. Асинхронный сигнал А может привести к появлению на выходе X неполных импульсов Такой вид выходного сигнала часто неприемлем, поэтому должен быть разработан метод, который бы предотвращал появление неполных импульсов на выходе X. Одно из возможных решений показано на рис. 5.38, а. Опишите, как приведенная схема решает данную проблему, и нарисуйте форму выходного сигнала X для ситуации, аналогичной на рис. 5.37, б. Решение Сигнал А подается на вход D триггера Q, который синхронизируется по отрицательному фронту тактового сигнала. Таким образом, когда сигнал А принимает высокий уровень, триггер Q не изменит состояние на высокий уровень, пока на него не поступит отрица- тельный фронт очередного тактового импульса в момент Тг. В случае появления на Q вы- сокого уровня, он активирует элемент И на прохождение последовательности уже только полных тактовых импульсов на выход схемы X, как это показано на рис. 5.38, б. Рис. 5.38. Управляемый фронтом D-триггер может быть использован для синхронизации прохождения последовательности импульсов через элемент И по отрицательному фронту тактового сигнала Полные импульсы б) 258 Глава
Когда сигнал А возвращается в состояние с низким уровнем, выход Q не переклю- ггся в состояние с низким уровнем до тех пор, пока в момент Т2 не придет отрица- ►льный фронт очередного тактового импульса. Таким образом, элемент И не будет эдавлять тактовые импульсы, пока через него на выход X не пройдет последний истовый импульс, который заканчивается в момент Т2. Следовательно, на выходе X дут только полные тактовые импульсы. >.16. Обнаружение юследовательности входных импульсов Во многих случаях выход должен становиться активным, только когда входы уст- йства возбуждаются определенной последовательностью импульсов. При использова- ш только комбинационной логики распознать ту или иную последовательность не- зможно — для этого потребуется способность триггеров хранить информацию. Элемент И, например, может использоваться для определения ситуации, когда а входа А и В приобретают высокий уровень напряжения, но его выход будет оди- ikobo реагировать независимо от того, на каком из входов высокий уровень появил- первым. Предположим, что требуется получить высокий уровень на выходе, тполъ- । если высокий уровень появится сначала на входе А и лишь спустя некоторое вре- [ — на входе В. Один из возможных способов реализации такого решения показан i рис. 5.39, а. О б) А переходит на высокий уровень раньше В в) В переходит на высокий уровень раньше А А !с. 5.39. Синхронный J-K-триггер, используемый для срабатывания только в случае по- луплен ия на схему конкретной последовательности входных импульсов Формы импульсов на рис. 5.39, б и 5.39, в показывают, что выход Q перейдет в тояние с высоким уровнем, только если такой же уровень появится на входе А 1ьше, чем на В. Это удалось осуществить благодаря тому, что на входе А уже дол- е наблюдаться высокий уровень сигнала, чтобы выход Q перешел в единичное со- ®ние в момент прихода положительного фронта импульса на В. Чтобы такая схема могла работать правильно, вход А должен перейти в состояние ысоким уровнем как минимум за время, равное времени удержания триггера, до о, как это произойдет на входе В. ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 259
5.17. Хранение и передача данных Безусловно, в области хранения информации триггеры получили наиболее широ- кое применение. Данные могут представлять собой цифровые величины (двоичные числа, десятичные числа в виде двоично-десятичного кода и т.п.) или любой другой тип информации в двоичном виде. Эти данные обычно хранятся в специальных схе- мах, состоящих из группы триггеров и называемых регистрами. Чаще всего над информацией, хранящейся в триггерах или регистрах, осуществ- ляется операция передачи данных. Она состоит в передаче данных от одного тригге- ра или регистра к другому. На рис. 5.40 показано, как производится передача дан- ных между двумя J-K, S-С или D-триггерами. В каждом из этих случаев логическая величина, которая хранится в текущий момент в триггере А, передается в триггер В в момент поступления на него отрицательного фронта импульса TRANSFER. Таким образом, после прохождения отрицательного фронта указанного импульса, выход В будет иметь такое же состояние, как и выход А. Рис. 5.40. Синхронная передача донных, которая осуществляется синхронными триггерами различных типов Операция передачи данных на рис. 5.40 — пример синхронной передачи, так как в данном случае используется синхронное управление и тактовые сигналы, посту- пающие на вход CLK. Операция передачи информации может также выполняться с применением асинхронных входов триггера. На рис. 5.41 показано, как осуществля- ется асинхронная передача с использованием входов предварительной установки п сброса на триггере любого типа. В такой схеме асинхронные входы управляются низкими уровнями напряжения. Когда на входе TRANSFER ENABLE (вход разреше-1 ния передачи) присутствует низкий уровень сигнала, на выходах обоих элементов И получаем высокий уровень, что никак не влияет на состояние выходов триггера. Ко- гда же на входе TRANSFER ENABLE будет высокий уровень, на выходе одного из элементов И установится низкий уровень (какого именно, будет зависеть от состоя- ний выходов А и А). Низкий уровень сигнала или установит, или очистит триггер в то же самое состояние, в котором находится триггер А. Асинхронная передача осуществляется независимо от синхронных входов триггера и входа CLK. Такой вид передачи еще называют принудительной передачей (jam transfer), потому что даи-J ные принудительно “загоняются” в триггер В, даже несмотря на то, что его синхровн ные входы могут при этом быть активными. 260 Глава 5
Рис. 5.41. Асинхронная передача данных Параллельная передача данных На рис. 5.42 продемонстрирован процесс передачи данных из одного регистра в другой с использованием D-триггеров. Регистр X состоит из триггеров Хи Х2 и Х3; регистр Y включает триггеры Уь У2 и У3. В момент поступления на схему положи- тельного фронта импульса передачи TRANSFER логический уровень, хранящийся в триггере Хъ передается в триггер У2; уровень, который хранится в триггере Х2, пе- редается в триггер У2, а уровень, хранящийся в триггере Х3, передается в триггер У3. Передача содержимого регистра X в регистр У будет синхронной, ее еще относят к типу параллельной передачи, так как информация с триггеров Хъ Х2 и Х3 передает- ся в триггеры У1, У2 и У3 одновременно. Если бы использовалась последовательная передача данных, то информация из регистра X передавалась бы в регистр У по од- ному биту за единицу времени. Этот тип передачи более детально рассмотрен в сле- zy ющем разделе. Регистр X Регистр У Рис. 5.42. Параллельная передача данных из регистра X в регистр Y ^ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВ У 261
Важно отметить, что параллельная передача не изменяет содержимого регистра- источника информации. Например, если в схеме, изображенной на рис. 5.42, до при- хода импульса TRANSFER в регистрах хранилась информация ХхХ2Х3 — Ю1 и УХУ2У3 — 011, то после прохождения этого импульса оба регистра будут содержать число 101. Контрольные вопросы 1. Проверьте истинность высказывания. При асинхронной передаче данных ис- пользуется вход CLK. 2. Какой тип триггера более всего подходит для синхронной передачи благодаря тому, что при его применении потребуется наименьшее количество соединений между триггерами? 13. Если бы в регистрах, изображенных на рис. 5.42, использовались J-K-тригге- ры, сколько бы понадобилось соединений между регистрами X и У? 4. Проверьте истинность высказывания. При синхронной передаче данных тре- буется меньшее количество элементов, чем при асинхронной. 5.18. Последовательная передача данных: сдвиговые регистры Прежде чем перейти к описанию последовательного типа передачи данных, рас- смотрим устройство простейшего сдвигового регистра. Сдвиговым регистром называ- ется группа триггеров, расположенных друг относительно друга таким образом, что двоичные числа, хранящиеся в триггерах, сдвигаются от одного триггера к другому на каждый импульс тактового сигнала. Читатель, несомненно, уже встречался с этими ре- гистрами в таких устройствах как, скажем, электронные калькуляторы, в которых разряды на дисплее сдвигаются каждый раз, когда в калькулятор вводится новая циф- ра. Точно такой же алгоритм действия заложен и в работу сдвиговых регистров. На рис. 5.43, а показан один из способов такого расположения J-K-триггеров, в котором они начинают работать в качестве четырехбитового сдвигового регистра. За- метьте, что триггеры подсоединены друг к другу таким образом, что сигнал с выхода триггера Х3 передается в триггер Х2, в свою очередь сигнал с Х2 передается в уст- ройство Xi, а с Xi — в Хо. Это значит, что при поступлении на схему отрицательного фронта импульса сдвига (shift pulse) каждый триггер приобретает значение, храня- щееся в триггере слева от него. Триггер же Хз в момент прихода на него отрицатель- ного фронта импульса сдвига приобретает значение, определяемое условиями на его входах J и К. А теперь предположим, что на входы J и К триггера Х3 подается сиг- нал DATA IN (сигнал записи входных данных), форма которого показана на рис. 5.43, б. Также предположим, что все триггеры до подачи импульсов сдвига на- ходятся в нулевых состояниях. Формы сигналов, приведенные на рис. 5.43, б, показывают, как входные данные сдвигаются слева направо при подаче импульсов сдвига. Когда в момент 7\ на схему приходит отрицательный фронт первого импульса сдвига, на входах каждого тригге- ра Х2, Хх и Хо имеются состояния J = 0, К — 1, что для каждого из триггеров опре- деляется состоянием соседнего слева устройства. Триггер Х3, однако, будет иметь со-, стояние J — 1, К = 0, потому что на него был подан сигнал DATA IN. Таким обра- зом, в момент только Х3 перейдет в состояние с высоким уровнем, в то время как остальные триггеры останутся в низком уровне. Когда же в момент Т2 поступит от- рицательный фронт второго импульса сдвига, на входах триггера Х3 будет наблю- даться состояние J = 0, К = 1, опять же определяемое сигналом DATA IN. Триггер 262 Глава 5
Х2 будет иметь на входах уже J = 1, К = 0, потому что это состояние зависит от вы- ходного сигнала триггера Х3. На триггерах Хх и Хо все еще будем наблюдать J = О, К = 1. Следовательно, в момент Т2 только триггер Х2 приобретет новое состояние с высоким уровнем сигнала, триггер Х3 перейдет в новое состояние с низким уровнем, а на триггерах Х2 и XG вообще ничего не изменится. Подобные рассуждения можно использовать для определения того, как будут вес- ти себя сигналы в моменты Т3 и Т4. Заметьте, что с приходом каждого отрицательно- го фронта импульсов сдвига выходы каждого триггера будут приобретать уровень, который присутствовал до этого на выходе триггера слева. И конечно, триггер Х3 бу- дет подбирать уровень, наблюдающийся на входе сигнала DATA IN до поступления отрицательного фронта очередного импульса сдвига. Вход а) Вход данных Т3 Т2 Рис. 5.43. Четырехбитовый сдвиговый регистр Импульсы сдвига Импульсы сдвига Х3 Триггеры и родственные им устройства 263
Требование к величине времени удержания При таком расположении элементов в сдвиговых регистрах необходимо, чтобы триггеры имели очень малое время удержания, потому что моменты, когда меняются входы J и К, практически совпадают со временем спада (отрицательным фронтом) импульса сдвига на входе CLK. Например, выход триггера Х3 переходит из 1 в 0 в момент Т2 прихода отрицательного фронта импульса сдвига, что приводит к измене- нию состояний на входах J и К триггера Х2 практически в тот же момент, когда ме- няется состояние его входа CLK. Фактически, вследствие задержки распространения сигнала в триггере Х3, входы J и К триггера Х2 какое-то время после появления от- рицательного фронта импульса сдвига не смогут изменяться. По этой причине сдви- говый регистр необходимо реализовать с использованием переключаемых фронтом триггеров, время tH которых меньше, чем задержка распространения импульса CLK на выход триггера. Последнее требование легко удовлетворяется многими современ- ными управляемыми фронтом триггерами. Последовательная передача между регистрами На рис. 5.44, а показаны дв$ трехбитовых сдвиговых регистра, соединенных ме- жду собой таким образом, что содержимое регистра X будет последовательно переда- но (сдвинуто) в регистр Y. Для построения каждого из сдвиговых регистров в данном случае использованы D-триггеры, так как они требуют меньшего количества соедине- ний, чем J-K-триггеры. Обратите внимание на то, как Хо (последний триггер регистра X) присоединен ко входу D устройства У2 — первого триггера регистра У. Таким обра- зом, при подаче первого импульса сдвига информация передается следующим образом: Х2 -» Хх -» Хо -» У2 —> У1 -» Уо. Триггер Х2 перейдет в состояние, которое будет опре- деляться входом D. Поскольку теперь на D наблюдается низкий уровень сигнала, Х2 перейдет в такое же состояние при поступлении первого импульса и в нем и останется. Рис. 5.44. Последовательная передача информации из регистра X в регистр Y 264 Глава 5
Чтобы продемонстрировать этот процесс более наглядно, предположим, что до то- го как были поданы импульсы сдвига, в регистре X было записано число 101 (т.е. Л'2 = 1, Хг = 0, Хо = 1), а в регистре У находилось число ООО. Внимательно изучив таблицу на рис. 5.44, б, в которой показано, как меняется состояние каждого из триггеров при подаче импульсов, можно сделать следующие выводы: 1. С поступлением на схему отрицательного фронта каждого импульса сдвига каж- дый триггер принимает значение, которое хранилось в соседнем триггере слева от него до момента прихода импульса. 2. После прохождения трех импульсов единица, которая вначале была записана в триггере Х2, перейдет в триггер У2, тот ноль, который вначале хранился в триг- гере перейдет в триггер Уь и, наконец, та единица, которая была записана в триггере Хо, перейдет в Уо. Иначе говоря, число 101, хранящееся в регистре X, окажется сдвинутым в регистр У. В регистре X получается число ООО, т.е. X по- теряет те данные, которые в нем хранились. 3. Полная передача трех бит данных потребовала три импульса сдвига. Пример 5.12 Предположим, что сначала содержимое регистров X и У, показанных на рис. 5.44, было одинаковым. Каким будет содержимое каждого триггера после прохождения через схему шести импульсов сдвига? Решение Если продолжить процесс, показанный на рис. 5.44, б, еще тремя импульсами сдви- га, обнаружим, что все шесть триггеров перейдут в нулевое состояние. К такому вы- воду можно прийти иначе: постоянный уровень 0 на входе D триггера Х2 сдвинется так, что на том же входе появится новый 0, и после шести импульсов все регистры >аполнятся нулями. Операция сдвига влево Триггеры, изображенные на рис. 5.44, можно легко соединить таким образом, что информация будет сдвигаться справа налево. Нет никакой разницы между направле- ниями сдвига; направление, которое выберет разработчик логических схем, в основ- ном будет продиктовано особенностями применения регистров (о чем будем говорить дальнейшем). Сравнение параллельного и последовательного типов передач При использовании параллельной передачи вся информация передается одновре- менно в момент прохождения одного импульса команды передачи (см. рис. 5.42) не- зависимо от того, сколько бит передается. При использовании последовательной пе- редачи (рис. 5.44) полная передача N бит потребует прохождения через схему N так- товых импульсов (для передачи трех бит потребуется три тактовых импульса, для передачи четырех бит потребуется четыре импульса и т.д.). Таким образом, парал- лельная передача в сдвиговых регистрах осуществляется намного быстрее последова- тельной. При использовании параллельной передачи выход каждого триггера регистра X подключен к соответствующему входу одного из триггеров регистра У. При исполь- зовании последовательной передачи только последний триггер регистра X подсоеди- нен к регистру У. В целом параллельная передача требует большего количества со- ТРИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 265
единений между передающим регистром (X) и принимающим (У). Это различие ста новится критическим параметром, когда требуется передать большое количество би1] информации. Данный факт следует принимать во внимание и в том случае, когдг передающий и принимающий регистры удалены друг от друга (для их связи необхо димо знать, сколько сигнальных линий (проводов) потребуется для осуществление передачи информации). Выбор параллельного или последовательного типа передачи зависит от конкрет ной системы и особенностей ее применения. Часто используется комбинация обои> типов передачи, чтобы извлечь преимущества каждого из них: скорости при парал лельной передаче и экономичности и простоты при последовательной. Дополнительнс о передаче информации будет сказано в дальнейшем. Контрольные вопросы | 1. Проверьте истинность высказывания. Самым быстрым методом передачи данных из одного регистра в другой является параллельная передача. 2. Какое основное преимущество последовательной передачи по сравнению с па- раллельной? 3. Посмотрите на рис. 5.44. Пусть начальное содержимое регистров выглядит так: Х2 “ 0, Xi = 1, Хо = 0 и У2 = 1, Ух = 1, Уо = 0. Также предположим, что вход D триггера Х2 находится в состоянии с высоким уровнем. Определите значение на выходе каждого триггера после прохождения четвертого импульса сдвига. \ 4. При какой форме передачи данных источник данных не теряет исходной ин- формации? 5.19. Деление частоты и счет Обратимся к рис. 5.45, а. Каждый триггер в этой схеме имеет собственные входы J и К в единичном состоянии, так что триггер будет изменять свое состояние каж- дый раз, когда на входе CLK тактовый сигнал будет изменять свой уровень с высоко го на низкий. Однако тактовые импульсы подаются только на вход CLK триггера Qo. Выход Qo подключен ко входу CLK триггера Qi, а выход триггера Qb в свою очередь, подключен ко входу CLK триггера Q2. Временные диаграммы, приведенные на рис. 5.45, б, показывают, как триггеры изменяют свои состояния с приходом такто- вых импульсов. Из этих диаграмм можно сделать следующие важные заключения: 1. Триггер Qo переключается при поступлении на него отрицательного фронта каж- дого тактового импульса. Таким образом, частота сигнала на выходе Qo равна по- ловине частоты тактового сигнала. 2. Триггер Qi переключается каждый раз, когда выходной сигнал с триггера Qo из- меняет свой уровень с высокого на низкий. Следовательно, частота сигнала на выходе Qi в точности равна половине частоты сигнала с Qo, а значит, равна од- ной четвертой частоты тактового сигнала. 3. Триггер Q2 переключается тогда, когда выходной сигнал Qi изменяет свой уро- вень с высокого на низкий. Значит, сигнал на выходе Q2 имеет частоту, равную половине частоты сигнала с Qi, т.е. одной восьмой частоты тактового сигнала. 4. Выходной сигнал каждого триггера представляет собой прямоугольное колебание (с 50% коэффициентом заполнения импульсной последовательности) — сигнал типа “меандр”. Как было отмечено выше, каждый триггер делит частоту сигнала, поданного на вход, на 2. Стало быть, если бы к данной схеме был добавлен четвертый триггер, по- лучалась бы частота, равная одной шестнадцатой частоты тактового сигнала и т.д. 266 Глава
Используя необходимое количество триггеров, можно сконструировать схему, кото- рая будет делить частоту в любое количество раз, кратное степени 2. Говоря кон- кретно, используя N триггеров, можно построить схему, в которой частота сигнала на выходе последнего триггера будет равна 1/2N от исходной частоты. Такое применение триггеров называется делением частоты. Многие задачи требу- ют такого деления. Возьмем, например, кварцевые часы. Термин кварцевые означа- ет, что в них используется кристалл кварца, чтобы сгенерировать сигнал с чрезвы- чайно стабильной частотой. Частота такого природного резонатора на кварцевом кристалле в ваших часах составляет 1 МГц или больше. Чтобы отображать измене- ние времени на секундном дисплее, частота генератора колебаний делится на такое значение, которое даст возможность получить стабильный во времени и точный сиг- нал с выходной частотой 1 Гц. 1 q2 О Счетчик \ Ог Qi Qo z б) Рис. 5.45. J-К триггеры, соединенные в трехбитовый двоичный счетчик (Коер = 8) чет Вдобавок к функционированию в качестве делителя частоты схема, показанная на :. 5.45, также может работать как двоичный счетчик. Эта функция прослеживает- при изучении последовательности смены состояний триггеров после прохождения кдого тактового импульса. Результаты сведены в таблицу состояний на рис. 5.46. сть величина Q2Q1Q0 представляет собой двоичное число, где Q2 соответствует 22, стоит в позиции 21, a Qo соответствует 2°. Первые восемь состояний Q2QiQo> запи- сные в таблице, являются числовой двоичной последовательностью от ООО до 111. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 267
После прохождения отрицательного фронта первого импульса триггеры будут нахо- диться в состоянии 001 (Q2 “ 0, Qi = 0, Qo = 1), что составляет 0012 и является экви- валентом десятичной единицы; после прохождения отрицательного фронта следую- щего (второго) импульса триггеры будут представлять число 0102, эквивалентное 2i0; после трех импульсов — 0112 = 310; после четырех импульсов — 1002 = 410 и т.д. вплоть до семи тактовых импульсов, когда триггеры будут иметь состояние 1112 = 710. В момент поступления на схему отрицательного фронта восьмого тактово- го импульса триггеры вновь возвращаются в состояние ООО, и двоичная последова- тельность переходит в начальное состояние для всех очередных импульсов. 2! 21 20 02 Qi Qo 0 0 0 Перед подачей тактовых импульсов 0 0 1 После 1 -го импульса 0 1 0 После 2-го импульса 0 1 1 После 3-го импульса 1 0 0 После 4-го импульса 1 0 1 После 5-го импульса 1 1 0 После 6-го импульса 1 1 1 После 7-го импульса 0 0 0 После 8-го импульса - возврат к ООО 0 0 1 После 9-го импульса 0 1 0 После 10-го импульса 0 1 1 После 11 -го импульса Рис. 5.46. Таблица состояний триггеров, в которой приведена числовая двоичная последовательность Таким образом, после прохождения первых семи импульсов схема начинает функцио- нировать как двоичный счетчик, в котором состояния триггеров представляют собой дво- ичные числа, эквивалентные количеству прошедших через схему импульсов. Такой счет- чик может считать до 1112 = 710, после чего происходит сброс в состояние ООО. Диаграмма переходов В основе другого способа представления того, как меняются состояния триггеров при прохождении каждого тактового импульса, лежит использование диаграммы пе- реходов состояний (state transition diagram), приведенной на рис. 5.47. Каждый кружок в ней — одно возможное состояние, что показано двоичным числом внутри кружков. Например, кружок, содержащий число 100, представляет собой состояние счетчика 100 (т.е. Q2 = 1, Qi = Qo - 0). Стрелки, соединяющие один кружок с другим, показывают, как состояния переходят одно в другое при поступлении на счетчик очередного тактового импульса. Взглянув на кружок с конкретным состоянием, можно видеть, какое состояние предшествовало ему и какое будет следующим. Например, на кружке с состоянием 000 счетчик переходит в это состояние каждый раз, когда он уже имеет состояние 111 и на него поступает тактовый импульс. Аналогично за состоянием 000 всегда следует состояние 001. В данной книге диаграммы перехода используются для того, чтобы можно было легче описывать, анализировать и проектировать счетчики и другие схемы последо- вательного действия. 268 Глава 5
‘Примечание. Каждая стрелка изображает поступление тактового импульса Рис. 5.47. Диаграмма переходов состояний показывает, как изменя- ются состояния триггеров счетчика при поступлении каждого тактового импульса Коэффициент пересчета Счетчик, изображенный на рис. 5.45, имеет 23 = 8 различных состояний (от ООО до 111). Такой счетчик называют счетчиком с Кпер = 8, где Кпер показывает количе- ство состояний в данной числовой последовательности, или говорят, что его коэффи- циент пересчета (MOD number) равен восьми. Если к схеме такого счетчика добавить еще четыре триггера, последовательность состояний будет насчитывать уже двоичные имела от 0000 до 1111, т.е. всего 16 состояний. Такой счетчик называется счетчиком < КПРр = 16. Вообще, если соединить между собой N триггеров таким образом, как это делано на рис. 5.45, получившийся счетчик будет иметь 2N различных состояний и называется счетчик с Кпер = 2N. Такой счетчик может досчитать до числа 2N - 1 пе- ред тем, как он возвратится в нулевое состояние. Коэффициент пересчета счетчика также показывает, какую частоту можно полу- чить при делении с помощью данной схемы на выходе последнего триггера. Напри- мер, четырехбитовый счетчик должен содержать четыре триггера, каждый из кото- вых будет представлять один двоичный разряд (бит) — счетчик с Кпер = 24 = 16. Сле- овательно, он сможет досчитать до 15 (= 24 - 1). Этот счетчик также можно будет |впользовать для деления частоты входного импульсного сигнала на 16 коэффициент пересчета). В этой главе представлен лишь простейший вариант двоичного счетчика на триг- герах. В главе 7 различные счетчики рассматриваются более подробно. 1ример 5.13 редположим, что счетчик с Кпер = 8 на рис. 5.45 находится в состоянии 101. Каким дет состояние счетчика после прохождения через него 13 импульсов? ►шение айдем на диаграмме переходов состояние 101. Отсчитав по кругу диаграммы восемь стояний, мы вернемся обратно в состояние 101. Теперь продолжим процесс и от- стаем еще 5 смен состояний (что в сумме даст 13), и обнаружим, что мы пришли к >ужку с состоянием 010. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 269
Обратите внимание на тот факт, что счетчик с Кпер = 8 имеет всего восемь различ состояний, причем один полный круг по диаграмме переходов занимает восемь гов, или смен состояний, после чего происходит возвращение в начальное состоя: Пример 5.14 Рассмотрите работу схемы счетчика, содержащего 6 триггеров, соединенных так яЛ как и в счетчике, изображенном на рис. 5.45 (т.е. имеющего триггеры Q5, Q4, Q3, (ЭД Qi. Qo)- а) Определите коэффициент пересчета такого счетчика. б) Определите частоту на выходе последнего триггера (Q5) счетчика, если частота на тактовом входе равна 1 МГц. в) Какой диапазон счета будет иметь такой счетчик? г) Предположим, что начальное состояние счетчика 000000. Каким будет его со- стояние после прохождения 129 импульсов? Решение а) Коэффициент пересчета такого счетчика составляет 2е, т.е. 64. б) Частота на выходе последнего триггера будет равна входной частоте тактового сигнала, деленной на коэффициент пересчета: ч 1 МГц , „ /{на Q5) = ——— = 15,625 кГц . 64 в) Счетчик сможет просчитать от 0000002 до 1111112 (от 0 до 63ю), что в сумме даст 64 различных состояния. Заметьте, что количество состояний совпадает с коэф- фициентом пересчета счетчика. г) В данном случае мы имеем дело со счетчиком с Кпер = 64, поэтому каждые 64 так- товых импульса будут возвращать счетчик в начальное состояние. Следовательно, после прохождения 128 импульсов счетчик вернется в состояние 000000, а 129-й импульс переведет счетчик в состояние 000001. Контрольные вопросы 1. Тактовый сигнал с частотой 20 кГц подается на J-K-триггер, входы которого имеют состояния J = К = 1. Какой будет частота сигнала на выходе триггера? 2. Сколько потребуется триггеров, чтобы спроектировать счетчик, который мог бы считать от 0 до 255ю? 3. Что такое коэффициент пересчета счетчика? 4. Какой будет частота на выходе счетчика с Кпер = 8, если частота тактового сиг- нала составляет 512 кГц? 5. Если начальное состояние счетчика 00000000, каким будет его состояние после прохождения 520 импульсов? 5.20. Прикладная задача В этом разделе читателю предоставляется возможность узнать о том, как исполь- зуются триггеры в типичной прикладной задаче, где управление реализуется с по- мощью микропроцессора. 270 Глава 5
На рис. 5.48 показано микропроцессорное устройство (МПУ), выходы которого используются для передачи двоичных данных в регистр X, состоящий из четырех D- триггеров Х3, Х2, Xi и Хо. Один набор сигналов с выходов микропроцессора состав- ляет код адреса, который включает в себя восемь выходных сигналов: А15, Ai4, Ai3, Ai2t Ан, Ло» -А» и -^8- Многие микропроцессоры имеют как минимум 16 доступных выходных сигналов, формирующих код адреса, но часто используются лишь некото- рые из них. Второй набор сигналов с выхода микропроцессора состоит из четырех строк данных Л3, D2, и Do. Большая часть микропроцессоров содержит как мини- мум восемь доступных строк данных. И наконец, еще с одного выхода микропроцес- сора снимается тактовый сигнал СР. Напомним, что микропроцессор — это центральное процессорное устройство мик- рокомпьютера (ЦПУ), и его главная функция заключается в исполнении программ и инструкций, хранящихся в памяти компьютера. Согласно одной из инструкций, ко- торую может выполнять МПУ, микропроцессор передает двоичное число с запоми- нающего резистора, находящегося внутри МПУ, во внешний регистр X. Исполняя эту инструкцию, микропроцессор должен проделать следующие действия: 1. Передать двоичное число на строки данных с Р3 по Do на своем выходе. 2. Передать нужный код адреса на выходные сигнальные линии с Ai5 по Ав, чтобы выбрать в качестве получателя данных регистр X. 3. Как только выходы данных и кода адреса стабилизированы, микропроцессор ге- нерирует тактовый импульс СР, который синхронизирует регистр и осуществляет параллельную передачу данных в регистр X. Рис. 5.48. Пример микропроцессора, передающего двоичные данные во внешний регистр Встречается много ситуаций, когда микропроцессор под управлением какой-либо крограммы отсылает данные во внешний регистр, чтобы управлять внешними собы- тиями. Например, отдельные триггеры регистра могут управлять состояниями вклю- Чвно/выключено каких-то электромеханических устройств, скажем, соленоидов, ре- ле, моторов и т.д. (естественно, посредством соответствующих схем интерфейса). Данные, пересланные из микропроцессора в регистр, будут определять, какие уст- ройства необходимо включить, а какие — выключить. Другой широко распростра- внный пример использования регистров — запоминание двоичного числа на входе шгфроаналогового преобразователя (ЦАП). Микропроцессор пересылает двоичное число в регистр, а ЦАП преобразовывает его в аналоговое напряжение, которое мо- Триггеры и родственные им устройства 271
жет быть использовано для управления каким-либо параметром, например, положе- нием электронного луча на экране монитора с ЭЛТ (электронно-лучевой трубкой) или скоростью мотора. Пример 5.15 а) Какой код адреса должен сформировать микропроцессор, чтобы передать данные в регистр X? б) Предположим, что Х3-Хо = ОНО, А15-А8 = 11111111, a D3-Do = 1011. Каким бу- дет содержимое регистра X после поступления импульса СР? Решение а) Чтобы передать данные в регистр X, тактовый импульс должен пройти через эле- мент И К» 2 на входы CLK триггеров. Это означает, что все входные сигналы, по- ступающие на элемент И № 1, должны иметь высокий уровень; т.е. сигналы сА]5 по А9 должны равняться 1, a должен быть равным 0. Таким образом, требует- ся, чтобы микропроцессор сформировал код адреса 11111110, разрешающий пере- дачу данных в регистр X. б) Так как А8 = 1, низкий уровень с элемента И № 1 подавит импульс СР и не даст ему пройти через элемент И №2, а это означает, что на триггеры не поступит тактовый сигнал. Следовательно, содержимое регистра X не изменится, т.е. оста нется равным ОНО. Контрольные вопросы 1. Покажите, как ИС 74РС175, изображенная на рис. 5.32, может быть использо вана в качестве регистра X в схеме на рис. 5.48. 5.21. Триггер Шмитта Триггер Шмитта не является триггером в строгом смысле этого понятия, но он также демонстрирует свойства памяти, что делает его полезным в некоторых специ- фических ситуациях. Одна из таких ситуаций показана на рис. 5.49, а. Стандартный инвертор управляется логическим входом, сигнал на котором имеет относительно большие интервалы длительности фронтов. Если длительности фронтов превышают максимально допустимые значения (что зависит от конкретной серии логических элементов), то при прохождении входного сигнала через диапазон напряжений неоп- ределенного уровня на выходах логических элементов и инверторов возможны коле- бания. Те же самые входные условия могут вызывать и случайные переключения триггеров. Устройство, которое имеет вход типа триггера Шмитта, спроектировано специ- ально для приема медленно изменяющихся сигналов и формирования выходного сигнала, свободного от перепадов напряжения. Выходной сигнал такого устройства будет иметь очень быстрые переходы на фронтах (обычно в пределах 10 нс), которые не будут зависеть от характеристик входного сигнала. На рис. 5.49, б показан инвер- тор на основе триггера Шмитта и его отклик на медленно изменяющийся сигнал. Если внимательно изучить формы сигналов, приведенные на рис. 5.49, б, можно) заметить, что выходной сигнал не меняется с высокого уровня на низкий до тех пор, пока входной сигнал не превысит напряжение порога положительного перепада Vr_. Как только выходной сигнал переходит в низкий уровень, он остается в этом новом состоянии, даже если входной сигнал вновь вернется к значению с напряжением Ут_| (в этом заключается его свойство памяти), пока сигнал на входе не упадет до уровня 272 Глава 5
ниже напряжения порога отрицательного перепада Ут-- Значения этих двух порого- вых напряжений варьируются от одного логического семейства к другому, но VT. все- гда будет меньше, чем Ут+. На выходе могут полвиться колебания, если время перепаде на входе слишком велико Инвертор с триггером Шмитта б) На выходе четкие, резкие перепады, не заеиоящие от „ремечи перепада на чходе Рис. 5.49. а) Если времена перепадов логических уровней входного сигнала слишком ве- лики, сигнал на выходе стандартного устройства на логических элементах может колебаться или случайным образом изменяться; б) логическое устройство, имеющее вход типа триггера Шмитта, формирует чистый выходной сигнал с быстрыми пере- падами уровней Инвертор на триггере Шмитта и все остальные устройства со входами типа триг- гера Шмитта используют дифференциальный символ, приведенный на рис. 5.49, б, который показывает, что такие устройства могут надежно реагировать на медленно изменяющиеся входные сигналы. Проектировщики логических схем используют ИС со входами типа триггера Шмитта для преобразования медленно изменяющихся ввдных сигналов в чистые, быстро изменяющиеся сигналы, которые могут управ- Ьггь входами обычных ИС. ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 273
На сегодняшний день доступны несколько типов ИС со входами, подобными триг- геру Шмитта. Все ИС серий 7414, 74LS14 и 74НС14 содержат по шесть инверторов на одной плате со входами типа триггера Шмитта. ИС серий 7413, 74LS13 и 74НС13 состоят из сдвоенных элементов И-НЕ, каждый из которых имеет четыре входа типа триггера Шмитта. 1. Что случится, если подать медленно изменяющийся сигнал на вход стандарт- ной ИС? 2. Чем отличается работа логического устройства с триггером Шмитта от работы стандартного логического устройства? 5.22. Одновибратор (ждущий мультивибратор) Еще одна цифровая система, в чем-то напоминающая триггер, называется одно- вибратором (сокращенно ОВ). Как и триггер, одновибратор содержит два выхода Q и Q , которые инверсны по отношению друг к другу, но в отличие от триггера ОВ име- ет только одно стабильное состояние на выходе (обычно Q = О, Q = 1), в котором он остается до тех пор, пока не будет переключен в противоположное состояние (Q = 1, Q = 0) входным сигналом. ОВ остается в таком квазистабильном состоянии в тече- ние фиксированного временного отрезка tp, величина которого обычно определяется временной постоянной JRC, зависящей от значений номиналов внешних компонентов, присоединенных к ОВ. После истечения времени tp одновибратор возвращается в со- стояние покоя и остается в нем до тех пор, пока снова не будет возбужден. На рис. 5.50, а показан логический символ, которым обозначают одновибратор. Значение tp часто указывают прямо там же, в середине прямоугольника. На практи- ке tp может изменяться от нескольких наносекунд до десятков секунд. Точное значе- ние tp является переменной и может быть найдено из значений величин номиналов внешних компонентов JRT и Ст. На базе ИС доступны два типа одновибраторов: ОВ без повторного запуска и ОВ с повторным запуском. Одновибратор без повторного запуска Временные диаграммы на рис. 5.50, б иллюстрируют функционирование ОВ, ко- торый запускается положительным фронтом по сигналу на входе Т*. Вот несколько важных моментов, которые стоит запомнить: 1. В точках а, Ь, с и е положительные фронты сигнала на входе Т запустят одновиб- ратор, т.е. он перейдет в квазистабильное состояние на время tf, после чего одно-! вибратор автоматически возвращается в стабильное состояние покоя. 2. В точках d и f положительные фронты сигнала никак не влияют на одновибра-| тор, потому что он уже был переключен в квазистабильное состояние. Чтобы пе- реключиться опять, ОВ должен возвратиться обратно в стабильное состояние. 3. Длительность импульса на выходе одновибратора всегда остается постоянной не- зависимо от длительности входных импульсов. Как уже было сказано выше, вре- * От англ, trigger. — Прим, перев. 274 Глава 5
мя tp зависит только от величин Ят и Ст и от внутреннего строения ОВ. Длитель- ность интервала типичного одновибратора приближенно можно рассчитать по формуле tp = 0,7 ЯТСТ. 1 Т о Запуск Прямой выход Инверсный выход Ст t р <* R г Ст b Стабигьчое гост я. ие Q = 0. О = 1 Кг<азистабильное сосъзгнче 0= 1,0 = 0 Перепады в моменты d и f не влияют нё выходной сигнал Q, так как он уже высокий б) Рис. 5.50. Обозначение одновибратора и типичные временные диаграммы работы ОВ без повторного запуска дновибратор с повторным запуском Одновибратор с повторным запуском функционирует во многом так же, как и ОВ I повторного запуска, за исключением одной важной детали: он может быть воз- веден во время нахождения ОВ в квазистабильном состоянии, при этом начнется еый интервал tp. По сигналам, изображенным на рис. 5.51, а, можно сравнить от- яки обоих типов одновибраторов, которые имеют длительность интервала tp, рав- ю 2 мс. Рассмотрим временные диаграммы более внимательно. Оба типа одновибраторов отвечают на первый импульс запуска в момент времени L мс. При этом на выходах ОВ на 2 мс появляется высокий уровень, а затем од- иибраторы возвращаются в исходное состояние с низким уровнем. Второй импульс гуска в момент t ~ 5 мс снова возбуждает оба одновибратора, и на их выходах озь наблюдается высокий уровень. Третий импульс запуска в момент времени t = 6 никак не влияет на ОВ без повторного запуска, потому что такой одновибратор Ь находится в квазистабильном (возбужденном) состоянии. Однако этот последний улье перезапустит ОВ с повторным запуском, и при этом на его выходе начнет- ГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 275
ся новый интервал tp длительностью 2 мс. Таким образом, одновибратор с повторным запуском даже после прохождения третьего импульса будет оставаться в состоянии с высоким уровнем в течение 2 мс. В сущности, одновибратор с повторным запуском каждый раз после поступления импульса запуска начинает новый интервал tp независимо от текущего состояния выхода Q. Импульсы запуска могут подаваться на одновибратор с повторным запус- ком с такой достаточно большой скоростью, что ОВ будет возбуждаться еще до того, как окончится очередной интервал tp, и Q еще будет оставаться в состоянии с высо ким уровнем. Такая ситуация показана на рис. 5.51, б, где на ОВ подаются восемь импульсов каждую 1 мс. Выход Q не успевает возвратиться в состояние с низки и уровнем раньше, чем через 2 мс после последнего импульса запуска. Ждущий мультивибратор без повторного запуска Ждущий мультивибратор с повторным запуском ----->- мс б) Ждущий мультивибратор с повторным запуском 10 ---- мс Рис. 5.51. а) Сравнение откликов ОВ без повторного запуска и ОВ с повтор- ным запуском, имеющих длительность интервала tp, равную 2 мс; б) на выхо- де одновибратора с повторным запуском каждый раз, когда приходит очеред- ной импульс запуска, начинается новый интервал tp Реальные устройства Несколько одновибраторов на базе ИС доступны как в версии с повторным запус- ком, так и без повторного запуска. ИС серии 74121 содержит на плате один одновиб- ратор без повторного запуска; ИС серий 74221, 74LS221 и 74НС221 являются сдво- енными ОВ без повторного запуска; ИС серий 74122 и 74LS122 имеют на плате един- ственный одновибратор с повторным запуском; наконец, ИС серий 74123, 74LS123 а 74НС123 несут на борту сдвоенные ОВ с повторным запуском. На рис. 5.52 показан традиционный символ, обозначающий ИС серии 74121, ко торая содержит на своей плате единственный одновибратор без повторного запуска- Заметьте, что на плате также находятся несколько встроенных логических элемен- тов, позволяющих сигналам, поданным на входы Д2 и В, запускать ОВ несколь- кими различными способами. На вход В типа триггера Шмитта можно подавать сиг- налы с медленными переходами между уровнями, благодаря чему данный одновиэ* ратор может надежно запускаться даже такими импульсами. Выводы, обозначенные Rint» Rext/Cext и СЕХт» используются для подключения внешнего резистора и емко! сти, что позволяет получать требуемую длительность импульса на выходе одновибр» тора. На рис. 5.52, б показан символ по стандарту IEEE/ANSI для ОВ без повторно?® запуска серии 74121. Обратите внимание, как на этом обозначении представлены ло- 276 Глава '
гические элементы, а также на наличие маленького импульса с цифрой 1 перед ним в большом прямоугольнике. Этот символ показывает, что данное устройство относит- ся к типу ОВ без повторного запуска. Символ по стандарту IEEE/ANSI для одновиб- ратора с повторным запуском не будет иметь 1 перед значком импульса. а) б) Рис. 5.52. Обозначение одновибратора без повторного запуска серии 74121: а) традици- онное; б) стандарта IEEE/ANSI Ждущий мультивибратор Другое название одновибратора — ждущий мультивибратор. Оно обусловлено тем, что ОВ имеет только одно стабильное состояние, поэтому одновибраторы применяются только в последовательных схемах и системах с синхронизированным управлением. Опытные разработчики обычно избегают использования ОВ из-за случайных переклю- чений паразитными шумами. В основном ОВ применяются для решения простых при- кладных задач по согласованию времени, где используется фиксированный интервал гр. Несколько упражнений в конце главы продемонстрируют этот принцип. Контрольные вопросы 1. В каком состоянии обычно находится одновибратор в отсутствие импульсов запуска? 2. Проверьте истинность высказывания. Если ОВ без повторного запуска будет возбужден импульсом в то время, когда он находится в квазистабильном со- стоянии, это не повлияет на выходной сигнал устройства. 3. Что определяет величину интервала tp одновибратора? 4. Опишите, в чем отличия функционирования ОВ с повторным запуском от ОВ без повторного запуска. 5.23. Анализ последовательных схем Многие логические схемы содержат в своем составе триггеры, одновибраторы и другие логические элементы, соединенные определенным образом для выполнения конкретной операции. Очень часто главный синхронизирующий сигнал используется для того, чтобы провести логические уровни в схеме через определенную последова- тельность состояний. Обычно эти последовательные схемы анализируют с помощью процедуры, приведенной в следующем примере. |ТРИГГЕРЫ И РОДСТВЕННЫЕ ИМ У СТРОЙСТВА 277
Пример 5.16 Внимательно изучите схему, изображенную на рис. 5.53. В начальный момент вре- мени, до подачи тактовых импульсов, выходы всех триггеров находятся в нулевых состояниях. Эти импульсы имеют частоту повторения, равную 1 кГц. Определите формы сигналов на выходах X, У, Z и W в течение времени, соответствующего вось- ми импульсам на тактовом входе. а) 1 2 3 4 5 6 7 8 г: ллллллм 1 --- — Z о - --- --------- 1 --- Y О --- ----------- 1 --------- X О ------ 1 ------ W о I——— I___Y____J Счетчик закончил работу б) Рис. 5.53. Пример 5.16. Решение Этап 1. Внимательно изучите схему. Найди ге, какие элементы схемы напоминают! счетчики, сдвиговые регистры и т.д. Триггеры X, Y и Z соединены таким образом, что вместе составляют трехбитовы! счетчик, подсчитывающий импульсы на тактовом входе. Для этого входы J и д' 278 Глава 5
триггера Z, управляемого выходным сигналом элемента И-НЕ W, постоянно поддер- живаются в состоянии с высоким уровнем. Входы самого элемента И-НЕ управляют- ся выходными сигналами X, Y и Z . Этап 2. Пользуясь принципиальной схемой, выпишите логические уровни всех входов и выходов устройства до момента подачи тактовых импульсов. Первоначально триггеры находятся в нулевом состоянии. Входы элемента И-НЕ на- ходятся в состояниях 0, 1 и 1 соответственно, т.е. на выходе W элемента И-НЕ при- сутствует высокий уровень. Входы J и К всех триггеров находятся в единичных со- стояниях. Все логические уровни, присутствующие на схеме в начальный момент времени, выделены на принципиальной схеме цветным шрифтом. Этап 3. Зная начальные условия до момента подачи тактовых импульсов, опреде- лите новые состояния на каждом триггере после поступления на схему первого тактового импульса. Отрицательный фронт первого тактового импульса переключит триггер Z в единич- ное состояние, а триггеры X и У — в нулевое. Формы сигналов после прохождения первого тактового импульса показаны на рис. 5.53. -------------------------------------------------—---------------—j- Этап 4. Повторите этапы 2 и 3 для второго тактового импульса, затем для третьего _ИТ-Д^ ____________________ Поскольку до поступления второго тактового импульса триггер уже находится в еди- ничном состоянии, а входы элемента И-НЕ — в состояниях 0, 1 и 0 соответственно, то на выходе W, а также на входах J и К всех триггеров имеем высокий уровень, и каждый триггер готов переключиться (вы сразу можете дорисовать эти уровни на временной диаграмме). Отрицательный фронт второго тактового импульса переклю- чит триггер Z из 1 в О, отрицательный фронт импульса с выхода триггера Z пере- ключит триггер У из 0 в 1. Триггер X останется в нулевом состоянии. Изучите вре- менные диаграммы на рис. 5.53. До прихода третьего тактового импульса входы элемента И-НЕ будут находиться в состояниях 0, 0 и 1 соответственно, т.е. на выходе W элемента И-НЕ все еще будет присутствовать высокий уровень сигнала. Входы J и К всех триггеров также про- должают находиться в единичных состояниях. Отрицательный фронт третьего такто- вого импульса переключит триггер Z из 0 в 1, а состояния на выходах X и У не из- менятся. Снова внимательно изучите временные диаграммы на рис. 5.53. До прихода четвертого тактового импульса все входы элемента И-НЕ имеют нулевые состояния, поэтому на выходе W элемента И-НЕ и на входах J и К всех триггеров будут присутствовать высокие уровни. Отрицательный фронт четвертого тактового импульса переключит триггер Z из 1 в 0, что, в свою очередь, переключит выход триггера У из 1 в 0 и вызовет переключение выхода триггера X из 0 в 1. Проанали- зируйте временные диаграммы на рис. 5.53 после прохождения четвертого импульса. До прихода пятого тактового импульса все входы элемента И-НЕ имеют теперь уже единичные состояния — на выходе W получаем низкий уровень напряжения. Он приведет к появлению низкого уровня на входах J и К триггера Z, так что триггер перейдет в режим работы без изменений. Отрицательный фронт пятого тактового им- гульса не сможет каким-либо образом повлиять на триггер Z, и поэтому ни один ло- гический уровень в схеме не изменит своего состояния. Более того, ни один из фрон- тов последующих тактовых импульсов не сможет изменить состояние счетчика. Еще >зз проанализируйте временные диаграммы на рис. 5.53. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 279
5.24. Генератор тактовых (синхронизирующих) импульсов Триггеры имеют два стабильных состояния; следовательно, они относятся к бис табильным мультивибраторам. В одновибраторе только одно стабильное состояние, поэтому его еще называют моностабильным или ждущим мультивибратором. Тре- тий тип мультивибратора вообще не имеет стабильных состояний; он называется не- синхронизированным (astable) или свободно идущим (free-running) мультивибрато- ром. Логические схемы этого типа переключаются (осциллируют) между двумя не- стабильными выходными состояниями. Их удобно применять для генерирования синхронизирующих сигналов в синхронных цифровых схемах. Несколько типов несинхронизированных мультивибраторов используются очень часто. В книге представлены три таких схемы, но особенности их работы детально не описываются. Данные, которые будут изложены ниже, помогут читателю самостоя- тельно строить схемы с тактовыми генераторами, если это потребуется для какого- либо проекта или испытаний цифровой схемы в лабораторных условиях. Генератор на. основе триггера Шмитта На рис. 5.54 изображен инвертор на основе триггера Шмитта, который можно подключить к схеме и в качестве генератора. Сигнал на выходе Vqut по форме близок к прямоугольному импульсу (меандру) и имеет частоту, зависящую от величин R и С. Соотношения между частотой и значениями произведения RC для трех различных инверторов на основе триггера Шмитта приведены в таблице на рис. 5.54. Следует обратить внимание на максимальные пределы значений сопротивлений для каждого устройства. Схема не сможет генерировать колебания, если величина R не будет со- i ответствовать указанным требованиям. Рис. 5.54. Генератор на основе триггера Шмитта, использующий инвертор серии 7414. Также может быть использован элемент И-НЕ типа триггера Шмитта серии 7413 Таймер 555 в качестве несинхронизированного мультивибратора ИС с таймером 555 на борту представляет ТТЛ-совместимое устройство, котир< может работать в нескольких различных режимах. На рис. 5.55 показано, как мо> но соединить внешние компоненты и таймер 555, чтобы он работал в качестве св бодно идущего генератора. Выходной сигнал таймера состоит из повторяющихс 280 Глава
прямоугольных импульсов, и он постоянно переключается между двумя логическими уровнями с интервалом, определяемым величинами R и С. Формулы, по которым можно вычислить временные интервалы tx и f2, а также общий период колебаний Т, даны на том же рисунке. Частоту колебаний, как известно, можно определить как величину, обратную периоду колебаний. Как показывают формулы под временной диаграммой, интервалы tx и t2 ие могут быть равны, пока величина RA не будет рав- на нулю. Такого условия невозможно достичь, не пропуская через устройство избы- точный ток. Это, в свою очередь, означает, что невозможно сформировать совершен- ный меандр с 50%-ным рабочим циклом, добиваясь выполнения условия RB» RA (при этом чтобы RA не превышало 1 кОм), позволяющего получить ix ~ <2. +5 В tx =0,693 RSC t2 = 0,693 (R a<-Rb)C T = tx+t2 Частота = l/T Коэффициент заполнения = t?/T ж 100% Ra21 кОм Ra+ RB < 6,6 МОм C £ 500 пФ ’uc. 5.55. Таймер 555. используемый в качестве несинхронизированного мультивибратора Пример 5.17 'ассчитайте частоту и длительность рабочего хода сигнала на выходе несинхронизи- ованного мультивибратора, построенного на основе таймера 555. Выходные данные: ’ = 0,001 цФ, Ra = 2.2 кОм, RB = 100 кОм. 'ешение х = 0,693(100 к0м)(0,001 рФ) = 69,3 рс, г = 0,693(102,2 к0м)(0,001 рФ) = 70,7 цс, ’= 69,3 + 70,7 = 140 цс, = 1/140 рс = 7,29 кГц. 'абочий цикл = 70,7/140 = 50,5%. Заметьте, что величина рабочего цикла близка к 50% (сигнал типа меандр), так как намного превышает RA. Эта величина может достигать даже значения еще более аизкого к 50%, если сделать RB еще больше по сравнению с RA. Можно убедиться, апример, что при изменении RA до 1 кОм (минимально допустимое значение), полу- дются результаты f = 7,18 кГц и величина рабочего цикла 50,3%. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 281
Коарцевые генераторы тактовых ИМПуЛЬСОВ Частота сигнала на выходе схем-генераторов тактовой частоты, описанных выше, зависит от значений номиналов резисторов и емкостей, поэтому она не может быть в высшей степени точной или стабильной. Даже при использовании переменных рези- сторов, что позволяет добиться формирования сигнала с требуемой частотой путем “подгонки” значений сопротивлений, все равно будут происходить изменения номи- налов П и С, связанные с изменением температуры окружающей среды и процессом старения, которые заставляют дрейфовать значение подстроенной частоты. Если точ- ность и стабильность частоты — критические параметры сигнала, применяют другой метод формирования синхронизирующих сигналов — кварцевый генератор тактовых импульсов. Такой генератор использует высокостабильный и высокоточный компо- нент — кристалл кварца. Кусочек такого кристалла может быть разрезан до опреде- ленного размера и формы, которые позволяют ему вибрировать (резонировать) с точ- ной частотой, чрезвычайно стабильной и практически независимой от температуры и старения. Можно легко добиться формирования сигналов с частотами от 10 кГц до 80 МГц, поместив кристалл в определенную схемную конфигурацию. Кристалл фор- мирует колебания с высокоточной и стабильной частотой, равной резонансной часто- те кристалла. Кварцевые генераторы обычно выполняются в корпусах интегральных схем. Схемы с кварцевым генератором тактовых импульсов используются в системах на основе микропроцессоров и в микрокомпьютерах, а также в любых устройствах, где тактовый сигнал служит для формирования высокоточных временных интервалов. Работа кварцевых генераторов представлена в упражнениях в конце этой главы. Контрольные вопросы 1. Определите приблизительную частоту следования импульсов, вырабатываемых генератором на основе триггера Шмитта, который использует ИС 74НС14 с R = 10 кОм, С = 0,005 цФ. 2. Определите приблизительную частоту следования импульсов и величину рабо- чего цикла сигнала, вырабатываемого генератором на основе таймера 555 с 7?а = *в = 2,2 кОм, С = 2000 пФ. 3. Какое преимущество имеют схемы с кварцевым генератором тактовых импуль- сов по сравнению со схемами на RC-цепях? 5.25. Поиск неисправностей в схемах с триггерами Триггеры на основе ИС чувствительны к тем же типам внутренних и внешния ошибок, которые присущи и комбинационным логическим схемам. Все рассуждения применительно к поиску неисправностей в схемах на логических элементах, изло! женные в главе 4, могут также быть перенесены на схемы, содержащие в качеств рабочих элементов триггеры. Благодаря таким характеристикам, как память и возможность синхронизации триггеры также представляют источники некоторых новых типов неполадок и свя занных с ними явлений, которые не встречаются в комбинационных схемах. В чася ности, триггерные схемы чувствительны к проблемам временного согласования, к я торые обычно не рассматриваются при работе с комбинационными схемами. Нм - *1 описаны наиболее распространенные типы неполадок в схемах с триггерами. 282 Глава
Разомкнутые входы Неприсоединенные или плавающие входы любой логической схемы в высшей ме- ре чувствительны к паразитным флуктуациям напряжения, которые называют шу- мами. Если шумы имеют достаточно большую амплитуду и длительность, выход ло- гической схемы может отреагировать на этот сигнал и изменить текущее состояние. В логическом элементе выход сможет вернуться в первоначальное состояние, когда шумовой сигнал ослабеет, но в триггере выход останется в новом состоянии, что вы- звано свойством памяти этого элемента. Таким образом, эффект шумовой помехи (наводки) на разомкнутом входе обычно более критичен для триггера или защелки, чем для логического элемента. Наиболее уязвимые входы триггера те, которые могут переключать трипер в дру- гое состояние: CLK, PRESET и CLEAR. Если вдруг обнаружится, что сигнал на вы- ходе триггера хаотически меняет свой уровень, то скорее всего на одном из указан- ных входов произошло размыкание. Пример 5.18 На рис. 5.56 показан трехбитовый сдвиговый регистр, выполненный на основе ТТЛ- ктриггеров. В начальный момент времени, до подачи импульсов тактового сигнала, се триггеры имеют состояния с низкими уровнями. Как только на схему поступают тактовые импульсы, положительный фронт каждого такого импульса приводит к [сдвигу информации из каждого триггера в соседний триггер справа. На диаграмме на ом же рисунке показана “ожидаемая” последовательность состояний триггеров по- сле прохождения каждого тактового импульса. Поскольку J2 = 1 и К2 = 0> то триггер |Х2 после первого же тактового импульса переключится в состояние с высоким уров- нем, в котором останется на время прихода всех последующих импульсов. Этот вы- сокий уровень будет сдвинут в триггер Хх, а затем в Хо после поступления, соответ- стэенно, второго и третьего тактовых импульсов. Таким образом, после прохождения ж-рез схему третьего импульса все триггеры окажутся в состоянии с высоким уров- |>лжны оставаться в нем и дальше, так как на схему продолжают поступать ы. [редположим, что после наблюдений был получен такой “реальный” отклик ей триггеров на входной сигнал, как это записано на диаграмме. Состояния в соответствуют ожидаемым только для трех первых тактовых импульсов, ого момента триггер Хо вместо того, чтобы оставаться в состоянии с высоким , периодически меняет свое состояние, приобретая то высокий, то низкий Какая возможная неисправность могла привести к такому функционирова- ли? г поступления второго тактового импульса триггер X- приобретает состояние м уровнем напряжения. Это должно привести к появлению на входах Jo = 1 , что при поступлении всех последующих тактовых импульсов должно пере- данный триггер в состояние Xq = 1- Вместо этого Хо меняет свои состояния твоположные в момент прихода любого очередного тактового импульса, на- третьего. Причина такого функционирования одна — на обоих входах Jo и оявиться высокий уровень. Наиболее вероятным источником этой неполадки ь разрыв между XY и Ко. Следует вспомнить, что устройства ТТЛ реагируют [кнутый вход так, как будто он имеет уровень логической единицы, поэто- лкнутый вход Ко можно рассматривать как постоянный сигнал с высоким РЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 283
Количество тактовых импупьсоз Ожигаемые Фактические Х2 Xi Хо х2 Xi Х0 0 0 х 0 „ 0 0 0 0 1 1 х 1 0 0 2 1 х ^0 1 1 0 3 1 х 1 1 1 4 1 1 1 с 5 1 х 1 1 1 1 6 1 х к1 ' С"1 1 1 0 7 1 к1 ' ^1 1 1 1 8 1 1 1 1 0 Рис. 5.56. Пример 5.18. Короткозамкнутые выходы Следующий пример продемонстрирует, как неисправность в триггерной схем может вызвать ложное предположение относительно ее типа, что обычно приводит 1 необходимости затратить большее время на поиск и устранение неполадки. Пример 5.19 Рассмотрим схему на рис. 5.57 и данные показаний логического пробника, при в денные в сопроводительной таблице. При подаче на вход CLK тактовых импульс* на входе триггера D был зафиксирован низкий уровень, но при этом выход Q не п реключился в состояние с низким уровнем. Техник, тестировавший схему, счита причинами неисправности схемы следующие возможные неполадки: а) Вывод Z2-5 закорочен на Fee внутри триггера. б) Вывод Z1-4 закорочен на Vcc внутри триггера. в) Выводы Z2-5 или Z1-4 закорочены на Vcc где-либо вне триггера. г) Вывод Z2-4 закорочен на общий провод внутри или снаружи триггера. Такая а поладка привела бы к постоянному возбуждению входа PRE, т.е. подавила б сигнал на входе CLK. д) Где-либо в устройстве Z2 произошел внутренний сбой одного из компонентов, мешает получить на выходе Q правильный отклик на входной сигнал. 284 Глав г
+5 В А 1Д 3 2 Z1 3 >CLK +5 В +5 В PRE Q Z1: 74LS00 Z2: 74LS74 Z1 Z2 CLR Вывод Состояние Z1-1 высокий Z1-2 высокий Z1-3 низкий Z2-2 низкий Z2-3 Импульсы Z2-5 высокий Z1-4 высокий D Q 5 6 4 5 Puc. 5.57. Пример 5.19. После проведения необходимых измерений с помощью омметра техник исключил первые четыре причины. Он также проверил выводы на источник Vcc и “общий про- вод” на триггере Z2 и обнаружил, что на них напряжения совпадают с правильными. Прежде чем выпаивать триггер из схемы, техник решил сначала проверить тактовый сигнал. Используя осциллограф, он замерил для данного сигнала амплитуду, часто- ту, длительность импульсов, а также времена переходов из одного состояния в другое и обнаружил, что все они лежат в пределах спецификации для ИС серии 74LS74. Наконец, он заключил, что триггер однозначно неисправен. Техник выпаял плату ИС 74LS74 из схемы и заменил ее другой такой же ИС. К ого величайшему удивлению и неудовольствию схема с новой платой заработала точно так же, как и старая, поэтому он решил заменить плату с элементом И-НЕ. Это снова не привело к изменению в функционировании схемы. Окончательно запутавшись, техник вдруг вспомнил, что инструктор в лаборатории электронной техники специально подчеркивал особое значение тщательной визуаль- ной проверки печатной платы схемы, поэтому техник приступил к внимательному изучению ИС. Неожиданно между выводами 6 и 7 устройства Z2 он обнаружил кап- лю припоя, которая их закорачивала. Техник удалил ее и снова протестировал схе- му, которая на этот раз заработала правильно. Теперь объясните, как такая неис- правность могла привести к функционированию схемы, описанному в начале примера? Решение Капля припоя между указанными выводами закорачивала выход Q и общий провод между собой. Это означает, что выход Q постоянно оставался в состоянии с низким уровнем. Вспомните, что во всех защелках и триггерах выходы Q и Q имеют пере- крестные обратные связи, поэтому уровни на них взаимно влияют друг на друга. Взгляните, например, на внутреннее строение J-K-триггера, изображенного на рис 5.23. Заметьте, что постоянный низкий уровень на Q приведет к установлению такого же уровня и на входе элемента И-НЕ № 3, поэтому выход Q будет все время оставаться в состоянии с высоким уровнем независимо от условий на входах J, К и CLK. РИТТЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 285
Техник из нашего примера получил хороший урок по поиску неисправностей в триг- герных схемах. Теперь он уже знает, что всегда следует проверять оба выхода триг- гера, даже если какой-то из них не подключен к другому устройству. Фазовый сдвиг тактовых (синхронизирующих) импульсов Наиболее распространенная проблема временного согласования — фазовый сдвиг тактовых импульсов (clock skew). Один из типов фазового сдвига может произойти, если тактовый сигнал поступает на входы CLK различных триггеров в разные мо- менты времени, что вызвано задержками распространения внутрисхемных элемен- тов. Во многих случаях расфазировка может привести к установлению триггера в неправильное состояние. Такой тип фазового сдвига проиллюстрирован следующей ситуацией. Обратимся к рис. 5.58, а. Сигнал CLOCK1 подается непосредственно на триггер Qi, через элемент И-НЕ, а также через инвертор на триггер Q2. Предполагается, что оба триггера должны синхронизироваться отрицательным фронтом импульсов сигна- ла. Сигнал CLOCK1 подается при условии, что на зходе X элемента И-НЕ наблюдает- ся высокий уровень напряжения. Если предположить, что в начальный момент вре- мени Qi = Q2 = 0, а X ~ 1, то отрицательный фронт первого импульса сигнала CLOCK 1 установит Qx = 1, но никак не повлияет на Q2. Временные диаграммы на рис. 5.58, б показывают, как фазовый сдвиг тактовых импульсов может привести к неправильной установке Q2. Суммарная задержка распространения на элементе И-НЕ и инверторе приводит к тому, что фронты сигнала CLOCK2 задерживаются по отношению к сигналу CLOCK 1 на время tt. Отрицательные фронты импульсов сигнала CLOCK2 поступают на вход CLK триггера Q2 на время ti позже, чем отрицательные фронты CLOCK1 на вход CLK триггера Qx. Интервал £х как раз и представляет собой фазовый сдвиг тактовых । импульсов. Отрицательные фронты импульсов CLOCK 1 устанавливают триггер Qx в состояние с высоким уровнем через время t2, равное времени распространения триг- гера Qi, вызванному задержкой Триггер Qx уже переключится в это новое со- стояние, когда на триггер Q2 поступит отрицательный фронт первого импульса CLOCK 2, и это может привести к неправильной установке Q2 = 1, если для второго триггера будет выполняться требование ко времени установки ts. Теперь предполо- жим, что фазовый сдвиг составил 40 нс, а время распространения триггера Qj равно 25 нс. Тогда триггер Qx переключится в состояние с высоким уровнем на 15 нс раньше, чем на триггер Q2 поступит отрицательный фронт первого импульса CLOCK 2. Если время установки ts триггера Q2 будет меньше 15 нс, то Q2 отреагирует на высокий уровень на входе D, когда на его тактовый вход поступит отрицательный фронт импульса CLOCK2, и второй триггер тоже установится в состояние с высоким уровнем. Естественно, такое состояние не будет совпадать с тем, которое ожидалось на Q2; предполагалось, что он должен перейти в состояние с низким, уровнем. Явление фазового сдвига синхронизирующих импульсов не всегда легко обнару- жить, так как затронутый им триггер может вести себя неправильно периодически (т.е. иногда триггер будет правильно реагировать на входные сигналы, а иногда — I нет). Такое поведение зависит от задержек распространения в элементах схемы п временных параметров триггера, которые могут варьироваться в зависимости от тем-1 пературы, длины проводников, напряжения источника питания, нагрузки. Иног-J простое присоединение к выходу триггера или логического элемента осциллографа мо-Я жет добавить достаточно емкости нагрузки, чтобы увеличить задержку распространи I ния устройства настолько, что схема будет функционировать правильно; если же убв рать щупы осциллографа от проводников, схема снова начинает вести себя неправильЛ но. Именно из-за таких ситуаций некоторые схемотехники преждевременно седеют. 286 Глава
Пусть X-ВЫСОКИЙ CLOCK 1 t, (сдвиг) - суммарная задержка элемента И-НЕ и инвертора 1г = 1нв 1з = гнвна®2 о) Предполагается, что на О2 сохраняется низкий уровень Рис. 5.58. Фазовый сдвиг тактовых (синхронизирующих) импульсов происходит в ситуации, когда два триггера должны быть синхронизированы одновременно, но на самом деле синхронизируются в разные моменты времени, что вызвано задержкой распространения тактового сигнала до поступления на второй триггер ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 287
Проблемы, вызванные фазовым сдвигом тактовых импульсов, могут быть устранены компенсацией задержек в различных плечах схемы, по которым тактовый сигнал идет таким образом, что активный фронт будет достигать каждого триггера приблизительно в один и тот же момент времени. Такой вариант используется в упражнении 5.52. Контрольные вопросы 1. Что такое фазовый сдвиг тактовых импульсов? Какие проблемы он может вы звать и почему? 5.26. Применение программируемых логических устройств В главе 4 были использованы возможности языка CUPL для программирования простых комбинационных логических схем на базе ПЛУ 16V8. В этой главе рассмат- ривались логические схемы на основе защелок и синхронных триггеров, которые проходят через последовательность различных состояний в ответ на поступление тоге или иного фронта тактового импульса. Схемы-защелки и последовательные схемы также можно реализовывать, используя ПЛУ. Защелка на элементах И-НЕ На рис. 5.59, а изображена защелка на элементах И-НЕ, которая уже рассматрива- лась в разделе 5.1 (см. рис. 5.7). На рисунке представлен альтернативный символ эле- мента И-НЕ со входами, которые управляются низкими уровнями сигналов. Для каж-1 дого выхода можно записать булево выражение, описывающее функционирование дан- ной схемы точно так же, как это было сделано для комбинационных логических схем > главе 4. Однако в данном случае состояние каждого выхода будет зависеть не только <яи текущего состояния на входах установки и сброса, но и от текущего состояния на вто- ром выходе защелки. Таким образом, в полученном булевом уравнении выходные пе- ременные будут не только в его левой части, но также и в правой, потому что между выходами и входами элементов И-НЕ существует обратная связь. Эта связь — важнаяI характеристика схем-защелок. Многие ПЛУ возвращают выходной сигнал обратно » вход, чтобы иметь возможность функционировать в качестве защелок. Как уже было отмечено в главе 4, данный раздел и все последующие, касающиеся II могут быть пропущены без ущерба для изложения. 288 Гл
Рис. 5.59. а) Защелка на элементах И-НЕ; б) защелка на элементах И-НЕ с пе- реименованными входами и выходами б) Чтобы избежать путаницы при записи булевых уравнений для такой защелки, переименуем управляемые низким уровнем входы защелки: вместо SET (установка с инверсией) запишем SBAR и вместо CLEAR (сброс с инверсией) запишем CBAR*. Взгляните еще раз на рис. 5.59, б. Аналогично переименуем выход Q в QBAR. Та- ким образом, знак инверсии, который говорит о том, что вход управляется низким уровнем сигнала, теперь нельзя перепутать с булевой операцией НЕ в уравнении. Булево выражение (если использовать синтаксис языка CUPL) для данной защелки на элементах И-НЕ будет выглядеть следующим образом: Q = !SBAR # JQBAR QBAR = !CBAR # !Q D-защелка Схема, использующая прозрачную Р-защелку, также может быть реализована на ПЛУ. Вернемся к диаграмме на рис. 5.27, а. Записывая булевы выражения для каж- дого узла схемы и убирая двойные инверсии, получим следующее логическое урав- нение для Q и QBAR: Q = (D & EN) # 1QBAR; Q имеет высокий уровень, когда высокий уровень наблюдается на входе D, в то время как защелка открыта тогда, когда QBAR имеет низкий уровень. QSAR = (ID & EN) # 1Q; QBAR имеет высокий уровень, когда на входе D наблюдается низкий уровень, в то время как защелка открыта тогда, когда низкий уровень содержит Q. Имея представление о том, как были получены эти логические выражения для защелки на элементах И-НЕ и D-защелки, вы можете попробовать в лаборатории программирование ПЛУ, используя инструментальное программное оборудование на языке CUPL. Синхронные триггеры также могут быть реализованы на основе ПЛУ, но эта тема подробно рассматривается в одной из последующих глав. Окончание названий BAR выбрано от англ, “bar” — черта (имеется в виду знак инвер- сии). — Прим, перев. Триггеры и родственные им устройства 289
Режим ввода переходов состояний при программировании ПЛУ Существует три метода или формы ввода сведений о схеме (аппаратной ее части) в инструментальные средства программной разработки ПЛУ, которые упоминались в главе 4: логические уравнения, таблицы истинности и схематический метод. В раз- деле 5.19 было рассмотрено такое понятие, как диаграмма переходов состояний, и теперь самый подходящий момент, чтобы представить вам метод ввода переходов со- стояний, также используемый в CUPL. Этот метод, иногда также называемый мето- дом ввода машинных состояний, позволяет разработчику идентифицировать каждое возможное состояние счетчика и указать требуемое состояние после поступления на него следующего тактового импульса. Данный пример показывает, как двоичный счетчик, который можно описать с помощью диаграммы состояний на рис. 5.47, может быть реализован на ПЛУ. Вход- ной файл CUPL очень похож на входной файл для комбинационной схемы, как это видно из рис. 5.60. Рядом с заглавной информацией и данных о входах и выходах при желании указываются комментарии. Основная разница состоит в структуре раз- дела описания аппаратной части (Hardvzare Description Section). Ключевое слово se- quence (последовательность) говорит компилятору о том, что используется режим описания аппаратной части с помощью метода указания переходов состояний (машинных состояний). Затем необходимо указать набор (set) выходных данных, ко- торых должна придерживаться последовательность. Наборы представляют собой спо- соб группировки списка переменных, связанных друг с другом. Условная запись тре- бует, чтобы список переменных в каждом наборе был проставлен в квадратных скоб- ках, т.е. имел вид типа [Q2, QI, Q0]; тогда как восемь описаний переходов состояний заключаются уже в фигурные скобки. Каждый переход указывается с помощью ключевого слова present (текущий), которое предшествует каждому значению теку- щего состояния (указывается в двоичном виде, что показано буквой “Ь”); за словом present следует слово next (следующий) и двоичное значение требуемого следующего состояния. Name states.pld ; Designer H. С. Видмер ; Partno 1234567 ; Company Университет Пердью ; Date June 2 ;Assemply Глава 5; Revision 02 ; Location Глава 5; Device G16v8 ; Format j; /* Простой пример трехбитового двоичного счетчика */ /* Входы */ Pin 1 = CLOCK ; /* вывод 1 должен быть тактирующим в микросхеме GAL 16V8 */ /* Выходы */ Pin 12 = QO ; Pin 13 = QI ; Pin 14 = QI ; /* Описание аппаратной части */ sequence [Q2, QI, QO] { present ‘b’000 next ‘b’001; present ‘b’001 next ‘b’010; present ‘b’010 next ‘b’011; present ‘b’011 next ‘b’100; present ‘b’100 next ‘b’101; present ‘b’101 next ‘b’110; present ‘b’110 next ‘b’lll; present‘b’l 11 next‘b’000; } Puc. 5.60. Входной файл перехода состояний на языке CUPL, описывающий простой счетчик 290 ГЛАВА
Хотя это не показано в примере на рис. 5.60, но язык CUPL позволяет назначать набору выходных (или входных) данных имя, которое называется полем (field). Это позволяет упростить ссылку на весь набор переменных. Например, набор перемен- ных в данном примере мог бы быть назван, скажем, counter out. Запишем его в сле- дующем виде: field counter_out = [Q2, QI, QO] ; Любая операция, использующая набор counter_out, будет работать с набором из трех бит. CUPL также может использовать команды процессора предварительной обработки (preprocessor commands). Эти команды считываются компилятором до то- го, как он начнет работать с остальной частью исходного файла. Большая часть ком- пиляторов предусматривает возможность использования команд процессора предва- рительной обработки, так как они представляют собой удобный способ подгонки ис- ходного файла. Команды процессора предварительной обработки всегда начинаются с символа расположенного в первой колонке строки исходного файла. Такие ко- манды не заканчиваются точкой с запятой. Наиболее распространенными командами процессора предварительной обработки является команда Sdefine. Она позволяет за- мещать любую строку на усмотрение программиста любым разрешенным синтакси- сом CUPL оператором, числом или символом. Используя команду Sdefine, можно за- дать имя константе, заменить оператор # на + или сократить ключевое слово. Воз- можно, наиболее важным моментом в использовании команды Sdefine является то, что данный оператор позволяет назначать имена постоянным цифровым значениям в "шапке” исходного файла. Если значение константы через некоторое время пере- сматривается, ее изменение можно выполнить во всех местах, где она встречается, за один шаг (просто изменив оператор Sdefine), даже если в исходном файле константа использовалась несколько раз. Это упрощает модификацию кода программы и ее об- новление, что может быть необходимо в будущих проектах. Например, запись Sdefine StateA 'b'ОСО Sdefine StateB 'b'001 Sdefine StateH 'b'111 позволит использовать слово “StateA” вместо ‘b’000, слово “StateB” вместо ‘b’001 в т.д. Директива define и директивы полей обычно размещаются в исходном файле сразу после указаний входных/выходных выводов и до операторов описания аппа- ратной части. В случае использования вышеуказанных полей и директивы Sdefine описание аппаратной части, показанной на рис. 5.60, выглядело бы следующим об- разом: * Списание аппаратной части ♦/ sequence counter_out; { present StateA next StateB; present StateB next StateC; present StateC next StateD; present StateD next StateE; present StateE next SvateF; present State? next StateG; present SvateG next StateH; present StateH next StateA; } Если у вас есть такая возможность, посетите лабораторию электронной техники и, Используя то новое, что вы узнали в этом разделе, попытайтесь самостоятельно запро- граммировать ПЛУ, которое должно функционировать как трехбиговый счетчик. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 291
Контрольные вопросы 1. На рис. 5.6, а показана защелка на элементах И-НЕ, изображенная с использо- ванием стандартных символов для элементов И-НЕ. Запишите для нее булевы выражения в соответствии с синтаксисом CUPL. Если запрограммировать ПЛУ | согласно полученным уравнениям, сможет ли оно работать так же, как запро- граммированное ПЛУ на рис. 5.59? 2. Какая особая черта аппаратного обеспечения отличает логические схемы на j защелках от других схем? \ Ъ. ЛЯадлгл 'важная -присуща ттоследоъателънъпл схемам*? 4. Назовите наиболее простой способ ввода описания аппаратной части счетчика, используя язык CUPL. j 5. Какое ключевое слово позволяет CUPL интерпретировать описания аппаратной части с использованием режима ввода переходов состояний (или машинных со- стояний)? 6. Какая директива позволяет программисту назначать имя списку или набору переменных? 7. Какая директива позволяет программисту назначать постоянной величине сим- вольное имя? L...,------------------------------------------------------------------------ Резюме 1. Триггером называется логическая схема, имеющая свойство памяти. Согласно этому свойству, в ответ на импульс на одном из входов выходы триггера Q и Q переходят в новые состояния, в которых остаются даже после окончания входно- го импульса. 2. Защелка на элементах И-НЕ и защелка на элементах ИЛИ-НЕ — это простые триггеры, которые отвечают на логические уровни на входах установки (SET) и сброса (CLEAR). 3. Сброс (очистка) триггера означает, что выходы триггера устанавливаются в со- стояния Q = 0 / Q = 1. Установка триггера означает, что выходы триггера уста- навливаются в состояния Q = 1 / Q = 0 . 4. Синхронные триггеры имеют тактовый вход (CLK, СР, СК), который управляется фронтом импульса. Это означает, что тактовый импульс переключает триггер в момент прихода на него положительного фронта (Positive-Going Transition — PGT) или отрицательного фронта (Negative-Going Transition — NGT). 5. Управляемые фронтом (синхронные) триггеры могут переключаться в новое со- стояние активным фронтом тактового сигнала. Новое состояние триггера определя- ется состояниями на его синхронных управляющих входах (S, С или J, К или D). 6. Большая часть синхронных триггеров также имеет асинхронные входы, которые могут устанавливать или очищать триггер независимо от состояния на тактовом входе. 7. D-защелкой называется модифицированная защелка на элементах И-НЕ, которая функционирует аналогично D-триггеру за исключением того, что она управляется не фронтом, а уровнем сигнала. 8. Наиболее важные области применения триггеров — хранение и передача инфор- мации, сдвиг данных, счет, деление частоты входного сигнала. Они используются в последовательных схемах, состояния выходов которых изменяются в опреде- ленной последовательности. 292 Глава 5
9. Одновибратором называется логическая схема, которая может переключаться из нормального состояния покоя (Q = 0) в возбужденное состояние (Q = 1), в кото- ром одновибратор остается в течение интервала времени, пропорционального ве- личине постоянной RC. 10. Схемы, которые имеют в своем составе входы на триггере Шмитта, будут надеж- но реагировать на медленно изменяющиеся входные сигналы и формировать вы- ходные сигналы с чистыми от колебаний, быстро изменяющимися фронтами. 11. Для формирования синхронизирующих (тактовых) импульсов с требуемой часто- той может быть использовано сразу несколько схем: генератор на основе триггера Шмитта, генератор на основе таймера 555, кварцевый генератор. ]2. Полный перечень различных типов триггеров вы можете изучить на внутренней стороне обложки книги. 13. Программируемые логические устройства (ПЛУ) можно запрограммировать та- ким образом, что они будут функционировать как в качестве схем-защелок, так и в качестве последовательных схем. Основные термины триггер состояния/входы SET (установка), CLEAR (очистка), RESET (сброс) защелка на элементах И-НЕ дребезг контакта защелка на элементах ИЛИ-НЕ синхронизация положительный фронт отрицательный фронт синхронный триггер управление фронтом синхронные управляющие входы время установки/время удержания синхронный S-C-триггер переключение схема управления импульсами схема обнаружения фронта импульса синхронный J-K-триггер режим переключения синхронный D-триггер параллельная передача данных D- защелка асинхронные входы подавление входов общий блок управления задержка распространения триггер с главными и подчиненными элемен- тами (master/slave) регистры передача данных синхронная передача асинхронная (принудительная) передача последовательные схемы последовательная передача данных сдвиговый регистр деление частоты двоичный счетчик таблица состояний диаграмма переходов состояний коэффициент пересчета триггер Шмитта одновибратор (ОВ) квазистабильное состояние ОВ без повторного запуска ОВ с повторным запуском ждущий мультивибратор таймер 555 фазовый сдвиг тактовых (синхронизирующих) импульсов команды процессора предварительной обра- ботки поле набор последовательность Упражнения Разделы 5.1—5.3 (В) 5.1. Пусть в начальный момент времени Q = 0. Подайте на входы SET и CLEAR защелки на элементах И-НЕ сигналы х и у, изображенные на рис. 5.61, и определите формы сигналов на выходах Q и Q защелки. ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 293
X y LTLI Рис. 5.61. Упражнения 5.1-5.3 (В) 5.2. Проинвертируйте сигналы х и у, изображенные на рис. 5.61, подайте их на входы SET и CLEAR защелки на элементах ИЛИ-НЕ, а также определите формы сигналов на выходах Q и Q защелки. Пусть в начальный момент времени Q = 0. 5.3. Подайте сигналы (рис. 5.61) на схему, приведенную на рис. 5.62. Пусть в начальный момент времени Q = 0. Определите форму сигнала на выходе Q. Рис. 5.62. Упражнение 5.3 (D) 5.4. Модифицируйте схему с рис. 5.9 таким образом, чтобы использовать в ней защелку на элементах ИЛИ-НЕ. (D) 5.5. Модифицируйте схему с рис. 5.12 таким образом, чтобы использовать в ней защелку на элементах И-НЕ. (Т) 5.6. Внимательно изучите схему, показанную на рис. 5.13. Техник протестиро- вал функционирование выходов схемы при переключении ключа из поло- жения А в положение В, используя запоминающий осциллограф. В момент перевода ключа из положения А в положение В осциллограф показал сигнал Хв, приведенный на рис. 5.63. Какая неисправность в схеме могла вызвать подобный результат? (Подсказка: вспомните назначение защелки на эле- ментах И-НЕ.) 1 мс Рис. 5.63. Упражнение 5.6 294 Глава 5
Разделы 5.4 и 5.5 (В) 5.7. Некий синхронный триггер имеет минимальные времена установки и удер- жания, равные, соответственно, ts = 20 нс и tH = 5 нс. Как долго сигналы на входах управления должны оставаться стабильными до прихода на триггер активного фронта тактового сигнала? (В) 5.8. Подайте на входы S, С и CLK триггера с рис. 5.18 соответствующие сигна- лы, изображенные на рис. 5.17, и определите форму сигнала на выходе Q. (В) 5.9. Подайте на триггер с рис. 5.17 сигналы, которые показаны на рис. 5.64, и определите форму сигнала на выходе Q. Повторите процедуру для триггера на рис. 5.18. Пусть в начальный момент времени Q = 0. CLK Рис. 5.64. Упражнение 5.9 Раздел 5.6 (В) 5.10. Подайте сигналы J, К и CLK (рис. 5.21) на триггер, показанный на рис. 5.22. Пусть в начальный момент времени Q = 1. Определите форму сигнала на выходе Q. 5.11. а) Покажите, как J-K-триггер может функционировать в режиме переклю- чения (изменяет свои состояния с каждым импульсом тактового сигна- ла). Затем подайте на вход CLK тактовый сигнал с частотой 10 кГц и определите форму сигнала на выходе Q. б) Подключите выход указанного триггера Q ко входу CLK второго J-K- триггера, который тоже имеет на входах управления J = К — 1. Опреде- лите частоту сигнала на выходе второго триггера. (В) 5.12. Подайте сигналы, приведенные на рис. 5.65, на два различных триггера: а) J-K-триггер, управляемый положительным фронтом тактового импульса; б) J-K-триггер, управляемый отрицательным фронтом тактового импульса. Нарисуйте форму сигнала на выходе Q для каждого из триггеров, предпола- гая, что в начальный момент времени Q = 0. Пусть время удержания каж- дого триггера tH — 0. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 295
Раздел 5.7 (N) 5.13. D-триггер иногда используют для задержки двоичного сигнала. В этом слу- чае двоичная информация появляется на выходе триггера лишь спустя не- которое время после того, как она поступила на вход D. 1 Входные данные 1 Тактовые импульсы о ‘Принять tB(min) = 0 Выходные данные Рис. 5.66. Упражнение 5.13 а) Определите форму сигнала на выходе Q по сигналам на входах триггера (рис. 5.66). Сравните форму выходного сигнала с формами входных им- пульсов. Обратите внимание на то, что на выходе схемы сигнал появля- ется с задержкой относительно входа на один период тактового сигнала. б) Как можно получить задержку, равную двум периодам тактового сигнала? (В) 5.14. а) Подайте сигналы S и CLK, формы которых изображены на рис. 5.64, на входы D и CLK D-триггера, управляемого положительным фронтом. Оп- ределите форму сигнала на выходе Q. б) Повторите предыдущее задание, подавая на вход D сигнал С с рис. 5.64. 5.15. Управляемый фронтом D-триггер может функционировать в режиме пере- ключения, если его подключить так, как это показано на рис. 5.67. Пусть в начальный момент времени Q = 0. Определите форму сигнала на выходе Q. 1 кГц [""I Г" Рис. 5.67. D-триггер, работающий в режиме пе- реключения (упражнения 5.15 и 5.16) 296 Глава 5
5.16. Измените схему, показанную на рис. 5.67 таким образом, чтобы сигнал по- падал с выхода триггера Q на вход D. Затем определите форму сигнала на выходе Q. Раздел 5.8 (В) 5.17. а) Подайте сигналы S и CLK, формы которых изображены на рис. 5.64, на входы D и EN D-защелки. Определите форму сигнала на выходе Q. б) Повторите предыдущее задание, подавая на вход D сигнал С с рис. 5.64. 5.18. Сравните работу D-защелки и управляемого отрицательным фронтом D- триггера после подачи на них сигналов, изображенных на рис. 5.68. Опре- делите формы сигналов на выходах Q обоих устройств. CLK/EN О Q О Рис. 5.68. Упражнение 5.18 5.19. В упражнении 5.15 было показано, как управляемый фронтом сигнала D- триггер может функционировать в режиме переключения. Объясните, поче- му в таком же рэжиме не может быть использована D-защелка. Раздел 5.9 (В) 5.20. Определите форму сигнала на выходе Q триггера, показанного на рис. 5.69. Пусть в начальный момент времени Q = 0. Помните, что сигналы с асин- хронных входов подавляют все другие входы триггера. Рис. 5.69. Упражнение 5.20 Триггеры и родственные им устройства 297
(В) ____ _____ ______ 5.21. Подайте сигналы CLK, PRE и CLR, показанные на рис. 5.30, на управ- ляемый положительным фронтом D-триггер, который имеет соответствую- щие асинхронные входы, возбуждаемые низким уровнем сигнала. Пусть в начальный момент времени Q = 0, a D = 1. Определите форму сигнала на выходе Q триггера. (В) 5.22. Подайте сигналы, показанные на рис. 5.69, на управляемый отрицательным фронтом D-триггер, асинхронные входы которого возбуждаются низким уровнем сигнала. Пусть в начальный момент времени на D присутствует низкий, уровень, а на Q — высокий. Определите форму сигнала на выходе Q триггера. Раздел 5.11 5.23. Пользуясь табл. 5.2 из раздела 5.11, дайте ответы на следующие вопросы. а) Сколько времени займет у триггера серии 74С74 переключение из 0 в 1 при поступлении активного фронта импульса на вход CLK"! б) Для какого триггера из табл. 5.2 требуется, чтобы его входы управления оставались стабильными самое длительное время после поступления на вход CLK активного фронта тактового импульса и перед поступлением активного фронта? в) Какой самый узкий импульс можно подать на вход PRE триггера серии 7474? 5.24. Изучите схему на рис. 5.70, где показана ИС серии 74НС112, имеющая на борту два J-K-триггера, соединенных особым образом. Пусть в начальный момент времени Qi = Q2 = 1- Используя табл. 5.2, определите общую за- держку распространения между отрицательным фронтом тактового импуль- са и отрицательным фронтом импульса сигнала на выходе Q2- Рис. 5.70. Принципиальная схема устройства из упражнения 5.24 298 Глава 5
Разделы 5.15 и 5.16 (D) 5.25. Измените схему, приведенную на рис. 5.38, таким образом, чтобы в качест- ве рабочего элемента она использовала J-K-триггер. (D) 5.26. В схеме на рис. 5.71 входы А, В и С в начальный момент времени находи- лись в состоянии с низкими уровнями. Выход Y должен перейти в состоя- ние с высоким уровнем, когда входы А, В и С переходят в состояние с высо- ким уровнем в определенной последовательности. а) Определите, какая последовательность переведет выход Y в состояние с высоким уровнем. б) Объясните назначение импульса запуска (START). в) Измените схему таким образом, чтобы в качестве рабочего элемента она использовала D-триггер. Разделы 5.17 и 5.18 (D) 5.27. а) Нарисуйте принципиальную схему устройства, состоящего из J-K- триггеров и осуществляющего синхронную параллельную передачу дан- ных из одного трехбитового регистра в другой. б) Повторите предыдущее задание, но уже для асинхронной параллельной передачи. 5.28. Кольцевым сдвиговым регистром называется такой регистр, в котором при подаче тактовых импульсов двоичная информация циркулирует в регистре по кольцу. Сдвиговый регистр, изображенный на рис. 5.43, может быть пе- ределан в кольцевой регистр, если присоединить выход Ха ко входу DATA IN. При этом все внешние входы окажутся ненужными. Предположим, что в начальный момент времени кольцевой регистр хранил число 1011 (т.е. Х3 -» 1, Х2 = 0, Xi = 1 и Хо = 1). Напишите последовательность состоя- ний, которые будут появляться на выходах триггеров регистра при прохож- дении через схему восьми импульсов сдвига. (В) 5.29. Изучите рис. 5.44, где трехбитовое число последовательно сдвигается из реги- стра X в регистр У. Как можно видоизменить схему таким образом, чтобы по- сле окончания операции сдвига исходное число, которое хранилось в регистре X, было записано в обоих регистрах? (Подсказка: см. упражнение 5.28.) Триггеры и родственные им устройства 299
Раздел 5.19 (В) 5.30. Изучите схему счетчика, изображенную на рис. 5.45, и дайте ответы на сле- дующие вопросы: а) Если начальное состояние счетчика было ООО, каким будет его состояние после прохождения через схему 13 тактовых импульсов? После 99 им- пульсов? После 256 импульсов? б) Если начальное состояние счетчика было 100, каким будет его состояние после прохождения через схему 13 тактовых импульсов? После 99 им- пульсов? После 256 импульсов? в) Присоедините к данной схеме четвертый J-K-триггер (Х3) и нарисуйте диаграмму переходов состояний для полученного четырехбитового счет- чика. Нарисуйте также форму сигнала на выходе триггера Х3 для часто- ты тактового сигнала, равной 80 МГц. 5.31. Изучите двоичный счетчик, изображенный на рис. 5.45. Измените его уст- ройство, подключив выход Хо ко входу CLK триггера Xi и выход X, ко входу CLK триггера Х2. Пусть счет начинается с единичных состояний на всех триггерах данного счетчика. Нарисуйте формы сигналов с выходов ка- ждого триггера (Х2, Хь Хо) в течение интервала времени, за который на схему поступят 16 импульсов тактового сигнала. Затем напишите список последовательности состояний триггеров, как это было сделано на рис. 5.46. Такой счетчик называется вычитающим. Почему? 5.32. Нарисуйте диаграмму переходов для указанного выше вычитающего счет- чика и сравните ее с диаграммой, приведенной на рис. 5.47. Чем они отли- чаются? (В) 5.33. а) Сколько триггеров потребуется, чтобы построить двоичный счетчик, ко- торый может считать от 0 до 1023? б) Определите частоту сигнала на выходе последнего триггера такого счет- чика, если известно, что тактовый сигнал имеет частоту 2 МГц. в) Каким будет коэффициент пересчета для данного счетчика? г) Если сначала счетчик находился в нулевом состоянии, в каком состоя- нии он будет находиться после прохождения 2060 тактовых импульсов? 5.34. На двоичный счетчик подается тактовый сигнал с частотой 256 кГц. Часто- та на выходе последнего триггера счетчика равняется 2 кГц. а) Определите коэффициент пересчета для данного счетчика. б) Определите счетный диапазон счетчика. 5.35. Схема фотоприемника используется для формирования импульса каждый раз, когда покупатель заходит в некое учреждение. Импульсы подаются на восьмибитовый счетчик. Счетчик подсчитывает их и тем самым определяет, сколько посетителей прошло внутрь. После закрытия учреждения его вла- делец проверил показания счетчика и обнаружил, что счетчик показывает число 000010012 = 910. Владелец сразу догадался, что это неправильная цифра, потому что за день его заведение посетило намного больше людей. Какая причина могла привести к такому несоответствию, если предполо- жить, что счетчик работает правильно? 300 Глава 5
Раздел 5.20 (В) 5.36. Видоизмените схему, изображенную на рис. 5.48, таким образом, чтобы пе- редача данных в регистр X разрешалась только при наличии кода адреса 10110110. (Т) 5.37. Предположим, что схема на рис. 5.48 функционирует неправильно — дан- ные передаются в регистр X при наличии любого из следующих кодов адре- са: 11111110 или 11111111. Какие неполадки в схеме могли привести к та- кому результату? (О) 5.38. Измените схему, показанную на рис. 5.48, таким образом, чтобы на выходе микропроцессора имелось восемь линий строк данных, подключенных для передачи восьми бит данных к восьмибитовому регистру, который состоит из двух ИС серии 74НС175. Покажите все связи внутри схемы. Раздел 5.22 (В) 5.39. Внимательно изучите схему, изображенную на рис. 5.51, а. Измените дли- тельность импульса ОВ до 0,5 мс и определите состояние выходов Q для обоих типов одновибраторов. Затем повторите задание, добившись длитель- ности импульса ОВ 1,5 мс. (N) 5.40. На рис. 5.72 представлены три одновибратора без повторного запуска, со- единенных в цепь, которая формирует три последовательных импульса на своем выходе. Заметьте, что “1” перед значком импульса в середине каждо- го прямоугольника демонстрирует, что данные одновибраторы работают без повторного запуска. Нарисуйте временную диаграмму, показывающую соот- ношение между входным импульсом и тремя импульсами на выходах ОВ. Длительность входного импульса возьмите равной 10 мс. Рис. 5.72. Упражнение 5.40 5.41. Одновибратор с повторным запуском может использоваться в качестве час- тотно-импульсного детектора, который определяет момент, когда значение частоты входного импульса опускается ниже установленного значения. Про- стой пример такого применения ОВ показан на рис. 5.73. Функционирова- ние схемы начинается в момент замыкания ключа SW1. а) Опишите, как будет работать схема при поступлении на вход сигналов с частотами выше 1 кГц. б) Опишите работу схемы при поступлении на вход сигналов с частотами ниже 1 кГц. в) Как можно видоизменить схему, чтобы она могла детектировать паде- ния входной частоты ниже уровня 50 кГц? ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 301
+5 В Рис. 5.73. Упражнение 5.41 5.42. Изучите логический символ одновибратора без повторного запуска серии 74121, приведенный на рис. 5.52, а. а) Какие входные условия необходимы, чтобы возбудить этот ОВ сигналом на входе В? б) Укажите входные условия, необходимые, для возбуждения этого ОВ сигналом на входе Ар (В, С) 5.43. Ширину импульса на выходе одновибратора серии 74121 можно вычислить по формуле fp = 0,7 где jRt — сопротивление, подключенное между выводами ЯЕХт/СЕХТ и Vcc. а Ст — емкость между выводами СЕХт и Яехт/Сехт» Значение можно изме- нять между величинами 2 кОм и 40 кОм, а СЕХТ может достигать 1000 рФ. а) Покажите, как можно подключить ИС 74121 для формирования спа- дающего импульса с длительностью 5 мс в случае, если хотя бы один из двух логических сигналов (Е или F) спадает до нулевого состояния. В обычном состоянии сигналы Е и F имеют высокий, уровень. б) Видоизмените схему таким образом, чтобы сигнал G на входе управле- ния мог запретить появление импульса на выходе ОВ независимо от со- стояний сигналов Е и F. Раздел 5.23 (С) 5.44. Изучите схему на рис. 5.74. В начальный момент времени все триггеры на- ходились в нулевом состоянии. Схема начинает функционировать в момент подачи импульса запуска па входы PRESET (входы предварительной уста- новки) триггеров X и У. Определите формы сигналов в точках А, В, С, X, У, Z и W схемы за время поступления 20 периодов тактового сигнала после импульса запуска. Все начальные условия и допущения сформулируйте са- мостоятельно. 302 Глава 5
Рис. 5.74. Упражнение 5.44 Раздел 5.24 (В, D) 5.45. Покажите, как можно использовать инвертор на основе триггера Шмитта серии 74LS14, чтобы сформировать импульс, по форме близкий к сигналу типа меандр с частотой 10 кГц. (В, D) 5.46. Спроектируйте свободно идущий генератор на основе таймера 555, который бы формировал импульс, близкий по форме к сигналу типа меандр с часто- той 40 кГц. Емкость С необходимо увеличить до 500 пФ или более. (D) 5.47. Генератор на основе таймера 555 может быть объединен с J-К-триггером для формирования совершенного по форме (с 50%-ным рабочим циклом) меанд- ра. Измените схему из упражнения 5.4G, добавив к ней J-K-тршгер. Поста- райтесь, чтобы сигнал на ее выходе оставался меандром с частотой 40 кГц. (С, N) 5.48. Схема, изображенная на рис. 5.75, может использоваться для генерации двух непересекающихся тактовых сигналов с одной и той же частотой. Та- кие сигналы находят применение в некоторых микропроцессорных систе- мах, требующих для синхронизации наличия четырех различных фронтов тактового импульса. а) Нарисуйте временные диаграммы сигналов СР1 и СР2, если сигнал CLOCK представляет собой меандр с частотой 1 МГц. Пусть и tBii равны 20 нс для триггера и 10 нс для элементов И. б) Эта схема не сможет функционировать правильно, если данный триггер изменить на другой, управляемый положительным фронтом импульсов сигнала на входе CLK. Нарисуйте временные диаграммы сигналов СР1 и СР2 для такой ситуации. И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 303
Рис. 5.75. Упражнение 5.48 Раздел 5.25 (Т) 5.49. Изучите схему счетчика на рис. 5.45. Предположим, что все асинхронные входы были подключены к источнику VCc- При тестировании схемы формы полученных сигналов были зарисованы на временной диаграмме (рис. 5.76). Просмотрите список возможных ошибок и поставьте “да” или “нет” напро- тив каждого пункта в зависимости от того, мог ли данный пункт привести к полученным результатам. Поясните свои ответы. а) На входе CLR триггера Х2 произошло размыкание. б) Длительности фронтов на выходе триггера Х1 превышают допустимые; возможно, это вызвано неправильной нагрузкой. CLOCK I Хо г- X, 1 1 । । । । * । । । । । I । । । । । I । 1 1 х2 ; । । । , । । Рис. 5.76. Упражнение 5.49 304 Глава 5
в) Выход триггера Х2 замкнут на общий провод. г) Не выполняется требование по величине времени удержания триггера Х2. (Т) 5.50. Изучите схему, показанную на рис. 5.44. Все триггеры выполнены на базе интегральных схем на ТТЛ. Известны начальные условия: X2XiX0 = 100 и УгУхУо = 011. После подачи четырех импульсов сдвига состояния измени- лись на X2XiXo = 001 и У2У1Уо = Ш- Последующие импульсы сдвига не изменили состояния триггеров схемы. Каковы возможные причины непра- вильной работы устройства? (С, Т) 5.51. Рассмотрите ситуацию (рис. 5.58) при указанных ниже значениях числовых параметров. Укажите в каждом случае — сможет ли триггер Q2 правильно реагировать на поданные сигналы. а) Каждый триггер: tHB = 12 нс; £Вн = 8 нс; ts = 5 нс; tH = 0 нс. Элемент И-НЕ: tHB = 8 нс; £вн = 6 нс. Инвертор: /Нв — 7 нс; /вн = 5 нс. б) Каждый триггер: ГНв = Ю нс; tBH - 8 нс; ts = 5 нс; tH = 0 нс. Элемент И-НЕ: #Нв = 12 нс; tBH = 10 нс. Инвертор: fHB = 8 нс; tBll = 6 нс. (D) 5.52. Покажите и объясните, как можно устранить проблему фазового сдвига тактовых импульсов для схемы (рис. 5.58) с помощью добавления к ней двух инверторов. (Т) 5.53. Изучите схему, показанную на рис. 5.53. Опишите, как изменится функ- ционирование схемы при появлении каждой из следующих неисправностей. а) Внутреннее замыкание на общий провод верхнего входа элемента И-НЕ. б) Разомкнутый контакт на входе J триггера Z. в) Разомкнутый контакт на нижнем входе элемента И-НЕ (Т) 5.54. Изучите схему на рис. 5.77. Пусть все ИС относятся к семейству ТТЛ. Фор- ма сигнала Q была получена при тестировании схемы с помощью входных сигналов, приведенных на рисунке; переключатель находился в верхнем по- ложении. Такая форма сигнала на выходе неправильная. Изучите прила- гающийся ниже список возможных неполадок и проставьте “да” или “нет” напротив каждой из них в зависимости от того, может ли конкретная непо- ладка действительно быть причиной неправильного функционирования схе- мы. Поясните каждый свой ответ. а) На точке X постоянно низкий уровень, что вызвано неисправным пере- ключателем. б) Вывод 1 устройства Z1 имеет внутреннее замыкание на источник Vcc. в) Нарушен контакт между выводами Zl-З и Z2-3. г) Между выводами 6 и 7 устройства Z1 находится закорачивающая их капля припоя. Триггеры и родственные им устройства 305
. ZU 74LSCG Z2. 74LSI14A a) Puc. 5.77. Упражнение 5.54 (C) , 5.55. Схема, показанная на рис. 5.78, функционирует в качестве замка с последо- вательной цифровой комбинацией. Чтобы замок открылся, необходимо про- делать следующий алгоритм: 1. Импульсом возбудить переключатель сброса (RESET). 2. Выставить переключатели SWA, SWB и SWC в положения, соответст- вующие первой части кодовой комбинации. Затем на мгновение перевес- ти переключатель ввода (ENTER) туда и обратно. 3. Выставить переключатели в положения, соответствующие второй части кодовой комбинации, затем вновь перевести переключатель ввода (ENTER). Такие действия приводят к появлению на выходе Q высокого уровня, который открывает замок. Если при выполнении хотя бы одного шага будет введена неправильная кодовая комбинация, оператор вынужден начать ввод последовательно- сти состояний заново. Проанализируйте схему устройства и определите правильную кодовую последовательность, которая откроет замок. 306 Глава 5
Рис. 5.78. Упражнения 5.55 и 5.56 (С, Т) 5.56. На испытании кодового замка, изображенного на рис. 5.78, было обнаруже- но, что при вводе правильной комбинации замок не открывается. Проверка логическим пробником показала, что при вводе первой части кодовой ком- бинации на выходе Qj действительно появляется высокий уровень сигнала, но при вводе второй части на выходе Q2 отмечается только короткий им- пульс. Изучите предложенный список неполадок и укажите, какая (или ка- кие, если их несколько) неисправность могла привести к подобному функ- ционированию устройства. Поясните каждый свой выбор. а) Возникновение дребезга контактов SWA, SWB или SWC. б) Размыкание контакта на входе CLR триггера Q2. в) Размыкание контакта между выходом элемента И-НЕ № 4 и входом элемента И-НЕ № 3. Практические задания (В) 5.57. Укажите, какой тип триггера используется в каждом из следующих утвер- ждений. а) Содержит входы установки (SET) и сброса (CLEAR), но не имеет входа CLK. Триггеры и родственные им устройства 307
б) Переключается при поступлении каждого тактового импульса, если на обоих входах управления наблюдается высокий уровень напряжения. в) Вместо тактового входа CLK имеет вход разрешения (ENABLE). г) Используется для простой передачи данных от одного триггерного реги- стра к другому. д) Имеет только один управляющий вход. е) Имеет пару выходов, инверсных друг к другу. ж) Может изменять свое состояние только в момент поступления на вход CLK активного фронта сигнала. з) Используется в двоичных счетчиках. (В) 5.58. Поясните следующие термины: а) асинхронные входы; б) управление фронтом; в) сдвиговый регистр; г) деление частоты; д) асинхронная (принудительная) передача; е) диаграмма переходов состояний; ж) параллельная передача данных; з) последовательная передача данных; и) одновибратор с повторным запуском; к) входы типа триггера Шмитта. Раздел 5.26 (В) 5.59. Посмотрите на защелку на элементах ИЛИ-НЕ, изображенную на рис. 5.10, а, и напишите уравнения на CUPL для сигналов на каждом выхо- де защелки. (С) 5.60. Напишите исходный файл на CUPL для S-C-защелки, которая управляется низким уровнем напряжения, для S-C-защелки, которая управляется высо ким уровнем, и для В-защелки, управляемой уровнями напряжения. Ис- пользуется ПЛУ GAL16V8. (С) 5.61. Измените исходный файл на CUPL, приведенный на рис. 5.60, таким обра- зом, чтобы он описывал двоичный реверсивный счетчик (считает в обратном порядке — от больших значений к меньшим). (С) 5.62. Измените исходный файл на CUPL, приведенный на рис. 5.60, таким обра- зом, чтобы он описывал четырехбитовый счетчик с числом АГпер = 10, кото- рый считает от 0000 (нуля) до 1001 (девяти), а затем вновь возвращается в состояние 0000. Все шесть запрещенных состояний (если таковые имеются) должны переводить счетчик в состояние 0000 на следующий импульс такто- вого сигнала. 308 Глава 5
Ответы к контрольным вопросам Раздел 5.1 1. высокий’, низкий. 2. Q = 0, Q = 1. 3. Да. 4. Подать короткий импульс с низким уровнем на вход SET. Раздел 5.2 1. Низкий’, высоким. 2. Q = 1, Q = 0. 3. Перевести вход сброса (CLEAR) в единичное состояние. 4. Входы SET и CLEAR в нормальном состоянии будут находиться в состояниях с низкими уровнями, возбуждающими защелку на элементах И-НЕ. Раздел 5.4 1. Синхронные управляющие входы и тактовый вход. 2. Выход триггера может изменять состояния только при поступлении на тактовый вход фронта импульса. 3. Нет. 4. Временем установки называется интервал, предшествующий активному фронту импульса CLK, во время которого входы управления должны оставаться ста- бильными. Временем удержания называется интервал, следующий непосредст- венно за активным фронтом импульса CLK, во время которого входы управления должны оставаться стабильными. Раздел 5.5 1. Высокий’, низкий’, высокий. 2. Потому что вход CLK* находится в состоянии с высоким уровнем только в тече- ние нескольких наносекунд. Раздел 5.6 1. Да. 2. Нет. 3. J = 1,^=0. Раздел 5.7 1. В точке а сигнал на выходе Q примет состояние с низким уровнем, в котором и останется далее. 2. Нет. Вход D может изменять свое состояние, не влияя на выход Q, потому что Q изменяет свое текущее состояние только при поступлении активного фронта им- пульса на вход CLK. 3. Да, преобразовав его в D-триггер (см. рис. 5.25). ГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 309
Раздел 5.8 1. Выход D защелки может изменять состояние, если на входе EN имеется высокий уровень. Выход D-триггера может менять состояние, только если на триггер по- ступает активный фронт импульса CLK. 2. Нет. 3. Да. Раздел 5.9 1. Асинхронные входы работают независимо от состояния сигнала на входе CLK. 2. Да, так как вход PRE управляется низким уровнем сигнала. t 3. J = К = 1, PRE = CLR = 1, положительный фронт импульса на входе CLK. Раздел 5.10 1. Треугольник внутри символа устройства показывает, что оно переключается фронтом импульса; прямоугольный треугольник снаружи символа устройства показывает, что оно переключается при поступлении отрицательного фронта им- пульса. 2. Он используется при работе с входами, общими для нескольких схем на печатной плате. Раздел 5.11 1* ^НВ и ^вн« 2. Нет; необходимо еще удовлетворить требования к величинам и Раздел 5.17 1. Нет. 2. D-триггер. 3. Шесть. 4. Да. Раздел 5.18 1. Да. 2. Меньшее количество связей между регистрами. 3. Х2ХхХ0 = 111; Y2YiY0 = 101. 4. Параллельной. Раздел 5.19 1. 10 кГц. 2. Восемь. 3. 256. 4. 2 кГц. 5. 000010002 = 810. Раздел 5.21 1. На выходе могут возникнуть колебания. 2. Он сформирует чистый выходной сигнал с быстрыми перепадами уровней, даже если на вход был подан медленно изменяющийся сигнал. 310 Глава 5
Раздел 5.22 1. Q = О, Q = 1. 2- Да. 3. Значения внешних компонентов R и С. 4. ОВ с повторным запуском начинает новый интервал tp с приходом каждого им- пульса запуска, независимо от состояния на выходе Q. Раздел 5.24 1. 24 кГц. 2. 109,3 кГц; 66,7%. 3. Стабильность частоты Раздел 5.25 1. Фазовым сдвигом тактовых импульсов называется ситуация, когда тактовый сигнал прибывает на входы CLK разных триггеров в разные моменты времени. Это может перевести триггер в неправильное состояние. Раздел 5.26 1. Q = !(SET & QBAR); QBAR = ’(CLEAR & Q); ДА, оно просто будет другим пред- ставлением той же схемы. 2. Обратная связь: выходы подключаются ко входам устройства, что определяет следующее состояние тех же самых выходов. 3. При подаче тактового сигнала они проходят через определенную последователь- ность состояний. 4. Режим ввода переходов состояний. 5. Sequence (последовательность). 6. Field (поле). 7. $deiine. ИГГЕРЫ И РОДСТВЕННЫЕ ИМ УСТРОЙСТВА 311

Глава 6 Цифровая математика схемы и операции Содержание: 6.1. Двоичное сложение 6.2. Представление чисел со знаком 6.3. Сложение в системе дополнительных кодов 6.4. Вычитание в системе дополнительных кодов 6.5. Умножение двоичных чисел 6.6. Двоичное деление 6.7. Сложение двоично-десятичных чисел 6.8. Арифметика шестнадцатеричных чисел 6.9. Арифметические схемы 6.10. Параллельный двоичный сумматор 6.11. Принцип работы полного сумматора 6.12. Параллельный полный сумматор с регистрами 6.13. Распространение сигнала переноса 6.14. Параллельный сумматор на базе ИС 6.15. Система дополнительных кодов 6.16. Двоично-десятичный сумматор 6.17. Интегральные схемы АЛУ 6.18. Обозначения стандарта IEEE/ANSI 6.19. Пример поиска неисправностей 6.20. Полный сумматор на основе ПЛУ
В этой главе: операции двоичного сложения, вычитания и деления над двумя двоичны- ми числами; сложение и вычитание шестнадцатеричных чисел; различие между двоичным и логическим сложением (операцией ИЛИ); преимущества и недостатки трех различных систем представления двоич- ных чисел со знаком; операции над двоичными числами со знаком при помощи дополнительно- ‘ го кода; , строение и работа схемы двоично-десятичного сумматора и процесс дво- ично-десятичного сложения; основные операции арифметико-логического устройства; использование полных сумматоров при проектировании параллельных двоичных сумматоров; преимущества параллельных сумматоров с ускоренным переносом; функционирование схем параллельных сумматоров/вычитателей; использование АЛУ на основе интегральных схем для выполнения раз- личных логических и арифметических операций над входными данными; обозначение параллельного сумматора согласно стандарту IEEE/ANSI; анализ неисправностей в схемах сумматоров/вычитателей; программирование ПЛУ для работы в качестве четырехбитового полного сумматора. Введение Цифровые компьютеры и калькуляторы могут осуществлять различные арифме- тические операции над числами, представленными в двоичной форме. Если бы при- шлось рассмотреть все разнообразие методов вычислений и теорию, лежащую в их основе, цифровая математика показалась бы крайне сложной. К счастью, такой уро- вень знаний не является необходимым для большинства технических специалистов, по крайней мере до тех пор, пока они не станут опытными программистами. В этой главе внимание будет сосредоточено на базовых принципах, которые необходимы для понимания того, как цифровые машины (т.е. компьютеры) осуществляют основные арифметические операции. Прежде всего, рассмотрим операции над двоичными числами “на бумаге”, а уже потом — реальные цифровые схемы, осуществляющие те же операции в цифровых системах. 6.1. Двоичное сложение Сложение двух двоичных чисел осуществляется точно так же, как и в случае де- сятичных чисел. Более того, двоичное сложение даже проще, так как есть лишь не- сколько правил, которые необходимо будет запомнить. Рассмотрим десятичное сло- жение: 314 Глава 6
376 МЗБ + 461 8 3 7 Сначала складываются младшие значащие разряды, которые в данном примере дают в сумме 7. После этого прибавляются разряды во второй позиции справа. Их сумма равна 13, поэтому делается перенос 1 из разряда десятков в старший разряд. Складывая ее с цифрами, которые там уже имеются, получаем 8. Аналогичные операции нужно выполнить и в случае двоичного сложения. Однако теперь дело приходится иметь только с четырьмя возможными вариантами сложе- ния, так как в любой позиции можно складывать лишь два двоичных числа (бита): 0 + 0 = 0 1 + 0 = 1 1 + 1 = 10 = 0 + перенос 1 в следующий разряд 1 + 1 + 1 = 11 = 1 + перенос 1 в следующий разряд Последний случай иллюстрирует ситуацию, когда складываются единицы, стоя- щие в одном разряде, а к ним после переноса из младшего разряда добавляется еще одна единица. Теперь рассмотрим несколько примеров сложения пары двоичных чи- сел (в скобках рядом приведены их десятичные эквиваленты): 011 (3) 1001 (9) 11.011 (3.375) + 110 (6) + 1111 (15) + 10.110 (2.750) 1001 (9) 11000 (24) 110.001 (6.125) Рассматривать сложение более чем двух двоичных чисел нет никакой необходи- мости, так как все цифровые системы могут складывать лишь по два числа за такт. Если же надо сложить более двух чисел, то сначала складываются два первых из них, а затем к сумме прибавляется третье и т.д. Поскольку современные цифровые компьютеры могут осуществлять операцию сложения за время порядка наносекунды, •о такой подход вполне оправдывает себя. Сложение — наиболее важная математическая операция в цифровых системах. Как будет видно далее, в большинстве современных цифровых компьютеров и каль- куляторов операции вычитания, умножения и деления имеют в своей основе то же элементарное сложение. 10110 + 00111; 011,101 + 010,010; 10001111+ 00000001. Вычислите следующие выражения: а) б) в) .2. Представление чисел со знаком В цифровых компьютерах двоичные числа выражаются набором состояний дво- зых устройств хранения (триггеров). Каждое устройство представляет один бит. пример, шестибитовый триггерный регистр может хранить двоичные числа от Ю00 до 111111 (от 0 до 63 в десятичном представлении). Эта величина называется Зулем числа. Большинство современных цифровых компьютеров и калькуляторов кутают как с положительными числами, так и с отрицательными, поэтому требу- ФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 315
ется какой-то способ представления знака числа (“+” или “-”). Обычно с этой целью к числу прибавляют еще один бит, который называется знаковым битом. В общем случае, если знаковый бит содержит 0, то число считается положительным, а если 1, то число будет отрицательным, как показано на рис. 6.1. Регистр А содержит биты 0110100. Крайний слева 0 (бит А6) — это знаковый бит, который представляет со- бой “+”. Шесть остальных битов представляют модуль двоичного числа 1101002, что эквивалентно 5210. Таким образом, число, хранящееся в регистре А, будет равно +52. Аналогично, число в регистре В будет равно -52, так как 1 в знаковом бите пред- ставляет знак А6 А5 А4 А3 А2 А! Ао 0 1 1 0 1 0 0 t '---------------------- Знаковый бит (+) Модуль - 5210 = +52,0 В6 В5 В4 В3 В2 в, Bq 1 1 1 0 1 0 0 Знаковый бит Н Модуль - 5210 Рис. 6.1. Представление чисел со знаком в форме знак- модуль Знаковый бит используется, чтобы показать принадлежность данного хранящего- ся двоичного числа к положительным или отрицательным числам. Числа на рис. 6.1 состоят из знакового бита и шести бит, представляющих модуль. Биты модуля — действительные двоичные эквиваленты десятичных значений. Такая система называ- ется системой типа знак-модуль и служит для представления двоичных чисел со знаком. Хотя эта система и относится к прямым методам представления чисел, калькуля- торы и компьютеры обычно ее не используют, так как в этом случае реализация схем, как правило, более сложна, чем для других систем. Наиболее распространен- ная система представления чисел со знаком — дополнительный код, однако сначала необходимо научиться получать обратный и дополнительный коды двоичного числа. Обратный код Обратный код двоичного числа (l’s complement) получают заменой каждого 0 на 1 и каждой 1 на 0. Иначе говоря, каждый бит числа изменяется на противоположный (обратный). Этот процесс показан далее. 101101 двоичное число 0 10 0 10 обратный код двоичного числа Таким образом, обратный код числа 101101 будет равен 010010. 316 Глава 6
Дополнительный код Дополнительный код двоичного числа (2’s complement) получают из обратного ко- да путем добавления 1 к его младшему значащему биту. Процесс преобразования для числа 1011012 = 4510 показан ниже: 10 110 1 двоичный эквивалент 45 0 10 0 10 каждый бит преобразуется для получения обратного кода + 1 прибавляется 1 0 10 0 11 дополнительный код двоичного числа Таким образом, число 010011 будет дополнительным кодом числа 101101. А вот еще один пример преобразования двоичного числа в дополнительный код: 10 110 0 двоичное число 0 10 0 11 каждый бит преобразуется для получения обратного кода +1 прибавляется 1 0 10 10 0 дополнительный код двоичного числа Представление чисел со знаком в системе дополнительных кодов Дополнительный код применяется для представления чисел со знаком следую- щим образом. Если число положительное, то его модуль представляется в естественной форме двоичного числа, а знаковый бит содержит 0, который ставится перед СЗБ. Та- кой случай показан на рис. 6.2 для числа 45ю- Знаковый бит (+) Фактическое двоичное представление = -4510 Знаковый бит (-) Дополнительный код двоичного числа Рис. 6.2. Представление чисел со знаком с помощью до- полнительного кода Если число отрицательное, то его модуль представляется при помощи дополни- тельного кода, а знаковый бит, содержащий 1, ставится перед СЗБ. Эта ситуа- ция отражена на рис. 6.2 для числа -4510. Дополнительный код используется для представления чисел со знаками, потому что этот код (о чем будет сказано далее) позволяет осуществлять операцию вычита- ния через сложение. Это очень удобно, поскольку компьютер может использовать од- ет и ту же схемотехнику как для сложения, так и для вычитания, тем самым эко- Вомя аппаратную часть. 1ФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 317
Пример 6J Представьте каждое из приведенных десятичных чисел со знаком в виде дополни- тельного кода двоичных чисел со знаком. Для этого используйте пять бит, один из которых будет выполнять функции знакового бита. а) +13; б) -9; в) +3; г) -2; Д) -8. Решение а) Первое число положительное, поэтому его модуль (13) представляется в непосред- ственном виде, т.е. 13 = 11012. Добавив знаковый бит, равный 0, получаем: + 13 = 01101 знаковый бит--1 б) Поскольку это число отоицательное, его модуль (9) представляется в виде допол- нительного кода: 910 = Ю012 ОНО обратный код + 1 прибавление 1 к МЗБ 0111 дополнительный код Когда добавится знаковый бит, содержащий 1, все число с учетом знака будет равно: -9 = 10111 знаковый бит--I Выполняемый алгоритм имеет два этапа. Во-первых, необходимо найти дополни- тельный код модуля числа, и, во-вторых, присоединить к нему знаковый бит. Эта же последовательность может быть выполнена и за один шаг — если присоеди- нять знаковый бит в процессе преобразования числа в дополнительный код. На- пример, чтобы найти дополнительный код числа -9, нужно начать с преобразова- ния числа +9, сразу добавляя знаковый бит, и только затем следует вычислять дополнительный код: +9 = 01001 10110 + 1 прибавление 1 к МЗБ -9 = 10111 Результат аналогичен полученному ранее. в) Десятичное число 3 можно представить в виде двоичного кода, используя только два бита. Однако в условии задачи сказано, что модуль числа необходимо выра- зить четырьмя битами, добавив к ним еще и знаковый бит. Таким образом, +310 = 00011 Во многих случаях число бит фиксируется в соответствии с размером регистров, которые будут хранить двоичные величины, поэтому иногда приходится к числу добавлять нули, чтобы заполнить требуемое число разрядов. 318 Глава 6
г) Начнем с записи числа +2, используя пять битов: +2 = 00010 11101 + 1 -2 = 11110 получение обратного кода прибавление 1 представление -2 через дополнительный код д) Начнем с записи числа +8: +8 = 01000 10111 получение обратного кода + 1 прибавление 1 -8 = 11000 представление - 8 через дополнительный код Отрицание Отрицанием называется логическая операция преобразования положительного числа в отрицательное или отрицательного числа в положительное. Если двоичные числа со знаком представляются в виде дополнительного кода, отрицание эквива- лентно простому преобразованию в дополнительный код. Чтобы продемонстрировать это, преобразуем число +9. В двоичной форме вместе с битом знака это число будет выглядеть как 01001. Если преобразовать его в дополнительный код, получим 10111. Ясно, что теперь это уже отрицательное число, так как знаковый бит, стоящий в первом разряде, равен 1. Действительно, число 10111 представляет собой -9, которое является отрицательным. Точно так же можно начинать и с числа -9, которое в дво- ичной форме будет выглядеть как 10111. Если преобразовать это число в дополни- тельный код, получим 01001, т.е. число +9. Порядок преобразований показан ниже. Начинаем с -> 01001 = +9 Преобразование в дополнительный код -> 10111 =-9 (операция отрицания) Снова осуществляем операцию отрицания -> 01001 = +9 Таким образом, операция отрицания двоичного числа со знаком заклю* чается в получении его дополнительного кода Операция отрицания изменяет число на такое же число, но с противоположным знаком. Отрицание было использовано в пп. гид примера 6.1, чтобы преобразовать Воложительные числа в отрицательные. Пример 6.2 Каждое из приведенных чисел является двоичным числом со знаком, которое пред- ставлено в виде дополнительного кода. Определите соответствующие представленным ’^сятичные величины: К 01100; К) 11010; L 10001. Решение И Знаковый бит равен 0, т.е. число является положительным; остальные же биты представляют модуль числа. Таким образом, получаем число 1100г = 12ю« Следо- вательно, искомым десятичным числом будет 1210. ФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 319
6) Знаковый бит в числе 11010 равен 1, поэтому ясно, что число отрицательное, но следует также определить и его модуль. Можно вычислить модуль числа с помо- щью отрицания (преобразования числа в дополнительный код) и тем самым найти его положительное значение: 11010 двоичное число 01101 обратный код + 1 прибавление 1 00110 число +6 Результатом отрицания является число 00110 = +6, поэтому можно определить исходное число -11010 и его десятичный эквивалент — число -6. в) Применяется та же процедура, что и в п. б: 11010 двоичное число 01101 обратный код + 1 прибавление 1 00110 число +6 Таким образом, число 10001 = -15. Особый случай представления чисел через дополнительный код Когда число со знаком имеет 1 в знаковом бите*и 0 во всех битах модуля, то его десятичный эквивалент будет равен -2N, где N — число битов модуля. Например, 1000 - -23 = -8 10000 = -24 = -16 10000 = -25 = -32 И т.д. Таким образом, полный диапазон значений, который можно представить при по- мощи дополнительного кода и N битов модуля, будет таким: от -2? до +(2n - 1) Всего доступно 2N+1 разных значений, включая ноль. Например, в табл. 6.1 приведен список всех чисел со знаками, которые можно] представить с помощью четырех битов, используя дополнительный код (обратите внимание на то, что N = 3, т.е. модули всех чисел состоят из трех бит). Нужно заме- тить, что последовательность начинается с -2N = -23 = -810 = Ю002 и заканчиваете числом +(2n - 1) = + 23 - 1 = +710 = ОШг путем прибавления 0001 на каждом шаге, как это происходит в счетчике. Таблица 6.1 Десятичные величины Двоичные аналоги величин со знаками, представленные через дополнительный код +7 = 23- 1 0111 +6 0110 +5 0101 320 ГЛАВА
Окончание табл. 6.1 Десятичные величины Двоичные аналоги величин со знаками, представленные через дополнительный код +4 0100 +3 0011 +2 0010 +1 0001 0 0000 -1 1111 -2 1110 -3 1101 -4 1100 -5 1011 -6 1010 -7 1001 -8 = -23 1000 Пример 6. 3 Какой диапазон десятичных величин без знака можно представить одним байтом? Решение Вспомним, что байт состоит из восьми бит. Поскольку надо представить числа без знака, то нет никакой необходимости и в знаковом бите, поэтому все восемь бит бу- дут использоваться для представления модуля числа. Следовательно, возможные значения будут иметь диапазон от ОООООООО2 ~ 01О до 111111112 = 255;0 Всего это составит 256 разных значений. Такой результат можно было предсказать ранее, так как 28 = 256. Пример 6.4 Какой диапазон десятичных величин со знаками можно представить одним байтом? Решение В этом случае СЗБ будет использоваться в качестве знакового бита, поэтому остается семь бит, которые представляют модуль числа. Наибольшим отрицательным значе- нием будет ЮОООООО2 = -27 = -128/0 Наибольшее положительное значение будет 011111112 = +27 - 1 = +127/0 Таким образом, доступен диапазон от -128 до +127; в сумме это дает те же 256 раз- ных чисел, включая ноль. Этот результат можно было предвидеть заранее, так как семь бит модуля (N = 7) означают, что диапазон составит 2N+1 = 28 = 256 различных значений. Цифровая математика: схемы и операции 321
Пример 6.5 Компьютер хранит в памяти два следующих числа со знаками, для чего используется дополнительный код: 000111112 = +31/0 11110100;? = -12/0 При выполнении программы компьютер должен преобразовать каждое из этих чисел в такое же по модулю, но с противоположным знаком, т.е. заменить +31 на -31 и -12 на +12. Как можно осуществить такую операцию? Решение Нужно применить операцию отрицания, так как известно, что полное число со зна- ком (т.е. включающее и знаковый бит) меняет свой знак при преобразовании в до- полнительный код. Компьютер берет число из памяти, находит его дополнительный код и снова заносит результат в память. Контрольные вопросы 1. Представьте каждое из приведенных значений в виде дополнительного кода восьмибитового числа со знаком: а) +13; б) -7; в) -128. 2. Каждое из приведенных чисел является дополнительным кодом двоичного чис- ла со знаком. Определите их десятичный эквивалент. а) 100011; б) 1000000; в) 01111110. 3. Какой диапазон десятичных величин со знаком можно представить, используя 12 бит (включая и знаковый бит)? 4. Сколько бит потребуется, чтобы представить десятичные величины от -50 до +50? 5. Какую наибольшую отрицательную десятичную величину можно представить числом, состоящим из двух байт? 6. Преобразуйте приведенные числа в дополнительный код: а) 10000; б) 10000000; в) 1000. 7. Дайте определение операции отрицания. 6.3. Сложение в системе дополнительных кодов Теперь проанализируем, как осуществляются операции сложения и вычитания цифровых машинах, которые для представления отрицательных чисел использую» дополнительный код. Важно помнить, что в большинстве случаев со знаковым бито^ обращаются так же, как и с битами модуля. 322 Глава 5
Вариант I. Два положительных числа. Сложение двух положительных чисел вы- полняется непосредственно. Рассмотрим сложение чисел +9 и +4: +9 - - ;о. 1001 (первое слагаемое) +4 - * ;о; 0100 (второе слагаемое) •-PJ 1101 (сумма = +13) Знаковые биты Обратите внимание, что оба знаковых бита как первого, так и второго слагаемого равны 0, поэтому и знаковый бит суммы равен 0, что говорит о ее принадлежности к положительным числам. Также следует заметить, что оба слагаемые должны иметь одинаковое количество бит, так как это необходимо для использования дополнитель- ного кода. Поэтому всегда нужно добавлять нули слева от значащей части числа, чтобы уравнять количество битов обоих чисел. Вариант II. Положительное число и отрицательное число, меньшее по модулю. Рассмотрим сложение двух чисел: +9 и -4. Число -4 выражается в виде дополни- тельного кода. Таким образом, сначала надо перевести +4 (00100) в -4 (11100). j- Знаковые биты +9 —> J 0 ; 1001 (первое слагаемое) -4 -> ] 1 । 1100 (второе слагаемое) Z ioj 0101 Этот перенос игнорируется; результат равен 00101 (сумма = +5) В этом случае знаковый бит второго слагаемого содержит 1. Обратите внимание, что теперь оба знаковых бита участвуют в процессе сложения. В последнем разряде модуля возникает перенос, который, однако, не учитывается. Вообще, при использо- вании дополнительного кода перенос из старшего разряда не учитывается, поэтому конечный результат равен 00101, что эквивалентно +5. Вариант III. Положительное число и отрицательное число, большее по модулю. Рассмотрим сложение чисел -9 и +4. -9 -> 10111 +4 -> 00100 11011 (сумма =-5) — Бит отрицательного знака Полученная сумма имеет знаковый бит, содержащий 1, это говорит о том, что она рицательна. Так как сумма меньше нуля, то она имеет вид дополнительного кода, только четыре младших бита (1011) представляют собой реальную величину чис- (модуль). Чтобы получить абсолютное значение числа, необходимо применить ерацию отрицания (получить дополнительный код числа) к величине 11011; ре- льтат будет равен 00101 - +5. Таким образом, число 11011 с учетом знакового £ита ?дставляет собой число -5. Вариант IV. Два отрицательных числа. -9 -> 10111 -4 -> 11100 X 10011 Знаковый бит Этот перенос игнорируется; результат равен 10011 (сумма = -13) ФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 323
Конечный результат будет отрицательным и представляется в виде дополнитсль ного кода, т.е. его знаковый бит равен 1. Отрицание этого числа (получение его до полнительного кода) даст 01101 = +13. Вариант V. Два числа, равные по модулю, но противоположные по знаку. -9 -> 10111 + 9 -> 01001 0 X 00000 t--------Игнорируется; результат равен 00000 (сумма = +0) В результате, как и ожидалось, получен +0. Контрольные вопросы В обоих вопросах используется система дополнительных кодов. 1. Проверьте истинность высказывания. Если сумма двух двоичных чисел со знаком имеет знаковый бит, содержащий 1, то модуль суммы является допол- нительным кодом. 2. Сложите следующие числа со знаками. Выразите сумму сначала в виде двоич- ного числа со знаком, а затем в виде десятичного числа. а) 100111 + 111011; б) 100111 + 011001. 6.4. Вычитание в системе дополнительных кодов Операция вычитания в системе дополнительных кодов по сути состоит из опера- ции сложения и ничем не отличается от примеров, показанных в разделе 6.3. При вычитании одного двоичного числа (вычитаемого) из другого двоичного числа (уменьшаемого) следуют такой процедуре: 1. Отрицание вычитаемого. Эта операция заменяет вычитаемое эквивалентной по модулю величиной, но с противоположным знаком. 2. Сложение полученной величины с уменьшаемым. Сумма такого сложения и бу- дет представлять собой разность между уменьшаемым и вычитаемым. Так же, как и во всех математических операциях с применением дополнительного кода, необходимо, чтобы оба числа содержали одинаковое количество бит. Рассмотрим ситуацию, когда от +9 отнимается +4: уменьшаемое (+9) —► 01001; вычитаемое (+4) —> 00100. Отрицание вычитаемого даст число 11100, эквивалентом которого в десятичной системе является -4. Теперь следует сложить его с уменьшаемым. 01001 (+9) + 11100 (-4) X 00101 (+5) Игнорируется; результат равен 00101 = +5 324 Глава
Если записать вычитаемое как дополнительный код, получаем -4, поэтому при сложении чисел -4 и +9 результат будет тем же, что и при вычитании +4 из +9. Эта ситуация абсолютно аналогична рассмотренной в разделе 6.3. Таким образом, любая операция вычитания является фактически тем же самым сложением, в котором, од- нако, используется дополнительный, а не прямой код. Это свойство дополнительного кода и сделало данный метод наиболее распространенным из всех методов представ- ления чисел при выполнении математических операций с помощью цифровой техни- ки, так как оно позволяет производить сложение и вычитание чисел, используя одну в ту же схемотехнику. Рассмотрим еще один пример, в котором требуется отнять +9 от -4: 11100 (-4) -01001 (+9) Применим к вычитаемому (+9) операцию отрицания. Это даст число 10111 (-9), которое нужно сложить с уменьшаемым (-4). 11101 (-4) + 10111 (- 9) Z 10011 (-13) Игнорируется Рекомендуем читателю самостоятельно выполнить следующие примеры, приме- нив вышеуказанную процедуру: а) +9 - (-4); б) -9 - (+4); в) -9 - (-4); г) +4 - (-4). ^Помните, что если знаковый бит полученного результата содержит 1, то разность от- рицательна и представлена через дополнительный код. Переполнение В каждом из примеров сложения и вычитания, приведенных выше, слагаемые числа состояли из знакового бита и четырех битов модуля. Результаты также состоя- ли из знакового бита и тех же четырех битов модуля. Любой перенос в шестой раз- ряд не учитывался. Во всех рассмотренных случаях модуль конечного результата можно было уместить в четыре бита. Теперь рассмотрим сложение чисел +9 и +8. + 9 —> 01 1001 + 8 -> 10! 1001 ; 1! 0001 неверный знак-f t--- неверное значение Ответ содержит знаковый бит, соответствующий отрицательному числу, который, как совершенно очевидно, неправильный, поскольку суммировались два положи- тельных числа. В результате должно быть +17, но для записи такого числа потребу- ется больше четырех битов. Таким образом, возникает переполнение, которое перено- I сит единицу в знаковый бит. Условие переполнения может реализоваться только в | случае сложения двух положительных или двух отрицательных чисел, в результате че- L го может получиться неправильный ответ. Переполнение легко обнаружить при про- [ мерке знакового бита — он должен совпадать со знаковыми битами обоих слагаемых. Поскольку операция вычитания происходит в системе дополнительных кодов и всуществляется с помощью отрицания вычитаемого и последующего сложения полу- ченной величины с уменьшаемым, переполнение может возникнуть только в том случае, если уменьшаемое и вычитаемое имеют разные знаки. Например, если вычи- щается -8 из +9, то к числу -8 нужно применить операцию отрицания, в результате чего получим +8, которое затем сложится с +9, как было показано ранее. В этом слу- |чае возникнет переполнение разряда, которое приведет к неверному результату, так Lax модуль суммы окажется слишком большим. ИФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 325
Компьютер имеет в своем составе специальную схему, предназначенную для обна- ружения переполнения при сложении или вычитании двух чисел. Такая схема пода- ет в устройство управления компьютера сигнал о том, что возникло переполнение, которое привело к ложному результату. Эта схема более подробно рассматривается в упражнениях в конце этой главы. Контрольные вопросы 1. Используя дополнительный код, найдите разницу следующих двоичных чисел со знаком: а) 01001 - 11010; б) 10010- 10011. 2. Как можно обнаружить переполнение при сложении чисел со знаком? При их вычитании? 6.5. Умножение двоичных чисел Умножение двоичных чисел осуществляется точно так же, как и в случае деся- тичных величин. Данный процесс даже проще благодаря тому, что все время пере- множаются разряды, которые могут иметь только два значения: 0 и 1, т.е. нужно уметь перемножать только эти два числа. Следующий пример иллюстрирует опера- цию умножения двух чисел без знаков. 10 0 1 <- множимое = 910 10 11 <— множитель = 1110 10 0 1' 10 0 1 0 0 0 0 10 0 1 частичное произвведение 1 1 0 0 0 1 1} полное произведение В этом примере и множимое, и множитель записаны в двоичном виде, поэтому в данном случае нет необходимости использовать знаковые биты. Все, что делалось для получения конечного результата, аналогично умножению десятичных чисел. Рас- смотрим МЗВ множителя, который в этом примере равен 1. Последовательно пере- множив эту 1 на каждый разряд множимого, получим число 1001, которое записыва- ется как частичное произведение. Затем второй бит множителя умножается на каж- дый разряд множимого. Это снова 1, поэтому опять число 1001 записывается в качестве второго частичного произведения. Однако теперь оно сдвигается на одну позицию влево относительно первого произведения. Третий бит множителя равен 0, поэтому можно записать число 0000 на месте третьего частичного произведения; опять же, нужно сдвинуть его на один разряд влево, но уже относительно второго частичного произведения. Четвертый бит множителя равен 1, поэтому последнее час- тичное произведение 1001 записывается сдвинутым еще на одну позицию влево. В конце концов все полученные промежуточные результаты суммируются и получа- ется полное произведение — искомый ответ. Большинство цифровых устройств может одновременно складывать двоичные числа только парами, поэтому частичные произведения, полученные при умножении, не могут быть сложены за один такт. Вместо этого они складываются попарно: 326 Глава 6
сначала первое со вторым, затем полученная сумма с третьим и т.д. Этот процесс по- казан на очередном примере: Суммирование Суммирование Суммирование 10 0 1 1 0 0 1 110 11 0 0 0 0 0 110 11 10 0 1 <- первое частичное произведение <- второе частичное произведение, сдвинуттое влево <— сумма первых двух частичных произведений <- третье частичное произведение, сдвинутое влево <- сумма первых трех частичных произведений <- четвертое частичное произведение, сдвинутое влево 1 1 0 0 0 1 1 ч— сумма четырех частичных произведений, соответствующая конечному произведению Умножение в системе дополнительных кодов В компьютерах, хотя они и пользуются представлением в системе дополнитель- ных кодов, умножение выполняется способом, похожим на описанный выше. Такая совместимость методов умножения обеспечивается тем, что оба множителя записы- ваются в двоичной форме. Если оба числа, которые нужно перемножить, положи- тельные, то они перемножаются непосредственно, так как записаны непосредственно в двоичном коде. Результирующее произведение, естественно, тоже будет положи- тельным, и его знаковый бит будет содержать 0. Если числа будут отрицательными, то они записываются в виде дополнительного кода. Дополнительный код, как уже известно, применяется для преобразования отрицательных чисел в положительные, после чего они перемножаются. Произведение имеет знаковый бит, содержащий 0, что полностью согласуется с ожидаемым результатом, так как должно получиться положительное число. Если же одно из чисел будет положительным, а другое отрицательным, то сначала следует преобразовать отрицательное число в положительное, найдя его дополни- тельный код. Произведение будет иметь модуль, который соответствует действитель- ному результату (по абсолютному значению), однако при этом оно должно быть от- рицательным, потому что исходные числа имели противоположные знаки. Таким об- разом, произведение необходимо представить в виде дополнительного кода и добавить к нему знаковый бит, содержащий 1. Контрольные вопросы 1. Перемножьте двоичные числа без знаков: 0111 и 1110. 6.6. Двоичное деление Процесс деления одного двоичного числа (делимого) на другое (делитель) совер- шенно аналогичен делению десятичных чисел, которое обычно называют “делением в столбик”. Более того, как и в случае с умножением, для двоичных чисел этот про- цесс проще, потому что если проверить, сколько раз делитель “войдет” в делимое, обнаружится, что приходится иметь дело только с двумя возможными числами: 0 и 1. Чтобы проиллюстрировать это утверждение, изучим несколько простых приме- ров деления. Цифровая математика: схемы и операции 327
10 0 1 11 011 0011 0 0 11 1 1 о 1010. О 100 10 0 О 0 1 О. 1 10 0 10 0 о В первом примере необходимо разделить число 10012 на 11г» что эквивалентно де лению 9 на 3 в десятичной форме. Должно получиться частное 00112 = 310. Во второл примере делится 10102 на 1002, т.е. 10 на 4 в десятичной форме. В результате долж но получиться число 0010.12 = 2,5ю. В наиболее современных цифровых системах промежуточные операции вычита ния чаще всего осуществляются с использованием дополнительных кодов, т.е. снача ла вычитаемое представляется в дополнительном коде, а потом суммируется < уменьшаемым. Деление чисел со знаком выполняется так же, как й умножение. Отрицательные числа преобразуются в положительные, и только затем осуществляется деление.-Ес- ли делимое и делитель имеют разные знаки, то у частного от деления знак меняется на отрицательный добавлением единицы в знаковый бит дополнительного кода. Если же делимое и делитель имеют один и тот же знак, то частное всегда будет положи- тельным числом, поэтому оно не изменяется, и его знаковый бит будет равен 0. 6.7. Сложение двоично-десятичных чисел В главе 2 было сказано, что большинство компьютеров и калькуляторов для пред- ставления десятичных чисел используют двоично-десятичный код. Для преобразова- ния числа в этот код следует взять каждый десятичный разряд и представить его че- тырьмя битами от 0000 до 1001. Сложение десятичных чисел, записанных в двоично- десятичном коде, легче всего понять, рассмотрев две ситуации, которые могут воз- никнуть при сложении десятичных чисел. Сумма чисел меньше или равна 9 Рассмотрим пример, в котором требуется сложить числа 5 и 4, представленные в двоично-десятичном коде: 5 0101 <— двоично-десятичное представление числа 5 + 4 +0100 +-двоично-десятичное представление числа 4 9 1001 <— двоично-десятичное представление числа 9 Сложение выполняется так же, как и при обычном сложении двоичных чисе.-^ поэтому сумма будет равна 1001, что является представлением десятичного числа 9 ж двоично-десятичном виде. В качестве другого примера рассмотрим сложение чисел 45 и 33: 45 0100 0101 <- двоично-десятичное представление числа 45 + 33 +0011 ООН +-двоично-десятичное представление числа 33 78 0111 1000 двоично-десятичное представление числа 78 В этом примере сначала складываются четырехбитовые коды чисел 5 и (младшие разряды), которые после обычного двоичного сложения дадут в результг 328 ГЛАЕ'.;.
число 1000 (8 в десятичной форме). Затем аналогично складываются разряды десят- ков, которые в результате дадут число 0111, т.е. десятичное число 7. Конечный ре- зультат будет представлять собой число 01111000, что в десятичном эквиваленте равно 78. В приведенных примерах все полученные суммы чисел или разрядов не превыша- ли 9, т.е. отсутствовали десятичные переносы в следующий разряд. В таких случа- ях сложение чисел, записанных в двоично-десятичном коде, выполняется непосред- ственно, т.е. эта операция будет абсолютно идентична операции двоичного сложения. Сумма чисел больше 9 Рассмотрим сложение чисел 6 и 7, представленных в двоично-десятичном коде: 6 ОНО +-двоично-десятичное представление числа 6 + 7 +0111 <-двоично-десятичное представление числа 7 13 1101 <— неправильная кодовая группа двоично-десятичного числа В двоично-десятичном представлении числа 1101 не существует, так как оно от- носится к шести запрещенным, или неправильным четырехбитовым кодовым груп- пам. Такой результат был вызван тем, что сумма складываемых чисел превысила де- сятичную 9. Если возникает такая ошибка, сумму необходимо исправить, прибавив к ней число 6, записанное в двоичной форме (ОНО), что позволит пропустить при счете все шесть запрещенных кодовых групп. ОНО <— двоично-десятичное представление числа 6 + 0111 <-двоично-десятичное представление числа 7 1101 <— неправильная сумма ОНО +- прибавляется число 6 для коррекции 0001 0011 <— двоично-десятичное представление числа 13 1 3 Как показано выше, к неправильной сумме прибавляется число ОНО, что позво- ляет откорректировать полученный при двоично-десятичном кодировании результат. Обратите внимание, что при добавлении числа ОНО возникает перенос в следующий десятичный разряд. Такое сложение необходимо выполнять только в том случае, ес- ли сумма складываемых чисел превышает десятичное число 9. В качестве другого примера рассмотрим сложение чисел 47 и 35, записанных в двоично-десятичном виде: 47 0100 0111 двоично-десятичное представление числа 47 + 35 + 0011 0101 *- двоично-десятичное представление числа 35 82 0111 1100 <- неправильная сумма — 1000 L 0110 <- прибавляется число 6 для коррекции 0010 <- правильное двоично-десятичное число 8 2 Сложение четырехбитовых кодовых групп чисел 7 и 5 приводит к неправильной сумме и может быть откорректировано добавлением к результату числа ОНО. Обра- тите внимание, что при этом возникает перенос 1 в разряд десятков двоично- десятичной суммы. Цифровая математика: схемы и операции 329
В очередном примере происходит сложение чисел 59 и 38: 1—1 59 0101 1001 «- двоично-десятичное представление числа 59 + 38 + 0011 1000 «- двоично-десятичное представление числа 38 97 1001 1-0001 «- сложение 0110 <- прибавляется число 6 для коррекции 1001 0111 двоично-десятичное представление числа 97 9 7 В этом примере сложение МЗБ обоих чисел привело к появлению суммы, равной 17 = 10001. Это, в свою очередь, вызывает перенос в следующий разряд, который не- обходимо добавить к сумме десятков 5 и 3. Так как 17 > 9, то требуется добавить фактор коррекции к сумме МЗБ. Сложение этой суммы и числа 6 не приводит к пе- реносу, так как он уже произошел во время сложения исходных величин, и теперь число 6 прибавляется только к 1, оставшейся после переноса. Итак, теперь можно кратко охарактеризовать процедуру двоично-десятичного сложения. 1. Кодовые группы двоично-десятичных чисел складываются, при этом использует- ся обычное двоичное сложение — последовательно, в каждом разряде. 2. В тех случаях, когда сумма соответствующих разрядов не превышает 9, коррек- ция результата не требуется. Полученная сумма записывается в двоично- десятичном виде и представляет правильный результат. 3. Если сумма разрядов превышает 9, то к ней прибавляется число ОНО, которое кор- ректирует результат и приводит его к правильному двоично-десятичному виду. В этом случае происходит перенос в следующий разряд: либо он возникает при сложении исходных чисел, либо при коррекции результата с помощью числа ОНО. Процедура сложения чисел, записанных в двоично-десятичном виде, конечно, бе- лее запутанна, чем простое сложение двоичных чисел. Это справедливо и для других операций с двоично-десятичным кодом. Предлагаем читателю самостоятельно осуще- ствить сложение чисел 275 и 641 и затем проверить результат согласно приведенному ниже решению. 275 + 641 + 0010 оно 0111 0100 0101 0001 <- двоично-десятичное +- двоично-десятичное представление представление числа 275 числа 641 916 1000 1011 оно <— сложение + оно <- коррекция второго бита 1001 0001 оно <- двоично-десятичное представление числа 91 в Вычитание двоично-десятичных чисел Процесс вычитания двоично-десятичных чисел еще более сложен, чем их сложв! ние. Он включает в себя процедуру преобразования в дополнительный код с после4 дующим сложением чисел, аналогично тому, как это было рассмотрено при изучения дополнительного кода. В данной книге такая операция не рассматривается. --7 .. т. - ------,----. --------------- Контрольные вопросы . •. .. - 1. Когда при сложении двоично-десятичных чисел требуется коррекция результата?] 2. Представьте числа 1351О и 2651О в двоично-десятичном виде и затем сложите их. Проверьте правильность результата, преобразовав его обратно в десятичнуи| форму. 330 ГЛАВА
6.8. Арифметика шестнадцатеричных чисел Шестнадцатеричная система счисления широко используется в программирова- нии на машинных языках при обращении к памяти компьютера. Во время работы в этих областях электроники может возникнуть ситуация, когда потребуется сложить или вычесть шестнадцатеричные числа. Сложение шестнадцатеричных чисел Сложение шестнадцатеричных чисел выполняется практически так же, как и де- сятичное сложение, с той лишь разницей, что наибольшая цифра шестнадцатерично- го числа не 9, a F. Для сложения пары шестнадцатеричных чисел предлагается сле- дующий алгоритм действий. 1. Сложите два шестнадцатеричных числа в уме (их десятичные значения), под- ставляя десятичные эквиваленты для чисел, больших 9. 2. Если сумма меньше или равна 15, ее можно выразить непосредственно в шестна- дцатеричном виде. 3. Если сумма превышает 15, то нужно отнять от результата число 16 и осущест- вить перенос в следующий разряд. Эту процедуру иллюстрируют несколько примеров. Пример 6.6 Сложите шестнадцатеричные числа 58 и 24. Решение 58 + 24 7С При сложении МЗБ (8 и 4, соответственно) получаем число 12, которое в шестнадца- теричном виде обозначается С. Никакого переноса в старший разряд здесь не возни- кает. Аналогично, при сложении чисел 5 и 2 получаем число 7. Пример 6.7 Сложите шестнадцатеричные числа 58 и 4В. Решение 58 + 4В АЗ Начнем со сложения МЗБ: 8 и В; вместо последнего в уме подставляем его десятич- ный эквивалент — число 11. В результате получается число 19. Так как оно превы- шает 16, отнимаем от него 16, что даст число 3. Число 3 записывается внизу, а 1 п виде переноса переходит в следующий разряд. Единица из этого переноса суммирует- ся с числами 5 и 4, и сумма становится равной 10iO, это число в шестнадцатеричном виде обозначается А. Цифровая математика: схемы и операции 331
Пример 6.8 Сложите шестнадцатеричные числа 3AF и 23С. Решение 3AF + 23С 5ЁВ Сумма чисел F и С дает: 15 + 12 = 2710. Это число превышает 16, поэтому от него от- нимаем 16, что дает число 1110, которое в шестнадцатеричном виде обозначается В, а в следующий разряд переносится 1. Перенос складывается с числами А и 3, в сумме получаем число Е. В следующем разряде необходимость в переносе отпадает. Вычитание шестнадцатеричных чисел Как уже известно, шестнадцатеричные числа являются эффективным способом представления двоичных чисел — их можно вычитать, используя те же методы, что и для чисел в двоичной форме записи. Для этого необходимо найти дополнительный код шестнадцатеричного вычитаемого и сложить его с уменьшаемым, при этом лю- бой перенос, возникающий в результате сложения СЗБ, не учитывается. Первоочередная задача состоит в нахождении дополнительного кода шестнадцате- ричного числа. Один из способов решения этой задачи заключается в преобразовании шестнадцатеричного числа в двоичное, нахождении дополнительного кода двоичного эквивалента и последующем обратном его преобразовании в шестнадцатеричный вид. Этот процесс показан ниже. ^73А 0111х" 0011 1010 1000 1100 0110 ^8С6^ <— шестнадцатиричное число <— преобразование в двоичное число <— дополнительный код <- обратное преобразование в шестнадцатиричное число Однако существует и более быстрый способ: поочередно отнять каждый шестна- дцатеричный разряд от числа F, а затем добавить к результату 1. Попробуем исполь- зовать этот алгоритм при нахождении дополнительного кода того же самого шестна- дцатеричного числа, которое было использовано в предыдущем примере. F F F -7-3-А ‘ 8 С ? <— каждый бит поочередно вычитается из F + 1 <— прибавление 1 8 С 6 <-шестнадцатеричное представление дополнительного кода Можете попробовать самостоятельно использовать обе эти процедуры для опреде- ления дополнительного кода шестнадцатеричного числа Е63. Правильным ответом будет 19D. Пример 6.9 Отнимите ЗА51в от 5921в. Решение Сначала необходимо преобразовать вычитаемое (ЗА5) в его дополнительный код, ис- пользуя любую из описанных выше процедур. В результате преобразования должно получиться число С5В. Теперь его необходимо прибавить к уменьшаемому (592). 332 Глава а
592 4 С5В ЛЕО t---- перенос не учитывается ^скольку перенос из старшего разряда не учитывается, то в результате сложения •лучаем число 1ED. Проверить правильность ответа можно, сложив 1ED и ЗА5, по- > чего должно получиться исходное число 59216. |редставление чисел со знаком ; шестнадцатеричном виде Данные, содержащиеся в памяти микрокомпьютера на жестком диске или на мпакт-диске, обычно хранятся в виде байтов (групп по восемь бит). Байт данных, эторый хранится в конкретной ячейке памяти, часто записывают в виде шестнадца- ричного числа, поскольку такой вид записи более эффективен и менее подвержен пибкам со стороны оператора, чем двоичный код. Когда данные состоят из чисел со (окон, то важно уметь распознавать положительные и отрицательные шестнадцате- гчные числа. В табл. 6.2 приведен пример данных, хранящихся в небольшом сег- ?нте памяти, адреса которого начинаются с 4000. аблица 6.2 Шестнадцатеричный адрес Хранящиеся двоичные данные Шестнадцатеричные значения Десятичные значения 4000 00111010 ЗА +58 4001 11100101 Е5 -29 002 01010111 57 +87 4003 10000000 80 -128 Каждая ячейка памяти хранит один байт (т.е. восемь бит), который является эк- ивалентом десятичного числа со знаком. В таблице также приведены шестнадцате- «ичные эквиваленты каждого байта. У отрицательных значений данных знаковый кт (СЗБ) содержит 1, а это всегда автоматически делает СЗБ шестнадцатеричного исла больше или равным 8. Если же значение, хранящееся в памяти, положитель- юе, то знаковый бит будет содержать 0, а младший значащий разряд такого числа удет меньше или равен 7. Те же соображения будут справедливы для любого шест- ьалцатеричного числа независимо от количества его разрядов. Если СЗБ равен 8 или ольше, то это число будет отрицательным; если старший значащий бит равен 7 пи меньше, то число будет положительным. L. Контрольные вопросы 1. Сложите числа 67F и 2А4. 2. Стримите 2А4 от 67F. Б. Какие из этих шестнадцатеричных чисел положительные: 2F, 77ЕС, С000, 6D, FFFF? I Цифровая математика: схемы и операции 333
6.9. Арифметические схемы Одной из наиболее важных функций большинства компьютеров и всех без исклю- чения калькуляторов является выполнение арифметических операций. В компьюте- рах эти операции осуществляются с помощью арифметико-логических устройств, ко- торые включают различные логические элементы и триггеры, соединенные таким образом, что вместе они могут производить операции сложения, вычитания, умноже- ния и деления над двоичными величинами. Эти схемы выполняют арифметические операции на очень высоких скоростях — сложение, например, обычно выполняется менее чем за 100 нс. Далее в этой главе рассматривается несколько основных функций арифметиче- ских устройств, которые используются при решении вычислительных задач, описан- ных ранее. В некоторых случаях реальный процесс проектирования будет изучаться очень тщательно, хотя рассматриваемые схемы доступны на базе интегральных схем, т.е. их разработка представляет собой скорее теоретический, чем практический или, тем более, коммерческий интерес, однако такой подход поможет получить необходи- мые практические навыки по использованию процедур разработки электронных уст- ройств, описанных в главе 5. Арифметико-логическое устройство Все арифметические операции, выполняемые компьютером, осуществляются в арифметико-логическом устройстве (АЛУ). На рис. 6.3 показана блок-схема типич- ного АЛУ с его основными элементами. Главное назначение АЛУ — принимать дво- ичные данные, хранящиеся в памяти, и осуществлять над ними математические и ло- гические операции согласно инструкциям, поступающим из устройства управления. Рис. 6.3. Функциональные элементы АЛУ Арифметико-логическое устройство содержит как минимум два регистра на триг- герах: регистр В и накапливающий регистр (аккумулятор). АЛУ также содержит комбинационные логические схемы, которые осуществляют арифметические и логи- ческие операции над двоичными величинами, хранящимися в регистре В и накапли- вающем регистре. Ниже приведена типичная последовательность операций, которая происходит при обработке данных в АЛУ. 1. Устройство управления получает команду (из запоминающего устройства), кото- рая дает указание сложить число из конкретной ячейки памяти (адреса) с числом из накапливающего регистра. 334 Глава 6
2. Число, которое надо прибавить, передается из памяти в регистр В. 3. Число, хранящееся теперь в регистре В, складывается с числом из накапливаю- щего регистра с помощью логических схем (по команде из устройства управле- ния). Результат записывается в накапливающий регистр. 4. Новое число, которое остается в аккумуляторе, может быть сложено со следую- щим числом из памяти и т.д. Если же конкретный математический процесс за- вершен, это число может быть передано в память для дальнейшего хранения. Описанные выше этапы ясно показывают, откуда взялось название для накапли- вающего регистра. Он действительно “аккумулирует” (т.е. накапливает) полученные после каждого сложения результаты и хранит их на промежутке времени между по- лучением из памяти новых чисел и вычислениями очередных сумм. Фактически, любая математическая задача выполняется за несколько шагов, и результаты, полу- ченные после каждого из них, хранятся именно в накапливающем регистре, поэтому в нем же получается и конечный результат, как только будет закончен последний шаг вычисления. 6.10. Параллельный двоичный сумматор Компьютеры и калькуляторы за один такт осуществляют операцию сложения двух двоичных чисел, причем каждое из этих чисел может иметь сразу несколько двоичных разрядов. На рис. 6.4 показана схема сложения двух пятибитовых чисел. Первое слагаемое хранится в накапливающем регистре — это значит, что аккумуля- тор состоит из пяти триггеров, в которых последовательно записаны отдельные биты числа 10101. Точно таким же образом второе слагаемое, которое необходимо доба- вить к первому, хранится в регистре В (в данном случае в нем записано число 00111). (Для сложения со следующим разрядом) Рис. 6.4. Типичный процесс двоичного сложения Процедура сложения начинается с прибавления друг к другу МЗБ обоих чисел. В двоичной системе счисления 1 + 1 = 10, т.е. сумма младших битов чисел будет равна 0, а перенос 1. Перенос должен быть добавлен к битам следующего разряда обоих чисел. Таким образом, во втором разряде нужно сложить уже не два бита, а три: 1 + 0 + 1 = 10; опять сумма равна 0, а перенос 1. Перенос складывается с битами следующего раз- Цифровая математика: схемы и операции 335
ряда и т.д., пока не будут сложены все разряды складываемых чисел, как это пока- зано на рис. 6.4. На каждом шаге этого процесса осуществляется сложение трех битов: одного из битов первого слагаемого, одного из битов второго слагаемого и бита переноса из пре- дыдущего разряда. Результат сложения этих трех битов выражается двумя другими битами: битом су умы и битом переноса, который необходимо добавить к складывае- мым битам следующего по порядку разряда. Очевидно, что этот процесс использует- ся для сложения любого из разрядов двух чисел. Таким образом, можно спроектиро- вать логическую схему, которая бы осуществляла этот процесс автоматически, т.е. идентичным образом применить эту схему для сложения любых двух разрядов. Та- кое устройство показано на рис. 6.5. Сумма появляется на г ыходах S4 S3, S2, S b So. параллельного пятибитового сумматора, использующего отдельные Рис. 6.5. Блок-схема полные сумматоры На этой диаграмме переменные А4, А3, А2, Aj и Ао представляют собой биты пер- вого слагаемого, которые хранятся в накапливающем регистре (его также называют регистром А). Переменные В4, В3, В2, Вх и Во являются битами второго слагаемого и хранятся в регистре В. Переменные С4, С3, С2, С4 и Со представляют биты переноса в соответствующие разряды. Переменные S4, S3, S2, Si и So — выходы сумматора, с которых снимаются суммы соответствующих разрядов складываемых чисел. Соот- ветствующие биты первого и второго слагаемых подаются на логическую схему, ко- торая называется полным сумматором; также на нее подается бит переноса из пре- дыдущего разряда. Например, биты Aj и Bj подаются на сумматор № 1, куда также поступает и бит Clt т.е. бит переноса, полученный при сложении битов Ао и Во. Биты Ао и Во подаются на полный сумматор № 0, на который вместе с ними поступает бит Со. Поскольку биты Ао и Во — младшие биты складываемых чисел, из этого следует, что Со всегда будет равен 0, так как к младшему разряду нельзя добавить бит пере- носа из предыдущего разряда. Однако случаются ситуации, когда бит Со бывает ра- вен 1. В каждой позиции данного устройства используется схема полного сумматора. Она имеет три входа: вход бита А, вход бита В и вход бита переноса С. Схема также имеет два выхода: выход бита суммы и выход бита переноса. Например, полный сумматор № 0 имеет входы Ао, Во и Со и выходы So и СР Полный сумматор № 1 име- ет входы Аг, Bi и Ci, а также выходы Si и С2 и т.д. Такое строение схемы повторяет- 336 Глава 6
ся для каждого разряда, сколько бы их ни было в складываемых числах. Хотя на рисунке показан только пятибитовый сумматор, с помощью таких устройств совре- менные компьютеры могут складывать от 8 до 64 бит одновременно. Устройство, показанное на рис. 6.5, называется параллельным сумматором, по- тому что все биты складываемых чисел подаются на входы схемы одновременно. Это значит, что в каждом разряде сложение выполняется за один такт. Такой принцип отличается от сложения чисел на бумаге, когда мы складываем биты по очереди, на- чиная с МЗБ обоих слагаемых. Очевидно, что параллельное сложение можно осуще- ствлять очень быстро, но подробнее об этом будет сказано дальше. Контрольные вопросы ; 1. Сколько входов имеет полный сумматор? Сколько выходов? 2. Пусть на устройство, изображенное на рис. 6.5, поданы следующие входные сигналы: A^A^A^Aq = 01001; B4B3B2BiBo = 00111; Со = 0. а) Какими будут логические уровни выходных сигналов полного сумматира № 2? б) Какой логический уровень выходного сигнала С5? 6.11. Принцип работы полного сумматора Теперь, когда известно, как работает полный сумматор, можно приступить к про- ектированию логической схемы, которая будет осуществлять его функции. Во- первых, нужно построить таблицу истинности, показывающую значения сигналов на всех входах и выходах во всех возможных ситуациях. На рис. 6.6 показана таблица истинности устройства, имеющего три входа: А, В и CjN, а также два выхода: S и Соит- Всего для трех входов возможны восемь наборов состояний, при этом для каж- дого конкретного случая в таблице на рисунке указаны возможные выходные сигна- лы. Например, рассмотрим случай, когда А = 1, В = 0 и Cjn = 1. Полный сумматор должен сложить эти биты и получить сумму (S), равную 0, и перенос (СОит)» рав- ный 1. Проверьте все остальные варианты значений входных сигналов, чтобы закре- пить свои навыки в определении выходных сигналов. Вход битов первого слагаемого Вход битов второго слагаемого Вход битов переноса Выход битов суммы Выход битов переноса А В Свх S С вых 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 • 0 1 1 1 1 1 1 Рис. 6.6. Таблица истинности полного сумматора Цифровая математика: схемы и операции 337
Схема имеет два выхода, поэтому можно проектировать логику для каждого вы- хода по отдельности. Начнем с выхода S. Таблица истинности показывает, что воз- можны четыре ситуации, когда S = 1. Можно записать выражение для S, используя дизъюнктивную форму: S = ABCIN + ABC is + АВСщ + ABClN . (6.1) Теперь попробуем упростить это выражение, т.е. вынесем за скобки общие мно- жители. К сожалению, ни одна пара слагаемых в выражении не имеет двух общих переменных, однако из первых двух членов можно вынести множитель А , а из двух вторых — А: S = A(BCJN + ВС is) + А(ВС/д* + BCIN). Первый член, записанный в скобках, является выражением исключающего ИЛИ для переменных В и CIN, его можно записать в виде В Ф CIN. Второй член в скоб- ках — это операция исключающее ИЛИ-НЕ для тех же переменных В и Cjn, и его можно записать как В Ф CIN . Таким образом, выражение для сигнала на выходе S можно переписать по-другому: S = А(В ®С^) + А(ВФСШ). Если сделать замену X = В Ф CIN , выражение принимает вид S = АХ + АХ = А®Х, а это будет просто операцией исключающее ИЛИ, которая применяется к перемен- ным А и X. Заменив X обратно на взятое ранее выражение, получим S = АФ[ВФСЛу]. (6.2) Теперь рассмотрим сигналы на выходе Соит» приведенные в таблице истинности на рис. 6.6. Запишем выражение для сигнала на СОит в дизъюнктивной форме: ^OUT = ^~B^IN + A-BCJti "* ABClM + ‘^B^-'IS • Данное выражение можно упростить, вынося множители за скобки. Для этого ис- пользуем прием, который уже применялся в главе 4 — запишем член АВСщ три раза, чтобы он имел общие множители с каждым из других членов. Итак: ^оит = BCItl(A + А) + ACIN(B + В} + AB(Cin + CIN) = BCIN + ACIN + AB (6.3) Дальше упростить это выражение уже нельзя. Выражения (6.2) и (6.3) можно реализовать так, как это показано на рис. 6.7. Также возможны несколько других вариантов реализации схемы для тех же выра- жений, полученных для S и СОит» но ни одна такая схема не будет иметь преиму- ществ перед показанным на рисунке устройством. Эта полная схема, включающая входы А, В и CiN и выходы S и Соит» представляет собой полный сумматор. Каждый из полных сумматоров, изображенных на рис. 6.6, имеет идентичную остальным структуру (или эквивалентную ей). Минимизация методом карт Карно Выражение для сигналов на выходах S и Соит было минимизировано на основе алгебраических методов. С той же целью можно применять карты Карно. На рис. 6.8, а показана карта Карно для выхода -S. Эта карта вообще не имеет при ле-1 гающих друг к другу ячеек с единицами, поэтому их невозможно сгруппировать. чтобы получить квартеты или даже пары, т.е. выражение для выхода S не может быть минимизировано. Такой результат демонстрирует ограничения метода карт Карно по сравнению с алгебраическим методом. Используя последний, можно мини- мизировать выражение на выходе S, вынося общие множители и применяя операций исключающее ИЛИ и исключающее ИЛИ-НЕ. 338 Глава 6
Рис. 6.7. Принципиальная схема полного сумматора S — АВС ABC gX + ABC вх + ABC вх С вых ~ ВСвх + АС вх+ АВ а) б) Рис. 6.8. Карты Карно для выходных сигналов полного сумматора i у гМ Карта Карно для выхода Соит показана на рис. 6.8, б. Три пары, которые можно сгруппировать, позволяют получить точно такое же выражение, которое было полу- чено согласно алгебраическому методу. Полусумматор Полный сумматор складывает сигналы с трех входов и имеет два выхода: суммы и переноса. Иногда достаточно иметь схему, которая будет складывать только два бита и позволит получать сумму и бит переноса. В качестве примера можно привести Цифровая математика: схемы и операции 339
сложение МЗБ двух двоичных чисел. Для младших разрядов, как указывалось вы- ше, бит переноса не используется. Можно составить логическую схему, которая будет складывать два бита, А и В, и выводить сигналы суммы (с выхода S) и переноса (с выхода Соит)- Такая схема называется полусумматором, или одноразрядным сумма- тором. Она функционирует точно так же, как и полный сумматор, за исключением того, что может складывать только два бита. Принципиальная схема полусумматора рассматривается подробнее в конце главы. 6.12. Параллельный полный сумматор с регистрами В компьютерах числа, которые необходимо сложить, хранятся в триггерных реги- страх. На рис. 6.9 показана схема четырехбитового параллельного сумматора (схема также содержит регистры хранения). Биты первого слагаемого, от А3 до Aq, хранятся в накапливающем регистре (регистре А); биты второго слагаемого, от В3 до Во, хра- нятся в регистре В. Каждый из этих регистров состоит из D-триггеров (триггеров за- держки), которые удобно использовать при передаче данных. Содержимое регистра А (т.е. двоичное число, состоящее из битов с А3 по Ао) при- бавляется к содержимому регистра В с помощью четырех полных сумматоров, при этом с выходов снимается сумма (с S3 по So). Бит С4 является битом переноса, сни- маемого с четвертого сумматора, и может быть использован либо как входной сигнал переноса на пятый сумматор, либо как бит переполнения, который появляется в том случае, когда сумма превышает 1111. Обратите внимание, что выходы, с которых снимается сумма, присоединены к D- входам триггеров регистра А. Такая связь позволяет передавать сумму параллельным методом в регистр А при изменении от низкого к высокому (Positive-Going Transition — PGT) уровня импульса передачи TRANSFER. Благодаря такой работе сумма сохраняется в накапливающем регистре. Заметьте, что на D-входы триггеров, из которых состоит регистр В, поступают сигналы прямо из памяти компьютера, поэтому двоичные числа из памяти переда- ются параллельным методом в регистр В при изменении уровня от низкого к высо- кому (PGT) импульса загрузки LOAD. В большинстве компьютеров также существует возможность параллельной передачи двоичных чисел из памяти в накапливающий регистр. Для этого применяются дополнительные элементы, которые, чтобы не ус- ложнять данную схему, на рисунке не показаны. Дополнительные элементы пред- ставлены в упражнениях в конце этой главы. Наконец, обратите внимание на то, что сигналы с выходов регистра А могут пере- даваться и в другие устройства, например, в остальные регистры компьютера или в запоминающее устройство. Такая передача позволяет подготавливать полный сумма- тор для приема нового набора данных. Обозначения, описывающие работу регистров Перед тем как приступить к проектированию схемы, складывающей пару двоичные чисел, будет весьма полезно изучить некоторые виды обозначений, позволяющих упро-1 стить описание содержимого регистра или данных, используемых при передаче. Для уровней, присутствующих на каждом триггере регистра или на конкретном выходе из группы выходов, будут использоваться квадратные скобки: [А] = 1011. Такая запись будет равноценна выражениям А3= 1, Аг = 0, Aj = 1, Ao « 1. Друг J ми словами, можно сказать, что запись (А] означает “содержимое регистра А”. 340 Глава.
Из памяти а) Рис. 6.9. а) Четырехбитовый параллельный полный сумматор с регистрами; б) временные диаграммы сигналов, при помощи которых осуществляется сложение двоичных чисел, хра- нящихся в памяти, и их запись в накапливающий регистр Если нужно указать на передачу данных в регистр или из него, то для этого ис- пользуется стрелка: [В] -> [А]. Данная запись означает, что содержимое регистра В было передано в регистр А. Старое содержимое регистра А при этом будет потеряно, но содержимое регистра В остается без изменений. ЦИФРОВАЯ МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 341
Последовательность операций Теперь можно описать процесс сложения двоичных чисел 1001 и 0101 с помощью схемы, показанной на рис. 6.9. Предположим, что Со = 0, т.е. перенос в МЗБ отсут- ствует. 1. [А] = 0000. В момент на асинхронные входы (CLR) каждого триггера регистра А подается обратный импульс сброса ( CLEAR). 2. [М] -> [В]. Первое двоичное число передается из памяти (М) в регистр В. Число 1001 загружается в регистр В по PGT импульса загрузки LOAD в момент <2- 3. [В]* -> [А]. После того как в регистрах было получено [В] = 1001 и [А] = 0000, полный сумматор складывает их содержимое, в результате чего получается сум- ма [S] = 1001. Эта сумма снимается с соответствующих выходов и передается в регистр А по PGT импульса передачи TRANSFER, поступающему в момент t3. При этом содержимое регистра А становится равным [А] = 1001. 4. [М] -> [В]. Теперь уже второе двоичное число 0101 передается из памяти в ре- гистр В по PGT импульса LOAD в момент t4. При этом в регистре В получаем [В] = 0101. 5. [В] -> [А]. Так как в регистрах имеем [В] = 0101 и [А] = 1001, на выходе полный сумматор выдает сумму [S] = 1110. Сигналы с соответствующих выходов переда- ются в регистр А по поступлению на схему второго импульса TRANSFER в мо- мент t5. Таким образом [А] = 1110. 6. Итак, получена сумма двух двоичных чисел, которая затем записывается в нака- пливающий сумматор. В большинстве компьютеров содержимое сумматора [А] обычно передается в память, чтобы сумматор мог сложить другой набор двоич- ных чисел. Для упрощения схемы на рис 6.9 не показаны элементы, которые по- зволяют выполнить такую передачу [А] -» [М]. Контрольные вопросы 1. Пусть из памяти должны быть взяты четыре различных четырехбитовых чис- ла, которые затем требуется сложить с помощью схемы, изображенной на рис. 6.9. Сколько для этого потребуется импульсов сброса CLEAR ? Сколько импульсов передачи TRANSFER? Сколько импульсов загрузки LOAD? 2. Определите содержимое регистра А после выполнения следующей последова- тельности операций: [А] = 0000, [ОНО] -+ [В], [S] -+ [А], [1110] [В], [S] -> [А]. 6.13. Распространение сигнала переноса Параллельный сумматор, изображенный на рис. 6.9, осуществляет сложение hi сел с относительно высокой скоростью, так как он может одновременно складывая биты из каждого разряда. Однако и его скорость ограничена — прежде всего эф фея том, который называется распространением сигнала переноса, или пульсацией с< реноса. Этот эффект лучше всего можно пояснить на следующем примере сложения: 0111 + 0001. 1000 342 Глава
Сложение МЗБ этих чисел приводит к появлению переноса в следующий разряд. Сложенный с битами второго разряда, бит переноса производит новый перенос уже в третий разряд. То же самое повторяется и в третьей позиции. Ключевым моментом выступает тот факт, что на бит суммы, который появился после сложения последних разрядов (СЗБ) обоих чисел, повлиял перенос, полученный при сложении первых разрядов (МЗБ). Если взглянуть на этот эффект с точки зрения схемотехники, используемой на рис. 6.9, бит S3, снимаемый с последнего полного сумматора, зависит от бита перено- са Ci с первого сумматора. Однако при этом сигнал Ci должен пройти три полных сумматора прежде, чем он достигнет четвертого и приведет к появлению бита S3. Это означает, что на выходе S3 не может появиться правильное значение, пока сигнал Cj ие пройдет промежуточные сумматоры. Такое условие приводит к появлению вре- менной задержки, которая зависит от задержек распространения, создаваемых сум- маторами. Например, если задержка распространения у каждого полного сумматора будет составлять 40 нс, то на выходе S3 правильное значение появится не раньше, чем через 120 нс после формирования бита Сх. Таким образом, результат сложения же может быть снят с выхода схемы ранее, чем через 160 нс от момента, когда первое ж второе слагаемые появятся на триггерах регистров (дополнительная задержка на НО нс вызвана тем, что следует также учесть задержку в полном сумматоре МЗБ, ко- роэый формирует бит Ci). Естественно, что при расширении схемы параллельного сумматора для сложения большего количества битов эта ситуация только ухудшится. Если бы подобный сум- матор должен был складывать 32-битовые числа, то задержка распространения сиг- нала переноса достигла бы 1280 нс = 1,28 мкс. Результат нельзя получить ранее, чем через 1,28 мкс после записи исходных чисел в регистры. Такая величина задержки препятствует созданию высокоскоростных устройств. Несмотря на это разработчики логических устройств пришли к новому решению в виде оригинальных схем с уменьшенной задержкой. Одно из таких решений называ- ется ускоренным переносом, а схема, использующая такое нововведение, имеет в своем составе дополнительные логические элементы, которые позволяют определить наличие переноса в старшие разряды при сложении младших разрядов. Например, можно построить логическую схему со входами В2, Blt Во, А2, AY и Aq и выходом С3, которая будет иметь меньшую задержку, чем та, которая была получена при прохо- ждении сигнала через цепочку полных сумматоров. Это устройство, конечно, потре- бует значительного увеличения применяемых логических элементов и будет намного сложнее, но на практике приходится жертвовать удобством ради получения высоко- скоростных сумматоров. Необходимость использования дополнительных логических элементов можно вообще не принимать во внимание, если речь идет об интегральных схемах. Много высокоскоростных сумматоров, доступных сейчас на базе ИС, исполь- зуют ускоренный перенос или иной подобный метод, уменьшающий задержку рас- пространения сигнала. 6.14. Параллельный сумматор на базе ИС Некоторые параллельные сумматоры доступны на базе ИС. Наиболее распростра- ненный из них — параллельный сумматор, содержащий четыре связанных между собой полных сумматора со схемой ускоренного переноса, которая, как было показа- но, необходима для выполнения высокоскоростных операций. ИС серий 7483А, 74LS83A, 74283 и 74LS283 — это параллельные четырехбитовые сумматоры, которые относятся к микросхемам семейства ТТЛ. Серии типа 283 идентичны сериям 83 за исключением того, что источник питания Vcc и “земля” подключены к выводам с математика: схемы и операции 343
номерами 16 и 8, соответственно; такое подключение считается стандартным, но в более поздних микросхемах питание и “земля” поданы на выводы по углам платав ИС серии 74НС283 является таким же высокоскоростным параллельным четырехби- товым сумматором, но уже на основе КМОП-технологии. На рис. 6.10, а показан символ, которым обозначают параллельный четырехбито- вый сумматор серии 74НС283 (или любой из эквивалентных ему). На входы такой ИС подаются два четырехбитовых числа, A^A^iAo и В3В2В1Во, а также бит переноса Со, который суммируется с младшими значащими битами складываемых чисел. На выходе снимаем биты суммы и бит переноса С4, который получается в результате сложения СЗБ слагаемых. Биты суммы обозначены S3S2S1S0, где S — греческая ли- тера сигма. Обозначение литерой Z битов суммы часто используют вместо альтерна- тивного обозначения S. А3 А2 А1 Ао II II С 4 4-разрядный параллельный сумматор 74НС283 Со ТТЛ в3 В2 в 1в0 S3S2 XiXo а) Первое слагаемое, 8 разрядов А?^6 А5А4 А3 А2 А! Ао С8 Со б) Рис. 6.10. а) Изображение четырехбитового параллельного сумматора на ос- нове ИС серии 74НС283; б) последовательное подключение двух ИС 74НС283 344 Глава 6
Последовательное подключение параллельных сумматоров Несколько сумматоров на основе ИС можно соединить вместе (последовательно), чтобы осуществлять сложение больших двоичных чисел. На рис. 6.10, б показаны два сумматора серии 74НС283, соединенных последовательно, чтобы складывать па- ры 8-битовых чисел А7А€Д^А4А3А2А1А0 и В7В&ВЬВАВ3В2ВХВ^. Сумматор справа склады- вает младшие биты чисел, а сумматор слева — их старшие биты и бит переноса С4, поступающий из правого сумматора. Восемь выходных сигналов суммы представля- ют уровни результирующего 8-битового числа. Бит С8 — перенос, полученный после сложения СЗБ слагаемых. Он может использоваться в качестве входного сигнала для третьего сумматора, который подключается, если возникает потребность в сложении еще больших чисел. Сумматор 74НС283 также обладает функцией ускоренного переноса, которая по- вышает эффективность такого двухкаскадного сумматора, поскольку логический уровень на выходе С4 сумматора младших разрядов появляется намного быстрее, чем если бы ускоренный перенос отсутствовал. Это свойство позволяет сумматору стар- ших разрядов формировать сумму несколько быстрее. Пример 6.10 Определите логические уровни входных и выходных сигналов восьмибитового сум- матора, изображенного на рис. 6.10, б, которые появятся после сложения чисел 721О и 13710. Решение Сначала преобразуем каждое число в восьмибитовое двоичное: 137 = 10001001; 72 = 01001000. Эти два двоичных числа подаются на входы А и В, т.е. на входе А будет наблюдаться 10001001, если брать слева направо, а на входе В — 01001000. Сумматор сложит оба числа и сформирует двоичную сумму обоих чисел: [А] = 10001001 [В] = 01001000 [S] = 11010001 На выходах, с которых снимается сумма, будет наблюдаться 11010001 (слева напра- во). В бите С8 никакого переполнения не возникает, поэтому он будет равен 0. Контрольные вопросы 1. Сколько микросхем серии 74НС283 потребуется, чтобы сложить два 20-битовых числа? 2. Микросхема 74НС283 имеет задержку распространения переноса от Со до С4, равную 30 нс. Какой будет величина задержки распространения сигнала в 32- битовом сумматоре, построенном на основе ИС серии 74НС283? 3. Каким будет логический уровень на выходе С4 схемы из примера 6.10? Цифровая математика: схемы и операции 345
6.15. Система дополнительных кодов Большинство современных компьютеров используют дополнительный код для представления отрицательных чисел и осуществления операции вычитания. При ис- пользовании дополнительного кода для представления отрицательных чисел сложе- ние и вычитание величин со знаками может осуществляться с помощью одной толь- ко операции сложения. Сложение Положительные и отрицательные величины, включая знаковые биты, могут быть сложены вместе с помощью простейшего параллельного сумматора, если предвари- тельно перевести отрицательные числа в дополнительный код. Такая операция пока- зана на рис. 6.11 для случая, когда складываются -3 и +6. Число -3 представлено в дополнительном коде как 1101, где первая единица является знаковым битом; число +6 представлено в обычном двоичном коде — ОНО, где знаковый бит представлен первым нулем. Эти числа хранятся в соответствующих регистрах. Четырехбитовый параллельный сумматор формирует на выходе сумму ООН, которая в десятичной системе равна +3. С выхода С4 снимается 1, но следует помнить, что при использова- нии дополнительного кода этот перенос не учитывается. Представление -3 (первого слагаемого) Из регистра А ( Л \ A3 А2 А! Ао в виде дополнительного кода О i___________ 1 С 4 4-разрядный параллельный сумматор 74LC283 О Со +6 ----э-i О (второе слагаемое) i__________ В3 В2 В, Во S3 S2 _0__0 So ___ +3 (получаемая сумма) О Из регистра В Рис. 6.11. Параллельный сумматор, применяемый для сложения и вычитания чисел с использованием дополнительного кода Вычитание При использовании дополнительного кода число, которое нужно вычесть (вычитаемое), заменяется своим дополнительным кодом и затем прибавляется к уменьшаемому (числу, от которого вычитаемое следует отнять). Предположим, что уменьшаемое уже хранится в накапливающем регистре (регистре А). Затем вычитае- мое сохраняется в регистре В (обычно оно передается туда из памяти компьютера), где заменяется дополнительным кодом, который потом суммируется с числом из ре- 346 Глава 6
гистра А. После выполнения этой операции выходы сумматора, с которых снимается сумма, доказывают разность между уменьшаемым и вычитаемым. Параллельный сумматор может быть приспособлен для вычитания чисел спосо- бом, описанным выше, если добавить в его схему элементы, которые бы заменяли число из регистра В его дополнительным кодом. Дополнительный код двоичного числа можно получить последовательной инверсией каждого бита с добавлением к МЗБ полученного результата единицы. На рис. 6.12 показано, как можно выполнить такое преобразование. В изображенной на рисунке схеме вместо обычных выходов используются инвертированные выходные сигналы регистра В, т.е. на входы сумма- тора подаются сигналы Во, Bi, Вг и Вз (помните, что Вз является битом знака). Таким образом мы автоматически берем из регистра В обратный код числа. Теперь следует подать логическую 1 на вход Со и добавить дополнительную 1 к МЗБ числа; такое суммирование равнозначно тому, если бы сначала была добавлена 1 к числу в регистре В, а затем получен его дополнительный код. А3 А2 Aj Aq J Из регистра А II II С4 - (игнорируется) Инверсные выходы регистра В 4-разрядный параллельный сумматор 74LC283 ггтт Сс= 1 Представление разности Рис. 6.12. Параллельный сумматор, применяемый для выполнения опера- ции вычитания (А - В) с использованием дополнительного кода. Для пре- образования вычитаемого (В) в дополнительный код его биты инверти- руются, а на вход схемы Со подается 1 Выходные сигналы с Е3 по So представляют собой результат операции вычитания. Знаковый бит S3 показывает, что результат может быть как положительным, так и отрицательным. Бит переноса С4 снова не учитывается. Чтобы прояснить процесс вычитания чисел, последовательно распишем все этапы этой операции для отнимания числа +6 от +4: 1. Число +4 хранится в регистре А в виде двоичного числа 0100. 2. Число +6 хранится в регистре В в виде двоичного числа ОНО. 3. На сумматор подаются обратные сигналы с триггеров регистра В (1001). 4. Параллельный сумматор складывает числа [А] = 0100 и [В] = 1001, а также бит переноса Со = 1, который прибавляется к МЗБ обоих чисел: 1 +-с0 0100 <- [А] +1001 <-[В] 1110 <_ [£] = [А] - [В] Результатом будет число 1110. Оно получается после вычитания, т.е. представля- ет разность между числом, хранящимся в регистре А, и числом, хранящимся в ре- МАТЕМАТИКА: СХЕМЫ И ОПЕРАЦИИ 347
гистре В: [А] - [В]. Поскольку знаковый бит равен 1, то в результате получилось от рицательное число, выраженное как дополнительный код. Можно убедиться, что i обычной форме записи число 1110 представляет собой -~210, а если преобразовать ре зультат в дополнительный код — получим число +2ю: 1110 0001 +____1 0010 = +210 Комбинация сложения и вычитания Теперь уже можно сделать вывод, что простейший параллельный сумматор ис- пользуется как для сложения, так и для вычитания в зависимости от того, осталось ли число из регистра В без изменений или на сумматор был подан его дополнитель- ный код. Полная схема, которая может осуществлять оба типа операций, используя дополнительный код, показана на рис. 6.13. Работа сумматора/вычитателя зависит от двух управляющих сигналов: сложения (ADD) и вычитания (SUB). Если уровень сигнала ADD высокий, то схема выполняет сложение чисел, хранящихся в регистрах А и В. Если же высоким будет уровень сигнала SUB, то схема вычтет содержимое регистра В из содержимого регистра А. Эту операцию можно кратко описать следующим образом. 1. Предположим, что ADD = 1, a SUB = 0. Сигнал SUB = 0 запрещает прохождение сигналов через элементы И 2, № 4, № 6 и № 8, так как для них низкий уровень напряжения является управляющим, т.е. на выходах этих сиг- налов будут наблюдаться 0. Сигнал ADD = 1 разрешает прохождение сигналов через элементы И № 1, № 3, № 5 и № 7, позволяя сигналам Во, Bl9 В2 и В3 бес- препятственно проходить через них на сумматор. 2. Сигналы от Во до В3 проходят через элементы ИЛИ на четырехбитовый парал- лельный сумматор, где складываются с сигналами от Aq до А3. Сигнал суммы по- является на выходах от So до S3. 3. Обратите внимание, что если сигнал SUB = 0, то на сумматор поступает перенос С0 = 0. 4. Теперь пусть ADD = 0, a SUB = 1. Сигнал ADD = 0 подавляет прохождение сигна- лов через элементы И № 1, № 3, № 5 и № 7. Сигнал SUB = 1 разрешает прохож- дение сигналов через элементы И № 2, № 4, № 6 и № 8, в результате чего на их выходы поступают, соответственно, сигналы Во , Bi, Вг и Вз . 5. Сигналы с Во по Вз проходят на сумматор через элементы ИЛИ, где снова скла- дываются с сигналами от А$ до А3. Обратите внимание, что в этом случае на сум- матор поступает бит переноса Со = 1. Таким образом, число из регистра В автома- тически преобразовывается в свой дополнительный код. 6. На выходах с Ео до появляется разность вычитаемых чисел. В компьютерах используются схемы, аналогичные представленному на рис. 6.1i комбинированному устройству сложения/вычитания. Они применяются благодаря тому, что предоставляют относительно несложные средства для сложения и вычитав ния двоичных чисел со знаками. В большинстве компьютеров сигналы с выходов 3 обычно передаются в регистр А (накапливающий сумматор), поэтому после процесс» вычисления результаты сложения или вычитания всегда оказываются в этом регист- ре. Такая передача данных выполняется путем подачи импульса TRANSFER на вхсл GLK регистра А. 348 Глава
Регистр В Рис. 6.13. Параллельный, сумматор/вычитатель, использующий дополнительный код Контрольные вопросы 1. Почему бит Со должен быть равен 1, чтобы схема, приведенная на рис. 6.13, работала как вычитатель? 2. Пусть в схеме на рис. 6.13 [А] = ООН, а [В] = 0010. Определите логические уровни выходных сигналов элементов ИЛИ, если сигнал ADD = 1, а сигнал SUB = 0. 3. Повторите то же самое при ADD = 0 и SUB = 1. 4. Проверьте истинность высказывания. Если комбинированный сумматор/вы- читатель используется для вычитания, на вход схемы необходимо подавать до- полнительный код вычитаемого числа. Цифровая математика: схемы и операции 349
6.16. Двоично-десятичный сумматор Процесс сложения двоично-десятичных чисел, описанный в разделе 6.7, состоит из следующих этапов. 1. Сложите по отдельности кодовые группы каждого десятичного разряда, исполь- зуя обычное двоичное сложение. 2.. Для тех разрядов, где сумма меньше или равна 9, следует помнить, что сумма уже выражена в двоично-десятичном коде, поэтому коррекции результата не тре- буется. 3. Если сумма двух разрядов превышает 9, то чтобы получить правильный резуль- тат, необходимо к сумме добавить число ОНО. При этом возникает перенос в сле- дующий десятичный разряд. Двоично-десятичный сумматор должен работать в соответствии с описанным ал- горитмом, т.е. схема функционирует следующим образом. 1. Складываются две четырехбитовых кодовых группы двоично-десятичного кода путем простого двоичного сложения. 2. Определяется, превышает ли полученная сумма число 1001 (десятичную 9); если это так, то к сумме следует добавить число ОНО (десятичную 6) и при этом сде- лать перенос в следующий десятичный разряд. Первое требование довольно легко удовлетворить, используя четырехбитовый па- раллельный сумматор (например, 74НС283 или его аналог). Если две кодовых груп- пы представлены числами А3А2А1А{) и В3В2В1Во и подаются на четырехбитовый па- раллельный сумматор, то сумматор выполнит такую операцию: А^А^А^ 4- двоично-десятичная кодовая группа + В3 В2 В, Во 4- двоично-десятичная кодовая группа S4 S3 S2 St So 4- суммарное двоичное число Бит S4 представляет собой перенос из СЗБ — С4. Сумма S4S3S2SiS0 может лежать в диапазоне от 00000 до 10010 (в том случае, ес- ли обе кодовые группы равны 1001 = 9). Схема двоично-десятичного сумматора должна включать логические элементы, необходимые для обнаружения ситуации, когда сумма превышает число 01001, т.е. когда требуется коррекция результата. Случаи, когда сумма превышает 01001, приведены в табл. 6.3. Теперь введем пере- менную X для обозначения логического сигнала, который становится высоким толь- ко в том случае, если сумма превышает 01001 (т.е. в случаях, записанных в табл. 6.3). Если внимательно изучить эти ситуации, то можно увидеть, что сигнал X становится высоким при выполнении хотя бы одного из приведенных ниже условий: а) когда S4 = 1 (сумма превышает 15); б) когда S3 = 1 и одновременно хотя бы одна (или обе) из переменных S2 и Si равны 1 (суммы от 10 до 15). Это условие можно выразить логическим уравнением: X = S4 + S5(S2 + S;). Если X = 1, то необходимо добавить корректирующее-число ОНО к битам суммы, что повлечет за собой перенос. На рис. 6.14 показана полная схема двоично- десятичного сумматора, включающего логическую схему, которая отвечает за кор- рекцию результата по сигналу X = 1. 350 Глава
Таблиц: ?6.3 ft ft ft ft ft 0 1 0 1 0 (10) 0 1 0 1 1 (11) 0 1 1 0 0 (12) 0 1 1 0 1 (13) 0 1 1 1 0 (14) 0 1 1 1 1 (15) 1 0 0 0 0 (16) 1 0 0 0 1 (17) 1 0 0 1 0 (18) Двоично- десятичная кодовая группа Со, перенос из сумматора младших разрядов Двоично- десятичная кодовая группа Вз Bg в, Bq Перенос в следующий сумматор X 74НС32 S< s2 Логика коррекции 4-разрядный параллельный сумматор 74НС283 So 74НС08 74НС32 Вз в2 в\ Bq |cq = o 4-разрядный параллельный сумматор 74НС283 Не используется A3 А2 Aj Aq S3 S2 Si Sq Двоично-десятичная сумма Коррелирующий сумматор Рис. 6.14. Двоично десятичный сумматор, содержащий два четырехбитовых сумматора и схему коррекции Эта схема состоит из трех логических подсхем. Две кодовые группы А^А^уАо и В^В2В}В0 складываются вместе в верхнем четырехбитовом сумматоре, в результате чего на его выходах появляется сумма S4S3S2S1S0. Логические элементы реализуют Ьогическое выражение для введенной ранее переменной X. Нижний четырехбитовый гумматор прибавляет к полученной сумме число коррекции ОНО, но только если Цифровая математика: схемы и операции 351
X = 1. В результате на выходе формируется двоично-десятичная сумма S3S2EiEo« Пе ременная X также представляет собой сигнал переноса, который формируется в тол случае, если сумма превышает 01001. Естественно, если X = 0, переноса не возникает и никакой коррекции не требуется.’В таком случае L3L2SiSo = S3S2SiS0. Чтобы вникнуть в процесс двоично-десятичного сложения, читателю предлагается выполнить несколько простых упражнений, используя схему сумматора: Входные сигналы а) [А] = 0101, [В] = ООН, Со = 0; б) [А] = 0111, [В] = ОНО, Со = 0. Выходные сигналы a) [S] = 01000, X = 0, [Z] = 1000, перенос = 0; б) [S] = 01101, X = 1, [L] = ООН, перенос = 1. Последовательное соединение двоично-десятичных сумматоров Схема, показанная на рис. 6.14, используется для сложения двух десятичных чи- сел, записанных в двоично-десятичном виде. Когда же требуется сложить вместе де- сятичные числа с несколькими разрядами, необходимо для каждого разряда приме- нять отдельные двоично-десятичные сумматоры. На рис. 6.15 показана блок-схема устройства, складывающего две трех разрядные десятичные величины. Регистр А со- держит 12 бит, т.е. может хранить три кодовых группы одного из складываемых чи- сел; аналогично, регистр В содержит кодовые группы второго числа. Кодовые группы А3 - Ао и В3 - Во представляют собой МЗБ обоих чисел, и поэтому они первыми по- ступают на двоично-десятичный сумматор. Каждый блок сумматора содержит схему, аналогичную изображенной на рис. 6.14. Первый из них выдает на выходах сумму, которая является двоично-десятичным кодом МЗБ результирующей величи- ны. На другом выходе также формируется сигнал переноса, который переходит на следующий двоично-десятичный сумматор, складывающий биты с А7 по А< и с В7 по В4. Эти биты представляют собой второй разряд каждого из десятичных чисел, запи- санного в двоично-десятичной форме. Второй сумматор выдает сигналы L7SeL5L4. т.е. показывает второй разряд суммы и т.д. Такая расстановка сумматоров может, естественно, быть расширена и на сложение десятичных чисел с любым количеством разрядов путем прибавления новых триггеров, регистров и двоично-десятичных сум- маторов для каждого нового разряда. Пример 6.11 Определите сигналы на входах и выходах схемы, изображенной на рис. 6.15, пр сложении чисел 53810 и 24710. На вход переноса CARRY IN подан нулевой сигнал. Решение Сначала преобразуем каждое число в двоично-десятичный код: 247 = 0010 0100 0111 двоично-десятичное число; 538 = 0101 ООН 1000 двоично-десятичное число. Эти числа, представленные в двоично-десятичном виде, помещаются в регистры A : В, так что можно записать [А] = 0010 0100 0111; [В] = 0101 ООН 1000. Со входа переноса CARRY IN на сумматор МЗБ поступает 0. 352 Глава
Двоично-десятичные коды 3-разрядного числа Двоично-десятичные коды 3-разрядного числа Рис. 6.15. Последовательное соединение двоично-десятичных сумматоров, позволяющее осу- ществить сложение двух трехразрядных десятичных чисел Как только данные запоминаются в регистрах, двоично-десятичные сумматоры на- чинают складывать соответствующие разряды двоично-десятичных кодовых групп. Сумматор МЗБ складывает между собой числа 0111 (7) и 1000 (8); на его выходе по- является сумма 0101 (5) и формируется сигнал переноса 1 в средний сумматор. По- следний, в свою очередь, суммирует числа 0100 (4), ООН (3) и сигнал переноса из сумматора младших разрядов. В результате на его выходе получается сумма 1000 (8), а на сумматор СЗБ поступает нулевой бит переноса. И наконец, третий сумматор складывает числа 0010 (2) и 0101 (5), что дает на выходе сумму 0111 (7), при этом перенос в следующий элемент не происходит. Таким образом, со всех выходов полу- чается [L] = 0111 1000 0101, а с выхода сумматора старших разрядов снимается сигнал переноса, равный 0. Этот результат является двоично-десятичной формой записи десятичной суммы 785}0. ЩИ [Контрольные вопросы 1. Назовите три основных компонента двоично-десятичного сумматора. 2. Опишите, каким образом схема двоично-десятичного сумматора определяет не- обходимость в коррекции суммы и как сумматор осуществляет эту коррекцию. 6.17. Интегральные схемы АЛУ На сегодняшний день существует несколько типов ИС, содержащих арифметико- логические устройства (АЛУ). Нужно отметить, что такие схемы не обладают всеми теми возможностями, которые доступны арифметико-логическим устройствам ком- ЦИФРОВАЯ математика: СХЕМЫ И ОПЕРАЦИИ 353
пьютеров. Микросхемы, имеющие в своем составе АЛУ, могут выполнять лишь не- которые арифметические и логические операции над двоичными данными. Что каса- ется выполнения каких-то определенных функций, то они устанавливаются кон- кретными комбинациями сигналов на входах выбора функций. Некоторые ИС с АЛУ имеют крайне сложную структуру, и потребовалось бы немало времени, чтобы объ- яснить и хоть как-то проиллюстрировать их работу. В этом разделе представлено от- носительно простое, но весьма практичное АЛУ на базе ИС, с помощью которого бу- дут продемонстрированы все основные концепции функционирования микросхем с АЛУ. Принципы работы такого устройства распространяются и на более сложные электронные системы. АЛУ на базе ИС 74LS382/HC382 На рис. 6.16, а показана структура АЛУ, реализованного на основе ИС 74LS382 (ТТЛ) и ИС 74НС382 (КМОП). Такая ИС с 20 контактами оперирует сразу двумя числами по четыре бита, АзА^АхАо и В^В^о, и формирует 4-битовый выходной сигнал FzFzFxFq. Данное арифметико-логическое устройство может осуществлять во семь различных операций. Выполняемая в определенный момент времени операция будет зависеть от кода на входе выбора функций схемы S2S\SQ. В таблице на рис. 6.16, б показаны все восемь доступных операций. Теперь опишем каждую из них подробнее. А - 4-разрядное входное число В - 4-разрядное входное • число См - перенос на позицию МЗБ S - 3-разрядный код .ыбора операции F - 4-разоядное выходное число См-г4 ~ перенес с позиции СЗБ OVR - индикатор переполнения Таблица функций s? Si So Операция Пояснение ООО 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Сброс В минус А А минус В АплюсВ А@В А + В АВ Инициализация F3 f=2 Fi Fo =0000 } Требуется Cn= 1 Требуется Cn=0 Исключающее ИЛИ ИЛИ И F3^FiFb=1111 Примечание. Входы S производят выбор операции OVR = 1 при переполнении числа со знаком б) а) Рис. 6.16. а) ИС 74LS382/HC382, реализующая функции АЛУ; б) таблица функций., пока вающая, как сигнал на входе выбора (S) определяет операцию, производимую над данны которые поступают на входы А и В 354 Глава
Сброс Когда сигналы S2SiS0 = ООО, АЛУ очистится от данных, т.е. произойдет сброс всех битов на выходе F: F3F2F\F0 = 0000. Операция сложения Если подать сигналы S2SiSq = 011, то АЛУ сложит между собой числа АзАаАрАо и B2B2BiB0t а их сумма появится на выходе F3F2FiF0. Такая операция использует пе- ренос из предыдущего сумматора в сумматор МЗБ — CN, при этом величина переноса должна быть равна 0. Из сумматора СЗБ тоже выводится бит переноса CN+4. Выход OVR служит для индикации переполнения; на нем появляется высокий сигнал в том случае, если при сложении или вычитании чисел со знаком произошло переполне- ние, т.е. результат оказался слишком велик и не поместился в четыре бита (включая знаковый бит). Операции вычитания Если S2SiSq = 001, то АЛУ вычитает число со входа А из числа со входа В. Если S2SiSo = 010, то АЛУ, наоборот, вычтет число со входа В из числа со входа А. В лю- бом из указанных случаев разность двух чисел снимается со входов E3F2FiF0. Обра- тите внимание, что операции вычитания требуют наличия на входе Сы единичного сигнала. Операция исключающее ИЛИ Когда <S2S1So = 100, АЛУ осуществляет над числами, поступающими на входы А и В, операцию исключающее ИЛИ. Данная операция выполняется поочередно с каж- дой парой битов, что проиллюстрировано ниже для чисел A^A^Aq = ОНО и ВзВ^Во = 1100: А3 © Вз = 0 © 1 = 1 = F3; А2 © В2 = 1 © 1 = 0 = F2; Ai © Bi = 1 Ф 0 = 1 = Л; Ао © Во = 0 © 0 = 0 = Fo. В результате на выходе F3F2FiF0 = 1010. Операция ИЛИ Если S2SiS0 = 101, АЛУ выполнит операцию ИЛИ поочередно над каждой парой битов соответствующих разрядов чисел со входов А и В. Например, если А^АгАуАо = = ОНО и B2B2BiB0 = 1100, то АЛУ выдаст в результате В3В2В1В0 = НЮ. Операция И Если S2SiS0 = НО, то АЛУ выполнит операцию И поочередно для каждой пары битов чисел со входов А и В. Например, если AjA^AiA = ОНО и B3B2BiB0 = 1100, то на выходе АЛУ появится F3F2FiF0 = 0100. Инициализация Когда S2SiSo = 111, АЛУ установит все выходные сигналы так, что F3F2FiF0 = = 1111. Пример 6.12 а) Определите логические уровни на выходах ИС 74НС382, если на входах В2£\Во = 010, А3А2А1А0 = 0100, B3B2BjBq = 0001 и = 1. б) Измените код выбора операции на 011 и повторите задание п. а. Решение а) Из таблицы функций, приведенной на рис. 6.16, б, видно, что код 010 определяет операцию вычитания (А - В). АЛУ выполнит вычитание путем преобразования числа В в дополнительный код с последующим его суммированием с числами А и CN. Необходимо помнить, что для получения дополнительного кода числа к нему надо добавить 1, поэтому и С*. = 1 при преобразовании числа В. Цифровая математика: схемы и операции 355
1 Сд, 0100 «- А * 1110 «- в 10011 Cw+<“^ f3f2f,f0 Как и раньше, при вычитании с использованием дополнительного кода не рас- сматривается перенос из сумматора СЗБ. Правильный результат разности (А - В) снимается с выходов F. Состояние выхода OVR определяется числами со знаками, поданными на входы устройства. Так, если A^^AiAq = 0100 = +410 и В3В2В1В0 = 0001 = +1ю» то резуль- тат вычитания будет равен F^F^xFq = ООН = +3ю, т.е. ответ правильный. Следо- вательно, не возникает никакого переполнения и OVR = 0. Если при вычитании получается отрицательный результат, то его модуль выражается в виде дополни- тельного кода. б) Код выбора операции, равный ОН, определяет сложение чисел на входах А и В. Однако так как Сы = 1, то к МЗБ обоих чисел необходимо добавить еще и бит пе- реноса. Такое сложение приведет к появлению числа F2F2F\Fq = ОНО, но это на 1 больше, чем правильная сумма (А + В). Сигналы на выходах OVR и CN+4 оба рав- ны нулю. Чтобы получить на выходе F действительную сумму, надо убедиться, что на вход Си подан нулевой сигнал. Расширение АЛУ Одна ИС 74LS382 или 74НС382 оперирует числами, состоящими из четырех бит. Для работы с большими числами можно соединить несколько таких схем. На рис. 6.17 показано объединение двух четырехбитовых АЛУ, чтобы можно было осу- ществлять сложение восьмибитовых чисел — АтА^А^А^А-^Ао и В7В6В5В4В3В2В1Во. На выходе получим сумму Z7LeL5L4Z3L2ZiLo. Внимательно изучите приведенную на рисунке схему и отметьте следующие важные моменты. 1. ИС Z1 обрабатывает четыре младших бита каждого из чисел, поданных на входы. ИС Z2, в свою очередь, обрабатывает четыре старших бита этих чисел. 2. Сумма снимается с выходов F ИС Z1 и Z2. Младшие биты суммы появляются на соответствующих выходах схемы Z1, а старшие — на выходах схемы Z2. 3. Вход Cn ИС Z1 представляет собой бит переноса в МЗБ, который может посту- пать с предыдущего сумматора, если таковой имеется, служить для преобразова- ния одного из чисел в дополнительный код при вычитании. При сложении цары чисел на данном входе должен быть 0. 4. Выход переноса [Сы+4] ИС Z1 подключается ко входу переноса ИС Z2. 5. Выход OVR ИС Z2 показывает появление переполнения при операциях над вось- мибитовыми числами со знаками. 6. Соответствующие входы выбора операции обоих интегральных схем объединены вместе, поэтому ИС Z1 и Z2 всегда осуществляют одинаковые операции. Напри- мер, при сложении на входы выбора подается сигнал 011. Пример 6.13 Каким образом можно изменить схему, показанную на рис. 6.17, чтобы она осущест- вляла вычитание (В - А)? 356 Глава 6
Решение На вход выбора операции (см. таблицу на рис. 6.16, б) необходимо подать сигнал 001, а на вход CN ИС Z1 надо подать 1. B3 Вг В, Bq В7 Be В5 В4 S2 Sf So 0N B3B2B1B0 A3AzAiAq Примечания. Z1 складывает младшие разряды Z2 складывает старшие разряды I7—Zo - 8-разрядная сумма OVR на Z2 - индикатор 8-разрядного переполнения A3A2A1 Aq ---- 0 гП т Ij 111111 S2 St So Cn 63626180 A3A2A1AC 74HC382 Cn+4 OVR F3 F2 Ft Fo |~ZT Рис. 6.17. Две ИС 74НС382, содержащие АЛУ, которые соединены вместе, чтобы образо- вать восьмибитовый, сумматор Другие АЛУ Интегральная схема 74LS181/HC181 представляет собой еще один тип четырехби- тового АЛУ. Это устройство также имеет вход выбора операции, который может пе- реключать устройство в режим выполнения логических или арифметических опера- ций (сложение и вычитание). Такое АЛУ имеет выход А - В, который служит для сравнения абсолютных величин (модулей) чисел, поданных на входы АиВ. Если оба числа равны между собой, то на указанном выходе появляется единичный сигнал, в противном случае он равен 0. ИС 74LS881/HC881 аналогичны ИС типа 181, но имеют возможность осуществ- лять несколько дополнительных логических операций. i Контрольные вопросы 1. Пусть указанные ниже сигналы поступают на входы АЛУ, схема которого изо- бражена на рис. 6.16. Определите состояния выходов, если S2SiSo = 001, A^A^AjA^) — 1110, B3B2B1BQ = 1001 и Cff — 1. j 2. Измените код, поданный на вход выбора операции, на 011, а бит Сы на 0 и по- вторите вопрос 1. I 3. Измените код, поданный на вход выбора операции, на 110 и повторите вопрос 1. Цифровая математика: схемы и операции 357
4. Пусть указанные ниже сигналы поступают на входы схемы, изображенной на рис. 6.17. Определите состояния ее выходов, если А = 00011000, В = 01010011 и CN= 1. 5. Измените код, поданный на вход выбора операции, на 111 и повторите преды- дущий вопрос. 6. Сколько ИС 74НС382 понадобится для сложения двух 32-битовых чисел? 6.18. Обозначения стандарта IEEE/ANSI На рис. 6.18, а изображен символ стандарта IEEE/ANSI, которым обозначают од- нобитовый сумматор (полный сумматор). Обратите внимание, что для обозначения операции сложения используется символ Z, располагаемый вверху прямоугольника. На рис. 6.18, б показано, как согласно стандарту IEEE/ANSI обозначают четырехби- товый параллельный сумматор на основе ИС 7483/74283. Обратите внимание на то, что буквы Р и Q используются для представления двух четырехбитовых входов, а буква Е — для обозначения группы выходов, с которых снимаются биты суммы. Бу- квы Р, Q и Е в стандарте IEEE/ANSI зарезервированы и должны использоваться только внутри прямоугольника. Буквы, которыми обозначены входы и выходы вне прямоугольника, в стандарте строго не указаны. 7483/74283 б) Рис. 6.18. Символы стандарта IEEE/ANSI, которые служат для обозначения: а) полного сумматора и б) четырехбитового параллельного сумматора на основе ИС (7483/74283) 6.19. Пример поиска неисправностей Специалист проверяет работу сумматора/вычитателя, показанного на рис. 6.19, и при этом записывает результаты испытаний устройства в разных режимах. Режим 1: ADD = 0, SUB = 0. Выходы суммы всегда равны числу, содержащемуся в регистре А, плюс единица. Например, если [А] = ОНО, то сумма [Е] = 0111. Та- 358 ГЛАВА 6
кой результат будет неправильным, поскольку при работе устройства в данном режиме выходные сигналы элементов ИЛИ и сигнал Со должны быть нулевыми, чтобы получить [Z] = [А]. Режим 2: ADD = 1, SUB = 0. В этом режиме сумма всегда на 1 больше, чем должна быть. Если, например, имеем [А] = 0010 и [В] = 0100, то на выходе полу- чим число 0111 вместо ОНО. Режим 3: ADD = 0, SUB = 1. В этом режиме выходы суммы всегда показывают [А] - [В], как это и ожидалось. Когда специалист изучил результаты испытаний, он обнаружил, что при работе устройства в двух первых режимах с выходов суммы снимается число, которое пре- вышает ожидаемый результат на 1. Сначала техник предположил, что дело в воз- можной неисправности одного из входов сумматора, на который подаются МЗБ, но при этом и операция вычитания не давала бы правильного результата, однако со- гласно записям этого не происходит. В конце концов техник понял, что существует другая проблема, которая приводит к появлению на выходе лишней 1, если схема функционирует в одном из двух первых режимов. Как известно, бит Со должен равняться 1 в случае вычитания, что необходимо для преобразования числа из регистра В в дополнительный код. Во всех других ре- жимах Со должен быть равен 0. Специалист проверил соединение между сигнальной линией SUB и входом Со сумматора и обнаружил, что там произошло размыкание контакта из-за плохого качества пайки. Этот разрыв контакта и объясняет получен- ные при испытании платы результаты, поскольку сумматор, выполненный на ТТЛ, реагирует на размыкание так, как будто на вход Со подается постоянный сигнал с уровнем логической единицы. При этом к результату добавляется та самая лиш- Цифровая математика: схемы и операции 359
няя 1, которой не должно быть в двух первых режимах. Разрыв не оказывает влия- ния на работу схемы в третьем режиме, потому что в этом случае на входе Со так или иначе должна присутствовать единица. Пример 6.14 Еще раз изучите схему сумматора/вычитателя. Предположим, что на ней произошел разрыв проводника между входом SUB и элементами И где-то в точке X, как пока- зано на рис. 6.19. Опишите, как такое размыкание повлияет на работу схемы в каж- дом из указанных в начале этого раздела режимах. Решение Сначала необходимо четко уяснить, что такая неполадка приведет к появлению ло- гической 1 на одном из входов каждого из элементов И №2, №4, №6 и №8. Это приведет к тому, что каждый элемент И будет пропускать на выход сигналы со вхо- дов В . Режим 1: ADD = О, SUB = О. Указанная неисправность позволит схеме осуществ- лять почти правильное вычитание. На выходы элементов ИЛИ поступит обрат- ный код числа [В], который будет сложен на сумматоре с числом [А]. Так как Со = 0, то правильного дополнительного кода числа [В] не получил ся — резуль- тат будет меньше на 1. Таким образом, на выходе сумматора получим [А] - [В] - - 1. Чтобы проиллюстрировать эти рассуждения, пусть [А] = +6 = ОНО и [В] = = +3 = ООН. Сумматор сложит их следующим образом: обратный код [6] = 1100 [4] = 0110 результат = ЛО010 I------- перенос не учитывается Результат равен 0010 = +2 вместо ООН = +3, как это должно быть при правиль- ном вычитании. Режим 2: ADD = 1, SUB = О. Если ADD = 1, элементы И № 1, № 3, № 5 и № 7 пропустят на элементы НИ сигналы со 'входов В. Таким образом, на каждом элементе ИЛИ будет присутствовать как сигнал В, так и сигнал В , что приведет к появлению на выходе 1. Например, на входы элемента ИЛИ № 9 поступят сигналы JFto с элемента И № 2 (что как раз вызвано указанной неполадкой в схеме) и Во с элемента И № 1 (так как ADD =1). Следовательно, на выходе эле- мента ИЛИ № 9 появится сумма Во + Во , которая всегда будет равна 1. Сумматор прибавит число 1111 с выходов элементов ИЛИ к числу [А], и в ре- зультате на выходе появится сумма на 1 меньшая, чем [А]. Это произойдет в связи с тем, что 11112 = -1ю- Режим 3: ADD = О, SUB = 1. В этом режиме схема будет работать правильно, так как сигнал SUB = 1, а им управляются элементы И № 2, № 4, № 6 и № 8. 6.20. Полный сумматор на основе ПЛУ Как уже было показано на рис. 6.10, ИС типа 74НС283 может использоваться для реализации четырехбитового полного сумматора. Такую же схему можно реализовать и на ПЛУ, это позволит глубже исследовать формы записи данных на языке CUPL. 360 Глава 6
В разделе 6.12 обсуждалась запись содержимого регистров в форме, которая об- легчала бы описание как данных одного регистра, так и комбинации регистров. На рис. 6.10, а был показан четырехбитовый сумматор со входами первого слагаемого [А], второго слагаемого [В] и суммы [£]. Язык CUPL использует похожую запись, ко- торая позволяет назначать группе битов, называемой набором, имя поля. Набор мо- жет состоять из нескольких отдельных переменных битов (например, инициализации (PRESET), сброса (CLEAR), разрешения (ENABLE)) или группы индексированных переменных (например, D3, D2, Dlt Dq). Набор может даже состоять из одной переменной или выражения, задающего новый набор переменных, в котором та или иная операция осуществляется над каждым элементом набора. Если наборы имеют одинаковые размеры (одинаковое количество бит), то два набора можно объединить с помощью логического выражения точно так же, как это делается и для отдельных переменных в булевых уравнениях. Над битами, занимающими одинаковые позиции каждого набора, осуществляется заданная выражением операция. Это позволяет од- ному уравнению описывать логическую операцию, производимую над всеми четырь- мя полными сумматорами, из которых состоит четырехбитовый сумматор. Пример 6.15 Пусть набор D3, D2, Di, Dq имеет значение 1011, а набор G3, G2, (?i, Go имеет значе- ние 1100. Зададим их имена: Dnum = [D3, D2t Dit Do] и Gnum = [G3, G2, Gx, Go]. Опре- делим также набор X = [X3, X2, Хь Xo], который связан с наборами Dnum и Gnum следующим соотношением: X = Dnum & Gnum. Определите значения переменных набора X после выполнения данной операции. Решение D3, Z>2, A 1 0 1 1 I J J X I X t операция И для каждой позиции. G3, G2, Go 1 1 0 0 x3, x2, x0 1 0 0 0 Таким образом, X — это набор, состоящий из 4 битов со значением 1000. Теперь обратимся к исходному файлу языка CUPL, показанному на рис. 6.20. Контакты, которые будут использоваться в качестве входов и выходов, определяются согласно характеристикам ПЛУ GAL 16V8. Аппаратные характеристики и возмож- ности/ограничения каждого контакта будут рассмотрены далее, а пока следует избе- гать использования контактов № 19, № 16, № 15 и № 12 на тот случай, если потом потребуется создать обратную связь с выходом ПЛУ. Язык CUPL предлагает удобный способ записи для перечня последовательно про- нумерованных контактов или индексированных переменных. Запись [2..5] = [А0..3] присваивает контакту № 2 переменную Ао, контакту № 3 — переменную Аь контак- ту № 4 — переменную А2 и, наконец, контакту №5 — переменную А5. В данном примере определен только один контакт (контакт № 1) для сигнала переноса, так как остальные входы переноса имеют те же самые номера контактов, что и выходы пере- носа предшествующих сумматоров, и поэтому они могут быть соединены внутри ПЛУ (с помощью обратной связи). Чтобы присвоить имя набору битов, используется ключевое слово поле, непосред- ственно за которым следует выбранное для этого набора имя. Биты, из которых со- стоит набор, записываются внутри квадратных скобок. Важная черта рассматривае- мого примера — использование индексов от 1 до 4 в наборе, названном Cout. Осталь- ным наборам присвоены индексы только от 1 до 3. Это позволяет обращаться к Цифровая математика: схемы и операции 361
выходу переноса от сложения нулевых битов как к переменной CI, которая полно- стью совпадает с битом, с помощью обратной связи поданным на полный сумматор следующих, первых битов. Name add4.pld Partno 1234567 Date 2 июня Revision 01 Device gl6v8 ;Designer II. С. Видмер ; ;Company Университет ; ;Assembly Пердью ; ; Location Текст ; . ; Format Глава 6 ; j /* Пример четырехбитового полного сумматора */ /* Входы Pin 1 = CO; Pin [2..5] = [A0..3]; Pin [6..9] = [B0 ,3]; */ /* перенос обозначен нулевым битом переноса */ /* четырехбитовое слагаемое А */ /* четырехбитовое слагаемое В */ /* Выходы Pin [12, 15, 16, 19] = [S0..3]; */ Pin [13, 14, 17, 18] = [Cl..4]; /* Используется С4 (вывод 18) */ /* • Набор определений */ field А = [А3..0]; field В = [В3..0]; field S = [S3. .0]; field Cin = [С3..0]; field Cout = [C4..1]; /* четырехбитовое слагаемое */ /* четырехбитовое слагаемое */ /* четырехбитовая сумма */ /* перенос в каждый из четырех полных сумматоров */ /* перенос из каждого сумматора */ Описание аппаратной части */ Cout = А&В # A&Cin # B&Cin; S = А$ (B$Cin); /* уравнение определяет все четыре бита переноса */ /* уравнение определяет четырехбитовый набор суммы */ Рис. 6.20. Исходный файл для схемы четырехбитового полного сумматора Уравнения 6.2 и 6.3 (см. раздел 6.11) задают булевы выражения для суммы (S) и выхода переноса схемы (Cout). Раздел описания аппаратной части на рис. 6.20 ис- пользует запись в виде набора переменных для описания логической комбинации каждого бита в каждом наборе входных переменных, чтобы сформировать наборы на выходах. Обратите внимание, что символ $ используется для обозначения операции исключающее ИЛИ. Результирующая схема, реализованная на основе программи- руемого логического устройства GAL 16V8, представляет собой полный сумматор, внутренние связи которого показаны на рис. 6.21. Контрольные вопросы I 1. Приведите пример набора индексированных переменных. i 2. Каким образом можно присвоить имя Cout индексированным переменным, за- писанным в первом пункте? 3. Каким будет значение X (см. пример 6.15), если X - Dnum & 0000? 362 Глава 6
1-е слагаемое Аз А 2 А, Ао А 2-е слагаемое Вз В2 Bi Во Б Генэрирсвание суммы Вход переноса С з С2 С 1 С о Свх S = A$[B$CBX] « Сумма S3 S2 S, So s 1 -е слагаемое А з А 2 А, Ao А г. Генерирова.чис битов пероноса 2-е слагаемое Вз В2 Bi Во В СВых= А&Г # A&Cgx # В&С _/ Вход переноса Сз С 2 Ci С о Свх Выход переноса с4 с з С 2 Ci Свых Рис. 6.21. Полный сумматор, реализованный на основе ПЛУ GAL 16V8 Резюме 1. Для представления чисел со знаками в двоичной системе счисления используется знаковый бит, который добавляется справа от старшего значащего бита. Для по- ложительных чисел знаковый бит равен 0, а для отрицательных — 1. 2. Дополнительный код двоичного числа получают с помощью промежуточного пре- образования числа в обратный код с последующим добавлением к нему 1. 3. При использовании дополнительного кода для представления двоичных чисел со знаком, положительные числа представляются модулем, записанным в двоичном виде, и знаковым битом, равным 0; отрицательные числа представляются моду- лем, записанным в дополнительном коде, и знаковым битом, равным 1. 4. Операция отрицания (замены числа на отрицательное) над двоичным числом со знаком проводится с помощью преобразования всего числа в дополнительный код включая знаковый бит. 5. Вычитание двоичных чисел со знаками выполняется с помощью отрицания (преобразования в дополнительный код) вычитаемого с последующим его сложе- нием с уменьшаемым. 6. При сложении чисел, записанных в двоично-десятичном коде, может потребо- ваться коррекция результата, если сумма одного из десятичных разрядов превы- шает 9 (1001). Цифровая математика: схемы и операции 363
7. Когда двоичные числа со знаком представлены в шестнадцатеричной системе, то старший значащий разряд шестнадцатеричного числа будет 8 или больше, если число отрицательное, и 7 или меньше, если оно положительное. 8. Арифметико-логическое устройство (АЛУ) компьютера содержит элементы, необ- ходимые для выполнения арифметических и логических операций над двоичны- ми числами, хранящимися в памяти. 9. Накапливающим регистром называется регистр АЛУ. Он содержит одно из чи- сел, над которыми в данный момент осуществляется какая-либо операция, а также хранит результат этой операции. 10. Полный сумматор выполняет сложение двух битов и бита переноса. Параллель- ный двоичный сумматор состоит из последовательно включенных полных сумма- торов. 11. Проблема больших задержек распространения сигнала переноса в сумматорах может быть частично решена с помощью применения логических схем с уско- ренным переносом. 12. Сумматоры на основе ИС (например, 74LS83/HC83 или 74LS283/HC283) могут использоваться для построения высокоскоростных параллельных сумматоров и вычитателей. 13. Двоично-десятичный сумматор должен иметь в своем составе схему коррекции результата. 14. Интегральные схемы с АЛУ могут выполнять широкий спектр арифметических и логических операций над двумя входными числами. Основные термины перенос знаковый бит система записи “знак-модуль” дополнительный код отрицание первое слагаемое второе слагаемое вычитаемое уменьшаемое переполнение Упражнения арифметико-логическое устройство (АЛУ) накапливающий регистр полный сумматор параллельный сумматор (вычитатель) полусумматор задержка сигнала распространения (пульса- ция сигнала переноса) ускоренный перенос двоично-десятичный сумматор Раздел 6.1 (В) 6.1. Сложите следующие двоичные числа. Проверьте правильность результатов, сложив десятичные эквиваленты приведенных чисел: а) 1010 + 1011; б) 1111 + 0011; в) 1011,1101 + 11,1; г) 0,1011 + 0,1111; д) 10011011+ 10011101. 364 Глава 6
Раздел 6.2 (В) 6.2. Преобразуйте следующие десятичные числа со знаками в дополнительный код. Используйте для этого восемь битов, включая знаковый бит. а) +32; б) -14; в) +63; г) -104; Д) +127; е) -127; ж) +89; з) -55; и) -1; й) -128; к) +169; л) 0; м) +84; н) +3; о) -3; п) -190. (В) 6.3. Каждое из следующих чисел представляет собой десятичное число со зна- ком, записанное в виде дополнительного кода. Определите десятичные зна- чения приведенных чисел. {Подсказка’, используйте операцию отрицания, чтобы преобразовать отрицательные числа в положительные.) а) 01101; б) 11101; в) 01111011; г) 10011001; д) 01111111; е) 10000000; ж) 11111111; з) 10000001; и) 01100011; й) 11011001. 6.4. а) Какой диапазон десятичных чисел со знаком может быть представлен при использовании 12 битов, включая знаковый бит? б) Сколько бит потребуется, чтобы представить десятичные числа, лежа- щие в диапазоне от -32768 до +32767? 6.5. Перечислите по порядку все числа со знаками, которые могут быть пред- ставлены пятью битами в системе дополнительных кодов. Цифровая математика: схемы и операции 365
6.6. Представьте каждое из приведенных десятичных значений 8-битовым дво- ичным числом со знаком. Затем примените к каждому из них операцию от- рицания. а) +73; б) -12; в) +15; г) -1; Д) -128; е) +127. 6.7. Какой диапазон десятичных значений без знаков или со знаками может быть представлен 10 битами? Разделы 6.3 и 6.4 6.8. Причину, по которой представление чисел со знаком в виде “знак-модуль” применяется в большинстве компьютеров относительно редко, демонстри- рует данный пример. а) Представьте +12 с помощью 8 битов, используя форму “знак-модуль”. б) Представьте -12 с помощью 8 битов, используя форму “знак-модуль”. в) Сложите оба полученных выше двоичных числа и обратите внимание на то, что сумма совсем не равна нулю. 6.9. Решите предложенные примеры, применяя дополнительный код. Для каж- дого из чисел используйте восемь битов (включая знаковый бит). Проверьте результаты, преобразовав полученные ответы из двоичной системы в деся- тичную. а) сложите +9 и +6; б) сложите +14 и +17; в) сложите +19 и -24; г) сложите -48 и -80; д) отнимите +16 от +17; е) отнимите +21 от +13; ж) отнимите +47 от +47; з) отнимите -36 от -15; и) сложите +17 и -17; й) отнимите -17 от -17. 6.10. Повторите упражнение 6.9 еще для двух случаев, а также покажите, что при решении данных примеров произойдет переполнение разрядов. а) сложите +37 и +95; б) отнимите +37 от -95. Разделы 6.5 и 6.6 (В) 6.11. Перемножьте между собой следующие пары двоичных чисел; результаты проверьте с помощью умножения десятичных эквивалентов. а) 111 х 101; б) 1011 х 1011; в) 101,101 х 110,010; г) 0,1101 х 0,1011. 366 Глава 6
(В) 6.12. Осуществите деление. Проверьте результаты с помощью деления десятич- ных эквивалентов. а) 1100 + 100; б) 111111+ 1001; в) 10111 - 100; г) 10110,1101 4- 1,1. Разделы 6.7 и 6.8 (В) 6.13. Преобразуйте в двоично-десятичный код и сложите следующие десятичные числа: а) 74 + 23; б) 58 + 37; в) 147 + 380; г) 385 + 118; д) 998 + 003; е) 623 + 599. (В) 6.14. Найдите сумму каждой пары приведенных ниже шестнадцатеричных чисел: а) ЗЕ91 + 2F93; б) 91B + 6F2; в) АВС + DEF; г) 2FFE + 0002; д) FFF + OFF; е) D19№ 1 + ААВ. (В) 6.15. Отнимите друг от друга следующие шестнадцатеричные числа: а) ЗЕ91 - 2F93; б) 91B-6F2; в) 0300 - 005А; г) 0200 - 0003; д) F000-EFFF; е) 2F00-4000. 6.16. В Руководстве пользователя к небольшому микрокомпьютеру написано, что используемые ячейки памяти данного компьютера располагаются по следующим шестнадцатеричным адресам: от 0200 до 03FF и от 4000 до 7FD0. Сколько всего ячеек памяти доступно пользователю? 6.17. а) Ячейка памяти содержит данные, записанные в шестнадцатеричном ви- де — число 77. Определите десятичный эквивалент этого значения, если известно, что оно представляет число без знака. б) Определите десятичный эквивалент этого значения, если оно представ- ляет число со знаком. в) Выполните пп. а и б для значения Е5. Цифровая математика: схемы и операции 367
Раздел 6.11 6.18. Преобразуйте схему на полных сумматорах, показанную на рис. 6.7, в схему только на элементах И-НЕ. 6.19. Запишите таблицу истинности для полусумматора (входы А и В, выходы суммы и переноса). С помощью составленной таблицы спроектируйте логи- ческую схему, которая будет работать как полусумматор. 6.20. Полный сумматор может быть реализован несколькими путями. На рис. 6.22 приведен один из возможных способов его построения из двух по- лусумматоров. Составьте для такой схемы таблицу истинности и убедитесь, что схема действительно функционирует как полный сумматор. Рис. 6.22. Упражнение 6.20 Раздел 6.12 6.21. Изучите схему и временную диаграмму, показанные на рис. 6.9. Определите содержимое регистра А после следующей последовательности операций: [А] = 0000, [0100] -> [В], [В] -> [А], [1011] -► [В], [В] -* [А]. 6.22. Предположим, что каждый триггер схемы на рис. 6.9 имеет времена пере- хода от одного логического уровня к другому £Plh ~ ^рнъ = 30 нс, время ус- тановки триггера — 10 нс, а задержка распространения сигнала равна 40 нс. Какое минимальное время допускается между положительным фрон- том импульса загрузки (LOAD) и положительным фронтом импульса пере- дачи (TRANSFER), чтобы схема могла правильно работать? (D) 6.23. При рассмотрении в этой главе схем сумматоров и вычитателей мы не уг- лублялись в обсуждение проблемы переполнения. Переполнение возникает в том случае, если два числа, которые складываются или вычитаются, приво- дят к результату, содержащему большее количество бит, чем может вме- стить накапливающий регистр. Например, при использовании четырехбиго- вых (включая знаковый бит) регистров можно хранить числа, лежащие в диапазоне от +7 до -8 (записанные в дополнительном коде). Следовательно, если результат сложения или вычитания превышает +7 или -8, то возника- ет переполнение, в таком случае результат не может считаться правильным, поскольку его нельзя полностью записать в аккумулятор. Поясним сказан- ное на примере. Предположим, что сумма чисел +5 (0101) и +4 (0100) соста- вила 1001. Полученное число будет принято за отрицательное, так как в по- зиции знакового бита получилась 1. 368 Глава 6
В компьютерах и калькуляторах обычно имеются схемы, которые исполь- зуются для обнаружения условия, приводящего к переполнению. Есть не- сколько возможных способов обнаружить такое условие. Один из них, кото- рый может использоваться в сумматорах, оперирующих числами в дополни- тельном коде, заключается в следующем: а) определяются биты знака обоих складываемых чисел; б) определяется знаковый бит результата; в) переполнение происходит, если оба складываемых числа положитель- ные, но знаковый бит результата равен 1 или если они оба числа отри- цательные, а знаковый бит результата равен 0. Решив следующие задачи, вы легко убедитесь в том, что этим способом пе- реполнение действительно обнаруживается: (1) 5 + 4; (2) -4 + (-6); (3) 3 + 2. В двух первых случаях возникает переполнение, а в третьем его нет. Таким образом, можно спроектировать логическую схему, которая, анализируя би- ты знака, будет выдавать на выходе единичный сигнал в случае возникно- вения условия переполнения. Спроектируйте такую схему для сумматора, показанного на рис. 6.9. (С, D) 6.24. Добавьте к схеме, изображенной на рис. 6.9, необходимые логические эле- менты, чтобы приспособить ее к передаче данных из памяти в регистр А. Значения данных из памяти должны быть помещены в регистр А через D- входы триггеров по положительному фронту первого импульса передачи (TRANSFER); данные с выходов суммы полных сумматоров должны быть загружены в регистр А по положительному фронту второго импульса пере- дачи. Иначе говоря, для осуществления полной последовательности дейст- вий (т.е. загрузки из памяти регистра В, загрузки из памяти регистра А и затем передачи суммы в регистр А) потребуется импульс загрузки (LOAD), за которым непосредственно следуют сразу два импульса передачи. (Подсказка: используйте дополнительный триггер X для определения ис- точника загрузки данных в аккумулятор.) Раздел 6.13 (С, D) 6.25. Спроектируйте схему с ускоренным переносом для сумматора, изображенно- го на рис. 6.9, которая на основе значений Ao, Во, Со, AJf В1Э А2 и В2 форми- ровала бы сигнал переноса С3 и подавала бы его на полный сумматор стар- ших значащих битов. Другими словами, получите выражение для С3, вклю- чающее в себя члены Ao, Во, Со, Alf Blf А2 и В2. (Подсказка: сперва получите логическое выражение для бита членами которого являются Ао, Во и Со. Затем запишите выражение для бита С2 с членами Alt Bi и Л. Перепишите это же выражение для С2. И наконец, напишите выражение для С3. членами которого будут А2, В2 и С2. Замените выражение для С2 вы- ражением для С3. Упростите конечное выражение для С3 и перепишите его в дизъюнктивной форме. Реализуйте схему на основе полученного уравнения.) Раздел 6.14 6.26. Покажите логические уровни на всех входах и выходах сумматора, приве- денного на рис. 6.10, а, если складываются числа 3548 и 1038. Раздел 6.15 6.27. Определите состояния выходов схемы на рис. 6.13, с которых снимается сумма, для следующих ситуаций: Цифровая математика: схемы и операции 369
а) регистрА = 0101 (+5), регистр В = 1110 (-2); SUB = 1, ADD = 0; б) регистр А = 1100 (-4), регистр В = 1110 (-2); SUB = 0, ADD = 1; в) повторите предыдущий пункт для SUB = ADD = 0. (D) 6.28. Как можно реализовать элементы, показанные на рис. 6.13, используя три ИС 74НС00? (В) 6.29. Измените схему на рис. 6.13 таким образом, чтобы вместо входов ADD и SUB в ней использовался бы только один вход управления X. При X » 0 схема должна работать как сумматор, а при X = 1 — функционировать в качестве вычитателя. Затем упростите каждый набор элементов. (Подсказка', обратите внимание, что каждый набор логических элементов выполняет функции управляемого инвертора.) Раздел 6.16 6.30. Пусть на входах схемы, показанной на рис. 6.14, имеются следующие зна- чения: [А] = 0101, [В] = 1001, Со = 0. Определите логические уровни на вы- ходах [В], X, [Е] и выходе переноса (CARRY). (С) 6.31. Если бит Со верхнего сумматора имеет низкий уровень напряжения, в то время как бит Со нижнего сумматора используется в качестве входа перено- са, повлияет ли это каким-либо образом на двоично-десятичный сумматор, изображенный на рис. 6.14? Поясните свой ответ. 6.32. Пусть в регистр А схемы, показанной на рис. 6.15, записан двоично- десятичный код числа 376, а в регистр В — двоично-десятичный код числа 469. Определите состояния выходов схемы. Раздел 6.17 (В) 6.33. Определите состояния выходов F, CN+4 и OVR для каждого набора входных данных, поданного на ИС 74LS382: а) [В] = 011, [А] = ОНО, [В] = ООН, CN = 0; б) [В] = 001, [А] = ОНО, [В] = ООН, CN = 1; в) [В] = 010, [А] = ОНО, [В] = ООН, CN = 1. (D) 6.34. Покажите, каким образом ИС 74НС382 может быть использована для фор- мирования [F] = [А]. (Подсказка', следует вспомнить некое специфическое свойство элемента исключающее ИЛИ.) 6.35. Определите состояния выходов [Е] схемы, приведенной на рис. 6.17, для следующих наборов входных данных: а) [В] = НО, [А] = 10101100, [В] = 00001111; б) [В] = 100, [А] = 11101110, [В] = 00110010. (С, D) 6.36. Добавьте необходимые логические элементы к схеме на рис. 6.17, чтобы сформировать сигнал с высоким уровнем в том случае, если двоичное число на входе А совпадает с числом, поданным на В. Для этого подайте соответ- ствующий код выбора функции (всего можно использовать три кода). 370 Глава 6
Раздел 6.19 (Т) 6.37. Изучите схему, показанную на рис. 6.9. Пусть выход А2 постоянно имеет низкий уровень сигнала. Последовательно пройдите все выполняемые при сложении пары чисел действия и определите результаты, которые будут за- писаны в регистр А при сложении приведенных ниже чисел после прохож- дения на схему второго импульса передачи (TRANSFER). Обратите внима- ние, что числа приведены в десятичной системе счисления; первое число — то, которое загружается в регистр В по приходу импульса загрузки (LOAD). а) 2 + 3; б) 3 + 7; в) 7 + 3; г) 8 + 3; Д) 9 + 3. (Т) 6.38. Техник тестирует лабораторный макет сумматора/вычитателя, изображен- ного на рис. 6.13. Во время испытаний специалист обнаружил, что при сложении результат превышает ожидаемый на 1, а при вычитании он на 1 меньше, чем надо. Какая ошибка, допущенная техником, могла привести к подобной работе схемы? (Т) 6.39. Результаты тестирования двоично-десятичного сумматора (рис. 6.14) запи- саны в табл. 6.4. Изучите список возможных неполадок схемы и укажите напротив каждого пункта, какие неполадки действительно могли иметь ме- сто. Поясните каждый ответ. а) Входы А! и Ао корректирующего сумматора имеют внутреннее замыка- ние друг на друга. б) Произошло размыкание между узлом X и корректирующим сумматором. в) Входы верхнего элемента ИЛИ имеют внутреннее замыкание друг на друга. г) На выходе элемента И постоянно наблюдается низкий уровень. Таблица б.4 ВзВгВ\Вй 1 А) E3L3E3E3 Перенос (Л) (D 0011 0110 1001 0 (2) 0111 1000 1111 0 (3) 1001 1001 0010 0 Раздел 6.20 6.40. Пусть в исходном файле CUPL установлены следующие значения наборов А и В: А = [1001], В = [1100], а бит С - 1. Определите значение набора X для каждого из приведенных ниже выражений в формате CUPL: а) X = А # В; б) X = А & В; в) X = А $ В; г) X = !А; д) X = А # С; Цифровая математика: схемы и операции 371
е) X = А & С; ж) X = А $ С. Практическое задание 6.41. Дайте определения следующим терминам: х а) полный сумматор; б) дополнительный код; в) арифметико-логическое устройство; г) знаковый бит; д) переполнение; е) аккумулятор; ж) параллельный сумматор; з) ускоренный перенос; и) отрицание; й) регистр В. Функционирование микрокомпьютеров (С, D) 6.42. В типичном АЛУ микропроцессора результаты каждой арифметической операции обычно (но не всегда) передаются в накапливающий регистр, как это показано на рис. 6.9, 6.13 и 6.16. В большинстве арифметико- логических устройств результат каждой операции также используется для управления состояниями нескольких триггеров, которые называются фла- гами. Такие флаги используются микропроцессором, когда он принимает решения во время выполнения некоторых команд. Ниже приведены три наиболее часто используемых флага: S — флаг знака (sign flag). Этот триггер всегда имеет такое же состояние, что и знак последнего результата, записанного в АЛУ. Z — флаг нуля (zero flag). Этот флаг устанавливается в 1, если результат, хранящийся в АЛУ, равен 0. В противном случае он сбрасывается в 0. С — флаг переноса (carry flag). Этот триггер всегда имеет такое же состоя- ние, что и перенос из старшего значащего бита АЛУ. Используя сумматор/вычитатель (рис. 6.13) в качестве АЛУ, спроектируйте логическую схему, которая реализовала бы эти флаги. Для управления со- стояниями флагов в момент поступления на схему импульса передачи (TRANSFER) должны использоваться выходы суммы и выход переноса С4. Например, если сумма в точности равна 0 (т.е. 0000), по положительному фронту импульса передачи должен быть выставлен флаг нуля Z; во всех других случаях этот флаг нужно сбросить. 6.43. При работе с микрокомпьютерами часто необходимо переместить двоичные числа из 8-битового регистра в 16-битовый. Рассмотрим ситуацию с числами 01001001 и 10101110 (т.е. числа +73 и -82, записанные в дополнительном коде). Запишите эти числа в 16-битовом виде. 6.44. Сравните 8-битовую и 16-битовую формы записи числа +73 из упражнения 6.42. Затем сравните их для числа -82. Есть общее правило, которое можно использовать для преобразования величин из одной формы в другую. Може- те ли вы самостоятельно найти его? Надо отталкиваться от знакового бита 8-битового числа. 372 Глава 6
Ответы к контрольным вопросам Раздел 6.1 1. а) 11101; б) 101,111; в) 10010000. Раздел 6.2 1. а) 00001101; б) 11111001; в) 10000000. 2. а) -29; б) -64; в) +126. 3. От -2048 до +2047. 4. Семь. 5. -32768. 6. а) 10000; б) 10000000; в) 1000. 7. См. по тексту. Раздел 6.3 1. Да. 2. а) 1000102 =-3010; б) 0000002 = 010. Раздел 6.4 1. а) 011112 = +1510; б) 111112 = -110. 2. Сравнив знаковый бит полученной суммы с битами знаков складываемых чисел. Раздел 6.6 1. 1100010. Раздел 6.7 * 1. Сумма битов хотя бы одного десятичного разряда превышает число 1001 (9). 2. И к разряду единиц, и к разряду десятков необходимо добавлять корректирую- щее слагаемое. Цифровая математика: схемы и операции 373
Раздел 6.8 1. 923. 2. 3DB. 3. 2F, 77ЕС, 6D. Раздел 6.10 1. Три; два. 2. a) S2 = 0, С3 = 1; б) С5 = 0. Раздел 6.12 1. Один; четыре; четыре. 2. 0100. Раздел 6.14 1. Пять. 2. 240 нс. 3. 1. Раздел 6.15 1. Чтобы добавить 1, необходимую для преобразования числа, записанного в ре- гистр В, из обратного кода в дополнительный. 2. 0010. 3. 1101. 4. Нет; на вход подается обратный, а не дополнительный код. Раздел 6.16 1. Два четырехбитовых сумматора и корректирующие логические элементы. 2. Схема коррекции обнаруживает ситуации, когда сумма превышает 9 и в'этом случае добавляет к сумме число ОНО. Раздел 6.17 1. F = 1011; OVR = 0; CN+4 = 0. 2. F = 0111; OVR = 1; CNJ4 = 1. 3. F = 1000. 4. Z = 01101011; CN4.4 = OVR = 0. 5. Z = 11111111. 6. Восемь. Раздел 6.20 1» [Фз> Qi> Qo]- 2. Field Count = [Q3, Q2, Qi, Qo]- 3. X = [0, 0, 0, 0]. 374 Глава 6
Глава 7 Счетчики и регистры Содержание: Часть I 7.1. Асинхронные счетчики 7.2. Счетчики с коэффициентом пересчета менее 2N 7.3. Интегральные схемы асинхронных счетчиков 7.4. Асинхронные вычитающие счетчики 7.5. Задержка на распространение сигнала в асинхронных счетчиках 7.6. Синхронные (параллельные) счетчики 7.7. Синхронные вычитающие и реверсивные счетчики 7.8. Предустанавливаемые счетчики 7.9. ИС 74ALS193/HC193 7.10. Еще о системах обозначений стандарта IEEE/ANSI 7.11. Декодирование значения счетчика 7.12. Сбои при декодировании 7.13. Последовательное включение двоично-десятичных счетчиков 7.14. Проектирование синхронного счетчика 7.15. Счетчик на сдвиговых регистрах Часть II 7.16. Применение счетчиков: счетчик частоты 7.17. Применение счетчиков: цифровые часы 7.18. Регистры интегральных схем 7.19. Параллельный вход/ параллельный выход — ИС 74ALS174/74HC174 7.20. Последовательный вход/последовательный выход — ИС 4731В 7.21. Параллельный вход/последовательный выход — ИС 74ALS165/74HC165 7.22. Последовательный вход/параллельный выход — ИС 74ALS164/74HC164 7.23. Условные обозначения регистров стандарта IEEE/ANSI 7.24. Решение основных проблем 7.25. Программирование ПЛУ при помощи булевых выражений для работы в качестве счетных схем
В этой главе: характеристики синхронных и асинхронных счетчиков; конструкция счетчиков с коэффициентом пересчета меньгаим, чем 2 ; обозначения IEEE/ANSI, используемые в интегральных схемах счетчиков и регистров; конструкция суммирующих и вычитающих счетчиков; соединение многокаскадных счетчиков; анализ и оценка различных типов предустанавливаемых счетчиков; проектирование произвольно соединенных синхронных счетчиков; несколько типов схем произвольно соединенных счетчиков; устранение эффектов, возникающих из-за помех декодирования; наиболее важные различия между кольцевыми счетчиками и счетчиками Джонсона. описание работы счетчиков-делителей частоты и цифровых часов; описание работы различных типов регистров на интегральных схемах; поиск неисправностей на основе имеющейся техники, использованной в системах комбинаторной логики, а также поиск неисправностей в после- довательных логических схемах; программирование типовой матричной логики 16V8 для работы в качест- ве счетчика. Введение В главе 5 были описаны способы соединения триггеров для работы в качестве счетчиков и регистров, причем речь шла лишь об основных схемах счетчиков и реги- стров. В цифровых системах используются различные варианты этих схем, по боль- шей части в виде ИС. Прочитав данную главу, читатель узнает, как можно комбини- ровать триггеры и логические элементы для создания различных типов счетчиков и регистров. Часть I 7.1. Асинхронные счетчики На рис. 7.1 показан четырехбитовый двоичный счетчик, принцип работы которого подробно описан в главе 5. Напомним основные моменты работы данного счетчика. 1. Тактовые импульсы подаются только на вход CLK триггера А. Таким образом, триггер А переключается (его состояние изменяется на противоположное) каж- дый раз, когда тактовый импульс совершает переход с низкого уровня на высо- кий. Обратите внимание, что J = К = 1 для всех триггеров. 2. Обычный выход триггера А служит входом CLK для триггера, и таким образом триггер В переключается каждый раз, когда сигнал на зыходе триггера А пере- ходит из состояния 1 в состояние 0. Аналогично, триггер С переключается, когда 376 Глава 7
сигнал на выходе триггера В переходит из 1 в 0, а триггер D переключается при переходе сигнала на выходе С из 1 в О. 3. Выходные сигналы триггеров D, С, В и А представляют четырехбитовое двоичное число, в качестве СЗБ используется значение D. Предположим, что все триггеры находятся в состоянии 0 (входы сигнала сброса не показаны). Сигналы на рис. 7.1 отражают тот факт, что двоичная счетная последовательность от 0000 до 1111 отслеживает непрерывно поступающие тактовые импульсы. 4. После того как произошел NGT на пятнадцатом тактовом импульсе, триггеры счетчика находятся в состоянии 1111. Реагируя на NGT шестнадцатого тактового импульса, триггер А переходит из состояния 1 в состояние 0, что также вызывает переход триггера В из 1 в 0 и т.д., пока счетчик переходит в состояние 0000. Другими словами, счетчик проходит один полный цикл (от 0000 до 1111) и воз- вращается в состояние 0000, из которого он начинает новый счетный цикл для поступающих тактовых импульсов. Этот тип счетчика, где каждый выход триггера управляет входом CLK следующе- го триггера, получил название асинхронного счетчика, так как триггеры не меняют свое состояние синхронно с входящими тактовыми импульсами; только триггер А реагирует на тактовые импульсы. Триггер В должен дождаться изменения состояния триггера А, прежде чем он сам переключится; триггер С должен ждать переключе- ния триггера В и т.д. Таким образом, существует задержка между ответами следую- щих один за другим триггеров. Эта задержка обычно составляет 5-20 нс на каждом триггере. В некоторых случаях, как будет показано далее, эта задержка может быть непостоянной. Данный тип счетчиков часто также называют счетчиками со сквоз- ным переносом, поскольку триггеры реагируют один за другим, создавая своего рода эффект волны. 10 11 18 С D 13 14 15 16 0001 0010 0011 0101 0110 110111110 111110000 0100 0001 1011 1100 0010 0111 DCBA (счет) Возврат кОСОО Рис. 7.1. Четырехбитовый асинхронный счетчик 1 1 1 ;юоо 1 1 1 1001 1010 В Счетчики и регистры 377
Прохождение сигнала Общепринято, что принципиальные схемы изображают (где возможно) исходя из условия, что сигнал протекает слева направо (со входными сигналами слева и вы- ходными справа). В этой главе данное условие часто нарушается, особенно на диа- граммах, описывающих счетчики. Например, на рис. 7.1 входы CLK каждого триг- гера находятся справа, выходы — слева, а входящий тактовый синхросигнал пока- зан следующим справа. Такое расположение сигналов упрощает операции счета, их легче понимать и отслеживать, поскольку порядок триггеров аналогичен порядку бит в двоичном числе, которое счетчик отображает. Другими словами, триггер А (значение которого используется в качестве МЗБ) — крайний справа триггер, а триг- гер D (который используется в качестве СЗБ счетчика) — крайний слева триггер. Ес- ли придерживаться общепринятого направления протекания сигнала “слева напра- во”, то необходимо разместить триггер А слева, а триггер D справа, что противоречит их расположению в двоичном числе, которое счетчик отображает. Далее в этой главе на некоторых временных диаграммах счетчика будет использована традиционная ориентация сигнала “слева направо” с тем, чтобы читатель привыкал к этому распо- ложению. Пример 7.1 Счетчик на рис. 7.1 начинает работу в состоянии 0000 и далее на него подаются так- товые импульсы. В некоторый момент времени тактовые импульсы прекращаются, при этом в счетчике записано значение ООН. Сколько тактовых импульсов прошло на счетчик? Решение Очевидным ответом кажется три, поскольку ООН — двоичный эквивалент числа 3 в десятичной системе счисления. Впрочем, в формулировке задачи неизвестно, сбрасы- вался ли счетчик. Может оказаться, что получено 19 тактовых импульсов — первые 16 импульсов вернули счетчик назад в состояние 0000, а три последующих задали состояние ООН. Это могли быть 35 импульсов (два полных цикла и три последую- щих импульса) или 51 импульс и т.д. Коэффициент пересчета Счетчик на рис. 7.1 имеет шестнадцать устойчиво различимых состояний (с 0000 до 1111). Таким образом, это асинхронный счетчик с коэффициентом пересчета (КЛер), равным шестнадцати. Напомним, что Кпер всегда равен максимальному коли- честву импульсов, которое счетчик может просчитать и запомнить без повторения со- стояний. К|1Ср может быть увеличен добавлением количества триггеров в счетчик, т.е. КПСр = 2^, (7.1) где N — количество триггеров, подключенных в схеме на рис. 7.1. Пример 7 2 Счетчик может понадобиться для подсчета количества проходящих предметов на конвейерной ленте. Система, состоящая из фотоэлемента и источника света, используется для генерации одиночного импульса каждый раз, когда предмет пере- секает ее элементы. Счетчик должен подсчитывать до тысячи предметов. Сколько триггеров потребуется? 378 Глава 7
Решение Несложно вычислить, что величина N должна быть такой, чтобы выполнялось усло- вие 2n £ 1000. Поскольку 29 = 512, то девяти триггеров не достаточно. Число 210 = 1024, значит, из 10 триггеров можно сделать счетчик, который сможет считать до 11111111112 = 1023ю. Следовательно, используется десять триггеров. Можно исполь- зовать больше, чем десять, но это будет лишним, так как использование более десяти триггеров не требуется. Деление частоты В основных типах счетчиков каждый триггер обеспечивает сигнал на выходе с вдвое меньшей частотой сигнала, чем на входе CLK (см. главу 5). Предположим, что сигнал на рис. 7.1 имеет частоту 16 кГц. На рис. 7.2 показан сигнал на выходе триггера. Сигнал на выходе триггера А — это меандр с частотой 8 кГц, на выходе В — 4 кГц, на выходе С — 2 кГц, на выходе D — 1 кГц. Отметим, что выход триггера D имеет частоту, равную исходной частоте, деленной на шестнадцать. Вообще, в любом счетчике сигнал на выходе последнего триггера (т. е. старший разряд) будет иметь частоту, равную частоте сигнала на входе, делен- ную на Кпвр счетчика. Рис. 7.2. Временные диаграммы, показывающие деление частоты пополам на каждом счетчике Например, в счетчике, где Кпер = 16, сигнал на выходе последнего счетчика будет иметь частоту, равную частоте исходного сигнала, деленной на шестнадцать. Таким образом, счетчик также можно назвать делителем частоты на шестнадцать. Подоб- ным образом сигнал на выходе счетчика с Кпер = 8 будет иметь частоту, равную 1/8 входной частоты, — это счетчик-делитель частоты на 8. Пример 7.3 Первый шаг в создании цифровых часов — это получение сигнала с частотой 60 Гц и подача его на триггер Шмитта, который формирует импульсы прямоугольной формы, как показано на рис. 7.3. Далее меандр с частотой 60 Гц подается на счетчик с Кпер = = 60, который использован для получения сигнала с частотой 1 Гц. Это достигается путем деления частоты на входе счетчика на шестьдесят. Данный сигнал с частотой в один герц питает несколько счетчиков, которые отсчитывают секунды, минуты, часы и т.д. Сколько же триггеров нужно использовать для создания счетчика с Кпер = 60? Решение Нет такого показателя степени, при возведении в который результат будет равен шестидесяти. Наиболее близкий результат — 26 = 64. Таким образом, счетчик, ис- СЧЕТЧИКИ И РЕГИСТРЫ 379
пользующий шесть триггеров, будет работать с Кпер, равным шестидесяти четырем. Очевидно, что это не удовлетворяет требованию. На первый взгляд, не существует решения, при котором будет использован тип счетчика, изображенного на рис. 7.1. Однако в следующем разделе будет описано, как видоизменить основной двоичный счетчик таким образом, что с помощью его можно будет получить любой Кпер и не ограничиваться значениями 2N. 60 Гц 6ОГц 1Гц Рис. 7.3. Пример 7.3. Контрольные вопросы 1. Все ли триггеры в асинхронных счетчиках меняют свое состояние в одно и то же время? 2. Предположим, что счетчик на рис. 7.1 установлен в состояние 0101. В какое состояние перейдет счетчик после двадцати семи тактовых импульсов? 3. Что будет с коэффициентом пересчета счетчика, если в счетчик добавить три триггера? 7.2. Счетчики с коэффициентом пересчета менее 2 Основной асинхронный счетчик, изображенный на рис. 7.1, имеет ограниченное значение коэффициента пересчета, который равен 2N, где N — количество триггеров. Это значение фактически является максимальным значением коэффициента пересче- та, которое может быть получено при условии использования N триггеров. Основной счетчик можно видоизменить и получить коэффициент пересчета менее, чем 2Ы. Это позволит счетчику получить пропущенные значения коэффициента пересчета, кото- рые являю гея’обычной частью счетной последовательности, т.е. получить значения, которые находятся между значениями 2N. Один из часто употребляемых методов ви- доизменения счетчика изображен на рис. 7.4, где показан трехбитовый счетчик (без учета элемента И-НЕ) с Кпер = 8, который может отсчитывать последовательность от ООО до 111. Впрочем, наличие элемента И-НЕ видоизменит эту последовательность следующим образом: 1. Выход элемента И-НЕ подсоединен к асинхронному входу сигнала сброса каждо- го триггера. До тех пор, пока на выходе элемента И-НЕ наблюдается высокий уровень сигнала, в счетчике ничего не происходит. Когда уровень сигнала будет низким, произойдет сброс всех триггеров, а счетчик установится в состояние ООО. 2. Входы элемента И-НЕ являются выходами триггеров В и С, а уровень сигнала на выходе элемента становится низким всякий раз, когда В = С = 1. Это состояние наступает, когда счетчик переходит из состояния 101 в состояние 110 в момент срабатывания схемы по отрицательному фронту шестого входного импульса. Низкий уровень сигнала на выходе элемента И-НЕ немедленно (обычно в течение нескольких наносекунд) сбрасывает счетчик в состояние 000. Когда триггеры 380 Глава 7
сброшены, уровень сигнала на выходе элемента И-НЕ становится снова высоким и состояния В ~ С = 1 больше не существует. 3. Счетная последовательность такова: ООО 001 010 011 100 101 110 —(временное состояние, используемое для очистки счетчика) Несмотря на то, что счетчик переходит в состояние 110, через несколько наносе- кунд он сбрасывается в состояние ООО. Таким образом, можно сказать, что этот счетчик просчитывает значения от ООО (ноль) до 101 (пять) и затем сбрасывается в ООО. Счетчик перескакивает значения 101 и 111, используя только шесть раз- Входные импульсы A В С Выход И-НЕ Рис. 7.4. Счетчик с Кпер = 6, используемый для сброса счетчика с Кпер = 8 после шестого импульса (110) Счетчики и регистры 381
Обратите внимание, что сигнал на выходе триггера В содержит узкие импульсы по причине кратковременного нахождения счетчика в состоянии 110 перед сбросом в состояние ООО. Импульсы помех весьма кратковременные и никак не отображаются на светодиодах или цифровых индикаторах (это может представлять проблему при условии, что выход триггера В будет использоваться для управления другими схема- ми вне счетчика). На выходе триггера С сигнал имеет частоту, равную одной шестой от входной частоты; другими словами, счетчик с Кпер = 6 делит входную частоту на шесть. Сигнал на С не симметричен прямоугольному (50% рабочего цикла), посколь- ку у него высокий уровень сигнала только для двух периодов тактовых импульсов, тогда как для четырех периодов тактовых импульсов уровень сигнала низкий. Диаграмма переходов состояний На рис. 7.5, а представлена диаграмма переходов состояний для счетчика с Кпер = 6, изображенного на рис. 7.4. Эта диаграмма показывает, как триггеры С, В и А изме- няют состояния применительно ко входу CLK триггера А. Напомним, что каждая окружность представляет одно из возможных состояний счетчика, а стрелки показы- вают, как одно состояние счетчика меняется на другое, реагируя на входной такто- вый импульс. Предположим, отсчет начат с состояния ООО, а диаграмма показывает, что со- стояния счетчика изменяются нормально вверх до достижения состояния 101. С по- ступлением следующего тактового импульса счетчик временно переходит в состояние 110, а затем устанавливается в состояние ООО. Пунктирные линии показывают ха- рактер состояния 110. Как было описано выше, продолжительность временного со- стояния 110 очень мала и можно увидеть, как счетчик переходит непосредственно из состояния 101 в 000 (сплошная стрелка). Отметим, что в состоянии 111 нет стрелки, так как счетчик не может установить- ся в это состояние. Впрочем, состояние 111 может установиться при включении пи- тания, когда триггеры переходят в произвольное состояние. Если это случилось, со- стояние 111 приведет к установлению низкого уровня^ сигнала на выходе элемента И-НЕ и немедленно сбросит счетчик в состояние 000. Итак, состояние 111 является временным и всегда приводит к сбросу счетчика в 000. Отображение состояний счетчика Иногда во время работы и очень часто во время испытаний необходимо просле- дить, как счетчик меняет свои состояния, реагируя на входные импульсы. Далее в тексте будут детально рассмотрены несколько видов решения этой задачи, а сейчас обратим внимание на рис. 7.5, на котором показан один из простейших методов, ис- пользующий индивидуальные светодиоды на каждом выходе триггеров. Каждый вы- ход триггера подсоединен к инвертору, который управляет током, питающим свето- диод. Например, когда на выходе триггера А сигнал имеет высокий уровень, на вы- ходе инвертора сигнал имеет низкий уровень и светодиод включен. Светящийся светодиод указывает на то. что А = 1. Когда на выходе триггера А уровень сигнала низкий, то на выходе инвертора уровень сигнала высокий и светодиод выключен. Потухший светодиод указывает на то, что А = 0. Пример 7.4 а) Какое будет состояние светодиода при задержке счета на пяти? б) Что покажут светодиоды, если счетчик синхронизирован входным сигналом с частотой 1 кГц? в) Заметно ли состояние 110 на светодиодах? 382 Глава 7
С В A Временное состояние а) +5 В Индикатор светится, когда триггер в состоянии 1 В С б) Рис. 7.5. Диаграмма переходов состояний счетчика с Кпвр = 6, изображенного на рис. 7.4 Решение а) Так как 510 = Ю12, для 2° и 22 светодиоды включены, в состоянии 21 светодиод выключен. Счетчики и регистры 383
б) На частоте 1 кГц светодиоды включаются и выключаются так быстро, что для че- ловеческого глаза они выглядят включенными все время. в) Нет, не заметно; состояние 110 просуществует только несколько наносекунд и счетчик переключится в состояние ООО. Изменение коэффициента пересчета На рис. 7.4 и 7.5 изображен счетчик с Кпер=6, по причине выбора входов на эле- менте И-НЕ. Любые другие желаемые коэффициенты пересчета могут быть получены путем изменения подключения этих входов. Например, используя трехвходовый элемент И-НЕ со входами А, В и С, счетчик будет работать нормально до достижения состояния 111 (в этой точке произойдет сброс счетчика в состояние ООО). Пренебре- гая очень коротким уходом в состояние 111, счетчик будет просчитывать состояния от ООО по 110, затем снова произойдет сброс в состояние ООО, в результате получаем счетчик с Кпер = 7 (семь состояний). Пример 7.5 Определим Кпер счетчика на рис. 7.6, а и вычислим частоту на выходе триггера D. 384 Глава 7
Решение Это четырехбитовый счетчик, который просчитывает значения от 0000 по 1111. Вхо- дами элемента И-НЕ являются выходы триггеров D, С и В; это означает, что счетчик немедленно сбросится в 0000 при достижении значения 1110 (14ю). Таким образом, счетчик фактически имеет четырнадцать различимых состояний от 0000 по 1101 и, следовательно, это счетчик с Кпер = 14. На входе частота равна 30 кГц, а на выходе D частота составляет ЗОкГц _ . . _ -----— = 2,14 кГц. 14 Основной алгоритм Для создания счетчика, который начинает отсчет из состояния “все нули” и имеет Кпер = X, необходимо: 1. Определить наименьшее количество триггеров, которое удовлетворяет условию 2N и соединить их в счетчик. Если 2N = X, то пп. 2 и 3 выполнять не нужно. 2. Подсоединить элемент И-НЕ к асинхронным входам сигнала сброса всех тригге- ров. 3. Определить, какие триггеры будут иметь высокий уровень сигнала при достиже- нии состояния X, а затем подсоединить прямые выходы этих триггеров ко вхо- дам элемента И-НЕ. Пример 7.6 Сконструируем счетчик с Кпер = 10, который будет просчитывать состояния от 0000 до 1001 (910). Решение Число 23 = 8, а 24 = 16, таким образом необходимо четыре триггера. Счетчик для стабильных операций просчета до значения 1001 должен сбрасываться в состояние 0000 при достижении 1010, поэтому выходы триггеров D и В нужно подсоединить на входы элемента И-НЕ. На рис. 7.6, б показано необходимое расположение компонен- тов схемы. Десятичные счетчики/двоично-десятичные счетчики Счетчик с Кпер = 10 из примера 7.6 относится к десятичным счетчикам. Фактиче- ски, десятичным счетчиком является любой счетчик, который имеет десять разли- чимых состояний, необязательно последовательных. Десятичный счетчик на рис. 7.6, б просчитывает последовательность от 0000 (ноль) до 1001 (910). Обычно такие счетчи- ки называют двоично-десятичными счетчиками по причине использования ими деся- ти двоично-десятичных кодовых групп 0000, 0001, ..., 1000 и 1001. Таким образом, счетчик с Кпер = 10, а также счетчик, который просчитывает состояния в двоичной системе от 0000 до 1001, называется двоично-десятичным счетчиком. Десятичные счетчики (особенно двоично-десятичные) нашли широкое применение в системах, где подсчитываются импульсы или события. Результаты подсчетов ото- бражаются на некоторых типах десятичных цифровых выводов (детально об этом рассказано дальше). Десятичный счетчик также часто используется для деления час- тоты на десять. Входные импульсы попадают на триггер А, выходные импульсы снимаются с выхода триггера D, где частота уже в десять раз меньше входной. Счетчики и регистры 385
Пример 7.7 В примере 7.3 счетчику с Кпер == 60 нужно опускать частоту питания с шестидесяти герц до одного герца. Сконструируем соответствующий счетчик с Кпер = 60. Решение Число 2б = 32, а 2е = 64, т.е. нужно шесть триггеров, как показано на рис. 7.7. При достижении значения 601о (1111002) счетчик сбрасывается. Таким образом, выходы триггеров Q5, Q4, Q3 и Q2 должны быть подсоединены к элементу И-НЕ. На выходе триггера Q6 частота сигнала будет уже один герц. Рис. 7.7. Счетчик с Кпер = 60 Ко"Прольные вопросы 1. Выходы каких триггеров нужно подсоединить к сбрасывающему элементу И-НЕ для формирования счетчика с Кпер = 13? 2. Являются ли все двоично-десятичные счетчики десятичными? 3. Определите выходную частоту десятичного счетчика, на который подается так- тирующий сигнал частотой 50 кГц. 7.3. Интегральные схемы асинхронных счетчиков Существует несколько интегральных схем (ИС) асинхронных счетчиков на ТТЛ и КМОП. Одна из них — это интегральная схема 74LS293 на ТТЛ. На рис. 7.8 изобра- жена функциональная схема 74LS293, как она выглядит в производственной книге данных. Отметим следующее: 1. Схема 74LS293 имеет четыре J-K-триггера с выходами Qo, Qb Q2, Q3. Выход Qo — это младший значащий разряд, a Q3 — старший значащий разряд. Тригге- ры показаны с расположенным слева младшим значащим разрядом, это сделано для выполнения условия прохождения входного сигнала слева направо. Счетчики изображаются с расположенным справа младшим значащим разрядом, это раз- мещение будет использовано и далее. 2. У каждого триггера есть вход СР (вход синхронизации), это второе название вхо- да CLK. Входы синхронизации Qo и Qlt СР0 и СРХ , соответственно, внешне дос- тупны. Полосы инверсии над этими входами указывают на то, что они управля- ются по отрицательному фронту. 386 Глава 7
74LS293 Все входы J и К вну-ренним образом соединены с 1 a) б) Рис. 7.8. Функциональная схема ИС 74LS293 асинхронного счетчика 3. Каждый триггер имеет асинхронный вход сброса Cd, управляемый по низкому уровню сигнала. Эти входы подсоединены к выходу двухвходового логического элемента И-НЕ с входами MRt и МН2; входы MR предназначены для задающего сброса. Для сброса счетчика в состояние 0000 на обоих входах MR должен быть высокий уровень сигнала. 4. Триггеры Qlt Q2 и Q3 соединены как трехбитовый асинхронный счетчик. Триггер Qo внутри счетчика ни к чему не подсоединен. Это позволяет либо подсоединить Qo к Qi для формирования четырехбитового счетчика, либо использовать Qo отдельно. Следующие примеры покажут некоторые способы монтажа 74LS293 для создания различных счетчиков. В этих примерах используется простейшее логическое обозна- чение, представленное на рис. 7.8, б. Пример 7.8 Покажем, как ИС 74LS293 нужно подсоединить для работы в виде счетчика с Кпер = 16 и входным тактовым сигналом частотой десять килогерц. Выходная частота опреде- ляется на триггере Q3. Счетчики и регистры 387
Решение Для формирования счетчика с Кпер = 16 потребуется четыре триггера, таким образом необходимо подсоединить выход Qo к СР1 , тактовому входу триггера Qi (см. рис. 7.9). Импульсы частотой десять килогерц поступают на СРп , тактовый вход триггера Qo- На выходе триггера Q3 получим частоту, равную одной шестнадцатой входящей частоты. Пример 7.9 Покажем, как ИС 74LS293 нужно подсоединить для работы в виде счетчика с Кпер = 10. Решение Для формирования счетчика с Кпер = 10 потребуется четыре триггера, таким образом Qo необходимо подсоединить к СРХ . На этот раз нужно, чтобы счетчик сбрасывался в состояние 0000 при достижении состояния 1010 (десять). Итак, выходы триггеров Q3 и Qi нужно подсоединить ко входам задающего сброса; когда оба эти выхода имеют высокий уровень сигнала при состоянии 1010, элемент И-НЕ немедленно сбросит счетчик в состояние 0000. Рис. 7.10. ИС 74I.S293 в роли счетчика с Кпвр =10 Схема соединения, а также диаграмма переходов состояний представлена на рис. 7.10. Заметим, что временное состояние 1010 не показано. Также не показаны 388 Глава 7
состояния 1011, 1100, 1101, 1110 и 1111, поскольку они не являются членами по- следовательности состояний для этого счетчика. Впрочем, всегда возможно, что счет- чик все же включится в одно из этих состояний в момент включения питания. Важ- но знать, как счетчик будет работать в этом случае. Данная проблема рассматривает- ся в конце этой главы. Пример 7.10 Покажем, как ИС 74LS293 нужно подсоединить для работы в виде счетчика с Кпер = 14. Решение Когда счетчик достигает состояния 1110 (четырнадцать), на выходах триггеров Q2 и Q3 высокий уровень сигнала. К сожалению, встроенный в 74LS293 логический эле- мент И-НЕ имеет только два входа. Таким образом, необходимо добавить дополни- тельную логику для сброса счетчика в состояние 0000, когда Qi = Q2 = = !• Фак- тически, необходим двухвходовый логический элемент И (рис. 7.11). Это устройство работает как счетчик с Кпер = 14. Рис. 7.11. Для работы ИС 74LS293 в виде счетчика с Кпер = 14 нужно подсоединить внешний логический элемент И Пример 7.11 В примере 7.7 входная частота делилась на шестьдесят с помощью счетчика с Кпер == 60, при этом были использованы J-K-триггеры и логический элемент И-НЕ. Другой спо- соб получения счетчика с Кпер = 60 представлен на рис. 7.12. Объясним, как эта схе- ма работает. Решение Эта схема делит входную частоту на шестьдесят в два этапа. Счетчик слева составлен таким образом, что он имеет Кпер «» 10, таким образом счетчик делит входную часто- ту на десять. Этот сигнал попадает на вход СРг второго счетчика, который, в свою очередь, имеет Кпер = 6 (заметим, что Qo не был использован). Таким образом, на вы- ходе триггера Q3 будет получена следующая частота: t ,4х/1О_4х 6 60 ‘ Счетчики и регистры 389
CPi CPf JUUL tex CP0 74LS293 MR^ MR2 Q3Q2Q1Q0 ^nep “Ю 74LS293 MRj MR2 Q3Q2Q1Q0 feux-fex/eo Kiep “ 6 fex/10 Puc. 7.12. Две ИС 74LS293 скомбинированы для управления делением частоты на шестьде- сят с помощью делителей на десять (Кпер = 10) и на шесть (Кпер = 6). Заметим, что дели- тель частоты на шесть не использует СР0 или триггер Qo; он использует только триггеры Q3, Q2, и Qi Пример 7.11 показывает, что несколько счетчиков могут быть последовательно включены для формирования счетчика с любым значением коэффициента пересчета, равным произведению собственных значений Кпер счетчиков, включенных в устрой- ство. Это может быть очень полезно в тех случаях, когда требуется большой объем деления частоты. Обозначение стандарта IEEE/ANSI для счетчика на ИС 74LS293 На рис. 7.13 показано обозначение для счетчиков на ИС 74LS293. Это обозначение содержит некотооые новые аспекты стандарта IEEE/ANSI. Обозначение содержит три различных блока. Верхний блок (с пазами) является общим управляющим блоком. Надпись “CTR” определяет эту ИС как счетчик. На- помним, что общий управляющий блок используется в случаях, когда ИС имеет один или несколько входов, общих для более чем одной схемы на кристалле. Для ИС 74LS293 входы MR\ и MR2 являются общими управляющими для всех триггеров в счетчике. Входы MR± и MR2 показаны как управляемые по высокому уровню сигнала вхо- ды, которые внутренне совмещены при помощи операции И (знак “&”). Это указыва- ет на то, что оба входа должны быть в своих активных состояниях для сброса счет- чика. Запись “СТ = 0” говорит о том, что под воздействием входов MRY и MR2 счет начинается с нуля. Средний блок обозначен DIV2. Это значит, что счетчик с Кпер = 2 состоит из одно- го триггера и делит входную частоту на два. Нижний блок обозначен DIV8 (счетчик с Кпер = 8). Входы синхронизации каждого из блоков показаны управляемыми по от- рицательному фронту импульса. Обозначение “+” на каждом входе синхронизации указывает на то, что управление по отрицательному фронту тактового импульса ста- нет причиной счета с приращением на 1. Другими словами, это суммирующий счет- чик, который ведет счет в прямом направлении по каждому отрицательному фрон- ту. Обозначение используется для вычитающих счетчиков (см. раздел 7.4). На- ряду с традиционным обозначением для счетчика на ИС 74LS293 и других счетчиков также применяются некоторые из обозначений стандарта IEEE/ANSI. Например, по- кажем Кпер счетчика с помощью обозначения DIV п, где п — это КПСр счетчика. 390 Глава 7
Общий блок управления Рис. 7.13. Обозначение стандарта IEEE/ANSI для счет- чика на ИС 74LS293 Асинхронные счетчики на КМОП Существует несколько асинхронных счетчиков, изготовленных на основе КМОП- технологии. Большинство из них эквивалентны ТТЛ-версиям. Впрочем, некоторые интегральные схемы асинхронных счетчиков на КМОП не имеют ТТЛ-копий. Одна из таких схем — 74НС4024. Логическое обозначение показано на рис. 7.14. Это се- мибитовый счетчик с одним асинхронным входом задающего сброса. Семь триггеров последовательно соединены и формируют асинхронный счетчик с Кпер = 128. Вход MR управляется по высокому уровню сигнала и его можно использовать для сброса всех триггеров в состояние 0. Заметим, что для такого счетчика используется обозна- чение DIV128 (т.е. счетчик с Кпер = 128). Рис. 7.14. Логический символ асинхронного счетчика на основе ИС 74НС4024. Знак "+” указывает на счет в прямом направлении Коэффициент пересчета данного счетчика может быть изменен на другой, мень- ший 128, посредством использования входа MR, как это было сделано в случае с 74LS293. Например, можно подсоединить выходы и Q5 к логическому элементу И, а выход элемента И — ко входу MR. Как только счетчик достигнет значения 0110000 (48ю), сразу же произойдет сброс в состояние 0000000. Таким образом, ис- пользуемая счетная последовательность будет находиться в диапазоне от 0000000 до 0101111 (от нуля до сорока семи), т.е. это счетчик с Кпер = 48. Счетчики и регистры 391
Другим асинхронным счетчиком на КМОП, не содержащим ТТЛ-аналога, являет- ся ИС 74НС4040, которая имеет один вход задающего сброса, управляемый по высо- кому уровню сигнала. Это двенадцатибитовый счетчик, входом синхронизации кото- рого служит вход типа триггера Шмитта, что позволяет использовать медленно из- меняющиеся сигналы без формирования неуправляемого счета. Контрольные вопросы . . . 1. На вход CPj ИС 74LS293 подается тактовый сигнал частотой два килогерца. Определите частоту на выходе Q3. 2. Какой будет окончательная выходная частота, если расстановку счетчиков на рис. 7.12 инвертировать? 3. Чему равен коэффициент пересчета счетчика на ИС 74НС4040? 4. Что значит надпись DIV64 на обозначении счетчика? 5. Какие выходы нужно подсоединить к элементу И для конвертирования счетчи- ка на ИС 74НС4040 в счетчик с Кпер = 120? 7.4. Асинхронные вычитающие счетчики Все рассмотренные до этого момента счетчики считали от нуля вверх, до макси- мального значения, это — суммирующие счетчики. Относительно несложно сформи- ровать асинхронные вычитающие счетчики, которые будут считать по убывающей — от максимального значения до нуля. Однако прежде чем изучать схему асинхронных вычитающих счетчиков, рассмотрим обратную последовательность для трехбитового вычитающего счетчика: СВА (7) 111 -ч (6) 110 (5) 101 (4) 100 Возв i (3) 011 (2) 010 (D 001 (0) 000 А, В и С представляют состояния выходов триггеров, в которые переходит счет- чик. Можно заметить, что триггер А (младший значащий разряд) изменяет свое со- стояние на каждом шаге последовательности, как это было у суммирующего счетчи- ка. Триггер В изменяет состояние каждый раз, когда на триггере А уровень сигнала переходит из высокого в низкий; триггер С меняет состояние каждый раз в момент изменения сигнала на триггере В с низкого уровня на высокий. Таким образом, в вы- 392 Глава 7
читающем счетчике каждый триггер, кроме первого, должен переключаться в мо- мент, когда уровень сигнала на предыдущем триггере изменяется с низкого на высо- кий. Если триггеры имеют входы CLK, которые реагируют на отрицательные пере- ходы (из высокого в низкий), то перед каждым входом CLK можно разместить ин- вертор. Впрочем, такой же эффект можно получить путем управления каждым входом CLK триггера, используя инверсный выход предыдущего триггера. Это пока- зано на рис. 7.15, где представлен вычитающий счетчик с Кпер = 8. На всех входах J и К присутствует 1 Рис. 7.15. Счетчик с Кпер = 8 Счетчики и регистры 393
Входной сигнал попадает на триггер А. Выход А служит входом CLK для тригге- ра В; выход В используется как вход CLK для триггера С. Временные диаграммы показывают, как триггер В переключается в момент перехода уровня сигнала на триггере А из низкого в высокий (А переходит из высокого уровня в низкий) и С пе- реключается в момент перехода уровня сигнала на триггере В из низкого в высокий. Эти результаты требуются для обратной счетной последовательности на выходах С, В и А. Диаграмма перехода состояний показывает последовательность состояний. Со- поставим ее с диаграммой для счетчика с Кпер = 8 на рис. 5.47. Вычитающие счетчики не так широко используются, как суммирующие. Они наиболее применимы в ситуациях, где должно быть известно, когда уже прошло тре- буемое количество входных импульсов. В этом случае вычитающие счетчики предва рителъно установлены на требуемое количество импульсов и при включении вычи- тают поступающие импульсы. Когда счетчик достигает значения “ноль”, на выходе логического элемента появляется сигнал, который указывает на то, что установлен- ноэ количество импульсов прошло. Предустанавливаемые счетчики рассматриваются ь разделе 7.8. Кон трольные вопросы 1. Какая разница в счетной последовательности суммирующих и вычитающих счетчиков? 2. Чем схема асинхронного вычитающего счетчика отличается от схемы сумми- рующего счетчика? 7.5. Задержка на распространение сигнала в асинхронных счетчиках Асинхронные счетчики — это простейший тип двоичных счетчиков, так как они нуждаются в незначительном числе компонентов для проведения счетных операций. Впрочем, асинхронные счетчики имеют один значительный недостаток, вызванный основным принципом их работы: каждый триггер запускается при передаче сигнала с выхода предыдущего триггера. У каждого триггера есть неустранимая задержка сигнала (t3fl), это значит, что второй триггер не будет реагировать в течение времени после получения первым триггером управляющего фронта тактового импульса; третий триггер не отреагирует, пока не пройдет время 2 х t3Jl после управляющего фронта тактового импульса и т.д. Другими словами, задержка на распространение триггеров накапливается и триггер с номером N не может изменить своего состоя- ния, пока не пройдет время Nx t3a после прохождения управляющего фронта такто- вого импульса. Это показано на рис. 7.16, где представлена временная диаграмма трехбитового асинхронного счетчика. Первое семейство сигналов на рис. 7.16, а показывает ситуацию, при которой вход- ной импульс поступает каждые тысячу наносекунд (период тактового импульса Т = = 1000 нс), причем допускается, что каждый триггер имеет задержку прохождения сигнала в пятьдесят наносекунд (£зд = 50нс). Заметим, что выход триггера А переклю- чается через пятьдесят наносекунд после срабатывания триггера по отрицательному фронту каждого входного импульса. Аналогично, триггер В переключается через 50 нс после перехода триггера А из состояния 1 в состояние 0, триггер С переключается через 50 нс после переключения В из 1 в 0. В результате, когда проходит четвертый им- пульс, уровень сигнала на выходе триггера С переключается с низкого на высокий с за- держкой 150 нс. В этом случае счетчик работает правильно — триггеры действительно переходят в корректные состояния, представляя двоичный отсчет. Впрочем, ситуация ухудшается, если входящие импульсы имеют более высокую частоту. 394 Глава 7
1 2 3 4 5 Условие равенства 100 не выполняется б) Рис. 7.16. Временные диаграммы трехбитового счетчика, показы- вающие эффекты задержек распространения сигнала для различ- ных частот входного сигнала Временные диаграммы на рис. 7.16, б показывают, что происходит в случае, ко- гда входные импульсы поступают раз в каждые 100 нс. Опять же, каждый триггер задерживает прохождение сигнала на 50 нс после переключения из 1 в 0 на своем входе CLK (обратите внимание на изменение в относительной временной шкале). Особо интересна ситуация после спада фронта четвертого входного импульса, когда на выходе С не устанавливается высокий уровень сигнала по прошествии 150 нс, в то же время на выходе А устанавливается высокий уровень сигнала, реагируя на пятый входной импульс. Другими словами, состояние С = 1, В = А = 0 (состояние 100) ни- Счетчики и регистры 395
когда не устанавливается, так как входная частота слишком высока. Это представляет серьезную проблему в случаях, если данное состояние допускается для использования при контроле некоторых других операций в цифровой системе. Таких проблем можно избежать, если период между входными импульсами сделать большим, чем общая за- держка распространения сигнала счетчика. Счетчик корректно будет работать, если (7.2) где N — количество триггеров. Исходя из входной тактовой частоты, максимальная частота, которую можно использовать, равна (7.3) Например, предположим, что четырехбитовый счетчик построен на основе J-K- триггера на ИС 74LS112. Табл. 5.2 показывает, что 74LS112 имеет следующие за- держки на прохождение сигнала от CLK до Q: tPLH = 16 нс и tPHL = 24 нс. Для под- счета /тах возьмем “наименее приемлемый случай”, т.е. когда t3A = £Phl = 24 нс: max ------= 10,4МГц. 4 х 24нс Ясно, что увеличение количества триггеров влияет на рост задержки прохожде- ния сигнала и fmax падает. Например, счетчик, который использует шесть триггеров на ИС 74LS112, будет иметь /тах: max 1 6 х 24нс = 6,9МГц. Таким образом, асинхронные счетчики непригодны на высоких частотах, особен- но для большого количества бит. Задержка прохождения сигнала в асинхронных счетчиках вызывает еще одну проблему в случае, когда с выходов счетчика снима ется выходной сигнал. Эта проблема обсуждается в разделе 7.12. Однако несмотря на перечисленные выше трудности, простота асинхронных счетчиков делает их при- годными для применения, когда частотные ограничения не являются критическими. Контрольные вопросы 1. Почему с увеличением числа триггеров, включенных в счетчик, падает макси- мальная частота асинхронных счетчиков? 2. С каким наибольшим Кпер можно создать счетчик из J-K-триггеров, t3a которых составляет 12 нс, чтобы счетчик работал на частотах до десяти мегагерц? 7.6. Синхронные (параллельные) счетчики Проблемы, встречающиеся в асинхронных счетчиках, вызваны накоплением за- держки прохождения сигнала, т.е. триггеры не меняют свои состояния одновременно с поступлением входного импульса. Эти ограничения можно преодолеть с помощью синхронных, или параллельных счетчиков, в которых все триггеры срабатывают од- новременно (включены параллельно) с входными импульсами. Входные импульсы поступают на все триггеры, поэтому необходимо использовать устройство, контроли- рующее момент переключения триггера и случаи, когда триггер не отреагировал на входной импульс. Это достигается с помощью использования входов J и К и показа- но на рис. 7.17, где изображен четырехбитовый синхронный счетчик с Кпер = 16. 396 Глава 7
Рис. 7.17. Синхронный счетчик с Кпер = 16. Каждый триггер тактирован по отрицатель- ному фронту входного синхросигнала таким образом, что все переключения триггеров про- исходят одновременно Если сравнить схемы устройства этого синхронного счетчика с его асинхронной копией, изображенной на рис. 7.1, то можно увидеть следующие значительные раз- личия: 1. Входы CLK всех триггеров соединены вместе таким образом, что входной син- хросигнал поступает на все триггеры одновременно. 2. Только у триггера А, младшего значащего бита, на входах J и К всегда высокий уровень сигнала. Входы J и К других триггеров управляются некоторой комби- нацией выходов триггеров. 3. Синхронный счетчик нуждается в большей компоновке схемы, чем асинхронный счетчик. Счетчики и регистры 397
Работа схемы В этой схеме счет осуществляется в момент реакции схемы на отрицательный фронт входного импульса. Для того чтобы счет был правильным, необходимо чтобы в схеме переключались только те триггеры, для которых выполняется условие J = К = 1 в момент прихода отрицательного фронта импульса. Рассмотрим счетную последова- тельность, изображенную на рис. 7.17, б, чтобы понять, что это означает для каждо- го триггера. Счетные последовательности показывают, что триггер В должен изменять свое со- стояние по каждому отрицательному фронту, который приходит, пока А = 1. Напри- мер, в состоянии 0001 следующее переключение по отрицательному фронту должно переключить триггер В в состояние 1; в состоянии ООН следующее переключение по отрицательному фронту должно переключить триггер В в состояние 0 и т.д. Эта опе- рация достигается посредством подключения выхода триггера А ко входам J и К триггера В, т.е. J = К = 1, только когда А = 1. Счетная последовательность показывает, что триггер С должен изменять свое со- стояние по каждому отрицательному фронту, который приходит, пока А = В = 1. Например, в состоянии ООН следующее переключение по отрицательному фронту должно переключить триггер С в состояние 1; в состоянии 0111 следующее переклю- чение по отрицательному фронту должно переключить триггер С в состояние 0 и т.д. Если вывести логический сигнал АВ на входы J и К триггера С, то триггер С пере- ключится только при условии А = В = 1. Подобным образом триггер D должен изменять свое состояние по каждому отри- цательному фронту, который приходит, пока А = В = С = 1. В состоянии 0111 сле- дующее переключение по отрицательному фронту должно переключить триггер D в состояние 1; в состоянии 1111 следующее переключение по отрицательному фронту должно переключить триггер D в состояние 0. Если вывести логический сигнал АВС на входы J и К триггера D, то триггер D переключится только при условии А = В = = С= 1. Основное правило для создания синхронного счетчика можно сформулировать так: Входы J и К каждого триггера должны быть подсоединены таким обра- зом, чтобы на них был высокий уровень сигнала только тогда, когда на выходе каждого триггера младшего порядка уровень сигнала высокий. Преимущество синхронных счетчиков по сравнению с асинхронными В параллельном счетчике все триггеры переключаются одновременно, т.е. все триггеры синхронно переключаются в момент прихода отрицательного фронта вход- ных тактовых импульсов. Таким образом, в отличие от асинхронных счетчиков общая задержка распространения сигнала не вычисляется посредством сложения задержек всех триггеров, входящих в состав счетчика. Вместо сложения времен задержки всех счетчиков общее время реакции синхронного счетчика, подобного изображенному на рис. 7.17, является суммой времени переключения одного триггера и времени пере- дачи на новые логические уровни через одиночный логический элемент И до дости- жения сигналом входов J и К. Таким образом, для синхронного счетчика общая задержка = t3d( триггера )+ ^(логического элемента И). Общая задержка не зависит от количества триггеров в счетчике и она обычно меньше, чем у асинхронных счетчиков с тем же количеством триггеров. Таким обра- зом, синхронный счетчик может работать с более высокой входной частотой. Безус- ловно, принципиальная схема синхронного счетчика более сложна, чем асинхронного. 398 Глава 7
Действующие ИС Существует много синхронных ИС на основе ТТЛ- и КМОП-технологий. Назовем некоторые из наиболее часто употребляемых схем: 1. ИС 74ALS160/162, 74НС160/162 — синхронные десятичные счетчики. 2. ИС 74ALS161/163, 74НС161/163 — синхронные счетчики с Кпер = 16. Пример 7.12 а) Определить /тах для счетчика, изображенного на рис. 7.17, если £зд для каждого триггера составляет 50 нс, a t3R для каждого элемента И — 20 нс. Сравните это значение с максимальной частотой для счетчика с Кпер =16 асинхронного счетчика. б) Что нужно сделать для конвертирования этого счетчика в счетчик с Кпер = 32? в) Определить /тах для параллельного счетчика. Решение а) Общая задержка, которая должна быть предоставлена между входными тактовыми импульсами, равна гзд(триггера)+ ^(логического элемен- та И). Таким образом, 7ВХОДНого тактового сигнала 50+20 = 70нс и максималь- ная частота параллельного счетчика будет равна: /тжх = —-— = 14,3 МГц (параллельный счетчик). 70 нс Асинхронный счетчик с Кпер = 16, который использует четыре триггера и t3A которого равно 50 нс, имеет следующую максимальную частоту: fmax --------- 5 МГц (асинхронный счетчик). 4 х 50 нс б) Необходимо добавить один триггер, так как 25 = 32. На вход CLK пято- го триггера также поступают входные импульсы. На входы J и К пятого триггера поступает сигнал с выхода четырехвходового элемента И, на входы которого поступают сигналы с выходов А, В, С и D. в) Величина fmax определяется так же, как и в п. а, независимо от количест- ва триггеров в параллельном счетчике. Таким образом, /тах = 14,3 МГц. Контрольные вопросы i 1. Назовите преимущества/недостатки синхронного счетчика в сравнении с асин- хронным. | 2. Сколько логических элементов необходимо для параллельного счетчика с Ктер “ 64? 3. Какой логический сигнал управляет входами J и К последнего (главного зна- чащего разряда) триггера у счетчика из предыдущего вопроса? Счетчики и регистры 399
7.7. Синхронные вычитающие и реверсивные счетчики В разделе 7.4 показано, что асинхронный счетчик можно сделать вычитающим, если использовать инверсный выход каждого триггера для управления следующим триггером счетчика. Параллельные вычитающие счетчики можно сформировать ана- логичным методом — используя инверсные выходы для управления следующими входами J и К. Например, параллельный суммирующий счетчик, изображенный на рис. 7.17, можно конвертировать в вычитающий счетчик, подсоединив выходы А, В и С вместо А, В и С соответственно. Счетчик будет считать следующим образом: 15, 14, 13, 12, .... 3, 2, 1, 0, 15, 14, 13 и т.д. На рис. 7.18, а показано, как формируется параллельный реверсивный счетчик. Контрольный вход Up/Down следует за тем, с каких (прямых или инверсных) выхо- дов триггера сигнал поступает на входы J и К следующего триггера. Когда на Up/Down наблюдается высокий уровень сигнала, элементы И 1 и 2 открыты, пока элементы 3 и 4 закрыты (отметим инвертор). Это позволяет соединить выходы А и В через логические элементы 1 и 2 со входами J и К триггеров В и С. Когда на Up/Down низкий уровень сигнала, элементы И 1 и 2 закрыты, пока элементы 3 и 4 открыты. Это позволяет соединить выходы А и В через логические элементы 3 и 4 со входами J и К триггеров В и С. На рис. 7.18, б показаны формы сигналов при работе схемы. Заметим, что для первых пяти входных тактовых импульсов Up/Down нахо- дится в состоянии 1 и счетчик суммирующий; для пяти последних — Up/Down = О и счетчик вычитающий. Терминология, использованная для контрольного сигнала Up/Down, была выбра- на таким образом, чтобы читателю было несложно понять, как этот сигнал влияет на счетчик. Суммирующий режим управляется по высокому уровню сигнала, а вычи- тающий режим — по низкому. Пример 7.13 Чем могут быть вызваны проблемы, если сигнал изменяет свой уровень по отрица- тельному фронту входного тактового сигнала? Решение Триггеры могут работать непредсказуемо, поскольку у некоторых из них состояние входов J и К изменяется приблизительно одновременно с приходом отрицательного фронта импульсов на вход CLK. Впрочем, изменения в управляющем сигнале долж- ны распространяться через два уровня логических элементов перед достижением входов J и К. Итак, более вероятно, что триггеры ответят, как и ожидалось, но пре- жде чем на CLK произойдет срабатывание по отрицательному фронту. 400 Глава 7
Up/Down у a) Up/Down Тактовые импульсы A В С Счет Г (СВА) I Рис. 7.18. а) Синхронный реверсивный счетчик с Кпер = 8; б) счетчик суммирует, пока управ- own = 1, и вычитает, когда на управляющем входе ноль ляющий вход Up[~D 7.8. Предустанавливаемые счетчики Многие синхронные (параллельные) счетчики, которые изготавливаются в виде ИС, разработаны как предустанавливаемые; другими словами, они могут быть уста- новлены на любой требуемый счет либо их можно сделать асинхронными (незави- симо от синхронизирующего сигнала) или синхронными (на управляющем измене- нии уровня синхросигнала). Эта предустановочная операция выполняется в счетчи- ках с параллельной установкой. На рис. 7.19 показана логическая схема трехбитового предустанавливаемого па- раллельного суммирующего счетчика. Входы J, К и CLK соединены для работы в виде параллельного суммирующего счетчика. Асинхронные входы PRESET (вход предустановки) и CLEAR (вход сброса) подсоединены для выполнения асинхронной предустановки. Счетчик совершает любой требуемый счет в любое время путем вы- полнения следующих действий: Счетчики и регистры 401
Рис. 7.19. Предустанавливаемый параллельный счетчик с асинхронной предустановкой 1. Подача требуемого кода на параллельные информационные входы Р2, Рг к PQ. 2. Подача низкого уровня сигнала на вход параллельной установки PL. Данная процедура выполняет асинхронную передачу сигналов Р2, Pi и Ро в триг- геры Qlt Q2 и Qo соответственно. Это принудительная передача независимо от со- стояний входов J, К и CLK. Влияние входа CLK будет блокировано, пока на PL уровень сигнала низкий. При PL = 0 каждый триггер будет иметь один из своих асинхронных входов активированным. Как только на входе PL установится высокий уровень сигнала, триггеры смогут реагировать на сигналы, поступающие на входы CLK, и будут продолжать счет в суммирующем режиме со значения, которое было загружено в счетчик. Например, Р2 = 1, Pi = 0 и Ро = 0. Пока на входе PL высокий уровень сигнала, эти входы параллельной загрузки не влияют на работу счетчика. Если в счетчик по- ступают синхроимпульсы, то он будет выполнять нормальные операции в сумми- рующем режиме. Теперь предположим, что на PL подан низкий уровень сигнала в момент, когда счетчик находился в состоянии 010 (т.е. Qi = 0, Q2 = 1 и Qo = 0). Низ кий уровень сигнала на PL сформирует низкие уровни на входе CL К триггера Qx и на входах PRE триггеров Q2 и Qo таким образом, что счетчик перейдет в состояние 101 не- зависимо от происходящего на входе CLK. Счетчик будет удерживаться в состоянии 101 до тех пор, пока PL деактивируется (на нем появится высокий уровень сигнала); в это время счетчик продолжит счет в суммирующем режиме из состояния 101. Асинхронная предустановка используется в нескольких ИС счетчиков, в частно- сти в ТТЛ-сериях 74ALS190, 74ALS191, 74ALS192 и 74ALS193, а также равнознач- ных ИС КМОП-сериях 74НС190, 74НС191, 74НС192, 74НС193. 402 Глава 7
Синхронная предустановка Многие ИС параллельных счетчиков используют синхронную предустановку, посред- ством чего счетчик предварительно установлен по изменению того же синхросигнала, ко- торый используется для счета. Логический уровень сигнала, приложенный ко входу PL, определяет дальнейшую работу счетчика: либо он предустановится по управляющему фронту синхросигнала, либо будет работать в нормальном счетном режиме. Примерами ИС счетчиков, которые используют синхронную предустановку, мож- но назвать следующие ИС ТТЛ-серии: 74ALS160, 74ALS161, 74ALS162, 74ALS1963, равнозначные ИС КМОП-серии: 74НС160, 74НС161, 74НС162, 74НС163. Контрольные вопросы 1. Что означает выражение предустанавливаемый, счетчик? 2. Опишите разницу между асинхронной и синхронной предустановкой. 7.9. ИС 74ALS193/HC193 На рис. 7.20 показано графическое обозначение и входная/выходная характери- стики для счетчика на ИС 74ALS193 (и ее КМОП-эквивалента — 74НС193). Этот счетчик можно описать как предустанавливаемый реверсивный счетчик с синхрон- ным счетом, асинхронной предустановкой, с Кпер = 16 и асинхронным входом за- дающего сброса. Рассмотрим функции каждого входа и выхода. Входы синхронизации СРи и CPD Счетчик реагирует на положительный фронт импульса, поступающего на один или два входа синхронизации. СРи — суммирующий вход синхронизации. Когда им- пульсы поступают на этот вход, счетчик увеличивает значение (суммирует) по каж- дому положительному фронту импульса до максимального значения 1111. Затем он сбрасывается в состояние 0000 и запускается снова. CPD — вычитающий вход син- хронизации. Когда импульсы поступают на этот вход, счетчик уменьшает значение (вычитает) по каждому положительному фронту импульса до минимального значения 0000, затем он сбрасывается в 1111 и снова запускается. Таким образом, когда для счета используется один вход синхронизации, другой вход синхронизации неактивен (на нем высокий уровень сигнала). Вход задающего сброса Вход задающего сброса — это асинхронный вход, управляемый высоким уровнем сиг- нала, который сбрасывает счетчик в состояние 0000. Вход MR будет удерживать счетчик в состоянии 0000 до тех пор, пока MR = 1. Он преобладает над всеми другими входами. Предустановочные входы Триггеры, входящие в состав счетчика, могут быть предустановлены по тем же логическим уровням, которые имеются на входах параллельной загрузки Р3, Р2, Pi, Р0 в момент перехода уровня сигнала на входе параллельной загрузки PL из высоко- го в низкий. Это асинхронная предустановка, которая отменяет счетную операцию. Впрочем, PL никак не отреагирует, если вход MR находится в своем управляемом по высокому уровню сигнала состоянии. Счетчики и регистры 403
PL P3 P2 Pi Po 1Illi MR Q3 Q2 Qj Qo Выбор режима MR PL СРи CR) Режим Н X X X Асинхронный сброс L L X X Асинхронная инициализация L Н н н Без изменений L Н ? н Прямой счет L Н н ? Обратный счет H — высокий; L— низкий; X — безразличный; Т— положительный фронт Вывод Описание СРц Тактовый вход прямого счета (активный положительный перепад) CPD Тактовый вход обратного счета (активный положительный перепад) MR Асинхронный главный вход сброса (активный высокий уровень) PL Асинхронный вход параллельной загрузки (активный низкий уровень) Ро-Рз Параллельные входы данных (*> 0 1 0 0 Выходы триггеров ТСо Конечный выход при обратном счете, выход заема (активный низкий уровень) ТЧ, Конечный выход при прямом счете, выход переноса (активный низкийу ровень) б) в) Рис. 7.20. ИС 74ALS193 — реверсивный синхронный счетчик с асинхронной предустановкой и сбросом: а) логическое обозначение; б) входные/выходные характеристики; в) предуста- навливаемый параллельный счетчик с асинхронной предустановкой Счетные выходы Текущее состояние счетчика всегда подается на выходы триггеров Q3, Q2, Qi и Qo, где Qo — младший значащий разряд, a Q3 — старший значащий разряд. Выходы конечного счета Выходы конечного счета используются при наличии нескольких ИС 74ALS193, которые соединены как многокаскадный счетчик для формирования большего коэф- фициента пересчета. В суммирующем режиме выход TCV счетчика младшего поряд- ка подсоединен ко входу СРи следующего счетчика старшего порядка. В вычитаю- щем режиме выход TCD счетчика младшего порядка подсоединяется ко входу CPD следующего счетчика старшего порядка. ТСу — это выход конечного счета в суммирующем режиме (TCV еще называется выходом переноса). Он реализован на ИС 74ALS193 с помощью логики, показанной на рис. 7.21, а. Ясно, что на TCV будет низкий уровень сигнала только в том случае, если счетчик находится в состоянии 1111, а на CPD — низкий уровень сигнала. Итак, на TCV остается высокий уровень сигнала, когда счетчик меняет состояния от 404 Глава 7
0000 до 1110. По следующему положительному фронту импульса счетчик перейдет в состояние 1111, но сигнал на ТСЦ не перейдет в низкий, уровень до тех пор, пока на СРи установлен низкий уровень сигнала. Следующий положительный фронт, посту- пивший на СРи> сбросит счетчик в состояние 0000 и только тогда низкий уровень сигнала на TCV перейдет в высокий. Положительный фронт попадет на TCV , когда счетчик сбросится из 1111 в 0000; это можно использовать для синхронизации вто- рого счетчика на ИС 74ALS193 для следующего счета высшего порядка. Рис. 7.21. Логика формирования TCV на ИС 74ALS193 TCD — это выход конечного счета в вычитающем режиме (его также называют выходом заема). TCD формируется так, как показано на рис. 7.21, б. Обычно на TCD высокий уровень сигнала, который не переходит в низкий, пока счетчик вычи- тает до состояния 0000 и на входе CPD низкий уровень сигнала. Когда следующий положительный фронт, поступающий на CPD, сбрасывает счетчик в состояние 1111, на выходе TCD устанавливается высокий уровень сигнала. Этот положительный фронт на TCD можно использовать для синхронизации второго вычитающего счет- чика на ИС 74ALS193 для его следующего счета низшего порядка. Пример 7.14 На рис. 7.22, а представлена ИС 74НС193, действующая как суммирующий счетчик. Входы параллельной загрузки постоянно подключены в состоянии 1011. На рис. 7.22, б показаны временные диаграммы входов CPV, PL, MR. Допустим, что счетчик первоначально находится в состоянии 0000. Определим формы выходных сигналов счетчика. Решение Первоначально (в момент t0) на триггерах счетчика наблюдается низкий уровень сиг- нала, поэтому на выходе TCt. уровень сигнала высокий. До момента ti на вход PL подается низкий уровень сигнала, что немедленно вызывает следующую комбинацию на выходе: Q3 = 1, Q2 = 0» Qi = 1, Qo = 1. В момент на вход СР^ поступает поло- жительный фронт, на что счетчик не реагирует, так как в это время PL еще остает- ся в активном состоянии. В моменты t2» *з» *4 и h счетчик работает в суммирующем режиме по каждому положительному фронту, поступающему на вход СРу. После по- ступления положительного фронта в момент t5 счетчик находится в состоянии 1111, Счетчики и регистры 405
но на выходе ТСЦ уровень сигнала не переходит в низкий уровень до тех пор, пока на входе CPV не установится низкий уровень сигнала в момент времени t6. В момент поступления следующего положительного импульса (t7) счетчик сбрасывается в со- стояние 0000 и на выходе ТСУ устанавливается высокий уровень сигнала. Рис. 7.22. Пример 7.14 Счетчик будет работать в режиме прямого счета, реагируя на положительные фрон- ты, поступающие в моменты t8 и t9. Положительный фронт, поступивший в момент t10, не даст никакого видимого эффекта, так как на MR устанавливается высокий уровень сигнала немногим ранее момента t10 и в момент t10 на MR высокий уровень сигнала. Это сбросит все триггеры в 0 и высокий уровень сигнала будет доминиро- вать над сигналом, поступающим на вход СРу. 406 Глава 7
Пример 7.15 На рис. 7.23, а показана ИС 74НС193, действующая как вычитающий счетчик. параллельной загрузки постоянно подключены в состоянии 0111. На рис. 7.23, б пред- ставлены временные диаграммы входов CPD и PL. Предположим, что счетчик перво- начально находится в состоянии 0000. Определим сигналы на выходе счетчика. Рис. 723. Пример 7.15 Решение В момент t0 на выходах всех триггеров и на входе CPD уровень сигнала низкий. Вследствие этого на выходе TCD устанавливается состояние 0. До момента tj на вхо- де PL установлен низкий уровень сигнала. Это сразу предустановит счетчик в со- стояние 0111 и, следовательно, на выходе TCD установится высокий уровень сигна- ла. На положительный фронт, поступающий на вход CPD в момент схема не от- реагирует, так как вход PL остается в активном состоянии. Счетчик отреагирует только на положительные фронты, поступающие в моменты t2, и в момент t8 Счетчики и регистры 407
достигнет состояния 0000. На выходе TCD не установится низкий уровень до момен- та tgt когда на входе CPD устанавливается низкий уровень сигнала. В момент t10 по- ложительный фронт, поступивший на вход CPD, вызовет сброс счетчика в состояние 1111 и к тому же установит на TCD высокий уровень сигнала. Регулируемые значения коэффициента пересчета, используемые в ИС 74ALS193/HC193 Предустанавливаемые счетчики можно подключать для работы с различными ко- эффициентами пересчета без применения дополнительных логических элементов. Это показано для ИС 74НС193 с использованием схемы, изображенной на рис. 7.24, а. В данном случае ИС 74НС193 используется в качестве вычитающего счетчика со входами параллельной загрузки, постоянно подключенными в состоянии 0101 (510). Отметим, что выход TCD подключен на вход PL схемы. Инициализация на 0101 Счетчик инициализируй гея на 0101 б) Рис. 7.24. ИС 74РС193, действующая как вычитающий счетчик с КПеР = 5 408 Глава 7
Начнем анализировать схему, полагая, что счетчик в момент t0 установлен в со- стояние 0101. Обратимся к временным диаграммам, изображенным на рис. 7.24, б. Счетчик будет работать в вычитающем режиме по каждому положительному фронту сигнала, поступающего на вход CPd с момента времени tr до момента време- ни t5. В момент t5 счетчик установится в состояние 0000. В момент t& на входе CPD установится низкий уровень сигнала, что повлечет за собой установку на выходе TCD низкого уровня сигнала. Это немедленно приведет вход PL в активное состоя- ние и установит счетчик снова в состояние 0101. Заметим, что на выходе TCD оста- ется низкий уровень сигнала только на короткий промежуток времени, пока счетчик переходит в состояние 0101, реагируя на состояние входа PL = 0. Условие поддер- жания выхода TCD в состоянии 0 снято, на выходе TCD появляется только узкий паразитный импульс. Та же последовательность повторяется с момента t7 до ti2 и равна последующим промежуткам. Если взглянуть на временною диаграмму выхода Q2, т0 можно заме- тить, что эта диаграмма проходит один полный период за то же время, за которое на вход CPd поступает пять полных периодов входного сигнала. Например, между по- ложительным фронтом на выходе Q2 в момент t6 и положительным фронтом на вы- ходе Q2 в момент tn укладывается пять периодов тактовых импульсов. Таким обра- зом, частота на выходе Q2 равна одной пятой частоты входного синхросигнала. Необходимо запомнить одну особенность данной схемы: она имеет только шесть различных состояний (5, 4, 3, 2, 1, 0) и является делителем частоты на пять. Это происходит потому, что изменение значения отсчета в значение 5 выполняется не- стандартным образом в середине тактового цикла. Таким образом, работа счетчика не соответствует общему правилу о равенстве числа состояний и коэффициента деле- ния. Несмотря на то, что этот тип схем используется главным образом для деления частоты, проигнорируем счетную последовательность и назовем схему счетчиком с Кдер = 5, поскольку счетчик делит входную тактовую частоту на пять. Неслучайно то, что коэффициент деления (5) совпадает с кодом, поступающим на входы параллельной загрузки (0101 = 5). Фактически, можно изменять коэффициент деления частоты посредством изменения логических уровней, приложенных на вхо- ды параллельной загрузки. Схему переменного деления частоты легко реализовать посредством подсоедине- ния ключей ко входам параллельной загрузки. Ключи можно устанавливать для дос- тижения требуемого коэффициента деления частоты. Отметим, что в зависимости от выбранного коэффициента деления частоты нужно позаботиться о правильном выбо- ре выхода Q. Многокаскадная схема Как описано выше, выходы TCD и TCV при соединении нескольких счетчиков на ИС 74НС193 образуют многокаскадную схему. На рис. 7.25 две ИС 74НС193 форми- руют двухкаскадную схему реверсивного счетчика, которая эффективно увеличивает счетный диапазон в суммирующем режиме от 0 до 255 и в вычитающем режиме от 255 до 0. На рисунке слева находится первый каскад. На этот каскад поступают сиг- налы с одного или другого входа синхронизации. Выходы TCD и TCV этого каскада управляют входами второго каскада. Заметим, что использованы общие входы Load и Reset. Входы параллельной загрузки второго каскада обозначены Р4, Р5, Рв, Р7; выходы этого каскада обозначены Q4, Q5, Qo» В этом восьмибитовом счетчике можно установить любое восьмибитовое число, с которым в качестве начального зна- чения данный счетчик может работать в вычитающем или суммирующем режиме. В любой момент времени состояние счетчика можно определить по состоянию выхо- дов Qq-Qi. Счетчики и регистры 409
PoPl P2P3 Р4Р5Р6Р7 Load Тактовый вход прямого счета Тактовый вход обратного счета Reset Pl Р0Р1Р2Р3 X 74НС193 MR QdQiQiQs 74НС193 Р0Р1Р2Р3 MR QdQiQ£>3 ТС и Э ►К осеням высших >---->- разрядов о < > О-Qi Q2Q3 Ступень мгадших разрядов Ступень старших разрядов Примечание. Вход Reset имеет приоритет по сравнению с тактовыми входами и входом Load. Вход Load имеет приоритет по сравнению с тактовыми входами. Рис. 7.25. Дее ИС 74НС193 соединены в двухкаскадную схему для увеличения счетного диа- пазона Контрольные вопросы 1. Опишите назначение входов PL , Ро и. Р3. 2. Каково назначение входа MR? 3. Верно ли, что 74НС193 не может устанавливаться в другие состояния, пока вход MR находится в активном состоянии? 4. Какие логические уровни должны быть установлены на CPD, PL и MR, чтобы ИС 74AL193 подсчитывала импульсы, поступающие на вход СРц? 5. Каким может быть максимальное значение четырехкаскадного счетчика, соб- ранного на ИС 74НС193? 7.10. Еще о системах обозначений стандарта IEEE/ANSI* Подробно изучая обозначения стандартов IEEE и ANSI для ИС 74ALS193 на рис. 7.26, можно лучше разобраться в записи зависимостей, которая является важ- ной частью символьных обозначений IEEE/ANSI. Каждый тип интегральных схем, представленный далее, поможет вам понять новую символику и расширить исполь- зование обозначений в будущем. Стандартом IEEE/ANSI предусмотрены только метки внутри прямоугольных эле- ментов блок-схемы. Названия или метки вне прямоугольных элементов блок-схемы не являются стандартными обозначениями и различаются в зависимости от произво- дителя интегральных схем. * Этот раздел можно пропустить без каких-либо последствий для изучения данной темы. 410 Глава 7
1 Рис. 726. Обозначение ИС 74ALS193 по стандарту IEEE/ANSI Некоторые обозначения, использованные на рис. 7.26, могут быть известны чита- телю. Блок-схема разделена на следующие части: сверху главный управляющий блок, который управляет всеми триггерами, включенными в счетчик, и четыре от- дельных триггера, обозначенные в виде узких прямоугольников. Значения в скобках внутри каждого прямоугольника указывают на относительный вес триггера в счет- чике. Пометка CTR DLV16 означает, что прибор при нормальной работе является счетчиком, который имеет шестнадцать различных состояний (т.е. счетчик-делитель частоты на шестнадцать). Около входа MR на главном управляющем блоке имеется надпись СТ = 0, которая означает, что счетчик сбрасывается в состояние 0 в случае, когда на входе MR уровень сигнала высокий. Управляющая зависимость (С) Буквой С обозначен вход, который управляет вводом данных в запоминающий элемент (т.е. триггер). Обычно вход С используется в блоке входов, которые синхро- низируют данные, поступающие в триггер по его управляющему фронту (см. символику стандарта IEEE/ANSI в главе 5). На схеме, представленной на рис. 7.26, вход С используется в качестве входа параллельной загрузки, хотя этот вход управляет вводом данных в четыре триггера. В частности, метка СЗ указывает на то, что этот вход управляет любым другим входом, который имеет на своем обо- значении число 3 в качестве префикса. В блоке, который включает в себя входы Ро, Pi, Р2 и Р3, хотя они все имеют метку 3D (она показана только на верхнем триггере, но это обозначение относится также и к другим триггерам) обозначение D означает “данные”. Если вход PL находится в своем активном состоянии, управляемом по низкому уровню сигнала, то данные с помощью входов с Ро по Р3 будут введены в триггеры Qo. Qi. Q2 и Qs- В обозначении входа PL не указано, что он действует по фронту им- пульса, таким образом, вход влияет на работу схемы, пока на нем установлен низкий уровень сигнала. Направление счета (+ или —) На рис. 7.26 показаны входы СРу и CPD, которые имеют два раздельных обозна- чения и оказывают различное влияние на работу схемы. Рассмотрим сначала верх- ний знак у входа СРу, который имеет вид 2+. Знак означает, что положительный фронт импульса, поступающий на этот вход, увеличивает значение счетчика на еди- СЧЕТЧИКИ И РЕГИСТРЫ 411
ницу. Другими словами, при поступлении на этот вход положительного фронта им- пульса счетчик будет работать в суммирующем режиме. Верхний знак у входа CPd показывает, что этот вход уменьшает значение счетчика на единицу, т.е. счет- чик будет работать в вычитающем режиме. Значение чисел перед знаками “+” и будет объяснено в следующих разделах. Зависимость И (G) Буква G в обозначении входа указывает на зависимость. Это значит, что вход ор- ганизуется объединением входа G с любым другим входом или выходом по схеме И с тем же числом в качестве префикса на обозначении. На рис. 7.26 нижняя часть мет- ки у входа CPD выглядит как G1. Это значит, что вход CPD параллельно соединен по схеме И с любым другим входом или выходом, который имеет в своем обозначении цифру 1. Верхняя часть метки у входа CPD выглядит так: “I-”. Таким образом, должна быть зависимость И между входами CPV и CPD. В частности, наличие зави- симости И говорит о том, что на входе CPV должен быть установлен высокий уровень сигнала, чтобы вход CPD выполнял свою функцию вычитающего входа. Нижняя метка у входа CPd выглядит как G2, что указывает на зависимость И между входом CPD и любым входом или выходом, который имеет цифру 2 в своем обозначении. Например, верхняя метка 2+ у входа CPD указывает на то, что для вы- полнения входом СРи функции суммирующего входа на входе CPD должен быть ус- тановлен высокий уровень сигнала. Теперь рассмотрим обозначение выхода TCd . Эта метка имеет вид 2СТ = 0. Циф- ра 2 указывает на наличие зависимости И со входом CPD. Двойка показана с инвер- сией, поэтому зависимость И присутствует между входом CPd . Таким образом, мет- ка у выхода TCd указывает на то, что TCd переходит в свое активное состояние, управляемое по низкому уровню сигнала, когда на CPd установлен низкий уровень сигнала и значение счетчика равно нулю (СТ = 0). Точно так же метка у выхода ТСи указывает на то, что ТСи переходит в свое активное состояние, управляемое по низ- кому уровню сигнала, когда на CPd установлен низкий уровень сигнала и значение счетчика равно пятнадцати (СТ = 15). Контрольные вопросы 1. Объясните суть управляющей зависимости и зависимости И. 2. Выразите значение следующих меток входов: а) +; б) G4; в) С5; г) 5D. 7.11. Декодирование значения счетчика Цифровые счетчики часто используются в случаях, когда значения счетчика представлены состояниями отдельных триггеров и должны каким-либо образом оп- ределяться или отображаться. Один из простейших способов отображения содержи- мого счетчика состоит в соединении выхода каждого триггера со светодиодом (см. рис. 7.5, б). Таким образом состояния счетчика отображаются с помощью свето- диодов (светодиод горит — состояние 1, светодиод не горит — состояние 0) и значе- ние счетчика можно определить, декодировав в уме состояния светодиодов. Напри- мер, предположим, что данный метод используется в двоично-десятичном счетчике и состояние светодиодов следующее: не горит — горит — горит — не горит соответ- 412 Глава 7
ственно. Это можно представить как состояние ОНО, которое в уме декодируем как шесть в десятичной системе счисления. Прочие состояния светодиодов можно сфор- мировать с помощью других возможных значений счетчика. Метод отображения состояния счетчика становится неудобным при увеличении разрядности счетчика, так как в уме декодировать отображаемые результаты гораздо сложнее. Это стало основанием для предпочтительного развития средств электронно- го декодирования состояния счетчика и отображения в форме, которая непосредст- венно выдает распознанные результаты и не требует умственных преобразований и операций. Еще более важным аргументом в пользу необходимости электронного декодирова- ния является использование во многих задачах счетчиков для автоматического управления длительностью или последовательностью операций, выполняемых без вмешательства человека. Например, корректная работа системы может быть запуще- на при достижении счетчиком значения 101100 (в десятичной системе счисления — сорок четыре). Логическую схему можно использовать для декодирования (детекти- рования) при установке конкретного состояния и дальнейшего запуска работы схе- мы. Многими действиями можно управлять с помощью цифровых систем. Безуслов- но, что вмешательство человека в данный процесс будет нежелательным, за исклю- чением крайне медленно действующих систем. Декодирование, управляемое по высокому уровню сигнала Счетчик с Кпер = X имеет X различных состояний; каждое состояние — это опре- деленная последовательность нулей и единиц, хранимых триггерами, включенными в счетчик. Декодирующая схема — это логическая схема, которая формирует X раз- личных выходов, каждый из которых детектирует (декодирует) текущее состояние счетчика. Декодирующие выходы можно сконструировать таким образом, что в про- цессе декодирования на выход выводится высокий или низкий уровень сигнала. Де- кодер, управляемый по высокому уровню сигнала, для индикации декодирования формирует на выходах высокий уровень сигнала. На рис. 7.27 показана полная схема декодирования счетчика с Кпер = 8, управляемая по высокому уровню сигнала. Декодер состоит из восьми трехвходовых элементов И. Каждый элемент И формирует на выходе высокий уровень сигнала для отображения отдельного состояния счетчика. Например, на входы элемента И №0 подаются сигналы с выходов триггеров С , В и А. Таким образом, на выходах элемента И установлен низкий уровень сигнала, исключая комбинацию, когда А = В = С = 0, т.е. в состоянии 000 (ноль). Аналогично, на входы элемента И под К?5 подаются сигналы с выходов триггеров С, В и А, та- ким образом на выходах элемента установится высокий уровень сигнала только в случае С ~ 1, В = 0, А = 1, т.е. в состоянии 101 (пять в десятичной системе счисле- ния). Остальные элементы И для выполнения операций в случае других возможных значений работают аналогично. В любой момент времени на выходе только одного элемента И, который в этот момент непосредственно декодирует конкретное значение в счетчике, устанавливается высокий уровень сигнала (см. временные диаграммы на рис. 7.27). Выходы восьми элементов И могут быть использованы для управления восемью отдельными светодиодами, которые будут отображать десятичные значения от нуля до семи. В заданное время загорится только один светодиод, который будет показывать точное значение, установленное в счетчике. Декодер на элементах И может быть использован для счетчиков с любым количе- ством состояний, что иллюстрируют следующие примеры. I Счетчики и регистры 413
Тактовые >> импульсы с высокий уровень только при счете 100 высокий уровень только при 001 высокий уровень только при 010 высокий уровень только при 011 высокий уровень только при 100 высокий уровень только при 101 высокий уровень только при 110 высокий уровень только при 111 Рис. 7.27 Использование элементов И для декодирования счетчика с Кпер = 8 Пример 7.16 Сколько элементов И потребуется для полного декодирования всех состояний двоич- ного счетчика с Кпер = 32? Какие входы элементов декодируют значение 21? Решение Счетчик с Кпер = 32 имеет тридцать два возможных состояния. Для декодирования каждого состояния необходим один элемент И; следовательно, декодер должен состо- ять из тридцати двух элементов И. Поскольку 32 = 2°, то счетчик содержит пять триггеров. Таким образом, каждый элемент должен иметь пять входов, по одному от каждого триггера. Для декодирования значения 21 (т.е. 10101 в двоичной системе счисления) используются сигналы с выходов Е, D, С, В и А, где Е — триггер стар- шего значащего разряда. 414 Глава 7
Декодирование, управляемое по низкому уровню сигнала Если вместо элемента И использовать элемент И-НЕ, то на выходах декодера ус- тановится сигнал с высоким уровнем, который перейдет в низкий уровень сигнала только в том случае, когда декодирование значения уже произошло. На самом деле используются оба типа декодеров, а их выбор производится в зависимости от того, какие типы схем управляются выходами декодера. Пример 7.17 На рис. 7.28 представлен счетчик для формирования управляющего сигнала, кото- рый используется для контроля над такими устройствами, как двигатель, электро- магнит или нагреватель. Счетчик с Кпер = 16 работает циклически. Каждый раз, ко- гда счетчик устанавливается в состояние 8 (1000), верхний элемент И-НЕ вырабаты- вает низкий уровень сигнала, который устанавливает триггер X в состояние 1. Триггер X остается в состоянии 1 до момента, когда счетчик достигает значения 14 (1110). В этот момент нижний элемент И-НЕ декодирует его и вырабатывает низкий уровень сигнала для сброса триггера X в состояние 0. Таким образом, на выходе триггера X высокий уровень сигнала будет установлен в каждом цикле работы счет- чика между значениями 8 и 14. Декодирование 1110 Рис. 7.28. Пример 7.17 Декодирование двоично-десятичного счетчика Двоично-десятичный счетчик имеет десять различных состояний, техника деко- дирования которых была описана выше. Двоично-десятичные декодеры имеют десять выходов, соответствующих десятичным цифрам от нуля до девяти, и отображающих Счетчики и регистры 415
состояния триггеров счетчика. Эти десять выходов можно также использовать для управления десятью светодиодами для визуального отображения. Часто вместо десяти отдельных светодиодов используется одно устройство индикации для отобра- жения десятичных значений от нуля до девяти. Одна категория десятичных отобра- жающих устройств содержит семь небольших сегментов, сделанных из материала (обычно светодиоды или жидкокристаллические индикаторы), который либо сам из- лучает свет, либо отражает окружающий свет. Выходы двоично-десятичного декоде- ра управляют свечением сегментов для вывода на отображающее устройство соответ- ствующего десятичного числа. Более детально эти типы декодеров и отображающих устройств будут рассмот- рены в девятой главе. Тем не менее двоично-десятичные счетчики, взаимодейст- вующие с ними декодеры и отображающие устройства очень часто используются (см. рис. 7.29) для визуального отображения содержимого двоично-десятичного счет- чика в виде десятичных цифр. Входные импульсы Двоично-десятичный счетчик Выходы триггеров Семисегментный индикатор Блок декодирования и индикации i”i I I Рис. 7.29. Двоично-десятичные счетчики обычно отображают свои значения на отдельном ото- бражающем устройстве Контрольные вопросы 1. Сколько нужно элементов для полного декодирования шестибитового счетчика? I 2. Опишите декодирующий элемент, который требуется для формирования выхо- дов с низким уровнем сигнала, когда счетчик с Кпер = 64 находится в состоя- нии 21. 7.12. Сбои при декодировании В разделе 7.5 были рассмотрены эффекты задержки распространения сигнала в триггерах, включенных в асинхронные счетчики. Накопление задержек существенно ограничивает частоты, на которых можно использовать асинхронные счетчики. За- держки между переключениями триггеров могут к тому же стать причиной услож- нений при декодировании асинхронных счетчиков. Сложности выражаются в форме помех, возникающих в процессе декодирования, или всплесков на выходах некоторых декодирующих элементов. Это показано на рис. 7.30 в случае для асинхронного счетчика с Кпер = 4. На рисунке показаны временные диаграммы выходов каждого триггера и декоди- рующего элемента. Отметим наличие задержки между тактовым импульсом и сигна- лом на выходах А и В. Сбои в формах сигналов декодирования Хо и Xi возникают из-за задержки между сигналами А и В. Выход элемента И Хо декодирует значение 00. Состояние 00 возникает при переходе счетчика из состояния 01 в состояние 10, так как В не может изменить состояние до тех пор, пока уровень на выходе А пере- 416 Глава 7
ходит в низкий. Состояние 00 устанавливается только на несколько наносекунд (в зависимости от £зд триггера В), но может быть обнаружено декодирующим элемен- том, если быстродействие элемента окажется достаточно высоким. Следовательно, на выходе Хо виден пик. Аналогичная ситуация возникает на выходе Х2, который декодирует состояние 10. Это состояние может устанавливаться во время перехода из состояния 11 в со- стояние 00 при реакции на четвертый тактовый импульс, как показано на временной диаграмме. Опять же, это обусловлено задержкой переключения триггера В после перехода уровня сигнала на триггере А в низкий. Рис. 7.30. Триггер и временные диаграммы процесса декодирования для счетчика с Кпер = 4, иллюстрирующие сбои на выходах Хо и Х2 Счетчики и регистры 417
Ситуация для счетчика с Кпер = 4 аналогична ситуации, возникающей в любом асинхронном счетчике, поскольку асинхронные триггеры работают по принципу “цепной реакции” (т.е. каждый триггер запускает работу следующего триггера и т.д.). Всплески сигнала на выходах декодера могут или не могут представлять про- блему в зависимости от того, как используется счетчик. Если счетчик используется только в качестве устройства, которое подсчитывает импульсы и отображает резуль- таты, то всплески сигналов декодирования не дают никаких результатов (всплески очень короткие по продолжительности, поэтому они не появляются на отображаю- щем устройстве). В случае использования счетчика для управления другими логиче- скими схемами всплески сигнала могут стать причиной некорректной работы счет- чика. Например, на рис. 7.28 всплеск на выходе декодирующего элемента И-НЕ мо- жет стать причиной того, что триггер X будет переключаться или сбрасываться не тогда, когда это необходимо. Можно предсказать, где в счетной последовательности асинхронного счетчика бу- дут появляться временные состояния. Рассмотрим пошаговый процесс, при котором асинхронный счетчик переходит из состояния 011 (три в десятичной системе счисле- ния) в 100 (четыре в десятичной системе счисления): С В А \ < триггер А переключается первым < и вызывает переключение триггера В, < что приводит к переключению триггера С Отметим появление двух временных состояний: 010 и 000. Если при декодировании невозможно избавиться от шумов, вместо асинхронного счетчика используют параллельный. Напомним, что в параллельном счетчике все триггеры переключаются одновременно по тактовым импульсам, поэтому условия для возникновения помех декодера не возникают. Иногда импульсы помех наблюда- ются даже в параллельных счетчиках, так как триггеры могут иметь различное вре- мя задержки, особенно когда какой-то триггер более загружен, чем другие. Стробирование Более надежный метод устранения сбоев декодирования — стробирование. Эта техника использует сигнал, называемый стробирующим сигналом, который обеспе- чивает выключение декодирующего элемента И на время реакции всех триггеров на отрицательный фронт тактового импульса. Стробирующий сигнал подается на вход каждого декодирующего элемента (рис. 7.31). Сопроводительные временные диа- граммы указывают на то, что уровень стробирующего сигнала переходит в низкий при переходе уровня тактового сигнала в высокий. Пока уровень сигнала строба низ- кий, на декодирующих элементах удерживается низкий уровень сигнала. Уровень стробирующего сигнала переходит в высокий, подключая декодирующие элементы в некоторый момент tD, после отрицательного фронта тактового импульса. Момент tD вы- бран для увеличения общего времени удержания счетчика в устойчивом состоянии. Величина tD зависит от задержки триггеров и количества триггеров в счетчике. Таким образом, по причине выключения декодирующих элементов во время переключения триггеров, на выходе декодирующих элементов не будет всплесков уровня сигнала. Стробирование не применяется, если счетчик используется для отображения ре- зультатов, поскольку всплески сигнала при декодировании очень непродолжительны и, следовательно, незаметны на отображающем устройстве. Стробирующий сигнал применяется в случае использования счетчика в качестве управляющих схем, подоб- но изображенной на рис. 7.28, где всплески сигнала могут становиться причиной не- корректной работы счетчика. 418 Глава 7
Стробирующий сигнал Тактовые импульсы Стробирующие импульсы Рис. 7.31. Использование стробирующего сигнала для устранения сбоев при декодировании Контрольные вопросы j 1. Объясните, почему на выходах декодирующих элементов асинхронного счетчи- ка могут возникать сбои? : 2. Каким образом стробирование устраняет сбои, возникающие при декодировании? 7.13. Последовательное включение двоично-десятичных счетчиков Двоично-десятичные счетчики чаще всего используются в случаях, когда необхо- димо подсчитать количество поступивших импульсов и отобразить результаты в де- сятичной системе счисления. У единичного двоично-десятичного счетчика счетный диапазон лежит между 0 и 9, при достижении значения счетчик сбрасывается в 0. Для работы с большими десятичными значениями можно последовательно включить несколько каскадов двоично-десятичных счетчиков, как показано на рис. 7.32. Рабо- та этой многокаскадной схемы заключается в следующем: Единицы Сотни Десятки Двоично- Вход десятичный <В <-* П П П счетчик Декодер и индикатор 0-9 О । । Рис. 7.32. Каскадное включение двоично-десятичных счетчиков для счета и отображе- ния значений, от ООО до 999 Счетчики и регистры 419
1. Первоначально все счетчики сброшены в состояние 0. Таким образом, на отобра- жающем устройстве высвечивается значение ООО. 2. При поступлении на вход счетных импульсов двоично-десятичный счетчик еди- ниц увеличивает текущее значение на единицу по каждому счетному импульсу. После поступления девяти счетных импульсов двоично-десятичные счетчики разрядов десятков и сотен остаются в состоянии 0, а счетчик разряда единиц на- ходится в состоянии 9 (1001). Таким образом, на десятичном индикаторе отобра- жается значение 009. 3. При поступлении десятого счетного импульса счетчик разряда единиц сбрасыва- ется в состояние и на выходе триггера D осуществляется переход из 1 в 0. Пере- ход из 1 в 0 воздействует на счетчик разряда десятков как тактовый импульс и увеличивает значение счетчика на единицу. Таким образом, после поступления десяти счетных импульсов на десятичном индикаторе отобразится значение 010. 4. При поступлении дополнительных импульсов счетчик разряда единиц продолжа- ет увеличивать значение на единицу, при посту тлении каждого десятого импуль- са — сбрасывается в 0 и увеличивает значение счетчика разряда десятков на единицу. Таким образом, после поступления девя юсто девяти импульсов счетчи- ки разряда десятков и единиц находятся в состоя^ ии 9. На десятичном индика- торе отображается значение 099. 5. При поступлении сотого входного импульса счетчик разряда единиц сбрасывает- ся в состояние 0, который в свою очередь сбрасывает счетчик разряда десятков также в состояние 0. На выходе триггера D счетчика разряда десятков происхо- дит переход из состояния 1 в состояние 0, который воздействует на счетчик раз- ряда сотен как тактовый импульс и увеличивает значение счетчика разряда со- тен на единицу. Таким образом, после поступления ста импульсов на десятичном индикаторе отобразится значение 100. 6. Этот процесс продолжается до поступления 999 импульсов. При поступлении 1000 го импульса все счетчики сбрасываются в состояние 0. Очевидно, что эта схема может быть увеличена до любого желаемого значения де- сятичных разрядов простым добавлением количества каскадов. Например, для под- счета до значения 999 999 потребуется шесть двоично-десятичных счетчиков и взаи- модействующих с ними декодеров и индикаторов. Для отображения одного разряда требуется один двоично-десятичный счетчик. 7.14. Проектирование синхронного * счетчика Существует много различных схем счетчиков в виде ИС — асинхронных, син- хронных и комбинированных (асинхронно-синхронных). Большинство из них ис- пользуют для работы обычную двоичную последовательность, однако их счетные по- следовательности могут быть слегка изменены по методам, продемонстрированным для ИС 74293 и 74193. Существуют ситуации, когда счетчику для работы необходи- мо использовать счетную последовательность, которая не является обычной двоичной последовательностью, например: 000, 010, 101, 001, 011, 000 и т.д. Существует несколько методов разработки счетчиков, которые формируют произ- вольную последовательность. Рассмотрим детали простого способа, который преду- сматривает использование J-K-триггеров в схеме синхронного счетчика. Тот же метод может быть использован при разработке счетчика на D-триггерах. Методика — одна * Эту тему можно пропустить. 420 Глава 7
из нескольких процедур разработки, составляющих процесс создания цифровых схем, которая называется разработкой последовательных схем и рассматривается в расширенном курсе схемотехники. Основная идея В синхронных счетчиках все триггеры тактированы одновременно. Для гаранти- рованной установки триггера в необходимое состояние на входах J и К каждого триггера должны быть установлены корректные уровни сигнала перед поступлением каждого тактового импульса. Например, рассмотрим ситуацию, которая показана в табл. 7.1. При поступлении каждого следующего тактового импульса на входах J и К каждого триггера должны быть корректные уровни сигнала, так как это может стать причиной изменения состояния триггера С из 1 в 0, триггера В из 0 в 1, триггера А из 1 в 1 (т.е. без изменений). Таблица 7 Л J. Н ж Предыдущее состояние Следующее состояние С В А С В А 1 0 1 0 1 1 Процесс разработки синхронного счетчика становится одним из этапов разработки логических схем, которые декодируют изменяющиеся состояния счетчика для пода- чи логических уровней на каждый вход J и К. На входы этой декодирующей схемы подается сигнал с выхода одного или нескольких триггеров. Так, для синхронного счетчика, изображенного на рис. 7.17, элемент И, который питает входы J и К триг- гера С, является декодером состояний триггеров А и В. Подобным образом элемент И, который питает входы J и К триггера D, декодирует состояния триггеров А, В и С. Таблица возбуждений для J-K-триггера Перед тем как начать процесс разработки схемы декодирования для каждого вхо- да J и К, необходимо проанализировать работу J-K-триггера, используя особый ме- тод, называемый таблицей возбуждений для J-K-триггера. Крайний слева столбец этой таблицы (табл. 7.2) описывает все возможные изменения логических уровней на выходе триггера. Второй и третий столбцы, которые описывают текущие состояния триггера, обозначены соответственно Q(N) и следующего состояния — Q(N+1), для каждого изменения состояния. В последних двух столбцах перечислены логические уровни на входах J и К, необходимые для осуществления каждого переключения. Опишем каждый случай. Таблица 7.2. Табл и цавозбуждекий для J-K-триггера Переключение > 'овня на Текущее состояние Q(N) Следующее состояние выходе Q(N+1) J к 0^0 0 0 0^1 0 1 1^0 1 о 1-^1 1 1 0 х 1 X х 1 х 0 О->0. 0 — текущее состояние триггера, которое остается и после поступления так- тового импульса (это может быть либо в случае, когда J = К = 0 (режим без измене- Счетчики и регистры 421
ний) или J = 0 , а К = 1 (режим сброса)). Таким образом, вход J должен быть в со- стоянии 0, а вход К может быть в любом состоянии. В таблице показан 0 под входом J и х ниже К. Напомним, что х означает “безразлично” (любое состояние). О->1. О — текущее состояние триггера, которое переходит в 1 либо когда J = 1 , а К = 0 (режим переустановки) или J = К = 1 (режим переключения). Таким образом, для осуществления данного перехода вход J должен быть в состоянии 1, а вход К может быть в любом состоянии. 1->0. 1 — текущее состояние триггера, которое переходит в 0. Это происходит при условии, что либо J = 0, а К = 1 или при J — К — 1. Таким образом, вход К должен быть в состоянии 1, а вход J может быть в любом состоянии. 1->1. 1 — текущее состояние триггера, которое остается 1. Это происходит при условии J = К = 0 или J = 1, а К = 0. Таким образом, вход К должен быть ь •''сдоя- нии 0, а вход J может быть в любом состоянии. Использование данной таблицы возбуждений для J-K-триггера является принци- пиальной частью методики разработки синхронного счетчика. Методика разработки А теперь подробно рассмотрим процедуру разработки синхронного счетчика. Не- смотря на то, что данная методика рассчитана на особую счетную последователь- ность, такие же этапы можно применить для любой желаемой последовательности. Этап 1. Определить необходимое количество разрядов и требуемую счетную после- довательность. Разработаем трехбитовый счетчик, который будет использовать счетную последо- вательность, представленную в табл. 7.3. Эта последовательность не включает значе- ния 101, 110 и 111, которые относятся к нежелательным состояниям. Таблица 7.3 с__________________________________________в________________а_____________________ О 0 0 О О 1 0 1 о 0 1 1 1 о о 0 0 0 0 0 1 и т.д. Этап 2. Нарисовать диаграмму переходов состояний, указывающую все возможные состояния, включая те, которые не входят в состав требуемой счетной по- следовательности. Диаграмма переходов состояний может выглядеть так, как показано на рис 7.33. Состояния от 000 до 100 соединены в последовательность, которая необходима для работы. Включение нежелательных состояний в эту диаграмму является новшеством. Нежелательные состояния должны включаться согласно данной методики, так как счетчик может случайно устанавливаться в одно из этих состояний при включении или под воздействием шума. Во время разработки необходимо выбирать, в какое со- стояние после случайного попадания в нежелательное состояние будет переходить счетчик при поступлении следующего тактового импульса. Чаще всего выбирается состояние 000, т.е. при установке в нежелательное состояние счетчик устанавливает- 422 Глава 7
ся в состояние ООО и уже из этого состояния начинается работа в нормальной счет- ной последовательности. Этап 3. Использовать диаграмму переходов для создания таблицы, которая перечис- ляет все возможные текущие состояния и их последующие состояния. Для этого примера данные приведены в табл. 7.4. В левой части таблицы пере- числены все возможные состояния, даже те, которые не являются частью необходи- мой счетной последовательности. Эти состояния обозначаются как текущие состоя- ния. В правой части таблицы перечислены последующие состояния для каждого те- кущего состояния. Последующие состояния получены из диаграммы переходов из рис. 7.33. Например, первая строка показывает, что у текущего состояния ООО по- следующим состоянием будет состояние 001, в пятой строке текущее состояние — 100, его последующее состояние — ООО. В шестой, седьмой и восьмой строках указа- ны все нежелательные состояния — 101, 110 и 111, для которых последующим со- стоянием является состояние 000. Таблица 7.4 Последующее состояние 1 Номер строки С Текущее состояние с В А В А 1 0 0 0 0 0 1 2 0 0 1 0 1 0 3 0 1 0 0 1 1 4 0 1 1 1 0 0 5 1 0 0 0 0 0 6 1 0 1 0 0 0 7 1 1 0 0 0 0 8 1 1 1 0 0 0 Рис. 7.33. Пример диаграммы пере- ходов для разработки синхронного счет чина Счетчики и регистры 423
Этап 4. Добавить столбец к этой таблице для каждого входа J и К. Для каждого те- кущего состояния указать логический уровень, который необходимо прило- жить для осуществления перехода в последующее состояние. В примере разработки счетчика используется три триггера С, В, А. Каждый из этих триггеров имеет по одному входу J и К. Таким образом, необходимо добавить шесть столбцов, как показано в табл. 7.5. Эта полная таблица называется таблицей возбуждений схемы. Содержимое в новых шести столбцах указывает на состояния входов J и К каждого триггера. Содержимое новых шести столбцов таблицы получе- но из табл. 7.2. цм МВ ВВВ , to тг—гм - к. v «•'Г ММ -> Ofc* ' - Ltr кМ.1 X 1 кТ^блйЦад^ Текущее Последующее состояние состояние Номер строки с В А с В А Jc. Кс Jb Кв Л КА 1 0 0 0 0 0 1 0 X 0 X 1 X 2 0 0 1 0 1 0 0 X 1 X X 1 3 0 1 0 0 1 1 0 X X 0 1 X 4 0 1 1 1 0 0 1 X X 1 X 1 5 1 0 0 0 0 0 X 1 0 X 0 X 6 1 0 1 0 0 0 X 1 0 X X 1 7 1 1 0 0 0 0 X 1 X 1 0 X 8 1 1 1 0 0 0 X 1 X 1 X 1 Рассмотрим первую строку табл. 7.5. Текущее состояние ООО переходит к после- дующему состоянию 001 при поступлении тактового импульса. В этот момент триг- гер С переходит из состояния 0 в состояние 0. Из таблицы возбуждений J К триггера видно, что для осуществления перехода Jc должен быть в состоянии 0, а Кс может быть в любом состоянии. Триггер В также переходит из состояния 0 в состояние 0 и, таким образом, = 0, а Къ = х. Триггер А переходит из состояния 0 в состояние 1. Из табл. 7.2 следует, что для осуществления данного перехода JA = 1, а КА = х. В четвертой строке табл. 7.5 текущее состояние 011 переходит в последующее со- стояние 100. Для этого триггер С переходит из состояния 0 в состояние 1. Из табли- цы возбуждений J-K-триггера видно, что для осуществления перехода Jc должен быть в состоянии 1, а Кс может быть в любом состоянии. Оба триггера А и В перехо- дят из состояния 1 в состояние 0 и, таким образом, из табл. 7.2 получаем, что для осуществления данного перехода J = х, а К = 1. Логические уровни, которые необходимо прикладывать на входы триггеров, мож- но получить из табл. 7.5 аналогичным образом. Этап 5. Разработать логические схемы, устанавливающие логические уровни на ка- ждый вход J и К. В табл. 7.5 перечислены шесть входов J и К: Jc, Кс, Къ, JA и КА. Необходимо рассмотреть каждый из них как выход логической схемы, на вход которой подклю- чены выходы триггеров С, В и А. Необходимо разработать схему для каждого входа. Рассмотрим разработку схемы для JA. Сначала необходимо узнать текущие состояния С, В и Л, а также требуемые логи- ческие уровни, которые нужно подавать на JA в каждом случае. Данную информа- цию можно получить из табл. 7.5 и представить на рис. 7.34, а. Эта таблица истин- ности показывает требуемые логические уровни на входе JA для каждого текущего состояния. Конечно, в некоторых случаях безразлично, какой логический уровень подан на вход JA. Для проектирования логической схемы для JA необходимо сначала определить его представление через триггеры С, В и А. Это можно сделать с помо- 424 Глава 7
щью перевода информации из таблицы истинности в карту Карно, а затем упростить карту Карно, как показано на рис. 7.34, б. В этой карте Карно есть только две “единицы”, которые могут быть объединены для получения выражения АС . Однако если учесть безразличные состояния АВС и АВС как “единицы”, то можно обвести соответствующую склейку и получить более простое выражение С . Таким образом, окончательное выражение будет иметь вид С. Теперь рассмотрим вход КА. Можно проделать те же действия, которые были предприняты для JA. Впрочем, нужно рассмотреть содержимое столбца для КА и отме- тить только единицы и безразличные состояния. Если изменить все безразличные со- стояния на единицы, то КА всегда равно 1 и окончательное выражение будет иметь вид 1. Подобным образом получаем выражения для Jc, Кс, и Къ. Карты Карно для этих выражений представлены на рис. 7.35. В правильности выражений можно убе- диться с помощью таблицы возбуждений схемы. Текущее состояние С В A JA г 0 0 ” 1 0 0 1 х 0 1 0 0 1 1 1 о о 1 0 1 1 1 о 1 1 1 1 х_ 0 х 0 х а) Рис. 7.34. а) Часть таблицы возбуждений схемы, показывающая необходимое состояние входа JA для каждого текущего состояния; б) упрощенная карта Карно для получения выражения для JA КВ=А + С JC=AB Кс= 1 а) б) Рис. 7.35. а) Составление карты Карно для логических схем Jc и Кс; б) составле- ние карты Карно для логических схем и Къ Счетчики и регистры 425
Этап 3. Реализовать окончательные выражения Логические схемы для каждого входа J и К можно реализовать из выражений, полученных из составленных карт Карно. Разработанный полный синхронный счетчик представлен на рис. 7.36. Нужно отметить, что все триггеры тактированы параллельно и логика для входов J и К совпадает с представленной на рисунках 7.34 и 7.35. CLOCK Рис. 7.36. Окончательный результат разработки синхронного счетчика Управляющий элемент для шагового двигателя А теперь применим изложенную выше методику разработки для конкретного слу- чая — управляющего элемента шагового двигателя. Шаговый двигатель постоянно вращается по шагам (15е за шаг). Катушка электромагнита или обмотка внутри дви- гателя должны подключаться и отключаться в особой последовательности, которая и будет организовывать пошаговую работу. Обычно для управления током в обмотках двигателя применяют цифровые сигналы. Шаговые двигатели часто используются в случаях, когда требуется точная установка частей прибора в определенную точку, например при установке головки считывания (записи на магнитных дисках, управ- лении печатающей головкой принтера, автоматах и т.д.). На рис. 7.37, а представлена схема типичного шагового двигателя с четырьмя об- мотками. Для правильного вращения обмотки 1 и 2 должны быть всегда в противо- положных состояниях. Это значит, что когда на обмотку 1 подано питание, то об- мотка 2 отключена, и наоборот. Подобным образом обмотки 3 и 4 также должны быть всегда в противоположных состояниях. Для управления током четырех обмоток используются выходы двухразрядного синхронного счетчика. Выходами А и А управляются обмотки 1 и 2, а выходами В и В управляются обмотки 3 и 4. Так как с выходов триггеров не выдаются значения тока, требуемые для непосредственного управления обмотками, то между выходами триггеров и обмотками нужно устано- вить усилители тока. Таким образом данный шаговый двигатель может вращаться как по часовой (CW), так и против часовой стрелки (CCW), для чего имеется вход направления D, который управляет направлением вращения. На рис. 7.37, б диаграмма состояний показывает два случая. Для вращения по часовой стрелке нужно состояние D = 0, а состояния счетчика ВА должны следовать счетной последовательности: 11, 10, 00, 01, 11, 10 ... и т.д., как если бы счетчик тактировался сигналом со входа Step. Для враще- ния против часовой стрелки необходимо состояние входа D = 1, и счетчик должен ра- ботать в следующей счетной последовательности: 11, 01, 00, 10, 11, 01 ... и т.д. 426 Глава 7
a) Рис. 7.37. а) Синхронный счетчик, который с помощью требуемой счетной последовательно- сти управляет шаговым двигателем; б) диаграммы переходов состояний для обоих состоя- ний входа направления D А теперь пройдем шесть этапов методики разработки синхронного счетчика. Эта- пы 1 и 2 уже выполнены, поэтому приступим к выполнению этапов 3 и 4. В табл. 7.6 показаны все возможные текущие состояния D, В и А, а также требуемые после- дующие состояния вместе с логическими уровнями, которые необходимо подавать на каждый J и К вход для осуществления переходов. Отметим, что во всех случаях вход направления D не меняет своего состояния при переходе от текущего к после- дующему состоянию по причине того, что D — независимый вход, на котором удер- живается высокий или низкий уровень сигнала в процессе работы счетчика со своей требуемой счетной последовательностью. (Таблица Текущее состояние Последующее состояние Jb Кв Л D в А D в А 0 0 0 0 0 1 0 X 1 X 0 0 1 0 1 1 1 X X 0 0 1 0 0 0 0 X 1 0 X 0 1 1 0 1 0 X 0 X 1 1 0 0 1 1 0 1 X 0 X 1 0 1 1 0 0 0 X X 1 1 1 0 1 1 1 X 0 1 X 1 1 1 1 0 1 X 1 X 0 Этап 5 методики разработки представлен на ^ис. 7.38, где содержимое табл. 7.6 было перенесено на карты Карно, показывающие связь каждого сигнала J и К с те- СЧЕТЧИКИ И РЕГИСТРЫ 427
кущими состояниями D, В и А. Используя соответствующие контуры, получим уп- рощенные логические выражения для каждого сигнала J и К. Последним этапом на рис. 7.39, где показан двухразрядный синхронный счетчик, будет реализация выражений для входов J и К, полученных из карт Карно. JB=PA+PA Кв- DA + РА = Р ФА = РФА а) JA= РВ + РВ = Р Ф В КА= РВ + РВ = РФВ б) Рис. 7.38. а) Карты Карно для Jb и Къ, б) карты Карно для Ja и Кл Рис. 7.39. Синхронный счетчик, реализованный из выражений для входов J и К 428 Глава 7
Контрольные вопросы * $ 8§Ввнг 1. Перечислите шесть этапов методики разработки синхронного счетчика. 2. Какая информация содержится в таблице возбуждений J-K-триггера? 3. Какая информация содержится в таблице возбуждений схемы? । 4. Проверьте истинность высказывания. Методика разработки синхронного счетчика может использоваться для формирования следующей счетной после- j довательности: 0010, ООН, 0100, 0111, 1010, 1110, 1111 и далее повтор. j 7.15. Счетчик на сдвиговых регистрах В разделе 5.18 рассматривался способ соединения триггеров в схему регистра, ко- торая сдвигает данные слева направо и наоборот, один бит за раз (последовательно). В счетчиках на сдвиговых регистрах используют обратную связь, которая означает, что выход последнего триггера в регистре тем или иным образом подключен на вход первого триггера. Кольцевой счетчик Простейшим сдвигающим регистр счетчиком является кольцевой сдвиговый ре- гистр, соединенный таким образом, что последний триггер сдвигает свое значение в первый триггер. В этой схеме (рис. 7.40) используются D-триггеры (также можно ис- пользовать и J-K-триггеры). Триггеры соединены так, что данные сдвигаются слева направо и назад из Qo в Q3. В большинстве случаев только одна единица находится в регистре и она вращается внутри регистра до тех пор, пока поступают тактовые им- пульсы. Именно поэтому данный счетчик называется кольцевым счетчиком. Временные диаграммы, таблица последовательности и диаграмма состояний, представленные на рис. 7.40, показывают переменные состояния триггеров при по- ступлении тактовых импульсов, допуская, что в начальном положении Q3 = 1, a Q2 — = Qi — Qo — 0. После поступления первого импульса 1 сдвигается с Q3 на Q2 и теперь счетчик находится в состоянии 0100. Второй импульс переключает счетчик в состоя- ние 0010, а третий — в состояние 0001. На четвертом тактовом импульсе 1, нахо- дящаяся на Qo, переходит на Q3, и как результат получаем состояние 1000. После- дующие импульсы приведут к повторению рассмотренной выше последовательности. Представленный счетчик работает как счетчик с Кпер = 4, так как он имеет четы ре различных состояния. Хотя эта схема не предназначена для счета в нормальной двоичной последовательности, она все равно является счегчиком, так как каждому значению соответствует единственное состояние триггера. Отметим, что диаграмма каждого выхода триггера характеризуется частотой, равной одной четвертой частоты тактового импульса (поскольку это кольцевой счетчик с Кпер = 4). Кольцевые счетчики можно реализовать с любым необходимым коэффициентом пересчета. В кольцевом счетчике с Кпер = N применяется N триггеров, соединенных соответственно (рис. 7.40). Вообще, для построения кольцевого счетчика необходимо больше триггеров, нежели их потребуется для двоичного счетчика с аналогичным ко- эффициентом пересчета; к примеру, кольцевой счетчик с Кпер = 8 включает восемь триггеров, а двоичный — только три. Несмотря на этот недостаток, кольцевой счетчик все же находит свое применение, так как он может быть декодирован без использования дешифрирующей схемы. Де- шифрирующий сигнал для каждого состояния исходит из выхода соответствующего триггера. Сравним временные диаграммы кольцевого триггера с диаграммой из рис. 7.27. В некоторых случаях все же лучше применять кольцевой счетчик нежели двоичный с его декодирующей схемой. Кольцевой счетчик часто используют для управления последовательностью операций в устройстве. Счетчики и регистры 429
В) Рис. 7.40. а) Четырехразрядный, кольцевой счетчик; б) временные диаграммы; в) таб- лица последовательности; г) диаграмма состояний Запуск кольцевого счетчика Для корректной работы кольцевой счетчик должен запускаться с одним состояни- ем триггера — 1, а на всех остальных триггерах должны быть 0. Начальное состоя- ние триггеров при включении непредсказуемо, поэтому до подачи синхроимпульсов следует установить счетчик в необходимое положение. Один из способов сделать это — подать кратковременный импульс на асинхронный вход PRE одного из триг- 430 Глава 7
геров (Q3 на рис. 7.40) и на входы CLR всех остальных триггеров. Второй способ представлен на рис. 7.41. При включении емкость относительно медленно заряжает- ся до размерности +КСС. Уровень сигнала на выходе инвертора 1 триггера Шмитта остается высоким, а уровень на выходе инвертора 2 будет сохраняться низким до тех пор, пока потенциал емкости не превысит положительного предела напряжения (Ут+) входа инвертора 1 (около 1,7 вольта). Это будет удерживать уровень сигнала на входе PRE триггера Q3 и входов CLR Q2, Qr и Qo низким, что будет гарантировать уста- новку начального положения 1000. На вход PRE в Оз и CLR в О?, Qi и Оона рис. 7.40 Рис. 7.41. Схема обеспечения запуска кольцевого триг- гера, изображенного на рис. 7.40, из состояния 1000 Счетчик Джонсона Немного изменив стандартный кольцевой счетчик, можно получить другой тип сдвигающего регистра, который будет характеризоваться слегка другими свойствами. Счетчик Джонсона реализован точно так же, как и обычный кольцевой счетчик, только с одним отличием — инвертированный выход последнего триггера соединен со входом первого триггера. На рис. 7.42 изображен трехразрядный счетчик Джонсо- на. Отметим, что выход Qo соединен со входом D входом Q2. Это означает, что ин- версный уровень, который хранится в Qo при подаче синхроимпульса, будет передан Q2 при поступлении тактового импульса. Работу счетчика Джонсона можно легко проанализировать, если уяснить, что при каждой подаче положительного синхроимпульса уровень на Q2 сдвигается в уро- вень на Qi сдвигается в Qo, а инверсия уровня на Qo сдвигается в Q2. Используя эту концепцию и предположив, что все триггеры первоначально установлены в состояние 0, можно составить диаграмму, таблицу последовательности и диаграмму состояний (рис. 7.42). После исследования диаграмм и таблицы последовательности можно выделить не- сколько важных моментов: 1. Счетчик имеет шесть различных состояний: 000, 100, 110, 111, 011 и 001, затем последовательность повторяется. Это и есть счетчик Джонсона с Кпер = 6. Отме- тим, что счетчик не производит счет в обычной двоичной последовательности. 2. Диаграмма каждого триггера является меандром (1/2 длительности цикла), рав- ным одной шестой частоты синхроимпульса. Диаграммы сдвигаются на один пе- риод относительно друг друга. Коэффициент пересчета счетчика Джонсона всегда будет в два раза больше, чем количество триггеров. К примеру, если соединить пять триггеров (рис. 7.42), то по- Счетчики и регистры 431
лучим счетчик Джонсона с Кпер = 10. На каждом выходе триггера будет меандр с частотой, равной одной десятой частоты синхроимпульса. Исходя из вышесказанного можно реализовать счетчик с Кпер = N (где N — четное число) посредством соедине- ния N/2 триггеров согласно структуре счетчика Джонсона. CLOCK JTLTLTL а) Рис. 7.42. а) Счетчик Джонсона с Кпер = 6; б) диаграмма; в) таблица последо- вательности; г) диаграмма состояний 432 ... ' 1 Глава 7
Декодирование счетчика Джонсона Для получения определенного коэффициента пересчета счетчику Джонсона необ- ходима только половина триггеров, которые требуются кольцевому счетчику для достижения такого же результата. Впрочем, в отличие от кольцевого счетчика, счет- чик Джонсона нуждается в декодирующих элементах. Как и двоичный счетчик, счетчик Джонсона для декодирования каждого значения использует один логический элемент, но каждый элемент нуждается только в двух входах, независимо от количе- ства триггеров в счетчике. На рис. 7.43 показаны декодирующие элементы для шес- ти состояний счетчика Джонсона из рис. 7.42. Рис. 7.43. Декодирующая логика для счетчика Джонсона с Кпер = 6 q2 Qj 0о Акгибный элемент 0 0 0 0 1 0 0 1 1 1 0 2 1 1 1 3 0 1 1 4 0 0 1 5 Отметим, что у каждого декодирующего элемента есть два входа, даже если в счетчик включены три триггера. Например, комбинация Q2 — Qo = 0 появляется только один раз в счетной последовательности при значении счета 0. Таким образом^ элемент И номер ноль со входами Q2 и Qo декодирует значение счета 0. Подобными характеристиками обладают все остальные состояния счетной последовательности. Фактически, для любого размера счетчика Джонсона декодирующие элементы будут иметь только два входа. Счетчики Джонсона представляют что-то среднее между кольцевыми и двоичны- ми счетчиками. Счетчику Джонсона требуется меньше триггеров, чем кольцевому счетчику, но больше, чем двоичному. Схема декодирования счетчика Джонсона больше, чем у кольцевого счетчика, но меньше, чем у двоичного. Таким образом, счетчик Джонсона отображает логичный выбор для определенного использования. ИС счетчиков на сдвиговых регистрах Очень немногие кольцевые счетчики или счетчики Джонсона существуют в виде ИС. Причина в том, что получить ИС счетчика на сдвиговых регистрах и включить схему как кольцевой счетчик или счетчик Джонсона относительно просто. Некото- рые КМОП-ИС счетчиков Джонсона (74НС4017, 74НС4022) содержат полную декоди- рующую схему на том же чипе, что и счетчик. < Контрольные вопросы 1. Какие виды счетчиков на сдвиговых регистрах нуждаются в большем количе- j стве триггеров для получения определенного значения коэффициента пересчета? ’ 2. Для какого счетчика на сдвиговых регистрах требуется наибольшая схема де- кодирования? 3. Как можно кольцевой счетчик конвертировать в счетчик Джонсона? Счетчики и регистры 433
4. Проверьте истинность высказывания: а) на выходе кольцевого счетчика сигнал имеет форму меандра; б) декодирующая схема счетчика Джонсона более простая, чем у двоичного счетчика; в) кольцевой счетчик и счетчик Джонсона — синхронные. 5. Сколько триггеров необходимо для создания кольцевого счетчика с Кпер =16? 6. Сколько триггеров необходимо для создания счетчика Джонсона с Кпер = 16? Резюме части I 1. В асинхронных счетчиках тактовый сигнал подается на триггер младшего зна- чащего разряда, все триггеры синхронизируются сигналом с выхода предыдуще- го триггера. 2. Коэффициент пересчета счетчика — это количество устойчивых состояний в счетном цикле счетчика, к тому же это максимальный коэффициент деления частоты. 3. Обычный (максимальный) коэффициент пересчета счетчика определяется выра- жением 2N. Один из способов изменения коэффициента пересчета состоит в том, что нужно добавить схему, которая будет сбрасывать счетчик до достижения по- следнего значения перед сбросом. 4. Счетчики могут последовательно соединяться для получения большего счетного диапазона и коэффициента деления частоты. 5. В синхронном (параллельном) счетчике все триггеры одновременно тактированы входным тактовым сигналом. 6. Максимальная частота входного тактового сигнала асинхронного счетчика /тах уменьшается при увеличении количества бит. У синхронного счетчика оста- ется одинаковой независимо от количества разрядов. 7. У десятичного счетчика Кпер =10. Двоично-десятичный счетчик — это десятич- ный счетчик, который использует десять двоично-десятичных кодов (от 0 до 9). 8. Предустанавливаемый счетчик может иметь любое необходимое начальное со- стояние. 9. Реверсивный счетчик может работать в суммирующем или вычитающем режимах. 10. Для декодирования (детектирования) конкретного или всех значений счетчика используются логические элементы. 11. В декодирующих элементах асинхронных счетчиков могут возникать помехи, обусловленные задержками распространения сигнала счетчика. В синхронных счетчиках помехи декодирования отсутствуют. Стробирование — техника исклю- чения эффектов от возникающих при декодировании помех. 12. Синхронные счетчики с произвольными счетными последовательностями могут быть получены с помощью стандартной методики разработки упомянутых счет чиков. , 13. Кольцевой счетчик — это фактически N-разрядный сдвигающий регистр, кото- рый последовательно перемещает единицу, действуя как счетчик с Кпер = N. Счетчик Джонсона — это видоизмененный кольцевой счетчик, который работает как счетчик с Кпер = 2N. 434 Глава 7
Основные термины синхронный счетчик коэффициент пересчета десятичный счетчик • двоично-десятичный счетчик суммирующий счетчик вычитающий счетчик синхронный (параллельный) счетчик реверсивный счетчик предустанавливаемый счетчик параллельная загрузка многокаскадный счетчик декодирование помехи декодирования стробирование последовательное включение разработка последовательных схем таблица возбуждений для J-K-триггера кольцевой сдвиговый регистр кольцевой счетчик счетчик Джонсона Часть II 7.16. Применение счетчиков: счетчик частоты Существует множество различных применений счетчиков. В этом и следующем разделах будут рассмотрены два типичных примера применения счетчиков, харак- терных для цифровых систем. Счетчик частоты — это схема, которая выполняет функции измерения и отобра- жения частоты сигнала. Один из наиболее фундаментальных методов реализации та- кого счетчика частоты изображен на рис. 7.44, а, только в немного упрощенной форме. Схема состоит из счетчика, модуля декодирования и отображения, а также элемента И. На входы элемента подаются импульсы с искомой частотой /х и сигнал эталонной частоты, который управляет процессом подачи импульсов искомой часто- ты к счетчику через элемент И. Чаще всего счетчик, используемый для таких целей, организован на каскадах двоично-десятичных счетчиков (рис. 7.32) и соответственно на модуле декодирования и отображения, который переводит значения выходов дво- ично-десятичного счетчика в десятичную форму, отображая их на индикаторе в чи- табельном виде. Неизвестная частота fx Строби- рующие импульсы Рис. 7.44. Фундаментальный метод реализации счетчика частоты Строби- рующие импульсы ит Интервал выборки б) Счетчики и регистры 435
Диаграммы на рис. 7.44, в иллюстрируют, как импульс сброса подается в счетчик в момент t0 Для того, чтобы счетчик начал работу из состояния 0. До момента tr стробирующий импульс имеет низкий уровень сигнала, поэтому на выходе Z элемен- та И уровень сигнала также будет низким, следовательно, счетчик не будет произво- дить счетные действия. В период t^-tz уровень стробирующего сигнала высокий; та- кое положение называется интервалом дискретизации. В течение этого интервала дискретизации импульсы частоты /х поступают через элемент И, т.е. производится счет. После момента t2 уровень сигнала на выходе элемента И становится низким и то- гда счетные действия прекращаются. Таким образом, счетчик будет производить счет количества импульсов, действующих в течение интервала дискретизации, и результи- рующее состояние счетчика будет не что иное, как частота следования этих импульсов. Пример 7.18 Искомая частота следования импульсов равна 3792 импульсам в секунду (имп./с). Счетчик установлен в состояние 0 до момента времени tp Определите показание счетчика после счета в интервале дискретизации: а) 1 с, б) 0.1 с, в) 10 мс. Решение а) Во время следования импульсов в интервале дискретизации длительностью 1 с в счетчик поступит ровно 3792 импульса. Соответственно, в момент t2 показание счетчика будет равно 3792. % б) Во время следования импульсов в интервале дискретизации длительностью 0,1 с количество прошедших импульсов через элемент И в счетчик будет равно 3792 имп./с х 0,1. Результатом умножения будет 379,2. Это означает, что будет сосчитано или 379 или 380 импульсов в зависимости от того, какая часть им- пульсного цикла совершалась на момент tp в) В интервале дискретизации 10 мс = 0,01 с, поэтому счетчик будет показывать ве- личину, равную или 37, или 38. Точность этого метода практически полностью зависит от длительности интервала дискретизации, который должен поддерживаться безошибочно. Как правило, для по- лучения высокоточного интервала дискретизации применяют метод, отмеченный на рис. 7.45. Для генерации сигнала очень точной частоты в 100 кГц применяется гене- ратор с кварцевой стабилизацией частоты. Этот сигнал имеет форму прямоугольных импульсов и подается к последовательным десятичным счетчикам, предназначенным для деления частоты данного сигнала на десять. Частоты на выходе каждого деся- тичного счетчика настолько точны (в процентном отношении), насколько точна час- тота кварцевого генератора. Используемые здесь десятичные счетчики обычно явля- ются двоичными счетчиками или счетчиками Джонсона. Вращающийся переключатель выполняет роль подключения выхода определенной результирующей частоты десятичного счетчика к одиночному триггеру для деления на два. К примеру, в положении переключателя 1 импульс частоты 1 Гц подан на триггер Q, который действует как бистабильная схема, поэтому его выходом будет меандр с периодом Т = 2 с и длительностью tp = Т/2 = 1 с. Эта длительность и есть желаемый интервал дискретизации — 1 с. В положении переключателя 2 интервал дискретизации будет равен 0,1 с, и т.д. для остальных положений. Пример 7.19 Предположим, что счетчик, изображенный на рис. 7.44, реализован каскадом из трех двоично-десятичных счетчиков с прилагающимися к ним индикаторами. Если искомая входная частота лежит в пределах от 1000 имп./с до 9990 имп./с, то какое наиболее подходящее положение переключателя (рис. 7.45) подойдет для измерения частоты? 436 Глава 7
Рис. 7.45. Метод получения точного интервала дискретизации для счетчика частоты Решение. С тремя двоично-десятичными счетчиками общая вместимость счетчика равна 999. Если установить переключатель в положение 0,1 с, то частота 9990 имп./с будет вы- ведена как 999. Таким образом, в случае использования полной емкости счетчика переключатель следует установить в позицию 2. Если использовать интервал дискре- тизации в 1 с, емкость счетчика будет переполнена для частот в рассматриваемом диапазоне. Если же взять интервал короче, счетчик будет производить счет только от 1 до 99 — это приведет к показаниям только двух значащих цифр, таким образом, результат будет не совсем достоверным. Полная схема счетчика частоты На рис. 7.46, а изображен более сложный и совершенный счетчик частоты. Схема теперь включает одновибратор и J-K-триггер, работающий в режиме переключателя, а также элемент И с тремя входами. Один из входов является X выходом триггера. Стробирующие импульсы подаются на вход элемента И, а также одновременно на вход CLK триггера. Эти импульсы генерируются схемой, подобной изображенной на рис. 7.45. Представленное ниже пошаговое описание относится к диаграмме, изо- браженной на рис. 7.46, в. 1. Предположим, что триггер X находится в состоянии 0 (переключается в 0 по заднему фронту предыдущего стробирующего импульса). 2. Низкий уровень сигнала с выхода X подается на элемент И, запирая его выход, так что ни один импульс не подается на счетчик, даже если первый стробирую- щий импульс находится в интервале 3. В момент t2 отрицательный фронт первого стробирующего импульса переключает триггер X в положение 1 (отметим, что J = К = 1). Это действие влечет включе- ние OS, который генерирует импульсы длительности 100 нс для сброса счетчика. Счетчик отображает в этот момент ноль. 4. В момент второй стробирующий импульс отпирает элемент И (так как X те- перь равен 1) и, пропуская импульсы искомой частоты через счетчик, производит счет до момента t4. Счетчики и регистры 437
a) Счетчик Счетчик сбрасывается считает Счетчик Счетчик Счетчик--------------ит.д.---- останавливается, сбрасывается считает индикатор показывает значение частоты б) Рис. 7.46. Счетчик частоты 5. В момент t4 уровень сигнала стробирующего импульса становится низким и ус- танавливает низкий уровень сигнала на X, тем самым блокируя элемент И. Счетчик прекращает свой счет. 438 Глава 7
6. Между моментами времени t4 и te счетчик хранит и показывает счет, который был до момента t4. Отметим, что третий стробирующий импульс не отпирает элемент из-за того, что на триггере X установлен низкий уровень сигнала. 7. В момент t6 отрицательный фронт стробирующего импульса устанавливает на X высокий уровень сигнала и операция продолжается в той же последовательности, что и после момента t2. Затем описанный счетчик частоты снова выполняет всю изложенную выше последо- вательность стирания, счета, хранения, стирания и т.д. Предположим, что счетчик со- стоит из трех двоично-десятичных каскадов и трехразрядного индикатора. Если вос- пользоваться интервалом дискретизации в 1 с и искомая частота равна 237 имп./с, на индикаторе будет снова и снова прослеживаться последовательность действий счетчика: 1. Сброс в 0 и на индикаторе значение 0 (интервал (2~£з на рис. 7.46, в). 2. Начало счета с 0. В течение 1 с (интервал t3-t4) происходит счет импульсов ис- комой частоты; счет будет остановлен на 237. 3. Хранение информации (число 237) на индикаторе в течение 2 с (t4-ie)- Поскольку индикатор соединен непосредственно с выходом счетчика, то на нем будут отображаться действия сброса и счета самого счетчика. Это приводит к нагро- мождению информации, что влечет за собой неудобство считывания при измерении на достаточно больших интервалах дискретизации. Такую проблему можно легко устранить. Для этого между счетчиком и модулем декодировки и отображения добавляют буферный регистр. В упражнении 7.43 этот элемент будет рассмотрен подробнее. Контрольные вопросы / 1. Какой интервал дискретизации лучше всего использовать для счета частоты от 2 до 8 х 1000000 имп./с в четырехкаскадном двоично-десятичном счетчике? 2. Опишите последовательность действий совершенного счетчика частоты, изо- браженного на рис. 7.46. 3. Почему в десятичных счетчиках (рис. 7.45) будет неразумно использовать | кольцевые счетчики вместо счетчиков Джонсона? ‘ 7.17. Применение счетчиков: цифровые часы Одно из наиболее часто встречаемых применений счетчиков — это цифровой из- меритель времени — таймер, который отображает время дня в часах, минутах, а иногда и в секундах. В случае построения высокоточного цифрового таймера необхо- димо очень точно контролировать основную частоту изменения времени. Для тайме- ра, функционирующего на батареях (часы), такой контроль поддерживается благода- ря кварцевому генератору. Таймеры, питающиеся от сети, поддерживают основную частоту шестьдесят килогерц. В других случаях основная частота должна быть по- нижена до одного герца или 1 имп./с. На рис. 7.47 изображена схема цифровых ча- сов, работающих на частоте 60 Гц. Сигнал, равный шестидесяти герцам, подается через триггер Шмитта для получе- ния меандров размерности 60 имп./с. Эти меандры пропускаются через счетчик с Кпер = 60, который предназначен для деления частоты 60 Гц до 1 имп./с. Сигнал с частотой 1 имп./с затем подается на блок СЕКУНДЫ, который предна- значен для счета и отображения секунд от 1 до 59. Счетчики и регистры 439
Рис. 7.47. Блок-схема цифровых часов Двоично-десятичный счетчик производит один отсчет в секунду. После девятой секунды счетчик сбрасывается в 0 и одновременно переключается счетчик с Кпер = 6, производя тоже один отсчет. Такая последовательность длится до 59-й секунды, при этом счетчик с Кпер = б находится в состоянии 101 (5), а двоично-десятичный счет- 440 Глава 7
чик — в состоянии 1001 (9). На индикаторе высвечивается 59 с. Следующий импульс сбрасывает двоично-десятичный счетчик в 0 и счетчик с Кпер = б также в 0 (вспом- ним, что такой счетчик считает от 0 до 5). Выходу счетчика с Кпер = б в блохе СЕКУНДЫ характерна частота 1 имп./мин (этот счетчик сбрасывается каждые 60 с). Выходной сигнал подключен к блоку МИНУТЫ, который считает и отображает счетную информацию в минутах от 0 до 59. Блок МИНУТЫ идентичен блоку СЕКУНДЫ, он производит операции в той же последовательности. Выходу счетчика с Кпер = б блока МИНУТЫ характерна частота 1 имп./час (этот счетчик сбрасывается каждые 60 минут). Выходной сигнал подключен к блоку ЧАСЫ, который считает и отображает счетную информацию в часах от 1 до 12. Этот блок отличается от двух предыдущих тем, что никогда не сбрасывается в состояние 0. Схематика этого блока совершенно нетипична. Деоично- десятичньй счетчик Счетчик С кпер ~ * 0-9 Рис. 7.48. Подробная схематика блока ЧАСЫ На рис. 7.48 изображена подробная схематика блока ЧАСЫ. Схема содержит дво- ично-десятичный счетчик, предназначенный для счета часов, и единственный триг- гер (с Кпер = 2) для счета десятков часов. Двоично-десятичный счетчик реализован на ИС 74НС192, которая работает аналогично изученной ранее ИС 74НС193. Единствен- СЧЕТЧИКИ И РЕГИСТРЫ 441
ное различие в том, что эта схема производит счет от 0000 до 1001. Другими слова- ми, 74НС192 может производить счет или в прямой последовательности двоично- десятичного счетчика (т.е. от 0 до 9, а затем сбрасываться в 0) или в обратной после- довательности (т.е. от 9 до 0, а затем происходит сброс в 9). В данном примере ис- пользуется прямой счет, который начинается после подачи сигнала частоты 1 имп./час с блока МИНУТЫ. На входе СРи применяется ИНВЕРТОР, так как ИС 74НС192 реагирует на положительный фронт импульса, а в данном случае необходи- ма реакция на отрицательный фронт, который возникает в момент сброса в 0 блока МИНУТЫ. Поступающие импульсы изменяют положение двоично-десятичного счетчика один раз в час. К примеру, в 7 часов положение этого счетчика будет 0111 и его модуль декодировки и отображения будет содержать число 7. В то же время уровень на X будет низкий и на его индикаторе будет высвечиваться 0. Таким образом два инди- катора будут отображать число “07”. В момент, когда двоично-десятичный счетчик будет содержать 1001 (9) и будет подаваться следующий импульс, произойдет сброс в 0000. Отрицательный фронт, поступивший на Q3, переключит триггер X из состоя- ния 0 в состояние 1. Это приведет к появлению 1 на индикаторе X и 0 на индикаторе двоично-десятичного счетчика. Общее число будет соответственно “10”. Следующие два импульса приведут к установке “11” и “12”, что соответствует 11 и 12 часам. Благодаря следующему импульсу состояние двоично-десятичного счетчи- ка будет равно 0011 (3). В таком положении на выходах Qx и Qo устанавливается вы- сокий уровень сигнала и уровень сигнала на X по-прежнему высокий. Исходя из это- го на выходах элемента И-НЕ устанавливается низкий уровень сигнала, а также ак- тивизируется CLR триггера X и вход PL ИС 74НС192. Это приводит к сбросу X в 0 и установке двоично-десятичного счетчика в 0001. На индикаторе будет наблюдаться в результате значение 01, что соответствует 1 часу. Некоторые упражнения в конце главы предусматривают более детальное рассмотрение цифровых часов. 1. Назовите основные блоки схемы цифровых часов. 2. Для чего необходим инвертор в схеме, изображенной на рис. 7.48? 7.18. Регистры интегральных схем Основные типы регистров можно классифицировать по способу ввода информации в регистр для хранения и по способу извлечения информации из него. Ниже приве- дены существующие типы регистров: 1. Параллельный вход/параллельный выход. 2. Последовательный вход/последовательный выход. 3. Параллельный вход/последовательный выход. 4. Последовательный вход/параллельный выход. Каждый из представленных выше типов и их вариации пригодны для формиро- вания ИС, поэтому среди этого разнообразия разработчики логических схем могут выбрать именно то, что им необходимо. В следующем разделе все четыре типа реги- стров рассматриваются отдельно. 442 Глава 7
7.19. Параллельный вход/ параллельный выход — ИС 74ALS174/74HC174 На рис. 7.49, а изображена логическая схема для платы 74ALS174 (а также 74НС174), шестибитового регистра с параллельными входами D0-D5 и параллельны- ми выходами <?о_Фб- Параллельно передающиеся данные загружаются в регистр при положительном фронте импульса, синхронизирующего вход СР. Вход MR применяют для установки всех регистров триггеров в нулевое состояние. Логическое изображение для ИС 74ALS174 приведено на рис. 7.49, б (так принято изображать схематику). MR СР D5 D3 D2 Di Do Q5 Од Q2 Q1 Qo 6) Puc. 7.49. а) Принципиальная схема 74ALS174; б) функциональная схема ИС 74ALS174 обычно применяют для синхронной передачи данных посредством чего логические уровни, представленные на входах Р, передаются к соответствую- щим выходам Q в момент, когда появляется положительный фронт синхронизирую- щего импульса СР. Такая ИС, однако, может быть использована и для последова- тельной передачи данных, что будет показано в приведенном ниже примере. Пример 7.20 Покажем, как следует воспроизвести ИС 74ALS174 для того, чтобы она работала в роли последовательного сдвигового регистра со сдвигом данных при поступлении каждого положительного фронта на вход СР следующим образом: D$ ->D4 ->D3 -> ->Р2 ->Pi->Po« Другими словами, последовательная информация должна вводиться через Р5 и выводиться через Dq. Счетчики и регистры 443
Решение Из рис. 7.49, а становится ясно, что для того, чтобы соединить шесть триггеров в режим последовательного сдвигового регистра, необходимо соединить выход Q перво- го триггера со входом D следующего триггера, тогда передача информации будет проходить в необходимой последовательности. На рис. 7.50 представлен окончатель- ный результат реализации примера. Отметим, что информация сдвигается слева направо, т.е. подается на вход Л5, а результат получаем на выходе Qo- Последовательный выход Рис. 7.50. Пример 7.20. ИС 74ALS174 в роли сдвигового регистра Пример 7.21 Как следует соединить две ИС 74ALS174 для получения 12-битового сдвигового регистра? Решение Сначала реализуем вторую ИС 74ALS174 как сдвиговый регистр, а потом выход Qo первой ИС соединим со входом Р5 второй ИС. Одновременно соединим входы СР обо- их ИС для того, чтобы они синхронизировались одним сигналом. 7.20. Последовательный вход/последовательный выход — ИС 4731В ИС 4731В — это квадратический 64-разрядный сдвиговый регистр на КМОП типа последовательный вход/последовательный выход. Он состоит из четырех одинако- вых 64-разрядных сдвигающих регистров, которые размещены на одной плате. 444 Глава 7
На рис. 7.51 изображена логическая схема для одного из четырех таких регистров. Схема содержит последовательный вход Dn, синхронизирующий вход СР, который реагирует на отрицательный фронт импульса, и последовательный выход последнего триггера Q63 — это единственный выход, который внешне доступен. Отметим, что этот выход реализован через буфер схемы (треугольный значок без кружка инвер- сии). Буфер не изменяет логический уровень сигналов; он используется для улучше- ния пропускной способности. Обратите внимание, что в такой ИС невозможно осуще- ствлять параллельный ввод данных. 64-разрядный сдвиговый регистр 4731В Рис. 7.51. Логическая схема для одного из четырех 64разрядных сдвиговых регистров на базе ИС 4731В Пример 7.22 Сдвиговый регистр часто используют как средство задержки цифрового сигнала це- лыми числами синхронизирующих циклов. Цифровой сигнал приложен к последова- тельному входу сдвигового регистра и сдвигается следующими друг за другом син- хронными импульсами, пока не будет достигнут конец регистра. Этот сигнал, таким образом, будет выходным. Рассмотренная последовательность проиллюстрирована на рис. 7.52 и реализована применением одного 64-битового регистра микросхемы 4731В. Предположим, что на последовательном входе Dn был низкий уровень сигнала на протяжении времени, в течение которого действовали синхронные импульсы. Поэто- му регистр заполнен нулями и на Q63 соответственно низкий уровень сигнала, как показано на рисунке. Затем уровень сигнала на Dn становится высоким, немного предшествуя моменту времени t0. Наличие отрицательного фронта импульса на входе СР приводит к сдвигу в регистре, при этом на каждом триггере устанавливается вы- сокий уровень сигнала, пока, наконец, в момент t63 на выходе Q63 не установится высокий уровень сигнала. Окончательный результат в таком случае предполагает, СЧЕТЧИКИ И РЕГИСТРЫ 445
что изменение сигнала Dn не влияет на выход Q63 до того момента, пока не пройдет 64-й синхронный цикл. Такой метод задержки цифрового сигнала часто встречается в сфере цифровых ком- муникаций. Для примера, цифровой сигнал может быть просто оцифрованной верси- ей аудиосигнала, который необходимо задержать перед передачей. DS -J1JUUUUUUUUW ( If I I I II I i I I I II I I I I I I II to t1 t2 t3 t4 t5 t62 t63 I I Обз приобретает значение 1 примерно через 64 такта после Ds Рис. 7.52. Диаграмма, иллюстрирующая применение одного из сдвиговых регистров ИС 4731В для задержки цифрового сигнала 7.21. Параллельный вход/последовательный выход — ИС 74ALS165/74HC165 На рис. 7.53, а приведено логическое изображение ИС 74НС165. Это 8-битовый регистр типа параллельный вход/последовательный выход. Фактически он реализо- ван на последовательном вводе информации через Dn и асинхронном параллельном вводе через Р0-Р7. Регистр состоит из восьми последовательно соединенных между собой триггеров (Qo“Qt)» которые реализуют сдвигающий регистр, хотя доступны только входы QT и Q7 . СР — синхронный вход, необходимый для совершения опе- рации сдвига. Запирающий синхронный вход СР INH предназначен для устранения действия СР. Вход сдвиг/загрузка SH / LD регулирует, какая операция происходит в данный момент — сдвиг или параллельная загрузка. Функциональная таблица, приведенная на рис. 7.53, б, разъясняет, к какому результату приводят все возмож- ные входные комбинации. 446 Глава 7
Таблица функций Входы Действие S4/LD СР CPINH L X X НИХ Н X Н Н _Г L Н L _Г Параллельная загрузка Без изменений Без изменений Сдвиг Сдвиг Н — высокий уровень L — низкий уровень X — несущественно _Г— положительный перепад б) Рис. 7.53. а) Логическое изображение регистра типа параллельный вход/последовательный выход, реализованного на ИС 74НС165; б) функциональная таблица Пример 7.23 Исследовав функциональную таблицу ИС 74НС165, определите: а) условия, необходимые для загрузки регистра данными, вводимыми параллельно; б) условия, предъявляемые для совершения операции сдвига. Решение а) Первая строка таблицы показывает, что уровень сигнала на входе SH / LD дол- жен быть низким, тогда будет выполняться операция параллельной загрузки. Ко- гда на этом входе низкий уровень сигнала, информация на входах Р асинхронно загружается в регистр независимо от состояний входов СР и СР INH. Конечно же, только выход последнего триггера внешне доступен. б) Обязательное условие операции сдвига заключается в том, что на входе SH / LD должен быть высокий уровень сигнала, а положительный фронт импульса возни- кает на СР, пока СР INH обусловлен низким уровнем сигнала (четвертая строка таблицы). Высокий уровень сигнала на СР INH приведет к задержке синхронных импульсов. Отметим, что входы СР и СР INH можно поменять ролями (последняя строка таблицы), потому что эти два сигнала внутри ИС логически суммируются. Счетчики и регистры 447
Пример 7.24 Предположим, мы соединили ИС 74НС165 таким образом, что Q7 подключен к £)п, одновременно загрузим все 0. Какой сигнал возникнет на Q7, если ко входу СР при- ложен сигнал частотой 200 кГц, в то время как на СР INH низкий уровень сигнала? Решение При соединении Q7 с Dn получается так называемый восьмибитовый счетчик Джон- сона, который формирует меандры на частоте равной одной шестнадцатой тактовой частоты (в нашем случае 12,5 кГц). 7.22. Последовательный вход/параллельный выход — ИС 74ALS164/74HC164 На рис. 7.54, а приведено логическое изображение ИС 74ALS164. Это восьмибито- вый сдвигающий регистр типа последовательный вход/параллельный выход, со все- ми внешне доступными выходами триггера. Вместо одного последовательного входа применен элемент И, который комбинирует входы А и В для подсоединения последо- вательного входа к триггеру Qo- Операция сдвига происходит в момент появления положительного фронта им- пульса на синхронном входе СР. Вход MR служит для асинхронного сброса всех триггеров при условии установки низкого уровня сигнала. 8-разрядный сдвиговый регистр 74ALSJ64 А- В- СР- & 74ALS164 MR Qo О, Q2Q3Q4Q5Q6Q7 6) Рис. 7.54. а) Логическое изображение ИС 74ALS164; б) логическое обозначение 148 Глава 7
Логическое изображение ИС 74НС164 приведено на рис. 7.55, а. Символ <£, по- мещенный внутри блока, показывает, что входы А и В логически суммируются внут- ри ИС, и в результате ко входу D прикладывается Qo. а) Число сходных импульсов Qo Qi 02 Оз С4 q5 Q6 q7 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 1 1 0 0 0 0 0 0 3 1 1 1 0 0 0 0 0 4 1 1 1 1 0 0 0 0 Возврат 5 1 1 1 1 1 0 0 0 6 1 i 1 1 1 1 0 0 7 1 1 1 1 1 1 1 8 (1 1 1 1 1 1 1 Временное состояние б) Рис. 7.55. Пример 7.24 Пример 7.25 Предположим, что первоначальное содержимое регистра 74ALS164 (рис. 7.55, а) рав- но 00000000. Определим последовательность состояний после пуска тактовых (синхронизирующих) импульсов. Решение Соответствующая последовательность показана на рис. 7.55, б. При А = В = 0 после- довательный вход находится в состоянии 1, поэтому 1 должна сдвигаться при каж- дом положительном переднем фронте, поступающем на СР. Пока Qj находится в со- стоянии 0, вход MR неактивен. На восьмом импульсе регистр находится в состоянии 11111111, поскольку произошел сдвиг на 1, поданную из Q6 в Q7. Такое состояние быстро сбрасывается, потому что Q7 = 1 приводит к установке низкого уровня сигнала на входе MR, что немедленно возвра- щает регистр в первоначальное состояние — 00000000. Рассмотренная последователь- ность снова повторяется в течение последующих восьми тактовых импульсов. Счетчики и регистры 449
В следующих пунктах рассмотрены несколько других реализованных на ИС реги- стров, которые являются альтернативными для упомянутых выше: 74194/ALS194/HC194. Это четырехразрядный универсальный реверсивный сдви- говый регистр, который выполняет операции сдвига влево, вправо с параллель- ным входом и параллельным выходом. Такие особенности регистра обусловлены двухбитовым режимом отбора кода, поданного на входы прибора. Более детально эта универсальная микросхема будет рассмотрена позже. 74373/ALS373/HC373/HCT374. Это восьмиразрядный (восьмеричный) сдвиго- вый регистр типа параллельный вход/параллельный выход, состоящий из вось- ми D-защелок и выходов с тремя возможными состояниями. Выход с тремя возможными состояниями — это особый вид выхода логической схемы, который позволяет надежно соединить выходы прибора воедино. Подробнее характерис- тики устройств с тремя состояниями будут рассмотрены в следующей главе. 74374/ALS374/HC374/HCT374. Это восьмиразрядный (восьмеричный) сдвиго- вый регистр типа параллельный вход/параллельный выход, состоящий из вось- ми запускаемых фронтом D-триггеров и выходами с тремя возможными состоя- ниями. Все представленные регистры — типичные образцы большого класса серийно вы- пускаемых регистров. Хотя существует много вариаций регистров, большинство из них легко опознать благодаря датированной производственной документации. В упражнениях, приведенных в конце главы, будет проанализировано несколько примеров применения регистров. Регистры также рассматриваются и в последующих главах этой книги. Контрольные вопросы 1 1. Какой тип регистров позволяет загрузить полностью двоичный код за одну опе- рацию, а затем каждый раз сдвигать один бит? 2 . Проверьте истинность высказывания. Регистр типа последовательный вход/ параллельный выход может содержать все одинаковые разряды одновременно. 1 3. Какой тип регистров, в котором все информационные разряды доступны как выходы, характеризуется вводом одного разряда за промежуток времени? 4. В каком из рассмотренных ранее типов регистров всего один триггер? 5. Для чего нужен вход СР INH в ИС 74ALS165? I.— . . — - . - — ... --- - - - - - - -- - - . — - I 7.23. Условные обозначения регистров стандарта IEEE/ANSI Рассмотрим два примера представления регистров ИС символами стандарта IEEE/ANSI. Первый пример — это ИС 74174 с параллельным входом/параллельным выходом, внутренняя логика которой и традиционное условное обозначение пред- ставлены на рис. 7.49. Символ стандарта IEEE/ANSI для этой схемы изображен на рис. 7.56, а. Чертеж символа состоит из общего блока управления и шести прямо- угольников, представляющих Шесть триггеров. Блок управления содержит входы, единые для всех элементов ИС; в нашем слу- чае входы MR и СР едины для шести триггеров, которыми укомплектован регистр. Внутренний значок для входа MR (R) указывает на то, что функция этого входа со- стоит в сбросе каждого триггера. Внутренний значок для входа СР-С1 указывает на то, что этот вход управления служит для ввода данных в любой элемент запоминаю- 450 Глава 7
щего устройства, который маркирован 1 на входе. Каждый вход триггеров D марки- рован значком 1D (показан только для Qo). Элемент “1” в значке С1 и 1D указывает на зависимость входов D триггера от общего синхронизирующего входа СР. Символ стандарта IEEE/ANSI для сдвигового регистра 74164 с последовательным входом/параллельным выходом показан на рис. 7.56, б. Схема содержит общий блок управления и восемь триггеров, которыми укомплектован регистр. Маркировка CRG 8 означает, что эта ИС является восьмиразрядным сдвиговым регистром. Вход СР маркирован значком Cl/-*. Косая линия (/) указывает на выполнение двух отдельных функций этого входа. С1 обозначает то, что СР выполняет ввод дан- ных в триггер Qo, так как вход Qo маркирован значком 1D. Отметим, что информа- ционный разряд, вводимый в Qo, является логическим произведением входов А и В. Исходя из того, что в схеме больше нет внешних входов для Q1-Q7, вход СР не мо- жет управлять вводом данных в эти триггеры. Значок -> указывает, что активное перемещение СР приведет к операции правого сдвига (от Qo к Q7). 74174 MR СР Do Di D2 D3 d4 d5 74164 6) Puc. 7.56. Обозначения стандарта IEEE/ANSI а) для регистра 74174 с параллель- ным входом/параллельным выходом; б) для сдвигового регистра 74164 с последова- тельным входом/параллельным выходом Контрольные вопросы 1. Что означает косая линия (/) около входа ИС? 2. Каким значком следует маркировать регистр ИС 4731В (рис. 7.51) для описа- ния выполняемых им функций? Счетчики и регистры 451
7.24. Решение основных проблем Триггеры, счетчики и регистры — это основные компоненты последовательных логических систем. В зависимости от запоминающего устройства последовательным логическим системам присуща характерная особенность — выходы и последователь- ность операций зависят как от характеристик действующих входов, так и от преды- дущих состояний входов. Несмотря на то, что последовательные логические системы обычно сложнее комбинационных, необходимые процедуры для решения основных проблем с одинаковым успехом применяются для обоих систем. Последовательные логические системы подвержены тем же самым недостаткам (открытая схематика, недолговечность, внутренние дефекты ПС и т.д.), что и комбинационные. Множество этапов решения проблем в комбинационных системах можно применять относительно последовательных систем. Один из очень действенных методов заключа- ется в анализе выполнения системных функций посредством аналитического рассуж- дения и нахождения возможных причин неисправности системы. Затем, воспользовав- шись измерительной аппаратурой, можно аккуратно устранить неполадку. В представ- ленных ниже примерах будут рассмотрены некоторые аналитические рассуждения начальной стадии решения проблем в последовательных системах. Внимательно изучив эти примеры, вы сможете решить подобные проблемы, приведенные в конце главы. Пример 7.26 На рис. 7.57, а изображена ИС, реализующая счетчик с Кпер = 10. Инженер проверял функционирование схемы, пропуская синхроимпульсы частотой 1 кГц, и наблюдал при этом на осциллографе поведение выходов Q. Формы сигналов, полученных на осциллографе, изображены на рис. 7.57, б. Определите возможные причины некор- ректной работы схемы. Решение Из диаграммы следует, что переключение Qo происходит по отрицательному фронту синхроимпульса, но на всех остальных триггерах остается низкий уровень сигнала. Это может быть обусловлено несколькими причинами: 1. Выход Qi внешне или внутренне замкнут на землю. Ссылаясь на схему ИС 74LS293, изображенную на рис. 7.8, <з, можно заметить, что это служит препят- ствием для переключения Q2 и @з» так как сигнал Qi является сигналом синхро- низации для Q2» а Q2 — синхронизирующий сигнал для Q3. 2. Соединение Qo с СРг разомкнуто и поэтому на Q] синхроимпульсы не подаются. 3. Возможна внутренняя неисправность в ИС, которая не позволяет переключиться Qj. 4. Вход MR^ внутренне замкнут на землю, принуждая Qi находиться в состоянии 0. Пример 7.27 После анализа ситуации, описанной в примере 7.25, инженер решил исправить де- фект схемы. С помощью омметра он определил, что Qi не замкнут на землю, a Qo на- дежно соединен с СРХ , таким образом первые две возможные причины исключены. Предполагая, что существует поломка в ИС, инженер заменяет ее. К его большому удивлению работа схемы остается прежней, поэтому он решает изучить форму сигна- лов триггеров. Для этого инженер уменьшает временную шкалу осциллографа до 10 наносекунд на сантиметр. При такой точности отображения сигналов на окне осцил- лографа становится заметен небольшой всплеск — помеха на сигнале Qi в то время, когда на Qo наблюдается отрицательный фронт импульса (см. рис. 7.58). В чем же кроется причина неисправности? 452 Глава 7
□о Тактовые импульсы а) Тактовые импульсы 1 мс б) Рис. 7.57. Пример 7.26 Тактовый импульс □о Оз О Рис. 7.58. Пример 7.27 Счетчики и регистры 453
Решение Если счетчик работает правильно, на диаграмме должен быть всплеск, появляю- щийся при установке состояния 1010 (101О), при котором высокие уровни сигнала на Q3 и Qi заставляют входы MR сбросить счетчик в состояние 0000. Однако на диа- граммах (рис. 7.58) уровень сигнала на Q3 невысокий при всплеске, наблюдаемом на Qi. Наиболее возможная неполадка — это нестабильное соединение с MR^, которое отвечает за наличие постоянного высокого уровня сигнала (согласно транзисторно- транзисторной логике). Поэтому как только на Qi устанавливается высокий уровень сигнала и на обоих входах MR также установятся высокие уровни сигнала, счетчик сразу сбросится в состояние 0000. Пример 7.28 Инженер протестировал счетчик-измеритель частоты, изображенный на рис. 7.46, для разных состояний интервала дискретизации и для различных входных частот. В процессе проверки было замечено, что воспроизводимая частота ровно вдвое боль- ше, чем положено. В чем причина неправильной работы схемы? Решение Из рис. 7.46 следует, что сигнал искомой частоты подается через элемент И к счет- чику в течение интервала t3-t<, пока уровень стробирующего сигнала и сигнала на входе X высокие. Если средний вход элемента И будет разомкнут, он будет постоян- но имитировать высокий уровень сигнала (согласно ТТЛ-приборам), что позволит частоте пульсировать через элемент И, пока на входе X установлен высокий уровень на протяжении интервала t2_^4- Именно поэтому интервал дискретизации удваивает- ся, таким образом счетчик будет отсчитывать значения в два раза быстрее. Пример 7.29 Инженер подключил цифровые часы (рис. 7.47 и 7.48). В процессе измерения стало заметно, что второй блок работает надлежащим образом. Чтобы корректно произве- сти быстрое измерение разрядов МИНУТЫ и ЧАСЫ, инженер блокировал счетчик с Кпер = 60 таким образом, что скорость работы повысилась в шестьдесят раз по сравне- нию с нормальной. Специалист заметил, что измеритель разрядов МИНУТЫ функцио- нирует правильно, но на блоке ЧАСЫ счет и индикация выглядят так, как показано в табл. 7.7. В чем заключается причина некорректной работы блока ЧАСЫ? ^Таблица 7«7 Десятки ЧАСОВ Единицы ЧАСОВ 0 0 0 0 0 0 0 1 1 1 1 1 1 2 3 4 5 6 7 8 9 0 1 2 454 Глава 7
Решение Поскольку проблемным участком схемы является блок ЧАСЫ, необходимо обратить- ся к рис. 7.48. Последовательность, изложенная выше, почти достоверная. Исключе- ние составляет десятый разряд, где наблюдается изменение 0 на 1 в момент, когда совершается переход в разряд единиц на шаге 7-8 вместо шага 9-0. Такое возможно, если вход CLK триггера X будет ошибочно соединен с Q2 раньше, чем с Q3 двоично- десятичного счетчика. Если дело именно в этом, тогда в момент перехода двоичНо- десятичного счетчика от седьмого шага к восьмому триггер Q2 сработает по отрица- тельному фронту, что приведет к преждевременному переключению триггера X. 7.25. Программирование ПЛУ при помощи булевых выражений для работы в качестве счетных схем В пятой главе было введено понятие триггеров и счетных схем, а также рассмот- рено построение счетных схем с применением GAL 16V8. Очевидно, что триггеры следует реализовывать на ПЛУ. Теперь проанализируем внутреннее строение ПЛУ, чтобы понять его работу. На рис. 7.59 изображена основная структура GAL 16V8. Входные (контактные) штырьки могут быть выборочно соединены со входами элемента И. Выходы элемента И пропускаются через элемент ИЛИ для получения выражения СП (суммы произве- дений). Эти выходы элемента ИЛИ соединены со входом D синхронного D-триггера. И-выход элемента ИЛИ, а также выход D триггера Q могут равноценно соединяться с выходным штырьком GAL 16V8. Если комбинационная логическая схема реализо- вана, выход элемента ИЛИ будет соединен с выходным штырьком. Когда синхрони- зирующая последовательная схема реализована как счетчик, выход триггера должен быть соединен с выходным штырьком. Обратная связь Рис. 7.59. Основная структура ПЛУ В пятой главе был использован метод перехода состояний входов языка CUPL для того, чтобы описать счетчик и его параметры. В разделе 7.14 описано, как можно со- ставить булево соотношение для нахождения входов J-K-триггера исходя из условия выполнения какой-либо счетной последовательности. Аналогичное уравнение можно составить и для D-входов триггера. В языке CUPL должен существовать путь разъяснения выбора желаемого под- ключения: выхода элемента ИЛИ или выхода триггера Q к выходному штырьку. ПЛУ как раз и является тем звеном, которое предназначено для решения этой зада- СЧЕТЧИКИ И РЕГИСТРЫ 455
чи. Предположим, что выходной штырек обозначен как Q4. Если уравнение написано для Q4.D, компилятор языка CUPL истолкует это так: вход D-триггера соединен со штырьком Q4. Согласно написанному уравнению с расширением .D, с помощью языка CUPL мы программируем устройство таким образом, что выход триггера со- единяется с выходным штырьком ПЛУ. При разработке счетной схемы легче применять D-триггеры, нежели J-K- триггеры. Первые три шага разработки синхронного счетчика (см. раздел 7.14) оди- наковы. После того как создана таблица текущих и последующих состояний, можно полагать, что это — состояния таблицы истинности (одна на триггер); таблица опре- деляет последующее состояние каждого триггера, опираясь на текущее состояние всех выходов Q. Вспомним также, что следующее состояние Q выходов D-триггера совпадает с текущим состоянием его D-входов. Можно пропустить четвертый шаг процесса проектирования синхронных логических схем и выполнить схему, которая будет соединена со входом D каждого триггера. Кример 7.30 Разработайте трехразрядный счетчик Джонсона с Кпер = 6 (рис. 7.42), используя GAL 16V8. Убедитесь, что все неиспользованные состояния приведут к установке счетчика в состояние ООО и будет происходить “самозапуск”. Представленная ниже табл. 7.8 — это таблица текущих и последующих состояний. Таблица 713 МННММВВВККСЯВЯМ • ‘ - •* • - 4 V •- т Текущее состояние Следующее состояние Синхроимпульс 02 01 Q0 02 01 оо Q2.D Q1.D QO.D 0 0 0 0 1 0 0 1 1 0 0 1 1 0 2 1 1 0 1 1 1 3 1 1 1 0 1 1 4 0 1 1 0 0 1 5 0 0 1 0 0 0 неиспользуемое состояние 0 1 0 0 0 0 неиспользуемое состояние 1 0 1 0 0 0 Решение Отметим, что в этой таблице последующее состояние Q0 такое же, как и для Q0.D — D входа Q0, потому что Q0 установится в состояние D по поступлению следующего тактового импульса. Аналогичный ход рассуждений пригоден для Q1 и Q2. Прини- мая это во внимание, можно представить выражение суммы произведений для каж- дого D-входа в величинах текущего состояния триггеров: Q2.D = !Q2&!Q1&!QO#Q2&!Q1&!QO#Q2&Q1&!QO; Q2.D = Q2&!Q1&!QO#Q2&Q1&!QO#Q2&Q1&QO; Q2.D = Q2&Ql&!Q0^Q2&Ql&QQ#fQ2&Ql&Q0. j Другой метод Существует другой метод применения языка CUPL для реализации таких типов схем. Входы Q следует объединить и назвать с использованием выражения для поля (см. главу 6). Формулировку спиральный можно применить для представления трех 456 Глава 7
выходов триггера (вспомним, что счетчик Джонсона часто называют спирально- кольцевым счетчиком). Утверждение спиралъныйЛ) указывает установку D-входов каждого из трех триггеров. В любое время между двумя фронтами действующего синхроимпульса значение спиральных есть текущее значение Q выходов. Значения, которые мы хотим поместить в входы D, — это значения последующих состояний. Рассмотрев описание программы (рис. 7.60), можно сделать вывод, что входы D должны быть: 1002 (4), если текущее состояние скручивания равно 0002 (0); ИЛИ 1102 (6), если текущее состояние скручивания — 1002 (4); ИЛИ 1112 (7), если текущее состояние скручивания равно 1102 (6) и т.д. Name Johnson.pld .'Designer H. С. Видмер ; Partno 1234567 ;Company Университет Пердью ; Date 2 июня ;Assembly Текст ; Revision 01 ; Location Глава 7 ; Device gl6v8a ; Format j ; /* Счетчик Джонсона с Киер = 6 */ /* Входы */ Pin 1 = clock; /* Выходы */ Pin [13..15] = [Q2..0] /* Описание аппаратной части */ field twisted = [Q2..0]; twisted.D = ‘Ь‘100 & twisted:O # ‘Ь’110 & twisted: 4 # ‘Ь’111 & twisted: 6 # ‘Ь’011 & twisted:? # Ъ’001 & twisted: 3 ‘Ь’000 & twisted :1 # ‘Ь’000 & twisted: 2 # ‘Ь’000 & twisted:5 ; Рис. 7.60. Пример программы на языке CUPL Для оценки текущего состояния применяется операция проверки равенства (:). Такая операция проверяет равенство разрядов между набором переменных (таких как скручивание) и двоичными константами. Исходя из программы можно заметить, что константы выражаются в двоичном, десятичном, восьмеричном и шестнадцате- ричном коде. Значения логических выражений, полученные после процедуры срав- нения, ИСТИННЫ в том случае, когда они равны, и ЛОЖНЫ, если какой-то разряд не совпал. К примеру, в первой строке скручивание:0 вызовет выражение Q2 QI - Q0 . Соотношение будет ИСТИННО (высокий уровень сигнала), только если на выходах Q2, Q1 и Q3 будет установлен низкий уровень сигнала (т.е. ООО), вследствие чего на D-входы триггеров будет подано значение 100. Другими словами, произойдет установка трех входов в положение 100 всякий раз, когда текущее со- стояние триггеров — 000. Со второй по восьмую строку происходит такая же опера- ция. Проверьте, как в программе отображены операции, предусмотренные табл. 7.8. Контрольные вопросы 1. Какой тип триггера реализован на GAL 16V8? 2. Как компилятор языка CUPL определяет требуемое соединение элемента ИЛИ с выходным штырьком, или соединение Q выхода триггера с выходным штырьком? 3. Что подразумевает строка b’Oll & twisted:7 на рис. 7.60? Счетчики и регистры 457
Резюме 1. ' Счэтчик частоты — это схема, которая содержит двоичные счетчики для измере- ния и отображения частоты поступающего сигнала. 2. В схеме цифрового датчика времени используются двоичные счетчики для от- слеживания и отображения времени дня. 3. Многочисленные ИС регистров можно классифицировать согласно типа входов: параллельные (вся информация вводится одновременно), последовательные (один бит в промежуток времени) или их комбинации. Регистры также могут содер- жать параллельные (все биты одновременно доступны) или последовательные (один бит в промежуток времени) выходы. 4. Последовательные логические системы реализованы на триггерах, счетчиках и регистрах одновременно с логическими элементами. Их выходы и последователь- ность операций зависят от состояний входов. 5. Решение основных проблем последовательных логических систем состоит в об- следовании системных операций аналитическим методом и затем нахождении возможных неполадок, вызывающих неправильное функционирование системы. Завершающий этап заключается в контрольном измерении и исправлении дефекта. Основные термины счетчик часготы промежуток дискретности параллельный вход/параллельный выход последовательный вход/последовательный выход параллельный вход/последовательный выход последовательный вход/параллельный выход последовательная логическая система операция проверки равенства Упражнения Часть I Разделы 7.1 и 7.2 (В) 7.1. Присоедините еще один триггер Е к счетчику, изображенному на рис. 7.1. Синхронизирующий сигнал — меандр частотой 8 МГц. а) Какая будет частота на выходе Е? Какой будет рабочий цикл этого сиг- нала? б) Какая будет частота на выходе Е, если синхронизирующий сигнал со- ставляет 20% рабочего цикла? в) Какая частота будет на выходе С? г) Каков коэффициент пересчета (Кпер) этого счетчика? (В) 7.2. Создайте двоичный счетчик, который будет конвертировать импульсный сигнал частотой 64 кГц в меандр частотой 2 кГц. (В) 7.3. Предположим, что пятиразрядный двоичный счетчик начинает отсчет из со- стояния 00000. Какое значение будет установлено после 144-го входного импульса? 458 Глава 7
(D) 7.4. Применяя J-K-триггеры и любые другие необходимые логические схемы, реализуйте асинхронный счетчик с Кпер = 24. 7.5. Изобразите диаграммы для всех триггеров десятичного счетчика (рис. 7.6, б) при воздействии тактового сигнала частотой 1 кГц. Покажите все помехи, которые могут появиться на каждом выходе триггера. Определите частоту на выходе D. 7.6. Проделайте упражнение 7.5 для счетчика, изображенного на рис. 7.6, а. 7.7. Измените входные сигналы элемента ИЛИ (рис. 7.7) так, чтобы счетчик де- лил частоту на 50. Проделайте ту же процедуру для получения делителя частоты на 100. (N) 7.8. Один или несколько счетчиков часто применяют для деления высокочастот- ного синхронизированного сигнала в целях получения низкочастотного вы- хода. Если эти счетчики двоичные (т.е. они считают в двоичной последова- тельности), на выходе не установится симметричный меандр, в том случае когда двоичная последовательность укорочена в целях получения желаемой разрядности. Обратимся к диаграмме С счетчика с Кпер = 6, изображенного на рис. 7.4. Если счетчик предназначен только для деления частоты, нет необходимости чтобы он выполнял счет в двоичной последовательности так долго, как это задано коэффициентом пересчета. Симметричный выход меандра можно по- лучить для любого четного коэффициента пересчета методом предваритель- ного разбиения на произведение двух коэффициентов пересчета, один из ко- торых имеет степень 2. К примеру, счетчик с Кпер = 6 можно разбить на один счетчик с Кпер = 3 и один счетчик с Кпер = 2, изображенные на рис. 7.61. Рис. 7.61. Упражнение 7.8 Счетчики и регистры 459
На рисунке изображены триггеры Л и В, а также элемент ИЛИ, из которых составлен счетчик с Кпер = 3. На выходе счетчика В снимается сигнал с час- тотой, равной одной третьей частоты входного импульса. Выход Б соединен со входом триггера С, который работает как счетчик с Кпер = 2, для деления частоты до 1/6 частоты входного сигнала. а) Предположив, что на всех триггерах на начальной стадии установлен низкий уровень сигнала, изобразите диаграммы каждого выхода тригге- ра для двенадцати входных периодов. б) Составьте диаграмму переходов и докажите, что это нестандартная дво- ичная последовательность. Раздел 7.3 (В) 7.9. На рис. 7.8 соедините Qo с СРХ и MR,, а ^акже соедините Q3 с MR2. Пода- вая на СР0 импульс частотой 180 кГц, рассчитайте: а) последовательность счета; б) коэффициент пересчета; в) частоту на Q3. (D) 7.10. Покажите, как счетчик 74LS293 можно применить для достижения на вы- ходе сигнала 1 200 имп./с, если на вход подан сигнал частоты, равной 18 000 имп./с. (D) 7.11. Покажите, как следует соединить два счетчика 74LS293, для того чтобы по- лучить делитель частоты на шестьдесят, при этом одновременно не нарушив симметричность выходного меандра. (С) <D) 7.13. Выполните такие задания: а) Дополните необходимой логикой ИС 74НС4024 таким образом, чтобы получился счетчик с Кпер =100. 460 Глава 7
б) Воспользовавшись ИС 74НС4024 и другими необходимыми схемами, реализуйте операцию конвертирования сигнала частоты 10 000 имп./с в сигнал частоты 1 имп./с . Раздел 7.4 (В) 7.14. Выполните следующие задания: а) Изобразите диаграмму для вычитающего счетчика с Кпер = 16. б) Составьте диаграмму переходов. в) Счетчик находится в начальном состоянии ОНО. Каким состоянием он будет характеризоваться после 37 тактовых импульсов? 7.15. Рассмотрим счетчик, изображенный на рис. 7.63. По каким признакам можно судить, что это вычитающий счетчик? Этот счетчик видоизменен та- ким образом, что не производит счет в полной двоичной последовательности от 111 к ООО. Определите действующую последовательность работы счетчика. На всех входах Ли К присутствует 1 Рис. 7.63. Упражнение 7.15 Раздел 7.5 7.16. Четырехразрядный асинхронный счетчик управляется тактовым сигналом частотой 20 МГц. Изобразите диаграммы выходов каждого триггера при tn = 20 нс. Определите, какие состояния счетчика (если таковые имеются) не возникают из-за задержки распространения сигнала. 7.17. Ответьте на следующие вопросы: а) Какую максимальную тактовую частоту можно использовать в счетчике, исследуемом в упражнении 7.16? б) Какая будет /тах, если разрядность счетчика повысить до шести? Разделы 7.6 и 7.7 (В) 7.18. Выполните следующие задания: а) Изобразите схемную диаграмму для параллельного счетчика с Кпер = 64. б) Определите /тах этого счетчика, если каждый триггер характеризуется £п = 20 нс, а каждый вентиль ta = 10 нс? Счетчики и регистры 461
(С) 7.19. На рис. 7.64 изображен четырехразрядный параллельный счетчик, который разработан так, что не соблюдается последовательность пересчета шестна- дцати двоичных состояний. Проследите функционирование счетчика мето- дом анализа его счетной последовательности, а затем изобразите диаграммы каждого выхода триггера (в разделе 5.23 демонстрируется процедура анали- за). Начальные состояния триггеров установлены в 0. Рис. 7.64. Упражнение 7.19 7.20. Упростите счетчик, изображенный на рис. 7.18, а, таким образом, чтобы он стал синхронным вычитающим счетчиком с Кпер = 8. (С,Т) 7.21. Опишите функционирование реверсивного счетчика, изображенного на рис. 7.18, если уровень сигнала на выходе инвертора будет постоянно высоким. Разделы 7.8 и 7.9 (В) 7.22. Видоизмените схему, изображенную на рис. 7.22, таким образом, чтобы ус- тановить счетчик в состояние 0101 и производить вычитание до 0000. Изо- бразите диаграммы каждого выхода триггера и TCD выхода для десяти так- товых повторений. (N,C) 7.23. На рис. 7.65 изображен предварительно установленный вычитающий счет- чик, который можно использовать в схеме программируемого датчика вре- мени. Входная тактовая частота 1 Гц вторично получена из 60 Гц после де- ления частоты на 60. Переключатели S1-S4 предназначены для установки счетчика в необходимое начальное состояние в момент, когда кратковре- менный импульс подается на PL. Работа таймера начинается после нажа- тия кнопки СТАРТ. Триггер Z используется для устранения эффекта резко- го изменения, возникающего при нажатии кнопки СТАРТ. ОС предназначе- на для обеспечения очень узкого импульса при подаче его на вход PL. На выходе триггера X установится высокий уровень сигнала в момент, когда 462 Глава 7
число секунд будет тождественно числу состояния, которое характерно для переключателя. а) Предположим, что все триггеры и счетчик находятся в нулевом состоя- нии (0). Проанализируйте и поясните схемные операции, используя (если это необходимо) диаграммы для случая, когда на S1 и S4 установ- лены низкие уровни сигнала, а на S2 и S3 — высокие. Поясните работу триггера X. б) Почему выходное состояние таймера нельзя снимать с выхода TCD ? в) Почему нельзя воспользоваться переключателем СТАРТ для пуска непо- средственно ОС? г) Что произойдет, если переключатель СТАРТ удерживать очень долго? Добавив необходимую логику, добейтесь того, чтобы удержание пере- ключателя СТАРТ не влияло на работу таймера. +5 В» •-----------• SW1 Рз PL SW2 SW3 у р2| Pi| Рр I 1 Гц TCD SW4 О * 74НС193 Устанавливаемый обратный счетчик MR OS 4-5 В SET U Запуск Тр= 100 нс CLR А Реагирует на положительный перепад СРц CLK Выход таймера Рис. 7.65. Упражнения 7.23, 7.63 и 7.68 7.24. Измените схему, изображенную на рис. 7.24, таким образом, чтобы она ра- ботала как счетчик с Кпер = 10. Частота на выходе Q3 должна соответство- вать одной десятой входной частоты CPD . Изобразите диаграммы Q3, Qi> Qo И TCD • Счетчики и регистры 463
7.25. Измените параллельные информационные входы (рис. 7.24) на 1001. Изо- бразите диаграммы Q3, Q2i Qi, Qo n TCD . Чему равен коэффициент пересчета? 7.26. Изобразите диаграммы входных сигналов, которые необходимы для выпол- нения следующей последовательности операций в схеме, изображенной на рис. 7.25: 1) сбросить счетчик (установить в 0); 2) считать в прямом направлении до 2410; 3) задать счет до 7610; 4) считать в обратном направлении до О. Раздел 7.10 7.27. На рис. 7.66 изображен символ стандарта IEEE/ANSI для счетчиков, реали- зованных на ИС 7490 и ИС 74290. Исследуйте символ и дайте ответ на сле- дующие вопросы: а) Каков общий коэффициент пересчета? б) Каково функциональное назначение входов МЯ? в) Каково функциональное назначение входов MS? г) Это суммирующий счетчик или вычитающий? д) Как следует реорганизовать схему, чтобы получился двоично-десятич- ный счетчик? е) Как следует реорганизовать схему, чтобы получить делитель тактовой частоты на десять и одновременно не нарушить симметричность меандра? MR , MR 2 MS, MS 2 CP0 CP, 7490/74290 Puc. 7.66. Упражнение 7.27 7.28. Счетчик на ИС 74192 работает как ИС 74193 кроме небольших отличий: а) 74192 — двоично-десятичный счетчик, который считает или от 0 до 9, или от 9 до 0; б) выход TCV активизируется на девятом шаге счета, если на входе СРи установлен низкий уровень сигнала. 464 Глава 7
в) Видоизмените символ стандарта IEEE/ANSI, изображенный на рис. 7.26, таким образом, чтобы он представлял ИС 74192. Разделы 7.11 и 7.12 (В) 7.29. Изобразите элементы, необходимые для декодирования всех состояний счетчика с Кпер = 16, используя низкоуровневые выходы. (В) 7.30. Изобразите элементы И, необходимые для декодирования десяти состояний двоично-десятичного счетчика, изображенного на рис. 7.6, б. 7.31. На рис. 7.67 изображен асинхронный счетчик, который помогает формиро- вать управляющие сигналы. Управляющие сигналы 1 и 2 можно использо- вать для различных целей, включая управление приводами, соленоидами, клапанами и радиаторами. Определите диаграммы управляющих сигналов, считая, что в начальном состоянии на триггерах установлен низкий уровень сигнала. Тактовая частота равна 1000 имп./с. На всех входах J и К присутствует 1 Управляющий сигнал 1 Управляющий сигнал 2 7.32. Изобразите полные диаграммы выходов декодирующих элементов асин- хронного счетчика с Кпер = 16, включая все проблемные участки и узкие импульсы-помехи, которые могут возникнуть из-за задержек, происходя- щих в триггерах. Почему на элементах, функция которых состоит в декоди- ровании четных чисел, появляются импульсы-помехи? 7.33. Схема, изображенная на рис. 7.67, работает неправильно из-за присутствия импульса-помехи на выходах декодирующих элементов И-НЕ. а) Определите, в какой момент (или моменты) импульсы-помехи могут вы- звать неправильную работу схемы. б) С помощью каких двух методов можно устранить неправильную работу схемы? Счетчики и регистры 465
Раздел 7.13 (В) 7.34. Сколько триггеров использовано в схеме, изображенной на рис. 7.32? Ука- жите состояния каждого из этих триггеров после 795 импульсов, поданных на входы предварительно сброшенных регистров. 7.35. Сколько каскадных двоично-десятичных счетчиков необходимо для счета в прямом направлении до 8000? Сколько триггеров понадобится для этого? Сравните это количество с числом триггеров, необходимых обычному двоич- ному счетчику для пересчета в прямом направлении до 8000. Поскольку для первого варианта счета требуется больше триггеров, объясните, почему сто- ит применять метод каскадных двоично-десятичных счетчиков? Раздел 7.14 (D) 7.36. Выполните следующие задания: а) Разработайте синхронный счетчик, который использует следующую счетную последовательность: 000, 010, 101, 110 и повтор. Нежелатель- ные состояния 001, 011, 100 и 111 должны постоянно сбрасываться в 000 при поступлении следующего тактового импульса. б) Реконструируйте предыдущий счетчик так, чтобы он не сбрасывал не- желательные состояния. Сравните схемы двух этих счетчиков. (С, D) 7.37. На базе синхронного счетчика разработайте четырехразрядный вычитающий счетчик, который проходит все состояния от 1111 до 0000. Сравните такой счетчик со счетчиком, описанным в разделе 7.7. (С, D) 7.38. Воспользовавшись процедурой, похожей на ту, которая применялась для создания счетчика шагового двигателя (рис. 7.39), создайте трехразрядный синхронный счетчик, который будет суммировать или вычитать при воздей- ствии входа Управление (У). Счетчик должен суммировать, если на вход У подана логическая 1, и вычитать, когда вход У = 0. (Подсказка: задача со- держит четыре переменные). Сравните свою окончательную схему с син- хронным реверсивным счетчиком, изображенным на рис. 7.18. Раздел 7.15 7.39. Изобразите диаграмму для пятиразрядного кольцевого счетчика, построен- ного на J-K-триггерах. 7.40. Для построения счетчика с Кпер = 10 объедините кольцевой счетчик, приве- денный в упражнении 7.39, с одиночным J-K-триггером. Определите после- довательность состояний для этого счетчика. Такой счетчик — пример деся- тичного счетчика (не двоично-десятичный счетчик). 7.41. Изобразите диаграмму для счетчика Джонсона с коэффициентом пересчета, построенного на J-K-триггерах, и определите его счетную последователь- ность. Изобразите декодирующую схему, необходимую для декодирования каждого из десяти состояний. Это еще один пример декодирующего счетчи- ка, который не является двоично-десятичным. 7.42. Определите частоту следования импульсов в точках w, х, у и г, отмеченных на рис. 7.68. 466 Глава 7
Рис. 7.68. Упражнение 7.42 7.43. Выполните следующие задания: а) Набор из восьми световых индикаторов, расположенных внутри игрово- го автомата, управляется 8-разрядным кольцевым счетчиком, контроли- руемым сигналами тактовой частотой 2 имп./с. Опишите работу этой системы. б) Дайте подробное описание действия 8-разрядного счетчика Джонсона. Часть II Раздел 7.16 7.44. Как указано в тексте, счетчик-измеритель частоты (рис. 7.46) имеет недос- таток, который выражается в плохой читабельности индикатора из-за спо- соба представления всех операций, производимых счетчиком (сброс, счет, фиксирование). Этот недостаток можно компенсировать добавлением буфер- ных регистров, в которых будет храниться конечное содержимое счетчика для каждого счетного интервала для рис. 7.46). Данные будут хра- ниться для отображения, пока не закончится следующий счетный интервал (t7-t8). На рис. 7.69 изображена такая усовершенствованная схема. Буфер- ный регистр, состоящий из четырех D-триггеров, расположен между двоич- но-десятичным счетчиком и модулем декодирования и отображения. а) Проанализируйте эту схему и опишите ее работу, особое внимание об- ращая на передачу данных из счетчика к индикатору. б) Что будет изображено на трехразрядном индикаторе при подаче импульсов с постоянной частотой 2570 имп./с и промежутком дискретности 0,1 с? в) Что будет изображено на трехразрядном индикаторе, если вдруг частота следования импульсов возрастет до 3230 имп./с? 7.45. Счетчик частоты, изображенный на рис. 7.69, включает три двоично- десятичных счетчика. Промежуток дискретности равен 100 мкс. Определите выводимые данные трех индикаторов частотного счетчика для каждой из приведенных ниже входных частот: а) 220 000 имп./с; б) 4 500 000 имп./с; в) 750 имп./с. Раздел 7.17 (D) 7.46. Разработайте полную схему для блока разрядов СЕКУНДЫ цифрового изме- рителя времени (рис. 7.47). Счетчик с Кпер = 6 реализуйте на ИС 74LS293, а двоично-десятичный счетчик — на ИС 4LS290. (D) 7.47. Цифровые часы, изображенные на рис. 7.47, должны иметь функцию руч- ной установки блоков разрядов ЧАСЫ и СЕКУНДЫ в начальное состояние. К примеру, это можно реализовать подачей импульса на вход блока Счетчики и регистры 467
МИНУТЫ при нажатой кнопке УСТАНОВКА МИНУТ. Подобную операцию можно проделать при нажатой кнопке УСТАНОВКА ЧАСОВ. Сформируйте необходимую логическую схему для реализации этой возможности, исполь- зуя две кнопки переключателя. (D) 7.48. Видоизмените блок разрядов ЧАСЫ цифровых часов (рис. 7.48) так, чтобы производился счет и на индикаторе отображалось время от 00 до 23 часов. Разделы 7.19 и 7.20 (D) 7.49. Переделайте счетчик частоты, изображенный на рис. 7.69, таким образом, что- бы схема содержала ИС 74ALS174 для буферных регистров. Счетный блок дол- жен включать три двоично-десятичных счетчика и трехразрядный индикатор. 7.50. В примере 7.20 рассматривалось, как можно реализовать сдвигающий ре- гистр, соединив должным образом ИС 74ALS174. Покажите, как следует со- единить ИС 74ALS174 (или другую необходимую логическую схему), чтобы получился счетчик Джонсона. Чему равен коэффициент пересчета такого счетчика? 7.51. Предположим, что ИС 74ALS174 соединена следующим образом: MR = 1; Q5->D2; Qs-^-Dq; D5 = D3 = 1; D4 = 0. Предположим, что всем тригге- рам характерно нулевое время хранения и в начальном состоянии уровень сигнала низкий. а) Определите состояния каждого триггера после подачи одиночного им- пульса на вход СР. б) Повторите задание п. а для второго тактового импульса. 7.52. Исследуйте диаграмму, изображенную на рис. 7.52. Предположим, что при i24? на Ds устанавливается низкий уровень сигнала. Когда на выходе Фоз также установится низкий уровень сигнала? 7.53. Как нужно соединить микросхему 4731В, чтобы получить 256-разрядный сдвигающий регистр? Разделы 7.21 и 7.22 (С, D) 7.54. Измените схему, изображенную на рис. 7.55, таким образом, чтобы выход инвертора был соединен со входом А вместо соединения со входом MR. а) Изобразите временные диаграммы каждого выхода триггера при подаче на вход импульсов, изображенных на рис. 7.70. б) Добавьте необходимую логику для получения уровня синхронизирующего сигнала, который становится высоким только в интервалах ti~t2 и t8-tQ. в) Добавьте необходимую логику для получения уровня синхронизирующе- Рис. 7.69. Упражнение 7.54 468 Глава 7
7.55. Соединение ИС 74НС165 показано на рис. 7.71. Предположим, что предше- ствующий импульс до t0 был подан на вход СР и уровень сигнала на SH ' LD долго оставался высоким. Изобразите диаграмму Qi при подаче на входы СР и SH / LD сигнала после отметки t0. (N) 7.56. Во время проверки работы схемы инженер часто встречает незнакомые ему ИС. Для подробного изучения ИС специалист должен обратиться к справоч- нику, в котором изложена информация о всех выпускаемых ИС. Всю необ- ходимую информацию можно почерпнуть также из чертежа ИС, но иногда он не совсем понятен, особенно для малоопытных специалистов. В этом уп- ражнении представлена довольно сложная ИС 74194, которая является дву- направленным сдвигающим регистром. Для ответа на следующие вопросы необходимо воспользоваться справочником по ИС. а) Вход CLR является синхронным или асинхронным? б) Когда на входе CLK установлен низкий уровень сигнала, влияют ли уровни So и Si на состояние регистра? в) Предположим, выполняются следующие условия: QaQbQcQd ~ 1011; ABCD = ОНО; CLR = 1; SR SER = 0; SL SER = 1. Если So = 0 и Si = 1, то какие должны быть выходы регистра после по- дачи одного (двух, трех, четырех) импульсов на вход CLK? г) Ответьте на п. в, если выполняются все предыдущие условия, исключив только So = 1 и Si = 0. д) Ответьте на п. в, когда So = Si = 1. е) Ответьте на п. в, когда So = Si = 0. ж) Ответьте на п. в, если выполняются все его предыдущие условия, но QA соединено с SL SER. Что будет наблюдаться на выходах регистра после подачи четырех импульсов на вход CLK? з) Покажите, как следует соединить эту схему, чтобы получился кольце- вой счетчик, который работает со следующей последовательностью: QaQbQcQd. 0001, 0010, 0100, 1000 и далее повтор. Раздел 7.24 (Т) 7.57. Инженер проверяет счетчик, изображенный на рис. 7.57, а, предварительно подавая низкочастотный тактовый сигнал и контролируя выходные состоя- ния триггеров светодиодным индикатором. В процессе теста специалист за- мечает повторяющуюся последовательность (табл. 7.9). Что могло послу- жить причиной неправильной работы счетчика? (Т) 7.58. Обратимся к схеме цифровых часов, изображенной на рис. 7.47 и 7.48. В процессе тестирования схемы было обнаружено, что блоки СЕКУНДЫ и МИНУТЫ считают верно, а блок ЧАСЫ работает следующим образом: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 11, 12, 11, 12, .... В чем причина сбоя? Счетчики и регистры 469
Оз Ог Qi Ch 0 0 0 0 0 0 0 1 0 0 10 0 0 11 0 10 0 0 10 1 0 110 0 111 (Т) 7,59. При тестировании схемы цифровых часов (рис. 7.47 и 7.48) обнаружилось, что блок ЧАСЫ не считает вообще, а блок МИНУТЫ считает от 00 до 39, затем сбрасывается в 00 и повторяет неверный цикл. Что могло стать при- чиной неправильной работы схемы? (Т) 7.60. Вернемся к видоизмененному счетчику-измерителю частоты, изображенному на рис. 7.69. Предположим, что счетчик включает в себя три двоично- десятичных счетчика с соответствующими буферными регистрами. Временной интервал равен 1 с, частота следования импульсов составляет 125 имп./с. Опишите, что будет изображено на индикаторе при следующих сбоях в схеме: а) разомкнуто соединение верхнего входа элемента И; б) перегорел резистор R?. (Т) 7.61. Процесс тестирования счетчика частоты, изображенного на рис. 7.69, ха- рактеризовался временным интервалом, равным 1 с и частотой следования импульсов 125 имп./с. На индикаторе должно было высветиться значение 125, но вместо этого появлялись цифры, которые в течение нескольких секунд изменялись в следующей последовательности: 125, 250, 375, 500, 625, 750, 875, 000, 125, 250, .... Что стало причиной неправильной работы схемы? (Т) 7.62. Возвратимся к реверсивному счетчику, изображенному на рис. 7.18. Опи- шите, как каждая из приведенных ниже ошибок схемы будет влиять на ра- боту счетчика: а) четвертый выход элемента И замкнут с Vcc-t б) выход первого элемента И замкнут перемычкой с выходом третьего эле- мента И. (Т) 7.63. Инженеры провели тест схемы таймера, изображенной на рис. 7.65, и запи- сали результаты проверки в табл. 7.10. Исследуйте таблицу и определите возможные неполадки, приводящие к неправильной работе схемы. (Т) 7.64. Инженер соединил счетную схему, как это показано на рис. 7.62. Он подал на вход сигнал частоты 8 640 имп./с и измерил частоту на выходе X. Вме- сто ожидаемой частоты, равной 60 имп./с, у него получилось 54 имп./с. В каком месте соединения инженер допустил неточность? 470 Глава 7
» Айн да • '• f »' S1 S2 S3 54 Выходы таймера 5 V 0 V 0 V 0 V 10 0 V 0 V 5 V 5 V 3 5 V 0 V 5 V 5 V 11 5 V 5 V 5 V 0 V 14 0 V 5 V 0 V 5 V 7 5 V 5 V 0 V 0 V 14 Раздел 7.25. 7.65. Воспользовавшись булевыми уравнениями, составьте файл на языке CUPL для работы счетчика, описанного на рис. 7.33. 7.66. С помощью операции сравнения составьте файл на языке CUPL для работы счетчика, описанного на рис. 7.33. Практическое задание (Т) 7.67. Для каждого из следующих положений определите тип(-ы) счетчика, изу- ченного ранее: а) каждый триггер синхронизируется одновременно; б) каждый триггер делит частоту, поступающую на вход CLK, на 2; в) счетная последовательность такова: 111, 110, 101, 100, 011, 010, 001, 000; г) счетчику присущи десять различных состояний; д) общая задержка переключения равна сумме задержек триггеров; е) этот счетчик не требует декодирующей схемы; ж) коэффициент пересчета всегда вдвое больший, чем количество триггеров; з) этот счетчик делит входную частоту согласно цифре коэффициента пере- счета; и) этот счетчик может начинать свою счетную последовательность с любого состояния; й) этот счетчик может считать в обоих направлениях; к) этот счетчик поддается влиянию декодирующих импульсов-помех; л) счетчик считает от 0 до 99; м) этот счетчик можно использовать для произвольной счетной последова- тельности, предварительно подсоединив необходимые логические схемы ко входам J и К. Функционирование микрокомпьютеров (С, D) 7.68. Микропроцессор часто используют для управления схемами. Одно из назначений микропроцессора состоит в том, что он должен контролировать время внешних событий (например, включение или выключение соленои- дов, всевозможных приводных механизмов и реле). Управление действием приборов ведется благодаря компьютерной программе. В основе такой про- граммы лежит принцип периодически повторяющегося обращения к цик- лическим подпрограммам в определенное значение времени. Это, однако, Счетчики и регистры 471
приводит к большой загруженности микропроцессора и он не сможет вы- полнять другие действия, пока не закончит циклическое обращение. В та- ких случаях большинство фиксированных интервалов обычно производится аппаратной частью, которая подчиняется микропроцессору. Другими слова- ми, микропроцессор посылает информацию аппаратной части о том, как долго следует генерировать временной интервал. В упражнении 7.23 в роли таймера выступала ИС 74НС193, которая производила точные временные интервалы в соответствии с двоичной информацией, исходящей от четырех переключений. Эту схему можно видоизменить так, чтобы двоичная инфор- мация исходила не от переключений, а от микропроцессора. В разделе 5.20 уже было рассмотрено, как передается информация от микропроцессора к внешним устройствам посредством использования адреса, данных и времен- ных выходов (рис. 5.48). Покажите, как следует объединить эти две схемы, чтобы сигнал с выхода таймера X порождал сигнал с высоким уровнем для временного интервала (в секундах), равного двоичному числу, которое уста- новит микропроцессор в счетчике 74НС193. Вы можете устранить все не- нужные элементы. Предположим, что сигнал, подаваемый на вход СР мик- ропроцессора, — меандр с частотой один мегагерц. Обратите внимание, что PL — это асинхронный вход. Ответы к контрольным вопросам ЧАСТЬ I Раздел 7.1 1. Ложь. 2. 0000. 3. 128. Раздел 7.2 1. D, С и А. 2. Правда, так как двоично-десятичный счетчик имеет десять различных состоя- ний. 3. 5 кГц. Раздел 7.3 1. 250 Гц. 2. Лп/60. 3. 4096. 4. Кпср = 64 и, соответственно, частота делится на 64. 5. Qo» Q5. Q4, Зз- Раздел 7.4 1. В счетчике с прямой счетной последовательностью значение увеличивается на 1 при поступлении каждого последующего синхроимпульса. В счетчике с обратной счетной последовательностью (вычитающем) значение уменьшается на 1 с каж- дым следующим синхроимпульсом. 2. Инверсный выход каждого триггера соединен со входом CLK следующего триггера. 472 Глава 7
Раздел 7.5 1. Общая задержка счетчика — это объединенные задержки каждого триггера. 2. Кпер = 256. Раздел 7.6 1. Может работать на высоких частотах и имеет более сложную схематику. 2. Шесть триггеров и четыре элемента И. 3. ABCDE. Раздел 7.8 1. Может быть установлен в любое желаемое начальное состояние. 2. Асинхронная установка не зависит от синхроимпульса, в то время как синхрон- ная установка возникает, реагируя на положительный фронт синхроимпульса. Раздел 7.9 1. Когда уровень на PL поддерживается низким, счетчик устанавливается двоич- ными состояниями, которые соответствуют входам Ро-Р3. 2. Высокий уровень сигнала на MR приводит к сбросу всех остальных входов счет- чика в состояние 0000. 3. Правда. 4. 1, 1 и 0 соответственно. 5. 0-65, 535. Раздел 7.10 1. См. соответствующий текст. 2. а) Операция прямого счета; б) этот вход логически переумножается с любым дру- гим входом или выходом, который маркирован “4”; в) этот вход управляет дей- ствием любого входа, маркированного “5”; г) информационный вход, который контролируется входом, маркированным “С5”. Раздел 7.11 1. Шестьдесят четыре. 2. Шестивходовый элемент И-НЕ со входами А, В, С, D , Е и F . Раздел 7.12 1. Импульсы-помехи будут вызваны изменением состояний триггеров, происходя- щем во время перехода из одного состояния в другое. 2. Стробирующий сигнал будет задерживать действие декодирующих схем, пока на всех триггерах не совершатся переходы состояний. Раздел 7.14 1. См. текст. 2. Иллюстрирует необходимые уровни на входах J и К для представления всех воз- можных переходных состояний триггера. 3. Иллюстрирует необходимые уровни на входах J и К для представления всех воз- можных переходных состояний счетчика. 4. Правда. Счетчики и регистры 473
Раздел 7.15 1. Кольцевой счетчик. 2. Счетчик Джонсона. 3. Инверсный выход последнего триггера подается на вход первого триггера. 4. а) Ложь; б) правда; в) правда. 5. Шестнадцать; восемь. Часть II Раздел 7.16 1. Одна миллисекунда. 2. Счетчик сброшен; счетчик производит счет импульсов в течение интервала дис- кретизации; счетчик останавливается и удерживает значение на индикаторе. 3. Кольцевой счетчик использует больше триггеров, чем счетчик Джонсона. Раздел 7.17 1. Генератор импульсов, делитель частоты, счетчик секунд и индикатор, счетчик минут и индикатор, счетчик часов и индикатор. 2. Изменить отрицательный фронт импульса, поданного с блока МИНУТЫ, на по- ложительный фронт, необходимый для правильной работы ИС 74192. Разделы 7.18—7.22 1. Параллельный вход/последовательный выход. 2. Правда. 3. Последовательный вход/параллельный выход. 4. Последовательный вход/последовательный выход. 5. В ИС 74165 используется асинхронная параллельная передача данных; в ИС 74174 — синхронная. 6. Высокий уровень сигнала препятствует сдвигу на входе СР. Раздел 7.23 1. Происходит разделение двух указанных функций этого входа. 2. SRG 64. Раздел 7.25 1. D-триггеры. 2. Если уравнение содержит расширение .D, компилятор соединит триггер с выход- ным штырьком, в противном случае компилятор соединит триггер с выходом элемента ИЛИ. 3. Произведет twisted.D = 011, когда текущее состояние twisted — 111 (7). 474 Глава 7
Глава 8 Семейства логических интегральных микросхем Содержание: 8.1. Терминология цифровых ИС 8.2. Логическое семейство ТТЛ 8.3. Технические характеристики ТТЛ 8.4. Характеристики различных серий ТТЛ 8.5. Коэффициент нагрузки и коэффициент разветвления в схемах на ТТЛ 8.6. Другие характеристики ТТЛ 8.7. МОП-технология 8.8. Цифровые схемы на полевых транзисторах 8.9. Комплементарная МОП-логика 8.10. Характеристики различных серий ИС на КМОП 8.11. Низковольтная технология 8.12. Выходы с открытым коллектором/стоком 8.13. Тристабильные логические выходы (выходы с тремя состояниями) 8.14. Высокоскоростная логика шинного интерфейса 8.15. Цифровые ИС семейства ЭСЛ 8.16. Передаточный логический элемент (двунаправленный переключатель) на КМОП 8.17. Сопряжение интегральных схем 8.18. Управление КМОП на базе ТТЛ 8.19. Управление ТТЛ на базе КМОП 8.20. Аналоговые компараторы напряжения 8.21. Поиск неисправностей
В этой главе: описание терминологии цифровых ИС, указываемой в спецификации производителя; сравнение характеристик стандартных и нестандартных серий ТТЛ; определение коэффициента разветвления конкретного логического уст- ройства; использование логических устройств с открытым коллектором; анализ работ схем, содержащих тристабильные устройства; сравнение характеристик различных серий КМОП; анализ схем, которые используют двунаправленный переключатель на КМОП, позволяющий цифровой системе работать с аналогов/дми сигналами; описание основных характеристик и отличий между логическими семей- ствами ТТЛ, ЭСЛ, МОП и КМОП; реализация различных требований к цифровым схемам интерфейса между устройствами различных логических семейств; использование компараторов напряжения для управления цифровыми схемами с помощью аналоговых сигналов; использование логического импульсного генератора и токового детектора в качестве инструментов при поиске неполадок в цифровых схемах. Введение Как указывалось в главе 4, технология цифровых интегральных схем совершила поразительный качественный скачок от схем с малым уровнем интеграции (SSI), имевшим менее чем 12 элементов на одной плате, к схемам со средним уровнем ин- теграции (MSI), на одной плате которых размещается уже от 12 до 99 элементов, и далее к большим и сверхбольшим интегральным схемам (БИС и СБИС — LSI и VLSI) с десятками тысяч элементов. В настоящее время уже широко применяются схемы с ультравысоким уровнем интеграции (ULSI), который предусматривает до 100 тысяч элементов на плату, и схемы с так называемой гигаинтеграцией (GSI) — более чем с миллионом элементов на борту одной платы! Основные причины, по которым современные цифровые системы перешли к ис- пользованию интегральных схем, были очевидны уже давно. С помощью применения ИС стало возможным разместить намного больше логических элементов на неболь- шой по объему плате, в результате общий размер цифровых систем стал значительно меньше, чем аналоговых. При этом и цена упала в десятки раз, особенно при массо- вом производстве однотипных устройств. Однако некоторые преимущества цифровых систем не так очевидны. ИС сделали цифровую технику намного более надежной, уменьшив количество взаимных соединений между элементами одной схемы. Если до развития технологии ИС между соседними дискретными элементами (транзисторами, диодами, резистора- ми и т.д.) должна была существовать внешняя связь, то теперь все проводники раз- мещаются прямо на плате, где они защищены от неправильного соединения припо- ем, разрывов проводящих дорожек и других чисто физических проблем. ИС значи- тельно уменьшили мощность, потребляемую системой при выполнении какой-либо функции, так как миниатюрные схемотехнические элементы требуют намного мень- ших затрат энергии, чем их дискретные аналоги. Вдобавок к снижению стоимости источников питания уменьшение потребляемой мощности позволило работать с более умеренным охлаждением. 476 Глава 8
Однако несмотря на все преимущества, следует отметить, что некоторые возмож- ности нельзя реализовать на ИС. Интегральные схемы не могут работать в системах с очень большими рабочими значениями тока или напряжения, потому что тепловая энергия, которая выделяется в столь малых объемах, вызывает температурное раз- рушение устройства или прибора. Кроме того, на базе ИС принципиально невозмож- но реализовать некоторые электрические элементы схем (например, катушки индук- тивности, трансформаторы, большие емкости). По этим причинам и была определена основная область использования ИС — маломощные схемы и устройства, которые занимаются так называемой обработкой данных. Системы же, которые требуют вы- соких уровней мощности, пока не могут быть интегрированы и до сих пор строятся на дискретных элементах. При постоянной работе с ИС необходимо знать и понимать электрические харак- теристики хотя бы наиболее распространенных логических семейств интегральных схем. Напомним, что разные логические семейства отличаются друг от друга основ- ными используемыми компонентами. ТТЛ и ЭСЛ в качестве такого схемного элемен- та используют биполярный транзистор; р-канальная и n-канальная МОП- и КМОП- технологии используют полевые униполярные МОП-транзисторы. Эта глава освещает наиболее важные характеристики каждого из указанных семейств и их подсемейств. Самое главное — уяснить природу входной и выходной схемотехники каждой из ИС, после чего вы легко сможете приступить к анализу, поиску неполадок и даже проек- тированию цифровых систем, которые содержат комбинации интегральных схем различных семейств. В данной главе также описана внутренняя работа устройств на основе каждого типа ИС и простейшие схемные решения, на базе которых можно в полной мере представить характеристики всего семейства ИС. 8.1. Терминология цифровых ИС Несмотря на то, что в мире существует множество изготовителей цифровых ИС, большая часть номенклатуры и терминологии строго стандартизированы. Ниже при- ведены определения наиболее важных терминов, а также даны их краткие описания. Параметры тока и напряжения Рис. 8.1. Токи и напряжения в двух логических состояниях ^iH(min) — высокий уровень входного напряжения (High-level Input Voltage). Минимальный уровень напряжения на входе, который представляет логическую 1. Любое значение напряжения ниже этого уровня не будет попадать в диапазон высокого уровня сигнала для данной логической схемы. Семейства логических интегральных микросхем 477
^ii/max) — низкий уровень входного напряжения (Low-level Input Voltage). Мак- симальный уровень напряжения на входе, который представляет логический 0. Любое значение напряжения выше этого уровня не будет попадать в диапазон низкого уровня сигнала для данной логической схемы. ^OH(min) — высокий уровень выходного напряжения (High-level Output Voltage). Минимальный уровень напряжения на выходе логической схемы, который пред- ставляет логическую 1 при заданной нагрузке. ^оцтлх) — низкий уровень выходного напряжения (Low-level Output Voltage). Максимальный уровень напряжения на выходе логической схемы, который представляет логический 0 при заданной нагрузке. Ijh — высокий уровень входного тока (High-level Input Current). Ток, который протекает на входе схемы, если на этот вход подан высокий уровень напряжения. JIL — низкий уровень входного тока (Low-level Input Current). Ток, который протекает на входе схемы, если на этот вход подан низкий уровень напряжения. Лэн — высокий уровень выходного тока (High-level Output Current). Ток, кото- рый протекает на выходе схемы, находящемся в единичном состоянии, при за- данной нагрузка. Iol — низкий уровень выходного тока (Low-level Output Current). Ток, который протекает на выходе схемы, находящемся в нулевом состоянии, при заданной нагрузке. Примечание. Реальные направления токов могут не совпадать с показанными на рисунке — они зависят от конкретного логического семейства. В этой книге при ука- зании направления тока мы будем иметь в виду общие правила (ток течет от больше- го потенциала к меньшему). Придерживаясь принятых в большинстве учебников по- ложений, мы также будем считать ток, втекающий в узел или устройство, положи- тельным, а вытекающий из узла или устройства — отрицательным. Коэффициент разветвления Обычно состояния входов логической схемы управляются логическими уровнями, поступающими с какого-либо выхода предыдущей схемы. Иногда все ИС цифровой системы принадлежат к одному логическому семейству, но многие системы состоят из микросхем сразу нескольких семейств. Коэффициентом разветвления (иногда его еще называют нагрузочным множителем) называется максимальное число логиче- ских входов, логические состояния которых могут надежно управляться сигналом с одного выхода предыдущей схемы. Например, если для логического элемента коэф- фициент разветвления равен 10, то сигнал с любого его выхода может управлять 10 ло- гическими входами других схем. Если это число будет превышено, напряжения на вы- ходах схем будут иметь случайные значения. Ясно, что коэффициент разветвления за- висит от логики, на которой выполнено устройство, где на входы подаются сигналы с выхода. Если в качестве нагрузки не указана интегральная схема другого логического семейства, то по умолчанию подразумевается, что подключенные устройства относятся к тому же семейству, что и схема, выходы которой являются управляющими. Задержки распространения Логический сигнал всегда претерпевает задержку по пути через элементы схемы. Ниже даны определения двух задержек распространения: ^рьн — величина задержки распространения сигнала при его переходе от состоя- ния логического 0 к состоянию логической 1 (от низкого уровня к высокому). fPHL — величина задержки распространения сигнала при его переходе от состоя- ния логической 1 к состоянию логического 0 (от высокого уровня к низкому). 478 Глава 8
На рис. 8.2 проиллюстрированы задержки распространения сигнала для инверто- ра. Обратите внимание, что величина £рнь является задержкой отклика выходного сигнала относительно входного при переходе от высокого уровня к низкому. Она из- меряется между точками с уровнями 50% от сигналов на входе и выходе. Величина <рьн измеряется между 50%-ными точками сигналов на входе и выходе схемы при переходе от низкого уровня к высокому. Обычно величины £PHl и £PLh имеют различные значения, но при этом они сильно зависят от нагрузочной емкости, т.е. емкости на выходе схемы. Значения задержек распространения используются в качестве меры относительного быстродействия ло- гических схем. Например, при равных условиях на выходе логическая схема, кото- рая имеет задержки распространения, равные 10 нс, является более быстродейст- вующей, чем та, задержки распространения сигнала которой равны 20 нс. Требования к мощности Для того чтобы ИС могла функционировать, требуется определенная мощность питания. Эта мощность обеспечивается одним или несколькими источниками пита- ния, которые подключаются к специальному выводу (или нескольким выводам) схе- мы. Обычно на плате имеется только один такой вывод, к которому можно подклю- чить источник питания; он обозначается как VCc (в случае ИС семейства ТТЛ) или как VDD (в случае ИС семейства МОП). Количество энергии, необходимое для питания ИС, определяется током Ice, кото- рый она потребляет от источника питания Vcc, а полная мощность источника опре- деляется произведением Ice х VCc- Для многих ИС значение тока, потребляемого от источника питания, зависит от логических состояний на элементах печатной платы. Например, на рис. 8.3, а показана микросхема с элементами И-НЕ на борту, все вы- ходы элементов имеют высокие уровни. В этом случае ток утечки с источника пита- ния Vcc обозначается как 1Ссн« Аналогично, на рис. 8.3, б показана ситуация, когда все выходы элементов платы имеют низкие уровни. Этот ток обозначается как /Ссь‘ Указанные значения всегда измеряются при разомкнутых выходах (без нагрузки), так как номинал нагрузки также влияет на значение 1Ссн- В общем случае, токи 1Ссн и ICcl имеют разные значения. Средний ток потребле- ния рассчитывается исходя из предпосылки, что половину времени на выходах схе- мы будут наблюдаться нулевые состояния, а половину времени — единичные: /сс(средн) = /ссн g ZccL. Семейства логических интегральных микросхем 479
Рис. 8.3. Величины 1ссн и Iccl Это выражение можно использовать для расчета средней потребляемой ИС мощ- ности: Рр(средн) = 1Сс(срелн) х Vcc. Произведение задержки сигнала на мощность рассеяния Исторически сложилось, что цифровые семейства ИС принято характеризовать их быстродействием и потребляемой мощностью. Безусловно, предпочтительнее иметь как можно более короткие задержки распространения сигнала (т.е. более высокое быстродействие) и меньшие значения мощности рассеяния. Различные логические семейства и подсемейства позволяют выбирать ИС с широким диапазоном показате- лей скорости и потребления энергии. Для измерения и сравнения общей производи- тельности семейств интегральных схем пользуются показателем, который определя- ется как произведение задержки сигнала на мощность рассеяния (speed-power product). Быстродействие можно определить, зная длительность задержки сигнала при его прохождении через элемент, поэтому дачный показатель легко рассчитать, перемножив задержку на рассеиваемую элементом мощность. Например, пусть се- мейство ИС имеет среднюю величину задержки распространения сигнала, равную 10 нс, и среднюю мощность рассеяния 5 мВ. Тогда произведение задержки сигнала на мощность рассеяния составит 10 нс х 5 мВ = 50 х 10'12 Вт-с = 50 пДж. Обратите внимание, что величина задержки распространения сигнала выражается в наносекундах, мощность — в милливаттах, а общее произведение — в пикоджо- улях. Очевидно, что предпочтительнее иметь ИС с меньшими значениями произведения задержки сигнала на мощность рассеяния. Разработчики интегральных схем стара- ются добиться этого изо всех сил, увеличивая быстродействие элементов (тем самым уменьшая величину задержки распространения сигнала) или снижая потребляемую мощность. Однако принимая во внимание свойства ключевых схем на транзисторах, добиться каких-либо существенных сдвигов в этой области довольно проблематично. 480 Глава 8
Помехоустойчивость Случайные электромагнитные поля могут индуцировать напряжения на провод- никах между логическими схемами. Эти нежелательные паразитные сигналы часто называют шумами. Иногда они могут привести к тому, что напряжение на входе ло- гической схемы упадет ниже VIH(min) или поднимется выше VIL(max), а это вызовет непредсказуемое поведение устройства. Помехоустойчивостью логической схемы на- зывается способность схемы переносить воздействие шумов без влияния на выходные уровни напряжения. Количественной мерой этого свойства служит так называемый запас помехоустойчивости (noise margin), проиллюстрированный на рис. 8.4. <D Логическая 1 Логическая 1 < V0H (min) <D (D х — V|H (min) ► Запрещенный диапазон Диапазон неопределенности (В X —v---Т— vil (max) ► « V0L (max)-^-1---------- Логический О Диапазоны выходного напряжения a) Логический О Требования к входному напряжению 6) Рис. 8.4. Запас помехоустойчивости по постоянному току На рис. 8.4, а показана диаграмма, поясняющая диапазон значений напряжений, которые может принимать сигнал на выходе логической схемы. Любое значение на- пряжения больше, чем VOH(min), рассматривается как логическая 1, а любое значе- ние напряжения ниже VOL(max) рассматривается как логический 0. В нормальном режиме работы на выходе логической схемы не должны появляться напряжения из неопределенного диапазона. На рис. 8.4, б показаны требования к значениям напря- жения на входе логической схемы. Логическая схема на любое значение напряже- ния, которое превышает VIH(min), отвечает как на логическую 1, а на любое значение напряжения, которое ниже чем ^L(max), отвечает как на логический 0. Значения напряжения, лежащие в неопределенном диапазоне, вызовут непредсказуемую реак- цию схемы, именно поэтому они не должны использоваться. Запасом помехоустойчивости для единичного состояния (high-state noise margin) называется величина, которая определяется как = V0H(min) - VIH(min). (8.1) На рис. 8.4 можно видеть графическую интерпретацию этой величины. Напряже- ние VNH представляет собой разность между наименьшим возможным значением сиг- нала с высоким уровнем на выходе и наименьшим значением входного напряжения, которое требуется для получения такого уровня. Если на выходе, который управляет входом другой логической схемы, наблюдается состояние с высоким уровнем, то лю- бые импульсы шума отрицательной полярности, амплитуда которых превышает на- Семейства логических интегральных микросхем 481
пряжение VNH, приведут к падению входного напряжения и попаданию его значения в неопределенный интервал, что, в свою очередь, заставляет схему вести себя слу- чайным образом. Запасом помехоустойчивости для нулевого состояния (low-state noise margin) на- зывается величина, которая определяется как Vnl = VIL(max) - VOL(max). (8.2) Напряжение VNL представляет собой разность межад возможным значением сигнала на выходе с низким уровнем и наибольшим значением входного напряжения, которое требуется для получения этого уровня на выходе схемы. Если состояние с низким уровнем наблюдается на выходе, который управляет входом дру- гой логической схемы, то любые импульсы шума положительной полярности с ам- плитудой, которая превышает напряжение VNl, приведут к росту входного напряже- ния и попаданию его значения в неопределенный интервал, что, опять же, заставля- ет схему вести себя непредсказуемым образом. Пример 8.1 В табл. 8.1 приведены спецификации значений входных/выходных напряжений для микросхем семейства ТТЛ. Используя эти величины, определите следующие значения: а) Максимальную амплитуду импульса шума, который никак не повлияет на со- стояние выхода с высоким уровнем напряжения, управляющего входом другой схемы. б) Максимальную амплитуду импульса шума, который никак не повлияет на со- стояние выхода с низким уровнем напряжения, управляющего входом другой схемы. Таблица 8.1_______________________________________________________________________ Параметр Минимальное значение, В Среднее значение, В Максимальное значение, В Voh 2,4 3,4 Vol 0,2 0,4 Мн 2,0* Ml 0,8* * Обычно указываются только минимальное значение Мн и максимальнее значение Ml Решение а) Если на выходе мы имеем состояние с высоким уровнем, то оно не может быть меньше, чем I он(ппп) ~ 2,4 В. Минимальное значение входного напряжения, при котором выход схемы еще будет реагировать на поданный сигнал как на высокий уровень, составляет Vm(min) = 2,0 В. Импульс шумовой помехи отрицательной полярности может заставить напряжение на входе схемы опуститься ниже 2,0 В только в том случае, если амплитуда этого импульса превышает значение Vvh= ^Тон(пг1п) ~ ^1н(^п) = 2,4 В - 2,0 В = 0,4 В. б) Если на выходе имеется состояние с низким уровнем, то оно не может превышать напряжение УОь(п1ах) = 0,4 В Максимальное значение входного напряжения, при котором выход схемы будет реагировать на поданный сигнал как на низкий уро- вень, составляет V1L(max) = 0,8 В. Импульс шумовой помехи положительной по- лярности может заставить напряжение на входе схемы превысить эти 0,8 В, если амплитуда выброса будет больше, чем Удгь= NlL(max) - \TOL(max) = 0,8 В - 0,4 В = 0,4 В. 482 Глава 8
Запрещенные уровни напряжения Для правильной работы электронных приборов и устройств необходимо, чтобы уровни напряжения на входах логической схемы лежали вне пределов неопределен- ного диапазона, как это показано темным цветом на рис. 8.4, б, т.е. значения вход- ного напряжения должны быть или меньше VIL(max), или больше VIH(min). Для стан- дартных значений сигналов в микросхемах семейства ТТЛ, приведенных в примере 8.1, это означает, что напряжение на входе схемы не должно превышать 0,8 В или быть меньше 2,0 В. Входное напряжение, величина которого лежит между указан- ными значениями, рассматривается как запрещенное и может привести к непредска- зуемой реакции выходов схемы на заданный входной сигнал. Таких значений вход- ных напряжений необходимо тщательно избегать. При нормальной работе схемы на- пряжение на входе не попадет в неопределенный интервал, потому что оно поступает с выхода другой схемы, который работает в заданном режиме согласно специфика- ции. Однако если логический выход почему-то перестал правильно функционировать или был перегружен (т.е. был превышен коэффициент разветвления), тогда и на вхо- де напряжение может попасть в область запрещенных значений. Неправильные уровни напряжения в цифровой схеме могут также быть вызваны источником пита- ния, который не выдает требуемые величины напряжения. Очень важно знать пра- вильные значения напряжения для микросхем того или иного логического семейст- ва, чтобы при испытаниях прибора или возникновении каких-либо проблем легко и быстро определить неправильные условия на входах и выходах. / Функционирование логических схем в режимах источника тока и нагрузки Логические семейства можно классифицировать согласно тому, как протекает ток между выходом одной логической схемы и входом другой. На рис. 8.5, а показано функционирование логической схемы в режиме источника тока. Если выход элемен- та 1 находится в состоянии с высоки м уровнем сигнала, то он выдает ток ZIH на вход элемента 2, который действует подобно сопротивлению, подключенному на землю. Таким образом, выход элемента 1 функционирует как источник тока для входа элемента 2. Можно провести аналогию между этим элементом и водопроводным кра- ном, который работает в качестве источника воды. Функционирование логической схемы в режиме источника тока показано на рис. 8.5, б. Здесь элементы схемы, подключенные ко входу логического элемента 2, представлены сопротивлением. Это сопротивление подключено между землей и по- ложительным выводом источника питания Vcc. Когда на выходе элемента 1 устанав- ливается низкий уровень, ток течет в направлении, показанном на рисунке — от входа элемента 2 на землю через элемент 1. Иначе говоря, при появлении на выходе первого элемента низкого уровня вход элемента 2, управляемого сигналом с элемента 1, должен быть способным стать нагрузкой для второго элемента, со входа которого на него поступает ток IlL. Для сравнения можно представить сток, в который уходит вода из крана. Разница между функционированием логических схем в режимах источника тока и нагрузки — это важный вопрос, который более детально будет описан немного позже. Корпуса ИС Стремительное развитие технологии интегральных схем, бесспорно, коснулось также и корпусов ИС. Для монтажа на печатные платы доступен широкий ассорти- мент типов корпусов, отличающихся физическими размерами, экологическими и энергетическими требованиями, а также тем, как этот корпус монтируется. На рис. 8.6 показаны пять типов корпусов ИС. Семейства логических интегральных микросхем 483
б) Рис. 8.5. Сравнение функционирования схемы в режиме источника тока и режиме нагрузки Корпус, показанный на рис. 8.6, а, имеет двухрядное расположение выводов и называется корпус типа DIP (dual-in-line package). Такие корпуса использовались в электронике на протяжении многих лет. Выводы (или ножки) корпуса расположены вдоль длинных сторон прямоугольной коробки и загнуты вниз. Показанная на ри- сунке микросхема представляет собой корпус типа DIP с 24 выводами. Обратите внимание, что на одном конце корпуса присутствует метка, от которой начинают от- считываться номера выводов — по ней определяют вывод с номером 1. Ножки выво- дов вытянуты немного вниз относительно корпуса так, чтобы микросхему можно бы- ло вставить в разъем печатной платы ИС или в отверстия, высверленные в плате. Расстояние между выводами (шаг выводов — lead pitch) обычно составляет 100 ты- сячных дюйма (примерно 2,5 мм). Несмотря на свой почтенный возраст, корпуса ти- па DIP все еще популярны в промышленности благодаря удобным возможностям при моделировании и создании лабораторных макетов, а также учебных и эксперимен- тальных схем. Однако в настоящее время в новых печатных платах, которые производятся на автоматических промышленных установках, не используются двухрядные корпуса ИС, ножки которых вставляются в отверстия на самой плате. Новые методы изготов- ления используют технологию поверхностного монтажа (surface-mount technology), согласно которой ИС размещается на контактных площадках платы. Микросхемы закрепляются с помощью паяльной пасты, а затем вся плата нагревается для того, чтобы создать соединение пайкой. Высокая точность оборудования при размещении ИС позволяет использовать корпуса с очень малым шагом выводов. Ножки таких корпусов немного выгнуты наружу, что обеспечивает место для распайки. Из-за спе- цифической формы этих ножек такие корпуса иногда еще называют “крылом чайки” (“gull’s wing”). Технология поверхностного монтажа позволяет применять множество различных форм самого корпуса. Некоторые из наиболее часто используемых для ИС корпусов показаны на рис. 8.6. В табл. 8.2 приведены определения всех аббревиатур, которые применяются при обозначении размеров. 484 Глава 8
Ключ Вывод 12 Корпус DIP, 24 вывода Выводы Выводы на всех на всех четырех Срезанный четырех Корпус QFP с 48 выводами (“крыло чайки”), монтаж на поверхность а) Скос Вывод 8 Корпус SO с 16 выводами (“крыло чайки”), монтаж на поверхность б) Корпус PLCC с 28 выводами (J-образными), монтаж в гнездо или на поверхность 5 "4 Ь Г Г б Н j k'L М Й’Р R 'Гч ЮОООСООООООООООО 20000000000000000 30000000000000000 40000000000000000 50000000000000000 боооооооооооооооо 5,5 мм — 13,5 мм — Корпус LFBGA с 96 выводами, монтаж на поверхность д) Рис. 8.6. Распространенные типы корпусов ИС. (Представлено с разрешения компании Texas Instruments) Необходимость в значительном увеличении числа связей между элемент ами сложных интегральных схем привела к изобретению другого очень популярного типа корпуса, выводы которого расположены по всем четырем сторонам кристалла. Без- выводной пластиковый кристаллодержатель, или корпус типа PLCC (Plastic Leadless Chip Carrier) имеет ножки в виде латинской буквы J, которые загибаются под ИС так, как это показано на рис. 8.6, в. Эти устройства могут прикрепляться к печатной плате при помощи технологии поверхностного монтажа, но могут также быть встав- лены в специальные разъемы PLCC. Последний способ особенно широко применяется там, где часто приходится менять компоненты схемы для ремонта или модерниза- ции, например, в случае использования программируемых логических устройств или центральных процессоров в компьютерах. Корпуса типов QFP и TQFP также имеют Семейства логических интегральных микросхем 485
выводы по всем четырем сторонам микросхемы, но они выгнуты в форме “крыла чайки” по технологии поверхностного монтажа, как это показано на рис. 8.6, г. Кор- пус с матричным расположением шариковых выводов (Ball Grid Array — BGA), по- казанный на рис. 8.6, д, — это еще один тип корпусов, изготовляемых по технологии поверхностного монтажа, который имеет еще большую плотность упаковки элемен- тов. Корпус с матричным расположением штырьковых выводов (Pin Grid Aroy — PGA) выполнен аналогично предыдущему экземпляру и используется там, где надо разместить компоненты в разъеме, который обеспечивал бы легкую замену микросхем. Корпус типа PGA имеет достаточно длинные выводы в отличие от шариковых выводов, которые используются для создания контакта в каждом узле матрицы типа BGA. Таблица 8.2 4 4-"Vе •’•••A- X т ' . -T Аббревиатура Тип корпуса Высота, MM Шаг выводов, мм DIP Корпус с двухрядным расположением выводов или корпус типа DIP (Dual-in-Line Package) 2,1 2,54 SOIC Малогабаритный корпус для ИС или корпус типа SO (Small-Outline Package Integrated Circuit) 2,65 1,27 SSOP Уменьшенный малогабаритный корпус (Shrink Small Outline Package) 2,0 0,65 TSSOP Уменьшенный тонкий малогабаритный корпус (Thin Shrink Small Outline Package) U 0,65 TVSOP Ультрауменьшенный тонкий малогабаритный корпус (Thin "Very Small Outline Package) 1,2 0,4 PLCC Безвыводной пластиковый кристаллодержатель (Plastic Leadless Chip Carrier) 4,5 1,27 OFP Плоский корпус с четырехрядным расположением вы- водов (Quad Flat Pack) 4,5 0,635 TQFP Тонкий плоский корпус с четырехрядным расположе- нием выводов (Thin Quad Flat Pack) 1,6 0,5 LFBGA Плоский корпус с матричным расположением шарико- вых выводов с малым шагом (Low-profile Fine-pitch Ball Grid Array — BGA) 1,5 0,8 Контрольные вопросы ; 1. Дайте определения следующим величинам: V0H, VIL, 7OL, ZIH, tPLH, tPHL, ZCCL, ICCH. ' 2. Проверьте истинность высказывания. Если коэффициент разветвления логи- ческой схемы равен 5, это означает, что схема имеет 5 выходов. | 3. Проверьте истинность высказывания. Запасом помехоустойчивости для еди- ничного состояния называется разность между напряжениями yIL(min) и Vcc. 4. Проверьте истинность высказывания. Логическое семейство, для которого средняя задержка распространения ^(средн) = 12 нс и средняя мощность рас- сеяния Рс(средн) =15 мВт, имеет большее произведение задержки сигнала на мощность рассеяния, чем то, у которого эти параметры равны tpd(cpeflH) = 8 нс и Рс(средн) = 30 мВт соответственно. * 5. Чем отличается функционирование логических схем в режиме источника тока и режиме нагрузки? I 6. Какие типы корпусов ИС могут быть вставлены в разъемы на печатных платах? | 7. Какие типы корпусов имеют ножки, загнутые под корпус? 486 Глава 8
8. Чем отличаются корпуса, выполненные по технологии поверхностного монта- жа, от корпусов типа DIP? 9. Как будет функционировать стандартное устройство на ТТЛ, если на его вход будет подан уровень напряжения величиной 1,7 В? 8.2. Логическое семейство ТТЛ В момент написания этой книги ИС с малой и средней степенями интеграции (SSI и MSI) все еще достаточно широко используются при изготовлении стандартных се- рий устройств на транзисторно-транзисторной логике (ТТЛ), микросхемы которой существуют уже на протяжении 30 лет. Первые серии интегральных схем этого се- мейства оказали колоссальное влияние на характеристики всех без исключения ло- гических ИС. Устройства ТТЛ до сих пор используются в качестве связующего звена между более сложными частями цифровых систем. Их также можно применять как интерфейсные схемы в приборах, которые требуют больших рабочих значений управляющих токов. Хотя семейство ТТЛ основано на биполярных транзисторах, ко- торые уже почти не используются в электронике, мы начнем изучение логических ИС именно с них, так как биполярные устройства легли в основу цифровой техники. Базовым элементом логических схем на ТТЛ является элемент И-НЕ, показанный на рис. 8.7, а. Хотя стандартные серии ТТЛ уже фактически не используются, мы много можем узнать о более новых элементах, изучив основы схемотехники на са- мых простых примерах. Характеристики входов элементов ТТЛ обусловлены внут- ренней структурой многоэмиттерного транзистора Qi (фактически он эквивалентен группе диодов, каждый из которых заменен эмиттером). При подаче прямого смеще- ния на один или оба эмиттера происходит отпирание транзистора И наоборот, транзистор окажется запертым, если подать на все эмиттеры одновременно обратное смещение. Многоэмиттерные транзисторы могут иметь до восьми входов, т.е. на их основе можно построить элемент И-НЕ с восемью входами. Рис. 8.7. а) Базовый элемент ТТЛ — И-НЕ, б) диодный эквивалент транзистора Q; Семейства логических интегральных микросхем 487
Также следует обратить внимание, что на выходе схемы транзисторы Q3 и Q4 включены в виде двухтактного каскада (totem-pole). Такое подключение транзисто- ров позволяет им работать как паре ключей. Задача транзистора Q3 состоит в под- ключении выхода схемы к источнику питания Vcc, что приводит к появлению на выходе высокого уровня напряжения. Задача Q4 состоит в замыкании второго вывода (на выходе схемы) на землю, что приводит к появлению на нем низкого уровня. В нормальном режиме работы транзисторы Q3 и Q4 меняют проводимость в зависи- мости от того, каким должно быть состояние на выходе логической схемы. Функционирование схемы в состоянии с низким уровнем Хотя схема ТТЛ-элемента И-НЕ выглядит очень сложной, ее анализ можно упро- стить, используя диодный эквивалент многоэмиттерного транзистора <?х, как показа- но на рис. 8.7, б. Диоды D2 и D3 фактически представляют собой два перехода Э-Б (переходы эмиттер-база) транзистора a D4 соответствует переходу К-Б (коллектор- база) того же транзистора. В дальнейшем при анализе работы многоэмиттерного транзистора мы будем пользоваться его диодным эквивалентом. Рассмотрим случай, когда на выходе логической схемы появляется низкий уро- вень сигнала. На рис. 8.8, а показана ситуация, когда на оба входа А и В подано на- пряжение +5 В. Такой уровень напряжения на катодах диодов D2 и D3 выключит оба диода, поэтому они практически не будут пропускать через себя ток. Напряжение +5 В с источника питания приведет к появлению тока через сопротивление и диод D4 на базу транзистора Q2, который при этом включится. Ток с эмиттера этого тран- зистора потечет на базу Q4 и также включит его. В то же время ток с коллектора транзистора Q2 приведет к падению напряжения на сопротивлении Л2, которое уменьшит напряжение на коллекторе Q2 до недостаточного для включения транзи- стора Q3 значения. Напряжение на коллекторе Q2 приблизительно равно 0,8 В. Оно складывается из потенциала 0,7 В на эмиттере транзистора Q2 относительно земли (он вызван прямым смещением на переходе Э-Б транзистора Q4) и потенциала 0,1 В коллектора Q2 отно- сительно его эмиттера (он вызван напряжением Укэ)- Это напряжение величиной 0,8 В соответственно будет наблюдаться и на базе транзистора Q3. Его недостаточно для прямого смещения перехода Э-Б транзистора Q3 и диода Dp Фактически сам ди- од Di служит для того, чтобы предотвращать прямое смещение на переходе Э-Б тран- зистора Q3. Когда открывается транзистор Q4, вывод X на выходе схемы будет иметь очень низкий уровень напряжения, так как сопротивление прямосмещенного транзисто- ра крайне мало (от 1 до 25 Ом). Напряжение на выходе схемы зависит от того, ка- кой ток проходит через коллектор транзистора Q4. Поэтому если транзистор Q3 за- крыт, ток с источника питания +5 В не протекает на выход через Q3 и сопротивле- ние R4. Как мы увидим чуть позже, ток на коллекторе Q4 будет приходить со входов многоэмиттерного транзистора, к которым через другие элементы подклю- чен вывод X. Важно обратить внимание на тот факт, что высокие уровни на входах А и В должны обеспечивать током только диод Db а для этого достаточно очень малых значений тока. При комнатной температуре значение тока ZiH лежит в пределах 10 мкА. 488 Глава 8
{закрыто} А = +5 В »• —W----- "d2 D3 в =+5 Be-——И------- f [закрыто} 1|Н = 10 мкА (обычно) • +5В Ri 4 кОм а) низкий уровень на выходе Сое гсяние н? входах Состояние на выходе НаАиВ — высокий уровень О 2 В) О3 закрыт Входные токи очень малы l|H= 10 мкА О4 открыт, поэтому Vx имеет низкий уровень (< 0,4 В) а+5 В >2,4 В высокий уровень на зыходе б) Состояние на входах На А или В. или на обоих входах - низкий уровень (<0,8 В)___ Ток вытекает из входа (при низком уровне) на общий провод |,н= 10 мкА Состояние на выход) > 04закрыт Q3 действует какэмитгериый повторитель; Voh>2,4B, обычно 3,6 В Рис. 8.8. а) Базовый ТТЛ-элемент — И-НЕ; б) диодный эквивалент транзистора Qi Функционирование схемы в состоянии с высоким уровнем На рис. 8.8, б показана ситуация, когда с выхода схемы снимается сигнал с высо- ким уровнем напряжения. Такая ситуация может быть вызвана наличием на одном или обоих входах схемы низкого уровня. Пусть, например, вход В подключен к зем- ле. Нулевой уровень на нем приведет к прямому смещению диода D3, а это, в свою очередь, разрешит протекание тока с вывода источника +5 В через сопротивление /?1, Семейства логических интегральных микросхем 489
диод D3 и вывод В на землю. Падение напряжения на диоде Л3 обеспечивает уровень напряжения величиной 0,7 В в точке У. Этого напряжения недостаточно для прямо- го смещения диода 1>4 и перехода Э-Б транзистора Q2» т.е. они останутся закрытыми. Поскольку Q2 закрыт, на базу Q4 ток не поступает, поэтому данный транзистор окажется запертым. На коллекторе Q2 ток также не протекает, поэтому на базе тран- зистора Q3 значение напряжения будет достаточно большим, чтобы сместить в пря- мом направлении транзистор Q3 и диод Di, так что Q3 окажется открытым. Этот транзистор действует как эмиттерный повторитель, потому что вывод X на выходе схемы по существу подключен к его эмиттеру. Так как между точкой X и землей на- грузка не подключена, то значение напряжения V0H будет лежать в интервале от 3,4 до 3,8 В, потому что от напряжения 5 В на базе транзистора Q3 отнимаются два па- дения напряжения по 0,7 В на диоде Dr и переходе Э-Б транзистора Q3. Этот уровень сигнала будет уменьшайся при подключении нагрузки, так как она будет отбирать ток с эмиттера Q3, что приведет к появлению тока базы, протекающему через сопро- тивление на котором падение напряжения увеличивается. Важно заметить, что когда на входе схемы В устанавливается низкий уровень на- пряжения, через него на землю стекает значительный ток ZjL, определяемый номи- налом резистора jRi, который может варьироваться для различных серий. Для стан- дартных серий ТТЛ значение 7IL примерно равно 1,1 мА. Низкий уровень на входе В действует как сток на землю. ✓ Функционирование в режиме нагрузки При наличии низкого уровня сигнала на выходе ТТЛ-схемы, она выполняет функции нагрузки, так как получает ток со входа элемента, которым она управляет. На рис. 8.9 показано, как один элемент схемы на ТТЛ управляет сигналом на входе другого элемента (нагрузки) для двух случаев: когда на выходе имеется 1) высокий уровень напряжения и 2) низкий уровень напряжения. Если на выходе установился низкий уровень, как это показано на рис. 8.9, а, транзистор Q4 открывается и фак- тически замыкает точку X на землю. Сигнал с низки и уровнем в точке X приводит к прямому смешению перехода эмиттер-база транзистора Qlt поэтому ток течет через транзистор Q4, как это показано на рисунке. Таким образом, Q4 работает в качестве нагрузки, поскольку он потребляет часть тока Ль со входа нагрузочного элемента. Мы часто будем называть транзистор Q4 нагрузочным транзистором (current-sinking transistor) или транзистором утечки (pull-down) потому, что через него ток на выхо- де схемы стекает на землю, обеспечивая низкий уровень сигнала. Функционирование в режиме источника тока Если на выходе ТТЛ-схемы установился высокий уровень сигнала, то выход рабо- тает в качестве источника тока. Это показано на рис. 8.9, б, где транзистор Q3 снаб- жает током ZIH транзистор Qb который служит нагрузкой схемы. Как было указано выше, этот ток представляет собой очень малый обратный ток утечки (обычно около 10 мкА). Транзистор Q3 работает в качестве источника тока и называется транзисто- ром установки рабочей точки (pull-up) на Q4. В некоторых более новых сериях ТТЛ- схема, которая служит для установки рабочей точки на нагрузочном транзисторе, включает два транзистора, а не транзистор и диод. Схема с двухтактным выходом Можно сделать несколько умозаключений и касательно двухтактного выхода ТТЛ-схем, который виден на рис. 8.9, так как пока не совсем понятно, зачем он во- обще нужен. Та же логика может быть получена, если убрать транзистор Q3 и диод Z>i, присоединив нижний вывод резистора к коллектору транзистора Q4. Однако такое подключение будет означать, что через Q4 проходит достаточно большой ток 490 Глава 8
насыщения (5 В/130 Ом » 40 мА). Если же в схеме имеется транзистор Q3, то при низком уровне на выходе схемы через резистор R4 ток протекать не будет. Это важ- но, поскольку потребляемая схемой мощность ограничивается. Рис. 8.9. а) Если на выходе ТТЛ-схемы установился низкий уро- вень сигнала, то транзистор работает в качестве нагрузки, потребляя ток с нагрузки; б) если на выходе ТТЛ-схемы устано- вился высокий уровень сигнала, то транзистор Q3 работает в ка- честве источника тока, обеспечивая током нагрузку Семейства логических интегральных микросхем 491
Другое преимущество такой структуры проявляется при наблюдении на выходе схемы высокого уровня сигнала. В этом случае транзистор Q3 работает как эмиттерный повторитель, к которому подключено низкое выходное сопротивление (около 10 Ом). Данная величина сопротивления обеспечивает короткую постоянную во времени при заряде любой емкости нагрузку на выходе схемы. Такая работа (обычно ее называют активной установкой рабочей точки) обеспечивает очень короткие времена нараста- ния фронтов сигналов на выходах ТТЛ-схемы. Недостаток двухтактного выхода проявляется при переходе от низкого уровня напря- жения к высокому. К сожалению, транзистор Q4 закрывается медленнее, чем открывается транзистор Q3, и поэтому в течение нескольких наносекунд оба транзистора открыты и проводят ток. В результате с источника питания +5 В потребляется относительно боль- шой ток (от 30 до 40 мА). Это может вызвать проблему, которая описана ниже. Элемент ТТЛ ИЛИ-НЕ На рис. 8.10 показано строение ТТЛ-элемента ИЛИ-НЕ. Детально работа этой схемы не рассматривается, но будет полезно сравнить ее со схемой элемента И-НЕ, показанного на рис. 8.8. На входе схемы элемент ИЛИ-НЕ не имеет многоэмиттер- ного транзистора, входные сигналы подаются на эмиттеры отдельных транзисторов. Зато на выходе схемы используется точно такое же двухтактное подключение тран- зисторов, как и в схеме элемента И-НЕ. Рис. 8.10. Схема элемента ИЛИ-НЕ Резюме Все ТТЛ-схемы имеют похожую структуру. Элементы И-НЕ и И используют мно- гоэмиттерные транзисторы или несколько диодов на входе; элементы ИЛИ-НЕ и ИЛИ используют отдельные транзисторы. Однако в любом случае на входе имеется катод (n-область) р-п-перехода, поэтому высокий уровень входного напряжения за- крывает переход, в результате чего через него проходит только крайне малый ток утечки (1щ). Естественно, что низкий уровень сигнала открывает р-п-переход, и через него от источника сигнала начинает протекать относительно большой ток (ZjL). Зна- чительная часть ТТЛ-схем имеет выход, построенный в виде двухтактного каскада. Об исключениях, которые иногда встречаются в некоторых устройствах, будет ска- зано далее. 492 Глава 8
Контрольные вопросы .'v . юДОЭД *^вк<ЛЗМлЫМмм I 1. Проверьте истинность высказывания. Если на выходе схемы на ТТЛ наблюда- j ется низкий уровень сигнала, то этот выход будет функционировать в режиме нагрузки по току. 2. В каком состоянии через вход схемы на ТТЛ протекает самый большой ток? 3. Назовите преимущества и недостатки двухтактного подключения транзисторов j на выходе схемы. 4. Какой ТТЛ-транзистор служит нагрузкой в схеме на элементах И-НЕ? 5. Какой ТТЛ-транзистор служит для установки рабочей точки в схеме на элемен- : тах ИЛИ-НЕ? 6. Чем схема на элементах ИЛИ-HE отличается от схемы на элементах И-НЕ? 8.3. Технические характеристики ТТЛ В 1964 году компания Texas Instruments Corporation представила специалистам первые интегральные схемы на стандартных элементах ТТЛ. Серии 54/74, как они были названы, стали представителями одного из самых широко используемых логи- ческих семейств. Мы рассмотрим только 74-ю серию, так как основная разница ме- жду сериями 54 и 74 в том, что устройства серии 54 могут функционировать в более значительном диапазоне температур и значений напряжений от источника питания. Многие производители полупроводниковых изделий до сих пор изготавливают ИС на ТТЛ. Благодаря единой системе маркировки номера основных ИС совпадают у раз- личных производителей. Однако при этом каждый из них обычно добавляет к стан- дартному номеру свой собственный специальный префикс. Например, компания Texas Instruments — префикс SN, компания National Semiconductors использует при- ставку DM, а такой производитель, как Signetics, маркирует свои устройства бук- вой S. Таким образом, в зависимости от производителя один и тот же чип с четырь- мя элементами ИЛИ-HE на борту может маркироваться как DM7402, SN7402, S7402 или другим подобным способом. Наиболее важной частью этой маркировки является номер 7402, который одинаков для всех производителей. В семействе ТТЛ существует несколько серий логических устройств (74, 74LS, 74S и т.д.). Первые стандартные серии и их модернизации уже давно не применяют- ся в новых разработках, поэтому производители не рекомендуют их использовать, однако на рынке эти серии до сих пор пользуются спросом. Более того, понимание характеристик схем, определяющих свойства и ограничения любых логических уст- ройств, легче усваивать именно на стандартных сериях ТТЛ. В данном разделе пред- ставлены некоторые характеристики схем на основе серии улучшенных маломощных ИС на транзисторах Шотки (серии ALS), это поможет читателю разобраться в типич- ной спецификации. Далее будут рассмотрены другие серии ТТЛ и их характеристики. Всю необходимую информацию по той или иной ИС можно найти в специальном листе, на котором указываются технические характеристики данной схемы. Этот лист называется спецификацией. Он может поставляться в виде приложения к руко- водству, на компакт-диске, быть выложен на Web-узле производителя в Internet. Для удобства пользователей компания Texas Instruments снабжает свои изделия специ- альным компакт-диском, на котором приведены все технические характеристики данной ИС. На рис. 8.11 показана спецификация для ИС на элементах И-НЕ серии 74ALS00, где приведены рекомендуемые условия эксплуатации, электрические и коммутационные характеристики. На этом листе можно найти большую часть вели- чин, о которых речь пойдет в данном разделе. Ознакомившись с очередным парамет- ром ИС, мы будем обращаться к этой спецификации, чтобы понять, откуда взялась та или иная величина. Семейства логических интегральных микросхем 493
recommended operating conditions SN54ALS00A SN74ALS00A UNIT MIN NOM MAX MIN NOM MAX VCC Supply voltage 45 5 55 4 5 5 55 V V|H High level input voltage 2 2 V 0 8* 08 VlL Low-level input voltage 0 Z§ V ’он High-level Output cu'rent -0 4 -0.4 mA 'OL Low-level output current 4 8 mA Та Operating free-air temperature -55 125 0 70 C * Applies over temperature range -55’C to 70 C § Appl.es over temperature range 70 C lo 125 C electrical characteristics over recommended operating free-air temperature range unless otherwise noted) PARAMETER TEST CONDITIONS SN54ALS00A SN74ALS00A UNIT MIN TYPt MAX MIN TYPt MAX VlK Vcc = 4 5 V. I| = -’8 mA -1 2 -1 5 V voh VCC - 4 5 V to 5.5 V. Iqh = -0 4 mA VCC-2 VCC ~2 । V vol Vcc ~ 4 5 V IqL - 4 nr A 0 25 04 0 25 04 •OL ~ 8 0 35 05 i VCC “ 5 5 V. = 7V 0.1 0 1 rpA *IH VCCsS5V = 27V 20 20 uA IlL VCC = 5.5 V V| = 0 4 V -0.1 0 1 mA 'o: VCC = 5.5 V. Vq = 2 25 V -20 112 -30 -1'2 mA 'CCH Vcc = 5 5 V V| = o 0 5 0 65 0.5 0 85 mA ’CCL VCC = 5 5 V. V| » 4 5 V 1 5 3 i 5 3 mA T All typical values are at Vcc = 5 V. Тд - 25' C t The output conditions have been chosen to produce a current that closely approximates one half o' 'he true short-circuit output current, qs switching characteristics (see Figure 1) PARAMETER FROM (INPUT) TO (OUTPUT) Vcc = 4.5 V to 5.5 V, CL = 50 pF. R(_ - 500 П. TA - MIN to MAX§ UNIT SN54ALSO0A SN74ALS00A MIN MAX MIN MAX ‘PLH A or В Y 3 15 3 ns IPHL 2 9 2 8 § For conditions sKown as MIN or MAX, use lhe appropriate value spec.Ged under recc'-mended operating condii ons Puc. 8.11. Спецификация для ИС на элементах И-НЕ серии 74ALS00. (Показано с разрешения компании Texas Instruments) Диапазон значений температур и напряжений источника питания Серии 74ALS и 54ALS используют нормальные источники питания (Vcc) с вели- чиной напряжения 5 В, но они также могут выдерживать и разброс значений на- пряжения от 4,5 до 5,5 В. Серия 74ALS спроектирована с расчетом на функциони- рование при температуре окружающей среды от 0 до 70 °C, в то время как ИС серии 54ALS работают при температурах от -55 до 125 °C. Большие допуски по напряже- нию и по температуре устройств серии 54ALS соответственно влияют на их стои- мость. По этой причине ИС 54ALS используются только там, где необходимо обеспе- чить надежное функционирование техники в экстремальных условиях. Примерами такого применения могут служить военная и аэрокосмическая техника. 494 Глава 8
Уровни напряжения На рис. 8.11 показаны логические уровни напряжения на входах и выходах схем серии 74ALS. Эти уровни систематизированы и записаны в табл. 8.3. Минимальные и максимальные значения показаны для наиболее неблагоприятных вариантов зна- чений напряжений источника питания и температуры, а также несогласованной на- грузки. Изучение этой таблицы показывает, что максимальное значение напряже- ния, которое гарантированно будет распознано на выходе схемы как логический О, составляет ИОь = 0,5 В, что на 300 мВ меньше, чем соответствующее напряжение на входе: VIL = 0,8 В. Это означает, что для получения на выходе схемы низкого уровня сигнала гарантированный запас помехоустойчивости составляет 300 мВ: Vnl ~ VIL(max) - VOL(max) = 0,8 В - 0,5 В = 300 мВ. Для того чтобы напряжение на выходе схемы было распознано как логическая 1, нужно чтобы значение напряжения УОн было не менее 2,5 В, а это на 500 мВ больше, чем необходимое значение напряжения логической 1 на входе: VjH = 2,0 В. ^nh = РЬн(тш) “ ^m(min) = 2,5 В - 2,0 В = 500 мВ. Таким образом, гарантированный запас помехоустойчивости при наиболее небла- гоприятных условиях для ИС серии 74ALS составляет 300 мВ. ’.Таблица 8.3.Уровни напряжений для. устройств серии 74ALS Минимальное значение, В Типичное значение, В Максимальное значение, В Vol - 0,35 0,5 Voh 2,5 3,4 - Ml - - 0,8 Ин 2,0 - - Максимальные значения напряжений Значения уровней напряжений, приведенные в табл. 8.3, не включают таких максимальных значений, за пределами которых ИС может быть повреждена. Макси- мальные уровни сигнала, при которых эксплуатация устройства еще безопасна для него, обычно приводятся в верхней части спецификации (на рис. 8.11 не показано). Напряжения, поданные на какой-либо вход устройства серии 74ALS, не должны пре- вышать +7,0 В. Большие уровни напряжения, поданные на эмиттер входного транзи- стора, могут привести к обратному пробивному напряжению перехода Э-Б транзисто- ра Существует также ограничение на максимальное напряжение отрицательной по- лярности, которое может быть подано на вход устройства ТТЛ. Значение такого на- пряжения составляет всего -0,5 В; это вызвано тем фактом, что на входах большин- ства ТТЛ-схем используются защитные шунтирующие диоды. Эти диоды были рас- смотрены ранее, поскольку они не участвуют в работе схемы в нормальном режиме. Такие диоды подключают между каждым из входов и землей, чтобы ограничить от- рицательные уровни напряжения, которые случайно могут появиться на входе схемы в результате претерпевания сигналом переходных процессов в виде затухающих ко- лебаний. Использование таких защитных диодов ограничивает отрицательные ам- плитуды на входах до -0,5 В, а при превышении этой амплитуды по абсолютному значению диоды начнут проводить, и через них потечет значительный ток. В резуль- тате диоды окажутся замкнутыми и выведут из строя вход интегральной схемы. Семейства логических интегральных микросхем 495
Рассеяние мощности Элемент И-НЕ серии ALS, выполненной по транзисторно-транзисторной логике, в среднем потребляет мощность, равную 2,4 мВт. Это значение мощности складывается из двух составляющих: первая определяется током 7ссн = 0,85 мА, а вторая — током ICCL = 3 мА, что в сумме дает ток /сс(средн) “ 1,93 мА. Значение мощности опреде- ляется произведением этого тока на напряжение источника питания: Р^средн) = = 1,93 мА х 5 В = 9,65 мВт. Этого значения мощности хватает для питания всех че- тырех элементов, расположенных на плате, т.е. каждый элемент И-НЕ в среднем по- требляет около 2,4 мВт. Задержки распространения сигнала В спецификации указываются минимальное и максимальное значения задержки распространения сигнала. Если считать, что типичное значение лежит где-то посере- дине, то можно принять tpLH = 7 нс, a tPHL = 5 нс. Типичное среднее значение за- держки распространения сигнала составляет <^(средн) = 6 нс. Пример 8.2 Еще раз вернемся к спецификации, приведенной на рис. 8.11. На борту описанной ИС 74ALS00 размещены четыре элемента И-НЕ, каждый из которых имеет по два входа. Определите максимальное среднее значение рассеиваемой мощности, а также максимальное среднее значение задержки распространения сигнала на одном элементе. Решение Внимательно изучим электрические характеристики ИС при максимальных значе- ниях токов /Ссн и /ссь- Они, соответственно, равны 0,85 мА и 3 мА. Среднее значение тока Ice будет составлять 1,9 мА, а среднее значение мощности определяется произ- ведением этого тока на напряжение источника питания Vcc. В спецификации указа- но, что значения тока 1сс были получены при максимальном напряжении Исс (5,5 В для устройств серии 74ALS). Таким образом, определяем мощность, потребляемую всей интегральной схемой: Р0(средн) = 1,9 мА х 5,5 В = 10,45 мВт. Мощность, рассеиваемую на одном элементе И-НЕ, можно определить, разделив по- лученное значение на количество элементов на плате: Ро(средн) = 2,6 мВт/элемент. Средняя потребляемая мощность была рассчитана исходя из максимальных значений тока и напряжения, поэтому полученная величина будет максимальной средней мощностью, потребляемой элементом И-НЕ интегральной схемы серии 74ALS00 в наиболее неблагоприятных условиях. Разработчики часто используют полученные для таких условий значения, чтобы быть уверенными, что схемы будут функциони- ровать в любых запланированных диапазонах. Максимальные значения задержки распространения сигнала для элемента И-НЕ ин- тегральной схемы серии 74ALS00 составляют £рьн = 11 нс, ^рнь = 8 нс, откуда максимальное среднее значение задержки распространения нс. Это значение соответствует максимально возможной средней величине задержки рас- пространения сигнала при работе схемы в наиболее неблагоприятных условиях. ч 11 + 8 ^(средн) = —g— 496 Глава 8
8.4. Характеристики различных серий ТТЛ Стандартная серия ТТЛ 74 была несколько позднее модернизирована и дала нача- ло некоторым другим сериям. Все они позволяют разместить большое количество простейших элементов и триггеров на плате с малой степенью интеграции (SSI), а на платах со средней степенью интеграции (MSI) — счетчики, регистры, мультиплексо- ры, шифраторы и дешифраторы, а также другие логические устройства. Описанные ниже серии устройств на ТТЛ, часто называемые “подсемействами”, позволяют вы- бирать необходимые свойства интегральных схем в широком диапазоне быстродейст- вия и потребляемых мощностей. Стандартная серия 74 ТТЛ Первые устройства транзисторно-транзисторной логики были выполнены на ИС 74 серии, описанной в разделе 8.2. Эти устройства до сих пор доступны на рынке, но в большинстве случаев их использование будет неоправданным, так как теперь не со- ставляет особого труда найти более новые интегральные схемы, которые намного лучше справятся с поставленной задачей и при этом будут стоить дешевле. Серия 74S ТТЛ на базе транзисторов Шотки Серия 7400 работает, используя режим насыщения транзисторов. По этой причи- не возникает задержка fs, связанная с накоплением заряда в базе транзистора. Она ог- раничивает скорость переключения транзистора из открытого состояния в закрытое. Серия 74S не позволяет транзистору переходить в режим насыщения, тем самым уменьшая время накопления заряда. Новый режим работы возникает благодаря ис- пользованию диода с барьером Шотки (Shottkey Barrier Diode — SBD), который под- ключается между базой и коллектором каждого транзистора таким образом, как это показано на рис. 8.12, а. Диод с барьером Шотки имеет пониженное напряжение прямого смещения — только 0,25 В, поэтому когда в результате напряжения прямо- го смещения переход К-Б транзистора начинает переходить в режим насыщения, ди- од Шотки открывается и забирает на себя часть входного тока, поданного на базу транзистора. В результате избыточный ток на базе уменьшается, а заряд в области базы не успевает накопиться; таким образом, при выключении транзистора задерж- ка, связанная с рассасыванием накопленных носителей заряда, будет намного меньше. Как показано на рис. 8.12, а, комбинация из транзистора и диода с барьером Шотки имеет собственный символ. Этот знак используется для обозначения всех транзисторов на электрической схеме элемента И-НЕ 74S00 (см. рис. 8.12, б). Дан- ный элемент имеет среднюю задержку распространения сигнала всего 3 нс, что в шесть раз меньше, чем для элемента 7400. Обратите также внимание на наличие диодов Dj и D2 между многоэмиттерным транзистором на входе и землей, ограничи- вающих отрицательные напряжения. Схемы серии 74S используют резисторы меньших номиналов, что также помогает уменьшить время переключения. Однако при этом средняя рассеиваемая мощность увеличивается примерно на 20 мВт, т.е. в два раза по сравнению с серией 74. Схемы серии 74S используют пары Дарлингтона (два транзистора, соединенные вместе опре- деленным образом — Qi и Q2), что уменьшает время переключения с высокого уровня на низкий на выходе схемы. Семейства логических интегральных микросхем 497
Рис. 8.12. а) Транзистор Шотки; б) элемент И НЕ ТТЛ-серии типа S Серия 74LS на маломощных транзисторах Шотки ИС серии 74LS представляют собой маломощные, но не очень быстродействующие версии интегральных схем 74 серии. В них также используются транзисторы Шотки, но при этом резисторы схемы имеют большие значения сопротивлений, чем стан- дартная 74 серия. Более высокие значения сопротивлений позволяют уменьшить мощность рассеяния, но это достигается ценой увеличения времени переключения. Элемент И-НЕ серии 74LS обычно имеет среднее время задержки распространения, равное 9,5 нс, и среднюю потребляемую мощность 2 мВт. Серия 74AS на улучшенных транзисторах Шотки Инновации в разработке интегральных схем привели к развитию двух усовершен- ствованных серий на ТТЛ: на улучшенных транзисторах Шотки (74AS) и на мало- мощных улучшенных транзисторах Шотки (74ALS). Интегральные схемы серии 74AS обеспечивают качественное улучшение в быстродействии среди всех серий 74S при минимальных требованиях к мощности источника питания. В табл. 8.4 пред- ставлены сравнительные характеристики элементов И-НЕ различных серий. Приве- денное сравнение ясно показывает преимущества ИС серии 74AS. Они наиболее бы- стродействующие среди всех серий ТТЛ, а их произведение задержки сигнала на мощность рассеяния значительно ниже, чем у любой серии 74S. Интегральные схемы серии 74AS имеют и другие преимущества (например, более низкие входные токи (IIL, /1Н), которые позволяют получить коэффициент разветвления больше, чем у ИС серии 74S). 498 Глава 8
Табли^'8.4^Й/^>^^^4.^ 74S 74AS Задержка распространения 3 нс 1,7 нс Рассеиваемая мощность 20 мВт 8 мВт Произведение задержки сигнала на мощность рассеяния 60 пДж 13,6 пДж Серия 74ALS на маломощных улучшенных транзисторах Шотки Интегральные схемы этой серии обеспечивают улучшенные по сравнению с сери- ей 74LS параметры как по быстродействию, так и по рассеиваемой мощности (об этом свидетельствуют цифры в табл. 8.5). Серия 74ALS имеет самую малую величину произведения задержки сигнала на мощность рассеяния, а также наименьшую удельную мощность рассеяния на один элемент среди всех серий ТТЛ. Таблица 8.5 74LS 74ALS Задержка распространения 9,5 нс 4 нс Рассеиваемая мощность 2 мВт 1,2 мВт Произведение задержки сигнала на мощность рассеяния 19 пДж 4,8 пДж 74F — быстродействующие схемы на ТТЛ Эта серия использует самые новые технологии изготовления интегральных схем, благодаря чему удалось уменьшить паразитные емкости между отдельными устрой- ствами и добиться очень малых задержек, связанных с распространением сигнала в схеме. Типичный элемент И-НЕ имеет задержку распространения всего 3 нс и по- требляет лишь 6 мВт. ИС данной серии обозначаются буквой F; например, ИС 74F06 представляет собой микросхему, состоящую из шести инверторов. Сравнение характеристик ТТЛ различных серий В табл. 8.6 приведены типичные значения некоторых наиболее важных парамет- ров каждой серии ТТЛ. Все указанные показатели, кроме максимальной частоты синхронизации, приведены для элементов И-НЕ соответствующих серий. Макси- мальная частота синхронизации представляет собой наибольшую частоту, с которой сигнал еще способен переключить J-K-триггер из одного состояния в другое. Этот па- раметр оказался удобным средством для измерения частотного диапазона, в котором может функционировать та или иная серия ИС. Таблица З.б^Типичные характеристики серий устройств на ТТЛ 74 74S 74LS 74AS 74ALS 74F Показатели производительности Задержка распространения, нс 9 3 9,5 1,7 4 3 Потребляемая мощность, мВт 10 20 2 8 1,2 6 Произведение задержки сигнала на мощность рас- 90 60 19 13,6 4,8 18 сеяния, пДж Семейства логических интегральных микросхем 499
Окончание табл. 8.6 74 74S 74LS 74AS 74ALS 74F Максимальная частота синхронизации, МГц 35 125 45 200 70 100 Коэффициент разветвления (на ИС той же серии) 10 20 20 40 20 33 Параметры напряжения, В VoH(min) 2,4 2,7 2,7 2,5 2,5 2,5 Vbt(max) 0,4 0,5 0,5 0,5 0,5 0,5 Мн(пи'п) 2,0 2,0 2,0 2,0 2,0 2,0 Mdmax) 0,8 0,8 0.8 0,8 0,8 0,8 Пример 8.3 Пользуясь данными из табл. 8.6, определите запас помехоустойчивости по постоян- ному току для типичной ИС серии 74LS. Сравните полученные величины с соответ- ствующими параметрами стандартных серий ТТЛ. Решение 74LS TZNH = VoH(min) - VIH(min) = 2,7 Е - 2,0 В = 0,7 В; VNL = Г1Ь(тах) - V0L(max) = 0,8 В - 0,5 В = 0,3 В. 74 VNH = 2,4 В - 2,0 В = 0,4 В; VNL = 0,8 В - 0,4 В = 0,4 В. Пример 8.4 Какая серия ТТЛ может управлять наибольшим количеством входов интегральных схем той же серии? Решение Серия 74AS имеет наибольший коэффициент разветвления (40). Это означает, что элемент И-НЕ 74AS00 может управлять логическими уровнями на 40 входах других устройств серии 74AS. Чтобы определить количество входов других серий ТТЛ, уров- ни на которых управляются данным выходом, необходимо знать значения входных и выходных токов обеих серий. Конкретнее об этом будет сказано в следующем разделе. Контрольные вопросы 1. а) Какая серия ТТЛ лучше всего работает на высоких частотах? б) Какая серия ТТЛ имеет наибольшее значение запаса помехоустойчивости в состоянии с высоким уровнем? в) Какая серия ТТЛ морально устарела в связи с появлением новых разрабо- ток? г) Какие серии ИС на ТТЛ используют специальный диод, который помогает уменьшить время переключения? д) ИС какой серии ТТЛ целесообразнее всего применять в схеме, питающейся от батарей, если частота работы схемы равна 10 МГц? 500 Глава 8
2. Предполагая одинаковую стоимость всех серий, определите преимущества счетчика серии 74ALS193 по сравнению со счетчиками 74LS193 и 74AS193 в схеме, работающей с частотой синхронизации 40 МГц. 3. Определите транзисторы нагрузки и установки рабочей точки для схемы серии 74S, изображенной на рис. 8.12. 8.5. Коэффициент нагрузки и коэффициент разветвления в схемах на ТТЛ Важно понимать, что собой физически представляют коэффициенты разветвления и нагрузки интегральной схемы. На рис. 8.13, а показан выход стандартной схемы на ТТЛ, на котором установилось состояние с низким уровнем и который подключен таким образом, что управляет состояниями нескольких входов других ИС на ТТЛ. Транзистор Q4 открыт и функционирует в качестве нагрузки, потребляя ток ZOl» ко- торый является суммой токов Z1L с каждого входа. В открытом состоянии сопротив- ление перехода коллектор-эмиттер транзистора Q4 очень незначительно, но все же не равно нулю, поэтому ток Zol приведет к падению напряжения VOl- Это значение на- пряжения не должно превышать значение ИОь(тах) Данной ИС, что ограничивает максимальное значение тока ZOl и, следовательно, количество нагрузок, которыми управляет данный выход интегральной схемы. Рис. 8.13. Токи на выходе схемы на TTL, которые протекают при управлении несколькими входами о+5 в • +5 В +5 В б) Чтобы проиллюстрировать сказанное, предположим, что все ИС относятся к 74 серии и все значения токов ZIL равны 1,6 мА. Из табл. 8.6 известно, что для схем 74 серии Гостах) = 0,4 В, a V1L(max) = 0,8 В. Пусть для того чтобы на выходе транзи- стора Q4 установилось напряжение ГОь(тах) = 0,4 В, понадобится ток 16 мА. Это значит, что транзистор потребляет ток с 10 нагрузок: 16 мА/1,6 мА = 10. Если же выход ИС подключен к более чем 10 нагрузкам, то значение тока ZOL будет еще больше, а напряжение VOl превысит 0,4 В. Такая ситуация будет нежелательной, по- СЕМЕЙСТВА ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ МИКРОСХЕМ 501
скольку при этом уменьшится запас помехоустойчивости на входах интегральной схемы (VNL = V1L(max) - VOL(max)). Фактически напряжение VOL может превысить значение VIL(max) = 0,8 В и попасть в диапазон неопределенных для ТТЛ-устройств значений. Аналогичная ситуация получается и при установлении на выходе высокого уровня (рис. 8.13, б). В этом случае транзистор Q3 действует в роли эмиттерного повторите- ля, который является источником тока /он- Этот ток представляет собой сумму токов /1Н со всех входов других схем на ТТЛ. Если выход управляет уровнями на слишком большом количестве входов, ток /он станет достаточно большим, чтобы привести к падению напряжения на сопротивлении R2t на переходе эмиттер-база транзистора Q3 и на диоде при этом напряжение Vol опустится ниже VOH(min). Данная ситуация также нежелательна, потому что и в этом случае уменьшится запас помехоустойчи- вости по высокому уровню и напряжение V0H даже может попасть в диапазон неоп- ределенных значений. Подведем итоги: выход схемы, выполненной по транзисторно-транзисторной ло- гике, имеет ограничение по току (/Оь(тах))» который может поступать на него в со- стоянии с низким уровнем. Выход устройства на ТТЛ также имеет ограничение (/он(тах)) по току, который может поступать с него на входы других устройств в со- стоянии с высоким уровнем. Если требуется, чтобы уровни напряжения на выходе не выходили за пределы установленных диапазонов, то эти ограничения не должны быть превышены. Определение коэффициента разветвления Чтобы определить, каким количеством логических уровней на разных входах может управлять один выход ИС, необходимо знать характеристики данного выхода по току в обоих логических состояниях (т.е. /Оь(тах) и /Он(шах)), а также соответст- вующие параметры каждого входа (значения /IL и /jH). Эта информация всегда в той или иной форме содержится в спецификации, предоставленной фирмой-производи- телем конкретной ИС. Следующий пример иллюстрирует похожую ситуацию. Пример 8.5 Сколько входов элемента И-НЕ 74ALS00 может управляться сигналом с одного вы- хода элемента И-НЕ той же серии? Решение Сначала рассмотрим ситуацию, когда на выходе элемента И-НЕ установился низкий уровень сигнала, как это показано на рис. 8.14. Изучив спецификацию элемента 74ALS00, приведенную на рис. 8.11, мы можем записать исходные данные: /оь(тах) = 8 мА; /он(тах) = 0,1 мА. Это означает, что выход элемента 74ALS00 может выдержать ток 8 мА, а каждый вход элемента 74ALS00 может служить источником тока величиной 0,1 мА, посту- пающего обратно на выход предыдущего элемента. Таким образом, количество выхо- дов, уровни на которых могут управляться сигналом с одного выхода данного эле- мента И-НЕ в состоянии с низким уровнем, можно вычислить так: коэффициент разветвления (в состоянии с низким уровнем) = Z0l (max) _ 8 мА ZIL(max) “ 0,1 мА = 80. (Примечание. Значение тока ZIL на самом деле составляет -0,1 мА. Отрицательное значение говорит о том, что ток вытекает со входа замыкающего элемента, однако при вычислении коэффициента разветвления знак можно проигнорировать). При на- блюдении на выходе элемента И-НЕ состояния с высоким уровнем анализ проводим практически так же. Вновь обратимся к спецификации, чтобы выписать значения /он и Лн» игнорируя их знаки: 502 Глава 8
, Л)н(тах) Коэффициент разветвления (в состоянии с высоким уровнем) = lOH(max) = 0,4 мА = 400 мкА, JIH(max) = 20 мкА. Количество управляемых данным выходом входов при наблюдении состояния с вы- соким уровнем составит: 400 мкА “ 20мкА "zu- Если коэффициенты разветвления в различных состояниях не совпадают, как это иногда происходит, нужно выбрать наименьшую полученную величину. Таким обра- зом, выход элемента И-НЕ 74ALS00 может управлять состояниями до 20 входов дру- гих таких же элементов. Рис. 8.14. Пример 8.5 Пример 8.6 Определите, сколько входов элементов И-НЕ 74AS20 может управляться одним вы- ходом такого же элемента. Воспользуйтесь спецификацией с компакт-диска Texas Instruments или табл. 8.7. Таблица 8.7. Показатели по току логических элементов различных cepni' ТТЛ* - Выходы Входы А»н, мА Zdl, мА 4н, мкА 4, мА 74 -0,4 16 40 -1,6 74S -1 20 50 -2 74LS -0,4 8 20 -0,4 74AS —2 20 20 -0,5 74ALS -0,4 8 20 -0,1 74F -1 20 20 -0,6 *Некоторые устройства могут иметь другие параметры. Следует всегда сверяться со спецификацией конкретного устройства Семейства логических интегральных микросхем 503
Решение Спецификация для элемента 74AS20 дает следующие значения показателей по току: /он(тах) = 2 мА, /OL(max) = 20 мА, ZiH(max) = 20 мкА, • /iL(max) = 0,5 мА. Для состояния с высоким уровнем сигнала: . 2 мА коэффициент разветвления (в состоянии с высоким уровнем) = 20 мкА = Для состояния с низким уровнем сигнала: 20 мА коэффициент разветвления (в состоянии с низким уровнем) = q g = 40. Таким образом, общий коэффициент разветвления равен 40, поскольку это наимень- шее из полученных нами значений. Стало быть, один выход элемента 74AS20 может управлять 40 входами других элементов 74AS20. В более старых образцах цифровой техники большинство логических ИС относят- ся преимущественно к одному и тому же семейству. В современных системах, напро- тив, встречаются интегральные схемы самых разнообразных логических семейств. Следовательно, вычисления коэффициентов нагрузки и разветвления нельзя выпол- нить таким же непосредственным методом. Хороший метод для определения коэф- фициента нагрузки на выходе любой цифровой системы состоит в следующем. Этап 1. Сложите значения токов /jH, поступающих со всех входов, подключенных к данному выходу. Полученная сумма не должна превышать требования к току выхода /он» изложенные в спецификации. Эгап 2. Сложите значения токов /IL, поступающих со всех входов, подключенных к данному выходу. Полученная сумма не должна превышать требования к току выхода 10ь» изложенные в спецификации. - В табл. 8.7 показаны, согласно спецификациям, ограничения по входным и вы- ходным токам на простых логических элементах различных семейств ТТЛ. Обратите внимание, что некоторые значения токов отрицательные. Существует договоренность использовать именно отрицательные величины для обозначения направления тока. Положительные величины показывают, что ток втекает в данный узел независимо от того, является ли этот конкретный узел входом или выходом. Отрицательные вели- чины показывают, что ток вытекает из данного узла. Следовательно, все значения /он будут отрицательными, поскольку ток вытекает с выхода схемы, а все значения /оь будут положительными, потому что ток с нагрузки течет на выходной вывод микросхемы по пути на землю. Аналогично, значения /1Н будут положительными, а все значения /IL — отрицательными. При расчете коэффициентов нагрузки и раз- ветвления эти знаки можно игнорировать. Пример 8.7 Выход элемента И-НЕ 74ALS00 управляет логическими уровнями на трех входах элементов серии 74S и одним входом элемента 7406. Определите, не возникнет ли на этом выходе проблема с нагрузкой. Решение а) Сложим вместе все значения токов /1Н: 3(/1Н Для серии 74S) + 1-(/1Н для серии 74). Сумма = 3 (50 мкА) + 1(40 мкА) = 190 мкА. 504 Глава 8
Значение ZOh Для выхода ИС серии 74ALS составляет 400 мкА (максимальная ве- личина), что намного превышает суммарный ток со входов нагрузок (190 мкА). Следовательно, если на выходе установился высокий уровень напряжения, с на- грузкой не возникнет никаких проблем. б) Сложим вместе все значения токов ZIL: 3-(ZIL для серии 74S) + 1(ZIL для серии 74). Сумма = 3 (2 мА) + 1(1,6 мкА) = 7,6 мА. Значение /он Для выхода элемента серии 74ALS составляет 8 мА (максимальная величина), что превышает суммарный ток с нагрузок (7,6 мА). Следовательно, и при низком уровне напряжения на выходе схемы проблем с подключенными на- грузками не возникнет. Пример 8.8 Сигнал с выхода элемента И-НЕ 74ALS00 из примера 8.7 должен управлять несколь- кими входами элементов серии 74ALS, не считая тех нагрузочных элементов, кото- рые уже были описаны в примере 8.7. Сколько дополнительно входов других элемен- тов может управляться сигналом с данного выхода с таким расчетом, чтобы не воз- никло перегрузки? Решение Из расчетов в примере 8.7 видно, что только при наблюдении на выходе состояния с низким уровнем значение выхода приближается к перегрузке. Значение тока Z1L для входа элемента серии 74ALS составляет 0,1 мА. Максимальный ток нагрузки (10ь) равен 8 мА, а расчетное значение тока составило только 7,6 мА (см. пример 8.7). До- полнительный ток, который может потреблять нагрузка, можно найти по формуле: дополнительный ток = /Оь(тах) ~ сумма токов нагрузок (1ц,) = 8 мА - 7,6 мА = 0,4 мА. Сигнал с данного выхода может управлять состояниями еще четырех входов элемен- тов серии 74ALS, поскольку ток с каждого из них равен 0,1 мА. Пример 8.9 Сигнал сброса с выхода инвертора 74AS04 поступает на параллельный регистр, со- стоящий из четырех D-триггеров 74AS74. Какое максимальное количество входов сброса триггеров может управляться сигналом с этого элемента? Решение Спецификация, в которой указываются различные показатели на входах триггера, в общем случае может и не совпадать с данными для входов логических элементов той же серии. Рассмотрим спецификацию элемента 74AS74, приведенную на компакт- диске фирмы Texas Instruments. Значения показателей по току для входа D и входа синхронизации совпадают с соответствующими параметрами остальных логических элементов того же семейства ИС, однако данные для входов установки (PRE) и сбро- са (CLR) несколько отличаются: ZIH = 40 мкА и — 1,8 мА. Элемент 74AS04 имеет следующие показатели: /Он = 2 мА и /Оь = 20 мА. Максимальное количество входов (в состоянии с высоким уровнем) = 2 мА/40» мкА = = 50. Максимальное количество входов (в состоянии с низким, уровнем) = 20 мА/1,8 мА = = 11,11. Таким образом, мы должны ограничить коэффициент разветвления 11 входами сбро- са (CLR). Семейства логических интегральных микросхем 505
Контрольные вопросы 1. Какие факторы влияют на значение тока /0L(max)? 2. Сколькими входами устройств 7407 может управлять сигнал с выхода одного элемента серии 74AS? 3. Что случится, если присоединить выход ТТЛ-устройства к большему количест- ву входов, чем указано в спецификации? 4. Сколько входов СР элементов 74S112 может управляться сигналом с одного выхода элемента 74LS04? С одного выхода элемента 74F00? 8.6. Другие характеристики ТТЛ Есть еще несколько важных характеристик схем на транзисторно-транзисторной логике, которые следует рассмотреть прежде, чем приступить к целенаправленному использованию таких схем в цифровых системах. Неподключенные (плавающие) входы Любой вход ТТЛ-схемы, который не был подключен к другой схеме или элементу (т.е. остался разомкнут), будет функционировать так, как будто на него была подана логическая 1, потому что в любом случае — либо на входе стоит многоэмиттерный транзистор, либо диод — на него не будет подано напряжение прямого смещения. Это значит, что любые неподключенные к какому-то источнику сигнала или земле входы любой ИС на ТТЛ будут себя вести так, как будто на них была подана логиче- ская 1. Часто такие входы называют плавающими. Неиспользуемые входы На практике часто требуется использовать только часть входов ИС на ТТЛ. В ка- честве наиболее распространенного примера можно привести случай, когда для реа- лизации конкретной логической функции нужны не все входы логического элемента. Предположим, что для реализации логической операции АВ мы используем микро- схему с элементом И-НЕ, имеющим три входа. Возможные способы реализации дан- ной функции показаны на рис. 8.15. Неподключенный (плавающий) вход +5 В Рис. 815 Три способа подключения неиспользуемых логических входов в) На рис. 8.15, а неиспользуемый вход оставлен без какого-либо подключения — такое обращение равносильно тому, как если бы на него была подана логическая 1. На выходе элемента И-НЕ получим выражение х = А В1 = А В — результат, ко- 506 Глава 8
торый и требовался. Хотя ответ верен, категорически не рекомендуется оставлять неиспользуемые входы без подключения, потому что такие входы начинают работать как антенна, подбирая случайные помехи в виде излучаемых другими устройствами сигналов, которые могут привести к неправильному функционированию всей схемы. Лучше поступать так, как это показано на рис. 8.15, б. Здесь неиспользуемый вход подключен прямо к источнику питания +5 В через резистор с номиналом 1 кОм, т.е. на плавающий вход подана логическая 1. Сопротивление величиной 1 кОм меж- ду источником питания и входом логического элемента служит для токовой защиты переходов эмиттер-база на входе схемы И-НЕ в случае всплесков напряжения на ис- точнике. Точно такой же способ используется и для элементов И, поскольку логиче- ская 1 на плавающем входе никак не повлияет на состояние на выходе такого эле- мента. Один резистор с номиналом 1 кОм, присоединенный к источнику питания Vcc, может служить токовой защитой одновременно для 30 плавающих входов. Третий способ обращения с неиспользуемым входом изображен на рис. 8.15, в — неиспользуемый вход подключается к используемому. Дополнительное преимущество данного метода заключается в том, что схема, которая управляет состояниями входа В, не будет перегружена по коэффициенту разветвления. Такой способ подключения плавающих входов может быть использован для элементов любого типа. Для элемен- тов ИЛИ и ИЛИ-НЕ неиспользуемые входы нельзя оставлять неподключенными к источнику какого-либо сигнала и подключать к источнику питания +5 В, так как это приведет к появлению на выходе постоянного логического уровня (1 для элемен- та ИЛИ и 0 для элемента ИЛИ-НЕ) независимо от сигналов, поданных на другие входы. Эти элементы следует либо заземлить (т.е. подать 0 В), либо подключить к одному из используемых входов, как это сделано на рис. 8.15, в. Замкнутые входы Если несколько входов одного и того же ТТЛ-элемента соединены друг с другом и составляют одну сигнальную шину (см. рис. 8.15, в), то этот общий вход будет пред- ставлять собой нагрузку, которая является суммой токов нагрузок каждого отдель- ного входа. Единственным исключением будут элементы И НЕ и И. Для этих эле- ментов состояние с низким уровнем на входе будет таким же, как и при наличии только одного входа независимо от того, сколько входов было замкнуто вместе. Чтобы продемонстрировать сказанное более наглядно, предположим, что каждый вход элемента И-НЕ с тремя входами (рис. 8.15, в) имеет ток 7П, = 0,5 мА, a ZIH = 20 мкА. Об- щий вход В будет, соответственно, представлять собой эквивалентную нагрузку, ток которой равен 40 мкА в состоянии с высоким уровнем и 0,5 мА в состоянии с низ- ким, что можно сказать и для элемента И. Но если бы речь шла об элементах ИЛИ либо ИЛИ-НЕ, то вход В представлял бы эквивалентную нагрузку, ток которой был все так же равен 40 мкА в состоянии с высоким уровнем, но уже 1 мА в состоянии с низким уровнем. Причина, по которой все происходит именно так, а не иначе, может быть обнару- жена, если мы вернемся немного назад — к электрической схеме элемента И-НЕ на ТТЛ, показанной на рис. 8.8, б. Значение тока Z1L ограничивается сопротивлением поэтому даже если соединить вместе и заземлить входы А и В, этот ток не изме- нится — он просто разделится надвое и потечет по параллельным ветвям через дио- ды D2 и D3. Однако для элементов ИЛИ и ИЛИ-НЕ ситуация отличается, так как они не имеют в своем составе многоэмиттерного транзистора, а вместо этого располагают отдельными транзисторами на каждом входе (см. рис. 8.10). Пример 8.10 Определите нагрузку, состояние которой управляется сигналом с выхода X схемы, по- казанной на рис. 8.16. Пусть каждый элемент относится к серии 74LS и = 20 мкА, a ZIL = 0,4 мА. Семейства логических интегральных микросхем 507
Нагрузка на выходе элемента 1 высокий уровень низкий уровень Ток нагрузки Элемент Ток нагрузки Элемент 40 мкА 2 0 4 мА 2 20 мкА 3 0,4 мА 3 60 мкА 4 1,2 мА 4 120 мкА Всего 2,0 мА Всего Решение На выходе элемента 1 имеем эквивалентную нагрузку, состоящую из 6 входов эле- ментов серии 74LS в состоянии с высоким уровнем и только из пяти элементов в со- стоянии с низким уровнем. Эта разница вызвана тем, что элемент И-НЕ в состоянии с низким уровнем представляет собой нагрузку, эквивалентную только одному входу. Смещение входов схем ТТЛ в состояние с низким уровнем Иногда случаются ситуации, когда вход схемы на ТТЛ в нормальных условиях должен находиться в состоянии с низким уровнем, а высокий уровень устанавливает- ся с помощью механического ключа. Пример такой схемы проиллюстрирован на рис. 8.17 и представляет собой одновибратор с ключом на входе. Такой одновибратор переключается по положительному фронту, поступающему в момент замыкания ключа. Резистор R служит для того, чтобы на входе Т одновибратора сохранялось со- стояние с низким уровнем сигнала в моменты, когда ключ разомкнут. Необходимо следить за значением сопротивления R, которое должно быть достаточно небольшим, чтобы падение напряжения на нем, вызванное током Ль» вытекающим со входа одно- вибратора на землю, не превышало величину VIL(max). Таким образом, наибольшее значение сопротивления R выбирается из расчета Ль * = VIL(max), _ Уц.(тах) тах Ль (8.3) Рис. 8.17 508 Глава 8
Значение R должно лежать ниже значения Rmaxt чтобы во время размыкания ключа на входе одновибратора установился низкий уровень сигнала. Минимальное значение R определяется током, вытекающим с источника питания +5 В в моменты времени, когда ключ замкнут. На практике этот ток должен быть минимальным, чтобы значение R было очень близким к /?тах. Пример 8.11 Определите приемлемое значение сопротивления R, если одновибратор выполнен на ИС ТТЛ-серии 74LS и значение входного тока составляет ZIL = 0,4 мА. Решение Значение тока не превышает уровня 0,4 мА. Эту максимальную величину мы будем использовать для расчета значения Втах. Из табл. 8.6 определим, что для устройств серии 74LS значение V[L(max) = 0,8 мА, т.е. 0,8 В -Rmax - 0,4 мА “ 2000 Ом’ Хорошим выбором будет резистор с номиналом R = 1,8 кОм, так как это стандартное значение сопротивления резистора. Переходы тока Логические схемы на ТТЛ имеют существенный недостаток, который заключается в формировании внутренних всплесков и выбросов токов, что вызвано двухтактной структурой выхода схемы. Когда состояние выхода изменяется из состояния с низ- ким уровнем сигнала в состояние с высоким (см. рис. 8.18), оба транзистора на вы- ходе также меняют свои состояния: Q3 открывается, a Q4, наоборот, закрывается. Транзистор Q4 находится в состоянии насыщения, поэтому для его переключения в другое состояние понадобится больше времени, чем для Q3. Таким образом, во время переходных процессов возникает короткий интервал времени (около 2 нс), в который оба транзистора находятся в проводящем состоянии, и с источника питания потреб- ляется относительно большой ток (от 30 до 50 мА). Продолжительность переходных процессов может затягиваться в случае наличия емкости нагрузки на выходе схемы. Эта емкость складывается из паразитной монтажной емкости и входной емкости на- грузки. Емкость заряжается до напряжения высокого уровня во время изменения со- стояния на выходе схемы. Общий эффект можно описать таким образом: когда выход ТТЛ-схемы с двухтактной структурой переходит из состоя- ния с низким уровнем в состояние с высоким, возникает всплеск тока, идущий от источника питания Vcc. В сложной цифровой схеме или системе одновременно может быть множество со- стояний на разных выходах схемы, при этом каждый из них приводит к появлению узкого всплеска тока, идущего от источника питания. Вследствие накопления всех таких всплесков тока может возникнуть выброс напряжения на общей шине источ- ника питания Vcc. Обычно это происходит из-за распределенной емкости шины пи- тания (V = L(di/dt) и при длительности пика напряжения всего в 2 нс значение di/dt становится очень большим). Выброс напряжения может привести к серьезным сбоям в работе схемы в моменты переходных процессов, если не будут использоваться раз- личные методы фильтрации. Наиболее распространенный метод состоит в подключе- нии между источником питания Vcc и землей конденсаторов небольшой емкости, ра- ботающих на радиочастотах и предназначенных для того, чтобы “замкнуть” высоко- частотные выбросы на землю. Такой способ устранения всплесков называется развязкой источника питания. Обычно на практике используются керамические дисковые конденсаторы с емко- стями 0,01 или 0,1 мкФ, имеющие малые значения индуктивности. Их подключают Семейства логических интегральных микросхем 509
между источником питания VCQ и землей возле каждой ИС на печатной плате уст- ройства. Выводы конденсаторов делают очень короткими, чтобы избежать влияния последовательно включенных паразитных емкостей. Следует добавить, что на каждой плате между источником питания и землей при- соединяют еще один конденсатор большой емкости (от 2 до 50 мкФ), чтобы отфильт- ровывать низкочастотные колебания напряжения источника питания, вызванные большими изменениями уровней тока Ice во время переходных процессов при пере- ключении состояний схемы. Рис. 8.18. Большой всплеск тока, идущий от источника питания во время изменения на двухтактном выходе схемы уровня напряжения с низкого на высокий Контрольные вопросы 1. Какое состояние установится на выходе элемента И-НЕ на ТТЛ, все входы ко- торого никуда не подключены? 2. Назовите два способа правильного обращения с плавающими входами элемента И. 3. Повторите вопрос 2 для элемента ИЛИ-НЕ. 4. Проверьте истинность высказывания. Если входы элемента И-НЕ связаны вместе, они представляют собой одну нагрузку для источника сигнала. 5. Что такое развязка источника питания? Для чего она используется? 8.7. МОП-технология Технология МОП (металл-оксид-полупроводник) получила свое название благода- ря базовой структуре, состоящей из металлического электрода, отделенного от полу- проводниковой подложки слоем оксида, который служит изолятором. Транзисторы, выполненные по МОП-технологии, работают на эффекте электрического поля и на- зываются канальными полевыми МОП-транзисторами (Metal-Oxide-Semiconductor Field-Effect Transistor — MOSFET) или, кратко, полевыми транзисторами. Электри- 510 Глава 8
ческое поле на металлическом электроде около оксидного изолятора влияет на со- противление подложки. Большинство цифровых ИС, выполненных по МОП-техноло- гии, целиком состоят из одних только полевых транзисторов и не включают больше никаких элементов. Основные преимущества полевых транзисторов заключаются в том, что они отно- сительно просты в изготовлении, недорогие, достаточно малы и потребляют крайне мало энергии. Изготовление биполярных транзисторов (на ТТЛ, ЭСЛ и т.п.) прибли- зительно в три раза сложнее по сравнению с изготовлением ИС на МОП. Устройства на МОП занимают намного меньше места на кристалле, чем их биполярные аналоги, но самое важное преимущество полевых транзисторов состоит в том, что в цифровых ИС на МОП обычно совсем не используются резисторы, благодаря чему экономится место на кристалле. Таким образом, ИС на МОП могут содержать намного большее количество схем- ных элементов на одной печатной плате, чем биполярные ИС. Это преимущество подтверждается еще и тем фактом, что именно ИС на МОП преобладают над бипо- лярными ИС в области применения схем с высокой степенью интеграции (LSI и VLSI). Большая плотность упаковки ИС на МОП сделала их в высшей мере подхо- дящими для построения таких сложных систем, как микропроцессор или микросхе- мы памяти. Дальнейшее развитие МОП-технологии привело к появлению устройств, которые превосходят по быстродействию серии ТТЛ 74, 74LS и 74ALS при сравни- мых характеристиках по току. В результате устройства на МОП (более конкретно — на КМОП) практически вытеснили ТТЛ на рынках схем с малой (SSI) и средней (MSI) степенями интеграции. Серия 74AS ТТЛ все еще такая же быстродействующая, как и лучшие структуры на КМОП, но это достигается ценой намного большей мощ- ности рассеяния. Основной недостаток устройств на МОП — их чувствительность к зарядам стати- ческого электричества. Хотя негативное влияние статического электричества можно уменьшить надлежащим обращением, ТТЛ до сих пор прочно занимает свои позиции в лабораторных экспериментах. При изучении цифровой схемотехники читатель еще не раз столкнется с устройствами на ТТЛ. Полевой канальный МОП-транзистор В настоящее время на рынке имеются два основных типа полевых транзисторов: работающие в режиме обогащения {enhancement) и работающие в режиме обеднения {depletion). В цифровых ИС на МОП используются исключительно полевые транзи- сторы с режимом обогащения, поэтому в данной книге будут рассмотрены только они. Более того, внимание будет уделено лишь основам функционирования этих транзисторов в качестве ключевых элементов схемы. Затвор Исток N-канал Сток Затвор Исток Р-канал Рис. 8.19. Символы, которыми обозначаются полевые тран зисторы, работающие в режиме обогащения На рис. 8.19 показаны символы, которыми обозначаются n-канальный и р- канальный полевые транзисторы, работающие в режиме обогащения. Направление Семейства логических интегральных микросхем 511
стрелки указывает, к какому типу — n-канальному или р-канальному — относится данный транзистор. Между истоком и стоком символ имеет разрывы, которые по- казывают, что в нормальных условиях между этими электродами нет контакта. Не- большое расстояние между затвором и остальными электродами показывает, что ок- сидный слой и канал между ними имеют очень большое сопротивление (обычно око- ло IO1* Ом), обусловленное свойствами подложки. Ключи на полевых транзисторах На рис. 8.20 показано, как работает ключ на n-канальном полевом транзисторе. В случае использования такого транзистора сток относительно истока всегда смещен положительно. Напряжение Узи затвор-исток — это входное напряжение, с помощью которого управляют сопротивлением между стоком и истоком (т.е. сопротивлением канала); именно эта величина определяет, открыт ключ или закрыт. VDD Рис. 8.20. Различные состояния ключа на n-канальном полевом транзисторе Если напряжение Узи = 0, то между стоком и истоком проводимость низкая, т.е. канал не наведен, а ключ разомкнут (рис. 8.20, б). Обычно сопротивление канала в закрытом состоянии составляет около 1О10 Ом, что в большинстве случаев эквива- лентно тому, как будто ключ разомкнут вообще. Полевой транзистор будет нахо- диться в запертом состоянии до тех пор, пока напряжение Узи равно нулю или отри- цательно. Однако как только Узи становится положительным (смещение на затворе относительно истока) и превышает определенное пороговое напряжение V?, между стоком и истоком начинает формироваться проводящий канал. Обычно для п- канального транзистора пороговое напряжение V? = +1,5 В, т.е. при достижении ус- ловия Узи £1,5 В транзистор перейдет в проводящее состояние. Как правило, значе- ние F3ll выбирается намного большим, чем пороговое напряжение, чтобы полностью открыть транзистор. На рис. 8.20, в значение Узи = +5 В, а сопротивление канала между стоком и истоком сильно падает и составляет всего Нвкл = 1000 Ом. По существу, n-канальный полевой транзистор переключается из состояния с очень большим сопротивлением в состояние с малым в тот момент, когда напряже- ние на затворе меняет свой уровень с низкого на высокий. Можно представить поле- вой транзистор в виде ключа между стоком и истоком, который либо закрыт, либо открыт. Точно так же функционирует р-канальный полевой транзистор, только он исполь- зует напряжение противоположной полярности. Сток р-канального транзистора под- ключается к источнику питания -VDD, поэтому он смещается отрицательно относи- тельно истока. Чтобы открыть р-канальный транзистор, необходимо подать на его 512 Глава 8
затвор отрицательное напряжение, которое по модулю опять же превышает пороговое напряжение Ут. Ключевые характеристики р- и n-канальных полевых транзисторов даны в табл. 8.8. Таблица 8.8 .. . Смещение сток- исток Напряжение затвор-исток (кзи), Л’.кл, Ом Ом необходимое для формирования проводящего канала р-канальный Отрицательное Отрицательное; обычно по модулю 1000 (обычно) 1О10 больше, чем —1,5 В n-канальный Положительное Положительное; обычно больше, 1000 (обычно) 1О10 чем +1,5 В 8.8. Цифровые схемы на полевых транзисторах Цифровые схемы, использующие полевые транзисторы, можно разбить на три ка- тегории: 1) P-МОП, которая использует только р-канальные полевые транзисторы, работающие в режиме обогащения; 2) N-МОП, которая использует только п-каналь- ные полевые транзисторы, также работающие в режиме обогащения; 3) КМОП (сокращ. от комплементарная МОП-структура), использующая как р-канальные, так и n-канальные полевые транзисторы. Рис. 8.21. Инвертор на п-МОП VBX Qi О2 VBblX - V X ОВ (логический 0) RcTKP” 100 кОм ^ЗАКР = Ю10Ом +5 В (логическая 1) +5 В (логическая 1) %ТКР ~ 100 кОм Ноткр = 1 кОм +0,05 В (логический 0) Схемы на n-МОП содержат n-канальные полевые транзисторы в качестве ключе- вых элементов и резисторов (используется внутреннее сопротивление канала при подключении затвора к стоку — транзистор постоянно открыт). На рис. 8.21, а пока- зана схема инвертора на п-МОП. Транзистор Qx служит в качестве нагрузочного ре- Семейства логических интегральных микросхем 513
зистора с сопротивлением около 100 кОм, а транзистор Q2 открывается и запирается в зависимости от напряжения, поданного на затвор (VBX). На рис. 8.21, б приведены параметры схемы в обоих состояниях. Схемы на p-МОП работают точно так же, но, естественно, используют р-канальные полевые транзисторы. Простота таких схем и легкость процессов изготовления вывела их на лидирующие позиции на рынке ИС с большой и сверхбольшой степенями интеграции. Преимущества по быстродействию и потребляемой мощности, обеспечиваемые современными технологиями изготовления КМОП-структур, позволили им занять передовые позиции на всех уровнях интеграции. 8.9. Комплементарная МОП-логика Семейство комплементарной МОП-логики (КМОП) использует сразу оба вида по- левых транзисторов в одной схеме: р-канальные и n-канальные. При этом реализу- ются преимущества обоих структур. Иначе говоря, схемы на КМОП функционируют быстрее и потребляют меньше энергии, чем другие МОП-структуры. Эти преимуще- ства, однако, несколько омрачаются тем фактом, что технологический процесс изго- товления схем на КМОП сложнее других, КМОП также отличается более низкой плотностью упаковки. Инвертор на КМОП Схема базового инвертора на КМОП показана на рис. 8.22. На этой и последую- щих электрических схемах стандартные символы полевых транзисторов заменены квадратами, обозначенными латинскими буквами р и п, которые показывают, к ка- кому типу проводимости относится данный транзистор. Это сделано только для удоб- ства при анализе схемы. Инвертор на КМОП состоит из двух полевых транзисторов, последовательно соединенных таким образом, что исток р-канального транзистора подключен к источнику питания положительной полярности +VDD, а исток п- канального транзистора подключен к земле*. Затворы обоих транзисторов соединены вместе и представляют общий вход. Стоки также соединены друг с другом и состав- ляют общий выход схемы. Логические уровни для схем на КМОП равны +VDD в случае логической 1 и 0 В в случае логического 0. Рассмотрим ситуацию, когда на вход инвертора подана логиче- ская единица, т.е. VbX = +VDD. В этом случае затвор транзистора Qj (р-канального) будет иметь нулевой потенциал относительно своего истока. Таким образом, Qj будет заперт, и его сопротивление Двыкл ~ 1О10 Ом. Затвор транзистора Q2 (п-канального) будет иметь потенциал +VDD относительно истока, поэтому Q2 будет открыт и его со- противление составит 7?вкл ~ 1 кОм. Деление напряжения между сопротивлением Ввыкл транзистора Qj и сопротивлением Явкл транзистора Q2 приведет к появлению на выходе схемы напряжения Гвых » 0 В. Теперь рассмотрим случай, когда VBX = 0 В. Затвор транзистора Qi будет иметь отрицательный потенциал относительно своего истока, но напряжение затвор-исток транзистора Q2 будет равно V3H = 0 В. Следовательно, Qi будет открыт и его сопро- тивление будет равно 7?вкл х 1 кОм, a Q2 будет заперт и его сопротивление 7?выкл * 1О10 Ом. При этом на выходе схемы возникает напряжение величиной приблизительно +VDD. Эти два состояния схемы еще раз представлены в таблице на рис. 8.22, б, где иллюстрируется работа приведенной схемы в качестве логического инвертора. * Большинство изготовителей маркируют данный вывод как Vss. 514 Глава 8
Рис. 8.22. Базовый инвертор на КМОП VBX Qi О2 ^вых +VDD (логическая 1) ЗАКРЫТО Взакр = Ю10Ом ОТКРЫТО ^откр= 1 кОм = 0В ОВ (логический 0) ОТКРЫТО ^ОТКР = 1 кОм ЗАКРЫТО Яздкр = Ю10Ом = +VDD Vbwx= vbx Элемент И-НЕ на КМОП С помощью модификации базового элемента КМОП — инвертора — можно по- строить и другие элементы, выполняющие те или иные логические функции. На рис. 8.23 показан элемент И-НЕ, реализованный на базе инвертора, к которому до- Рис. 8.23. Элемент И-НЕ на КМОП >-Х=АВ А низкий низкий высокий высокий в низкий высокий низкий высокий X высокий высокий высокий низкий Семейства логических интегральных микросхем 515
бавлены параллельно включенный р-канальный и последовательно включенный п- канальный полевые транзисторы. Чтобы проанализировать данную схему, надо учесть, что нулевое входное напряжение включит соответствующий р-канальный транзистор и выключит n-канальный, и наоборот — напряжение +VDD откроет п- канальный, закрыв р-канальный транзистор. Таким образом, единственный случай, в котором на выходе схемы появится низкий уровень напряжения, будет иметь место только тогда, когда на оба входа, Л и В, будут поданы высокие уровни сигналов (+VDD), которые откроют оба n-канальных транзистора, в результате чего сопротив- ление между выходным выводом и землей станет низким, и потенциалы этих точек уравняются. Во всех других ситуациях на входе как минимум один р-канальный транзистор будет открыт и как минимум один п-канальный транзистор будет заперт. При этом на выходе будет наблюдаться высокий уровень напряжения. Элемент ИЛИ-НЕ на КМОП Элемент ИЛИ-НЕ на КМОП состоит из инвертора, к которому добавлены последо- вательно включенный р-канальный и параллельно включенный n-канальный поле- вые транзисторы, как это показано на рис. 8.24. Следует обратить внимание на то, что при установлении на любом из входов низкого уровня сигнала открывается соот- ветствующий р-канальный и закрывается n-канальный полевой транзистор, и наобо- рот — в случае установления на входе высокого уровня. Теперь читателю осталось только самостоятельно убедиться в том, что данная схема работает в качестве эле- мента ИЛИ-НЕ. Х = А+В Рис. 8.24. Элемент ИЛИ-НЕ на КМОП А низкий низкий высокий высокий в низкий высокий низкий высокий X высокий низкий низкий низкий 516 Глава 8
Элементы И и ИЛИ на КМОП можно построить, комбинируя элементы И-НЕ и ИЛИ-HE с инверторами. RS-триггер на КМОП Из двух элементов ИЛИ-HE или И-НЕ на КМОП можно построить простую RS- защелку, если объединить их с помощью перекрестной связи. Дополнительная схе- мотехника позволяет превратить RS-защелку в синхронный D-триггер или J-K- триггер. ; Контрольные вопросы 1. Чем отличается внутренняя структура КМОП-логики от п-МОП? 2. Из какого количества р-канальных полевых транзисторов состоит инвертор на КМОП? 3. Из какого количества полевых транзисторов состоит элемент И-НЕ с тремя входами на КМОП? 8.10. Характеристики различных серий ИС на КМОП Семейство ИС на КМОП успешно конкурирует с транзисторно-транзисторной ло- гикой в областях применения ИС с малой и средней степенями интеграции (SSI и MSI). Постепенно, с улучшением параметров, определяющих быстродействие инте- гральных схем, технология КМОП мало-помалу стала доминировать на рынке элек- тронных устройств, так долго занимаемом ТТЛ. Устройства на ТТЛ еще будут ветре чаться достаточно долго, но все больше и больше образцов нового цифрового оборудо- вания используют логические схемы на КМОП. ИС на КМОП позволяют не только использовать все те логические функции, ко- торые были доступны ТТЛ, но и предлагают еще несколько специальных функций, являющихся новинкой. Изготовители ИС постоянно искали новые технологические решения и с течением времени было разработано несколько различных серий КМОП. Далее будут представлены их характеристики, однако сперва полезно ознакомиться с терминами, которые используются в тех случаях, когда ИС различных семейств и серий работают вместе или заменяют друг друга. Совместимый по выводам. Две ИС совместимы по выводам, если они имеют одинаковую конфигурацию выводов. Например, вывод 7 на обеих ИС обозначает землю, а вывод 1 — вход первого инвертора. Функциональный эквивалент. Две ИС функционально эквивалентны друг другу, если логические функции, которые они осуществляют, в точности совпадают. Например, обе схемы содержат по четыре элемента И-НЕ с двумя выводами ка- ждый или обе схемы содержат шесть D-триггеров, которые переключаются по положительному фронту сигнала синхронизации. Электрически совместимые. Две ИС электрически совместимы, если их можно непосредственно подключить друг к другу без каких-либо специальных мер для обеспечения их правильной работы. Семейства логических интегральных микросхем 517
Серии 4000/14000 Наиболее старая серия КМОП — серия 4000, впервые представленная компанией RCA (Radio Corporation of America), функциональный эквивалент данной серии — серия 14000 компании Motorola. Устройства серий 4000/14000 имеют очень незначи- тельную мощность рассеяния и могут функционировать в широком диапазоне на- пряжений источника питания (от 3 до 15 В). Однако по сравнению с устройствами на ТТЛ и другими сериями КМОП они очень медленные и обеспечивают очень малые значения выходного тока. К тому же эти серии не совместимы ни по выводам, ни электрически ни с одной серией ТТЛ. Именно поэтому устройства серий 4000/14000 редко используются в новых разработках, за исключением тех случаев, когда на их базе доступна какая-то специализированная ИС, аналога которой нет в других сериях. Серия 74С Эта серия КМОП совместима по выводам и функционально эквивалентна устрой- ствам ТТЛ с таким же номером. Например, ИС 74С74 представляет собой двойной D- триггер, переключающийся по фронту синхроимпульса. Схема имеет такую же кон- фигурацию выводов, что и двойной D-триггер, переключающийся по фронту синхро- импульса на основе ИС 7474 на ТТЛ. Многие функции, доступные на базе устройств на ТТЛ, также доступны и на базе этой серии, что дает возможность заменить неко- торые схемы на ТТЛ эквивалентными разработками на КМОП. Характеристики бы- стродействия серии 74С приблизительно такие же, как и у серии 4000. Серии 74НС/НСТ (быстродействующие КМОП-структуры) Теперь рассмотрим усовершенствованную версию серии 74С, которая имеет деся- тикратный перевес по скорости переключения, сравнимый с быстродействием уст- ройств серии 74LS, а также намного больший выходной ток, чем у серии 74С. Инте- гральные схемы серии 74НС/НСТ функционально эквивалентны ИС на ТТЛ с тем же номером серии и совместимы с ними по выводам. Устройства серии 74 НСТ (в отли- чие от устройств серии 74НС) электрически совместимы с ТТЛ. К примеру, микро- схема 74НСТ04 с шестью инверторами на борту может заменить микросхему 74LS04 и наоборот. Это также говорит о том, что ИС серии 74НСТ можно непосредственно присоединять к любой ИС на ТТЛ. Появление устройств этих двух серий сделало се- рию 74С ненужной. Серии 74АС/АСТ (улучшенные КМОП-структуры) Эти две серии часто называют ACL (Advanced CMOS Logic — улучшенная КМОП- логика). Они функционально эквивалентны различным сериям ТТЛ, но не совмести- мы с ними по выводам. Такая частичная несовместимость вызвана тем, что располо- жение выводов на ИС серий 74АС и 74АСТ выбрано таким образом, чтобы умень- шить чувствительность к шумам, поэтому входы такого устройства менее чувстви- тельны к изменениям сигналов на других выводах. Устройства серии 74АС электрически несовместимы с ТТЛ, а серии 74АСТ, наоборот, можно непосредственно присоединять к ИС на ТТЛ. Логика ACL имеет преимущества по сравнению с серией НС по устойчивости к шумам, задержке распространения сигнала и максимальной частоте синхронизации. Нумерация устройств этих двух серий слегка отличается от маркировки уст- ройств на ТТЛ и серий 74С и 74НС/НСТ на КМОП. Для нумерации используется пя- 518 Глава 8
тиразрядный номер, который начинается с цифр 11. Вот несколько примеров такой нумерации: 74АС11004 = 74НС04 74АСТ11293 s 74HCT29S. Серии 74АНС/АНСТ (улучшенные быстродействующие КМОП-структуры) Эти серии КМОП представляют собой естественный переход от серии НС к более быстродействующим, маломощным устройствам с малыми значениями рабочего то- ка. ИС этих серий в три раза быстрее и могут быть использованы в качестве прямой замены серии НС. Они обладают такой же низкой чувствительностью к шумам, но не имеют проблем, связанных с выбросами напряжения различной полярности, которые часто возникают в случае высоких значений рабочего тока, необходимых для того, чтобы добиться приемлемой скорости. Биполярная КМОП-логика Несколько изготовителей ИС разработали новую логику, которая объединяет наи- лучшие характеристики биполярной и КМОП-логик — биполярную КМОП-логику (BiCMOS). Были сведены вместе малая мощность рассеяния схем на КМОП и высокое быстродействие биполярных схем, что в результате позволило получить логическое семейство с крайне малой мощностью потребления и отличной скоростью работы. Интегральным схемам на биполярной КМОП-логике не доступны большинство функ- ций, которые обычно реализуются в схемах с малой и средней степенями интегра- ции, но они успешно используются в микропроцессорах и шинных интерфейсах в качестве защелок, буферов, драйверов и приемопередатчиков. Серия 74BST (BiCMOS Bus-Interface Technology — технология шинного интерфейса на биполярной КМОП- логике) позволяет добиться 75%-ного уменьшения потребляемой энергии по сравне- нию с серией 74F, при этом серия 74BST обладает такими же скоростями и рабочими значениями тока. Схемы этой серии совместимы по выводам со схемами на ТТЛ, из- готовленными по промышленным стандартам, и функционируют на стандартных уровнях напряжения в 5 В. Серия 74АВТ (Advanced BiCMOS Technology — улучшен- ная биполярная КМОП-технология) представляет второе поколение устройств шинно- го интерфейса на биполярной КМОП-логике. Более подробно эта логика будет рас- смотрена в следующих разделах. Напряжение источника питания Устройства серий 4000/14000 и 74С функционируют с напряжениями питания Fdd, значения которых могут изменяться от 3 В до 15 В, — это делает их в высшей степени универсальными. Данные устройства могут быть использованы в схемах с питанием от батарей, в которых добиться высоких значений напряжения довольно проблематично, в стандартных схемах с питанием 5 В, а также в схемах с повышен- ными значениями напряжения, которые позволяют увеличить запас помехоустойчи- вости для функционирования в сильно зашумленной среде. Серии 74НС/НСТ, 74АС/АСТ и 74АНС/АНСТ работают в намного более узком диапазоне значений на- пряжений питания (обычно от 2 до 6 В). Сегодня также доступны и другие логические серии, спроектированные для рабо- ты с более низкими напряжениями питания (т.е. 2,5 или 3,3 В). Когда в одной циф- ровой системе требуется соединить вместе устройства, рассчитанные на разные на- пряжения питания, необходимо принять специальные меры. Низковольтные устрой- ства, а также методика использования схем интерфейса будут рассмотрены позднее. Семейства логических интегральных микросхем 519
Логические уровни напряжения Уровни напряжения на входе и выходе будут разными для разных серий КМОП. В табл. 8.9 перечислены значения этих напряжений для различных серий КМОП и ТТЛ. Значения в таблице приведены из расчета, что все устройства функционируют от источника питания 5 В, а логические уровни на выходах всех устройств управля- ют состояниями входов ИС того же семейства. Таблица Й.Э. Уровни входных/выходных напряжений (в вольтах) при Параметр КМОП ТТЛ 4000В 74НС 74НСТ 74АС 74АСТ 74АНС 74АНСТ 74 74LS 74AS 74ALS У/Н(ггнп) 3,5 3,5 2,0 3,5 2,0 3,85 3,85 2,0 2,0 2,0 2,0 Чц(тах) 1,5 1,0 0,8 1,5 0,8 1,65 0,8 0,8 0,8 0,8 0,8 Уон(тт) 4,95 4,9 4,9 4,9 4,9 4,4 3,15 2,4 2,7 2,7 2,5 Noi(max) 0,05 0,1 0,1 0,1 0,1 0,44 0,1 0,4 0,5 0,5 0,5 Vnh 1,45 1,4 2,9 1,4 2,9 0,55 1,15 0,4 0,7 0,7 0,7 Vwz. 1,45 0,9 0,7 1,4 0,7 1,21 0,7 0,4 0,3 0,3 0,4 В таблице показано несколько важных моментов. Во-первых, обратите внимание, что для устройств на КМОП значение V0L очень близко к О В, а значение УОн — к 5 В. Причина заключается в том, что выходы устройств на КМОП не могут потреблять или, наоборот, формировать значительные токи, если они управляют логическими состояниями входов других КМОП-устройств с очень большими значениями входного сопротивления (1012 Ом). Также обратите внимание на то, что за исключением серий 74НСТ и 74АСТ, требуемые уровни входного напряжения больше для ИС на КМОП, чем для ТТЛ. Напомним, что серии 74НСТ и 74АСТ были специально разработаны, чтобы быть электрически совместимыми с устройствами на ТТЛ, поэтому они долж- ны работать с такими же уровнями входного напряжения, как ИС на ТТЛ. Запас помехоустойчивости В табл. 8.9 даны значения запасов помехоустойчивости для некоторых серий КМОП и ТТЛ. Значения запасов были рассчитаны согласно таким формулам: Vnh = VoH(min) - FIH(min), VNL = ^iL(max) - VOL(max). Обратите внимание, что запас помехоустойчивости для устройств на КМОП в об- щем случае больше, чем для устройств на ТТЛ. Разница становится еще ощутимее, если устройства на КМОП функционируют от источника питания с напряжениями больше, чем 5 В. Мощность рассеяния Когда логическая схема на КМОП находится в статическом состоянии (не меняет свои логические уровни), ее мощность рассеяния очень мала. Чтобы найти причину такого свойства, необходимо изучить схемы, приведенные на рис. 8.22-8.24. Обрати- те внимание, что независимо от состояния на выходе между выводами и землей всегда присутствует очень высокое сопротивление, так как на пути тока всегда нахо- дится закрытый полевой транзистор. Это приводит к тому, что для устройств на КМОП типичная мощность рассеяния по постоянному току составляет только 520 Глава 8
2,5 нВт/элемент при VDD = 5 В; даже при VDD = 10 В эта мощность будет составлять всего 10 нВт. Если принять во внимание полученные значения средней потребляемой мощности PD, становится ясно, почему устройства на КМОП идеально подходят для тех областей применения, где используется питание от батарей. Увеличение Ро с ростом частоты Мощность рассеяния ИС на КМОП крайне низкая, если дело касается работы с постоянным током. К сожалению, значение Pd увеличивается пропорционально часто- те, с которой происходит переключение состояний на выходе схемы. Например, эле- мент И-НЕ на КМОП имеет PD = 10 нВт в условиях постоянного тока, PD = 0,1 мВт на частоте 100 кГц и 1 мВт на частоте 1 МГц. На рис. 8.25 проиллюстрировано, почему имеет место такая зависимость средней мощности рассеяния от частоты. Рис. 8.25. Каждый раз, когда на выходе схемы уровень напряжения изменяется с низко- го на высокий, от источника питания Vdd ток идет в виде пиков. Такая форма тока объясняется зарядом емкости нагрузки Каждый раз, когда на выходе КМОП-схемы уровень напряжения изменяется с низкого на высокий, возникает кратковременный импульс тока, который должен за- рядить емкость нагрузки. Эта емкость состоит из входных емкостей нагрузок, подклю- ченных к выходу, а также собственной емкости выхода. Узкие пики тока идут от ис- точника питания KDD и обычно имеют амплитуду 5 мА и длительность от 20 до 30 нс. Ясно, что при увеличении частоты переключения состояний на выходе схемы за пе- риод времени произойдет больше подобных выбросов тока, следовательно, увеличит- ся средний ток, потребляемый от источника питания VDD. Даже если совокупная ем- кость всех нагрузок будет очень мала и ею можно будет пренебречь, есть еще корот- кое мгновение во время перехода уровней напряжения с низкого на высокий или с высокого на низкий, во время которого оба транзистора на выходе схемы будут одно- временно частично открыты. Этот эффект значительно снижает сопротивление уча- стка схемы между источником и землей, также вызывая выбросы тока. Таким образом, на более высоких частотах КМОП теряет некоторые свои пре- имущества перед остальными логическими семействами. Можно сформулировать простейшее правило: элемент на КМОП имеет ту же самую среднюю мощность рас- сеяния PD, что и элемент серии 74LS на частотах до 2 - 3 МГц. На более высоких частотах увеличивается и мощность рассеяния устройств на ТТЛ, так как для пере- зарядки емкостей нагрузки потребуется определенный ток. Для устройств на ИС со средней степенью интеграции (MSI) ситуация несколько сложнее, поэтому разработ- чик логических схем должен будет провести детальный анализ, чтобы определить, будет ли иметь схема на КМОП преимущества по мощности рассеяния на конкретной рабочей частоте. Семейства логических интегральных микросхем 521
Коэффициент разветвления Подобно входам устройств на N-МОП и P-МОП, входы схем на КМОП имеют очень большое сопротивление (1012 Ом), так что через них практически не протекает ток от источника сигнала. Каждый вход КМОП, однако, представляет собой эквива- лентную емкость на землю величиной примерно 5 пФ. Эта входная емкость ограни- чивает число входов КМОП, состояния на которых могут изменяться под действием уровней напряжения с данного выхода (см. рис. 8.26). Сигнал с выхода схемы на КМОП должен зарядить, а затем разрядить параллельно сложенные емкости всех входов, подключенных к данному выходу, поэтому время переключения состояния на выходе схемы возрастает пропорционально количеству нагрузок. Обычно каждая нагрузка на выходе КМОП увеличивает задержку распространения управляющей схемы на 3 нс. Например, если бы к элементу И-НЕ, изображенному на рис. 8.26, не было подключено вообще никаких нагрузок, он имел бы время нарастания фронта tPLH = 25 нс, а при двадцати подключенных нагрузках эта величина увеличится до 25 нс 4- 20 (3 нс) = 85 нс. Рис. 8.26. Каждый вход вкладывает свою часть в общую емкость нагрузки на выходе КМОП-элемента Таким образом, коэффициент разветвления схем на КМОП зависит от максималь- ной допустимой задержки распространения. Обычно при работе на низких частотах (до 1 МГц) выходы КМОП имеют коэффициент разветвления не более 50. Естествен- но, на более высоких частотах этот коэффициент будет меньше. Скорость переключения состояний Хотя ИС на КМОП, как, впрочем, n-МОП и p-МОП должны нормально функцио- нировать при относительно больших емкостях нагрузки, скорость переключения КМОП несколько превышает скорости переключения этих двух видов МОП-логики благодаря низкому выходному сопротивлению в обоих логических состояниях. Вы- ход схемы на N-МОП должен заряжать емкости нагрузки при относительно большом значении выходного сопротивления (100 кОм). В схемах на КМОП выходное сопро- тивление в состоянии с высоким уровнем напряжения равно величине сопротивления Лвкл р-канального полевого транзистора, которое обычно составляет 1 кОм или даже меньше. Из-за этого и емкость нагрузки будет заряжаться быстрее. Элемент И-НЕ серии 4000 обычно имеет среднее значение £р<] = 50 нс при VDD «= = 5 В и fp<i = 25 нс при VDD = 10 В. Причиной такого увеличения значения с рос- 522 Глава 8
том Vdd является тот факт, что сопротивление RBKJl полевого транзистора значительно уменьшается при более высоких значениях питающего напряжения. Таким образом, получается, что VDD нужно делать как можно большим для того, чтобы схема работа- ла на повышенных частотах. На практике, однако, большие значения напряжения VDD приведут к увеличению мощности рассеяния. Типичный элемент И-НЕ серий 74НС или 74НСТ имеет среднее значение tpd около 8 нс при VDD = 5 В. Элемент И-НЕ серий 74АС или 74ACT имеет среднее значение £ра около 4,7 нс, a элемента И-НЕ серии 74АНС составляет около 4,3 нс. Неиспользуемые входы Входы устройств на КМОП никогда не должны оставаться неподклю- ченными. Все входы таких устройств должны быть соединены либо с источником фиксированного напряжения (О В или VDD), либо с другим входом. Это правило применяется даже тогда, когда речь идет о входах элементов ИС, ко- торые не используются в данной схеме. Неподключенный вход ИС на КМОП подвер- жен воздействиям шумов и статического электричества, которые легко могут сме- стить как р-канальные, так и n-канальные полевые транзисторы в проводящее со- стояние, что приведет к увеличению мощности рассеяния и перегреву устройства. Статическая чувствительность Электронные устройства, хотя и в различной степени, подвержены влиянию ста- тического электричества. Человеческий организм является хранилищем электроста- тических зарядов. Например, если вы пройдетесь по ковру, на вашем теле может на- копиться заряд напряжением до 30 000 В. Если вы затем коснетесь какого-либо электронного прибора, часть этого немалого заряда может перейти на корпус устрой- ства. Логическое семейство МОП (и все полевые транзисторы) особенно чувствитель- ны к статическому электричеству. Разница потенциалов на тонкой оксидной пленке, возникающая благодаря накопленному электростатическому заряду, может превы- сить напряжение пробоя этого слоя, выступающего в качестве диэлектрической изо- ляции. При этом оксидный слой разрушается и возникает мощный ток пробоя (разряд), который можно сравнить с разрядом молнии в миниатюре. Сила тока тако- ва, что он пробивает оксидный слой насквозь и невозвратимо разрушает транзистор. Электростатический разряд (Electrostatic discharge — ESD) является причиной ежегодного ущерба для оборудования стоимостью миллиарды долларов, поэтому про- изводители электронных устройств выделяют много времени и средств на разработку специальных мер по обеспечению безопасности электронных приборов и устройств. Сейчас большинство современных ИС прямо на плате имеют разводку в виде рези- сторов и диодов, предназначенную защитить входы и выходы схемы от электроста- тических разрядов, однако несмотря на это в большинстве инженерных лабораторий, производственных помещений и местных подразделений используют специальные меры предосторожности: 1. Присоедините шасси всех тестовых инструментов, кончиков паяльников и собст- венное рабочее место (если оно имеет металлические части) к заземлению (т.е. к круглому штырьку в разъеме 120 VAC). Эта мера предотвратит накопление на указанных устройствах статического заряда, который может перейти на печат- ную плату или ИС, если они войдут в контакт друг с другом. 2. Присоединитесь сами к заземлению с помощью специального заземляющего браслета. Он разрядит потенциально опасный заряд с вашего тела на землю. Та- кой браслет содержит резистор номиналом 1 МОм, который ограничивает ток до неопасных для человека значений, если при работе с оборудованием вы случайно коснетесь оголенного провода. Семейства логических интегральных микросхем 523
3. Держите ИС (особенно КМОП) в проводящей пене или алюминиевой фольге. Та- ким образом, все выводы будут замкнуты вместе и между ними не возникнет опасной разности потенциалов. 4. Не касайтесь выводов интегральных схем и не вставляйте ИС в разъемы печат- ной платы сразу после того, как вы вытащили ее из защитного корпуса. 5. Разместите замыкающие перемычки на краевых разъемах печатной платы, если плату требуется транспортировать. Не касайтесь краевых разъемов руками. Хра- ните платы в проводящих пластиковых или металлических конвертах. 6. Не оставляйте неиспользуемыми входы ИС без подключения, так как плавающие входы накапливают статические заряды. .Фиксация Из-за неизбежного существования паразитных (нежелательных) рпр- и прп- транзисторов в подложке интегральных схем на КМОП иногда может возникнуть ус- ловие, которое называется фиксацией (latch-up). Если паразитные транзисторы на плате ИС, изготовленной по КМОП-технологии, переходят в проводящее состояние, они зафиксируются в нем (т.е. постоянно будут оставаться открытыми) и возникаю- щий при этом значительный ток может разрушить ИС. Большинство современных ИС на КМОП имеют в своем составе защитную схемотехнику, которая должна пре- дотвратить фиксацию, хотя она все равно может произойти, если будет превышено максимально допустимое для данной схемы напряжение. Фиксация может произой- ти из-за выбросов напряжения большой амплитуды или колебаний сигнала на входах и выходах устройства. Чтобы предотвратить подобные переходные процессы, на внешних выводах схемы могут быть подключены фиксирующие диоды, особенно ес- ли ИС используется в промышленности, где часто в результате переключения нагру- зок возникают высоковольтные и/или высокотоковые выбросы (в регуляторах часто- ты вращения двигателей, реле и т.п.). Хорошо отрегулированный источник питания поможет уменьшить выбросы напряжения на шине питания VDD; если же на нем имеется еще и токовый ограничитель (предохранитель), он не допустит появления высокого тока, случись вдруг фиксация. Современные технологические процессы изго- товления схем на КМОП значительно уменьшили чувствительность ИС к фиксации. - .......... -. — _ . . ^Контрольные вопросы 1. Какие серии КМОП совместимы по выводам с ТТЛ? 2. Какие серии КМОП электрически совместимы с ТТЛ? 3. Какие серии КМОП функционально эквивалентны ТТЛ? 4. Какое логическое семейство объединяет лучшие характеристики КМОП и би- полярной логики? 5. Какие факторы влияют на коэффициент разветвления схем на КМОП? 6. Какие меры должны быть приняты для правильного обращения с ИС на КМОП? 7. Какое логическое семейство (КМОП, ТТЛ) лучше всего подходит для использо- вания при питании от батарей? 8. Проверьте истинность высказывания. а) При увеличении частоты увеличивается потребление энергии схемами на КМОП. б) Неиспользуемые входы КМОП нельзя оставлять без подключения. в) ТТЛ подходит лучше, чем КМОП для работы в условиях сильных шумовых помех. 524 Глава 8
г) Скорость переключения схем на КМОП увеличивается с ростом рабочей час- тоты. д) Скорость переключения схем на КМОП увеличивается с ростом напряжения питания. е) Явление фиксации — это преимущество КМОП перед ТТЛ. 8.11. Низковольтная технология Производители ИС постоянно ищут новые способы расположить полупроводнико- вые устройства (диоды, резисторы, транзисторы и т.д.) поближе друг к другу на микросхеме, т.е. увеличить их плотность. Более высокая плотность размещения не- сет как минимум две серьезных выгоды. Во-первых, она позволяет расположить на одной микросхеме большее количество элементов схемы; во-вторых, когда эти эле- менты ближе располагаются друг к другу, время распространения сигнала от одной части схемы к другой уменьшается, тем самым улучшая общее быстродействие сис- темы. Однако нельзя избежать и некоторых недостатков, связанных с увеличением плотности упаковки. При очень близком расположении частей схемы приходится утончать изолирующий материал, который отделяет одну схему от другой или ее части друг от друга. При этом уменьшается напряжение, которое может выдержать устройство до того, как наступит пробой изоляции. Увеличение плотности размеще- ния элементов также повышает общую мощность рассеяния микросхемы, из-за чего температура на чипе может подняться выше допустимого уровня, что приведет к не- надежной работе устройства в целом. Перечисленные выше недостатки можно скомпенсировать, подавая на микросхе- му пониженные напряжения и тем самым уменьшая мощность рассеяния. Некото- рые серии различных логических семейств, доступных сегодня на мировом рынке электроники, могут функционировать при напряжении питания 3,3 В. Еще более но- вые серии рассчитаны на работу при 2,5 В. Такие низковольтные технологии очень красноречиво говорят о постепенной эволюции в области цифрового оборудования, в ходе которой, в конце концов, все цифровые ИС будут функционировать от низко- вольтных источников напряжения. В настоящее время низковольтные устройства проектируются для применения во всех областях техники начиная от электронных игр и заканчивая автоматизирован- ными рабочими местами. В персональных компьютерах более новые центральные процессоры рассчитаны уже на 2,5 В, а микросхемы оперативной памяти — на 3,3 В*. Сегодня распространены несколько низковольтных логических серий, однако в этой книге описать все семейства и серии от всех производителей невозможно, по- этому далее изложены данные, касающиеся только продукции компании Texas Instruments. Семейство КМОП Серия 74LVC (Low-voltage CMOS — низковольтные КМОП-структуры) содер- жит богатейший ассортимент элементов и функций, используемых в ИС с малой и средней степенями интеграции с питанием 5 В. Сюда также входят различные устройства шинного интерфейса: буферы, защелки, драйверы и т.п. Эта серия может использовать логические уровни амплитудой 5 В, следовательно, ее мож- но применять для преобразования сигналов из систем с напряжением питания 5 В в системы с питанием 3 В. До тех пор пока ток не станет слишком мал и на- пряжение на выходе схемы не опустится ниже допустимых пределов данного * Уже довольно давно и на более низкие напряжения. — Прим, перев. Семейства логических интегральных микросхем 525
диапазона, устройства серии 74LVC могут управлять схемами на ТТЛ с напря- жением питания 5 В. Требования к значениям напряжения VIH серий КМОП с питанием 5 В (таких, например, как 74НС/АНС) не позволяют устройствам се- рии 74LVC управлять состояниями на их входах. Серия 74ALVC {Advanced Low-voltage CMOS — улучшенные низковольтные КМОП-структуры} предлагает более высокое быстродействие. Устройства этой серии предназначены, прежде всего, для применения в тех схемах шинного ин- терфейса, где используется исключительно питание от источника 3,3 В. Серия 74LV {Low-voltage — низковольтные структуры} содержит многие эле- менты и функции, используемые в ИС с малой и средней степенями интеграции; сюда также входят и некоторые популярные на практике восьмиразрядные бу- феры, защелки и триггеры. Эта серия предназначена для работы только в при- борах с напряжением питания 3,3 В. Серия 74AVC {Advanced Very-Low-voltage CMOS — улучшенные сверхнизковольт- ные КМОП-структуры} уже была представлена в качестве потенциально воз- можной цифровой системы недалекого будущего. Эта серия оптимизирована для применения в системах с напряжениями 2,5 В, но также может функциониро- вать и при питании 1,2 В и 3,3 В. Широкий диапазон рабочих напряжений де- лает устройства этой серии полезными для работы в системах со смешанным ти- пом питания. Задержка распространения сигналов в устройствах серии 74AVC составляет всего 2 нс, т.е. они могут конкурировать с устройствами серии 74AS на биполярных транзисторах. Им также доступны многие свойства схем шинно- го интерфейса серий на биполярной КМОП-логике, которые будут крайне вос- требованы в последующих поколениях низковольтных рабочих станций, компь- ютеров, сетей и телекоммуникационного оборудования. Семейство биполярной КМОП-логики Серия 74LVT {Low-voltage BiCMOS Technology — низковольтная биполярная КМОП-технология) содержит части биполярной КМОП-логики, которые предна- значены для работы в 8- и 16-битовых устройствах шинного интерфейса. Как и в случае с серией LVC, входы ИС данной серии могут работать с логическими уровнями 5 В и служить переходными элементами между системами с напряже- ниями питания 5 В и 3 В. Так как выходные уровни их сигналов (VOH(min) и VOL(max)) эквивалентны логическим уровням устройств на ТТЛ, данные ИС пол- ностью электрически совместимы с этим семейством. В табл. 8.10 приведены некоторые характеристики этой и других серий. 'Таблица 6.10. Характеристики низковольтных сери» LV ALVC AVC ALVT ALB Усс (рекомендованное значение) 2,7-3,6 2,3-3,6 1,65-3,6 2,3-2,7 3-3,6 7pd, нс 18 3 1,9 3,5 2 Vih, В от 2 до Усс + 0,5 от 2 до 4,6 от 1,2 до 4,6 от 2 до 7 от 2,2 до 4,6 Ml, В 0,8 0,8 0,7 0,8 0,6 Ън, мА 6 12 8 32 25 Iol, мА 6 12 8 32 25 Серия 74ALVT {Advanced Low-voltage BiCMOS Technology — усовершенствован- ная низковольтная биполярная КМОП-технология) является модификацией 526 Глава 8
предыдущей серии. Устройства этой серии работают при напряжениях питания 3,3 В и 2,5 В с задержкой распространения 3 нс, они также совместимы по вы- водам с существующими сериями АВТ и LVT. Данная серия предназначена для применения в схемах шинного интерфейса. Серия 74ALB (Advanced Low-voltage BiCMOS — усовершенствованная низко- вольтная биполярная КМОП-логика) была спроектирована для применения в схемах шинного интерфейса с напряжениями питания 3,3 В. Устройства этой серии выдают на выходе сигнал с током силой 25 мА и задержкой распростра- нения 2,2 нс. Техники и инженеры, которые занимаются разработкой и эксплуатацией цифро- вых схем, больше не могут однозначно утверждать, что та или иная ИС в цифровой системе или приборе функционирует при напряжении 5 В. Специалистам все чаще приходится иметь дело с изучением элементов интерфейса в системах со смешанным типом питания. Навыки, которые вы получите после прочтения этой главы, позволят вам выполнить подобную операцию независимо от того, какая техника будет исполь- зоваться в недалеком будущем, когда низковольтные цифровые системы станут более распространенными. Развитие низковольтных технологий обещает осуществить полную революцию в мире стандартных пятивольтных систем, систем со смешанным питанием и, конеч- но, среди систем с питанием 3,3 В, 2,5 В и даже более низкими значениями. Чтобы яснее представить перспективу предстоящих изменений, на рис. 8.27 читателю пред- лагается изучить картину жизненного цикла различных логических семейств такой, как ее видят в компании Texas Instruments. Рис. 8.27. Жизненный цикл различных логических семейств. (Предоставлено компанией Texas Instruments) Контрольные вопросы ! 1. Назовите преимущества ИС с большей плотностью упаковки. 2. Назовите недостатки таких ИС. 3. Какую минимальную величину высокого уровня напряжения имеет вход уст- ройства серии 74LVT? 4. Какие низковольтные серии могут работать только вместе с другими низко- вольтными сериями? 5. Какие низковольтные серии полностью электрически совместимы с устройст- вами на ТТЛ? Семейства логических интегральных микросхем 527
8.12. Выходы с открытым коллектором/стоком Случается, что сразу несколько цифровых устройств должны вместе использовать один провод, по которому сигнал передается к какому-нибудь удаленному термина- лу. Это напоминает ситуацию, когда соседи пользуются одной и той же дорожкой, ведущей на улицу. С точки зрения электроники это означает, что выходы несколь- ких устройств должны быть присоединены к одной сигнальной шине (проводу), ко- торая связывает их друг с другом. Для всех рассмотренных ранее логических уст- ройств такая связь была проблемой. Каждый выход может иметь два состояния: с высоким уровнем сигнала и с низким. Если же на одном выходе установился высо- кий уровень, а на другом в то же время должен установиться низкий, и при этом они связаны вместе, возникнет конфликт уровней напряжений. Какой же уровень уста- новится в итоге? В итоге “победит” более “сильный” из уровней. В этом случае на общем выходе установится напряжение с выхода схемы, выходной транзистор кото- рой имеет наименьшее сопротивление в открытом состоянии. На рис. 8.28 показана общая схема двух логических устройств, выходы которых соединены общей шиной. Если оба устройства выполнены по КМОП-технологии, со- противление в открытом состоянии выходного транзистора левой схемы при высоком уровне сигнала будет приблизительно таким же, как сопротивление в открытом со- стоянии выходного транзистора правой схемы (нагрузочной) при низком уровне. На- пряжение на общей шине будет составлять примерно половину от величины напря- жения питания. Такой уровень сигнала попадет в неопределенный диапазон боль- шинства серий КМОП, и поэтому будет неприемлем для управления состояниями входов схем на КМОП. Более того, величина тока через два проводящих полевых транзистора будет намного превышать номинальную, особенно при повышенных на- пряжениях питания VDD, и поэтому может повредить ИС. Выходы схем на КМОП нельзя непосредственно соединять друг с другом. Элемент А Элемент В Питаемая схема Рис. 8.28. Конфликт сигналов с двух выходов за управление общей шиной 528 Глава 8
Если оба устройства относятся к ТТЛ и имеют двухтактные выходы (рис. 8.29), возникает похожая ситуация, лишь с некоторой разницей, обусловленной отличием структуры на ТТЛ от КМОП. Предположим, что на выходе элемента А установился высокий уровень напряжения (транзистор Q3A открыт, транзистор Q4A заперт), а на выходе элемента В установился низкий уровень (транзистор Q3B заперт, транзистор Q4B открыт). В этом случае транзистор Q4B представляет собой очень низкое сопро- тивление нагрузки для транзистора Q3A, и через него пойдет ток, величина которого намного превышает допустимый. За короткое время этот ток не сможет повредить транзисторы Q3a и Q4B, но если ситуацию не исправить, может начаться перегрев и ухудшение быстродействия транзистора вследствие ускоренного износа, что в конце концов приведет к поломке прибора. Рис. 8.29. Двухтактные выходы, связанные вместе, могут при- вести к появлению опасных значений тока через транзистор Q\ Другая проблема, вызванная относительно большим током через транзистор состоит в том, что возникает повышенное падение напряжения на переходе коллек- тор-эмиттер, из-за чего напряжение VOL становится равным от 0,5 до 1 В. Эта вели- чина превышает допустимую величину VOL(niax), поэтому двухтактные выходы схем на ТТЛ нельзя непосредственно соединять друг с другом. Выходы с открытым коллектором/стоком Одно из возможных решений проблемы совместного использования общего прово- да состоит в удалении активного транзистора, служащего для установки рабочей точки, с выхода каждого элемента. Благодаря такому простому решению ни один из элементов не сможет принудительно установить логический высокий уровень сигна- ла. Выходы схем на КМОП, которые были изменены таким же образом, называются выходами с открытым стоком. Сигнал снимается со стока n-канального нагрузоч- ного полевого транзистора, который не подключен ни к какой другой схеме. Семейства логических интегральных микросхем 529
Эквивалент для схем на транзисторно-транзисторной логике называется выходом с открытым коллектором, так как именно коллектор нижнего транзистора двух- тактной структуры подключен непосредственно только к выходному выводу, как это показано на рис. 8.30, а. Схема с открытым коллектором не требует на своем выходе транзистора Q3, диода Dx и сопротивления Н4. Если на выходе установилось состоя- ние с низким уровнем напряжения, то транзистор Q4 будет открыт (на его базу по- ступает ток, поэтому транзистор, по существу, замкнут между коллектором и эмит- тером); если же на выходе установилось состояние с высоким уровнем напряжения, то Q4 будет заперт (ток на его базу не поступает, и можно считать, что между кол- лектором и эмиттером имеется разрыв). Поскольку такая схема не может иметь на выходе высокий уровень сигнала, то разработчик должен подсоединить к выходу внешний нагрузочный резистор RP, как показано на рис. 8.30, б. Рабочие состояния Q4 откоыт ->V0 = °>4 в Q4 закрыт ->Vq = Цэн “ +5 В а) б) Рис. 8.30. а) Схема на ТТЛ с общим коллектором; б) с внешним нагрузочным резистором Когда транзистор Q4 открыт, напряжение на выходе падает до низкого уровня, ес- ли же он закрыт, то благодаря резистору RP напряжение на выходе схемы поднима- ется до высокого уровня. Обратите внимание, что если бы внешний резистор отсутст- вовал, напряжение на выходе попало бы в неопределенный диапазон. Номинал рези- стора Лр обычно выбирается около 10 кОм. Такое значение достаточно мало, и в состоянии с высоким уровнем напряжение, которое падает на резисторе при прохож- дении через него тока нагрузки, не приведет к снижению выходного напряжения ниже минимально допустимого значения Уон. При этом указанное значение сопро тивления достаточно велико, и в состоянии с низким уровнем регистр ограничит ток через транзистор Q4 до значения ниже /0L(max). Если несколько элементов с открытыми коллекторами или открытыми стоками делят между собой общий узел, как это показано на рис. 8.31, то благодаря наличию внешнего резистора высокий уровень сигнала наблюдается по умолчанию на общем проводе. Когда хотя бы на одном выходе какого-то элемента (или нескольких эле- ментов) появляется низкий уровень сигнала, напряжение 5 В падает на сопротивле- нии Лр, и на общем сигнальном проводе установится состояние с низким уровнем. Так как на общем выходе высокий уровень сигнала устанавливается, только если на всех выходах установились единичные состояния, то подобное подключение выходов 530 Глава 8
к общей шине фактически реализует логическую функцию И. Поэтому такое соеди- нение называется монтажным И (wired-AND). На рисунке оно показано в виде сим- вола элемента И, который нарисован штриховой линией. На самом деле схема не со- держит никакого элемента И. Монтажное И можно реализовать только на логиче- ских устройствах с открытым коллектором (ТТЛ) и с открытым стоком (КМОП). +5 В 74LS05 (с открытым коллектором) или 74НС05 (с открытым стоком) Рис. 8.31. Схема монтажное И с использованием элементов с откры тыми коллекторами Итак, подведем итог сказанному. Схемы с открытым коллектором/открытым сто- ком не могут самостоятельно устанавливать на своих выходах высокий уровень сиг- нала, а только низкий. Это свойство может использоваться для того, чтобы позволять нескольким логическим устройствам служить коллективной шиной для передачи ло- гических сигналов к другому удаленному устройству или для комбинации выходов нескольких устройств в логическую функцию И. Назначение активного транзистора установки рабочей точки на выходе схемы обычного элемента — это быстрый заряд нагрузочной емкости, необходимый для ускоренного переключения состояний. Уст- ройства с открытым коллектором/открытым стоком имеют намного меньшие скоро- сти переключения уровней с высокого на низкий и, следовательно, не могут исполь- зоваться там, где требуется обеспечить высокое быстродействие. Буфер/драйвер с открытым коллектором/стоком Схемы с открытым коллектором/открытым стоком, описываемые в этом разделе, доминировали на ранних этапах развития логической схемотехники. Теперь их чаще применяют в качестве буферов/драйверов. Буфером, или драйвером, называется ло- гическая схема, предназначенная для формирования больших значений выходного тока и/или максимально допустимых напряжений. Эти устройства позволяют даже небольшому выходному току управлять состояниями на входе значительной нагруз- ки. Схемы с открытым коллектором/открытым стоком, функционирующие в качест- СЕМЕЙСТВА ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ МИКРОСХЕМ 531
ве буферов/драйверов, имеют отличную схемотехническую гибкость и некоторые уникальные свойства. Благодаря высоким значениям параметров IOl и Гон устройства 7406 и 7407 яв- ляются единственными представителями ТТЛ, рекомендованными для использова- ния в новых разработках. Интегральная схема 7406 представляет собой бу- фер/драйвер с открытым коллектором и содержит шесть инверторов с выходами с открытым коллектором, на которые в состоянии с низким уровнем с нагрузки может поступать ток величиной до 40 мА. Вдобавок, ИС 7406 может выдавать на выходе напряжение величиной до 30 В в состоянии с высоким уровнем. Это значит, что вы- ход схемы можно подключать к нагрузке, которая работает от напряжений, превы- шающих 5 В. На рис. 8.32 показано, как ИС 7406 используется в качестве буфера между триг- гером 74LS112 и лампой накаливания индикатора, которая работает от напряжения 24 В и тока 25 мА. ИС 7406 управляет состояниями лампы (включена/выключена), которая, в свою очередь, показывает состояния на выходе Q триггера. Обратите вни- мание, что лампа питается от напряжения +24 В, поэтому для схемы с выходом с открытым коллектором она работает как нагрузочный резистор. Рис. 8.32. Буфер/драйвер с открытым коллектором может выдавать на нагрузку высокие значения тока и напряжения Если Q = 1, на выходе ИС 7406 устанавливается низкий уровень, транзистор на выходе потребляет с лампы ток величиной 25 мА, который идет от источника пита- ния 24 В, следовательно, лампа горит. Если же Q = 0, то транзистор на выходе 7406 закрывается, и току некуда течь от источника питания, поэтому лампа выключается. В этом состоянии полное напряжение величиной 24 В приложено к закрытому вы- ходному транзистору, т.е. Гон « 24 В, но это ниже, чем максимально допустимое значение Гон для ИС 7406. Выходы с открытым коллектором часто используются для управления индикато- рами на светоизлучающих диодах (СИД), как это показано на рис. 8.33, а. Резистор в такой схеме используется для ограничения тока до безопасной величины. Когда на выходе инвертора установится низкий уровень сигнала, через его выходной транзи- стор и СИД на землю потечет ток, поэтому светоизлучающий диод загорится. Если же на выходе инвертора установится высокий уровень, выходной транзистор закроет- ся, и ток не сможет течь по тому же пути, следовательно, СИД выключится. ИС 7407 представляет собой неинвертирующий буфер с открытым коллектором с теми же параметрами по напряжению и току, что и интегральная схема 7406. ИС 74НС05 — это сборка из шести инверторов с открытым стоком. Она также может потреблять ток с нагрузки величиной до 25 мА. На рис. 8.33, б показано ин- терфейсное подключение D-триггера 74АНС74 к управляющему реле. В качестве реле используется электромагнитный ключ. Контакты замыкаются с помощью магнитно- 532 Глава 8
го поля, когда через обмотку катушки индуктивности протекает ток. ИС 74НС05 по- зволяет выдавать на реле относительно большие значения напряжения и тока, по- этому сигнал с выхода триггера 74AHC74 включает и выключает реле. Рис. 8.33. а) Выход с открытым коллектором может быть использован для управ- ления индикатором на СИД; б) выход с открытым стоком схемы на КМОП Обозначения стандарта IEEE/ANSI для выходов с открытым коллектором/стоком Новая символика IEEE/ANSI использует раздельные обозначения выходов с от- крытым коллектором/открытым стоком. На рис. 8.34 показаны стандартные симво- лы выходов с открытым коллектором/открытым стоком. Для обозначения использу- ется значок в виде ромба с чертой внизу. Хотя в этой книге не применяется полная символика IEEE/ANSI, в схемах с выходами с открытым коллектором/открытым стоком используются именно эти обозначения. Рис. 8.34. Обозначение выходов с открытым коллектором и открытым стоком по стан- дарту IEEE/ANSI Контрольные вопросы { 1. Когда может произойти конфликт между различными уровнями напряжения? j 2. Почему нельзя соединять вместе двухтактные выходы схем на ТТЛ? Семейства логических интегральных микросхем 533
3. Чем отличается выход с открытым коллектором от двухтактного выхода? 4. Почему к выходу с открытым коллектором необходимо подключать нагрузоч- ный резистор? 5. Напишите логическое выражение для соединения монтажное И из шести выхо- дов ИС 7406. 6. Почему состояния на выходах с открытым коллектором обычно переключаются медленнее, чем на двухтактных выходах? 7. Каким символом обозначается выход с открытым коллектором по стандарту IEEE/ANSI? 8.13. Тристабильные логические выходы (выходы с тремя состояниями) Тристабильная структура представляет третий тип выходной схемотехники, ис- пользуемый в ИС различных семейств ТТЛ и КМОП. Тристабильная структура обла- дает преимуществами двухтактного вида выхода с парой транзисторов и в то же вре- мя позволяет соединять выходы вместе, если требуется подключить их к общей сиг- нальной шине. Выход называется тристабильным, так как он может иметь три возможных состояния: с высоким уровнем сигнала, с низким уровнем и высокоимпе- дансное (Hi-Z). Высокоимпедансным состоянием называется условие, при котором транзисторы нагрузки и установки рабочей точки закрыты, и поэтому выходной вы- вод представляет собой большое сопротивление (высокий импеданс) как по отноше- нию к земле, так и по отношению к источнику питания +V. На рис. 8.35 схематиче- ски изображены все три состояния на примере простой схемы инвертора. Рис. 8.35. Три выходных состояния тристабилъного устройства Устройства с тристабильными выходами обязательно имеют разрешающий вход. Он обычно обозначается литерой Е (от англ, enable — разрешать) или ОЕ. Если ОЕ = 1, как показано на рис. 8.35, а и б, схема работает как обычный инвертор, потому что на разрешающий вход ОЕ подается логический сигнал с высоким уровнем. На выхо- де снимается сигнал, соответствующий входному сигналу и внутренней структуре элемента. Если же ОЕ = 0 (рис. 8.35, в), то выход блокируется. Он переходит в вы- сокоимпедансное состояние, в котором оба выходных транзистора закрыты. В этом состоянии выходной вывод по существу представляет собой разрыв цепи (он как бы вообще никуда не подключен). 534 Глава 8
Преимущества тристабильных структур Выходы тристабильных ИС могут быть соединены вместе (т.е. коллективно ис- пользовать общую шину), и при этом не придется жертвовать скоростью переключе- ния, поскольку при подаче на разрешающий вход единичного сигнала тристабиль- ный выход работает так же, как двухтактный каскад ТТЛ или активный выход КМОП с присущими им низкоимпедансными и высокоскоростными характеристика- ми. Важно, однако, понимать, что при подключении друг к другу тристабильных выходов одновременно может быть разрешена работа только одного из них. Если же будут работать одновременно несколько выходов, их сигналы будут конфликтовать на общей шине. Такой режим может привести к возникновению опасных токов и не- правильных логических уровней сигнала. В описании схем с открытым коллектором/открытым стоком и тристабильных структур рассматривались случаи, когда выходы нескольких устройств для передачи информации на удаленное устройство должны совместно использовать один провод. Этот коллективный провод называется шиной. Шина обычно состоит из нескольких проводов, по которым между устройствами, разделяющими общую шину, передается информация в цифровом виде. Тристабильные буферы Тристабильным буфером называется схема, которая используется для управления прохождением логического сигнала со входа на выход. Некоторые тристабильные буферы могут инвертировать проходящий сигнал. Например, схемы, изображенные на рис. 8.35, называют инвертирующими тристабилъными буферами. Обычно используются тристабильные буферы на ИС 74LS125 и 74LS126. Обе схе- мы содержат по четыре неинвертирующих тристабильных буфера, подобные тем, ко- торые показаны на рис. 8.36. ИС 74LS125 и 74LS126 отличаются только активными состояниями их разрешающих входов (ENABLE). Для ИС 74LS125 входному сигналу разрешено проходить на выход схемы при Е = 0, а для 74LS126 — при подаче на разрешающий вход Е = 1. а) б) Рис. 8.36. Тристабильные неинвертирующие буферы Тристабильные буферы часто применяются в схемах, где несколько сигналов по- даются на общие шины. Некоторые применения этих буферов будут представлены в главе 9, но из рисунка 8.37, а уже сейчас можно извлечь основную мысль. Пусть мы Семейства логических интегральных микросхем 535
имеем три логических сигнала: А, В и С, которые подаются на общую шину через три тристабильных буфера 74АНС126. Подавая на соответствующий буфер разре- шающие сигналы, по шине можно передавать на другие схемы любой из сигналов. Рис. 8.37. а) Тристабильные буферы могут использоваться для подачи нескольких сигналов на общую шину; б) условия для передачи на шину сигнала В б) Например, рассмотрим ситуацию на рис. 8.37, б, когда Ев = 1 и ВА = Ес = 0. При такой комбинации разрешающих сигналов мы выключаем верхний и нижний буфе- ры, которые переходят в высокоимпедансное состояние и, по существу, просто отсо- единяются от шины. На схеме их отключение обозначено символами X. Средний же буфер — наоборот — включается, поэтому сигнал со входа В передается через буфер на шину, откуда он направляется на другие устройства, также подключенные к той же шине. При соединении нескольких тристабильных выходов (рис. 8.37) важно помнить, что в каждый момент времени только один из них должен работать. Иначе мы получим общее подключение нескольких активных двухтактных выходов, что может привести к возникновению опасных токов, в противном случае подобная си- туация приведет к формированию на шине сигнала, который является комбинацией нескольких логических сигналов с выходов схем. Такая ситуация называется кон- фликтом при обращении к шине, или, проще, конфликтом на шине. На рис. 8.38 показан результат одновременного разрешения прохождения сигналов с двух входов: А и В. Если сигналы, поданные на эти входы, находятся в противоположных состоя- ниях (рис. 8.37), они будут конфликтовать друг с другом за управление шиной. Ре- зультирующий уровень напряжения на шине попадет в неопределенный диапазон ло- гических состояний. Применяя тристабильные системы с использованием общей ши- ны, разработчик обязан убедиться, что разрешающие сигналы не приведут к появлению конфликта на шине. 536 Глава 8
ВходА Вход В Общая шина Рис. 8.38. Если соединить вместе два активных выхода КМОП, то при установлении на выходах противопо- ложных логических уровней, сигнал на шине будет иметь величину, равную примерно Урп/2 Тристабильные ИС Подобно тристабильным буферам, многие другие ИС также разрабатываются с тристабильными выходами. Например, ИС 74LS374 представляет собой триггерный регистр из восьми D-триггеров, выходы которых подсоединены к тристабильным бу- ферам. Этот тип регистров можно подключать к общей шине одновременно с други- ми такими же устройствами для эффективной передачи данных по шине. Подробнее структура тристабилъной шины данных рассматривается в главе 9. Другими типа- ми логических устройств, на базе которых доступны тристабильные выходы, явля- ются дешифраторы, мультиплексоры, аналого-цифровые преобразователи, микросхе- мы памяти и микропроцессоры. Обозначение тристабильных выходов согласно стандарту IEEE/ANSI Традиционная логическая символика не имеет специального обозначения для тристабильного выхода. На рис. 8.39 показано обозначение, используемое по стан- дарту IEEE/ANSI — треугольник, перевернутый вниз. Хотя это и не общепринятый символ, мы будем использовать его для обозначения тристабильных выходов в ос- тавшейся части книги. Рис. 8.39. Обозначение тристабильного выхода по стан- дарту IEEE/ANSI Семейства логических интегральных микросхем 537
Контрольные вопросы 1. Назовите три возможных состояния тристабильного выхода. 2. В каком состоянии находится тристабильный выход, если он отключен? 3. Что такое конфликт на шине? 4. Какие необходимы условия для передачи сигнала со входа С на общую шину (рис. 8.37)? 5. Каким символом обозначается тристабильный выход по стандарту IEEE/ANSI? 8.14. Высокоскоростная логика шинного интерфейса Многие цифровые системы используют общую шину для передачи цифровых сиг- налов и данных между различными компонентами системы. С развитием КМОП- технологии системы становятся все быстрее и быстрее. Многие новые высокоскоро- стные логические серии были разработаны специально для того, чтобы служить ин- терфейсом в системах с тристабильной шиной. Компонентами этих серий в первую очередь являются тристабильные буферы, двунаправленные приемопередатчики, за- щелки и высокоскоростные драйверы линии. Компоненты рассматриваемых цифровых систем зачастую находятся на значи- тельных дистанциях. Если расстояния между ними превышают 4 дюйма (около 10 см), то провода, из которых состоит шина, следует рассматривать как линию пе- редачи. Теория линий передач может занять по своему объему целую книгу, однако основная идея достаточно проста. Провода обладают индуктивностью, емкостью и сопротивлением, а это значит, что в случае с изменяющимися сигналами (т.е. пере- менным током) они имеют характеристическое сопротивление, которое оказывает влияние на сигнал, поданный на один конец линии и искажает его, пока он достиг- нет второго конца. На высоких скоростях измеримое время передачи сигнала по про- воду, эффект отраженных волн (возникающих подобно эху) и колебания при пере- ходных процессах становятся реальностью. Есть несколько способов преодолеть про- блемы, связанные с длиной линий передач. Чтобы предотвратить появление отраженных волн, один из концов шины необходимо заглушить сопротивлением, равным импедансу линии (около 50 Ом), как показано на рис. 8.40, а. Этот метод не совсем подходящий, потому что требуются слишком большие значения тока, чтобы поддерживать постоянные логические уровни напряжения на столь низком сопро- тивлении. Есть еще один метод, который использует дополнительную емкость для блокировки постоянного тока, т.е. если сигнал в линии не меняется. Если же в цепи возникают колебания, то конденсатор начинает функционировать в качестве рези- стора. Этот метод показан на рис. 8.40, б. Используя делитель напряжения (см. схему на рис. 8.40, в), сопротивления (“плечи”) которого превышают сопротивления линии передачи, полученный импе- данс помогает уменьшить отражения. Однако при использовании сотен индивиду- альных шин, очевидно, что к системному источнику питания будет подключена чрезмерная нагрузка. Заглушка диодом, показанная на рис. 8.40, г, просто отсекает или подавляет выбросы обеих полярностей, возникающие при переходных процес- сах, вызванных реактивным сопротивлением LC линии. Последовательно подклю- ченная заглушка (рис. 8.40, д) замедляет скорость переключения состояний сигнала и уменьшает верхние предельные частоты, на которых функционирует шина, зато существенно улучшает достоверность принятых сигналов. 538 Глава 8
д) Рис. 8.40. Способы заглушки шины Таким образом, ни один из предложенных методов не является идеальным. Про- изводители ИС разрабатывают новые серии логических схем, которые могут успешно преодолевать описанные выше проблемы. Логические серии шинного интерфейса, разработанного компанией Texas Instruments, предлагают различные структуры вы- хода, которые динамически понижают импеданс выхода во время передачи сигнала, а затем повышают его в периоды стабильных состояний (как в случае с последова- тельной заглушкой), чтобы заглушить любые колебания и уменьшить отраженные волны в сигнальной линии. Серия BTL (приемопередатчик на объединительной ши- не — Backplane Transceiver Logic) устройств шинного интерфейса специально разра- ботана для управления относительно длинными шинами, которые соединяют отдель- ные узлы больших цифровых систем. Объединительной платой называют взаимные соединения между узлами на задней стенке 19-дюймовой монтажной стойки, приме- нение которой регламентируется промышленным стандартом. Для высокоскоростных шин, размещенных на одной печатной плате или между платами в небольших кор- пусах, как, скажем, персональные компьютеры, более подходит современная логика на диодах Ганна — GTL (Gunning Transceiver Logic). Контрольные вопросы 1. Насколько близко друг к другу должны размещаться компоненты цифровой системы, чтобы можно было пренебречь эффектами “линии передачи”? 2. Назовите три характеристики реальных линий передач, которые вызывают ис- кажения сигналов, проходящих по ним. 3. Для чего предназначена заглушка (терминал) шины? Семейства логических интегральных микросхем 539
8.15. Цифровые ИС семейства ЭСЛ Семейство ТТЛ использует функционирование транзисторов в режиме насыще- ния. В результате скорость переключения состояний падает, так как она ограничива- ется временем накопления и рассасывания заряда в базе транзистора при переходе в состояние насыщения. Однако есть еще одно логическое семейство на биполярных транзисторах, устройства которого работают, не переходя в режим насыщения и тем самым увеличивая скорость переключения. Это логическое семейство называется эмиттерно-связанной логикой (ЭСЛ) (Emitter-Coupled Logic — ECL). Устройства это- го семейства работают по принципу переключения токов, посредством чего фиксиро- ванный ток смещения, меньший, чем /к(насыщ.), переключается с коллектора одно- го транзистора на коллектор другого. Благодаря функционированию в режиме токо- вого управления принцип работы таких устройств иногда также называют токопереключательной логикой (ТПЛ) (Current-Mode Logic — CML). Базовая схема ЭСЛ Базовая схема эмиттерно-связанной логики представляет собой дифференциаль- ный усилитель, структура которого показана на рис. 8.41, а. Источник питания VEE вырабатывает постоянный ток 1Е, который в нормальных условиях составляет при- мерно 3 мА. Этот ток протекает либо через транзистор либо через <?2 в зависимо- сти от уровня входного напряжения Ивх. Другими словами, этот ток будет перехо- дить от коллектора одного транзистора к коллектору второго при изменении логиче- ских уровней напряжения Ивх от -1,7 В (логический 0 для ЭСЛ) до -0,8 В (логическая 1 для ЭСЛ). В таблице, приведенной на рис. 8.41, а, показаны результи- рующие уровни напряжения на выходе для обоих состояний Увх. Обратите внимание на два важных момента: а) напряжения VKl и VK2 являются дополнениями друг дру- га; б) уровни выходного напряжения не равны уровням напряжения на входе схемы. Второй момент, указанный выше, легко объяснить тем фактом, что напряжения Ук1 и ИК2 подаются на каскады с эмиттерными повторител’ями (на транзисторах Q3 и QJ, как показано на рис. 8.41, б. Эмиттерные повторители осуществляют две функ- ции: (1) они вычитают из уровней напряжения УК1 и ИК2 приблизительно 0,8 В, что- бы сдвинуть выходные уровни сигнала в диапазоны значений, соответствующие пра- вильным логическим уровням ЭСЛ; и (2) они обеспечивают очень низкий выходной импеданс (обычно в пределах 7 Ом), что позволяет получить большой коэффициент разветвления и быстрый заряд емкости нагрузки. Такая схема формирует два допол- няющих друг друга уровня напряжения: VBbixi = УВх и ^выхг = увх- Элемент ИЛИ/ИЛИ-НЕ на ЭСЛ Базовая схема на ЭСЛ, изображенная на рис. 8.41, б, может использоваться в ка- честве инвертора, если с выхода брать только напряжение ИВЫХ1. Эту схему можно расширить таким образом, что она будет иметь несколько входов, если подключить транзистор Qi параллельно другим транзисторам на других входах, как показано на рис. 8.42, а. Здесь либо Qi, либо Q3 могут вызвать ток, посредством которого будет переключен транзистор Q2> и уровни напряжения ИВЫХ1 и ИВЬ1Х2 будут вести себя как операции ИЛИ-HE и ИЛИ соответственно. Этот элемент ИЛИ/ИЛИ-НЕ обозначают особым логическим символом, показанным на рис. 8.42, б. Именно он является базо- вым элементом эмиттерно-связанной логики. > I i 540 Глава 8
VCi> Qi VBx> ,Ri 300 Ом q2 lE = 3 мА R3 1 кОм Vee(-5,2B) r2 300 Ом Vc2 • VBB (-1.3 В) VBX -1,7В (логический 0) -0,8 В (логическая 1) Рабочие состояния Выходы VC1 = о в VC2 = -0,9 в Q2 открыт a) VC1 = -0,9 В VC2=OB Q1 открыт б) Рис. 8.41. а) Базовая схема ЭСЛ; б) с добавленными эмиттерными повторителями Семейства логических интегральных микросхем 541
Увых 1 - А + В Эииттсрный пс bi орите ль А а) б) < А+ В ♦ А+ В Рис. 8.42. а) Схема элемента ИЛИ/ИЛИ НЕ на ЭСЛ; б) логический символ Характеристики ЭСЛ * Существует современная серия устройств на ЭСЛ от фирмы Motorola, называемая ECLin PS. Эта аббревиатура обозначает ЭСЛ, работающую в диапазоне пикосекунд- ных скоростей. Значение максимальной задержки распространения сигнала этих устройств составляет всего 500 пс (т.е. всего полнаносекунды!), а скорость переклю- чения триггеров — 1,4 ГГц. Некоторые устройства этой серии имеют задержки рас- пространения сигнала в элементе, равные всего 100 пс при средней мощности по- требления 5 мВт, что дает произведение задержки сигнала на мощность рассеяния 0,5 пДж. Ниже приведены наиболее важные характеристики устройств серии ECLin PS логического семейства MECL фирмы Motorola. 1. Транзисторы никогда не переходят в режим насыщения, поэтому скорость пере- ключения очень высока. Типичные значения задержки распространения сигнала составляют 360 пс, что позволяет ЭСЛ превосходить по быстродействию любые серии ТТЛ и КМОП. 2. Логические уровни ЭСЛ равны -0,8 В и -1,7 В для логической 1 и логического 0, соответственно. Серия ECLin PS полностью совместима по уровням напряжения с предыдущими сериями ЭСЛ. 542 Глава 8
3. При наихудших условиях запас помехоустойчивости ЭСЛ составляет примерно 150 мВ. Столь малые значения этой величины делают ЭСЛ не совсем пригодной для работы в условиях мощных промышленных помех. 4. Логический блок на ЭСЛ обычно формирует не только выходной сигнал, но и сигнал, дополняющий его. Таким образом, для ЭСЛ нет необходимости использо- вать инверторы. Высокие значения токов, состоящих из двух частей, делают ЭСЛ прекрасным средством для управления сигналами в витой паре кабелей, напри- мер в телефонных кабелях*. 5. Коэффициент разветвления обычно составляет 25. Столь высокое значение обу- словлено малым импедансом на выходах эмиттерных повторителей. 6. Типичная величина мощности рассеяния составляет 25 мВт, что несколько боль- ше, чем для серии 74AS. 7. Суммарный ток в схеме на ЭСЛ остается приблизительно постоянным независимо от логических состояний на выходах. Благодаря этому можно поддерживать по- стоянное значение тока, потребляемого от источника питания, даже в моменты переключения состояний схемы. Таким образом, в схеме не могут возникнуть шумовые пики, которые появляются при переключении в схемах на ТТЛ и КМОП. В табл. 8.11 приведены сравнительные характеристики ЭСЛ и наиболее важных логических серий ТТЛ. Семейство ЭСЛ не включает многих универсальных уст- ройств, которые имеются в составе ТТЛ и КМОП. ЭСЛ также не содержит сложных специализированных ИС, которые используются при высокоскоростной передаче данных, в быстродействующих чипах памяти и арифметико-логических устройствах. Относительно малые значения запаса помехоустойчивости и высокое потребление мощности устройствами на ЭСЛ представляют существенные недостатки этого логи- ческого семейства по сравнению с ТТЛ и КМОП. Другой недостаток — это работа от источника питания с отрицательным напряжением, а также несовместимые с други- ми семействами логические уровни. Эти факторы делают затруднительным примене- ние устройств на ЭСЛ в одних и тех же системах с ИС на ТТЛ и/или КМОП; прихо- дится использовать специальные схемы по сдвигу уровней, которые подключаются ме- жду устройствами различных логических семейств как на входах, так и на выходах. Таблица 8.11 У Сравнение серий быстродействующей логики Логическое семейство fpd, нс 100 кГц Запас помехоустойчивости в наихудших условиях, мВ Максимальная частота синхронизации, МГц Произведение задержки сигнала на мощность рассеяния, пДж 74AS 1,7 8 300 200 13,6 74F 3,8 6 300 100 22,8 74АНС 3,7 0,006 550 130 0,02 74AVC 2 0,006 250 * 0,012 74ALVT 2,4 0,33 400 * 0,79 74ALB 2,2 1 400 * 2,2 ЭСЛ 0,3 25 150 1400 7,5 * В составе этих серий нет триггеров * Имеется в виду телефонный кабель иностранного производства. — Прим, перев. Семейства логических интегральных микросхем 543
Контрольные вопросы 1. Проверьте истинность высказывания. а) Логическое семейство ЭСЛ обладает высокоскоросткыми характеристиками благодаря тому, что транзисторы не переходят в режим насыщения. б) Схемы на ЭСЛ обычно имеют два дополняющих друг друга выхода. в) Запас помехоустойчивости схем на ЭСЛ больше, чем для устройств на ТТЛ. г) Во время переключения логических состояний в схемах на ЭСЛ не образу- ются шумовые пики. д) Устройства на ЭСЛ потребляют меньшую мощность, чем стандартные уст-, ройства на ТТЛ. е) ЭСЛ и ТТЛ можно легко использовать вместе. | 8.16. Передаточный логический элемент (двунаправленный переключатель) на КМОП Существует специальный вид схем на КМОП, аналогов которого не имеют ни ТТЛ, ни ЭСЛ. Это передаточный вентиль или, как его еще называют, двунаправлен- ный переключатель, который работает как однополюсный одноколенный ключ, управляемый логическим сигналом, поступающим на его вход. Передаточный вен- тиль пропускает сигналы в обоих направлениях, поэтому он бывает очень полезен в цифровых и аналоговых системах. На рис. 8.43, а показана базовая структура двунаправленного переключателя. Он состоит из р-канального и n-канального полевых транзисторов, подключенных па- раллельно друг к другу таким образом, что они могут работать с обеими полярностя- ми входного напряжения. Вход управления (CONTROL) и инверсный ему вход ис- пользуются для включения ключа (при этом он закрывается) и выключения (ключ открывается). Когда на вход управления подается высокий уровень сигнала, оба по- левых транзистора открываются, а сам ключ закрывается. Когда же на вход управ- ления подается низкий уровень, полевые транзисторы закрываются, а ключ откры- вается. В идеале, схема функционирует подобно электромеханическому реле; однако на практике она не представляет собой настоящего короткого замыкания, когда ключ закрыт — его сопротивление 7?вкл составляет около 200 Ом. В открытом со- стоянии сопротивление ключа очень велико (около 1012 Ом), что практически можно принять за разрыв цепи. Для обозначения используют символ, показанный на рис. 8.43, б. Представленная выше схема называется двунаправленным переключателем, по- тому что входной и выходной контакты можно поменять местами. Сигналы, которые подаются на вход ключа, могут быть как цифровыми, так и аналоговыми при усло- вии, что они лежат в пределах от 0 до VDD вольт. На рис. 8.44 показана логическая блок-схема ИС 4016 с четырьмя двунаправлен- ными переключателями, которая также доступна на базе серии 74НС (маркируется 74НС4016). Эта ИС содержит четыре двунаправленных переключателя, которые ра- ботают так же, как описано ранее. Каждый ключ управляется независимо от других собственным сигналом управления. Например, состояние открыт/закрыт верхнего ключа управляется сигналом, который подается на вход CONTA. Так как ключи дву- направленные, любой вывод ключа может служить как входом так и выходом, на что указывает особая маркировка. 544 Глава 8
Рис. 8.43. Передаточный логический элемент (двунаправленный переключатель) на КМОП ВЫХ/ВХ А ВЫХ/ВХ в ВЫХ/ВХ с г вых/вх D Рис. 8.44. ИС 4016/74НС4016 с четырьмя двунаправленными переключателями Пример 8.12 Опишите работу схемы, показанной на рис. 8.45. Решение На рисунке показаны два двунаправленных переключателя, которые подключены друг к другу таким образом, что сигнал с общего аналогового входа может пройти либо на выход X, либо на выход У в зависимости от логического состояния на входе выбора выхода. Если на вход выбора подан сигнал с низким уровнем напряжения, Семейства логических интегральных микросхем 545
верхний ключ закрывается, а нижний открывается, следовательно, напряжение VBX передается на выход X. Если же на вход выбора подан сигнал с высоким уровнем напряжения, нижний ключ закрывается, а верхний открывается, поэтому напряже- ние VBX подключается к выходу У. На рис. 8.45, б показаны типичные формы сигна- лов. Обратите внимание, что для нормальной работы ключей значение напряжения VBX должно находиться в диапазоне от О В до +VDD. Двунаправленный переключатель на основе ИС 4016/74НС4016 может переключать- ся только сигналами, напряжения которых лежат между значениями О В и по- этому переключатель не может использовать управляющие сигналы обеих полярно- стей. ИС 4316 и 74НС4316, также состоящие из четырех двунаправленных переклю- чателей, могут работать и с биполярными аналоговыми сигналами. Эти устройства имеют дополнительный вывод на еще один источник питания, который обозначают Vee и который может выдавать отрицательные напряжения относительно земли. Он позволяет использовать входные сигналы с напряжениями от УЕЕ Д° Kdd- Например, при VEE = -5 В и VDD = +5 В величина напряжения аналогового управляющего сиг- нала может иметь любое значение от -5 до +5 В. Рис. 8.45. Пример 8.12: двунаправленные переключатели на ИС 74НС4016, используемые для переключения аналогового сигнала на любой из входов 1. Опишите работу двунаправленного переключателя на КМОП. 2. Проверьте истинность высказывания. Двунаправленных переключателей на ТТЛ не существует. 546 Глава 8
8.17. Сопряжение интегральных схем Под сопряжением понимают подключение выхода(-ов) одной схемы или системы ко входу(-ам) другой, которая имеет иные электрические характеристики. Часто не- возможно выполнить прямое подключение, потому что схема-формирователь (driver), которая вырабатывает сигнал, и схема-нагрузка (load), которая его принимает, име- ют различные электрические характеристики. Схемой сопряжения (interface circuit) называют схему, которая подключается ме- жду формирователем сигнала и нагрузкой; она предназначена для того, чтобы обес- печить преобразование сигнала с выхода формирователя в вид, совместимый с пара- метрами и требованиями нагрузки. В следующих разделах будет рассмотрена проблема сопряжения устройств раз- личных логических семейств. Этот вид сопряжения довольно часто встречается на практике в более-менее сложных цифровых системах, в разных узлах которых раз- работчики применяют устройства нескольких логических семейств, чтобы использо- вать преимущества каждого из них. Например, высокоскоростные серии ТТЛ (74AS, 74S) могут использоваться в тех блоках системы, где необходимо обеспечить функ- ционирование на высоких частотах, серия 74НСТ применяется в более медленных элементах, а в тех узлах, которые выполнены с малым и средним уровнем интегра- ции, целесообразно применять устройства на N-МОП. Интегральные схемы одной логической серии разрабатываются с учетом того, что они будут подключены друг к другу без каких-либо предварительных мер, направ- ленных на устранение ограничений, при условии, что не будет превышен коэффици- ент разветвления выхода. Если же к данному выходу нужно присоединить вход ИС, относящейся к другому логическому семейству или другой серии того же семейства, то обычно необходимо проверить значения рабочих токов и напряжений обоих уст- ройств. Эта процедура включает в себя проверку входных и выходных токов и на- пряжений, указанных в спецификации устройства. В табл. 8.9 были указаны вход- ные/выходные напряжения различных серий ИС. Эти же значения, как правило, подходят и для устройств конкретной указанной серии. В табл. 8.12 приведен список значений входных/выходных токов для стандартных устройств различных серий КМОП и ТТЛ (имеются в виду интегральные схемы без каких-либо специальных входных и выходных структур). Эти значения не подходят для таких устройств, как, скажем, буферы, которые могут работать с большими значениями тока, или инте- гральные схемы, внешние входы которых подключены к нескольким элементам на плате. Данные этих двух таблиц будут использованы в следующих разделах, чтобы продемонстрировать идеи и процедуры по сопряжению ИС. Однако на практике ра- зумнее ознакомиться со спецификацией конкретного устройства, чтобы иметь дело с реальными значениями токов и напряжений. Таблица 8.12. Сравнение серий быстродействующей логики Параметр КМОП ТТЛ 4000В 74НС/ нет 74АС/ ACT 74АНС/ АНСТ 74 74LS 74AS 74ALS 74F liH(max) 1 мкА 1 мкА 1 мкА 1 мкА 40 мкА 20 мкА 20 мкА 20 мкА 20 мкА 1л(тах) 1 мкА 1 мкА 1 мкА 1 мкА 1,6 мА 0,4 мА 0,5 мА 100 мкА 0,6 мА lo/Xmax) 0,4 мА 4 мА 24 мА 8 мА 0,4 мА 0,4 мА 2 мА 400 мА 1,0 мА loz.(max) 4 мА 24 мА 8 мА 16 мА 8 мА 20 мА 8 мА 20 мА Семейства логических интегральных микросхем 547
8.18. Управление КМОП на базе ТТЛ При сопряжении различных типов интегральных схем нужно обязательно убе- диться в том, что формирующее устройство подходит по требованиям рабочих токов и напряжений для нагрузки. Из табл. 8.12 видно, что значения входного тока для КМОП крайне малы по сравнению с выходными токами любой серии ТТЛ, т.е. уст- ройства на ТТЛ не имеют проблем с подключением к ним входов устройств на КМОП. Однако возникает проблема другого рода, если сравнить характеристики выход- ных напряжений ТТЛ со входными напряжениями КМОП. Из табл. 8.9 следует, что значение VoH(min) любой серии ТТЛ слишком мало по сравнению со значением VIH(min) серий 4000В, 74НС и 74АС. В этих случаях необходимо каким-то образом поднять уровень напряжения на выходе устройства на ТТЛ и привести его к допус- тимому для работы с КМОП виду. Наиболее распространенное решение этой проблемы сопряжения показано на рис. 8.46, где к выходу ТТЛ подключены источник питания +5 В с нагрузочным ре- зистором. Присутствие последнего заставляет значение напряжения на выходе ТТЛ подняться приблизительно на 5 В в состоянии с высоким уровнем, тем самым приво- дя его к нормальному виду для работы с любым входом КМОП. Такой нагрузочный резистор не нужен в случае, если устройство на КМОП относится к сериям 74НСТ или 74АСТ, потому что они были разработаны специально с учетом непосредственной работы с выходами ТТЛ, как видно из табл. 8.9. +5 В Рис. 8.46. В устройствах на ТТЛ для управления эле- ментами КМОП используется внешний нагрузочный резистор Управление высоковольтными устройствами на КМОП с помощью ТТЛ Если ИС на КМОП функционирует с большими напряжениями питания VDD, чем 5 В, ситуация усложняется. Например, при VDD = 10 В вход КМОП требует VIH(min) = = 7 В. Выходы многих устройств на ТТЛ не могут функционировать с напряжения- ми, большими чем 5 В, поэтому нагрузочный резистор, присоединяемый к источнику +10 В, не подойдет. Серии ТТЛ типа LS от некоторых производителей могут работать с повышенными напряжениями до 10 В, но обычно следует внимательно ознако- миться со спецификацией конкретного устройства, прежде чем использовать питание от источника с напряжением более 5 В. 548 Глава 8
Если повысить напряжение на выходе до величины VDD невозможно, есть и дру- гие альтернативы. Одно из решений показано на рис. 8.47 — в качестве интерфейса между двухтактным выходом ТТЛ и элементом на КМОП, работающим от напряже- ния VDD > 5 В, используется буфер с открытым коллектором на основе ИС 7407. Эта ИС является неинвертирующим аналогом ИС 7406 и имеет на выходе величину на- пряжения 30 В. Рис. 8.47. Для сопряжения ТТЛ с высоковольтными устройства- ми на КМОП может использоваться буфер с открытым кол- лектором на основе ИС 7407 Другое решение — использовать преобразователь уровня напряжения, например ИС 4504В. Эта микросхема на КМОП разработана специально для преобразования низковольтных напряжений (например, от устройств ТТЛ) в высоковольтные для то- го, чтобы их можно было подавать на КМОП. Контрольные вопросы 1. Что необходимо сделать для сопряжения стандартного выхода ТТЛ со входами устройств серий 74АС или 74НС? Пусть VDD — +5 В. 2. Назовите все способы сопряжения ТТЛ с высоковольтными устройствами на КМОП. 8.19. Управление ТТЛ на базе КМОП Перед тем как мы рассмотрим проблему сопряжения выходов КМОП со входами ТТЛ, будет полезно вспомнить выходные характеристики выходов КМОП в обоих ло- гических состояниях. На рис. 8.48, а показана эквивалентная схема выхода КМОП в состоянии с высо- ким уровнем сигнала. Сопротивление 7?Вкл р-канального полевого транзистора раз- мещается между выводом на выходе логического элемента и источником питания VDD (в это время n-канальный транзистор закрыт). Таким образом, на выходе КМОП наблюдается уровень напряжения, эквивалентный источнику с номиналом напряже- ния VDD и внутренним сопротивлением 2?вкл- Значение этого сопротивления обычно находится между 100 и 1000 Ом. На рис. 8.48, б показана эквивалентная схема выхода КМОП в состоянии с низ- кам уровнем. Сопротивление 2?вкл n-канального полевого транзистора размещается между выводом на выходе логического элемента и землей (в это время закрыт уже р- канальный транзистор). Таким образом, выход КМОП работает как низкое сопротив- ление на землю, т.е. происходит утечка тока. Семейства логических интегральных микросхем 549
Рис. 8.48. Эквивалентные схемы выхода КМОП в обоих логических состояниях Управление ТТЛ в состоянии с высоким уровнем с помощью КМОП Из табл. 8.9 видно, что сигнал с выходов КМОП по своей величине (Уон) легко удовлетворяет требованиям ко входному сигналу ТТЛ в состоянии с высоким уров- нем (Уш). В табл. 8.12 данные показывают, что сигналы с выходов КМОП дают даже большие значения тока (ZOH), чем было бы достаточно для управления входами ТТЛ (Лн)- Таким образом, для описания управления устройствами на ТТЛ в состоянии с высоким уровнем напряжения не требуется никаких дополнительных умозаключений. Управление ТТЛ в состоянии с низким уровнем с помощью КМОП Из табл. 8.12 видно, что входы ТТЛ в состоянии с низким уровнем имеют относи- тельно высокий входной ток, значения которого лежат в диапазоне от 100 мкА до 2 мА Серии 74НС и 74НСТ могут выдавать выходной сигнал с током до 4 мА, по- этому если речь идет об управлении одной нагрузкой ТТЛ любой серии, то никаких проблем не возникает. Однако устройства серии 4000В не могут формировать такие токи. Низкие значения тока ZOl схем этой серии являются недостаточными для того, чтобы управлять даже одним входом ИС серий 74 или 74AS. Устройства серии 74АНС имеют выходные данные, сравнимые с таковыми для устройств серии 74LS. Пример 8.13 Сколько входов устройств серии 74LS может управляться одним выходом серии 74НС? Сколько их будет в случае с серией 4000В? Решение Устройства серии 74LS имеют ZIL(max) = 0,4 мА. Устройства серии 74НС могут форми- ровать сигналы со значениями тока до 7Оь(тах) в 4 мА. Таким образом, одно устройство серии 74НС может управлять десятью нагрузками серии 74LS (4 мА/0,4 мА = 10). Устройства серии 4000В могут формировать сигналы с током величиной лишь 0,4 мА, поэтому такой сигнал может управлять лишь одним входом устройства серии 74LS. 550 Глава 6
Пример 8.14 Сколько входов устройств серии 74ALS может управляться одним выходом серии 74НС? Сколько их будет в случае с серией 74AS? Решение Устройства серии 74ALS имеют ZiL(max) = 100 мкА. Таким образом, одно устройство серии 74НС может управлять сорока входами серии 74ALS (4 мА/100 мкА = 40). При этом один выход серии 74НС может управлять только двумя входами серии 74AS (4 мА/2 мА = 2). Пример 8.15 Найдите ошибку в схеме, изображенной на рис. 8.49, а. а) Рис. 8.49. Примеры 8.15 и 8.16 Решение Элемент 74НС00 может сформировать сигнал с максимальным током 4 мА, в то вре- мя как три входа серии 74AS потребляют 3x2 мА = 6 мА. Пример 8.16 Найдите ошибку в схеме, изображенной на рис. 8.49, б. Решение Элемент ИЛИ-НЕ серии 4001В может сформировать сигнал с максимальным током 0,4 мА, а три входа серии 74LS потребляют 3 х 0,4 мА =1,2 мА. Ситуации, подобные показанным на рис. 8.49, случаются обычно тогда, когда бо- лее старое оборудование сопрягается с новыми образцами или когда для построения системы используется несколько цифровых узлов. Наиболее простое решение в слу- чае, приведенном на рис. 8.49, а, состоит в замене элемента 74НС00 аналогичным элементом 74АНС. Если же схема уже распаяна на плате или другой элемент в на- стоящий момент недоступен в совместимом по выводам корпусе, тогда придется применять схемы сопряжения. Схема интерфейса должна иметь низкие значения входного тока и достаточно высокие значения выходного тока, чтобы управлять со- стояниями на нагрузках. На рис. 8.50 представлена одна из возможных схем сопря- жения для случая, показанного на рис. 8.49, б. На неинвертирующий тристабильный буфер 74LS125 (рис. 8.50), который может управляться элементом серии 4001В, по- дан постоянный разрешающий сигнал. На выходе буфера формируется сигнал, кото- Семейства логических интегральных микросхем 551
рый легко может управлять нагрузками серии 74LS. В этой схеме элемент интерфей- са, в качестве которого используется буфер, пропускает сигнал с элемента серии 4001В на нагрузки серии без изменений во времени. Изменяется лишь амплитуда этих импульсов, чтобы логический 0 с выхода буфера переводил входы элементов се- рии 74LS в состояние с низким уровнем. Рис. 8.50. Буфер, используемый в качестве ин- терфейса между низковольтным устройством на КМОП и входами устройств серии 74LS Управление ТТЛ с помощью высоковольтных устройств на КМОП Некоторые устройства серии 74LS ТТЛ могут выдерживать входные напряжения величиной до 15 В. Такие устройства управляются непосредственно сигналами с вы- ходов КМОП, работающих от источника питания VDD = 15 В. Большинство обычных входов ТТЛ не могут выдерживать напряжения величиной 7 В, иначе они будут по- вреждены, поэтому обычно используют схемы сопряжения, чтобы управлять ими от высоковольтных устройств на КМОП. Функция схем интерфейса состоит в том, что- бы преобразовать сигнал в такой же, но с амплитудой всего 5 В, затем этот сигнал можно будет подать на вход ТТЛ. На рис. 8.51 показано, как элемент серии 4050 осуществляет преобразование логических уровней между 15 и 5 В. Рис. 8.51. Буфер серии 4050В может использоваться в качестве преобразователя уровней между высоковольтными устройствами на КМОП и устройствами на ТТЛ Контрольные вопросы 1. Для чего нужны схемы сопряжения (схемы интерфейса)? 2. Проверьте истинность высказывания. В состоянии с высоким уровнем выходы КМОП любой серии могут управлять входом ТТЛ любой серии. 3. Проверьте истинность высказывания. Выход КМОП любой серии может управлять одним входом ТТЛ любой серии. 552 Глава 8
4. Какие серии КМОП могут управлять устройствами на ТТЛ без использования нагрузочного резистора? 5. Сколько входов элемента 7400 может управляться сигналом с выхода 74НСТ00? 6. Каким образом высоковольтные устройства на КМОП сопрягаются с устройст- вами на ТТЛ? ________________ ____________________________________________ 8.20. Аналоговые компараторы напряжения Аналоговый компаратор напряжения представляет собой еще один очень полез- ный вид устройств, которые служат для сопряжения цифровых систем. Он особенно полезен в тех системах, которые содержат как аналоговые, так и цифровые компо- ненты. Аналоговый компаратор напряжения сравнивает два уровня напряжения. Ес- ли напряжение на положительном (+) входе больше напряжения на отрицательном входе (-), то на выходе компаратора формируется сигнал с высоким уровнем напря- жения. Если на отрицательном входе (-) напряжение больше, чем на положительном (+), то формируется сигнал с низким уровнем напряжения. Входы компаратора можно рассматривать как аналоговые, но выходной сигнал будет цифровым, так как он может принимать только два дискретных значения: с высоким уровнем и с низ- ким. По этой причине компаратор часто называют однобитовым аналого-цифровым преобразователем (АЦП). В главе 10 АЦП представлен более подробно. ИС LM339 — аналоговая линейная интегральная схема, содержащая четыре ком- паратора. На выходе каждого из них находится транзистор с открытым коллектором, так же как и на выходах ТТЛ с открытыми коллекторами. Напряжение питания Усс может варьироваться от 2 до 36 В, но обычно устанавливается немногим больше, чем величины сравниваемых аналоговых напряжений. Между выходом и тем же источ- ником питания, который используют цифровые схемы (обычно 5 В), необходимо подключить нагрузочный резистор. Пример 8.17 Инкубатор должен иметь аварийную систему оповещения, чтобы известить работни- ков в случае, если температура поднимется выше допустимого уровня. Измеритель- ное устройство выполнено на основе ИС LM34, которое использует напряжение, про- порциональное температуре окружающей среды. Выходной сигнал увеличивается на 10 мВ на каждые 100 градусов Фаренгейта*. Спроектируйте схему сопряжения тем- пературного датчика с цифровой схемой. Решение Необходимо сравнить между собой напряжение с датчика и фиксированное пороговое напряжение. Сперва высчитаем это пороговое значение. Сигнал с выхода компарато- ра должен принимать высокий уровень, если температура превышает 100° по Фарен- гейту. Следовательно, величина напряжения, снимаемая с ИС LM34, при этой темпе- ратуре будет равна 100° Ф • 10 мВ/° Ф = 1,0 В. Это значит, что необходимо подать напряжение величиной 1,0 В на отрицательный вход компаратора, a LM34 — к положительному входу. Чтобы сформировать напря- жение 1,0 В, относительно которого отмеряется сигнал с температурного датчика, * 37,8 °C. — Прим, перев. Семейства логических интегральных микросхем 553
можно использовать схему делителя напряжения и выбрать ток смещения 100 мкА. Входной ток интегральной схемы LM339 будет пренебрежимо мал, так как его вели- чина вряд ли превысит 1 мкА. Это значит, что сопротивление Ну + Я2 должно в сум- ме составлять 10 кОм. В данном примере можно использовать любые ИС с питанием от источника +5 В. На рис. 8.52 показана полная схема устройства. Вычисления, ко- торые необходимо выполнить для ее построения, приведены ниже: HR2 - Усс- ri+r2> R2 = Vr2 (Я1 + Я2)/Исс = 1.0 В- (10 кОм)/5 В = 2 кОм; Я/ = 10 кОм - Я2 — 10 кОм - 2 кОм = 8 кОм. Рис. 8.52. Температурный датчик, использующий аналоговый компаратор напряжения LM339 Контрольные вопросы I. *V ' * • - - • ’ - ‘ . * ? ’ ' • - 4 • — II. При каких входных условиях на выходе компаратора появляется логический сигнал с высоким уровнем напряжения? 2. При каких входных условиях на выходе компаратора появляется логический сигнал с низким уровнем напряжения? 3. Какой структуре более близок выход ИС LM339: двухтактному выходу ТТЛ I или выходу с открытым коллектором? 8.21. Поиск неисправностей Логическим импульсным генератором (logic pulser) называется инструмент, предназначенный для тестирования схем и поиска неполадок, который формирует импульс малой длительности при ручном возбуждении, обычно нажатием кнопки. Импульсный генератор, показанный на рис. 8.53, имеет острый кончик — им дотра- гиваются до узла схемы, на который нужно подать импульс. Генератор спроектиро- вав таким образом, что он воспринимает уровень напряжения в данном узле и фор- 554 Глава 8
мирует импульс противоположной полярности. Другими словами, если в узле уста- новился низкий уровень напряжения, импульсный генератор выдает узкий положи- тельный импульс; если же в узле наблюдается высокий уровень, то генератор сфор- мирует импульс отрицательной полярности. Рис. 8.53. Логический импульсный генератор может подавать импульс на любой узел, кото- рый не имеет прямого контакта с землей или источником питания Vcc Импульсный генератор применяется для изменения логического уровня в узле схемы только на одно мгновение; он действует, даже если к узлу подключен выход другого устройства. На рис. 8.53 логический импульсный генератор находится в кон- такте с узлом X, который подключен также к выходу элемента И-НЕ. Генератор имеет очень низкий выходной импеданс (обычно менее 2 Ом), поэтому он подавляет сигнал с выхода элемента И-НЕ и в узле устанавливается противоположный уровень напряжения. Однако импульсный генератор не может сформировать такой уровень в узле, напрямую подключенном (т.е. припаянном) к земле или источнику питания Vcc. Использование логического импульсного генератора и пробника при тестировании схемы Логический импульсный генератор может быть использован для ручной подачи на схему одного импульса или серии импульсов для того, чтобы протестировать ее реакцию на такой сигнал. Обычно для наблюдения этой реакции используется логи- ческий пробник. На рис. 8.53 показано, как тестируется работа J-K-триггера з ре- жиме переключения. Для этого на него с помощью генератора подаются импульсы, а в узле Q пробником проверяется реакция на выходе устройства. Такая комбинация импульсного генератора и пробника оказывается очень полезна при проверке работо- способности логического устройства, подключенного к схеме. Обратите внимание, что логический импульсный генератор используется без отключения от схемы выхода элемента И-НЕ, сигнал с которого управляет логическим уровнем в данном узле. Поиск замкнутых узлов Логический импульсный генератор и логический пробник можно также использо- вать для поиска узлов, замкнутых накоротко на землю или источник питания Vcc. Если прикоснуться к узлу одновременно импульсным генератором и пробником, а затем нажать кнопку формирования импульсов, пробник покажет появление в узле этого импульса. Если же пробник показывает постоянный низкий уровень напряже- ния, то узел замкнут на землю; если пробник показывает постоянный высокий уро- вень, то узел замкнут на питание Vcc. Семейства логических интегральных микросхем 555
Токовый детектор Токовым детектором называется инструмент, предназначенный для поиска неис- правностей в схеме, который регистрирует изменение тока во времени без разрыва провода или проводящих дорожек на печатной плате. Токовый детектор имеет изо- лированный кончик, который содержит магнитную катушку, реагирующую на наве- денный ток. Если поднести этот кончик к какой-либо точке схемы, то он зарегистри- рует изменение магнитного поля, вызванное изменением тока, в результате чего за- горится маленький индикаторный светодиод. С помощью токового детектора нельзя измерить статические уровни тока независимо от их величины, он реагирует только на изменение этих уровней. Детектор используется вместе с логическим генератором импульсов для определе- ния точного места замыкания на землю или источник питания Vcc (рис. 8.54). Узел X замкнут на землю через внутреннее замыкание на входе элемента 2. Если поста- вить кончик импульсного генератора в узел X и нажать кнопку формирования им- пульса, никакого изменения напряжения не наблюдается, потому что узел имеет не- посредственный контакт с землей. Однако произойдет всплеск тока, который через замкнутый участок цепи пройдет с выхода импульсного генератора на землю (1^). Этот импульс тока можно установить с помощью токового детектора. а) 6) Рис. 8.54. Логический импульсный генератор в паре с токовым детектором мо- гут использоваться для поиска замкнутых узлов На рис. 8.54, а токовый детектор размещается слева от узла X, после чего форми- руется импульс. Детектор не показывает импульс тока, так как через этот участок проводника ток не идет. На рис. 8.54, б детектор передвинут на другую сторону от- 556 Глава 8
носительно узла X, и снова с помощью импульсного генератора формируется им- пульс. Теперь индикатор на, токовом детекторе ясно показывает наличие всплеска тока через проверяемый участок электрической цепи. Это говорит о том, что замы- кание на землю произошло на входе элемента 2, а не на выходе элемента 1. Комбинация токового детектора и логического импульсного генератора очень час- то помогает при поиске неисправностей в схемах с открытыми коллекторами, откры- тыми стоками и тристабильными выходами, подключенными к общему узлу, сигнал на котором установился на постоянном уровне и не меняется. Чтобы точно убедить- ся, какой из выходов вышел из строя, используется именно эта пара инструментов. Контрольные вопросы 1. Объясните предназначение логического импульсного генератора. 2. Проверьте истинность высказывания. С помощью логического импульсного генератора можно сформировать всплеск напряжения на любом узле схемы. 3. Объясните предназначение токового детектора. 4. Проверьте истинность высказывания. Токовый детектор регистрирует только изменение тока. 1 I II . . ч . м -I - - - - - 1 - — - - -п - м ~ ~~Ц 1 --~ _ - ММ II м . . .- - И - I ----1- .1----—— — - —— Резюме 1. Все цифровые логические устройства в общих чертах похожи по своим принци- пам работы, но при этом они имеют массу отличий по характеристикам. Пони- мание терминологии, используемой для описания этих характеристик, необходи- мо для того, чтобы сравнивать и уметь отличать предназначение и основные па- раметры различных устройств. Зная свойства и ограничения каждого типа устройств, их можно разумно комбинировать, чтобы выгодно использовать пре- имущества того или иного типа для построения надежных цифровых систем. 2. Транзисторно-транзисторная логика является первым семейством логических устройств и применяется вот уже более 30 лет. Устройства на ТТЛ используют биполярные транзисторы. Данное логическое семейство включает в себя множе- ство элементов, которые используются в схемах с малой и средней степенями ин- теграции. С развитием технологии производства и улучшением характеристик элементов были разработаны различные серии устройств, которые маркируются по общему принципу. 3. Перед тем как присоединить друг к другу несколько устройств, необходимо знать, состояниями какого количества входов может управлять данный выход без потери работоспособности. Эта цифра называется коэффициентом разветвления. 4. Выходы с открытым коллектором и открытым стоком можно соединять вместе для реализации функции “монтажное И”. Тристабильные выходы также можно присоединять друг к другу, чтобы несколько устройств могли коллективно ис- пользовать общий тракт прохождения сигналов, который называется шиной. В таком случае разрешается, чтобы одновременно только одно устройство меняло логический уровень сигнала, поступающего на шину (т.е. управляло шиной). 5. Наиболее быстрые логические устройства относятся к логическому семейству на эмиттерно-связанной логике (ЭСЛ). Эта технология также использует биполяр- ные транзисторы, но она не применяется так широко, как ТТЛ, потому что не имеет столь удобных входных/выходных характеристик. 6. Для построения логических функций можно применять канальные полевые МОП-транзисторы. Основные преимущества МОП-технологии — низкая мощ- ность рассеяния и высокая плотность упаковки элементов. Семейства логических интегральных микросхем 557
7. Использование комплементарных полевых транзисторов привело к созданию ло- гического семейства КМОП. Эта технология заняла доминирующие позиции на рынке благодаря очень низкой мощности рассеяния и конкурентоспособной ско- рости. 8. Постоянная необходимость уменьшения потребляемой мощности и размеров уст- ройств привела к появлению нескольких новых серий логических элементов, ко- торые функционируют от источников питания с напряжениями 3,3 и 2,5 В. 9. Логические устройства, которые используют сразу несколько семейств ИС, не мо- гут работать правильно, если напрямую соединены различные ИС. Чтобы обеспе- чить надежное функционирование аппаратуры, необходимо сначала рассмотреть характеристики входных/выходных токов и напряжений и при необходимости принять меры к их согласованию. 10. Технология КМОП позволяет цифровой системе управлять аналоговыми ключа- ми, которые называются передаточными вентилями. Эти устройства могут про- пускать или блокировать аналоговый сигнал в зависимости от цифрового логиче- ского уровня на своем разрешающем входе, сигнал на котором управляет ключом. 11. Аналоговые компараторы напряжения также являются соединительным звеном между аналоговыми сигналами и цифровыми системами. Эти устройства срав- нивают аналоговые напряжения и на выходе выдают цифровой логический уровень, величина которого зависит от того, какое из двух сравниваемых на- пряжений больше. Компараторы позволяют аналоговой системе управлять цифровой системой. Основные термины коэффициент разветвления произведение задержки сигнала на мощ- ность рассеяния помехозащищенность запас помехоустойчивости функционирование в режиме источника тока функционирование в режиме нагрузки корпус с двухрядным расположением выво- дов (типа DIP) шаг размещения выводов поверхностный монтаж ТТЛ двухтактный вывод транзистор нагрузки транзистор установки рабочей точки плавающие входы развязка источника питания выход с открытым коллектором монтажное И буфер/драйвер тристабильный конфликт на шине эмиттерно-связанная логика (ЭСЛ) канальный полевой МОП-транзистор р-канальный полевой транзистор n-канальный полевой транзистор КМОП электростатический разряд (ЭСР) фиксация передаточный вентиль двунаправленный переключатель преобразователь уровня напряжения сопряжение (интерфейс) аналоговый компаратор напряжения логический импульсный генератор токовый детектор Упражнения Разделы 8.1—8.3 (В) 8.1. Даны две логические схемы, характеристики которых приведены в табл. 8.13. а) Какая схема обладает лучшей помехозащищенностью по постоянному току в состоянии с низким и с высоким уровнем напряжения? б) Какая схема может функционировать на более высоких частотах? в) Какая схема потребляет больший ток от источника питания? 558 Глава 8
Таблица 8.13. Сравнение сери '• быстродействующе логики*:; Схема А Схема В Питания, В 6 5 Мн(гтпп), В 1,6 1,8 Мь(тах), В 0,9 0,7 Уон(т'т), В 2,2 2,5 VoUmax), В 0,4 0,3 £lH, нс 10 18 4>hL, нс 8 14 ^Ъ, мВт 16 10 (В) 8.2. Обратитесь к спецификации ИС, приведенной в Приложении в конце книги. Пользуясь максимальными указанными значениями, определите величины -Рв(среДН). ^(средн) и произведение задержки сигнала на мощность рассея- ния для одного элемента каждой из следующих интегральных схем на ТТЛ (см. пример 8.2 в разделе 8.3): а) 7432; б) 74S32; в) 74LS20; г) 74ALS20; д) 74AS20. 8.3. Некоторое логическое семейство имеет следующие параметры напряжения: FIH(min) = 3,5 В; Уон(ппп) « 4,9 В; VIL(max) = 1,0 В; Уоь(шах) = 0,1 В. а) Какой максимальный шумовой пик положительной полярности может выдержать ИС этого семейства? б) Какой максимальный шумовой пик положительной полярности может выдержать ИС этого семейства? Практическое задание (В) 8.4. Напротив каждого пункта укажите термин или параметр, о котором идет речь. а) Ток на входе, протекающий при подаче на этот вход логической 1. б) Ток, потребляемый с источника питания Vcc, когда на всех выходах ус- тановились низкие уровни напряжения. в) Время, необходимое для переключения состояния выхода с 1 в 0. г) Величина, которая используется для сравнения общего быстродействия интегральных схем различных логических семейств. д) Величина пика напряжения, которую вход с высоким уровнем сигнала может выдержать без сбоев в работе. Семейства логических интегральных микросхем 559
е) Технология размещения интегральных схем, для которой не требуется высверливать отверстия в печатной плате. ж) Режим работы, при котором выход, находящийся в состоянии с низким уровнем напряжения, потребляет ток со входа подключенной к данному выходу схемы. з) Количество входов других элементов, состояния которых сигнал с дан- ного выхода может достоверно изменить. и) Один из транзисторов на выходе стандартной схемы на ТТЛ. к) Другой термин, которым описывают транзистор нагрузки Q4. л) Диапазон значений напряжений питания Vcc, разрешенный для ТТЛ. м) Значения VOH(min) и ViH(min) для серии 74ALS. н) Значения VjL(max) и V0L(max) для серии 74ALS. о) Режим работы, при котором выход, находящийся в состоянии с высо- ким уровнем напряжения, снабжает током нагрузку. Раздел 8.4 8.5. а) С помощью табл. 8.6 определите запасы помехоустойчивости для слу- чая, когда устройство серии 74LS управляет состояниями на входе уст- ройства серии 74ALS. б) Повторите п. а для устройства серии 74ALS, которое управляет состоя- ниями на входе устройства серии 74LS. в) Каким будет общий запас помехоустойчивости логической схемы, кото- рая использует комбинацию схем серий 74ALS и 74LS? г) Некоторая логическая схема имеет значение напряжения VIL(max) = — 450 мВ. Какие серии ТТЛ можно применять вместе с данной схемой? Разделы 8.5 и 8.6 Практическое задание (В) 8.6. а) Дайте определение коэффициента разветвления. б) Для какого типа элементов в состоянии с низким уровнем сигнала вхо- ды, соединенные вместе, всегда можно считать как одну нагрузку? в) Дайте определение термину плавающие входы. г) Что приводит к появлению всплесков тока в схемах на ТТЛ? К какому нежелательному эффекту они приводят? Что можно сделать, чтобы уменьшить этот негативный эффект? д) Если сигнал с выхода схемы на ТТЛ управляет состояниями входа дру- гой схемы на ТТЛ, откуда потечет ток 101? Куда потечет ток Ioli? 8.7. Используйте табл. 8.12, чтобы найти коэффициент разветвления для сопря- жения ИС двух логических семейств (первая ИС управляет состояниями второй): a) 74AS и 74AS; б) 74F и 74F; в) 74АНС и 74AS; г) 74НС и 74ALS. 560 Глава 8
(В) 8.8. Используя спецификацию J-K-триггера 74LS112, приведенную в Приложе- нии В, определите: а) Токи нагрузки на входах J и К в состояниях с высоким и низким уров- нями напряжения. б) Токи нагрузки на входах синхронизации и сброса в состояниях с высо- ким и низким уровнями напряжения. в) Сколько входов синхронизации триггера 74LS112 может управляться сигналом с одного выхода такого же триггера? (В) 8.9. На рис. 8.55, а показан J-K-триггер 74LS112, сигнал с выхода которого управляет 8 входами стандартных схем на ТТЛ. Такая цифра превышает коэффициент разветвления 74LS112, поэтому необходимо использовать бу- фер. На рис. 8.55, б показано одно из возможных решений, в котором при- меняется элемент И-НЕ буфера 74LS37 (с четырьмя элементами И-НЕ на борту), имеющий намного больший коэффициент разветвления, чем 74LS112. Обратите внимание, что используется выход Q , так как элемент И-НЕ инвертирует проходящий сигнал. С помощью спецификации устрой- ства 74LS37, приведенной в Приложении Б, определите а) максимальный коэффициент разветвления при использовании стандарт- ных схем на ТТЛ; б) максимальный ток утечки в состоянии с низким уровнем напряжения. б) а) Рис. 8.55. Упражнения 8.9 и 8.10 (D) 8.10. Буферные элементы обычно стоят дороже, чем простые логические элемен- ты, поэтому иногда некоторые неиспользуемые обычные элементы можно применять для решения проблем с нагрузкой, например, такой, которая представлена на рис. 8.55, а. Покажите, как с помощью элемента И-НЕ 74LS00 можно решить эту проблему. (В) 8.11. Схема на рис. 8.56 состоит из элемента исключающее ИЛИ 74LS86 и эле- ментов 74LS20, причем сигнал с выхода исключающее ИЛИ управляет со- стояниями на входах элементов И-НЕ. Определите, не превышен ли коэф- фициент разветвления элемента 74LS86 и объясните свое решение. Повтори- те тот же вопрос для случая, если все элементы относятся к серии 74AS. Для справки пользуйтесь табл. 8.7. Семейства логических интегральных микросхем 561
Рис. 8.56. Упражнения 8.11 и 8.13 (В) 8.12. Сколько времени понадобится на то, чтобы выходной сигнал с типичного элемента 74LSO4 изменил свое состояние в ответ на положительный фронт импульса на входе? (С) 8.13. Для схемы, изображенной на рис. 8.56, определите наибольшее время, за которое изменение сигнала на входе А повлияет на состояние выхода W. Используйте данные для наихудших условий и максимальные задержки распространения сигнала. (Подсказка: помните, что элемент И-НЕ инверти- рует проходящий сигнал.). Повторите тот же вопрос для случая, когда все устройства принадлежат к серии 74ALS. 8.14. а) На рис. 8.57 показан счетчик 74LS193 со входом сброса (MR), который управляется по высокому уровню сигнала, выдаваемому при нажатии кнопки. Резистор R используется, чтобы в то время, когда ключ открыт, поддерживать на входе сброса низкий уровень напряжения. Рассчитайте максимальное значение сопротивления R. б) Повторите задание п. а для счетчика 74ALS193. (С, Т) 8.15. На рис. 8.58, а показана схема, которая используется для преобразования синусоидального сигнала с частотой 60 Гц в сигнал одной полярности с час- тотой 60 имп./с, который применяется для надежного переключения триг- геров и счетчиков. Такую схему можно применять и в электронных часах. 562 Глава В
Рис. 8.57. Упражнение 8.14 Рис. 8.58. Упражнение 8.15 а) а) Поясните работу схемы. б) Техник, который тестировал работу схемы, обнаружил, что на выходе элемента 74LS14 все время наблюдается низкий уровень напряжения. Проверив форму сигнала на входе инвертора, он получил сигнал, изо- браженный на рис. 8.58, б. Полагая, что инвертор неисправен, техник заменил микросхему, но получил тот же самый результат. В чем, по вашему мнению, проблема и как ее можно исправить? (Подсказка: вни- мательно изучите форму сигнала vx.) (Т) 8.16. Для каждого из сигналов, формы которых изображены на рис. 8.59, опреде- лите, почему сигнал не сможет надежно переключить триггер 74LS112, если будет подан на вход синхронизации. Рис. 8.59. Упражнение 8.16 Семейства логических интегральных микросхем 563
(Т) 8.17. Техник проводит лабораторные испытания логической схемы. При проверке функционирования схемы обнаружилось, что многие триггеры и счетчики переключаются хаотически. Техник проверил шину питания Vcc по посто- янному току, но показания (4,97 В) оказались приемлемыми для устройств на ТТЛ. Затем техник проверил проводку и контакты, поочередно заменив каждую ИС, но проблема не исчезла. Наконец, техник решил проверить сигнал с источника питания на осциллографе. Был замечен сигнал, изо- браженный на рис. 8.60. Какая причина мот ла привести к появлению шу- мов в сигнале источника? Что забыл включить в схему техник, когда про- водил испытания? V. -рутуу-у-- И,ЗВ Рис. 8.60. Упражнение 8.17 Разделы 8.7—8.11 (В) 8.18. Какой тип полевых транзисторов открывается при подаче а) 5 В на элемент и 0 В на источник? б) 0 В на элемент и 5 В на источник? (В) 8.19. Какие из следующих пунктов описывают преимущества КМОП-технологии над ТТЛ? а) Большая плотность упаковки элементов. б) Более высокое быстродействие. в) Больший коэффициент разветвления. г) Более низкий выходной импеданс. д) Более простой технологический процесс изготовления. е) Большая приспособленность для применения в схемах с низким уровнем интеграции. ж) Более низкие значения Ро (менее 1 МГц). з) Только транзисторы в качестве основного схемного элемента. и) Более низкие значения входных емкостей. к) Меньшая чувствительность к электростатическим разрядам. 8.20. Какое из приведенных ниже условий скорее всего даст меньшее среднее значение Pd для логической схемы на КМОП? Поясните ответ. a) Vde> = 5 В, максимальная частота переключения /тах = 1 МГц. б) VdD = 5 В, fmex = Ю кГц. в) Vdd = Ю В, /тах = 10 кГц. (С) 8.21. Сигналы с выхода каждого инвертора ИС 74LS04 управляют двумя входами элемента 74НСТ08. По статистике, 99 % времени на входах всех инверторов наблюдается низкий уровень напряжения. Определите максимальную мощ- ность, которую рассеивает вся микросхема 74LS04. 564 Глава 8
8.22. Используя данные из табл. 8.9, рассчитайте запас помехоустойчивости для состояния с высоким уровнем сигнала для случая, когда элемент серии 74НС управляет состояниями на входе стандартного элемента серии 74LS. 8.23. По какой причине может произойти фиксация в ИС на КМОП? Что может случиться в такой ситуации? Какие меры необходимо принять, чтобы не допустить фиксацию? 8.24. Обратитесь к спецификации элементов И-НЕ интегральной схемы 74НС20, приведенной в Приложении Б. Используя максимальные значения нужных величин, рассчитайте параметры Рс(средн), <ра(средн) и произведение за- держки распространения сигнала на мощность рассеяния. Сравните полу- ченные данные со значениями, рассчитанными в упражнении 8.2 для уст- ройств на ТТЛ. Разделы 8.12 и 8.13 Практическое задание (В) 8.25. а) Дайте определение термину монтажное И. б) Что такое нагрузочный резистор? Для чего он нужен? в) Какие виды выходов ТТЛ можно без опасений соединить вместе? г) Что такое конфликт на шине? (D) 8.26. ИС 74LS09, выполненная на ТТЛ, представляет собой четыре элемента И, каждый из которых имеет два входа и выход с открытым коллектором. По- кажите, как на основе этой интегральной схемы можно реализовать логиче- скую функцию x = ABCDEFG-HI JK- М. (В) 8.27. Определите логическое выражение на выходе X схемы, изображенной на рис. 8.61. (С) 8.28. Какое из следующих действий с наибольшей вероятностью приведет к по- вреждению двухтактного выхода ТТЛ при переключении на нем уровня на- пряжения с высокого на низкий? а) Подключение выхода к напряжению питания +5 В. б) Подключение выхода к земле. в) Подача на выход напряжения с амплитудой 7 В. г) Подключение выхода к другому двухтактному выходу ТТЛ. (D) 8.29. На рис. 8.62, а показан инвертирующий буфер 7406 с открытым коллекто- ром, используемый для управления светодиодом, который показывает со- стояние на выходе Q триггера. Номинальные параметры напряжения и то- ков для светодиода таковы: VF = 2,4 В при IF = 20 мА, /f<max) = 30 мА. а) Какое напряжение появится на выходе элемента 7406 при Q = 0? б) Подберите подходящую величину сопротивления последовательно под- ключаемого резистора, необходимого для правильной работы схемы. Семейства логических интегральных микросхем 5G5
8.30. На рис. 8.62, б сигнал с выхода элемента 7406 используется для переключе- ния тока, который подается на реле. а) Какое напряжение установится на выходе элемента 7406, когда на его входе установится Q = 0? б) Какой наибольший ток реле может использоваться? в) Как нужно изменить данную схему, чтобы вместо элемента 7406 ис- пользовать элемент 7407? (N) 8.31. На рис. 8.63 показано, как можно использовать два тристабильных буфера для построения двунаправленного приемопередатчика, который позволяет передавать цифровые данные в любом направлении (из точки А в точку В и из точки В в точку А). Опишите работу схемы для двух состояний сигнала на входе управления направлением передачи. 566 Глав/. 8
74LS125 Рис. 8.63. Упражнение 8.31 В 8.32. Схема, показанная на рис. 8.64, используется для подачи сигналов на раз- решающие входы схемы, изображенной на рис. 8.37. а) Определите, какой из сигналов (А, В или С) появится на шине для всех комбинаций состояний на входах х и у. б) Объясните, почему схема не будет работать, если элемент ИЛИ-НЕ за- менить на исключающее ИЛИ-НЕ. 8.33. Какой тип счетчика (из описанных в главе 7) можно использовать для управления разрешающих входов схемы, показанной на рис. 8.37, чтобы при этом в каждый момент времени был включен только один буфер и все буферы включались поочередно? Раздел 8.15 Практическое задание (В) 8.34. а) Какое логическое семейство целесообразно применять в схемах, где за- дача первостепенной важности состоит в достижении максимального бы- стродействия? б) Какое логическое семейство использует наименьшую мощность? в) Какая серия ТТЛ является наиболее быстрой? Семейства логических интегральных микросхем 567
г) Какая серия КМОП (использующая только КМОП-элементы) является наиболее быстрой? д) Какое семейство имеет наилучшее значение произведения задержки распространения сигнала на мощность рассеяния? 8.35. Назовите два наиболее важных отличия между выходами ЭСЛ и ТТЛ или КМОП. Раздел 8.16 8.36. Определите приблизительные значения выходных напряжений Увых для обоих состояний на входе управления (CONTROL) схемы, изображенной на рис. 8 65. +5 В 68 кОм 74НС4016 Управляющий вход -> Рис. 8.65. Упражнение 8.36 8.37. Определите форму сигнала на выходе X схемы, показанной на рис. 8.66, для заданных входных сигналов (на том же рисунке). Пусть сопротивление двунаправленного переключателя Ввкл ~ 200 Ом. 74НС4016 Рис. 8.66. Упражнение 8.37 5В С ОВ (N, D, С) 8.38. Определите коэффициент усиления операционного усилителя, схема которо- го показана на рис. 8.67, для обоих состояний на входе выбора усиления (GAIN SELECT). Эта схема служит примером основного принципа цифрового усиления сигнала. 568 Глава 8
Разделы 8.18—8.20 (В) 8.39. а) Входы какой серии КМОП могут управляться сигналами, идущими не- посредственно с выходов ТТЛ? б) Каково назначение преобразователя логических уровней? в) Для чего нужен буфер между выходами некоторых серий КМОП и вхо- дами ТТЛ? г) Проверьте истинность высказывания. Большинство выходов КМОП не могут обеспечить необходимый ток для установки на входе ТТЛ состоя- ния с высоким уровнем. (Т) 8.40. Сигнал с выхода Q устройства серии 74LS на ТТЛ управляет инвертором на КМОП, работающим от напряжения питания VDD = 10 В (рис. 8.68, а). Формы сигналов в узлах Q и X приведены на рис. 8.68, б. Какова возмож- ная причина того, что в узле X наблюдается постоянный высокий уровень напряжения? а) Источник питания 10 В неисправен. б) Нагрузочный резистор RP имеет слишком большое сопротивление. в) Напряжение сигнала на выходе элемента 74LS112 падает ниже 10 В и остается на уровне 5,5 В в состоянии с высоким уровнем. Для схем на КМОП такое значение напряжения лежит в неопределенном интервале. г) Вход КМОП чрезмерно перегружает выход триггера. 8.41. а) Пользуясь данными из табл. 8.12, определите, сколько входов серии 74AS может управляться одним выходом серии 4000В. б) Повторите п. а для выхода серии 74НС. (Т) 8.42. На рис. 8.69 изображена логическая схема, которая в результате некачест- венной разработки имеет некоторые недостатки. Схема содержит как мини- мум восемь мест, где не были приняты во внимание характеристики инте- гральных схем. Найдите как можно больше таких упущений. Семейства логических интегральных микросхем 569
+10 в +5 В®------ К а) 5,5 В---------------- Q 0 ----------------- L- Для 40498 при VDD = 10В V|L(max) = 3 В У|Н(пъп) = 7 В X 10 В ------------------------------------------ б) Рис. 8.68. Упражнение 8.40 (Т) 8.43. Повторите упражнение 8.42, немного изменив заданную схему: а) Все интегральные схемы на ТТЛ заменены эквивалентами серии 74LS. б) ИС серии 4001В заменена ИС 74НСТ02. 8.44. Пользуясь данными из табл. 8.12, объясните, почему схема, изображенная на рис. 8.70, не может функционировать в таком виде, в котором она пред- ставлена. Как можно исправить данную схему? Раздел 8.21 (D) 8.45. Бензобак автомобиля имеет датчик уровня топлива, который работает как потенциометр. Уровень бензина отмечается с помощью поплавка, который может двигаться вверх или вниз, в результате чего меняется сопротивление переменного резистора и вырабатывается напряжение, пропорциональное уровню бензина в баке. При полном баке датчик выдает напряжение вели- чиной 12 В, если бак пуст, выдается напряжение 0 В. Спроектируйте схему, использующую ИС LM339, которая бы включала индикатор отсутствия бен- зина, если уровень напряжения, поступающего с датчика, опускается ниже 0,5 В. (D) 8.46. Схема температурного датчика на основе аналогового компаратора, изобра- женная на рис. 8.52, была несколько изменена — датчик на основе ИС LM34 заменили ИС LM35, выходной сигнал которой изменяется на 10 мВ на каждый градус Цельсия. При этом снова необходимо, чтобы при превыше- нии температурой величины 100 °Ф (~38 °C) срабатывал сигнал тревоги, для чего нужен высокий уровень напряжения. Пересчитайте значения сопротив- лений Rx и jR2 Для новой модификации температурного датчика. 570 Глав/. 8
74S112 74S112 74S112 Рис. 8.69. Упражнения 8.42 и 8.43 Семейства логических интегральных микросхем 571
(Т) 8.47. На рис. 8.71 показана схема на основе ИС 74НС05, которая состоит из шес- ти инверторов с открытым стоком. Инверторы соединены с помощью функ- ции "монтажное И”. При помощи импульсного генератора и логического пробника было определено, что в узле X постоянно наблюдается только вы- сокий уровень напряжения. Опишите процедуру использования токового де- тектора, которая помогла бы определить и изолировать неисправность. 74НС05 В» С» А> D* Е< F* Рис. 8.71. Упражнение 8.47 (Т) 8.48. Схема, показанная на рис. 8.53, замкнута случайной каплей припоя на зем- лю где-то между выходом элемента И-НЕ и входом триггера. Опишите про- цедуру, которая помогла бы определить место неисправности. (Т) 8.49. На рис. 8.46 логический пробник показывает, что на нижнем конце нагру- зочного резистора постоянно наблюдается низкий уровень сигнала. Исполь- зуя логический импульсный генератор и токовый детектор, техник опреде- ляет величину тока в проводе, соединяющем выход ТТЛ с резистором. Ка- кая из следующих неисправностей могла произойти: а) На сопротивлении RP произошел разрыв. б) Произошло замыкание коллектора и эмиттера транзистора на выходе ТТЛ-элемента. в) Произошел разрыв контакта между сопротивлением RP и элементом на КМОП. 572 ГЛАВ"* 8
(Т) 8.50. На рис. 8.46 логический пробник показывает, что на нижнем конце нагру- зочного резистора НР постоянно наблюдается высокий уровень сигнала. Для определения тока между сопротивлением RP и элементом на КМОП исполь- зуются логический импульсный генератор и токовый детектор. Какова ве- роятная неисправность схемы? Функционирование микрокомпьютеров (С, N) 8.51. В главе 5 описывается, как микропроцессор (МПУ) под управлением про- граммного обеспечения передает данные во внешний регистр. Электриче- ская схема МПУ, подключенного к регистру, показана еще раз на рис. 8.72. Как только данные поступят в регистр, они будут сохранены и использова- ны для той или иной цели. Иногда каждый отдельный бит регистра пред- ставляет собственную функцию. Например, в компьютере, которым оснаще- ны автомобили, каждый бит представляет состояние физической перемен- ной, величина которой контролируется с помощью микропроцессора. Один бит может показывать превышение температурой двигателя допустимого предела, другой — понижение давления масла и т.д. Кроме того, биты, за- писанные в регистр, можно также использовать для формирования аналого- вого выходного сигнала, который может использоваться для управления устройствами, требующими аналоговых входных сигналов со многими уров- нями напряжения. Рис 872. Упражнение 8.51 На рис. 8.73 показано, как можно использовать микропроцессор, чтобы сформировать аналоговый сигнал. Для этого надо взять данные из регистра (см. рис. 8.72) и использовать их для управления входами суммирующего усилителя. Предположим, что микропроцессор выполняет программу, со- гласно которой каждые 10 мкс в регистр передается новый набор данных, как показано в табл. 8.14. Нарисуйте форму выходного сигнала УВых- Семейства логических интегральных микросхем 573
Рис. 8.73. Упражнение 8.51 Таблица 8.14 •• • •• . • Время, мкс 0 10 20 30 40 50 60 70 80 90 100 Данные из МПУ 0000 0010 0100 0111 1010 1110 1111 1111 1110 1100 1000 Ответы к контрольным вопросам Л Раздел 8.1 1. См. по тексту. 2. Нет. 3. Нет; запас помехоустойчивости VNH представляет собой разность между напря- жениями V0H(min) и VIH(min). 4. Нет. 574 Глава 8
5. В режиме нагрузки ток поступает на выход элемента со входа схемы, которой данный элемент управляет. В режиме источника тока ток поступает с выхода элемента на схему, которой данный элемент управляет (т.е. выход как бы пред- ставляет собой эквивалентный источник тока). 6. Корпус типа DIP. 7. PLCC (с ножками в форме латинской буквы J). 8. Ножки корпусов, выполненных по технологии поверхностного монтажа, загнуты. 9. Вообще не будет. Раздел 8.2 1. Да. 2. В состоянии с низким уровнем сигнала. 3. Преимущества: ускоренное время переключения состояний; недостатки: большие выбросы тока при переключении из состояния с низким уровнем сигнала в со- стояние с высоким уровнем. 4. Q3. 5- Q4- 6. В ней отсутствует многоэмиттерный транзистор. Раздел 8.4 1. a) 74AS; б) 74S, 74LS; в) стандартная 74 серия; г) 74S, 74LS6 74AS, 74ALS; д) 74ALS. 2. Все три могут функционировать на частоте 40 МГц, но счетчик 74ALS193 по- требляет меньшую мощность. 3. Q4 и Q5 соответственно. Раздел 8.5 1. Значение сопротивления транзистора Q4 в открытом состоянии и напряжение Роь(тах). 2. 12. 3. Значения выходных напряжений могут выйти из разрешенных диапазонов логи- ческого 0 и логической 1. 4. Два; пять. Раздел 8.6 1. С низким уровнем напряжения. 2. Через сопротивление 1 кОм присоединить к источнику питания Vcc\ присоеди- нить к другому используемому входу. 3. Присоединить к земле; присоединить к другому используемому входу. 4. Нет; только в состоянии с низким уровнем сигнала. 5. Развязкой называется подключение между источником питания Исе и землей на каждой ИС конденсаторов небольшой емкости, работающих на радиочастотах и предназначенных для того, чтобы отфильтровать высокочастотные выбросы на- СЕМЕЙСТВА ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ МИКРОСХЕМ 575
пряжения, вызванные быстрыми изменениями тока во время переходов от низко- го уровня к высокому. Раздел 8.9 1. КМОП-логика использует как р-канальные, так и n-канальные полевые транзи- сторы. 2. Из одного. 3. Из шести. Раздел 8.10 1. 74С, НС, НСТ, АНС, АНСТ. 2. 74АСТ, НСТ, АНСТ. 3. 74С, НС/НСТ, АС/ACT, АНС/АНСТ. 4. Биполярная КМОП-технология (BiCMOS). 5. Максимально допустимая задержка распространения сигнала; входная емкость каждой нагрузки. 6. Смотрите по тексту. 7. КМОП. 8. а) Да. б) Нет. в) Нет. г) Нет. Д) Да. е) Нет. Раздел 8.11 1. На одной подложке можно разместить большее количество схем; более высокие скорости функционирования. 2. Нет возможности работать с повышенными напряжениями; увеличивается мощ- ность рассеяния, что может привести к перегреву микросхемы. 3. Такую же, как и стандартный вход ТТЛ: 2,0 В. 4. 74ALVC, 74LV. 5. 74LVT. Раздел 8.12 1. Когда несколько выходов различных схем подключены друг к другу. 2. Может возникнуть ток опасной величины; значение напряжения Vol превышает максимально допустимое значение VOL(max). 3. В нем отсутствует транзистор Q3, т.е. коллектор нагрузочного транзистора Q4 ни- куда не подключен. 4. Чтобы сформировать уровень Уон- 5. ABCDEF. 6. Отсутствует активный транзистор установки рабочей точки. 7. См. рис. 8.34. 576 Глава 8
Раздел 8.13 1. С высоким уровнем напряжения, с низким уровнем напряжения, высокоимпе- дансное. 2. В высокоимпедансном. 3. Состояние шины, в котором с нескольких тристабильных выходов, связанных с общей шиной, одновременно разрешена выдача сигналов. 4. = -Ев = 0, Eq = 1. 5. См. рис. 8.39. Раздел 8.14 1. Менее чем на 4 дюйма (10 см). 2. Сопротивление, емкость, индуктивность. 3. Для уменьшения отражений и реактивных затухающих колебаний в линии. Раздел 8.15 1. а) Да. б) Да. в) Нет. г) Да. Д) Нет. е) Нет. Раздел 8.16 1. Состояние (открыт/закрыт) двунаправленного переключателя, который может пропускать аналоговые сигналы в любом направлении, контролируется логиче- ским уровнем сигнала на входе управления. 2. Да. Раздел 8.18 1. Между выходом ТТЛ и источником питания +5 В необходимо подключить нагру- зочный резистор. 2. Между выходом ТТЛ и входом КМОП необходимо вставить высоковольтный бу- фер (7407) либо преобразователь уровня напряжения (4504В). Раздел 8.19 1. Они преобразуют сигнал, поступающий от ведущей схемы, в сигнал, который бу- дет совместим с требованиями входа ведомой схемы (нагрузки). 2. Да. 3. Нет; например, устройство серии 4000В не сможет функционировать, если на не- го поступит ток 7jl с устройства серий 74 или 74AS. 4. 74НСТ и ACT. 5. Два. 6. Через преобразователь уровня напряжения (например, 4050В). Раздел 8.20 1. v(+) > v(_). Семейства логических интегральных микросхем 577
2. V()>V(+). 3. Выходу с открытым коллектором. Раздел 8.21 1. Он служит для формирования импульса напряжения выбранной полярности, ко- торый подается на узел, не замкнутый на источник питания Vcc или землю. 2. Нет. 3. Он показывает наличие импульса тока. 4. Да. 578 Глава 8
Глава 9 Логические схемы средней степени интеграции Содержание: 9.1. Дешифраторы 9.2. Преобразование двоично-десятичного кода в семисегментный 9.3. Жидкокристаллические индикаторы 9.4. Шифраторы 9.5. Поиск неисправностей 9.6. Мультиплексоры (селекторы данных) 9.7. Применение мультиплексоров 9.8. Демультиплексоры (распределители данных) 9.9. Дополнительные сведения о поиске неисправностей 9.10. Компараторы величин 9.11. Преобразователи кодов 9.12. Шины данных 9.13. Тристабильный регистр 74ALS173/HC173 9.14. Функционирование шины данных 9.15. ПЛУ и таблицы истинности
В ЭТОЙ главе: анализ и применение шифраторов и дешифраторов в различных типах схем и приложений; сравнение преимуществ и недостатков светоизлучающих диодов (СИД) и жидкокристаллических индикаторов (ЖКИ); использование наблюдения и анализа при определении неисправностей в цифровых схемах; анализ применения схем и принципов функционирования мультиплексо- ров и демультиплексоров; сравнение двоичных чисел с помощью компараторов величин; объяснение принципов функционирования преобразователей кода; перечень мер, необходимых для подключения между собой цифровых схем с использованием шины данных; описание формата ввода данных в язык CUPL в виде таблиц истинности для реализации на ПЛУ схем, эквивалентных схемам ССИ. Введение Цифровые системы работают с информацией в двоичном виде, которая постоянно обрабатывается примерйо одним и тем же способом. Некоторые из этих операций включают в себя: (1) кодирование и декодирование; (2) мультиплексирование; (3) де- мультиплексирование; (4) сравнение; (5) преобразование кода; (6) передачу данных. Все указанные, а также другие операции легко выполнить, имея под рукой различ- ные интегральные схемы средней степени интеграции (Medium-Scale-Integration — MSI), которые в дальнейшем будем кратко именовать схемами средней степени инте- грации, или просто схемами ССИ. В этой главе представлено несколько общих типов устройств на схемах ССИ. Вна- чале для каждого устройства кратко описываются основные принципы функциони- рования, затем раскрываются детали работы конкретной ИС, после чего показано, как эти схемы работают сами по себе и в комбинациях с другими устройствами в различных практических приложениях. 9.1. Дешифраторы Дешифратором называется логическая схема, на входы которой поступает набор исходных данных в виде двоичного кода, возбуждающего (активизирующего) только один выход, соответствующий двоичному числу на входе. Проще говоря, дешифратор следит за комбинацией битов на входе, определяет, какое двоичное число они пред- ставляют, и затем возбуждает сигнал на том выходе, который соответствует этой входной комбинации битов; все остальные выходы в это время не работают. На уп- рощенной блок-схеме дешифратора (рис. 9.1) показаны N входов и М выходов. Каждый из N входов может находиться в нулевом или единичном состоянии, поэтому всего существует 2N доступных входных комбинаций или кодов. Для каждой из этих комбинаций будет активизирован только один из М выходов, т.е. с него будет сниматься сигнал с высоким уровнем напряжения, на остальных же выходах будет наблюдаться низкий уровень сигнала. Многие дешифраторы спроектированы таким образом, что имеют выходы, для которых активным будет сигнал с низким уровнем напряжения, в то время как на остальных выходах будут сигналы с высоким. Такой дешифратор можно отличить по маленьким кружкам на выходах, обозначающим инверсию. 580 Глава 9
входных кода высокий уровень кодов присутствует только на одном выходе Рис. 9.1. Общая блок-схема дешифратора Некоторые дешифраторы используют не все 2N доступных входных кода, а лишь некоторые из них. Например, дешифратор, который преобразует двоично-десятичный код в десятичный, имеет четырехбитовый вход и десять выходов, соответствующих десяти двоично-десятичным кодовым группам от 0000 до 1001. Дешифраторы такого плана часто разрабатываются с учетом того, что при поступлении неиспользуемой кодовой комбинации не будет активизирован ни один выход устройства*. В главе 7 было показано, как дешифраторы можно использовать в комбинации со счетчиками, чтобы определять различные состояния последних. В этом случае дво- ичный код, поступающий на дешифратор, снимается с выходов триггеров, из кото- рых состоит счетчик. Такая же логика используется и в других случаях независимо от того, откуда поступает на дешифратор входной код. На рис. 9.2 показана схема дешифратора с тремя входами и 23 = 8 выходами. Здесь используются элементы И, поэтому на выходах активным, или управляющим уровнем является высокий. Сле- дует отметить еще раз, что для каждого заданного входного кода активизируется лишь один выход (т.е. на нем появляется высокий уровень сигнала), который соот- ветствует десятичному эквиваленту двоичного входного кода. Например, сигнал с высоким уровнем напряжения появляется на выходе Ов только при СВА = 1102 = бю- Такой дешифратор может называться по-разному: дешифратор с 3 входами и 8 выходами (3-line-to-8-line decoder), двоично-восьмеричный дешифратор (binary-to-octal decoder), так как он преобразует трехбитовый двоичный код со входа в восьмерич- ный выходной код, активизируя один из восьми выходов. Иногда такое устройство обозначают как дешифратор “1 из 8”, потому что каждый момент времени только 1 из 8 выходов может иметь активный сигнал. Разрешающие входы Некоторые дешифраторы имеют один или несколько разрешающих входов (в дан- ной книге они обозначаются английским словом ENABLE), которые используются для управления работой дешифратора. Например, взглянув на рис. 9.2, на котором изображена схема дешифратора, можно представить себе общую сигнальную линию, по которой передается разрешающий сигнал. Эту линию можно было бы присоеди- нить к четвертому входу каждого элемента И. Если на разрешающий вход ENABLE подать высокий уровень напряжения, то дешифратор будет функционировать так, как было описано в предыдущем абзаце, и комбинация битов со входов А, В и С оп- ределит, на каком выходе сигнал примет высокий уровень. Однако при подаче на разрешающий вход низкого уровня сигнала все выходы будут принудительно сбро- шены в состояния с низкими уровнями напряжения независимо от того, какие кодо- * Такие дешифраторы часто называют неполными, в отличие от полных, где используются все кодовые комбинации. — Прим, перев. Логические схемы средней степени интеграции 581
вые комбинации были поданы на входы А, В и С. Иначе говоря, данный дешифратор будет функционировать только при подаче на разрешающий вход высокого уровня напряжения. С В А io о 6 о о о о ю о <0 о о ООО 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Рис. 9.2. Дешифратор с 3 входами и 8 выходами (иногда называемый “3 из 8”) На рис. 9.3, а показана функциональная схема дешифратора 74ALS138, взятая из справочника фирмы Fairchild по ТТЛ-устройствам TTL Data Book. Внимательно изу- чив приведенную схему, можно совершенно точно выяснить, как функционирует данное устройство. Во-первых, обратим внимание на тот факт, что выходные сигна- лы снимаются с элементов И-НЕ, т.е. управляющим уровнем будет низкий уровень напряжения. На это также указывают специфические обозначения выходов: О., Ов , О6 и т.д.; здесь черта над обозначением показывает инверсию. Кодовые комбинации подаются на входы А2, А} и А. где А2 — старший значащий бит. Благодаря тому, что данный дешифратор также имеет три входа и восемь выходов, он относится к тому же типу устройств, что и предыдущая рассмотренная нами схема. 582 Глава 9
Ei Ё2 E3 О 0 1 1 X X X 1 X X X О Выходы Реакция на входной код AgA, Ад Дешифрации нет — на всех выходах высокий уровень Дешифрации нет — на всех выходах высокий уровень Дешифрации нет — на всех выходах высокий уровень б) Рис. 9.3. а) Функциональная схема дешифратора 74ALS138; б) таблица ис- тинности; е) логический символ. (Представлено с разрешения компании Schlumberger company) Входы Ех, Е2 и £3 — разрешающие. На них подаются отдельные сигналы, кото- рые затем объединяются с помощью элемента И. Чтобы разрешить прохождение на выходы элементов И-НЕ входных сигналов, поступающих на входы А^Ао, на выхо- де элемента И должен сформироваться сигнал с высоким уровнем напряжения. Та- кая ситуация выполнима, если подать на разрешающие входы сигналы Et = Е2 = О и Е3 - 1. Другими словами, для входов Е} и Е2 управляющим уровнем будет низ- Логические схемы средней степени интеграции 583
кий уровень сигнала, а для Е3 — высокий; при этом все три разрешающих входа должны находиться в активных состояниях, чтобы на выходе дешифратора сформи- ровался сигнал, соответствующий входной кодовой комбинации. Если же хотя бы один из разрешающих входов не будет находиться в своем активном состоянии, то на выходе элемента И мы увидим сигнал с низким уровнем напряжения, что приведет к принудительному формированию на выходах всех элементов И-НЕ сигналов с высо- ким уровнем напряжения, которые не являются управляющими для данного дешиф- ратора. Соответственно, и сигнал на выходе устройства никак не будет отвечать по- данной на вход кодовой комбинации. Такая ситуация показана в таблице истинности на рис. 9.3, б. Напомним, что значком х обозначаются безразличные состояния, ко- гда на конкретный вход может быть подан как 0, так и 1. Логический символ, которым обозначают дешифратор 74ALS138, приведен на рис. 9.3, в. Обратите внимание на то, как изображены выходы с низким управляю- щим уровнем напряжения и разрешающие входы. Хотя элемент И, на который по- даются разрешающие сигналы, показан как внешний по отношению к дешифратору, он является составной частью внутренней схемотехники интегральной схемы. ИС 74НС138 — быстродействующий аналог представленного дешифратора, выполненный по КМОП-технологии. Пример 9.1 Определите состояния выходов дешифратора 74ALS138 для следующих наборов входных сигналов. а) Е3 = Ё2 = 1, Ё, = 0,А2 = Ах = 1,А) = 0; б) Е3 == 1, Ё2 = Ёх = О, А2 = О, Ai = А) = О. Решение а) При Е2 = 1 дешифратор не работает, поэтому на всех выходах установятся неак- тивные высокие уровни сигналов. В этом можно убедиться, воспользовавшись таблицей истинности или проследив прохождение сигналов от входов на выходы дешифратора. б) Все разрешающие входы активизированы, поэтому дешифратор функционирует как положено. Входной код 0112 = 310 он преобразует в сигнал, который устано- вится на выходе О3. Таким образом, на О3 будем наблюдать низкий уровень на- пряжения, а на всех остальных выходах — высокий. Пример 9.2 На рис. 9.4 показано, как из четырех дешифраторов 74ALS138 и инвертора можно построить дешифратор с 32 выходами. Для того чтобы эти входы было удобнее отли- чать, дешифраторы, из которых состоит схема, обозначены символами от Zx до Z4 со- ответственно; кроме того, их выходы, по восемь у каждого, объединены в общую группу, состоящую из 32 выходов. Выходы дешифратора Zx обозначены символами от О0 до О7; те же выходы дешифратора Z2 обозначены символами от О8 до О15 , выходы Z3 обозначены символами от Охв до О23; а выходы Z4 — от О24 до О31. Пя- тиоитовые входные кодовые группы А^эДгАрА возбуждают только один из 32 выхо- дов, т.е. всего доступно 32 различных комбинации. а) Какой выход активизируется, если на вход подать код АИ^АгАрАо = 01101? б) Какой диапазон входных кодов активизирует выходы дешифратора Z4? 584 Глава 9
Рис. 9.4. Дешифратор с 32 выходами, собранный на основе четырех ИС 74ALS138 Решение а) Поданный на вход пятибитовый код состоит из двух частей. Биты А4 и А3 опреде- ляют, какой из дешифраторов (Zlt Z2, Z3 или Z4) будет активизирован, а биты А2, Ai и Ао определяют выход этого конкретного дешифратора. Так как А^Аз = 01, то будет активизирован дешифратор Z2. На него поступит код A^AjAq = 101, кото- рый, в свою очередь, возбудит выход О5 данного дешифратора, ранее переимено- ванный нами в выход О13. Таким образом, входной код 01101, соответствующий десятичному числу 13, возбудит выход О)3, на котором установится сигнал с ак- тивным низки v уровнем напряжения, в то время как на всех остальных выходах схемы останутся сигналы с высокими уровнями. б) Чтобы активизировать устройство Z4, необходимо на входы А4 и А3 подать сигна- лы с высоки ни уровнями. Следовательно, все входные коды начиная с 11000 (24ю) и заканчивая 11111 (3110) будут активизировать дешифратор Z4 (на схеме это соответствует возбуждению любого из выходов с О24 по О31). Преобразование двоично-десятичного кода в двоичный На рис. 9.5, а показана функциональная схема дешифратора 7442, преобразую- щего двоично-десятичный код в двоичный. Для разработки также доступны две ана- логичные ИС других серий ТТЛ: 74LS42 и 74НС42. Тот или иной выход выдает сиг- нал с низким уровнем напряжения только в том случае, если на вход дешифратора была подана конкретная комбинация битов двоично-десятичного кода. Например, сигнал с выхода О5 примет низкий уровень напряжения только тогда, когда на вхо- ды схемы будет подана кодовая группа DCBA = 0101; а на выходе О& сигнал примет низкий уровень тогда, когда на входы будет подана комбинация DCBA = 1000. В случае поступления на вход запрещенных для двоично-десятичного кода комбина- ций все выходы останутся пассивными, т.е. ни один из них не будет возбужден. Та- ЛОГИЧЕСКИЕ СХЕМЫ СРЕДНЕЙ СТЕПЕНИ ИНТЕГРАЦИИ 585
кой дешифратор часто называют дешифратором “из 4 бит в 10” (4-to-10 decoder). Ло- гический символ, которым его обозначают, приведен на рис. 9.5, б, а на рис. 9.5, в показана таблица истинности ИС 7442. Обратите внимание, что этот дешифратор не имеет разрешающего входа. В упражнении 9.7 показано, как вход D можно исполь- зовать в качестве разрешающего; в этом случае данная интегральная схема используется в качестве дешифратора из 3 битов в 8. Од О8 О7 Об О5 О4 О3 О2 О-| О0 D С В А 7442 дешифратор “1 из 10' б) Входы D С В А Активный выход Н Н Н Н Н Н Н В Н Н В Н Н Н В В н в н н н в н в н в в н н в в в в н н н в н н в в н в к в н в в В Б Н Н в в н в в в в н в в в в О0 Qi О2 о3 О5 Рб о7 о8 о9 Нет Нет Нет Нет Нет Нет В — высокий уровень напряжения Н — низкий уровень напряжения в) Рис. 9.5. а) Функциональная схема дешифратора 7442, преобразующего двоично-десятич- ный код в двоичный; б) логический символ; в) таблица истинности. (Показано с разре- шения компании Schlumberger company) 586 Глава 9
Преобразование двоично-десятичного кода в десятичный ИС 7447 на ТТЛ является дешифратором/драйвером, преобразующим двоично- десятичный код в десятичный. Здесь вводится термин “драйвер”, потому что данная ИС имеет выходы с открытыми коллекторами, которые могут функционировать с большими значениями токов и напряжений, чем обычные выходы ТТЛ. В состоянии с низки и уровнем выходы схемы 7447 могут потреблять токи со значениями до 80 мА, а в состоянии с высоким уровнем — выдавать напряжения до 30 В. Такие свойства де- лают данную ИС очень удобной для непосредственного управления нагрузками (например, индикаторы на СИД, лампы, реле, электродвигатели постоянного тока). Применение дешифраторов Дешифраторы используются в тех случаях, когда один или несколько выходов должны активизироваться только при поступлении на вход конкретной комбинации сигналов. Эти сигналы часто снимаются с выходов счетчиков или регистров. Если на вход дешифратора поступают логические уровни со счетчика, который непрерывно изменяет свои состояния, то выходы дешифратора будут последовательно возбуж- даться и возвращаться в первоначальное состояние. Благодаря такой работе стало возможным использовать выходные сигналы дешифратора в качестве сигналов син- хронизации, которые включали бы и выключали какие-то устройства в определен- ные моменты времени. Пример такого применения дешифратора показан на рис. 9.6. Здесь использован счетчик 74LS293 и дешифратор/драйвер 7445, описанный выше. Тактовые импульсы 15 16 24 В Оз ОВ - 24 В о6 ОВ . 13 10 Питание Ki Питание К2 6) Рис. 9.6. Пример 9.3: комбинация счетчика и дешифратора, используемая для форми- рования сигнала синхронизации Логические схемы средней степени интеграции 587
Пример 9.3 Опишите работу схемы, показанной на рис. 9.6, а. Решение Сигнал с выхода счетчика пульсирует со скоростью 1 имп./с, т.е. счетчик меняет свои состояния с той же скоростью. Выходы триггеров, из которых состоит счетчик, подключены ко входам дешифратора. Выходы схемы 7445 О3 и Ов с открытыми коллекторами используются для переключения реле Кх и К2. Например, когда выход О3 находится в неактивном состоянии с высоким уровнем напряжения, то транзи- стор на его выходе будет закрыт, поэтому через реле ток не потечет, и оно оста- нется пассивным. Если же выход О3 перейдет в активное для него состояние с низ- ким уровнем сигнала, то выходной транзистор откроется, и на него через реле Кг по- течет ток, который включит реле. Обратите внимание, что оба реле функционируют при значениях напряжения +24 В. Также стоит отметить тот факт, что катушки ин- дуктивности обоих реле зашунтированы диодами; такое подключение защищает транзисторы на выходе дешифратора от больших скачков напряжения, связанных с “индуктивными выбросами”, вызываемыми резкими изменениями значений тока в катушках индуктивности. Временная диаграмма на рис. 9.6, б показывает, как меняются состояния логиче- ских сигналов со временем. Если предположить, что в начальный момент времени счетчик находился в состоянии 0000, то оба выхода (О3 и Оъ) будут находиться в неактивных состояниях с высоким уровнем напряжения, т.е. их выходные транзи- сторы закрыты, а оба реле выключены. Когда на вход схемы поступают импульсы синхронизации, состояния счетчика будут изменяться, увеличиваясь каждую секун- ду на единицу. По заднему фронту третьего импульса (в момент времени 3) счетчик перейдет в состояние ООН (3). Данное состояние активизирует выход О3 дешифрато- ра, а значит включает реле К\. По заднему фронту четвертого импульса счетчик пе- рейдет в состояние 0100 (4), при этом выход О3 возвратится в пассивное состояние и выключит Кх. Анатогично, в момент 6 счетчик перейдет в состояние ОНО (6), при этом получим Ов = — 0; данный сигнал включит реле К2. В момент 7 на выходе счетчика установится состояние 0111 (7), которое возвратит выход дешифратора в исходное состояние и выключит К2. Счетчик продолжит счет, пока на его вход будут поступать импульсы. После 16 им- пульсов вся последовательность начнется заново. Дешифраторы широко применяются в системах памяти персональных компьюте- ров, где требуется активизировать конкретную ячейку памяти в ответ на код адреса, сформированный центральным процессором. Каждая ячейка памяти содержит мно- жество регистров, которые могут хранить двоичные числа (т.е. данные в двоичной форме). Каждый регистр имеет свой уникальный адрес, отличающий его от всех ос- тальных регистров. Дешифратор встраивается в микросхему памяти и позволяет конкретному запоминающему регистру активизироваться в том случае, когда на вход микросхемы подана соответствующая комбинация битов (адрес данного регистра). Обычно такая система имеет несколько микросхем памяти, которые составляют це- лостное запоминающее устройство. Для выбора чипа с памятью также используется дешифратор. Дешифрируя старшие биты полученного от процессора адреса, он выби- рает диапазоны адресов и тем самым передает управление тому или иному чипу па- мяти. Более детально работа таких систем будет рассмотрена в упражнении 9.63, а также в главе 11, в которой устройства памяти представлены в мельчайших подроб- ностях. 588 Глава 9
В более сложных запоминающих устройствах чипы памяти расположены в виде блоков, которые могут быть выбраны по отдельности или вместе в зависимости от команд, поступающих от микропроцессора. Это значит, что иногда может быть акти- визировано несколько выходов дешифратора. В таких системах дешифраторы часто реализуют на основе программируемых логических устройств, потому что простой дешифратор уже не может удовлетворить предъявляемые требования. Программи- руемые логические устройства легко могут быть использованы в качестве дешифри- рующих устройств. Контрольные вопросы Г1. Могут ли несколько выходов дешифратора быть активизированы в один момент времени? 2. Для чего предназначены разрешающие входы дешифратора? 3. Чем отличается ИС 7445 от ИС 7442? I 4. ИС 74154 представляет собой дешифратор из 4 битов в 16, имеющий два раз- решающих входа, управляемых сигналами с низким уровнем напряжения. Сколько выводов (включая выводы на источник питания и землю) имеет эта интегральная схема? 9.2. Преобразование двоично- десятичного кода в семисегментный Большинство привычных нам приборов цифрового оборудования имеют средства отображения информации в той или иной форме, понятной пользователю или опера- тору. Эта информация часто представляется в количественном виде (т.е. в форме цифр, показывающих значение величины), а иногда и в буквенно-цифровом (включа- ет как цифры, так и буквы). Один из наиболее простых и распространенных методов отображения цифровой информации — это индикация с помощью так называемого семисегментного кода (рис. 9.7, а), который формирует десятичные цифры от О до 9, а иногда и латинские буквы от А до F. Одно общее расположение сегментов, состоя- щих из светоизлучающих диодов, позволяет сформировать символы, зажигая одни сегменты и оставляя темными другие. На рис. 9.7, б показаны цифры, формируемые таким образом и отображаемые на индикаторе. Например, чтобы отобразить цифру “6”, необходимо зажечь светодиоды, составляющие сегменты а, с, d, е, f и g, а сег- мент Ь должен оставаться темным. Рис. 9.7. а) Семисегментный код; б) активные сегменты для каждой десятичной цифры Логические схемы средней степени интеграции 589
Для преобразования двоично-десятичного кода в семисегментный используется специальный дешифратор/драйвер, с помощью которого через определенные сегмен- ты, устанавливающие отображаемое число, проходит ток. Такой дешифратор более сложен, чем устройства, рассмотренные ранее, так как один и тот же выход может возбуждаться при нескольких входных кодовых комбинациях. Например, сегмент е должен активизироваться при отображении любого из следующих разрядов: 0, 2, 6 и 8 (т.е. при поступлении на вход комбинаций 0000, 0010, ОНО и 1000). На рис. 9.8, а показан дешифратор/драйвер, преобразующий двоично-десятичный код в семисегментный (ИС 7446 или 7447 на ТТЛ), который используется для управ- ления семисегментным индикатором на светоизлучающих диодах. Каждый сегмент состоит из одного или двух диодов. Аноды всех диодов подключены к источнику пи- тания VCc (+5 В), а их катоды через ограничительные резисторы связаны с соответст- вующими выходами дешифратора/драйвера. Сам дешифратор имеет выходы, для ко- торых активным является низкий уровень напряжения, а поскольку в данном случае используются выходы с открытыми коллекторами, то они могут потреблять с на- грузки достаточно большие токи. Это важно, потому что светоизлучающие диоды мо- гут потреблять от 10 до 40 мА на один сегмент в зависимости от их типа и размера. Двоично- десятичный вход Преобразователь двоичного кода для семисегментного индикатора d е Управление Г ---< гашением [____£ Вход проверки г светодиодов BI/RBO RBI LT 7446 или 7447 f >-Wv------ Ограничение тока Общий анод а) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 б) Рис. 9.8. а) Дешифратор/драйвер, преобразующий двоично-десятичный код в се- мисегментный, управляет семисегментным индикатором на светоизлучающих диодах с общим анодом; б) символы, возникающие при поступлении всех возможных входных кодовых комбинаций Продемонстрируем работу этой схемы. Допустим, на вход была подана двоично- десятичная кодовая группа с разрядами D = 0, С = 1, В = 0, А = 1, что соответствует числу 5. При поступлении на вход дешифратора/драйвера такой комбинации битов на выходах а , f , g , с и d установятся низкие уровни напряжения (т.е. они ока- жутся подключенными на землю), в результате чего через сегменты a, f, g, с и d по- 590 Глава 9
течет ток, и на индикаторе высветится число 5. На выходах b и е останутся высо- кие уровни напряжения (т.е. они будут представлять собой разрыв цепи между ис- точником питания и выводом на землю дешифратора), поэтому эти сегменты не заго рятся. Дешифратор/драйвер на основе ИС 7446/47 спроектирован специально для того, чтобы активизировать сегменты индикатора даже в том случае, если на вход подают- ся не двоично-десятичные кодовые группы (т.е. комбинации, большие чем 1001). На рис. 9.8, б показаны выводимые символы для всех возможных комбинаций входных битов от 0000 до 1111. Обратите внимание на тот факт, что поступление входной комбинации из четырех единиц 1111 (15) очищает все сегменты данного разряда. Семисегментные дешифраторы/драйверы, подобные описанным ИС 7446/47, яв- ляются скорее исключениями из правила, согласно которому в определенный момент времени при поступлении данной кодовой комбинации возбуждается только один выход дешифратора. Вместо этого семисегментные дешифраторы активизируют уни- кальный символ, который соответствует данной комбинации. Сравнение индикаторов на светоизлучающих диодах с общим анодом и общим катодом Индикаторы на СИД, показанные на рис. 9.8, относятся к типу индикаторов с общим анодом, так как аноды диодов всех сегментов связаны друг с другом и с ис- точником питания Исс. Другой тип семисегментных индикаторов — устройства с об- щим катодом, у которых катоды диодов всех сегментов связаны друг с другом и с землей. Индикаторы этого типа управляются дешифраторами/драйверами, для кото- рых активным является высокий уровень сигнала. Для возбуждения сегментов сиг- нал с таким уровнем подается на аноды диодов, составляющих сегменты. Поскольку на каждый из сегментов требуется подать ток от 10 до 20 мА, то обычно усгройства на ТТЛ и КМОП не используются для непосредственного управления индикаторов с общим катодом. Обратимся к главе 8, где говорится, что выходы устройств этих двух логических семейств не способны формировать сигналы с большими значениями то- ков. Часто для этой цели между дешифратором и индикатором с общим катодом ис- пользуются дополнительные схемы сопряжения. Пример 9.4 При нормальной яркости каждый сегмент типичного семисегментного индикатора на СИД потребляет ток 10 мА и напряжение 2,7 В. Рассчитайте значение сопротивле- ния токоограничивающего резистора, необходимого для формирования тока прибли- зительно 10 мА на сегмент. Решение Если внимательно изучить рис. 9.8, а, можно увидеть, что падение напряжения на последовательно подключенном резисторе должно равняться разности между Ксс = 5 В и напряжением, подаваемым на сегмент и по условию равным 2,7 В. Полученное на- пряжение величиной 2,3 В, падающее на резисторе, должно формировать ток 10 мА. Таким образом, 9 до Ps = —---- = 230 Ом. ЮЛ£Д В реальной схеме будет использоваться стандартный резистор, номинал которого близок к рассчитанному значению, т.е. резистор на 220 Ом. Логические схемы средней степени интеграции 591
Контрольные вопросы 1. Какие сегменты индикатора на СИД зажгутся при поступлении на вход де- шифратора/драйвера числа 1001? 2. Проверьте истинность высказывания. Сразу несколько выходов дешифрато- ра/драйвера, преобразующего двоично-десятичный код в семисегментный, мо- гут быть активизированы одновременно. 9.3. Жидкокристаллические индикаторы Индикаторы на светодиодах излучают световую энергию во время прохождения тока через отдельные сегменты. Жидкокристаллические индикаторы (ЖКИ) отра- жают уже имеющиеся падающие на них потоки света. Этот свет может быть рассе- янным, т.е. общим (как, например, солнечный свет или естественное освещение комнаты; отражательные жидкокристаллические индикаторы используют этот ме- тод) или направленным, получаемым от небольшого источника света, который может быть и частью индикатора. Последний метод используется в жидкокристаллических экранах с подсветкой. В любом случае, ЖКИ получили всеобщее признание благода- ря очень низкому потреблению энергии по сравнению с СИД, особенно в оборудова- нии, работающем от батарей: калькуляторах, электронных часах, переносных циф- ровых измерительных инструментах. Индикаторы на СИД, однако, имеют преиму- щество по яркости отображения информации, так как, в отличие от отражательных ЖКИ, ими можно пользоваться даже в темноте или слабо освещенных помещениях. Как правило, ЖКИ работают от источника питания переменного тока низкого на- пряжения (в среднем от 3 до 15 В), низкой частоты (от 25 до 60 Гц) и потребляют крайне малые токи. Они часто расположены в виде семисегментного дисплея, как это показано на рис. 9.9, а, чтобы с него можно было считывать цифровые показа- ния. Напряжение переменного тока, необходимое для включения сегмента, подается между конкретным сегментом и задней панелью индикатора, общей для всех сег- ментов. Эти два элемента как бы формируют емкость, потребляющую малые значе- ния тока, пока частота достаточно низкая. Частота должна превышать 25 Гц, иначе будет заметно мерцание символов, отображаемых на индикаторе. Жидкокристаллический индикатор Рис. 9.9. Жидкокристаллический индикатор: а) типичное строение; б) напряжение, поданное между конкретным сегментом и задней панелью индикатора, приводит к включению сегмента. Нулевое напряжение выключает сегмент 592 Глава 9
Общепринятое упрощенное пояснение принципа работы ЖКИ выглядит примерно следующим образом. Пока между сегментом и задней панелью индикатора нет разно- сти потенциалов, сегмент будет неактивированным (выключен). Сегменты d, е, f и g на рис. 9.9, б выключены и рассеивают падающий свет таким образом, что оказыва- ются невидимыми на фоне задней панели. Если же на сегмент подать напряжение относительно панели, то сегмент активизируется (включится). Сегменты а, b и с на рис. 9.9, б включены и не рассеивают падающий свет, поэтому на фоне панели они будут отчетливо видны. Управление ЖКИ Сегмент ЖКИ будет включен тогда, когда между сегментом и задней панелью ин- дикатора будет подано напряжение переменного тока; сегмент ЖКИ будет выклю- чен, если напряжение исчезнет. На практике, вместо того, чтобы формировать сиг- нал переменного тока, требуемое напряжение получают с помощью сдвинутого по фазе меандра, который подают между сегментом и задней панелью. На рис. 9.10, а показано, как это происходит на примере только одного сегмента индикатора. Квад- ратный импульс (меандр) с частотой 40 Гц подается на заднюю панель и одновремен- но на вход КМОП-элемента исключающее ИЛИ 74НС86. Другой вход этого элемента (CONTROL) служит управляющим входом, который управляет включениями и вы- ключениями сегмента. Когда на вход CONTROL подается сигнал с низким уровнем, на выходе элемента исключающее ИЛИ установится точно такой же сигнал с той же частотой 40 Гц, т.е. сигналы, поданные на сегмент и на заднюю панель, совпадут. В этом случае между ними не возникнет разности потенциалов, поэтому сегмент будет выключен. Если же на управляющий вход CONTROL подать сигнал с высоким уровнем напряжения, то сигнал с выхода элемента исключающее ИЛИ будет представлять собой инверсию входного напряжения частотой 40 Гц. Следовательно, между сигналами, поданными на сегмент и панель, появится сдвиг фаз и разность потенциалов будет составлять то +5 В, то -5 В относительно панели индикатора. Именно это переменное напряжение приведет к включению сегмента. Тот же принцип можно расширить и на полный семисегментный жидкокристал- лический индикатор (например такой, который показан на рис. 9.10, б). На рисунке КМОП дешифратор/драйвер 74НС4511, преобразовывающий двоично-десятичный код в семисегментный, выдает управляющие сигналы на каждый из семи элементов ис- ключающее ИЛИ, которые подключены к сегментам ЖКИ. Элемент 74НС4511 имеет выходы, для которых активным является высокий уровень напряжения, поскольку именно такой уровень необходим для включения сегмента. Дешифратор/драйвер и все элементы исключающее ИЛИ, показанные на рис. 9.10, б, реализованы на одном чипе. Устройство 74НС4543 на КМОП как раз и представляет собой такую микро- схему. На ее вход поступает двоично-десятичный код, а к выходу можно непосредст- венно подключать жидкокристаллический индикатор. В целом, для управления ЖКИ чаще используются устройства, выполненные по КМОП-технологии. Это обусловлено двумя причинами: а) они потребляют значительно меньшую мощность, чем устройства на ТТЛ, а также больше подходят к применению в системах с питанием от батарей, в которых обычно используются ЖКИ; б) напря- жение на выходе ТТЛ в состоянии с низким уровнем сигнала не равняется в точно- сти 0 В, а может достигать значения 0,4 В. Такое напряжение вызовет формирование постоянной составляющей между сегментом и задней панелью, что приведет к рез- кому сокращению срока службы ЖКИ. Типы ЖКИ Жидкие кристаллы доступны как многоразрядные семисегментные десятичные цифровые дисплеи. Они могут быть разных размеров и отображать различные сим- волы, например двоеточие (:) в электронных часах; символы знака +/- в цифровых Логические схемы средней степени интеграции 593
вольтмеирах; запятые, разделяющие десятичные разряды в калькуляторах и т.п. По- скольку многие ЖКИ питаются от батарей, то часто на дисплее имеется индикатор, сообщающий о состоянии батарей. Все эти индикаторы могут управляться дешифра- тором/драйвером на основе, например, ИС 74НС4543. Сигнал 40 Гц Вход управления низкий уровень высокий уровень Вход управления 74НС86 Сегмент Выключен Включен Сегмент бдложка 74НС4511 D С В А 40 Гц а) All 74НС86 Преобра- зователь двоичного кода для семисег- ментного индикатора ЖКИ £ b, £ d £ £ 9 Подложка б) Рис. 9.10. а) Один из методов управления сегментами ЖКИ; б) уппав- ление семисегментным индикатором Более сложные, но столь же широко доступные жидкокристаллические индика- торы могут отображать буквенно-цифровую информацию. Они изготавливаются мно- гими компаниями в самых разнообразных форматах, от 16-разрядных, имеющих лишь одну строку, до 40-разрядных, в которых информация выводится в четырех строках. Интерфейс таких модулей стандартизирован, поэтому ЖКИ разных произ- водителей используют одни и те же сигналы и форматы данных. Обычно модуль включает в свой состав интегральную микросхему сверхбольшой степени интеграции (СБИС), которая упрощает правила пользования дисплеем. Для того чтобы отобра- зить требуемую информацию в виде ASCII-кода, индикатор оснащается восемью строками данных. Эти строки также могут отображать специальные коды управле- ния, поступающие в командный регистр ЖКИ. Три других входа (выбора регистра, чтения/записи и разрешающий) управляют размещением, направлением и временем 594 Глава 9
передачи данных. Как только символы передаются в модуль, он сохраняет их в своей встроенной памяти и отображает на экране. Другие жидкокристаллические модули предоставляют пользователю возможность создавать графический дисплей, который контролирует отдельные точки экрана, на- зываемые пикселями. Еще большие ЖК-панели могут сканироваться с большой ско- ростью, отображая высококачественное видео. В таких дисплеях управляющие ли- нии располагаются в форме решетки, имеющей столбцы и строки. На пересечении каждой строки и столбца располагается пиксель, функционирующий в качестве либо “окна”, либо “заслонки”, которая с помощью электронных сигналов открывается и закрывается, контролируя количество света, проходящего через такую ячейку. На- пряжение между строкой и столбцом определяет яркость конкретного пикселя. В портативных компьютерах для каждого пикселя в видеопамяти хранится двоичное число, которое затем преобразуется в напряжение, подаваемое на дисплей. Каждый пиксель на цветном дисплее состоит из трех субпикселей, которые пред- ставляют собой красный, зеленый и голубой фильтры, формирующие цвет конкрет- ного пикселя. На ЖК-дисплее с разрешением 640 на 480 пикселей на самом деле на- ходятся 640 х 3 контакта со столбцами (по числу субпикселей) и 480 контактов со строками, что в сумме составит 2400 контактов. Очевидно, что электронная часть та- кого устройства будет представлять очень сложную структуру, обычно размещаемую на сверхбольшой ИС. Развитие технологии ЖКИ привело к увеличению скорости включения и выклю- чения пикселей. Более старые дисплеи изготавливались на закрученных нематиче- ских жидких кристаллах (Twisted Nematic — TN) или на сверхзакрученных немати- ческих жидких кристаллах (Super Twisted Nematic — STN). Такие устройства назы- вались пассивными ЖК-дисплеями. Вместо использования унифицированной задней панели (такой как у семисегментных индикаторов), они имели параллельные прово- дящие линии, изготавливаемые на двух стеклянных пластинках. Эти пластины за- жимали с обеих сторон жидкокристаллический материал, причем проводящие линии оказывались ориентированными относительно друг друга на 90°, тем самым формируя решетку, как показано на рис. 9.11. Опять же, пересечение каждой строки со столбцом формирует пиксель. Переключение тока из включенного положения в выключенное и наоборот выполняется с помощью электронной ИС, подключенной к строкам и столб- цам. Дисплеи на пассивных матрицах очень медленно переключаются, что ограничива- ет скорость перемещения объектов на экране появлением шлейфа за изображением. Более новые дисплеи называются активными матрицами, выполненными по тон- копленочной технологии, или TFT-матрицами (Thin Filfn Transistor — тонкопле- ночный транзистор). Понятие активная матрица означает, что для управления со- стоянием пикселя используется активный элемент дисплея. Таким элементом явля- ется тонкопленочный транзистор, который изготавливается прямо на стеклянной пластине. Вторая пластинка имеет стандартное покрытие, которое выполняет роль задней панели. Управляющие линии также имеют форму строк и столбцов, на пере- сечениях которых располагаются пиксели. Технология, которая позволила изготав- ливать тонкопленочные транзисторы и составлять из них экран портативного ком- пьютера, сделала возможным применять матричную структуру. Такие дисплеи обла- дают значительно более быстрым временем отклика и большим разрешением. Использование поликремниевой технологии позволяет интегрировать электронную схему управления прямо в экран, частично решая проблемы последующего их соеди- нения и уменьшая размеры ЖК-дисплея в целом. Другие технологии изготовления жидкокристаллических устройств отображения информации также были значительно усовершенствованы. Широко используются вакуумная флюоресценция, газоразрядная плазма, электролюминесценция. Физика оптических процессов этих технологий различна, но все они управляются примерно одинаково. Цифровая система должна активизировать тот или иной ряд и столбец матрицы, чтобы управлять потоком света, проходящим через пиксель, расположен- ный на пересечении строки и столбца. Логические схемы средней степени интеграции 595
Фильтры основных цветов: красного, синего, зеленого. Прозрачные электроды столбцов Стекло in кристалл Стекло Прозрачные электроды строк Рис. 9.11. Пассивная жидкокристаллическая матрица Контрольные вопросы 1. Укажите, какие из следующих пунктов характеризуют жидкокристаллические индикаторы, а какие — индикаторы на светодиодах: а) излучает свет; б) отражает рассеянный свет; в) имеет преимущества при использовании маломощных схем; г) требует подачи напряжения переменного тока; д) использует семисегментное расположение элементов, чтобы показывать раз- ряды; е) требует использования токоограничительного резистора. 2. В какой форме следует подавать данные на указанные ниже устройства? а) семисегментный ЖКИ, подключенный к дешифратору/драйверу; б) буквенно-цифровой ЖК-модуль; в) ЖК-дисплей персонального компьютера. 9.4. Шифраторы Большинство дешифраторов обрабатывают код, поступивший на вход, и форми- руют сигнал с высоким (или низким) уровнем на одном и только одном выходе. Дру- гими словами, можно сказать, что дешифратор идентифицирует, распознает или об- наруживает конкретные кодовые группы, т.е. выполняет декодирование (decoding). Противоположный процесс называется кодированием (encoding) и выполняется с по- мощью логической схемы, которая называется шифратором. Шифратор имеет опре- деленное количество входов, причем каждый момент времени только один из них может быть активизирован, в результате чего шифратор формирует ТУ-битовый вы- ходной код, структура которого зависит от того, какой из входов был возбужден. На рис. 9.12 показана самая общая схема шифратора, имеющего М входов и N выходов. 596 Глава 9
Входы этого шифратора управляются высоким уровнем сигнала, т.е. в обычном со- стоянии на них наблюдается низкий уровень. На вход дешифратора, преобразующего двоичный код в восьмеричный (дешиф- ратор с 3 входами и 8 выходами), поступает трехбитовый код, который возбуждает один из восьми выходов, соответствующий этому конкретному коду. Шифратор, преобразующий восьмеричный код в двоичный (шифратор с 8 входами и 3 выходами), выполняет противоположную функцию: он принимает сигналы с восьми входов и вырабатывает трехбитовый выходной код, соответствующий номеру того входа, ко- торый был возбужден. На рис. 9.13 показаны логическая схема и таблица истинно- сти шифратора, входы которого управляются низким уровнем напряжения. уровень только на одном выходной код Рис. 9.12. Общая схема шифратора Ао А2 А3 Ад А3 А6 А7 X 1 1 J 1 1 1 1 X О 1 1 1 1 1 1 X 1 О 1 1 1 1 1 X 1 1 0 1 1 1 1 X 1 1 1 С 1 1 1 X 1 1 1 1 О 1 1 X 1 1 1 1 1 0 1 X 1 1 1 1 1 1 о ‘низкий уровень только на Входы Выходы 02 <]1 О0 ООО О 0 1 О 1 о О 1 1 1 о о 1 0 1 1 1 о 1 1 1 одном входе Рис. 9.13. Логическая схема шифратора, выполняющего преобразование из восьмеричного кода в двоичный, (с восемью входами и тремя выходами). Для правильной работы в каждый мо- мент времени должен быть активизирован только один вход Внимательно изучив логическое устройство схемы, приведенной на рисунке, вы можете убедиться, что появление на любом входе сигнала с низким уроьнем напря- Логические схемы средней степени интеграции 597
жения приведет к формированию на выходе двоичного кода, соответствующего акти- визированному выходу. Например, низкий уровень на входе А3 (при условии, что на всех остальных входах сохранятся высокие уровни напряжения) приведет к появле- нию на выходе схемы кодовой комбинации О2 = 0» = 1 и О0 = 1> т.е. двоичного кода числа 3. Обратите внимание, что вход Д, не подключен к логическим элемен- там схемы, потому что в нормальном состоянии, когда ни один из входов от Аг до Д не возбужден, выходы шифратора показывают ООО. Пример 9.5 Определите состояния выходов шифратора, изображенного на рис. 9.13, если на вхо- дах Д и Д одновременно установились низкие уровни напряжения. Решение Проследив путь сигналов через логические элементы схемы, мы увидим, что появле- ние низких уровней напряжения сразу на двух входах шифратора приведет к уста- новлению высоких уровней на всех выходах, т.е. формированию кода 111. Очевидно, что этот код не будет соответствовать ни одному из возбужденных входов. Приоритетные шифраторы Приведенный выше пример указывает на недостаток простейшей схемы шифра- тора, изображенной на рис. 9.13. На самом деле, если одновременно возбудить не- сколько входов такого шифратора, то мы не получим требуемый код. Улучшенная версия этой схемы, которая называется приоритетным шифратором, имеет в своем составе необходимые логические элементы, гарантирующие, что при одновременном возбуждении двух или более входов на выходе появится код, соответствующий входу с наибольшим номером. Например, если сразу на оба входа А3 и поступят сигна- лы с низкими уровнями напряжения, то на выходе появится код 101 (5). Аналогич- но, если низкие уровни появятся одновременно на входах А* , и Д,, то выходной код будет соответствовать наибольшему номеру входа — 110 (6). ИС 74148, 74LS148 и 74НС148 являются приоритетными шифраторами, выполняющими преобразование восьмеричного кода в двоичный. Приоритетный шифратор 74147, преобразующий десятичный код в двоично-десятичный На рис. 9.14 показаны логический символ, которым обозначают шифратор на ос- нове ИС 74147 (74LS147, 74НС147), и таблица истинности этого устройства. Данный шифратор является приоритетным и предназначен для преобразования десятичного кода в двоично-десятичный. Он имеет девять входов, управляемых низким уровнем напряжения, которые соответствуют десятичным цифрам от 1 до 9; шифратор выдает инверсный двоично-десятичный код, соответствующий наибольшему номеру возбуж- даемого входа. Чтобы понять, как работает данная ИС, рассмотрим таблицу истинности. Первая строка таблицы показывает ситуацию, когда все входы находятся в неактивных для них состояниях с высокини уровнями напряжения. В этом случае на выходе получа- ем число 1111, которое представляет собой инверсию числа 0000, т.е. десятичного числа 0 в двоично-десятичном виде. Из второй строки видно, что если на вход А^ 598 Глава 9
поступит сигнал с низким уровнем напряжения, то независимо от состояний других входов на выходе шифратора появится кодовая группа ОНО, представляющая инвер- сию двоично-десятичного числа 1001 или десятичной 9. Третья строка показывает, что низкий уровень напряжения на входе А* (при условии, что на входе наблю- дается высокий уровень) приведет к появлению на выходе числа 0111, представляю- щего собой инверсию двоично-десятичного числа 1000, т.е. десятичной 8. Изучив ос- тальные строки таблицы, можно видеть, что появление на любом из входов низкого уровня напряжения приведет к формированию на выходе шифратора инверсного двоично-десятичного кода при условии, что на всех входах с большими номерами на- блюдаются высокие уровни. Ai А2 А3 Ад А5 А6 А7 Ag Ag 03 G2 О0 Ai а2 Ав Аэ Э 74147 Десятично- двоичный приоритетный шифратор 1 1 1 XXX XXX XXX XXX XXX XXX X X О X О 1 О 1 1 9 входов 1 1 1 XXX XXX XXX X X о X О 1 О 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X о X 0 1 О 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1111 0 110 0 111 10 0 0 10 0 1 10 10 10 11 110 0 110 1 1110 Инверсный двоично-десятичный X — 0 или 1 код Рис. 9.14. Приоритетный шифратор 74147, преобразующий десятичный код в двоично- десятичный В нормальном состоянии (если ни один из входов не был возбужден) выходы ИС 74147 имеют высокие уровни напряжения. Это соответствует тому, как если бы на вход была подана кодовая комбинация для десятичного 0. Шифратор не имеет входа Aq , поскольку в таком состоянии (высокие уровни на всех входах) нуль на выходе появляется автоматически. Также следует отметить, что, используя инверторы на каждом из выходов шифратора, можно легко получить прямой двоично-десятичный код вместо инверсного. Пример 9.6 Определите состояния выходов шифратора, используя таблицу истинности на рис. 9.14, если на входах А$ , А. и 2% установились низкие уровни напряжения, а на всех остальных — высокие. Решение Согласно таблице истинности, если на входе Aj установился низкий уровень напря- жения, то уровни сигналов на входах А$ и А3 не окажут влияния на состояние вы- хода устройства. Следовательно, на выходе появится кодовая группа 1000, представ- ляющая собой инверсию числа 0111 (7). Логические схемы средней степени интеграции 599
Ключевой шифратор На рис. 9.15 показано, как ИС 74147 можно использовать в качестве ключевого шифратора. Десять ключей, соединенных со входами устройства, на практике могут быть, например, кнопками калькулятора и представлять цифры от 0 до 9. Обычно в неактивном состоянии ключи разомкнуты, поэтому на входах шифратора устанавли- ваются высокие уровни напряжения, а на выходе появляется код 0000 (обратите внимание на инверторы). Если нажать кнопку на клавиатуре, то схема выдаст сиг- нал, соответствующий двоично-десятичному коду данной клавиши. Поскольку ИС 47LS147 — приоритетный шифратор, то одновременное нажатие нескольких кнопок приведет к появлению двоично-десятичною кода наибольшей цифры. 1 кОм: SW9 Согласующий резистор +$ на каждом входе шифратора показан только у SW9 SW8 SW7 SW6 SW5 SW4 SW3 SW2 А8 а7 Аб А5 А4 А3 —С А2_ О3 74LS147 С Десятично- двоичный £ приоритетный шифратор Прямой двоично- десятичный код О2 Oi Оо А1 SW1 SW0 Рис. 9.15. Ключевой шифратор, преобразующий десятичный код в двоично десятичный Ключевой шифратор, изображенный на рис. 9.15, может использоваться там, где двоично-десятичные данные должны быть переданы в цифровую систему. Например, электронный калькулятор, на котором оператор последовательно нажимает несколь- ко кнопок на клавиатуре. В простейших калькуляторах двоично-десятичный код каждого десятичного разряда вводится в четырехбитовый запоминающий регистр; иначе говоря, когда будет нажата первая кнопка, в регистр будет записан двоично- десятичный код вызванной цифры; после нажатия второй кнопки уже в следующий четырехбитовый триггерный регистр будет записана еще одна двоично-десятичная кодовая группа и т.д. Таким образом, калькулятор, который обрабатывает восемь разрядов, имеет восемь четырехбитовых регистров, в которых хранятся двоично- десятичные коды введенных цифр. Каждый такой регистр управляет дешифрато- ром/драйвером и цифровым индикатором, так что набираемое число отображается на дисплее. 600 Глава 9
Работа, описанная выше, может осуществляться с помощью схемы, приведенной на рис. 9.16. Эта схема оперирует тремя десятичным разрядами, которые последова- тельно вводятся с клавиатуры. После ввода чисел схема с помощью шифратора пре- образует их в двоично-десятичный код и сохраняет его в трех регистрах. Для хране- ния двоично-десятичных кодов каждого из десятичных разрядов используются 12 D- триггеров с номерами от Qo до Qn. В триггерах от Q8 до QH сохраняются двоично- десятичные коды старшего значащего разряда, который вводится первым. В тригге- рах от Q4 до Qi хранятся двоично-десятичные коды второго разряда, а в триггерах от Qo ДО Q3 — двоично-десятичные коды третьего, младшего разряда. Триггеры X, Y и Z формируют кольцевой счетчик (см. главу 7), который управляет передачей данных с выходов шифратора в регистры. Элемент ИЛИ формирует сигнал с высоким уров- нем напряжения в моменты времени, когда оператор нажимает кнопки на клавиату- ре. Выход этого элемента может быть подвержен контактному “дребезгу” (при пере- ходе от одного логического уровня к другому возникают затухающие импульсные колебания). Для нейтрализации этого эффекта используется одновибратор, который переключается по переднему фронту сигнала, поступающего с выхода элемента ИЛИ и остающегося на высоком уровне напряжения в течение 20 мс, что значительно пре- вышает длительность “дребезга”. Сигнал с выхода одновибратора синхронизирует кольцевой счетчик. Ниже описана работа схемы для случая, когда было введено десятичное число 309: 1. Нажата кнопка сброса (CLEAR). Это действие сбрасывает все триггеры от Qo до Qu в нулевое состояние. Также очищаются триггеры X и У, а триггер Z устанав- ливается в 1, т.е. кольцевой счетчик начинает работу из исходного состояния 001. 2. Кнопка сброса отпускается и нажимается кнопка с цифрой “3”. На выходе шиф- ратора формируется кодовая группа 1100, которая инвертируется в ООН, двоич- но-десятичный эквивалент числа 3. Двоичные значения поступают на .D-входы трех четырехбитовых выходных регистров. 3. С выхода элемента ИЛИ выдается сигнал с высоким уровнем напряжения (так как на двух входах этого элемента установились сигналы с высоки ми уровнями), который переключает одновибратор в состояние Q = 1 на время 20 мс. После окончания этого времени выход Q возвращается в состояние с низким уровнем и синхронизирует кольцевой счетчик до состояния 100 (триггер X устанавливается в единичное состояние). Передний фронт сигнала с выхода _¥ поступает на CLK- входы (входы синхронизации) триггеров с Q8 по Qn, т.е. в эти триггеры передаются данные состояний выходов шифратора. Триггеры переходят в состояния Qn = 0, Q10 = о» Q9 = 1, Q8 = 1. Обратите внимание, что триггеры с Qo по Q7 никак не за- трагиваются, потому что на их входы синхронизации не поступают передние фронты сигналов. 4. Отпускается кнопка “3”. Выход элемента ИЛИ возвращается в состояние с низ- ким уровнем. Затем нажимается кнопка “0”. Это приводит к появлению двоичнп десятичного кода 0000, который поступает на входы всех трех регистров. 5. Сигнал с выхода элемента ИЛИ переходит на высокий логический уровень в со- ответствии с нажатием кнопки “0” (обратите внимание на инвертор) и переклю- чает ОВ на время 20 мс. По истечении этого промежутка времени кольцевой счетчик сдвигается в состояние 010 (триггер У устанавливается в единичное со- стояние). Передний фронт сигнала с выхода триггера У поступает на входы триг- геров с Q4 по Q7 и записывает в них код 0000. Состояния триггеров с Qo по Q3 и с Q8 по Qn не изменяются. 6. Отпускается кнопка “0”. Выход элемента ИЛИ возвращается в состояние с низ- ким уровнем. Затем нажимается кнопка “9”, что приводит к появлению двоично- десятичного кода 1001, который поступает на входы запоминающих регистров. Логические схемы средней степени интеграции 601
+5 В Согласующий Qi Q tp = 20 мс Цифроы кнопки Защита от дребезжания К дешифраторам и индикаторам 74LS147 Десятично- двоичный шифратор Qu CLK резистор на каждом входе & >03. СЗБ ЗБ X 1 кОм +5 В Младший разряд Второй разряд Двоично- десятичный код старшего разряда D CLK z CLK О *>Т OS D Ос CLK Рис. 9.16. Схема для ввода с клавиатуры трехзначных чисел и последующего их сохранения в запоминающих регистрах 3 Gic CLK Qo CLK CLH ТГ К SEP V счетным входам Qo-Q D Од CLK D О8 CLK D О6 CLK D О5 CLK D 04 CLK D Q3 CLK D О2 CJ< ' D Qi CLK 7. Сигнал с выхода элемента ИЛИ снова переходит на высокий логический уровень, опять переключая ОВ, который, в свою очередь, синхронизирует кольцевой счет- чик до состояния 001 (триггер Z устанавливается в единичное состояние). Перед- ний фронт сигнала с выхода Z поступает на входы синхронизации (CLK) тригге- ров с Q-) по Q3 и записывает в них код 1001. Остальные триггеры никак не изме- няют свои состояния. 602 Глава 9
8. С этого момента времени запоминающий регистр содержит число 001100001001 начиная с триггера Qn. Это число представляет собой двоично-десятичный код десятичного эквивалента 309. Выходы регистра выдают сигнал на дешифра- . тор/драйвер, который управляет индикатором калькулятора, в результате чего на нем отображаются цифры числа 309. 9. Сигналы с выходов триггеров запоминающего регистра также поступают на ос- тальные схемы системы. В калькуляторе, например, эти сигналы направляются в арифметическое устройство, которое будет их обрабатывать. В конце главы читателю предлагается попробовать свои силы в решении несколь- ких вопросов, которые касаются других аспектов рассмотренной схемы, включая по- иск неисправностей. Контрольные вопросы 1. Чем шифратор отличается от дешифратора? 2. Чем отличается приоритетный шифратор от обычного? 3. Какие состояния установятся на выходах схемы, приведенной на рис. 9.15, ес- I ли замкнуть ключи SW6, SW5 и SW2? 4. Опишите функции каждой из указанных частей схемы ввода данных с клавиа- туры, изображенной на рис. 9.16: а) элемент ИЛИ; I б) шифратор на основе ИС 74147; в) одновибратор; г) триггеры X, Y, и Z; д) триггеры с Qo по Qu. ' 9.5. Поиск неисправностей С усложнением цифровых схем и систем количество потенциальных причин, ко- торые могут привести к неисправностям, заметно увеличивается, тогда как процеду- ры по поиску, локализации и коррекции этих неполадок остаются почти неизмен- ными. Нужно отметить, что для таких систем намного большее значение приобретает наблюдение и анализ, поскольку это сужает область поиска ошибки. Такой подход уменьшает количество испытаний и проверок, а также объем анализируемых дан- ных. Понимая принципы функционирования схемы, анализируя признаки неис- правности и делая адекватные логические выводы, техник часто может предсказать возможные ошибки, еще даже не взявшись за пробник или осциллограф. К сожале- нию, процессом наблюдения и анализа иногда незаслуженно пренебрегают, особенно это касается молодых неопытных техников, которые всецело полагаются на широкий спектр свойств современного тестового оборудования. Представленные ниже примеры показывают, как правильно применять наблюде- ние и анализ. Многие упражнения, приведенные в конце главы и связанные с поис- ком неисправностей в схемах, помогут читателю развить собственные навыки в этой области. Другая жизненно важная стратегия, используемая при поиске неполадок, извест- на под названием разделяй и властвуй. Она применяется при идентификации места неполадки после проведения наблюдения и анализа, выделения какого-то числа по- тенциальных причин. Еще один, намного менее эффективный метод, заключается в исследовании по очереди каждой возможной причины неполадки. Метод разделяй и властвуй помогает найти точку схемы, которая должна быть протестирована, тем самым уменьшая общее количество ошибок вдвое. В простых системах этот метод Логические схемы средней степени интеграции 603
может оказаться избыточным, но при увеличении сложности схемы общее количест- во возможных причин неисправности может значительно возрастать. Если всего из- вестно восемь возможных ошибок, то необходимо осуществить тест, который исклю- чил бы четыре из них. Следующий тест должен исключить еще две из оставшихся ошибок, а последний — выявить проблему. Пример 9.7 Техник проверяет схему, изображенную на рис. 9.4, пользуясь набором ключей, что- бы подавать требуемые коды на входы с А4 по Д,. Специалист анализирует все воз- можные кодовые комбинации и соответствующие сигналы на выходе дешифратора. В ходе проверки оказалось, что все выходы с нечетными номерами правильно реаги- руют на входные сигналы, но сигналы с выходов с четными номерами не соответст- вуют поданным кодовым группам. Какова наиболее вероятная причина неисправно- сти схемы? Решение В случае, когда неисправности проявляются сразу на многих входах, нет смысла ис- кать неполадки на каждом из них. Намного более вероятно, что к ошибочной работе схемы привело какое-то условие на входе. Что же общего имеют все четные выходы? В табл. 9.1 приведены входные кодовые комбинации, возбуждающие некоторые выходы. Таблица 9.1 Выход Входной код <?. 00000 в. 00100 01110 ё„ 10010 Ясно, что для возбуждения любого из выходов с четными номерами требуется, чтобы на вход схемы поступил сигнал = 0. Таким образом, наиболее вероятные причины неисправности, которые не дают входу Aq перейти в состояние с низким уровнем на- пряжения, могут быть следующими: а) неисправный ключ на входе А$; б) разрыв проводника между ключом и входом в) внешнее замыкание между входом и источником питания Fcc; г) внутреннее короткое замыкание на источник питания Vcc на входе Aq любого из дешифраторов. Используя наблюдение и анализ, техник идентифицировал возможные причины не- поладки. Потенциальные причины № 1 и № 2 заключаются в неисправности ключа, формирующего адрес. Причины № 3 и № 4 лежат в самой схеме дешифратора. Схема может быть разделена с помощью разрыва между ключом наименьшего значащего бита и входом как показано на рис. 9.17. Для того чтобы проверить, может ли ключ кроме сигнала с высоким уровнем формировать и низкий уровень, следует ис- пользовать логический пробник. Независимо от результата, две возможные причины будут сразу исключены. Итак, неисправность была локализована до какого-то конкретного участка схемы. Точно отследить причину неправильной работы можно, используя уже известные процедуры. 604 Глава 9
Рис. 9.17. Неправильно работающая схема из примера 9.7 Пример 9.8 Техник присоединил выходы двоично-десятичного счетчика ко входам дешифрато- ра/драйвера, показанного на рис. 9.8. Специалист подает на счетчик импульсы с очень малой частотой и анализирует показания индикатора. При изменении состоя- ний счетчика от 0000 до 1001 на индикаторе появляются символы, показанные ни- же. Тщательно изучите приведенную последовательность и попытайтесь назвать наи- более вероятную причину подобной работы схемы. Счет 0 1 2 3 4 5 6 7 8 9 Отображается П и / / о J J J / / О С и "7 / о и J / / Должно быть п и 1 1 J с J и / г J г о "7 / Г/ и Г7 1 Решение Сравнив полученные символы с ожидаемыми, можно заметить некоторую законо- мерность: а) В тех состояниях счетчика, когда символы отображаются неправильно, все сег- менты символов относятся только к сегментам, которые появляются при состоя- ниях счетчика, не больших 1001. б) Это исключает неисправность самого счетчика или неправильное подключение счетчика к дешифратору/драйверу. в) Правильно отображаемые символы (0, 1, 3, 6, 7 и 8) имеют одно общее свойство: сегменты е и f или оба включены, или оба выключены. г) Неправильно отображаемые символы также имеют общее свойство: сегменты ей/ находятся в противоположных состояниях, и если заменить один из них другим, то мы как раз получим ожидаемый символ. Если немного поразмышлять над указанными моментами, можно прийти к простому умозаключению, что техник, скорее всего, перепутал местами выводы сегментов ей/. Логические схемы средней степени интеграции 605
9.6. Мультиплексоры (селекторы данных) Современные домашние стереосистемы имеют переключатель, с помощью которо- го можно выбрать один из четырех типов носителей: кассету, компакт-диск, радио и дополнительный источник (например, видеомагнитофон или DVD-проигрыватель). Ключ выбирает один из электронных сигналов от одного из четырех источников и посылает выбранный сигнал на усилитель мощности и колонки — это и есть функ- ция мультиплексора (элемент обычно обозначается MUX): он выбирает один из не- скольких входных сигналов и выдает его на выход. Цифровой мультиплексор, или селектор данных, представляет собой логическую схему, которая принимает несколько оцифрованных сигналов и выбирает один из них и передает на выход. Передача требуемого сигнала на выход контролируется входами выбора данных (SELECT), которые иногда еще называют входами выбора адреса (ADDRESS). На рис. 9.18 представлена функциональная схема простейшего цифрового мультиплексора. Входы и выходы показаны вместо линий широкими стрелками; это означает, что в общем случае они могут представлять собой несколько сигнальных линий. Мультиплексор работает в качестве управляемого оцифрованными сигналами многопозиционного переключателя. Цифровой код, поданный на тот или иной вход выбора данных (вход SELECT), управляет входными сигналами, которые будут пере- даваться на выход системы. Например, если подать определенный код на вход выбо- ра, то с выхода Z будет сниматься сигнал, поданный на вход Zo (т.е» состояния этого входа и выхода Z будут равны); если подать другой код, то состояние выхода Z будет равно уже состоянию входа Ц и т.д. Итак, можно сказать, что мультиплексор выби- рает один из N входных сигналов и передает его на один выход. Этот процесс назы- вается мультиплексированием. входы Рис. 9.18. Функциональная схема цифрового мультиплексо- ра (MUX) Базовый мультиплексор с двумя входами На рис. 9.19 изображена логическая схема мультиплексора с двумя входами дан- ных Zo и Zb а также со/входом выбора S. Логические уровни напряжения, поданные на вход S, определяют, какой из элементов И будет пропускать на свой выход дан- 606 Глава 9
ные, поступающие затем через элемент ИЛИ на выход Z схемы. Пользуясь булевой алгеброй, можно записать следующее выражение для выходного сигнала: Z = Z0S + Z1S. Входы данных Управляющие входы Рис. 9.19. Мультиплексор с двумя входами данных При S = 0 выражение принимает вид Z — 10 1 + Ij • 0 = Iq, (работает второй элемент И) т.е. сигнал на выходе Z будет идентичен сигналу со входа 10, который, в свою оче- редь, может быть либо постоянным, либо варьирующимся во времени сигналом. Ес- ли же S « 1, то выражение примет следующий вид: Z = /0 • 0 + Л • 1 = 11, (работает первый элемент И) т.е. сигнал на выходе Z будет идентичен сигналу со входа Д. В качестве примера мультиплексора с двумя входами можно назвать цифровую систему, использующую два различных сигнала синхронизации: высокоскоростной сигнал (с частотой, скажем, 10 МГц) в одном режиме и низкоскоростной (например, 4,77 МГц) сигнал во втором режиме функционирования. Если применить этот при- мер к схеме, приведенной на рис. 9.19, то можно было бы подать синхросигнал с частотой 10 МГц на вход Zo, а сигнал с частотой 4,77 МГц — на вход Ц. Сигнал с уз- ла управления системой будет управлять входом выбора (SELECT), т.е. следить за тем, какой из двух сигналов синхронизации появится на выходе Z, откуда он посту- пит на какие-нибудь другие части системы. Мультиплексор с четырьмя входами Та же идея использования мультиплексирования может применяться и для фор- мирования мультиплексора с четырьмя входами, показанного на рис. 9.20. Теперь мы имеем дело с четырьмя каналами данных, причем каждый момент времени на выход передаются логические уровни только одного из них, определяемого четырьмя возможными комбинациями уровней напряжения на входах выбора данных Si и So. Каждому входу данных соответствует своя комбинация битов. Например, вход 10 управляется комбинацией SjS2, т.е. сигнал с этого входа пройдет через элемент И на выход Z схемы, только если одновременно Si = 0 и So = 0. Из таблицы, приведенной на том же рисунке, видно, какими кодовыми комбинациями и с какого входа дан- ных управляется передача. Логические схемы средней степени интеграции 607
Рис. 9.20. Мультиплексор с четырьмя входами данных Существуют также мультиплексоры с восемью и шестнадцатью входами; эти уст- ройства изготовляются как на базе ТТЛ, так и по КМОП-технологии. Используя и объединяя базовые интегральные схемы таких мультиплексоров, можно строить сис- темы с большим количеством входов. Мультиплексор с восемью входами На рис. 9.21, а показана логическая схема мультиплексора с восемью входами на основе логической микросхемы 74ALS151 (74НС151). Это устройство имеет разре- шающий вход Е и два выхода: обычный и инверсный. Если Е = 0, то сигналы со входов выбора данных S2, Si и So определят, с какого входа данных (от 10 до Z7) пройдет информация на выход Z. Если же Е — 1, то мультиплексор будет закрыт, и на выходе установится постоянный сигнал Z = О независимо от кода на входах выбо- ра. Функционирование устройства описано с помощью таблицы истинности (изобра- жена на рис. 9.21, б), а логический символ, которым обозначают ИС 74151, приведен на рис. 9.21, в. Пример 9.9 В схеме, приведенной на рис. 9.22, используется сразу два мультиплексора 74НС151, инвертор и элемент ИЛИ. Опишите работу схемы. Решение Схема имеет 16 входов данных, по восемь на каждый мультиплексор. Выходы обоих мультиплексоров объединены с помощью элемента ИЛИ и составляют один общий выход X. В целом схема работает как мультиплексор с 16 входами данных. Четыре входа выбора S3S2SiSo определяют, с какого входа данных сигнал проходит на выход системы. 608 Глава 9
Входы Выходы Е сл м S, So 2 Z В X X X в н Н н н н 'о н н н в 11 h н н в н *2 н н в в ь н в н н н в н в ъ *5 н в в н ъ *6 н в в в |7 б) В) Рис. 9.21. а) Логическая схема мультиплексора 74ALS151; б) таблица истинности; в) логический символ. (Показано с разрешения Schlumberger company) Старший вход выбора 83 определяет, какой из мультиплексоров включен в данный момент времени (если, например, 83 = 0, то включен верхний из них). Комбинация S2S1S0 определяет вход данных, сигнал с которого пройдет через элемент ИЛИ и появится на выходе X. При S3 = 1 нижний мультиплексор включен, и входная ком- бинация битов S2S1S0 определяет, с какого входа данных сигнал уже этого мультип- лексора пройдет на выход X. Логические схемы средней степени интеграции 609
Рис. 9.22. Пример 9.9: две ИС 74НС151, объединенные в один мульти- плексор с 16 входами данных ИС 74ALS157/HC157 (четыре мультиплексора с двумя входами) Интегральная схема 74ALS157 представляет собой очень полезный мультиплек- сор, который состоит из четырех мультиплексоров с двумя входами каждый (см. рис. 9.19). На рис. 9.23, а приведена функциональная схема этого устройства. Обра- тите внимание на то, как обозначены входы и выходы данных. Пример 9.10 Определите состояния входов мультиплексора, необходимые для того, чтобы на каж- дом выходе Z наблюдался такой же логический уровень, как и на соответствующем ему входе группы 10. Повторите то же самое для входов Ц. Решение Прежде всего, разрешающий вход должен быть активным, т.е. обязательно условие Е = 0. Чтобы на входе установился тот же логический уровень напряжения, что и на входе ZOa, на вход выбора данных должен поступить сигнал с низким уровнем. Те же самые условия необходимы для формирования сигналов Zb = /оь, Zc = и Zd = 1^. 610 Глава 9
Рис. 9.23. а) Функциональная схема мультиплексора 74ALS157; б) логический символ; в) таблица истинности. (Показано с разрешения компании Schlumberger company) Если Е = 0 и S = 1, то сигналы на выходах Z будут повторять набор данных со вхо- дов Л, т.е. ZA = 11Л, Zb = Zlb, Zc = Zlc и Zd = Zld. При поступлении на разрешающий вход единичного уровня все выходы будут от- ключены (на них установятся низкие уровни напряжения). Мультиплексор в данной задаче можно считать простым мультиплексором с двумя входами, каждый из которых на самом деле состоит из четырех сигнальных линий; четыре реальных выхода также можно условно заменить одним. Все выходы этого устройства по очереди переключаются между двумя наборами входов в зависимости от состояния входа выбора данных. На такое функционирование ИС 74ALS157 указы- вает и логический символ (рис. 9.23, б), которым обозначен данный мультиплексор. Логические схемы средней степени интеграции 611
Контрольные вопросы 1. Для чего предназначен вход выбора данных мультиплексора? 2. Сколько всего входов имеет мультиплексор, который передает на выход сигнал с одного из 32 входов данных? 9.7. Применение мультиплексоров Мультиплексоры находят широкое и разнообразное применение в цифровых сис- темах всех видов. Их используют в операциях, связанных с выбором данных, при маршрутизации, установлении последовательности передачи данных, преобразовании параллельных кодов в последовательные, при формировании сигналов и логических функций. Некоторые применения мультиплексоров представлены в этом разделе книги и в упражнениях в конце главы. Маршрутизация данных Мультиплексоры могут намечать маршрут передачи данных от нескольких источ- ников к одной общей точке. Типичный случай маршрутизации, в котором использу- ются мультиплексоры на ИС 74ALS157, состоит в выборе и отображении содержимо- го одного из двух двоично-десятичных счетчиков, причем для каждого счетчика в схеме имеется один дешифратор/драйвер и индикатор на светодиодах. Устройство такой схемы показано на рис. 9.24. Каждый счетчик состоит из двух последовательно соединенных двоично-десятич- ных каскадов, управляемых отдельными сигналами синхронизации. Если на вход выбора счетчика (COUNTER SELECT) подан сигнал с высоким уровнем, то выходные сигналы со счетчика 1 пройдут через мультиплексоры на дешифраторы/драйверы, а затем отобразятся на индикаторе. Если же на входе выбора счетчика установится сигнал с низким уровнем (COUNTER SELECT = О), то на индикаторе отобразятся сигналы с выхода счетчика № 2. Таким образом, в зависимости от состояния входа выбора будет отображено десятичное содержимое первого или второго счетчика. Са- мый общий случай, где может быть использована такая схема — электронные часы. Схема наручных электронных часов содержит множество счетчиков и регистров, ко- торые ведут отсчет секунд, минут, часов, дней, месяцев, следят за установками бу- дильника и т.д. Мультиплексирующая схема, подобная рассмотренной ранее, позво- ляет выводить на небольшом индикаторе требуемую информацию любого вида. Цель мультиплексирования в данном случае заключается во временном разделе нии дешифраторов/драйверов и индикатора между двумя счетчиками, что намного выгоднее, чем использовать отдельный дешифратор 'драйвер и индикатор для каждо- го из каскадов. В результате появляется возможность значительно сократить количе- ство соединений схемы, особенно если каждый счетчик требовал большего числа двоично-десятичных каскадов. Еще более важно то, что заметно уменьшается и по- требляемая мощность, поскольку дешифраторы/драйверы и светодиодные индикато- ры обычно требуют довольно больших значений тока от источника питания Ксс. Ес- тественно, такой подход имеет свои ограничения — в любой момент времени на ин- дикаторе может отображаться содержимое только одного счетчика. Однако в большинстве случаев этот недостаток не является критическим. Устройство механи- ческого ключа может быть таково, что для работы с общим дешифрато- ром/драйвером и для отображения на индикаторе не понадобится никаких переклю- чений, но количество контактов, сложность строения и физические размеры такого ключа будут представлять значительные недостатки по сравнению с логикой, приве- денной на рис. 9.24. 612 Глава 9
E s Zd Выбор счетчика Двоично- ДеОРТИЧНЫЙ счотчик 74ALS157 Мультиплексор (десятки) -<-----Счетчик 1 ------*- Десятки Единицы Двоично- десятичный счетчик Zb Преобразователь двоичного кода для семисегментного О индикатора Za Zc h 74ALS157 l0 Мультиплексор (единицы) Десятки Двоично- десятичны! счетчик Zb ЖКИ Счетчик 2------*- Единицы [- Двоично- !й< Э* десятичный счетчик Zd Преобразователь двоичного кода для семисегментного & индикатора ЖКИ Тактовый вход 2 Рис. 9.24. Система для одновременного отображения двух двоично-десятичных счетчиков Преобразование параллельного кода в последовательный Многие цифровые системы обрабатывают двоичные данные в параллельной форме (все биты одновременно), поскольку такой метод быстрее последовательной обработ- ки, Однако если данные необходимо передавать на относительно большие расстоя- ния, параллельная передача, требующая слишком большого количества линий пере- дач, уже не может удовлетворить запросы. Именно поэтому перед тем, как передать двоичные данные на большие расстояния, их часто приходится преобразовывать в последовательный вид. Один из методов, с помощью которого можно выполнить пре- образование данных из параллельного вида в последовательный, заключается в применении мультиплексора, как показано на рис. 9.25. Данные в параллельном виде поступают с выходов регистра X, после чего подаются на мультиплексор с восемью входами. Для формирования кода выбора данных S2SiSq используется трехбитовый (т.е. с Кпер = 8) счетчик, состояния которого изменяются от ООО до 111 с частотой сигнала синхронизации. Благодаря такому подключению до по- Логические схемы срвдней степени интеграции 613
ступления первого синхроимпульса и в течение его длительности с выхода мультиплек- сора будет сниматься сигнал Хо, во время поступления второго синхроимпульса — сигнал Ху и т.д. С выхода Z будет сниматься сигнал, который представляет собой по- следовательную форму данных, переданных на вход схемы в параллельной форме. Форма сигнала, показанного на рисунке, дана для случая X7X6X5X4X3X2-^iX'o = = 10110101. Процесс преобразования этих данных занял восемь периодов сигнала син- хронизации. Обратите внимание на то, что бит Хо (младший значащий бит) передается в первую очередь, а бит Х7 (старший значащий) — в последнюю. Тактовые импульсы а) Рис. 9.25. а) Преобразователь из параллельного кода в последовательный; б) фор- мы сигналов при Х7Х6Х5Х4Х3Х2Х1Х0 = 10110101 Установка последовательности передачи данных- В схеме, изображенной на рис. 9.26, мультиплексор с восемью входами использу- ется в качестве управляющего формирователя последовательности (sequencer), рабо- тающего в семь этапов, в каждом из которых выполняется часть контролируемого физического процесса. Это может быть, например, процесс смешивания двух жидко- стей, из которых затем изготавливается лекарство. Приведенная схема также ис- пользует дешифратор с 3 входами и 8 выходами, а также двоичный счетчик с Кпер = 8. Функционирование системы описывается следующим образом: 614 Глава 9
Импульс запуска Рис. 9.26. Формирователь последовательности, работающий в семь этапов На выход ах датчиков нормально низкий уровень: высокий уровень показывает завершение этапа Инвертирующие усилители для привода исполните ’ьных механизмов 1. В начальный момент времени счетчик сброшен в состояние ООО. Сигналы с выхо- дов счетчика подаются на входы выбора мультиплексора и на входы дешифрато- ра. Таким образом, на выходе дешифратора О0 устанавливается состояние О0 = О, а на всех остальных — единичные состояния, поэтому на всех входах группы исполнительного механизма физического процесса устанавливаются низкие уров- ни напряжения. Выходы группы датчиков в начальный момент времени уста- новлены в состояния с низкими уровнями напряжения. На выходе мультиплек- сора логический уровень Z = Io = 1, так как входы S находятся в состоянии 000. Логические схемы средней степени интеграции 615
2. Импульс запуска начинает выполнение последовательности, устанавливая выход триггера Qo в единичное состояние, что приводит к установке счетчика в состояние 001. Выход О, дешифратора переходит в состояние с низким уровнем напряжения, тем самым активизируя первый вход исполнительного механизма, что является первым шагом выполняемого процесса (открывается клапан наполнения № 1). 3. Спустя некоторое время на первом выходе группы датчиков устанавливается вы- сокий уровень сигнала, что свидетельствует о выполнении первого этапа процесса (поплавковое реле показывает, что емкость заполнена доверху). Этот сигнал идет на вход Ц мультиплексора. Он инвертируется и поступает на выход Z , так как со счетчика приходит код выбора входа данных, равный 001. 4. Переход логического уровня на выходе Z на низкий влияет на состояние входа синхронизации (CLK) триггера Qo. Спадающий фронт переводит счетчик в со- стояние 010. 5. На выходе О2 дешифратора появляется низкий уровень сигнала, что приводит к активации исполнительного механизма № 2, который дает начало второму этапу процесса (открывается клапан наполнения № 2). Теперь состояние выхода Z = 12 (код выбора равен 010). Так как выход датчиков № 2 пока остается в состоянии с низким уровнем напряжения, на выходе Z устанавливается высокий уровень. 6. Когда заканчивается второй этап процесса, выход № 2 группы датчиков перехо- дит в состояние с высоким уровнем сигнала, что приводит к появлению на выхо- де Z низкого уровня, а это, в свою очередь, переводит счетчик в состояние 011. 7. Те же действия повторяются в течение каждого последующего этапа. Когда за- канчивается седьмой этап, на выходе № 7 группы датчиков устанавливается вы- сокий уровень напряжения, а счетчик возвращается из состояния 111 в состоя- ние 000, в котором остается до тех пор, пока новый импульс запуска не начнет выполнение всей последовательности заново. Формирование логической функции Мультиплексоры могут использоваться для реализации логических функций непо- средственно по таблице истинности, при этом необходимость упрощать выражения от- падает. Когда мультиплексор применяется для этих целей, входы выбора используются в качестве логических переменных, а на каждый вход данных подается постоянный сигнал с высоким или низким уровнем, в зависимости от данных таблицы истинности. На рис. 9.27 изображен мультиплексор с восемью входами. Мультиплексор ис- пользован для реализации логической схемы, которая удовлетворяет заданной таб- лице истинности. Входные переменные А, В и С подаются, соответственно, на входы So, Si и S2, т.е. уровни на этих входах определяют, какие данные появятся на выхо- де Z. Согласно таблице истинности при СВА = 000 выход Z должен находиться в со- стоянии с низким уровнем. Следовательно, вход /0 мультиплексора должен быть подключен к источнику с таким логическим уровнем. Точно так же выход Z должен находиться в состоянии с низким уровнем при кодовых комбинациях СВА = 011, 100, 101 и 110, т.е. входы 73, 14, и 7б должны быть соединены с тем же источни- ком (землей). Остальные комбинации переменных должны устанавливать на выходе состояние Z = 1, поэтому входы Ц, Z2 и I? должны быть подключены к источнику высокого уровня напряжения. Легко увидеть, что с помощью такого мультиплексора может быть реализована любая таблица истинности с тремя переменными. Этот метод реализации часто более эффективен, чем использование дискретных логических элементов. Например, если записать в дизъюнктивной форме выражение для таблицы истинности, приведенной на рис. 9.27, получится Z = АВС + АВС + АВС. 616 Глава 9
+Vcc переменные Z = ABC + ABC + ABC 6) Puc. 9.27. Мультиплексор можно использовать для реализации логической функции, за- данной с помощью таблицы истинности Это выражение нельзя упростить алгебраическими методами или с помощью карт Карно, поэтому его реализация на основе дискретных элементов потребует наличия трех инверторов и четырех элементов И-НЕ, т.е. двух интегральных микросхем вме- сто одного мультиплексора. Есть еще один, даже более эффективный метод применения мультиплексоров для реализации логических функций. Этот метод позволяет разработчику логических схем использовать мультиплексоры с тремя входами выбора данных (папример, 74НС151) для реализации логических функций с четырьмя переменными. Этот ме- тод описан в упражнении 9.37. Контрольные вопросы [ 1. Назовите основные области применения мультиплексоров. . 2. Проверьте истинность высказывания. Когда мультиплексор используется для реализации логической функции, логические переменные подаются на входы | данных мультиплексора. 3. Какие схемные элементы формируют сигналы, поступающие на входы выбора • мультиплексора, когда он используется для преобразования параллельного ко- да в последовательный? 9.8. Демультиплексоры (распределители данных) Мультиплексор принимает несколько входных сигналов и передает один из них на выход. Демультиплексор (DEMUX) осуществляет обратную операцию: он берет один входной сигнал и распределяет его на несколько выходов. На рис. 9.28 изобра- жена функциональная схема цифрового демультиплексора. Входы и выходы показа- ны толстыми стрелками, так как они могут представлять собой по несколько сиг- нальных линий сразу. Код, который поступает на вход выбора, определяет, на какой Логические схемы средней степени интеграции 617
выход поступи'/ сигнал со входа данных. Другими словами, на демультиплексор по- ступает один сигнал от источника данных, который проходит на 1 из N выходов, т.е. мы имеем дело с многопозиционным переключателем. Вход данных Вход данных коммутируется только на один из выходов определяемый кодом на управляющем входе Рис. 9.28. Общее устройство демультиплексора Демультиплексор с 1 входом и 8 выходами На рис. 9.29 показана логическая схема демультиплексора, который распределяет сигнал с одного входа на восемь выходов. Вход данных I подключен к каждому из восьми элементов И, но только один из них может быть открыт сигналом, посту- пающим на входы выбора. Например, если S2SiS0 = ООО, то только элемент И с но- мером 0 будет открыт, и сигнал со входа I появится на выходе О0. Другие кодовые комбинации, поступающие на входы выбора, позволят этому же входному сигналу передаваться на другие выходы схемы. Таблица истинности, приведенная на рисунке, подтверждает сказанное и описывает работу схемы еще раз. Схема демультиплексора, показанная на рис. 9.29, очень напоминает дешифратор с 3 входами и 8 выходами (см. рис. 9.2), с той лишь разницей, что к каждому эле- менту был добавлен дополнительный четвертый вход (I). Многие дешифраторы на основе ИС имеют разрешающий вход, который подведен к элементам дешифратора. Такой тип микросхем может использоваться в качестве демультиплексора. Входы, на которые поступают кодовые группы (т.е. биты А, В и С на рис. 9.2), служат входами выбора, а разрешающий вход ENABLE представляет вход данных I. По этой причине производители интегральных схем часто называют подобные микросхемы дешифра- торами/демультиплексорами и акцентируют внимание на том, что одна ИС может использоваться в качестве любого из этих устройств. Ранее было продемонстрировано, как ИС 74ALS138 применяется в качестве де- шифратора “1 из 8”. На рис. 9.30 показано, как эту схему можно использовать в ро- ли демультиплексора. Разрешающий вход играет роль входа данных Z, а два дру- гих входа постоянно поддерживаются в состояниях с высоким уровнем сигнала. На входы А2, Ai и Ао подается код выбора выхода. Чтобы продемонстрировать работу этого устройства, предположим, что сначала входы выбора находятся в состоянии ООО. Единственным выходом, который может быть возбужден этим кодом, будет О0, а на всех остальных выходах сохранятся высокие уровни напряжения. Сигнал на О0 перейдет в состояние с низким уровнем, только если сигнал на входе Ег перейдет в такое же состояние; сигнал на О0 перейдет в состояние с высоким уровнем, только 618 Глава 9
если на входе Ev также установится высокий уровень напряжения. Иначе говоря, сигнал на выходе О0 будет повторять сигнал на Ег (т.е. на входе данных Z), в то время как на остальных выходах останутся высокие уровни. Точно так же другой код выбора, поданный на входы AaAjAo, приведет к установлению на соответствую- щем выходе сигнала со входа данных I. Управляющий выходы код п го СЛ сл о 07 06 о о о см о о о о и; о ООО 0 0 1 0 0 0 0 oooooi _ 0 0 0 0 10 , пРиме"ание- 0 1 0 0 0 0 0 0 10 0 1-жданных 0 1 1 0 0 0 0 1,0 0 0 1 0 0 0 0 0 10 0 0 0 1 0 1 0 0 10 0 0 0 0 1 1 0 0 1 0 0 0 0 ж0 0 1 1 1 1 0 0 0 0 0 *0 0 Рис. 9.29. Демультиплексор с 1 входом данных и 8 выходами Логические схемы средней степени интеграции 619
Вход данных I Управ- ляющий код 74ALS138 Дешифратор/ демультиплексор Ei (I) Of-O?Логическая 1 Форма сигналов при А tA п = ОСО О7 Об О5 Од О3 О2 О1 Од а) б) Рис. 9.30. а) Дешифратор на основе ИС 74ALS138 может быть использован в качестве демультиплексора. В роли входа данных используется вход Elt' б) типичные формы сиг- налов при А2А1А0 = ООО. Из рисунка видно, что сигнал с выхода О0 полностью иденти- чен сигналу со входа данных I (используется ) На рис. 9.30, б показаны типичные формы сигналов для случая, когда код А^АрАо = = ООО выбирает выход О0. Сигнал с данными, поданный на вход Ег, будет передан на выход О0, а все остальные выходы останутся в неактивных состояниях с высоки- ми уровнями напряжения. Синхронизируемый демультиплексор Принцип демультиплексирования находит свое место в очень многих практиче- ских приложениях. На рис. 9.31 показан демультиплексор 74ALS138, который ис- пользуется как синхронизируемый демультиплексор. Под управлением сигналов со входов выбора сигнал синхронизации передается в требуемую конечную точку. На- пример, при SySiSo = ООО сигнал синхронизации, поступающий на вход Z, появится на выходе О,, а при S2SiS0 ~ 101 он появится на выходе О5. Охранные системы наблюдения Рассмотрим применение на промышленном предприятии электронной системы наблюдения, которая должна контролировать состояния открыто/закрыто опреде- ленного количества дверей. Каждая дверь управляет статусом ключа, который необ- ходимо отображать с помощью светоизлучающих диодов, прикрепленных на панели управления в комнате службы контроля. Один из способов такого наблюдения — провести отдельные сигнальные линии от каждого ключа к панели управления, но при этом придется проложить слишком много проводов. Удобнее было бы использо- вать комбинацию мультиплексор/демультиплексор, которая значительно уменьшит общую длину проводов, идущих от дверей к центральной панели управления. На рис. 9.32 показана система, которая управляет восемью дверьми, однако та же схема может быть расширена на любое количество ключей. 620 Глава 9
Тактовые импульсы Управляющий код Рис. 9.31. Синхронизирующий демультиплексор передает сигнал синхрониза- ции в точку, которая определяется кодом на входах выбора Пример 9.11 Внимательно изучите схему, изображенную на рис. 9.32, и опишите ее работу. Решение Сигналы с восьми ключей, которые контролируют состояния дверей, должны посту- пать на входы данных мультиплексора. Эти сигналы имеют высокие уровни напря- жения, если дверь открыта, и низкие — если она заперта. Сигналы, поступающие на входы выбора мультиплексора и демультиплексора, снимаются с выхода счетчика с КПер = 8. Каждый выход демультиплексора подключается к индикатору на СИД, ко- торый будет гореть, если сигнал на выходе будет иметь низкий уровень. Для того чтобы состояния входов выбора последовательно изменялись от состояния ООО до 111, используются импульсы сигнала синхронизации, которые подаются на счетчик. На каждый отсчет счетчика состояние ключа, контролирующего дверь с номером, который соответствует этому отсчету, будет инвертировано мультиплексором и пере- дано на выход Z . Оттуда сигнал поступает на вход демультиплексора и появляется на одном из его выходов, номер которого соответствует тому самому счету. Пусть, например, счетчик находится в состоянии 110 (6) и пусть в этом состоянии счетчика дверь 6 заперта. Низкий уровень сигнала на входе /е пройдет на мультип- лексор и будет инвертирован в высокий уровень на выходе Z . Этот уровень поступит на демультиплексор и пройдет через него на выход Ов, поэтому светодиод с номером 6 погаснет, это будет означать, что дверь закрыта. Теперь представим, что эта дверь открыта. На выходах Z и Ов появятся низкие уровни сигнала, поэтому светодиод с номером 6 будет гореть, сигнализируя о том, что дверь открыта. В то же «время все остальные светодиоды будут выключены, так как только один выход демультиплек- сора Ов активизирован. Логические схемы средней степени интеграции 621
330 Ом Пока счетчик под действием сигнала синхронизации последовательно переключается из состояния ООО в состояние 111, светодиоды будут показывать состояния восьми дверей. При условии, что все двери закрыты, ни один из светодиодов не загорится, даже если будет возбужден соответствующий выход демультиплексора. Если же ка- кая-то дверь открыта, ее светодиод будет гореть в течение интервала, когда счетчик будет находиться в соответствующем состоянии; в течение остального времени и этот индикатор будет выключен. Таким образом, светодиоды будут мигать, если хоть одна дверь окажется незапертой. Частота мигания может быть установлена изменением частоты сигнала синхронизации. Обратите внимание, что от дверей к панели управления идут только четыре сиг- нальные линии: провод с выхода Z и три провода, по которым поступает код выбо- ра. Тем самым число сигнальных линий заметно сокращается по сравнению с прове- дением к каждой двери отдельного провода. Комбинация мультиплексор/демульти- плексор используется для последовательной (вместо параллельной)t передачи состоя- ния каждой двери на соответствующий светодиод. 622 Глава 9
Синхронные системы передачи данных На рис. 9.33 показана функциональная схема синхронной системы передачи дан- ных, которая используется для последовательной передачи четырех четырехбитовых слов от передатчика к удаленному приемнику. Рассмотрим устройство передатчика. Слова данных хранятся в регистрах А, В, С и D, которые подключены к кольцевым регистрам сдвига с общим входом синхронизации SHIFT. Каждый регистр сдвигает данные вправо по приходу с элемента И № 2 переднего фронта импульса SHIFT. Младший значащий бит каждого регистра присоединен ко входу данных мультип- лексора с четырьмя входами. Передачей содержимого регистров данных на выход Z мультиплексора управляют два счетчика с Кпер = 4. Счетчик слов выбирает регистр, данные из которого появят- ся на выходе Z. Поскольку этот счетчик изменяет состояния от 00 до 11, то на Z бу- дут последовательно появляться данные с каждого регистра. Счетчик битов необхо- дим для передачи системой из каждого регистра на мультиплексор всех четырех би- тов данных прежде, чем перейти к следующему регистру. Этот счетчик изменяет свои состояния на каждый импульс сигнала сдвига (SHIFT), поэтому после каждых четырех импульсов он сбрасывается в 00. Появление на выходе Qi счетчика битов заднего фронта сигнала приведет к увеличению состояния счетчика слов на единицу, в результате чего будет выбран следующий регистр данных. Таким образом, по одно- му биту за единицу времени на выход Z будет передано содержимое каждого регист- ра начиная с регистра А (при SjSq — 00) и дальше, соответственно увеличению со- стояния счетчика слов на каждые четыре импульса сигнала SHIFT. Сигнал на выхо- де Z будет, следовательно, содержать 16 бит данных в последовательной форме, по 4 бита с каждого регистра. Эти данные будут мультиплексированы с временным разделением, так как четыре различных набора данных появляются на одном сиг- нальном проводе в разные моменты времени. Процесс передачи управляется двумя D-триггерами, двумя элементами И, а также одновибратором. Функционирование этой схемы будет описано в следующем разделе. Приемник Схема приемника содержит демультиплексор, имеющий один вход и 4 выхода. Он принимает сигнал Z, сформированный на мультиплексоре передатчика, и де- мультиплексирует его, т.е. разделяет четыре разных набора данных и распреде- ляет их на четыре различных выхода таким образом, что данные, которые посту- пили из регистра А, появятся в виде последовательного кода на выходе Qo, данные из регистра В — на выходе Qi и т.д. Конечный результат будет практически такой же, как если бы мы имели по одному передатчику, подключенному к соответст- вующему выходу приемника, на каждый регистр данных; исключение составляет лишь тот факт, что данные передаются из регистров поочередно, т.е. в виде после- довательного кода. Счетчики приемника с Кпер = 4 имеют ту же функцию, что и аналогичные эле- менты в передатчике. Счетчик слов выбирает, какой выход демультиплексора будет принимать данные, а счетчик битов позволяет четырем битам данных достичь выхо- да до того, как счетчик слов увеличит свое состояние на единицу. Функции тригге- ров, одновибраторов и элементов И описаны ниже. Логические схемы средней степени интеграции 623
I > co _ Принимаемый данные ПЕРЕДАТЧИК ПРИЕМНИК
Полное описание работы схемы Для правильной работы данной системы передачи данных в нее должны быть включены средства синхронизации выбора входов мультиплексора передатчика и выходов демультиплексора приемника. Рассмотрим полный рабочий цикл схемы, чтобы увидеть, как реализована синхронизация. Для этого примем следующие на- чальные данные, хранящиеся в регистрах: [А] = ОНО, [В] = 1001, [С] = 1011, [В] = 0100. ГаСТо»ЫеГкГиЪТШТ1ТШТ^ Рассматривая поэтапно работу схемы, будем обращаться к сигналам, показанным на рис. 9.34: 1. Выходы триггеров передатчика W и X, а также триггера У приемника обычно на- ходятся в состоянии с низким уровнем напряжения. Логические уровни с низким уровнем с выходов триггеров X и У держат оба набора счетчиков в нулевом состоя- нии. Низкий уровень сигнала на выходе триггера W не дает импульсу сигнала син- хронизации (CLOCK) пройти через элемент И, обозначенный на рисунке цифрой 1. 2. Поскольку оба счетчика слов находятся в состояниях 00, низкий уровень напряже- ния на триггере Ао регистра А проходит через мультиплексор на выход Z и далее на выход О0 демультиплексора. Все остальные выходы демультиплексора остаются в состояниях с низкими уровнями напряжения, так как они не были выбраны. Логические схемы средней степени интеграции 625
3. Описанная выше ситуация справедлива до момента времени t0. В момент t0 им- пульс передачи (TRANSMIT) устанавливает триггер W в единичное состояние, в результате чего элемент И № 1 начинает пропускать импульсы синхронизации. Эти импульсы передаются на приемник и вместе с передаваемыми данными по- ступают в приемную систему. 4. В момент времени t2 задний фронт первого импульса синхронизации, прошедшего через элемент И, устанавливает триггеры X и Y в состояния с высокими уровнями напряжения. В результате начинают работать счетчики, а также открываются эле- менты И №2 и 3, которые с момента t3 начинают пропускать импульсы сигнала синхронизации. С выхода элемента И № 2 начинают поступать импульсы сдвига (SHIFT). Точно такие же импульсы вырабатываются и на выходе элемента И №3. 5. В моменты времени t3, t4 и t5 передние фронты импульсов SHIFT сдвигают биты Ах, А2 и А3 в мультиплексор, а оттуда через линию Z — в демультиплексор, после чего они появляются на выходе О0. Эти три передних фронта также отсчитыва- ются обоими счетчиками битов. 6. В момент времени te передний фронт импульса сдвига (SHIFT) сдвинет все реги- стры обратно в исходные состояния, а счетчик битов вновь окажется в состоянии 00. Задний фронт сигнала на выходе счетчика битов увеличит на 1 состояния обоих счетчиков слов (до 01), в результате чего произойдет выбор входа мультип- лексора Ц и выхода демультиплексора Теперь уже высокий уровень с выхода триггера Во пройдет через мультиплексор и линию Z в демультиплексор и поя- вится на его выходе Ох. 7. В моменты времени t7, t8 и импульсы сдвига передвинут биты Вь В2 и В3 в муль- типлексор, а оттуда на выход демультиплексора В момент ti0 счетчики битов вер- нутся в первоначальные состояния, а состояния счетчиков слов увеличатся до 10, в результате чего произойдет выбор /2 и О2. При этом высокий уровень сигнала с выхо- да триггера Со регистра С поступит на выход Z и затем появится на выходе О2. 8. В моменты времени tu, t12 и t13 биты Clt С2 и С3 будут сдвинуты в мультиплексор, а оттуда на выход демультиплексора О2. В момент t14 счетчики битов вернутся в исходные состояния, а состояния счетчиков слов вновь увеличатся на единицу, уже до состояния 11, в результате чего произойдет выбор 73 и О3. При этом низкий уро- вень сигнала с выхода триггера Do регистра D поступит на Z и затем на О3. 9. В моменты времени t15, tie и t17 под действием импульсов сдвига биты D2 и Р3 будут сдвинуты в мультиплексор, а оттуда на выход О3. В момент t18 счетчики битов вернутся в исходные состояния и сбросят счетчики слов в состояние 00. Задний фронт сигнала на выходе Qi счетчиков слов переключит одновибраторы, и на их выходах будут сформированы узкие импульсы сброса, которые очистят триггеры W, X и У. Эти триггеры возвратятся в состояния с низкими уровнями напряжения, в результате чего прохождение импульсов сдвига и синхронизации будет запрещено, и все счетчики останутся в нулевых состояниях. 10. Схема вновь оказалась в исходном состоянии. Данные не будут передаваться на приемник, пока на схему вновь не поступит импульс передачи (TRANSMIT). Формы сигналов на линии Z и выходах с О0 по О3 показывают, как данные, хра- нящиеся в регистрах, мультиплексируются в сигнал Z и затем демультиплексируются таким образом, что на каждом выходе появляется исходная последовательность битов. Контрольные вопросы 1. Поясните разницу между мультиплексором и демультиплексором. j 2. Проверьте истинность высказывания. Схема демультиплексора в основном такая же, как и схема дешифратора. 3. Что увидит сотрудник службы безопасности предприятия на панели управле- ния системы, изображенной на рис. 9.32, если все двери будут открыты? 626 Глава 9
9.9. Дополнительные сведения о поиске неисправностей В этом разделе приведены еще три примера, демонстрирующие принцип наблю- дения/анализа, который является начальным и, возможно, наиболее важным шагом при поиске неисправностей в схемах. В каждом случае попытайтесь сначала само- стоятельно определить причину неполадки схемы, и только потом сверяйтесь с ре- шением. Пример 9.12 Посмотрите на схему, изображенную на рис. 9.24. Испытания показали, что схема не всегда работает правильно, о чем свидетельствуют данные табл. 9.2. Назовите воз- можную причину, которая привела к подобным результатам. Таблица 9.2 ___ . _______________________‘________* ' ___ Реальное количество отсчетов Отображаемое количество отсчетов Эксперимент 1 Счетчик 1 25 25 Счетчик 2 37 35 Эксперимент 2 Счетчик 1 49 49 Счетчик 2 72 79 Эксперимент 3 Счетчик 1 96 96 Счетчик 2 14 16 Решение В каждом из экспериментов, результаты которых приведены в таблице, количество отсчетов первого счетчика соответствует истинному значению. Это говорит о том, что вход Zj и все выходы обоих мультиплексоров, а также оба индикатора скорее всего исправны и работают корректно. С другой стороны, из каждого эксперимента стало известно, что разряд десятков второго счетчика также отображается правильно, но содержимое разряда единиц не соответствует реальному числу отсчетов. Это может означать, что неисправность, которая безусловно присутствует в схеме, локализована где-то между выходом секции единиц счетчика 2 и входами группы 10 того мультип- лексора, на который поступают единичные отсчеты. Необходимо сравнить коды би- тов реального и отображаемого значений единиц, отсчитываемых вторым счетчиком (табл. 9.3). Теперь посмотрим, нет ли в приведенных данных какой-нибудь законо- мерности, например бита, который не изменяется (т.е. сигнал постоянно имеет один логический уровень) или двух битов, которые все время меняются местами (это будет означать перекрестную связь между ними). Однако данные табл. 9.3 показывают, что какой-либо закономерности не наблюдается. Таблица 9.3 Реальное число единиц Отображаемое число единиц Эксперимент 1 0111 (7) 0101 (5) Эксперимент 2 0010 (2) 1001 (9) Эксперимент 3 0100 (4) 0110 (6) Логические схемы средней степени интеграции 627
Если еще раз взглянуть на полученные результаты, то можно увидеть, что отобра- жаемое число единиц, которое подсчитывается вторым счетчиком, всегда совпадает с числом единиц, подсчитанным первым счетчиком. Эта ошибка скорее всего является результатом наличия постоянного высокого уровня сигнала на входе выбора того мультиплексора, на который со счетчиков подаются биты единиц, потому что только в этом случае число единиц, подсчитанное первым счетчиком, будет постоянно при- сутствовать на выходе этого мультиплексора. Неизменный высокий уровень напря- жения на входе выбора мог быть вызван размыканием проводника где-то между вхо- дами выбора мультиплексоров. Таким образом, вероятность замыкания на источник питания Vcc отпадает, поскольку тогда и на входе выбора второго мультиплексора наблюдался бы такой же логический уровень, однако этого не происходит. Пример 9.13 Во время тестирования системы наблюдения за безопасностью, показанной на рис. 9.32, были получены результаты, записанные в табл. 9.4. Назовите причину, которая могла привести к подобным результатам. Таблица 9.4 Условие Состояние светодиодов Все двери закрыты Дверь 0 открыта Дверь 1 открыта Дверь 2 открыта Дверь 3 открыта Дверь 4 открыта Дверь 5 открыта Дверь 6 открыта Дверь 7 открыта Все СИД выключены СИД 4 мигает СИД 5 мигает СИД 6 мигает СИД 7 мигает СИД 4 мигает СИД 5 мигает СИД 6 мигает СИД 7 мигает Решение Еще раз изучим данные, чтобы попытаться найти какие-либо закономерности в ком- бинациях битов, которые могли бы помочь сузить зону поиска неполадки до небольшого участка схемы. Из табл. 9.4 видно, что светодиоды правильно показыва- ют только состояния дверей №4-7, для остальных дверей (№0-3) номер мигающего светодиода на четыре больше, чем номер двери, а соответствующие этим дверям све- тодиоды почему-то вообще не горят. Наиболее вероятно, что такая ошибка вызвана постоянным высоким логическим уровнем сигнала на входе А2, на который подается старший значащий бит кода выбора, поступающего с демультиплексора. Именно та- кая ситуация приведет к тому, что код выбора будет всегда равен 4 или больше, а к кодам выбора дверей с номерами от 0 до 3 всегда будет прибавляться та же четверка. Таким образом, имеем две потенциальные причины неправильной работы схемы: или вход А2 оказался замкнут на источник питания Vcc, или около него произошел раз- рыв проводника. После несложных размышлений можно отбросить первую версию, так как тогда на входе S2 мультиплексора установился бы высокий уровень, а информация о состоянии дверей №0-3 вообще не попадала бы на мультиплексор и оттуда на демультиплексор. Однако этого не происходит, так как полученные данные показывают, что если открыта хоть одна дверь, это отражается на одном из выходов демультиплексора, связанного с панелью управления. 628 Глава 9
Пример 9.14 Пусть синхронная система передачи информации, изображенная на рис. 9.33, рабо- тает следующим образом: форма сигнала на выходе Z соответствует ожидаемой, но форма сигнала О0 на выходе схемы все время идентична сигналу Z, тогда как на других выходах установились постоянные низкие уровни напряжения. Предполага- ется, что схема приемника припаяна к печатной плате, а не вставлена в ее разъем. Решение Для определения возможных причин неправильного функционирования системы следует применить уже известную нам комбинацию наблюдения/анализа. Для лока- лизации проблемы воспользуемся принципом разделяй и властвуй. Наиболее оче- видное предположение — при передаче данных на входах So и Si демультиплексора установились постоянные низкие уровни напряжения. Если же причина не в этом, тогда, очевидно, неисправен сам демультиплексор. При использовании логического пробника эта версия сразу отпадает, потому что с помощью достаточно простой про- верки можно легко локализовать проблему. Предполагая, что в действительности на входах So и Si наблюдаются постоянные низкие уровни напряжения, можно при- думать множество возможных причин такого положения. Перечислим их по порядку: а) Вход So мультиплексора или выход Qo счетчика слов могли оказаться замкнуты- ми на землю, в результате чего счетчик не может увеличивать свое состояние. б) Счетчик слов мог оказаться неисправным' (замкнут или, наоборот, разомкнут вход синхронизации CLK, вход MR замкнут на землю, другие внутренние неполадки). в) Мог оказаться неисправным счетчик битов (замкнуты или, наоборот, разомкнуты входы CLK или Qi, вход MR замкнут на землю, другие внутренние неполадки). г) Могли оказаться неисправными инвертор или элемент И (разомкнутые или замк- нутые входы или выходы, внутренние неполадки). д) Мог оказаться неисправным триггер У (замкнуты на землю входы D, CLR или У, другие внутренние неполадки). е) Мог оказаться неисправным одновибратор (замкнут или разомкнут триггер, замк- нут на землю вход Qq, неисправна RC-цепъ, присоединенная к одновибратору, внутренние неполадки). ж) Могла оказаться разомкнутой линия синхронизации между передатчиком и при- емником. Согласно условию задачи замена любого из компонентов означает выпаивание мик- росхем с 14 или 16 выводами, поэтому нет никакого смысла пробовать решить эту проблему “в лоб”. Лучше найти какой-нибудь способ исключить некоторые возмож- ные причины с помощью подхода “разделяй и властвуй”. Относительно счетчика слов можно заключить, что не поступает сигнал синхронизации или на выводе MR установился постоянный низкий уровень напряжения. Если одно из этих предполо- жений окажется ложным, то из списка можно вычеркнуть сразу половину подозре- ваемых в неисправности интегральных схем! Поместим пробник на вход MR счетчи- ка слов — он показывает высокий уровень сигнала. Такой логический уровень свиде- тельствует о том, что обрыв линии синхронизации произошел между приемником и передатчиком, триггер У работает, и нет причин подозревать в неполадке одновибра- тор. Мы можем проверить наши догадки, снова установив логический пробник на вывод MR и подав импульс на вход Т одновибратора. Если на выводе MR присутст- вует импульс отрицательной полярности (шириной примерно с один синхроимпульс), то можно исключить причины 5, 6 и 7. Блок-схема алгоритма поиска неисправности приведена на рис. 9.35. Если последовательно пройти все ветви логического дерева данной схемы, то становится очевидным, что все тесты схемы всегда выполняются в точках, в которых можно отбросить максимальное количество вероятных причин. Предложенный алгоритм не отображает все без исключения возможные причины не- поладок данной схемы, поэтому когда мы придем к заключению, что неисправен тот Логические схемы средней степени интеграции 629
к JO Со СП 5 с Проверить входы демультиплексора S^q jo Нет Да Идет счет? Неисправен емультиплексор ь о х 6 И л с о © ь “S к 3 к о 3 о к о о к л С о О а х о о 3 к« Пробник к выходу MR счетчика слов Пульсатор к выходуТ ждущего мультивибратора Пробник ко входу CLR триггера Y Проблема в цепи сброса Нет Проблема в цепи Да синхронизации Проходят отрицательные импульсы? Пробник ко входу CLK счетчика битов Пульсатор к выходу Т ждущего мультивибратора Проверить вход CLK триггера Y Да Нет Проходят отрицательные импульсы? Неисправен ждущий мультивибратор Проверить выход элемента ЗИ Да /ЕстьХ ——чимпульсы Нет Нет X ЕстьХ. импульсьг Да Пробник ко входу CLK счетчика слов Нет /ьсть\ Да ——\импульсы!>—“ Нет / ЕстьХ. Да —<импульсы?3>— Не передаются^ тактовые ) <импульсы У /'"Найти ^причину Проверить вход D триггера Y Нет Высокий Да уровень? ^(Неисправен триггер Y юисправен инвертор Неисправен элемент ЗИ, Неисправен счетчик битов Неисправен счетчик слов
или иной компонент, перед заменой схемы потребуется самостоятельно выполнить дополнительные проверки, чтобы убедиться, что микросхема неисправна. Однако схема показывает полную логику, которую опытный техник должен использовать для нахождения проблемы. Хороший техник работает так же, как и хороший детек- тив — он всегда сначала ищет ключи, а затем делает дедуктивные умозаключения, основываясь на фактах. 9.10. Компараторы величин Еще одним полезным членом семейства интегральных схем средней степени инте- грации является компаратор величин. Компаратором величин называется комбина- ционная логическая схема, сравнивающая две входных двоичных величины и фор- мирующая сигналы, которые показывают, какая из величин имеет большее значе- ние. На рис. 9.36 показаны логический символ, которым обозначается четырех- битовый компаратор величин на основе ИС 74НС85 (доступен и на 74LS85), а также его таблица истинности. Входы данных ИС 74НС85 сравнивает два двоичных четырехбитовых числа без знаков. Одно из них, А3А2А1А), будем называть словом А; другое, В3В2В1Во» — словом В. Термин “слово” очень часто используется в цифровых компьютерах для обозначения группы битов, которая представляет собой конкретный тип информации. В данном случае слова А и В представляют числовые двоичные величины. Выходы ИС 74НС85 имеет три выхода, которые управляются высокими уровнями напря- жения. Выход ОА>в будет находиться в состоянии с высоким уровнем сигнала, если величина слова А будет превышать величину слова В. Выход ОА<в будет находиться в состоянии с высоким уровнем, если величина слова А будет меньше, чем величина слова В. И наконец, выход ОА=В будет находиться в состоянии с высоким уровнем, если величины слов А и В будут равны. Последовательное соединение Последовательное соединение компараторов является средством для расширения функции сравнения на большее количество битов путем объединения нескольких че- тырехбитовых интегральных схем. Обратите внимание, что на входы второго компа- ратора (их можно назвать последовательными) поступают сигналы с выхода первого, поэтому они обозначаются точно так же. Если воспользоваться четырехбитовым ком- паратором, показанным на рис. 9.37, а, то для получения правильного результата следует присоединить оба устройства друг к другу таким образом, как показано на рисунке. Если требуется объединить два компаратора, то выходы того из них, который сравнивает младшие биты чисел, нужно подключить к соответствующим входам компаратора, сравнивающего старшие биты. Внимательно посмотрите на рис. 9.37, б, где левый компаратор сравнивает четыре младших бита восьмибитовых слов AvAeAsA^AaAgAjAo и B1B&B5B4B3B2B1Bq. Сигналы с его выходов подаются на последо- вательные входы правого компаратора, который сравнивает четыре старших бита. Выходы этого компаратора показывают конечный результат восьмибитового сравнения. Логические схемы средней степени интеграции 631
Входы данных Входы расширения Таблица истинности Входы сравнения Входы расширения Выходы Аз Вз а2,в2 Ai, В, Aq.Bq •д> в к< в 1д= в Од>в Од< в Од= в Аз>Вз X X X X X X В Н н Аз<Вз X X X X X X Н В н Аз=Вз А2 > В 2 X X X X X В Н н А3=В3 А2 <в 2 X X X X X Н В н Аз=Вз А2 = В 2 Ai >В, X X X X В н н Аз=Вз А2 =В 2 Ai < В X X X X Н в н Аз=В3 А2 - В 2 Ai=Bj Ao>Bo X X X В н н А3-В3 Аг -В 2 Ai=Bi Aq<Bq X X X Н в н Аз=В3 А2 =В 2 Ai=B, Aq=Bq В Н н В н н А3-В3 Аг -В г Ai=B, Aq=Bq H Н н Н в н Аз=В3 А2 -В 2 A^B, Ao =B0 X X в н н в Аз=В3 Аг =В г A^B, Aq=Bo Н н н в в н А3=В3 А2 -В 2 A^B, Aq = Bq В в н н н н В — высокий уровень напряжения Н — низкий уровень напряжения X — несущественно Рис. 9.36. Логический символ и таблица истинности ИС 74НС85 (7485, 74LS85), представ- ляющей собой четырехбитовый компаратор величин Пример 9.15 Опишите работу составного восьмибитового компаратора, показанного на рис. 9.37, б, для следующих двоичных чисел. а) А7ЛъА5А4А3А2А1Д) == 10101111; B-jB^B^B^B^Bq = 10110001; б) А7ЛвА5А4АЛ2А1До = 10101111; В7В&ВъВ4В3В2ВгВа = 10101001. Решение а) Компаратор старших битов сравнивает пришедшие на его входы полуслова A7A6AiA4 = 1010 и В7В&В5В4 = 1011 и выдает на выходе сигнал ОА<В независимо от того, какие уровни пришли на его последовательные входы с компаратора млад- ших битов. Другими словами, как только компаратор старших битов устанавли- вает разницу между старшими битами сравниваемых двоичных слов, он сразу выдает сигнал о том, что одно из этих чисел больше, не обращаясь к результатам сравнения младших битов. 632 Глава 9
Младшие биты Старшие биты A3 А2 Aj Ао Вз В2 Во А7 А6 А5 А4 В7 Вб В5 В4 Выходы 8-разрядного сравнения б) Рис. 9.37. а) ИС 74НС85, используемая для сравнения четырех битов; б) две ИС 74НС85, подключенные для сравнения восьми битов б) Компаратор старших битов сравнивает два равных полуслова А-тА^А^А^ = В7В&В-,В4 = = 1010 и поэтому он должен обратиться к сигналам, поступившим на его последо- вательные входы с компаратора младших битов, чтобы “увидеть” результат их сравнения. Компаратор младших битов сравнивает полуслова AsAzA1Ao = 1111 и В3В2В1В0 ~ Ю01 и выдает высокий уровень напряжения на выход ОА>в, сигнал с которого поступает на вход /А>в компаратора старших битов. Учитывая эту 1, пришедшую с левого компаратора, и равенство старших битов обоих слов, правый компаратор выдает сигнал с высоким уровнем на свой выход ОА>В, что говорит о конечном результате сравнения чисел. Применение Компараторы величин весьма полезно применять для управления задачами, в ко- торых физические переменные, представленные в виде двоичных чисел (например, координаты, скорость, температура), сравниваются с каким-либо известным значени- ем. Сигналы с выходов компаратора могут использоваться для активации конкрет- Логические схемы средней степени интеграции 633
них элементов схемы, которые приведут значение физической переменной к задан- ной величине. Следующий пример прояснит применение компараторов в этой роли. Другое использование этого устройства будет рассмотрено в упражнении 9.52. Пример 9.16 Рассмотрим цифровой термостат, в котором измеряемая температура комнаты преобра- зуется в числовую величину, подаваемую на входы А компаратора. Требуемое значение температуры вводится с клавиатуры и сохраняется в регистре, который подключен ко входам В. Если А > В, то нагреватель, который обогреет комнату, будет активирован. Нагреватель работает до тех пор, пока А не сравняется с В, и отключается при А > В. Со временем комната охладится до А = В, и как только А < В, нагреватель включается вновь. Какая цифровая схема может быть использована для сопряжения компаратора величин с нагревателем, чтобы обеспечить описанный выше режим работы системы? Решение Непосредственное использование на нагревателе сигнала с выхода Од<в приведет к выключению прибора, как только значения измеряемых параметров сравняются ме- жду собой. Такой режим работы крайне неблагоприятен для нагревателя, поскольку он может циклически включаться и отключаться в моменты, когда окружающая температура будет очень близка к границе между условиями А < В и А = В. Для того чтобы система работала так, как требуется согласно условию задачи, следует исполь- зовать S-R-защелку на элементах ИЛИ-НЕ (см. главу 5), как это показано на рис. 9.38. Обратите внимание, что вход ОА<В подключен ко входу установки (SET), а вход ОА>в — ко входу сброса (CLEAR) защелки. Когда температура превышает тре- буемое значение, защелка сбрасывается, отключая нагреватель. Когда температура меньше, чем требуемое значение, сигнал устанавливает защелку в единичное состоя- ние, тем самым включая нагреватель. Компараторы 74НС85 (см. рис. 9 37) Рис. 9.38. Компаратор величин, используемый в цифровом термостате Контрольные вопросы 1. Опишите назначение последовательных входов ИС 74НС85. 2. Какие сигналы будут сняты с выходов микросхемы 74НС85, если на ее входы поданы следующие величины: А3А2А1А0 = В3В2^1^о = 1001, /А>в = Л\<в - 0 и | /а-в=1?_________________________________________________________ 634 Глава 9
9.11. Преобразователи кодов Преобразователем кода называется логическая схема, которая изменяет данные, представленные в одном двоичном виде, в другой вид, также двоичный. Рассмотрен- ный нами ранее дешифратор/драйвер, который преобразует двоично-десятичный код в семисегментный, также будет преобразователем кода, так как он изменяет двоич- но-десятичный код, поданный на его вход, в семисегментный код, необходимый для отображения цифр на индикаторе. Неполный список некоторых наиболее часто ис- пользуемых кодовых преобразований представлен в табл. 9.5. Таблица 9.5 Двоично-десятичный код в семисегментный Двоично-десятичный код в двоичный Двоичный код в двоично-десятичный Двоичный код в код Грея Код Грея в двоичный ASCII-код в EBCDIC-код* EBCDIC-код в ASCII-код * EBCDIC (Extended Binary Coded Decimal Interchange Code) — расширенный двоично-десятичный код обмена информацией — алфавитно-цифровой код, разработанный компанией IBM, подобный по сво- ей структуре ASCII-коду В качестве примера схемы преобразователя кода рассмотрим устройство, преобра- зующее двоично-десятичный код в прямой двоичный. Однако прежде чем изучать данную схему, еще раз вспомним, что собой представляет двоично-десятичный код. Двухразрядные десятичные значения от 00 до 99 могут быть представлены в виде двоично-десятичного кода с помощью двух четырехбитовых кодовых групп. Напри- мер, число 5710 можно представить как 5 7 (Двоично-десятичный код) 0101 0111 Прямой двоичный код числа 57 будет равен 571О = 1110012. Наибольшее двухразрядное десятичное значение 99 можно представить в следую- щем виде: 9910 = 10011001 (двоично-десятичный код) = 11000112. Обратите внимание, что двоичное представление того же числа потребовало всего семь бит. Основной принцип преобразования кодов Диаграмма, представленная на рис. 9.39, показывает основной принцип работы двухразрядного преобразователя двоично-десятичного кода в двоичный. На входы преобразователя подаются две четырехбитовые кодовые группы: DoCqBoAo, представ- ляющая порядок 10° или разряд единиц, и DqCqBqAq, представляющая порядок 101 или разряд десятков десятичного значения. С выходов преобразователя снимаются семь битов двоичного кода, Ь^Ьф^ЬзЬгЬхЬ^ эквивалентного заданному десятичному числу. Следует обратить внимание на разные веса битов двоично-десятичного и пря- мого двоичного кодов. Логические схемы средней степени интеграции 635
Двоично- десятичный код 10° Десятичные веса Десятичные веса Двоичный эквивалент Рис. 9.39. Основной принцип работы преобразователя двухразрядного двоич- но-десятичного кода в двоичный код Типичной областью использования преобразователя двоично-десятичного кода в двоичный код является передача с какого-либо специального устройства, например, цифрового мультиметра, на компьютер двоично-десятичных данных для хранения или обработки. Данные требуется преобразовать в двоичный код, чтобы АЛУ компь- ютера могло оперировать ими, так как над двоично-десятичными данными в персо- нальном компьютере операции осуществляться не могут. Преобразование кода может быть выполнено как на аппаратном уровне, так и программным путем. Аппаратный метод (который в данной книге рассмотрен весьма кратко) обычно выполняется бы- стрее, но требует наличия дополнительных элементов. Программный метод не ис- пользует дополнительных средств, но занимает несколько больше времени, так как преобразует код последовательно, шаг за шагом. Выбор метода зависит от того, на- сколько важным параметром является время преобразования. Процесс преобразования В двоично-десятичном виде биты каждой кодовой группы имеют десятичные веса, равные, соответственно, 8, 4, 2, 1; однако соседние группы отличаются друг от друга множителем 10 (вес десятичного разряда). На рис. 9.39 показаны веса битов при двухразрядном двоично-десятичном представлении чисел. Десятичный вес каждого бита в двоично-десятичном представлении может быть преобразован в двоичный эквивалент. Результаты приведены в табл. 9.6. Используя указанные веса, можно преобразовать двоично-десятичный код в двоичный, следуя простому правилу: необходимо рассчитать двоично-десятичную сумму двоичных эквива- лентов всех двоично-десятичных битов, которые равны 1. Таблица 9.6 Двоично-десятичный бит Десятичный вес Двоичный эквивалент Ь Ь$ Ьа Ьз bi by bo Л 1 0 0 0 0 0 0 1 Во 2 0 0 0 0 0 1 0 Со 4 0 0 0 0 1 0 0 Do 8 0 0 0 1 0 0 0 Ay 10 0 0 0 1 0 1 0 636 Глава 9
Окончание табл. 9.6 Двоично-десятичный бит Десятичный вес Двоичный эквивалент Ьб ь$ bi bi bi by bo By 20 0 0 1 0 1 0 0 Cl 40 0 1 0 1 0 0 0 Dy 80 1 0 1 0 0 0 0 Этот принцип иллюстрирует следующий пример Пример 9.17 Преобразуйте число 01010010 (число 52 в двоично-десятичном виде) в двоичный код. Повторите то же самое задание для числа 10010101 (десятичное число 95). Решение Запишем двоичные эквиваленты всех единиц, которые присутствуют в двоично- десятичной записи чисел. Затем сложим их все как простые двоичные числа. 0 10 10 0 10 двоично-десятичное представление ।------ 0000010(двоичная 2) ------------ 0001010(двоичное 10) ------------- + 0101000 (двоичное 40) 0110100 (двоичное 52) 10 0 10 10 1 двоично-десятичное представление '---- 0000001(двоичная 1) --------- 0000100(двоичное 4) ------------ 0001010(двоичное 10) --------------- + 1010000 (двоичное 80) 1011111 (двоичное 95) Реализация схемы Очевидно, что логическую схему, которая выполняет преобразование кодов; мож- но реализовать с помощью двоичных сумматоров. На рис. 9.40 показано, как можно осуществить требуемое преобразование, подключив друг к другу два четырехбитовых параллельных сумматора на основе ИС 74НС38. Точно такого же результата можно добиться еще несколькими способами, подключив эти же сумматоры немного по- другому (работа микросхемы сумматора описана в разделе 6.14). Две рассмотренные выше интегральные схемы могут выполнить сложение двоич- но-десятичных битов в правильных комбинациях согласно табл. 9.6. Например, из таблицы видно, что бит А$ — единственный двоично-десятичный бит, который опре- деляет младший значащий бит двоичного эквивалента Ьо- В эту позицию двоичного числа не может быть никакого переноса, поэтому выход Ао можно присоединить на- прямую к выходу Ьо. Таблица также показывает, что только двоично-десятичные би- ты Во и Ai определяют значение бита Zzj двоичного эквивалента. Эти два бита можно объединить в верхнем сумматоре, а на его выходе получить бит Ьр Аналогично, только биты Do, Ay и Сг определяют двоичный бит Ь3. Верхний сумматор складывает биты Do и А1 и выдает на выходе сумму Е2» которая затем в нижнем сумматоре скла- дывается с битом Сь в результате чего на выходе появляется бит Ь3. Логические схемы средней степени интеграции 637
Рис. 9.40. Преобразователь двоично-десятичного кода в двоичный, реализованный с помощью четырехбитовых параллельных сум- маторов на основе ИС 74НС38 Пример 9.18 На преобразователь кода (рис. 9.40) подается десятичное число 56, записанное в дво- ично-десятичном виде. Определите состояния выходов S обоих сумматоров, а также конечный результат на выходе схемы. Решение Запишем вверху диаграммы вместо букв биты двоично-десятичного эквивалента чис- ла 56 — 01010110. Теперь проследим пути всех сигналов в схеме. Так как Aq = 0, то на выходе получаем бит Ьо = 0. На верхние входы верхнего сумматора поступают биты ООН, на нижние его входы — биты 0101. В результате сумматор сформирует следующие сигналы: ООН + 0101 1000 = S3 S2 So выходы верхнего сумматора Биты и So уже представляют собой биты Ъ2 и Ъ\ двоичного эквивалента. Биты S3 и S2 необходимо подать на нижний сумматор. Следовательно, на верхние входы второ- го сумматора придут сигналы 0010, а на нижние входы — 0101. После сложения этих кодовых групп на выходе получим комбинацию 0010 + 0101 0111 = S3 S2 Si So выходы нижнего сумматора Эти биты представляют собой соответственно. 638 Глава 9
Таким образом, на выходе получено число ЬвЬ$Ь4ЬзЬгЬ1Ь0 = 0111000, которое пред- ставляет собой правильный двоичный эквивалент десятичного числа 56, что и требо- валось сделать. Другие варианты построения преобразователей кодов Несмотря на то, что с помощью комбинирования логических элементов, суммато- ров и других комбинационных логических схем можно построить любые типы пре- образователей кодов, иногда схемотехническое решение представляет довольно слож- ную структуру и состоит из большого количества интегральных схем. Часто намного более эффективным является применение постоянных запоминающих устройств (ПЗУ) или программируемых логических устройств (ПЛУ), которые также функционируют в качестве преобразователей кода. В главах 11 и 12 показано, как эти устройства, заменяющие сотни логических элементов, могут быть соответствую- щим образом запрограммированы на выполнение большого спектра логических функций. г- — — - —• А. —’ Г ' Г у. I * ** —• — У , W у ' " — f » v » — ’ м '1 Контрольные вопросы 1. Что такое преобразователь кода? 2. Сколько двоичных выходов имеет трехразрядный преобразователь двоично- десятичного кода в двоичный? 9.12. Шины данных В большинстве современных компьютеров передача данных происходит по обще- му набору соединительных линий, которые называются шинами данных. В таких компьютерах, работающих с помощью шин, входы и выходы множества различных устройств могут быть выведены на общую сигнальную линию. Благодаря такому ре- шению устройства, подключенные к шине данных, часто или сами имеют триста- бильные выходы, или присоединены через тристабильные буферы. Перечислим некоторые из устройств, часто подключаемых к шинам данных: а) микропроцессоры, о которых речь пойдет в Приложении А; б) полупроводниковые чипы памяти, которые будут рассмотрены в главе 11; и в) цифроаналогрь ые и. анало- го-цифровые преобразователи (ПАП и АЦП), описанные в главе 10. На рис. 9.41 показана типичная ситуация, когда микропроцессор (центральный процессор микрокомпьютера) подключается сразу к нескольким устройствам через шину данных, состоящую из восьми сигнальных линий. Шина данных представляет собой собранные вместе провода, по которым цифровые данные передаются от одного устройства к другому. Каждое устройство формирует на своем выходе восьмибитовый сигнал, который подается на входы микропроцессора по восьмиканальной шине. Очевидно, что при подключении выходов всех трех устройств к тем же самым вхо- дам микропроцессора через одну шину, необходимо принять меры, чтобы не допус- тить конфликта на шине (см. раздел 8.13) в том случае, если на одну шину подается несколько активных сигналов, которые пытаются подавить друг друга. Конфликта на шине легко избежать, если устройства будут иметь тристабильные выходы или будут подключены к шине данных через тристабильные буферы (см. раздел 8.13). Для того чтобы обеспечить режим работы, в котором в любой момент времени будут активированы выходы лишь одного устройства, используются разрешающие входы (на рисунке обозначены как ОЕ) этих устройств (или подключенных к ним буферов). Логические схемы средней степени интеграции 639
Шина данных Рис. 9.41. По одной шине данных, состоящей из восьми сигнальных линий, можно передавать на микропроцессор восьмибитовые данные с трех различных устройств; во избежание кон- фликта на шине каждый момент времени только одно устройство может выдавать ин- формацию Пример 9.19 а) Назовите условия, необходимые для передачи данных от устройства №3 к микро- процессору в схеме, изображенной на рис. 9.41. б) Каким будет состояние шины данных, когда ни один из входов не активирован? Решение а) Итак, нужно возбудить разрешающий вход (на рисунке обозначен ENABLE) уст- ройства №3; при этом разрешающие входы двух остальных устройств должны быть в неактивных состояниях. Такие сигналы переведут выходы устройств №1 и 2 в высокоимпедансные состояния и, фактически, отсоединят их от шины. Выхо- ды же устройства 3 будут активизированы, поэтому их логические уровни поя- вятся на шине данных и будут переданы на входы микропроцессора. Можно фи- гурально показать, как будто устройства №1 и 2 вообще были отключены от схе- мы; остается только устройство №3, которое соединено с микропроцессором через шину данных. б) Если ни один из разрешающих входов какого-либо устройства не будет возбуж- ден, то выходы всех устройств перейдут в высокоимпедансные состояния. Это, по 640 Глава 9
существу, отсоединит их от шины. Таким образом, ни на одной линии шины дан- ных не будет наблюдаться ни одного определенного логического уровня; все они будут находиться в неопределенных состояниях. Это условие иногда называется “плавающим состоянием шины” (“floating bus”), а каждая линия шины называ- ется плавающей (т.е. она находится в неопределенном состоянии). Поведение сиг- нала на экране осциллографа будет непредсказуемым. Логический пробник тоже покажет неопределенный логический уровень. Контрольные вопросы j 1. Что означает термин шина данных? 2. Что такое конфликт на шине и как его можно предотвратить? . 3. Дайте определение термину плавающая шина. 9.13. Тристабильный регистр 74ALS173/HC173 Устройства, подключенные к шине данных, содержат регистры (обычно на триг- герах), в которых находятся данные, обрабатываемые этим устройством. Выходы ре- гистров обычно подключаются к тристабильным буферам, в результате чего стано- вится возможным подключение устройств к шине данных. Все подробности функ- ционирования шин данных при использовании регистра будут продемонстрированы далее на интегральной схеме семейства ТТЛ 74ALS173 (также доступен на ИС семей- ства КМОП 74НС173). Эта микросхема включает в себя тристабильные буферы, вы- полненные на той же плате. Функциональная схема и таблица истинности регистра показаны на рис. 9.42. ИС 74ALS173 представляет собой четырехбитовый регистр с возможностью па- раллельного ввода-вывода информации. Обратите внимание, что выходы триггера подключены к тристабильным буферам, с которых снимаются выходные сигналы с О0 по О3. Еще следует отметить, что входы данных с Do по D3 присоединены к D- входам триггеров регистра не напрямую, а через вспомогательные логические эле- менты. Эти элементы могут работать в двух режимах: (1) в режиме загрузки данных, когда данные со входов данных от Do по D3 передаются в триггеры по приходу пе- реднего фронта импульса синхронизации (вход СР); и (2) в режиме удержания, когда данные, содержащиеся в регистрах, не изменяются по приходу на вход СР импульса синхронизации. Пример 9.20 а) При каких входных условиях схема будет работать в режиме загрузки данных? б) При каких входных условиях схема будет работать в режиме удержания? в) При каких входных условиях сигналы с выходов регистров пройдут на выходы схемы с номерами от О0 до О3? Решение а) Две последние строки таблицы истинности соответствуют ситуациям, когда с ка- ждого выхода Q снимается такой же логический уровень, который присутствует на P-входе в момент поступления на схему переднего фронта сигнала синхрони- зации (СР). Для этого на входе MR и обоих зходах 1Ег и 1Ег, которые разрешают поступление на схему входных сигналов (обозначены как INPUT ENABLE), долж- ны присутствовать низкие уровни напряжения. Логические схемы средней степени интеграции 641
Входы Выходы триггеров MR СР IE, D Q В X X X X Н Н X X X Н I В X X Н I X В X н г н н н Н I н н в н ЙО Q° °bf в Если на OEi либо на ОЕг присутствует низкий уровень, выход в отключенном состоянии (высокий импеданс); однако это не влияет на содержимое или последовательную работу регистра В — высокий уровень напряжения Н — низкий уровень напряжения X — несущественно Qo—состояние на выходе перед положительным перепадом Логическая диаграмма Рис. 9.42. Функциональная схема и таблица истинности тристабильного регистра 74ALS173 (Показано с разрешения компании Schlumberger) б) Из третьей и четвертой строк таблицы истинности видно, что когда хоть на одном входе IE установился высокий уровень сигнала, то сигналы на D-входах тригге- ров не оказывают никакого влияния на схему, а состояния входов Q даже в мо- мент поступления переднего фронта очередного синхроимпульса останутся такими же, как в предыдущем цикле. 642 Глава 9
в) Выходные буферы включаются, если на оба их входа, разрешающих выдачу вы- ходных сигналов (обозначены как OUTPUT ENABLE), ОЕХ и ОЕ2 , одновременно поступают низкие уровни напряжения. При этом они начнут пропускать сигналы с выходов регистра на внешние выходы с номерами от О0 по О3. Если же хотя бы на одном из указанных разрешающих входов будет наблюдаться высокий уровень, то буферы будут отключены, и выходы останутся в высокоимпедансном состоянии. Обратите внимание, что состояние входов ОЕ не оказывает влияния на операцию за- грузки данных. Они используются только для управления выводом содержимого ре- гистра на внешние выходы схемы. Логический символ, которым обозначается ИС 74ALS173/HC173, приведен на рис. 9.43. Мы включили в него обозначение по стандарту IEEE/ANSI; данное обозначение показывает, что между парами разрешающих входов существует зави- симость, которую можно описать с помощью операции И. Примечание Символ V обозначает выход с тремя состояниями ' ’ ' • ’ г S Контрольные вопросы 1. Пусть на оба входа IE поданы низкие уровни сигнала, а на входах схемы уста- новилось состояние = 1011. Какие логические уровни будут присут- ствовать на D-входах триггеров? 2. Проверьте истинность высказывания. Регистр не может быть загружен дан- 1 ными, если на принудительном входе сброса (MR) установлен высокий уровень напряжения. 3. Какие уровни напряжения установятся на выходах схемы, если MR = 1, а на обоих входах ОЕ установились низкие уровни сигнала? J 9.14. Функционирование шины данных Шина данных — это один из важнейших элементов компьютерных систем, а ее значение можно будет оценить после начала изучения памяти и микропроцессоров. Пока можно только показать работу шины данных при передаче данных из одного регистра в другой. На рис. 9.44 показана система, построенная на основе применения Логические схемы средней степени интеграции 643
шины данных и включающая три тристабильных регистра 74НС173. Обратите вни- мание на тот факт, что каждый регистр имеет собственную пару входов ОЕ , которые соединены друг с другом, представляя, таким образом, общий разрешающий вход. Аналогичная ситуация наблюдается и в случае входов IE. Также следует отметить, 644 Глава 9
что на рисунке регистры названы латинскими литерами А, В и С начиная сверху вниз. На это указывают также индексы, которые присутствуют около каждого входа и выхода регистра. При таком построении системы шина данных должна состоять из четырех линий связи (обозначены как ВВ0, DBlf DB2 и DB3). Соответствующие выходы каждого ре- гистра подключены к тем линиям шины данных, которые имеют те же номера (т.е. выходы ОЗА, Озв и Озс подключены к линии DB3 и т.д.). Так как выходы всех трех регистров соединены в одной точке, важно, чтобы каждый момент времени вы- ходы только одного регистра были активизированы, а выходы двух других регистров оставались в высокоимпедансном состоянии. Иначе возникает конфликт на шине (когда несколько наборов выходных данных будут одновременно пытаться пройти на выход), что приведет к появлению неправильных уровней напряжения на шине и возможным повреждениям выходных буферов регистров. Соответствующие входы регистров связаны с той же общей шиной данных (т.е. входы ПЗА, D3B и D3C подключены к линии DB3 и т.д.). Таким образом, логиче- ские уровни на шине всегда могут быть переданы на один или несколько регистров, что зависит от состояния входов IE . Передача данных Содержимое любого из трех регистров может быть передано методом параллель- ной передачи на один из остальных регистров, для чего на разрешающие входы тре- буется подать соответствующие логические уровни. В типичной системе в качестве управляющего устройства используется компьютер (т.е. его ЦПУ), который форми- рует сигналы выбора регистра и определяет, из какого регистра данные пройдут на шину данных и на какой регистр они будут переданы. Функционирование шины данных в режиме передачи данных иллюстрируется следующим примером. Пример 9.21 Опишите требования к входным сигналам для передачи [А]-* [В]. Решение Прежде всего, только выходы регистра А должны быть активизированы, т.е. нужно, чтобы ОЁА =0 и ОЕВ = ОЁС = 1. При таких состояниях разрешающих входов содержимое регистра А будет пере- дано на шину данных-. Далее, требуется активизировать только входы регистра С. Для этого нужно уста- новить следующие состояния 7ЁС = О, 1ЁА - 1ЁВ = 1. При этом только регистр С окажется способным принимать информацию с шины данных в момент поступления переднего фронта сигнала синхронизации. Наконец, потребуется импульс синхронизации, который вызовет передачу данных с шины в триггеры регистра С. Сигналы на шине данных На временной диаграмме, изображенной на рис. 9.45, показаны различные сигна- лы, которые проходят по элементам системы во время передачи данных (1011) из ре- гистра А в регистр С. Предполагается, что линии IE и ОЕ , которые не показаны на Логические схемы средней степени интеграции 645
рисунке, постоянно находятся в состоянии с высоким уровнем напряжения, т.е. все выходы регистров отключены, и ни один из регистров не передает данные на шину. Другими словами, сигнальные линии шины данных находятся в высокоимпедансном или “плавающем” состоянии, что показано на временной диаграмме штриховкой ли- ний. Следует помнить, что высокоимпедансное состояние не соответствует какому- либо конкретному уровню напряжения. 1ЕС 0Еа О Тактовые импульсы DB3 О DB2 О DB, DB0 О ИИ0МИМИ о о t Примечания — Z-состояние (лязгающее} t1 * Выходы регистра А разрешены. В о данные помещаются на линии шины данных t2 Положительный фронт тактового импульса вызывает передачу данных с шины данных в регистр С Выходы регистра А t3. заблокированы, и линии шины данных возвращаются - Z- состогние Рис. 9.45. Сигналы, которые проходят по системе во время передачи данных (1011) из регистра А в регистр С В момент ti входы 1ЕС и ОЕа активизируются. Выходы регистра А возбуждают- ся и начинают обмениваться данными с сигнальными линиями DB0, DBlt DBZ и DB3 шины, в результате линии переходят из высокоимпедансного состояния в состояние с логическими уровнями 1011. После стабилизации логических уровней на шине (что требует небольшого времени) в момент tj поступает передний фронт сигнала синхро- низации. Этот фронт вызовет передачу логических уровней в регистр С, так как вход 1ЕС находится в активном состоянии. Если передний фронт синхроимпульса посту- пит до установления на шине стабильных логических уровней, то в регистр С попа- дут случайные данные. В момент t3 линии 1Ес и ОЕЛ возвратятся в неактивные состояния. В результате выходы регистра А перейдут в высокоимпедансное состояние. Данные с выходов ре- гистра А будут удалены с шины данных, и ее линии возвратятся в высокоимпеданс- ное состояние. Обратите внимание, что на линиях шины данных правильные логические уровни наблюдаются только во время интервала, когда возбуждены выходы регистра А. Ос- тальное время линии шины данных “плавают”, поэтому невозможно заранее пред- сказать их вид, который был бы виден на экране осциллографа. Логический проб- ник, касающийся какой-либо точки шины, покажет “неопределенный” уровень. Также обратите внимание на то, что сигналы на линиях шины изменяются относи- тельно медленно. Влияние данного эффекта намеренно преувеличено на диаграмме, однако это свойство является общим для систем, работающих с помощью шин дан- ных, и вызвано оно емкостным характером нагрузки каждой линии. Эта нагрузка состоит из комбинации паразитной емкости линии и емкостей, привносимых каж- дым входом и выходом, выведенными на нее. 646 Глава 9
Упрощенная временная диаграмма сигналов на шине данных Временная диаграмма, приведенная на рис. 9.45, показывает сигналы на всех че- тырех сигнальных линиях, из которых и состоит шина. Те же сигналы имеют место и в цифровых системах, шины данных которых содержат 8, 16 или 32 линии. Для таких шин временная диаграмма, подобная приведенной выше, оказалась бы черес- чур запутанной и громоздкой. Чтобы показать изменение логических уровней на на- боре сигнальных линий, составляющих шину, можно использовать несколько упро- щенный метод, в котором для обозначения полного набора линий используется толь- ко один сигнал. Такая диаграмма (рис. 9.46) иллюстрирует те же самые процессы при передаче данных, что и диаграмма на рис. 9.45. Обратите внимание, как показа- ны логические уровни шины данных. Особенно следует отметить биты 1011, которые показаны в интервале t2 - t3. Теперь для описания процессов на шине данных мы будем использовать упрощенную временщ/ю диаграмму. 'Ес 0ЁА Тактовые импульсы DB3 - DBq Рис. 9.46. Упрощенный, способ отображения сигналов, проходящих по шине данных Расширение шины Операция передачи данных по шине, состоящей из четырех сигнальных линий (рис. 9.44), является типичной и для более широких шин данных, которые исполь- зуются в большинстве компьютеров и других цифровых систем. Обычно шины имеют 8, 16 или 32 линии, по которым передаются данные*. К таким шинам подключается несколько устройств, при этом принцип передачи данных не изменяется: одновре- менно могут быть возбуждены выходы только одного устройства, в результате че- го информация из него передается на шину данных; аналогично, каждый момент времени могут быть возбуждены входы только одного устройства, в результате чего в момент поступления импульса сигнала синхронизации на него передается информация с шины данных. Количество линий шины данных зависит от размера слова данных (единицы ин- формации), которое должно быть передано по системе. Компьютер, оперирующий 8- битовым словом данных, будет иметь шину данных, состоящую из 8 сигнальных ли- ний; компьютер, который обрабатывает 16-битовые слова, имеет шину данных из 16 линий и т.д. Количество устройств, подключенных к шине данных, может варьиро- ваться от одной системы к другой и зависит от объема памяти компьютера, а также * С недавних пор 64 или даже 80 — шина IDE в ПК. — Прим. ред. Логические схемы средней степени интеграции G47
от количества устройств на входах и выходах компьютера, которые должны сооб- щаться с центральным процессором посредством данной шины. Все выходы устройств должны быть соединены с шиной через тристабильные бу- феры. Некоторые устройства приходится подключать к шине через специальные ин- тегральные схемы, которые называются драйверами шины (bus driver). Такая ИС имеет тристабильные выходы с очень низкими выходными импедансами, через кото- рые емкость шины может очень быстро заряжаться и разряжаться. Эта емкость представляет собой интегральную сумму всех паразитных емкостей различных вхо- дов и выходов устройств, присоединенных к шине. Она может привести к искажени- ям фронтов сигнала, если источником этих сигналов не будет низкоимпедансный ис- точник. На рис. 9.47 показана ИС 74НС541, содержащая восемь драйверов шин, по- средством которых '-можно соединить выходы 8-битового аналого-цифрового преобразователя (АЦП) с шиной данных. АЦП имеет тристабильные выходы, но при этом преобразователь не может управлять сигналами таким образом, чтобы зарядить паразитную емкость шины (на рисунке показана в виде заземленных емкостей). Об- ратите внимание, что бит данных с нулевым номером управляет шиной напрямую, без драйвера шины. Если время нарастания фронта будет достаточного долгим, то напряжение может не успеть достичь высокого уровня за выделенный интервал вре- мени. Разрешающие входы драйвера шины соединены друг с другом, поэтому низкий уровень сигнала на общей линии (ENABLE) позволит сигналам с выходов АЦП пройти через буферы на шину данных, откуда они могут быть переданы на другое устройство. Рис. 9.47. Выходы аналого-цифрового преобразователя (АЦП) соединены с 8-битовой ши ной данных посредством ИС 74НС541, которая представляет собой восемь драйверов шин. Выход Dq подключен к шине напрямую для того, чтобы показать влияние пара- зитной емкости на форму выходного сигнала 648 Глава 9
Упрощенное представление шины данных Обычно к одной шине данных подключено сразу много устройств. На принципиаль- ной схеме это может вызвать чрезмерное увеличение количества линий и их взаимных пересечений. По этой причине на блок-схемах и некоторых набросках принципиальных схем часто используется упрощенное представление шины данных. На рис. 9.48 показано упрощенное представление шины данных, состоящей из восьми сигнальных линий. Тактовые импульсы Рис. 9.48. Упрощенное представление структуры шины данных Связи шины данных с устройствами системы показаны широкими стрелками. Цифры в квадратных скобках показывают количество битов, которое содержит каж- дый регистр или (что, впрочем, одно и то же) количество линий, соединяющих вхо- ды и выходы регистра с шиной. Еще один широко распространенный метод представления шины на схемах пока- зан на рис. 9.49, где изображена все та же шина с восемью линиями (жилами). Восемь отдельных выходных линий, идущих от ИС 74НС541 (драйвер шины) и обо- значенных D7-D0, свиты вместе (но не связаны электрически) в один шлейф, что по- казано на рисунке толстой линией. Такие связанные в одно целое линии присоеди- няются к шине данных, которая также показана толстой сплошной линией (это оз- начает, что восемь сигнальных линий или жил, из которых состоит шина, образуют Логические схемы средней степени интеграции 649
один шлейф). Обозначение “/8” говорит о том, что каждый такой шлейф включает в себя восемь линий. Этот метод отображения применяется для того, чтобы показать связи между шиной данных и восемью входами данных микропроцессора. При исполь- зовании этого варианта рисунка очень важно обозначить оба конца каждой жилы, из которых состоит шлейф, так как их невозможно определить из рисунка визуально. Рис. 9.49. Упрощенное представление структуры тины данных с помощью объединения линий в шлейф. Обозначение "/8" показывает количество сигнальных линий Двунаправленные шины данных На рис. 9.44 входы и выходы всех регистров соединены с шиной данных, т.е. фактически соответствующие входы и выходы замкнуты вместе. Например, вы- ходы О2 каждого регистра соединены со входами D2, потому что все они связаны с сигнальной линией РВ0. Естественно, что этого бы не наблюдалось, если бы между выходами регистров и шиной были подключены внешние драйверы шины. Поскольку в системах шинного интерфейса входы и выходы часто бывают соеди- нены вместе, производители ИС разработали такие схемы, в которых входы и выхо- ды соединены прямо внутри микросхемы, что позволяет уменьшить количество вы- водов ИС и ее связей с шиной. На рис. 9.50 показан подобный четырехбитовый ре- гистр. Отдельные входные (от Do по £>з) и выходные (от О0 по О3) линии заменены линиями ввода-вывода (от 1/О0 по 1/О3). Каждая линия ввода-вывода может функционировать и как вход, и как выход в зависимости от состояний разрешающих входов ИС, именно поэтому подобные ли- нии называются двунаправленными линиями данных. ИС 74ALS299 представляет собой восьмибитовый регистр с общими линиями ввода-вывода. Двунаправленная передача данных лежит в основе работы множества микросхем памяти и микро- процессоров. Мы вернемся к этой теме в главе 11. 650 Глава 9
Шина । । i Шина (4 линии) Рис. 9.50. Двунаправленный регистр, подключенный к шине данных Контрольные вопоосы ~ -vtJSSBVE 2. I 3. j I 4. 5 Что произойдет, если в схеме, изображенной на рис. 9.44, установятся уровни ОЁА = ЕВ в = О? Какой логический уровень будет наблюдаться на шине данных, если все уст- ройства, подключенные к ней, будут выключены? Каково предназначение драйвера шины? Из каких соображений изготавливаются регистры с общими линиями ввода- вывода? Измените схему, приведенную на рис. 9.50, а, используя представление шины данных в виде шлейфа. (Ответ показан на рис. 9.51.) l/03 W>2 I/OI 1/О0 Двунаправленный регистр Шина данных Рис. 9.51 J Логические схемы средней степени интеграции 651
9.15. ПЛУ и таблицы истинности Когда в главе 4 рассматривались комбинационные логические схемы и на их основе при помощи языка CUPL реализовывались ПЛУ GAL 16V8, то структура схе- мы вводилась в форме булевых логических уравнений. Первый шаг в определении этих выражений состоял в формировании таблиц истинности. Как теперь известно, имея таблицу истинности, достаточно легко записать уравнение в дизъюнктивной форме. Фактически эта задача настолько проста и детерминирована, что мы вполне можем доверить ее компьютеру. CUPL предлагает удобные средства для ввода таблиц истинности той или иной цифровой схемы, после чего программное обеспечение, ус- тановленное в компьютере, автоматически сформирует логические уравнения, само- стоятельно упрощая их и выполняя все необходимые операции, которые являются частью программы. В наиболее простом случае в таблице истинности перечислены все комбинации входных переменных, которые определенным образом соответствуют разным логиче- ским уровням заданного выхода. На рис. 9.52 показаны три различных формы син- таксиса языка CUPL для простого элемента исключающее ИЛИ с двумя входами. Все они используют таблицу истинности. Как вы помните, CUPL использует набор дан- ных (список переменных, заключенных в квадратные скобки), представляющий группу битов, которой присвоено цифровое значение. На рис. 9.52, а показан один из способов записи набора, в котором описаны комбинации входных битов. Эквивалент- ный метод представления входных комбинаций показан на рис. 9.52, б; здесь для каждого значения входного набора используется двоичное число. Таблица на рис. 9.52, в представляет собой структуру той же схемы, но здесь использованы де- сятичные значения. Эти значения также могут быть представлены в восьмеричной (с префиксом “о”) или шестнадцатеричной (без префикса) формах. Table [А, В] => X Table [А, В] => X Table [А. В] -> X { [0. 0] [0, 1] [1. 0] [1, И а) Набор описаний 0; 1; 1; 0;} { ‘Ь’ОО 0; ‘b’Ol 1; ‘Ь’Ю 1; ‘Ь’11 0;} б) Набор двоичных значений { ‘d’O 0; ‘d’l 1; ‘d’2 1; ‘d’3 0;} в) Набор десятичных значений Рис. 9.52. Три способа ввода в CUPL таблицы. истинности элемента исключающее ИЛИ Многие цифровые схемы формируют на выходе несколько битов. Например, рас- смотрим таблицу истинности дешифратора с одним входом и восемью выходами, приведенную на рис. 9.2. Язык CUPL позволяет вводить такие таблицы истинности для схем с любым количеством выходов, сигналы на которых являются функциями одного и того же набора входных сигналов. На рис. 9.53 показан синтаксис CUPL для такого дешифратора. Обратите внимание, что входные биты сгруппированы в на- бор, и их комбинации представлены шестнадцатеричными числами (система счисле- ния CUPL по умолчанию). Выходные сигналы также группируются в набор индекси- рованных переменных. Значения этого набора пронумерованы в двоичном виде. Дешифратор 74LS138 очень похож на рассмотренный выше. Сравнив рис. 9.2 и 9.3, можно выделить такие основные отличия ИС 74LS138: Активным логическим уровнем на выходе является низкий, уровень напряже- ния. Два разрешающих входа, для которых активным является низкий уровень на- пряжения. Один разрешающий вход, для которого активным является высокий уровень на- пряжения. 652 Глава 9
Таблица [С, В. А] [07,06,05,04,03, 02,01,01] Примечание. Шестнадцатеричные значения представляют входные данные 2 3 4 5 6 7 Ь’00000001 Ъ’ООООООЮ Ь’00000100 ‘Ь'ООООЮОО 'Ь’ОО010000 Ь'ОО100000 Ъ’О1000000 ь* 10000000 Примечание. Двоичные значения представляют выходные данные Рис. 9.53. Набор значений выходных сигналов дешифратора с 1 входом и 8 выходами, для ко- торых активным является высокий уровень напряжения. Используется табличный формат ввода данных языка CUPL Данную схему можно легко реализовать на основе GAL 16V8. Для этого восполь- зуемся режимом ввода в виде таблиц истинности и укажем некоторые специальные функции языка CUPL. На рис. 9.54 показан исходный файл функционального экви- валента ИС 74LS138. Обратите внимание, что набор входных переменных определен таким образом, что включает в себя разрешающие входы (Е) и вход выбора кода (А). Следует также отметить, что в исходном файле номера индекса переменных были выписаны буквами (например, Еопе вместо Е1 и Azero вместо АО), так как в CUPL имя переменной, которое содержит цифру, принимается за индексированную пере- менную, а числовой вес (позиция) каждого бита определяется исходя из его индекса, а не из размещения переменной в наборе. Следовательно, индексированные перемен- ные не могут быть объединены в набор с неиндексированными переменными. В этом примере индексы записаны просто, чтобы сохранить привязку к рис. 9.3 и продолжать работу в формате записи с помощью таблиц истинности, который был выбран ранее. Name TTL138.PLD ;Designer H. С. Видмер ; Partno 1234567 ;Company Университет Пердью ; Date 2 июня ;Assembly Текст ; Revision 01 ;Location Глава 9 ; Device gl6v8 ;Format j ; /* Эквивалентная функциональная схема декодера 74LS138 */ /* Входы */ Pin 1 = Azero ; Pin 2 = Aone ; Pin 3 = Atwo ; Pin 4 = Eone ; Pin 5 = Etwo ; Pm 6 = Ethree ; /* Выходы */ Pin [19..20] = Ц07..0] ; /* Набор определений */ field inputs = [Еопе, Etwo, Ethree, Aone, Atwo, Athree] field outputs = [07..0] /* Описание аппаратной части */ table входы => выходы ‘о’Ю => 1; /* выход 0 активен */ ‘0’11 —> 2; /* выход 1 активен */ ‘о’12 => 4; /* выход 2 активен */ ‘о’13 —> 8; /* выход 3 активен */ ‘о’14 => Ю; /* выход 4 активен */ ‘о’15 => 20; /* выход 5 активен */ ‘о’16 => 40; /* выход 6 активен */ ‘о’17 => 80; /* выход 7 активен */ Puc. 9.54. Набор значений выходных сигналов дешифратора с 1 входом и 8 выходами, для которых активным является высокий уровень напряже- ния. Используется табличный формат ввода данных языка CUPL Логические схемы средней степени интеграции 653
Выходы, для которых активным является низкий уровень сигнала, очень просто реализовать на CUPL. Взгляните на часть файла, где определяются номера выходных выводов ИС, — перед списком выходных переменных присутствует символ воскли- цательного знака (операция НЕ). Это обозначает, что данные выходы управляются низким уровнем напряжения. Когда рассчитанное значение для любого из этих вы- водов (переменных) принимает значение ИСТИНА (соответствует условию, когда в ячейке таблицы истинности стоит логическая 1), на данном выводе установится низ- кий уровень сигнала. Значения выходных переменных, записанные в таблице истин- ности, совпадают со значениями, указанными на рис. 9.53 (дешифратор, входы кото- рого управляются высоким уровнем напряжения), но здесь они выражены в шестна- дцатеричном виде (система счисления CUPL по умолчанию) вместо двоичного. Запись в поле используется для группировки входных битов в набор. Три стар- ших значащих бита представляют собой биты сигналов разрешающих входов, а три младших значащих бита — двоичные входные сигналы, которые дешифрируются. Чтобы включить дешифратор, биты разрешающих входов должны быть равны Боне = = 0, Etivo = 0, Ethree = 1. Три входных бита, At wo, Аопе и Агего, могут принимать любые значения. Так как мы имеем группы, состоящие из трех бит, разумно исполь- зовать в таблице истинности восьмеричные числа. Вспомните, что каждый разряд восьмеричного числа состоит из трех двоичных битов. Приоритетный шифратор Еще одна схема, которая также демонстрирует метод ввода данных в виде табли- цы истинности, — схема приоритетного шифратора, показанная на рис. 9.14. Эта схема имеет важную особенность — ее входы пронумерованы от Аг до Ао. В исходном файле CUPL, приведенном на рис. 9.55, мы сохранили эту нумерацию, чтобы пока- зать другой способ обработки языком CUPL индексированных переменных. Если пронумеровать выводы как [А/ .. 9], CUPL сохранит этот набор переменных в поряд- ке, соответствующем их индексам. Язык CUPL “знает”, что бит А9 представляет со- бой старший значащий бит, даже в том случае, когда он записан последним в наборе. Хотя бит АО и не был указан в списке, CUPL оставляет для него место в наборе. Ко- гда в таблице указываются комбинации входных переменных, то в позицию бита АО ставится условие “безразличного” состояния (х). Использование “безразличных” яче- ек в таблице истинности позволяет легко и кратко описывать функционирование схемы без упоминания всех возможных состояний. В нашем примере не указывает- ся, что выходные выводы управляются низким уровнем напряжения, но значения в таблице истинности представляют собой инвертированный двоично-десятичный код, как и в таблице на рис. 9.14. Контрольные вопросы f-. - . ' - -Л k 1. На рис. 9.54 показан пример описания аппаратной части схемы, в котором за- дано входное значение ‘о’10. Какая комбинация входных переменных соответ- ствует этому состоянию? 2. Какой член булева выражения будет сформирован для этого состояния? 3. Какой выход будет активным, если выражение примет значение ИСТИНА? 4. Укажите, какой выход будет активным, если в таблице была указана строка ‘о’16=>50. 654 Глава 9
Name ENC0DE2.PLD Partno 1234567 Date 2 июня Revision 01 Device gl6v8 ; Designer ;Company ;Assembly ; Location ; Format H. С. Видмер Университет Пердью Текст Глава 9 j /* Приоритетный шифратор, преобразовывающий десятичный код в двоично-десятичный, рис. 9.55*/ /* Входы */ Pin [1..9] = [Al..9]; ; /* Выходы */ Pir. [15..12] = [OUT3..0] ; /* Набор определений */ field inputs = [Al..9] field outputs = [OUT3..0] /* Описание аппаратной части */ table входы => выходы { ‘b’lllllllllx => ‘b’llll; /* шифрование 0 */ ‘Ь’Оххххххххх => ‘Ь’Юхххххххх => ‘Ь’ПОххххххх => ‘Ь’ШОхххххх => ‘b’llllOxxxxx => ‘b’llll Юхххх => ‘b’llllllOxxx => ‘b’lllllllOxx => ‘b’llllllllOx => ‘b’0110; /* шифрование 9 */ ‘b’0111; /* шифрование 8 */ ‘b’1000; /* шифрование 7 */ ‘b’1001; /* шифрование 6 */ ‘b’1010; /* шифрование 5 */ ‘b’1011; /* шифрование 4 */ ‘b’1100; /* шифрование 3 */ ‘b’1101; /* шифрование 2 */ ‘b’1110; /* шифрование 1 */ Рис. 9.55. Приоритетный, шифратор, преобразовывающий десятичный код в двоично- десятичный Резюме 1. Дешифратором называется устройство, у которого возбуждается один из выходов, когда на его входы поступает определенная кодовая комбинация битов. Многие дешифраторы, выполненные на ИС средней степени интеграции, имеют несколь- ко выходов, каждый из которых соответствует только одной из нескольких воз- можных входных комбинаций. 2. Цифровые системы часто должны отображать десятичные числа. Эту задачу можно решить, используя семисегментные дисплеи, управляемые специальными микросхемами, которые дешифрируют двоичные числа в символы десятичных цифр. Эти символы состоят из сегментов, которые могут быть сделаны на свето- излучающих диодах, жидких кристаллах или электродах, светящихся в плазме неона. 3. Для создания изображения на больших экранах графических жидкокристалли- ческих дисплеев используется матрица, состоящая из простейших элементов изо- бражения, которые называются пикселями. Каждый пиксель управляется с по- мощью подачи возбуждающих сигналов на ту строку и тот столбец матрицы, на пересечении которых находится данный пиксель. Уровень яркости каждого тако- го элемента хранится в видеопамяти в виде двоичного числа. С помощью доста- точно сложных элементов цифровой схемотехники производится сканирование видеопамяти и считывание комбинаций строк и столбцов матрицы, в результате чего происходит управление количеством света, которое излучает каждый пиксель. 4. Шифратором называется устройство, которое на выходе формирует определенный двоичный код в ответ на возбуждение какого-то одного из его входов. 5. Процесс поиска неисправностей включает в себя процедуру наблюдения/анализа, которая помогает установить возможные причины неправильного функциониро- Логические схемы средней степени интеграции 655
вания устройства. Локализовать и точно установить истинную причину неис- правности можно, пользуясь принципом "разделяй и властвуй”. 6. Мультиплексоры работают в качестве переключателей, управляемых цифровыми сигналами. Они выбирают один из входных сигналов и передают его на один из выходов. Выполняя подобную процедуру по очереди, мультиплексоры могут пе- редавать сразу несколько сигналов с данными по одному сигнальному проводу. На другом его конце применяются демультиплексоры, которые разделяют сигна- лы с одной линии и распределяют их по нужным направлениям. 7. Компараторы величин служат индикаторами соотношений между двумя двоич- ными числами. С выходов компаратора снимаются сигналы, показывающие эти соотношения (выходы >, <, =). 8. Часто бывает необходимо преобразовать код, которым представлена та или иная физическая величина, выраженная двоичным числом, в другой код. Преобразо- вателем кода называется устройство, которое преобразует один двоичный код в другой. 9. В цифровых системах многие устройства часто делят одну и ту же линию пере- дачи информации. Эта линия называется шиной данных. Хотя к ней можно под- ключить сразу большое количество внешних устройств, каждый момент времени только одно из них должно передавать или получать информацию. Это означает, что необходимо соблюдать очередность, с которой устройства выдают на шину данных логические сигналы. 10. Для соблюдения указанной очередности устройства должны иметь тристабилъ- ные выходы, которые могут отключаться, когда на шину поступают сигналы с другого устройства. В отключенном состоянии такой выход по сути электрически отсоединяется от остальной системы, переходя в состояние с высоким импедан- сом как относительно земли, так и относительно положительного источника пи- тания. Устройства, разработанные для сопряжения с шиной, имеют подобные выходы, которые могут находиться не только в состояниях с высоким и низкич уровнями напряжения, но и в отключенном состоянии (с высоким импедансом). 11. В области реализации цифровых систем ПЛУ составляют альтернативу исполь- зованию схем ССИ. Для описания функционирования эквивалентных схем на ПЛУ можно использовать булевы уравнения, но современные компиляторы (например, язык CUPL) позволяют вводить данные в удобном формате таблиц истинности. Основные термины дешифратор дешифратор/драйвер двоично-десятичного кода в десятичный дешифратор/драйвер двоично-десятичного кода в семисегментный общий анод общий катод ЖКИ задняя панель пиксель тонкопленочный транзистор пассивная матрица шифратор приоритетный шифратор наблюдение/анализ “разделяй и властвуй” мультиплексор (MUX) мультиплексирование преобразование параллельного кода в после- довательный демультиплексор (DEMUX) шина данных плавающая шина слово данных драйвер шины двунаправленная линия данных 656 Глава 9
Упражнения Раздел 9.1 (В) 9.1. Посмотрите на схему, изображенную на рис. 9.3. Для следующих наборов входных комбинаций определите логические уровни на каждом выходе де- шифратора. а) На всех входах низкие уровни напряжения. б) На всех входах низкие уровни напряжения, на входе Е3 — высокий. в) На всех входах высокие уровни напряжения, на входах Ех = Ег — низкие. г) На всех входах высокие уровни напряжения. (В) 9.2. Сколько входов и выходов имеет дешифратор, который может принимать 64 различных входных кодовых комбинации? (В) 9.3. Какие условия на входе ИС 74ALS138 приведут к формированию следую- щих выходных сигналов: а) низкий уровень напряжения на выходе Ов ; б) низкий уровень напряжения на выходе О3 ; в) низкий уровень напряжения на выходе О5 ; г) низкие уровни напряжения одновременно на выходах О0 и О7. (D) 9.4. Покажите, как можно использовать ИС 74LS138 для того, чтобы построить дешифратор “1 из 16”. 9.5. На рис. 9.56 изображен дешифратор, который может применяться для фор- мирования управляющих сигналов. Пусть в момент t0 на схему был подан импульс сброса (RESET). Определите форму выходного управляющего сиг- нала (CONTROL) в течение 32 синхроимпульсов. (D) 9.6. Измените схему, показанную на рис. 9.56, таким образом, чтобы она фор- мировала сигнал с низким уровнем напряжения в интервале времени от до ^24- (Подсказка: модификация данной схемы не требует использования дополнительных логических элементов.) 9.7. Дешифратор 7442, изображенный на рис. 9.5, не имеет разрешающего вхо- да. Однако его можно применять как дешифратор “1 из 8”, если использо- вать D-вход в качестве разрешающего и не снимать сигналы с выходов О6 и Ов. Такое подключение показано на рис. 9.57. Опишите, как будет работать данное устройство и покажите, как логический уровень на входе D может управлять возбуждением выходов такого дешифратора. 9.8. Изучите формы сигналов, изображенных на рис. 9.58. Подайте эти сигналы на входы ИС 74LS138 в таком порядке: А-+Ао; Логические схемы средней степени интеграции 657
Рис. 9.56. Упражнения 9.5 и 9.6. входной код Од Од Оу Од О5 О4 О3 Og 0| Од К_ Не используется Рис. 9.57. Упражнение 9.7. Пусть входы Ех и Е2 замкнуты на источник низкого уровня сигнала (землю). Нарисуйте формы сигналов с выходов О0 , О3, О6 и О7. 658 Глава 9
1 а ! 1 1 1 1 в 1 1 i i i i i i i i 1 1 1 1 1 1 1 1 1 1 i i i i i i i i 1 1 1 1 1 1 1111 Ci । । । i i i i i i i i i i i i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i 1 1 1 1 1 1 1 1 1 1 1 1 Q 1 1 1 1 1 1 1 1 1 i 1 i i i i i i i i । । । । । । 1 i 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 to t1 t2 t3 t4 t5 t6 t7 t i i i i i i i i i i i i i i i i 8 *9 *10 *11 t12 *13 *14 *15 *16 Рис. 9.58. Упражнения 9.8 и 9.41. (D) 9.9. Измените схему, изображенную на рис. 9.6, таким образом, чтобы реле К\ было включено в интервале времени от t3 до t5, а реле К2 — в интервале от t6 до t9. (Подсказка: модификация данной схемы не требует использования дополнительных логических элементов.) Разделы 9.2 и 9.3 (В, D) 9.10. Покажите, как нужно присоединить к схеме электронных часов (рис. 7.47) дешифраторы/драйверы, преобразующие двоично-десятичный код в семи- сегментный, и 7-разрядные светодиодные индикаторы, чтобы можно было отображать часы и минуты. Предполагается, что каждый сегмент потребля- ет ток, равный 10 мА. и напряжение 2,5 В. (В) 9.11. а) Изучив схему на рис. 9.10, нарисуйте формы сигналов, которые необхо- димо подать на сегмент и заднюю панель относительно земли, если из- вестно, что на вход управления (CONTROL) подается низкий уровень сигнала. Нарисуйте форму напряжения на сегменте относительно задней панели. б) Повторите задание п. а при CONTROL = 1. (С, D) 9.12. Дешифратор/драйвер, преобразующий двоично-десятичный код в семисег- ментный (рис. 9.8), содержит логику для возбуждения каждого сегмента при поступлении соответствующего двоично-десятичного кода. Спроекти- руйте логическую схему, которая бы возбуждала сегмент g. Раздел 9.4 Практическое задание (В) 9.13. Укажите напротив каждого пункта, относится ли данное утверждение к шифратору или дешифратору. а) Имеет больше входов, чем выходов. Логические схемы средней степени интеграции 659
б) Используется для преобразования нажатий кнопок на клавиатуре в дво- ичный код. в) Каждый момент времени может быть возбужден только один выход. г) Может быть использован для сопряжения двоично-десятичного входного сигнала с ЖК-индикатором. д) Часто имеет выходы по типу драйверов, чтобы можно было функциони- ровать при больших значениях токов и напряжений. 9.14. Определите логические уровни на выходе шифратора 74147, если А* = А4 = О, а на всех других входах установились высокие уровни напряжения. 9.15. Подайте сигналы, показанные на рис. 9.58, на входы ИС 74147 в следую- щем порядке: А -> А,; В —> А4 ; С-> Л; D -> Д. Нарисуйте сигналы, снимаемые с выхода шифратора. (С, D) 9.16. На рис. 9.59 показана блок-схема логической схемы, которая используется для контроля количества копий, сделанных копировальным аппаратом. Оператор выбирает требуемое число копий, замыкая один из ключей, от <Si до Sg. Выбранное число преобразуется с помощью шифратора в двоично- десятичный код и пересылается на компаратор. Затем оператор нажимает и отпускает кнопку START, которая очищает счетчик и формирует высокий уровень сигнала яа выходе OPERATE. Этот сигнал поступает на исполни- тельный механизм копировального аппарата и начинает цикл копирования. Когда машина делает очередную копию, формируется импульс копирова- ния, который поступает на двоично-десятичный счетчик. Сигналы с выхода этого счетчика постоянно сравниваются на компараторе с выходными сиг- налами шифратора, который следит за положением ключей. Когда оба дво- ично-десятичных числа, соответствующие этим величинам, становятся рав- ны, что свидетельствует о выполнении желаемого количества копий, на выхо- де компаратора X устанавливается сигнал с низким уровнем напряжения. Это приводит к возвращению сигнала на выходе OPERATE в исходное со- стояние с низким уровнем напряжения и остановке исполнительного меха- низма копировального аппарата. Повторное нажатие кнопки START вновь приведет к повторению всего цикла. Спроектируйте полные логические схе- мы компаратора и управляющей части данной системы. (С, D) 9.17. Схема клавиатуры, изображенная на рис. 9.16, была спроектирована с рас- четом, чтобы принимать десятичные числа, состоящие из трех цифр. Что произойдет, если набрать сразу четыре цифры (например, 3095)? Спроекти- руйте необходимую логическую схему, которую следует добавить к указан- ной, чтобы после набора трех цифр любые остальные нажатия не учитыва- лись до тех пор, пока не будет нажата клавиша сброса (CLEAR). Иначе го- воря, если будет введено число 3095, регистры на выходе схемы должны показать только 309 и проигнорировать цифру 5, а также любые другие на- жатия, сделанные до очистки схемы. 660 Глава 9
Импульсы копирования Рис. 9.59. Упражнения 9.16 и 9.52. Работа " 0 — машина выключена 1 — машина включена Раздел 9.6 (Т) 9.18. Техник испытывает схему ввода цифр с клавиатуры, изображенной на рис. 9.16. Он тестирует схему, вводя числа, состоящие из трех цифр. Обна- ружилось, что вместо некоторых введенных цифр на индикаторе появляется “О”. Это случается примерно с одинаковой вероятностью для всех кнопок, хотя для одних чаще, чем для других. Техник заменил все интегральные схемы, но система так и не заработала, как положено. Какая из перечис- ленных ниже неполадок могла привести к подобной работе схемы? Поясни- те свой выбор. а) Техник забыл заземлить неиспользуемые входы элемента ИЛИ. б) По ошибке техник использовал выход Q одновибратора вместо Q. в) При нажатиях кнопок возникает дребезг контактов, который длится бо- лее 20 мс. г) Выходы У и Z замкнуты вместе. (Т) 9.19. Повторите упражнение 9.18, если регистры и индикатор показывают 0 не- зависимо от числа нажатий кнопок. (Т) 9.20. Во время испытаний схемы, изображенной на рис. 9.16, техник обнаружил, что при наборе нечетных цифр на индикагоре отображаются правильные показания, но при наборе четных цифр возникает ошибка. При нажатии кнопки “0” на индикаторе появляется цифра “1”, при нажатии “2” появля- ется цифра “3”, нажатие кнопки “4” приводит к появлению цифры “5” и т.д. Рассмотрите все приведенные ниже версии относительно причины по- добной неполадки. Объясните, почему вы считаете данную причину малове- роятной или наоборот — возможной для каждого случая. Логические схемы средней степени интеграции 661
а) Между выходом инвертора младшего значащего разряда и D-входами соответствующих триггеров произошел обрыв контакта. б) D-вход триггера Q8 оказался замкнут внутри триггера на источник Vcc. в) Выход Qo оказался замкнут на землю в результате неаккуратно нане- сенной капли припоя. (Т) 9.21. Техник испытал схему (см. рис. 9.4), как описано в примере 9.7. Были по- лучены следующие результаты: все выходы схемы работают, кроме выходов с Qie по Qie и с Q24 по Q27, на которых наблюдаются постоянные высокие уровни напряжения. Какая наиболее вероятная причина могла привести к подобной неисправности? (Т) 9.22. Техник испытал схему (см. рис. 9.4), как описано в примере 9.7, и обнару- жил, что при всех входных кодовых комбинациях, кроме перечисленных в табл. 9.7, схема возбуждает правильные выходы. Изучите таблицу и опре- делите возможную причину неисправности. Входной код Возбуждаемые выходы А4А3А2А1А0 1 0 0 0 0 1 0 0 0 1 10 0 10 10 0 11 10 10 0 10 10 1 10 110 1 0 1 1 1 ^1в И Q24 Qi? и Qzs Qie и Qio и Qz? Ого и Оге 021 и Q20 Огг и Оао Огз и Q»i (Т) 9.23. Предположим, что по ошибке вместо сегмента g в схеме, изображенной на рис. 9.8, был подключен резистор сопротивлением 22 Ом. Как повлияет это на индикатор? К каким возможным проблемам может привести такая ошибка? (Т) 9.24. Повторите задание примера 9.8, используя показанную ниже последова- тельность символов. Счет 0 1 2 .3 4 5 6 7 8 9 Наблюдаемое изображение п и / / / J D и ч / / ч С 662 Глава 9
(Т) 9.25. Повторите задание примера 9.8, используя последовательность символов, показанную ниже. Счет 0 1 2 3 4 5 6 7 8 9 Наблюдаемое изображение Г 1 / □ □ I с 1 □ J / н и / (Т) 9.26. Чтобы протестировать схему, приведенную на рис. 9.11, техник присоеди- нил двоично-десятичный счетчик ко входам ИС 74НС4511 и включил пода- чу на счетчик импульсов с очень малой частотой. Было обнаружено, что сегмент f работает совершенно случайным образом, причем обнаружить ка- кую-то закономерность в его поведении технику так и не удалось. Каковы возможные причины подобной работы? (Подсказка: следует помнить, что все интегральные схемы выполнены по КМОП-технологии). Разделы 9.7 и 9.8 (В) 9.27. На схему, приведенную на рис. 9.19, были поданы сигналы, временные диа- граммы которых изображены на рис. 9.60. Нарисуйте форму сигнала на вы- ходе Z. Рис. 9.60. Упражнение 9.27 9.28. На рис. 7.45 показана схема выбора частоты синхронизации. Покажите, как можно заменить поворотный переключатель мультиплексором 74НС151. За- дайте входные условия, необходимые для выбора сигнала синхронизации с частотой 1 кГц. 9.29. В схеме, показанной на рис. 9.61, используется три мультиплексора с двумя входами (см. рис. 9.19). Определите функцию, которую выполняет эта схема. (D) 9.30. Используя идею из упражнения 9.29, соедините несколько мультиплексоров “1 из 8” на основе ИС 74151 таким образом, чтобы сформировать мультип- лексор “1 из 64”. (С, D) 9.31. Покажите, как можно соединить две ИС 74157 и одну ИС 74151 так, чтобы построить мультиплексор “1 из 16” без использования дополнительных ло- гических элементов. Обозначьте входы от 10 до As. чтобы показать, как они соответствуют коду выбора. Логические схемы срвдней степени интеграции 663
Si So Рис. 9.61. Упражнение 9.29 (D) 9.32. а) Расширьте схему, приведенную на рис. 9.24, таким образом, чтобы она отображала содержимое двух трехкаскадных двоично-десятичных счет- чиков. б) Посчитайте количество соединений этой схемы и сравните его с количе- ством соединений, необходимым при использовании отдельных дешиф- раторов/драйверов и индикаторов для каждого каскада каждого счетчика. 9.33. На рис. 9.62 показано, как можно применять мультиплексор для формиро- вания логических сигналов любой требуемой формы. Функция сигнала про- граммируется с помощью восьми однополюсных переключателей, а сам он формируется сигналом с выхода периодически пульсирующего счетчика с Кпер=8. Нарисуйте форму сигнала на выходе Z для заданных на рисунке по- зиций переключателей. 9.34. Замените в схеме на рис. 8.62 счетчик с Кпер = 8, счетчиком с Кпер в 16, подключите старший значащий бит ко входу Е мультиплексора. Нарисуйте форму сигнала на выходе Z. (D) 9.35. Покажите, как можно использовать ИС 74151 для формирования логиче- ской функции Z = АВ + ВС + АС. (D) 9.36. Покажите, как можно использовать мультиплексор с 16 входами (такой, например, как 74150) для формирования логической функции Z = ABCD + + BCD + ABD + ABCD . (N) 9.37. Схема на рис. 9.63 показывает, как мультиплексор с 8 входами может ис- пользоваться для формирования логической функции с четырьмя перемен- ными при условии, что мультиплексор имеет всего три входа выбора 664 Глава 9
(SELECT). Три логических переменных А, В и С подключаются ко входам выбора, а четвертая D вместе с инверсным сигналом D подается на входы данных мультиплексора, определенные требуемой логической функцией. Остальные входы данных мультиплексора подключаются к низкому или вы- сокому уровням напряжения, как это требуется данной функцией. Рис. 9.63. Упражнения 9.37 и 9.38 а) Составьте таблицу истинности, показывающую состояния выхода Z для всех 16 возможных комбинаций битов на входе. б) Запишите в дизъюнктивной форме выражение для сигнала с выхода Z и упростите его. Убедитесь, что оно будет соответствовать выражению, приведенному ниже: Z = СВА + DCBA + DCBA . Логические схемы средней степени интеграции 665
(C, D) 9.38. Метод построения, использованный на рис. 9.63, можно применять для формирования логических функций с четырьмя переменными и в следую- щем порядке: 1. Составьте таблицу истинности требуемой функции. В качестве выходного сигнала используется сигнал Z. 2. Запишите в дизъюнктивной форме выражение для сигнала с выхода Z; не упрощайте его. Например, Z = DCBA + DCBA + DCBA + DCBA + DCBA + DCBA. 3. Найдите члены, которые имеют в качестве общих множителей переменные А, В и С: Z = DCBA + CBA(D + D) + CBA(D + D) + DCBA = = DCBA + СВА + СВА + DCBA 4. Рассматриваются те члены, которые содержат только переменные А, В и С в нормальной или инверсной формах. Для каждого из этих членов подключите соответствующий вход данных мультиплексора к высокому * уровню напряжения: СВА -> подать сигнал высокого уровня на вход 1в; СВА -> подать сигнал высокого уровня на вход 13. 5. Рассматриваются те члены, которые содержат переменную D. Подключите переменные D и D к тем входам данных мультиплексора, которые соответ- ствуют переменным СВА: DCBA -» присоединить вход D ко входу 15; DCBA —> присоединить вход D ко входу /г. 6. Подключите оставшиеся входы мультиплексора к низкому уровню напря- жения. а) Проверьте схему 9.63, используя данный метод. б) Используйте данный метод, чтобы реализовать функцию, которая фор- мировала бы высокий уровень сигнала только тогда, когда все четыре входных переменных имеют один и тот же логический уровень или ко- гда переменные В и С имеют различные уровни. Раздел 9.9 Практическое задание (В) 9.39. Напротив каждого пункта укажите, к какому устройству относится данное утверждение: дешифратору, шифратору, мультиплексору или демультип- лексору. а) Имеет больше входов, чем выходов. б) Использует входы выбора. в) Может применяться для преобразования параллельного кода в последо- вательный. г) Формирует на выходе двоичный код. д) Каждый момент времени может быть возбужден только один из его вы- ходов. 666 Глава 9
е) Может применяться для маршрутизации входного сигнала на один из нескольких возможных выходов. ж) Может применяться для формирования произвольных логических функций. 9.40. Покажите, как дешифратор 7442 может применяться в качестве демультип- лексора с одним входом и восемью выходами. {Подсказка', см. Упражне- ние 9.7). 9.41. На входы демультиплексора 74LS138 (см. рис. 9.30, а) были поданы сигна- лы, формы которых приведены на рис. 9.58. Биты были поданы в следую- щем порядке: В —> Аг; С->А1; В —> А<>; А -> Д . Нарисуйте формы сигналов, снимаемых с выходов демультиплексора. 9.42. Рассмотрим систему, изображенную на рис. 9.32. Предположим, что частота синхронизации составляет 10 имп./с. Опишите показания панели управле- ния в каждом из приведенных ниже случаев. а) Все двери закрыты. б) Все двери открыты. в) Открыты двери 2 и 6. (С, D) 9.43. Измените систему, показанную на рис. 9.32, таким образом, чтобы она мог- ла контролировать состояния 16 дверей. Используйте мультиплексор 74150, имеющий 16 входов, и два демультиплексора 74LS138. Сколько линий по- требуется присоединить к удаленной панели управления? 1.1. Нарисуйте формы сигналов на выходах Z, О0, О2 и О3 схемы, изобра- женной на рис. 9.33, если в ее регистрах хранятся следующие данные: [А] = ООН, [В] = ОНО, [С] = 1001, [В] = 0111. 9.39. На рис. 9.64 показан графический ЖК-дисплей размером 8x8, управляе- мый двумя ИС 74НС138, из которых одна работает в режиме дешифратора, а другая — в режиме демультиплексора. Нарисуйте 48 периодов сигнала синхронизации и сигнала на входе данных (Data), необходимых для возбу- ждения пикселов, указанных на дисплее. . г. — Раздел 9.11 (Т) 9.46. Рассмотрим управляющий формирователь последовательности, показанный на рис. 9.26. Опишите, каким образом каждая из приведенных ниже непо- ладок может повлиять на функционирование данной схемы. а) Вход 13 мультиплексора оказался замкнут на землю. б) Случайно оказались перепутаны местами соединения между датчиками 3 и 4 и мультиплексором. (Т) 9.47. Рассмотрим схему, показанную на рис. 9.24. Испытания схемы показали результаты, которые приведены в табл. 9.8. Назовите возможные причины неправильной работы схемы. Логические схемы средней степени интеграции 667
Рис. 9.64. Упражнение 9.45. Таблица9.8 _____ Реальное количество отсчетов Отображаемое количество отсчетов Эксперимент 1 Счетчик 1 33 33 Счетчик 2 47 47 Эксперимент 2 Счетчик 1 82 02 Счетчик 2 64 64 Эксперимент 3 Счетчик 1 63 63 Счетчик 2 95 15 (Т) 9.48. Испытания системы наблюдения за безопасностью (см. рис. 9.32) показали следующие результаты (табл. 9.9). Какие причины могли привести к подоб- ному функционированию схемы? 668 Глава 9
Таблица 9.9 * Условие Состояние светодиодов Все двери закрыты Дверь 0 открыта Дверь 1 открыта Дверь 2 открыта Дверь 3 открыта Дверь 4 открыта Дверь 5 открыта Дверь 6 открыта Дверь 7 открыта Все СИД выключены СИД 0 мигает СИД 2 мигает СИД 1 мигает СИД 3 мигает СИД 4 мигает СИД 6 мигает СИД 5 мигает СИД 7 мигает (Т) 9.49. Испытания системы наблюдения за безопасностью (см. рис. 9.32) показали результаты, которые представлены в табл. 9.10. Какие возможные причины могли привести к подобному функционированию схемы? Как можно обна- ружить или исправить данную неполадку? Таблица 9.10 Условие Состояние светодиодов Все двери закрыты Дверь 0 открыта Дверь 1 открыта Дверь 2 открыта Дверь 3 открыта Дверь 4 открыта Дверь 5 открыта Дверь 6 открыта Дверь 7 открыта Двери 6 и 7 открыты Все СИД выключены СИД 0 мигает СИД 1 мигает СИД 2 мигает СИД 3 мигает СИД 4 мигает СИД 5 мигает Не мигает ни один СИД Не мигает ни один СИД Мигают СИД 6 и 7 (Т) 9.50. Синхронная система передачи данных, изображенная на рис. 9.33, начала неправильно функционировать. Для отображения сигналов с выходов муль- типлексора и демультиплексора во время цикла передачи используется ос- циллограф. Результаты наблюдений показаны на рис. 9.65. Какие причины могли привести к подобному функционированию схемы? (Т) 9.51. Синхронная система передачи данных, изображенная на рис. 9.33, начала неправильно функционировать. Для отображения сигналов используется вы- сокоскоростной осциллограф. Результаты наблюдений показаны на рис. 9.66. Обратите внимание на всплески сигнала на выходе Рассмотрите две воз- можные причины неполадки. Поясните, могли ли эти причины привести к подобному поведению схемы. Логические схемы средней степени интеграции 669
1 1 „ । Ао i co < 1 _Q 0 Q co a A j 1A2 1 0 co 00 ho 0 _ 0 0 _ co CO Iе’: CM Q । । 1 । । । 1 1 1 1 1 1 1 1 Illi Illi 1 1 1 1 1 1 1 1 1 1 1 1 С о 1 — — 1 1 1 1 1 1 1 1 1 1 II 1 1 1 II 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (J) 11 1 1 II 1 1 1 II 1 1 л 1 11 I 1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 1 l_ VJ2 iiiiiiiiiiiii 11 iii 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 V3 | | 1 1 to t2t I 1 1 1 3 U t5 t 1 1 1 1 1 1 1 1 1 1 6 t7 t0 t9 t10 tt1 t 2 t I 1 I 1 1 1 1 1 1 1 1 1 3 t14 t15 t16 t17 t18 t19 Рис. 9.65. Упражнение 9.50 Z Оо О, 02 Оз сз D2 а2 Во А, Оз В2 Do D, A3 С2 h t2 t3 42 ИЗ tl5 t16 Ч7 t18 t19 Puc. 9.66. Упражнение 9.51 а) Связи между выводами -Si и Su демультиплексора оказались перепутаны местами. б) Связи между выводами Qi и Qo счетчика слов приемника оказались пе- репутаны местами. Раздел 9.12 (С, D) 9.52. Переделайте схему из упражнения 9.16, используя компаратор величин 74НС85. Добавьте к ней функцию “переполнения копирования”, которая бы возбуждала сигнал предупреждения, если сигнал с выхода OPERATE не ос- тановил копировальный аппарат после того, как было сделано требуемое число копий. (D) 9.53. Покажите, как нужно объединить интегральные схемы 74НС85, чтобы сравнить два 10-битовых числа. 670 Глава 9
Раздел 9.13 9.54. Пусть на преобразователь кода, показанный на рис. 9.40, подается двоично- десятичный код числа 69. Определите логические уровни на всех выходах £ и на результирующем двоичном выходе. (Т) 9.55. При испытании преобразователя кода, изображенного на рис. 9.40, техник получил следующие результаты: Двоично-десятичный входной код Двоичный выходной код 52 0110011 95 1100000 27 0011011 Назовите наиболее вероятную неисправность данной схемы. Разделы 9.14 и 9.15 Практическое задание (В) 9.56. Проверьте истинность высказывания. а) Устройство, подключенное к шине данных, должно иметь тристабиль- ные выходы. б) Конфликт на шине происходит, когда в один и тот же момент времени сразу несколько различных устройств обмениваются данными с шиной. в) Через шину данных, состоящую из восьми линий данных, можно пере- давать большие массивы данных, чем через шину, состоящую из четы- рех линий. г) Интегральная схема драйвера шины обычно имеет высокий выходной импеданс. д) Двунаправленные регистры и буферы имеют общие линии ввода-вывода. 9.57. Еще раз изучите строение шины, показанной на рис. 9.44. Опишите требо- вания ко входному сигналу для одновременной передачи содержимого реги- стра С в оба других регистра. 9.58. Пусть в регистрах, показанных на рис. 9.44, в начальный момент времени содержатся следующие наборы данных: [А] = 1011, [В] = 1000, [С] = 0111. На входы регистров цодаются сигналы, формы которых изображены на рис. 9.67. 0Еа 6ЁВ Рис. 9.67. Упражнения 9.58 и 9.59. Логические схемы средней степени интеграции 671
а) Определите содержимое всех регистров в моменты времени ti, t2, t3 и t4. б) Опишите, что произойдет, если в момент поступления третьего импульса синхронизации на вход IE л подать низкий уровень напряжения. 9.59. Пусть все начальные условия совпадают с условиями упражнения 9.58. На- рисуйте форму сигналов на линии DB3, если на схему подаются сигналы, изображенные на рис. 9.67. 9.60. На рис. 9.68 показаны еще два устройства, которые надо добавить к шине данных, изображенной на рис. 9.44. Одно из них представляет собой набор переключателей с присоединенными буферами, которым можно управлять вручную для ввода данных в любой из регистров шины. Другое устройст- во — это выходной регистр, который используется для фиксации данных, на- ходящихся на шине в момент передачи, и их отображения на индикаторах. Рис. 9.68. Упражнения 9.60, 9.61 и 9.62. а) Предположим, что все регистры содержат биты 0000. Покажите после- довательность операций, необходимую для загрузки регистров с помощью переключателей следующими наборами данных: [А] = 1011, [В] = 0001, [С] = 1110. б) Какими будут состояния светодиодов после окончания этой последова- тельности? (С) 9.61. К схеме (рис. 9.44) были добавлены элементы, приведенные на рис. 9.44. Теперь система состоит из пяти устройств, подключенных к общей шине 672 Глава 9
данных. Схема, показанная на рис. 9.69, а, применяется для формирования разрешающих сигналов, необходимых для передачи различных данных по шине. Здесь используется микросхема 74НС139, содержащая два одинако- вых независимых дешифратора “1 из 4”, разрешающие входы которых управляются низким уровнем напряжения. Верхний дешифратор применя- ется для выбора устройства, которое пересылает свои данные на шину (выбор выхода), а нижний — для выбора устройства, которое снимает эти данные с сигнальных линий (выбор входа). Предположим, что выходы де- шифратора подключены к соответствующим разрешающим входам уст- ройств, связанных с шиной данных. Также пусть в начальный период вре- мени t0 все регистры содержали биты 0000, а ключи находились в положе- ниях, показанных на рис. 9.68. Выбор выхода Выбор входа На рис. Рис. 9.69. Упражнение 9.61. а) Определите содержимое всех регистров в моменты времени tlt t2 и t3, если на схему были поданы сигналы, формы которых изображены на рис. 9.69, б. б) Может ли в данной схеме произойти конфликт на шине? Поясните свой ответ. 9.62. Покажите, как ИС 74НС541 (см. рис. 9.47) может использоваться в схеме, изображенной на рис. 9.68. Функционирование микрокомпьютеров (С, N) 9.63. На рис. 9.70 показана базовая схемотехника, необходимая для сопряжения микропроцессора (МПУ) и модуля памяти. Этот модуль может содержать одну или несколько ИС памяти (подробнее в главе 11), которая либо получа- ет данные из МПУ (операция записи в память WRITE), либо передает дан- ные на него (операция чтения из памяти READ). Данные передаются по- средством шины данных, которая состоит из восьми сигнальных линий и на которую выведены линии данных микропроцессора и линии данных ввода- вывода памяти. Рассмотрим, как микропроцессор управляет выбором моду- ля памяти при операциях чтения и записи. Логические схемы средней степени интеграции 673
Шина данных Рис. 9.70. Упражнение 9.63 Для этого разобьем всю последовательность действий на отдельные этапы: 1. Микропроцессор помещает адреса памяти на выходы адреса от Ai5 до Aq. 2. МПУ формирует сигнал R/W, который информирует модуль памяти о том, какая операция будет осуществлена: R/W * 1 соответствует чтению (READ), a R/W =0 соответствует записи (WRITE). 3. Пять верхних битов с выходов адреса микропроцессора дешифрируются ИС 74ALS138, которая управляет разрешающим входом (ENABLE) модуля па* мяти. Этот вход должен быть возбужден, чтобы модуль мог выполнить чте- ние или запись. 4. Остальные 11 битов адреса поступают на модуль памяти. Модуль использует эти биты для выбора конкретной ячейки внутри той микросхе- мы, доступ к которой запрашивает МПУ. При этом должен быть возбужден разрешающий вход модуля. 674 Глава 9
Для чтения или записи информации в/из модуля памяти, МПУ должен за- дать правильные адреса и подать их на линии адреса, чтобы сначала разре- шить работу памяти. Затем необходимо подать импульс с высоким уровнем напряжения с выхода синхронизации СР. а) Определите, могут ли шестнадцатеричные адреса 607F, 57FA и 5F00 ак- тивизировать модуль памяти, и если да, то какие из них. б) Определите, какой диапазон шестнадцатеричных адресов может активи- зировать память. (Подсказка: при этом входы с Ао до Аю могут иметь любые комбинации.) в) Пусть к схеме был добавлен второй идентичный модуль памяти, адреса которого, сигналы чтения/записи (R/W) и линии ввода-вывода дан- ных, подключены точно так же, как и у первого модуля, за исключени- ем того, что его разрешающий вход присоединен к выходу О4 дешифра- тора. Какой диапазон шестнадцатеричных адресов может активизиро- вать этот модуль памяти? г) Может ли микропроцессор считывать или записывать данные из обоих модулей одновременно? Поясните свой ответ. Упражнение на проектирование (С, D) 9.64. Схема ввода данных с клавиатуры, приведенная на рис. 9.16, используется как часть электронного цифрового замка, который функционирует следую- щим образом. Когда выход открывания (UNLOCK) возбуждается, то на нем устанавливается высокий уровень напряжения. Этот уровень используется для включения катушки индуктивности, которая вытягивает задвижку замка и позволяет открыть дверь. Для возбуждения данного выхода опера- тор должен нажать кнопку сброса (CLEAR) и затем ввести правильную по- следовательность из трех цифр. а) Покажите, каким образом нужно присоединить к этой схеме компарато- ры 74НС85 и любые другие логические элементы, чтобы схема работала так, как описано выше при заданной кодовой последовательности CLEAR-3-5-8. б) Измените схему таким образом, чтобы она могла выдавать сигнал пре- дупреждения (ALARM) в том случае, если оператор вводит неправиль- ную последовательность цифр. Раздел 9.15 9.65. Используя булевы логические выражения, напишите исходный файл на CUPL, который бы реализовывал схему шифратора, изображенную на рис. 9.13. 9.66. Используя таблицу истинности, напишите исходный файл на CUPL, кото- рый бы реализовывал мультиплексор с двумя входами, изображенный на рис. 9.19. Ответы к контрольным вопросам Раздел 9.1 1. Нет. 2. На разрешающие входы поступают сигналы, которые контролируют, должен ли дешифратор реагировать на входной двоичный код. Логические схемы средней степени интеграции 675
3. ИС 7445 имеет выходы с общим коллектором, которые могут выдерживать на- пряжения до 30 В и токи до 80 мА. 4. 24 вывода: 2 разрешающих входа, 4 входа данных, 16 выходов, выводы на Vcc и землю. Раздел 9.2 1. а, 6, с, f, g. 2. Да. Раздел 9.3 1. СИД: а, д, е. ЖКИ: б, в, г, д. 2. а) четырехбитовый двоично-десятичный код; б) семи- или восъмибитовый ASCII-код; в) двоичные значения интенсивности света каждого пикселя. Раздел 9.4 1. Шифратор формирует выходной код, соответствующий номеру возбужденного входа. Дешифратор возбуждает один из выходов, нрмер которого соответствует поданному на входы устройства коду. 2. В приоритетном шифраторе выходной код соответствует тому возбужденному входу, номер которого был наибольшим. 3. Двоично-десятичный код = ОНО. 4. а) Формирует нарастающий сигнал (т.е. передний фронт), когда нажата какая-либо из кнопок. б) Преобразует информацию о нажатой кнопке в двоично-десятичный код. в) Формирует свободный от дребезгов (колебаний) импульс, который пере- ключает кольцевой счетчик. г) Формируют кольцевой счетчик, который последовательно синхронизи- рует выходные регистры. д) Хранят двоично-десятичные коды, соответствующие нажатым кнопкам. Раздел 9.6 1. Двоичное число на входе выбора определяет, с какого входа данных сигнал прой- дет на выход устройства. 2. Тридцать два ьхода данных и пять входов выбора. Раздел 9.7 1. Преобразование параллельного кода в последовательный, маршрутизация дан- ных, генерация логических функций, формирование последовательностей опе- раций. 2. Нет; они подаются на входы выбора. 3. Счетчики. 676 Глава 9
Раздел 9.8 1. Мультиплексор выбирает один из нескольких входных сигналов и передает его на свой выход; демультиплексор выбирает один из нескольких выходов и переда- ет на него поступивший входной сигнал. 2. Да, так как дешифратор имеет разрешающий вход. 3. Светодиоды будут последовательно включаться и выключаться. Раздел 9.10 1. Они являются средством расширения операции сравнения на числа, которые со- стоят из более чем четырех бит. 2. Од-в = 1; на остальных выходах установятся нулевые состояния. Раздел 9.11 1. Преобразователь кода представляет собой устройство, которое преобразует вход- ные данные из одного из двоичных кодов в другой двоичный код. 2. Три разряда могут представить десятичные числа до 999. Чтобы представить число 999 в двоичном коде, понадобится 10 бит. Раздел 9.12 1. Набор сигнальных линий, к которым могут быть подключены входы и выходы многих различных устройств одновременно. 2. Конфликт на шине случается, если одновременно включены выходы сразу не- скольких устройств. Его можно избежать, контролируя разрешающие входы уст- ройств, чтобы предотвратить описанную выше ситуацию. 3. Состояние шины, когда все подключенные к ней устройства находятся в высоко- импедансном состоянии. Раздел 9.13 1. 1011. 2. Да. 3. 0000. Раздел 9.14 1. Конфликт на шине. 2. Неопределенный уровень, плавающее или высокоимпедансное состояние. 3. Он обеспечивает тристабильные выходы с низкими импедансами. 4. При этом уменьшается количество выводов ИС и число контактов с шиной дан- ных. 5. См. рис. 9.51. Раздел 9.15 1. Еопе = 0, Etwo = 0, Ethree = 1, Atwo — 0, Aone = 0, Azero = 0. 2. Eone Etwo Ethree Atwo Aone Azero . 3. O0. 4. O6. Логические схемы средней степени интеграции 677

Глава 10 " •- - ---- Сопряжение с аналоговым миром Содержание: 10.1. Сопряжение с аналоговым миром 10.2. Цифроаналоговое преобразование 10.3. Строение цифроаналогового преобразователя 10.4. Характеристики цифроаналоговых преобразователей 10.5. Цифроаналоговые преобразователи на интегральных схемах 10.6. Применение цифроаналоговых преобразователей 10.7. Поиск неисправностей в цифроаналоговых преобразователях 10.8. Аналого-цифровое преобразование 10.9. Интегрирующие аналого-цифровые преобразователи 10.10. Сбор данных 10.11. Аналого-цифровые преобразователи поразрядного уравновешивания 10.12. Аналого-цифровые преобразователи параллельного типа 10.13. Другие методы аналого-цифрового преобразования 10.14. Цифровые вольтметры 10.15. Схемы выборки и хранения 10.16. Мультиплексирование 10.17. Цифровой запоминающий осциллограф 10.18. Цифровая обработка сигналов
В этой главе: принципы функционирования и огранйчения в применении некоторых типов цифроаналоговых преобразователей (ЦАП); описание спецификаций ЦАП различных производителей; использование различных тестовых проверок при поиске неисправностей в схемах ЦАП; сравнение преимуществ и недостатков интегрирующих аналого-цифровых преобразователей (АЦП), АЦП поразрядного уравновешивания и парал- лельных АЦП; анализ процессов дискретизации аналогового сигнала с помощью компью- тера и АЦП, а также последующего восстановления этого сигнала; описание основных принципов функционирования цифровых вольтмет- ров; объяснение необходимости применения схем выборки и хранения с анало- го-цифровыми преобразователями; описание функционирования аналоговых систем мультиплексирования; изложение основных принципов цифровой обработки сигналов. 10.1. Сопряжение с аналоговым миром Сравнительный обзор цифровых и аналоговых систем Цифровая величина принимает значение, которое является одним из двух воз- можных, например, 0 или 1, низкий или высокий уровень напряжения, ложь или истина и т.п. В действительности цифровые величины (к примеру, уровень напряже- ния) могут принимать любые значения из некоего диапазона (считается, что все зна- чения из этого диапазона соответствуют данной цифровой величине). Например, для устройств на ТТЛ известно, что напряжение от 0 В до 0,8 В = логическому 0; напряжение от 2 В до 5 В = логической 1. Любое значение напряжения, попадающее в диапазон от 0 до 0,8 В, будет расце- ниваться как логический 0, а любое значение напряжения, попадающее в интервал от 2 до 5 В будет расцениваться как логическая 1. Точные значения не существенны, потому что цифровые схемы одинаково реагируют на все напряжения, находящиеся в одном и том же диапазоне значений. Аналоговая величина, наоборот, может принимать любое значение в непрерыв- ном диапазоне величин и, что самое важное, интерес представляет именно ее точное значение. Например, пусть с выхода аналогового термометра было снято напряжение 2,76 В, которое соответствует, скажем, температуре 27,6 °C. Если бы было зафикси- ровано другое значение напряжения, например, 2,34 В или 3,78 В, то оно бы пред- ставляло собой совершенно другую температуру. Иначе говоря, каждое возможное значение аналоговой величины представляет отдельный интерес. Можно привести 680 Глава 10
еще один пример: выходной сигнал звукового усилителя подается в акустическую систему. Подаваемое напряжение — аналоговая величина, потому что каждое воз- можное значение напряжения формирует новый звук в акустической системе. Большинство физических переменных по своей природе являются аналоговыми и могут принимать любое значение из определенного диапазона. В качестве примеров можно назвать температуру, давление, интенсивность света, звуковые сигналы, ко- ординату, скорость вращения или течения. Цифровые системы осуществляют все операции над такими величинами исключительно в цифровой форме, используя для этого элементы цифровой схемотехники. Любую информацию, которая должна быть введена в цифровую систему, необходимо сначала преобразовать в цифровую форму. Выходные же сигналы цифровой системы выражены в цифровом виде изначально. Когда цифровая система, такая как компьютер, должна использоваться для монито- ринга и/или контроля за выполнением физического процесса, то приходится сталки- ваться с различием между цифровой природой компьютера и аналоговой природой переменных данного процесса. Эта мысль наглядно проиллюстрирована на рис. 10.1. Приведенная блок-схема имеет пять элементов, составляющих систему мониторинга и контроля физических переменных с помощью компьютера. Аналоговый Физическая величина Изменяемая физическая величина Цифровые входы Цифровые выходы Рис. 10 1, Аналого-цифровой и цифроаналоговый преобразователи (АЦП и ЦАП) применяют- ся для сопряжения компьютера и аналогового мира, в результате чего компьютер может отслеживать и контролировать реальные физические переменные 1. Преобразователь. Любая физическая переменная обычно не является величиной, каким-то образом связанной с электричеством. Преобразователем называется устройство, которое преобразует физические переменные в электрические. Можно назвать сразу несколько наиболее распространенных преобразователей: терморе- зисторы, фотоприемники, фотодиоды, измерители потока и датчики давления, тахометры. Электрический выходной сигнал преобразователя представляет собой ток или напряжение в аналоговой форме. Значения тока пропорциональны физи- ческой величине, за которой нужно следить. Пусть, например, физическая вели- чина представляет собой температуру воды в большой емкости, которая наполня- ется одновременно горячей и холодной водой. И пусть температура воды колеб- лется от 80 до 150 °Ф. Терморезистор и соответствующая схема преобразуют измеренное значение температуры воды в напряжение, величина которого варьи- руется от 800 до 1500 мВ. Обратите внимание, что на выходе преобразователя наблюдается сигнал, прямо пропорциональный температуре, т.е. изменение тем- пературы на 1 °Ф приводит к изменению выходного напряжения на 10 мВ. Такой коэффициент пропорциональности был выбран исключительно с целью удобства. 2. Аналого-цифровой преобразователь (АЦП). Аналоговый электрический сигнал с выхода преобразователя служит входным сигналом для АЦП. АЦП предназначен для преобразования аналоговых сигналов в цифровые. Цифровой сигнал на вы- ходе этого устройства состоит из определенного количества бит, которые соответ- Сопряжение с аналоговым миром 681
ствуют величине аналогового сигнала. Например, АЦП можно использовать для преобразования аналоговых уровней напряжения (от 800 до 1500 мВ) в двоичные значения от 01010000 (80) до 10010110 (150). Обратите внимание, что двоичный выходной сигнал АЦП пропорционален аналоговому напряжению, и каждая еди- ница цифрового сигнала соответствует 10 мВ. 3. Компьютер. Цифровой сигнал, величина которого соответствует состоянию физи- ческой переменной, передается из АЦП на компьютер, сохраняющий цифровое значение величины и обрабатывающий двоичный код в соответствии с заложен- ной в него программой. Программа может производить какие-то расчеты или операции над поступившим сигналом, в результате чего компьютер сформирует выходной сигнал, который можно использовать для контроля температуры. 4. Цифроаналоговый преобразователь (ЦАП). Цифровой сигнал с выхода компью- тера подается на ЦАП, который преобразует его в пропорциональное аналоговое напряжение или ток. Например, компьютер выдал цифровой сигнал, значения которого колебались от 00000000 до 11111111. ЦАП преобразует этот сигнал в напряжение, величина которого будет колебаться от 0 В до 10 В. 5. Исполнительный механизм. Аналоговый сигнал с выхода ЦАП обычно поступает на какое-либо устройство или схему, которая служит исполнительным механиз- мом и управляет физической переменной. В примере с температурой воды испол- нительный механизм может контролировать кран, регулирующий поток горячей воды, согласно уровню аналогового напряжения от ЦАП. Скорость потока воды будет варьироваться в зависимости от величины аналогового напряжения: при 0 В вода вообще не будет поступать в емкость, а при 10 В скорость заполнения будет максимальной. Таким образом, функция АЦП и ЦАП состоит в сопряжении полностью цифровых систем (например, компьютеров) с аналоговыми системами в окружающем мире. С недавних пор эта функция стала еще более важной, поскольку микрокомпьютеры вошли в такие области контроля за процессами, где ранее их использование казалось просто невозможным. Контрольные вопросы 1. Какие функции выполняет преобразователь? 2. Для чего предназначен АЦП? 3. Какие действия осуществляет компьютер над данными, которые он получает от АЦП? 4. Для чего предназначен ЦАП? 5. Зачем нужен исполнительный механизм? 10.2. Цифроаналоговое преобразование В этом разделе внимание уделяется цифроаналоговому и аналого-цифровому преобразованию величин. Многие методы аналого-цифрового преобразования ис- пользуют процесс цифроаналогового преобразования, поэтому сперва рассмотрим именно ЦАП. По сути, цифроаналоговое преобразование состоит в том, что устройство (ЦАП) преобразует цифровой код (который представляет собой ту или иную величину и выра- жается непосредственно в двоичном или в двоично-десятичном кодах) в напряжение или ток, значения которых пропорциональны цифровому сигналу. На рис. 10.2, а по- 682 Глава 10
казан символ, обозначающий обычный четырехбитовый ЦАП. Внутреннее устройство этого преобразователя, рассмотрим позже, а пока ограничимся различными случаями соотношений входного и выходного сигналов. DCBA Цифровые входы VBNX Аналоговый выход 0 0 0 0 0 0 0 1 0 0 10 0 0 11 0 10 0 0 10 1 0 110 0 111 VBblX 0 вольт 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 0 0 0 0 О 1 О 1 о 0 1 1 1 о о 1 0 1 1 1 о 1 1 1 8 9 10 11 12 13 14 15 вольт б) Рис. 10.2. Четырехбитовый. ЦАП и значения напряжения выходного сигнала Следует обратить внимание на вход опорного напряжения Уоп. Этот вход исполь- зуется для того, чтобы задать величину полномасштабного или максимального зна- чения напряжения, которое может быть сформировано на выходе ЦАП. Цифровые сигналы D, С, В и А обычно поступают на преобразователь с выходов регистра или другой цифровой системы. Эти четыре бита могут представлять 24 = 16 различных двоичных чисел, как показано на рис. 10.2, б. Каждому представленному таким об- разом числу на выходе ЦАП соответствует свое уникальное значение напряжения. Фактически аналоговый выходной сигнад Увых может быть равен стольким вольтам, сколько бит поступило на вход преобразователя. Однако этот сигнал может и вдвое превышать двоичное число на входе или еще как-то соотноситься с ним; все зависит от выбранного масштаба. Та же идея справедлива и в случае, если ЦАП формирует сигнал в виде уровней тока, а не напряжения. В общем случае, аналоговый сигнал = К х цифровой сигнал, (10.1) где К — коэффициент пропорциональности, постоянная величина для заданного ЦАП, подключенного к фиксированному источнику опорного напряжения. Инфор- мация аналогового выходного сигнала может быть представлена, как уже известно, или током, или напряжением. Если это напряжение, то коэффициент К будет иметь размерность вольт, а в случае с током — измеряться в амперах. Для ЦАП, показан- ного на рис. 10.2, К = 1 В, следовательно, Увых = (1 В) х цифровой сигнал. Можно использовать это значение коэффициента, чтобы подсчитать значение Увых для любых значений цифрового сигнала. Например, если на вход поступила кодовая комбинация 11002 — 1210, то Увых = (1 В) х 12 = 12 В. Сопряжение с аналоговым миром 683
Пример 10.1 А Пятибитовый ЦАП формирует на своем выходе сигнал. Для входной комбинации 10100 на выходе был сформирован ток величиной 10 мА. Каким будет значение силы выходного тока /вых для комбинации 11101? Решение Двоичная кодовая группа 101002 соответствует десятичному числу 20. Так как в пер- вом случае /вых =10 мА, то коэффициент пропорциональности данного ЦАП состав- ляет 0,5 мА. Таким образом, можно найти и значение /вых для любого цифрового входного сигнала. При поступлении на ЦАП кода 111012 = 2910 мы получим /вых = (0.5 мА) х 29 = 14,5 мА. Следует учесть, что коэффициент пропорциональности К может изменяться для каж- дого конкретного ЦАП и зависит от величины опорного напряжения. Пример 10.1Б Какое наибольшее значение выходного напряжения может быть сформировано вось- мибитовым ЦАП, если известно, что при поступлении на вход кода 00110010 выход- ное напряжение составляет 1,0 В? Решение 001100102 = 5О/о; 1,0 В = К х 50. Отсюда, К = 20 мВ. Наибольшее значение выходного напряжения будет сформировано при поступлении на вход кода 111111112 = 255i0: Урнх (max) = 20 мВ х 255 - 5,10 В. Аналоговый выходной сигнал Если быть точным, сигнал на выходе ЦАП нельзя назвать аналоговым потому, что даже при условии фиксированного опорного напряжения он может принимать только определенные значения: скажем, один из 16 возможных уровней выходного напряжения Увых, как это показано в таблице на рис. 10.2 (в данном случае сигнал будет цифровым). Однако с увеличением количества входов число возможных значе- ний выходного параметра (тока или напряжения) может быть увеличено, а разность между двумя ближайшими значениями — уменьшена. Это позволит формировать •выходной сигнал, все более близкий к аналоговой величине, которая последовательно изменяется в каком-то установленном интервале значений. Другими словами, вы- ходной сигнал ЦАП является “псевдоаналоговым”. В книге он назван аналоговым, однако это только аппроксимация реальной аналоговой величины. Весовые коэффициенты входных битов Следует отметить, что для ЦАП, показанного на рис. 10.2, каждый цифровой вход вносит свой вклад в формирование выходного аналогового сигнала. Это легко заметить, если внимательно изучить ситуации, когда активным является только один вход устройства (см. табл. 10.1). Сигналам на каждом из входов присваиваются соответствующие весовые коэффициенты, или веса, которые определяются позицией 684 Глава 10
данного бита в двоичном числе, поданном на ЦАП. Таким образом, вход А, который представляет собой МЗВ, имеет вес, равный 1 В; вход В имеет вес, равный 2 В; вход С — 4 В; а вход D, который представляет собой старший значащий бит, имеет наи- больший вес, равный 8 В. Эти веса последовательно увеличиваются вдвое для каждо- го нового бита начиная с младшего. Итак, можно сделать следующий вывод: напря- жение Ивых представляет собой сумму весов входных битов. Например, чтобы найти значение Ивых для входного кода 0111, нужно сложить веса единичных битов С, Ви А, которые в сумме дадут 4В + 2В+1В-7В. Таблица 10.1 D с в А V вых, в 0 0 0 1 -» 1 0 0 1 0 -> 2 0 1 0 0 > 4 1 0 0 0 -» 8 Пример 10.2 На выходе пятибитового ЦАП формируется напряжение величиной Гвых = 0»2 В при поданном на вход коде 00001. Найдите значение ИВЬ1Х для кода 11111. Решение Очевидно, что величина 0,2 В представляет собой вес младшего значащего бита. Та- ким образом, веса остальных битов должны быть равны 0,4; 0,8; 1,6 и 3,2 В соответ- ственно. Тогда для цифрового кода 11111 значение выходного напряжения VBbIX должно составить 3,2 В + 1,6 В + 0,8 В + 0,4 В + 0,2 В = 6,2 В. Разрешающая способность(величина шага квантования) Разрешающей способностью цифроаналогового преобразователя называется наи- меньшее изменение аналогового сигнала на выходе в ответ на изменение цифрового сигнала на входе. Еще раз взглянув на таблицу (рис. 10.2), можно увидеть, что для приведенного ЦАП разрядность составила 1 В, так как при изменении входного сиг- нала напряжение Рвых не может изменяться менее чем на 1 В. Разрядность ЦАП всегда равна весу младшего значащего бита. Часто этот параметр еще называют ве- личиной шага квантования, так как он представляет собой наименьшую величину выходного напряжения (или тока), на которую изменится выходной сигнал устрой- ства при изменении входного значения на один шаг. Это очень хорошо проиллюстри- ровано на рис. 10.3, где изображен ЦАП, на входы которого поступают сигналы с выходов четырехбитового двоичного счетчика. Счетчик непрерывно изменяет свои состояния (всего их 16) в моменты поступления импульсов синхронизации, а сигнал на выходе ЦАП представляет собой ступенчатую функцию, которая с каждым шагом возрастает на 1 В. Когда счетчик достигнет состояния 1111, на выходе ЦАП будет наблюдаться максимальный сигнал, равный 15 В; этот случай соответствует полно- масштабному выходному сигналу. Когда счетчик сбросится в 0000, выход ЦАП так- же вернется в 0 В. Разрешающая способность, или величина шага квантования пред- ставляет собой высоту одной ступени функции (рис. 10.3); в данном случае каждый шаг равен 1 В. Сопряжение с аналоговым миром 685
Тактовые импульсы ЛЛЛ Рис. 10.3. Форма сигнала на выходе ЦАП, управляемого сигналами с двоичного счетчика Обратите внимание, что ступенчатый сигнал на выходе ЦАП имеет 16 уровней, которые соответствуют 16 возможным состояниям входного сигнала; однако между нулевым и полномасштабным уровнями есть только 15 ступеней. В общем случае, для N-битового ЦАП количество различных уровней будет равно 2N, а количество шагов будет равно 2N - 1. Таким образом, разрешающая способность (или величина шага) представляет со- бой тот же параметр, что и коэффициент пропорциональности между входным л вы- ходным сигналами преобразователя: аналоговый сигнал = К х цифровой сигнал. Новая интерпретация этого выражения заключается в том, что входной цифровой сигнал равен количеству шагов, где К — напряжение или ток каждого шага; анало- говый сигнал будет произведением этих двух параметров: разрешающая способность = К = , (10.2) где Ап.с. — величина полномасшатбного аналогового сигнала, ап — количество бит. Пример 10.3А Какую разрешающую способность (величину шага квантования) имеет ЦАП, пред- ставленный на рис. 10.2? Изобразите форму выходной ступенчатой функции этого преобразователя. Решение МЗБ данного преобразователя имеет вес, равный 0,2 В. Эта величина и представляет собой разрешающую способность устройства, или величину шага квантования. Сту- пенчатый сигнал, снимаемый с выхода преобразователя, может быть сформирован, если ко входам ЦАП подключить пятибитовый счетчик. Наблюдаемая функция бу- дет иметь 32 уровня: от 0 В до максимального (полномасштабного) значения 6,2 В, т.е. всего 31 промежуточную ступень величиной по 0,2 В каждая. 686 Глава 10
Пример 10.3Б Определите напряжение Ивых для ЦАП, показанного на рис. 10.2, если на его входы был подан код 10001. Решение Величина шага указанного ЦАП равна 0,2 В, т.е. его коэффициент пропорционально- сти К уже известен. Цифровой код, поданный на вход устройства, равеи 100012 = 17ю. Таким образом, = (0,2 В) х 17 = 3,4 В. Процентная разрешающая способность Хотя разрешающая способность может быть выражена в виде величины напряже- ния или тока, приходящейся на каждую ступень выходного сигнала, часто более удобно выражать ее в процентах относительно полномасштабной величины напря женил. Рассмотрим ЦАП, показанный на рис. 10.3. Он имеет полномасштабный вы- ходной сигнал, величина которого составляет 15 В (в случае подачи на вход цифро- вого кода 1111). Величина шага квантования равна 1 В. Запишем процентную раз- решающую способность следующим образом: процентная разрешающая способность = величина шага квантования полномасштабный сигнал х 100% = х 100% = 6,67%. (10.3) Пример 10.4 Величина шага квантования некоторого десятибитового ЦАП составляет 10 мВ. Оп- ределите величину полномасштабного выходного напряжения и процентную разре- шающую способность данного преобразователя. Решение Поскольку на вход поступает 10 бит цифрового сигнала, то всего данный ЦАП Имеет 210 - 1 = 1023 шага, величина каждого из которых равна 10 мВ. Полномасштабный выходной сигнал составит 10 мВ х 1023 = 10,23 В, а разрешающая способность будет равна 10 мВ процентная разрешающая способность = jq 23 В х 100% ю 0,1%. Пример 10.4 наглядно иллюстрирует тот факт, что процентная разрешающая спо- собность улучшается с увеличением количества входов. Данную величину можно также вычислить по следующей формуле: процентная разрешающая способность = _-------------1----------- х 10% полное количество шагов * * (10.4) Для N-битового двоичного входного кода общее количество шагов составляет 2N -1. Тогда, продолжая предыдущий пример, процентная разрешающая способность = 1 х 100% = * 1023 х 10°0//° * « 0,1%. Это означает, что процентную разрешающую способность цифроаналогового пре- образователя определяет только число битов. С увеличением количества бит увели- чивается и количество шагов, требуемых для достижения максимальной выходной Сопряжение с аналоговым миром 687
величины сигнала, а каждый шаг составляет все меньшую и меньшую часть полно- масштабного напряжения. Большинство фирм.-производителей ЦДЛ определяют раз- решающую способность, указывая количество бит, т.е. разрядность*. Физический смысл разрешающей способности Цифроаналоговый преобразователь не может формировать выходной сигнал, зна- чения которого будут лежать в непрерывном диапазоне величин, поэтому, как уже говорилось, такой сигнал не является действительно аналоговым. ЦАП выдает ко- нечный набор дискретных выходных значений. В разделе 10.1, где на примере изме- рения температуры воды рассматривались отличия аналоговых и цифровых величин, компьютер формировал выходной сигнал в дискретном (цифровом) виде, а затем уровни напряжения этого сигнала преобразовывались в аналоговый сигнал со значе- ниями от 0 до 10 В, который контролировал работу крана с горячей водой. Разряд- ность (количество бит) рассмотренного ЦАП показывала, сколько различных значе- ний напряжения может формировать и передавать на исполнительный механизм компьютер. При использовании шестибитового ЦАП и диапазона напряжений от 0 до 10 В всего будет возможно 63 различных ступени по 0,159 В каждая. При использо- вании восьмибитового ЦАП будет возможно уже 255 ступеней по 0,039 В каждая. Чем большим будет количество бит, тем лучшую разрешающую способность (и тем меньшую величину шага) будет иметь преобразователь. Разработчик цифровых систем должен уметь определять необходимую для работы конкретной схемы разрядность, которая показывает, насколько близко цифровой сигнал с выхода ЦАП соответствует данному аналоговому сигналу. Обычно стоимость цифроаналогового преобразователя возрастает с увеличением его разрешающей спо- собности, поэтому следует использовать минимально необходимое количество бит. Пример 10.5 На рис. 10.4 показан компьютер, управляющий скоростью вращения ротора двигате- ля. Аналоговый ток величиной от 0 до 2 мА с выхода ЦАП поступает на усилитель, в результате чего формируется сигнал, который управляет скоростью вращения ро- тора в диапазоне от 0 до 1000 об./мин (оборотов в минуту). Какой должна быть раз- рядность ЦАП, чтобы сигнал с выхода компьютера мог управлять скоростью враще- ния с точностью до 2 об./мин? Рис. 10.4. Пример 10.5. *ВЫХ 0-2 мА * С этого момента термин “разрядность” будет употребляться там, где речь будет идти о ко- личестве бит, а термин “разрешающая способность” — там, где речь пойдет о величине напря- жения или тока. — Прим, перев. 688 Глава 10
Решение Согласно условию задачи скорость вращения ротора может изменяться от 0 до 100 об./мин, при этом сигнал с выхода ЦАП изменяется от нулевого до полномас- штабного тока. Каждая ступень этого сигнала соответствует определенному измене- нию скорости вращения. Нужно, чтобы величина шага вращения не превышала 2 об./мин; тогда потребуется как минимум 500 шагов (1000/2). Значит, можно опре- делить, сколько бит потребуется для того, чтобы разбить сигнал с выхода ЦАП на 500 ступеней. Ясно, что количество ступеней на выходе цифроаналогового преобразо- вателя равняется 2N - 1, поэтому можно записать: 2” - 1 > 500 или 2n > 501. Так как 28 = 256, а 29 = 512, наименьшее количество бит, которое потребуется для формирования сигнала с 500 дискретными значениями, составит девять. Использо- вание большего числа бит может серьезно повлиять на стоимость ЦАП. Пример 10.6 Насколько близко можно подойти к значению скорости вращения ротора мотора 326 об./мин при использовании девятибитового ЦАП? Решение При использовании цифроаналогового преобразователя с разрядностью девять бит можно получить выходной сигнал, который имеет 511 ступеней (29 - 1). Таким обра- зом, скорость вращения может изменяться с точностью до 1000/511 = 1,957 об./мин. Количество ступеней, необходимых для того, чтобы установить скорость вращения точно 326 оборотов, составляет 326/1,957 = 166,58. Число шагов следует округлить до 167. Реальная скорость вращения ротора на 167-й ступени сигнала от ЦАП соста- вит 167 х 1,957 = 326,8 об./мин. Таким образом, компьютер должен формировать выходной сигнал, девятибитовый двоичный эквивалент которого будет равен 16710. Тогда ротор будет вращаться с заданной скоростью, допустимая точность которой оп- ределяется разрядностью (разрешающей способностью) ЦАП. Во всех примерах полагалось, что используемый цифроаналоговый преобразова- тель формировал идеально соответствующий расчетам аналоговый сигнал, прямо пропорциональный двоичному коду на входе. Также считалось, что точность при- ближения к требуемому аналоговому значению была ограничена исключительно раз- решающей способностью устройства. Естественно, что такое допущение не соответст- вует действительности, поскольку любые устройства и приборы имеют какую-то по- грешность. Причины и эффекты погрешностей цифроаналоговых преобразователей описаны в следующем разделе. Двоично-десятичный входной код Помимо цифроаналоговых преобразователей, управляемых только двоичным ко- дом, существуют ЦАП, которые используют двоично-десятичный входной код, т.е. для представления каждого десятичного разряда используется кодовая группа, со- стоящая из 4 бит. На рис. 10.5 показана примерная схема восьмибитового (двухразрядного) преобразователя данного типа. Каждая четырехбитовая кодовая группа может принимать значение от 0000 до 1001, что эквивалентно десятичным числам от 00 до 99, записанным в двоично-десятичном коде. В пределах каждой ко- довой группы веса различных битов изменяются в нормальной двоичной прогрессии (1, 2, 4, 8), зато веса самих кодовых групп отличаются множителем 10 (т.е. одна Сопряжение с аналоговым миром 689
группа представляет десятичные десятки, а другая — единицы). На рис. 10.5 пока- заны относительные веса различных битов. Обратите внимание, что вес битов, кото- рые представляют собой запись СЗБ (десятков), в 10 раз больший, чем вес группы битов, соответствующей единицам. Двоично- десятичный код стершего значащего разряда (СЗР) Д| оично- десятичный код младшего значащего разряда (С3°) MSB Di • Ci • * LSB .Ai • MSB Do • 80 4C 20 Цифроаналоговый 10 преобразователь с двоично- 8 десятичными д входами 2 1 VBWX * 1С0 возможных значений.три' изменении входного кода от 0 до 99 Величина ша -а = все А) Рис. 10.5. ЦАП, использующий двоично десятичный входной код. Такой преобразова- тель использует кодовые комбинации из двух групп и формирует 100 возможных аналоговых значений Пример 10.7 А Вес бита Ао цифроаналогового преобразователя, изображенного на рис. 10.5, равен 0,1 В. Найдите следующие величины: а) шаг квантования; б) полномасштабный выходной сигнал и процентную разрешающую способность; в) выходное напряжение РВых при D\CiBxA\ = 0101 и DqCqBqAq = 1000. Решение а) Величина шага ЦАП совпадает с весом младшего значащего бита наименьшего десятичного разряда (единиц), т.е. составляет 0,1 В. Поскольку приходится иметь дело с двумя двоично-десятичными группами, пред- ставляющими два разряда, то выходной сигнал будет иметь 99 ступеней. По ам- плитуде полномасштабный сигнал будет равен 99 х 0,1 = 9,9 В. Разрешающая способность ЦАП (вычисленная по формуле 10.3) равна величина шага квантования . 0,1 . полномасштабный сигнал * 100% = 9^ * 100% “ 1%- Чтобы рассчитать процентную разрешающую способность, можно использовать уравнение 10.4, так как общее количество ступеней, равное 99, известно. б) Точные веса битов, выраженные в вольтах, приведены в табл. 10.2. Можно найти величину Увых по заданному входному коду, последовательно складывая веса всех битов, которые равны 1. Тогда при входном коде 0101 1000 получим ci Ai Do = 4 В + 1 В + 0,8 В = 5,8 В 690 Глава 10
Указанный в условии двоично-десятичный входной код представляет собой число 5810» а величина шага ЦАП равна 0,1 В, теперь можно легко и быстро вычислить выходное напряжение Увых = (ОД В) х 58 = 5,8 В. Пример 10.7Б Известно, что амплитуда полномасштабного сигнала 12-битового двоично-десятич- ного ЦАП равна 9,99 В. Определите его процентную разрешающую способность, а также величину шага квантования данного преобразователя. Решение Двенадцать бит двоично-десятичного кода представляют три десятичных разряда, т.е. десятичные числа от ООО до 999. Следовательно, выходной сигнал данного ЦАП имеет 999 возможных уровней (или ступеней), напряжения которых изме- няются от 0 до 9,99 В. Отсюда, ------------------х 100% = количество шагов = 999 х 100°/о ~ °>1%- Величина шага = полномасштабный сигнал количество шагов 9,99 В 999 = 0,01 В. Биполярные ЦАП До сих пор полагалось, что двоичные числа, которые подаются на входы ЦАП, представляют собой числа без знаков, а с выхода цифроаналогового преобразователя снимается положительный ток или напряжение. Однако многие ЦАП спроектирова- ны таким образом, что могут формировать как положительные, так и отрицательные выходные сигналы (например, с амплитудой полномасштабного сигнала от -10 В до +10 В). Обычно это делается для того, чтобы на вход преобразователя можно было подавать сигналы (числа) обеих полярностей, где СЗБ служит битом знака (0 для по- ложительных чисел и 1 для отрицательных). Отрицательные величины часто пред- ставлены в дополнительном коде, хотя в некоторых ЦАП иногда применяется форма знак-модуль. Предположим, что шестибитовый биполярный ЦАП использует допол- нительный код и имеет разрешающую способность, равную 0,2 В. Двоичные входные значения лежат в диапазоне от 100000 (-32) до 011111 (+31) и представляют аналого- вые сигналы с амплитудой от -6,4 до +6,2 В. Всего выходной сигнал имеет 63 ступе- ни (26 - 1), причем разность напряжений между каждыми соседними уровнями со- ставляет 0,2 В. Контрольные вопросы 1. При поданном на вход двоичном коде 01100010 с выхода 8-битового цифроана-I лотового преобразователя снимается сигнал, равный 3,92 мА. Найдите разре- шающую способность и величину полномасштабного сигнала данного ЦАП. , 2. Какой вес имеет старший значащий бит ЦАП в вопросе 1? 3. Какой будет процентная разрешающая способность 8-битового ЦАП? Сопряжение с аналоговым миром 691
4. Сколько различных уровней выходного напряжения может сформировать 22- битовый ЦАП? 5. Сколько бит необходимо использовать в системе, приведенной на рис. 10.4, ес- ли компьютер должен управлять скоростью вращения ротора мотора с точно- стью 0,4 об./мин? 6. Определите величину выходного сигнала 12-битового ЦАП с двоично-десятич- ными входами и разрешающей способностью 10 мВ для кодовой комбинапии 100001110011. 7. Проверьте истинность высказывания. Процентная разрешающая способность ЦАП зависит только от количества бит. 8. Какое преимущество имеет более высокая разрешающая способность? 10.3. Строение цифроаналогового преобразователя Существует несколько методов и, следовательно, видов схем по преобразованию цифровых сигналов в аналоговые. Мы рассмотрим лишь простейшие из них, чтобы в общих чертах ознакомиться с принципами построения таких систем. Не обязательно в точности знать, как устроены все схемы цифроаналоговых преобразователей, по- скольку многие из них доступны на базе интегральных схем или в герметизирован- ных корпусах, поэтому главное — понять не строение, а область применения и рабо- чие характеристики таких микросхем, чтобы правильно их использозать. Техниче- ские характеристики ЦАП рассмотрены в разделе 10.4. На рис. 10.6, а показана общая схема одного из типичных четырехбитовых ЦАП. На входы А, В, С и D подаются двоичные коды, а напряжения на этих входах могут изменяться от 0 до 5 В. В качестве суммирующего усилителя применяется операци онный усилитель, на выходе которого формируется взвешенная сумма входных на- пряжений. Необходимо отметить, что суммирующий усилитель умножает уровни на- пряжения на каждом входе на отношение сопротивления резистора обратной связи Rv к сопротивлениям соответствующих резисторов Явх, подключенных к этим вхо- дам. В данной схеме R? = 1 кОм, а значения сопротивлений входных резисторов со- ставляют от 1 до 8 кОм. Резистор на входе D имеет сопротивление номиналом /?вх = = 1 кОм, поэтому напряжение с этого входа проходит через суммирующий усилитель без ослабления. Ко входу С подключено сопротивление /?вх = 2 кОм, поэтому напря- жение, поданное на этот вход, будет ослаблено в 2 раза. Аналогично, напряжение на входе В будет ослаблено с коэффициентом V2» а на входе А — с коэффициентом ’/4- Сигнал с выхода усилителя можно выразить следующим уравнением: IW = ~(VD + 72Vc + 7Л + '/eVA). (10.5) Знак в правой части выражения показывает, что суммирующий усилитель инвер- тирует выходной сигнал. В данном разделе это свойство усилителя не рассматривается. Сигнал с выхода суммирующего усилителя представляет собой аналоговое напря- жение, которое можно выразить в виде взвешенной суммы битов цифрового кода, как показано в таблице на рис. 10.6, б. В таблице указаны все возможные входные состояния и соответствующие им значения выходных напряжений. Для любого со- стояния входов суммарный сигнал на выходе можно легко рассчитать, зная, какой уровень был подан на каждый вход (0 или 5 В). Например, если на вход был подан цифровой сигнал 1010, то VD = VR = 5 В и Vc = 1тл = 0 В. Таким образом, используя уравнение 10.5, можно записать: ^вых = -(5 В + 0 В + 74 х 5 В + 0 В) = = -6,25 В. 692 Глава 10
Входной код б) Рис. 10.6. Простейший ЦАП на основе суммирующего усилителя (операционный усили- тель) с весовыми резисторами Разрядность данного цифроаналогового преобразователя равняется весу МЗБ и со- ставляет % х 5 В = -6,25 В. Как видно из таблицы, напряжение аналогового сигнала увеличивается на 0,625 В с каждым изменением входного двоичного кода на едини- цу. Пример 10.8 а) Определите вес каждого бита на входах ЦАП (рис. 10.6, а). б) Замените сопротивление jRf на рисунке резистором с номиналом 250 Ом и опреде- лите величину полномасштабного выходного сигнала. Решение а) Старший значащий бит проходит на выход с коэффициентом усиления, равным 1, поэтому его вес равен 5 В. Отсюда, старший значащий бит -> 5 В; второй бит -> 2,5 В; третий бит -> 1,25 В; четвертый бит (младший значащий бит) —> 0,625 В. б) Если уменьшить сопротивление BF в четыре раза (до 250 Ом), то веса входных би- гов также уменьшатся в четыре раза. Таким сбразом, величина полномасштабного выходного сигнала уменьшится во столько же раз и составит -9,375/4 = -2,344 В. Очевидно, что значения входных сопротивлений, показанные на рис. 10.6, имеют двоичное соотношение весов, т.е. начиная с резистора, соответствующего входу СЗБ, значение сопротивления каждого последующего резистора увеличивается вдвое. Бла- годаря такому изменению номиналов резисторов на выходе получаем выходной сиг- нал требуемой величины. Сопряжение с аналоговым миром 693
Точность преобразования В таблице, приведенной на рис. 10.6, б, даны идеальные значения напряжения Увь:х для входных кодовых комбинаций. То, насколько они соответствуют реальным значениям, в первую очередь зависит от двух основных факторов: а) точности изго- товления входных резисторов и резистора обратной связи и б) точности подаваемых на вход ЦАП уровней напряжения. В настоящее время с помощью подгонки стало возможным очень точное изготовление резисторов (вплоть до точности 0,01% от ука- занного номинала), но необходимо придумать и другие методы для борьбы с погреш- ностями напряжений. Цифровые коды не могут подаваться непосредственно с выхо- дов триггеров или логических элементов, потому что выходные уровни напряжения таких устройств не отвечают требованиям точности и не равняются конкретно 0 или 5 В, а лишь лежат в определенном диапазоне значений. По этой причине между вхо- дами и входными резисторами необходимо вводить дополнительные схемные элемен- ты, как это показано на рис. 10.7. Логические входы Рис. 10.7. Полная схема четырехбитового ЦАП с прецизионным источником опорного на- пряжения Сигнал, поступающий на каждый цифровой вход, управляет полупроводниковым ключом, например, передаточным логическим элементом на КМОП (см. главу 8). Ко- гда на вход подается сигнал с высоким уровнем напряжения, ключ замыкается и подключает ко входному резистору прецизионный, источник опорного напряжения; когда подается сигнал с низким уровнем, то ключ разомкнут. Прецизионный источ- ник опорного напряжения формирует очень стабильное, прецизионное напряжение, необходимое для формирования точных уровней аналоговых сигналов. * Например, лазерным лучом — Прим, перев. 694 Глава 10
ЦАП с выходом по току На рис. 10.8 показана простейшая схема формирования аналогового сигнала по току, пропорционального поданному на вход коду. Приведенная схема представляет собой четырехбитовый ЦАП с весами резисторов, которые распределены в виде дво- ичных разрядов. Мы видим четыре параллельных проводника, каждый из которых управляется полупроводниковым ключом (например, передаточным логическим эле- ментом на КМОП). Состояние каждого такого, ключа управляется логическими уров- нями напряжения на двоичных входах схемы. Ток, протекающий по каждому из проводников, определяется напряжением прецизионного источника ГоП и точностью изготовления прецизионного резистора, включенного в данный участок схемы. Веса резисторов распределены двоичным образом, поэтому и токи, протекающие через от- дельные участки цепи, также имеют распределенные двоично веса, а общий ток /вых представляет собой сумму отдельных значений тока. В участок схемы, на который подается входной ток, соответствующий старшему значащему биту, включен рези- стор R с наименьшим сопротивлением; в следующий участок цепи подключен рези- стор с вдвое большим значением сопротивления и т.д. Выходной ток обычно проте- кает через нагрузочный резистор RL, сопротивление которого берется намного мень- шим, чем сопротивление R, в результате током через R можно пренебречь. В идеале, jRl должно представлять собой короткое замыкание на землю. +Von ’Ключ замыкается, когда бит на входе -1 Двоичные входы (0 или 1) 'вых - Вгх1э + Вг х-^+ где 10= а) Рис. 10.8. а) Простейший ЦАП с выходным, сигналом, оцениваемым по току; б) опе- рационный усилитель, работающий в качестве преобразователя ток-напряжение Сопряжение с аналоговым миром 695
Пример 10.9 Предположим, что Von = 10 В, а В = 10 кОм. Определите разрешающую способность и величину полномасштабного выходного сигнала для такого цифроаналогового пре- образователя. Пусть значение Bl намного меньше, чем R. Решение /вых = *оп/Я — 1 мА. Итак, вес старшего значащего бита известен. Токи через ос- тальные участки будут равны, соответственно, 0,5; 0,25 и 0,125 мА. Вес младшего значащего бита составляет 0,125 мА, и он же равен разрешающей способности ЦАП. На выходе получаем полномасштабный выходной сигнал тогда, когда двоичные вхо- ды находятся в состояниях с высокими уровнями, так что все ключи замкнуты и /вых = 1 + 0,5 + 0,25 + 0,125 = 1,875 мА. Обратите внимание, что выходной ток пропорционален величине опорного напряже- ния Иоп. Если увеличить или уменьшить это значение, то разрешающая способность и полномасштабный выходной сигнал изменятся пропорционально такому изменению. Чтобы значение /вых Действительно соответствовало рассчитанному, сопротивле- ние BL должно представлять собой короткое замыкание на землю. Один из способов реализовать подобную конструкцию состоит в использовании операционного усили- теля в качестве преобразователя ток-напряжение, как показано на рис. 10.8, б. Здесь сигнал /Вых с ЦАП подается на вход операционного усилителя, который по су- ществу представляет собой точку с нулевым потенциалом. Обратная связь усилителя приводит к тому, что через сопротивление RF течет ток, равный ГВых> в результате на выходе схемы появляется напряжение Увых = -/вых х Яг- Таким образом, напряже- ние ИВых будет представлять собой аналоговый сигнал, пропорциональный двоично- му коду на входе ЦАП. С помощью этого сигнала можно управлять любыми нагруз- ками без риска перегрузки. Резистивная цепь типа R/2R Схемы цифроаналоговых преобразователей, рассмотренные ранее, имели резисто- ры, сопротивления которых были распределены двоичным образом, т.е. необходимо было правильно соотнести веса различных битов теоретически. Данный способ безу- пречен, но на практике он имеет некоторые ограничения. Существенную проблему представляет разница между значениями резисторов, включенных в цепи младшего и старшего значащих битов; особенно это актуально для ЦАП с большой разрядно- стью. Например, если в 12-битовом ЦАП резистор участка, соответствующего стар- шему значащему биту, имеет сопротивление 1 кОм, то резистор участка, соответст- вующего младшему значащему биту, должен иметь сопротивление порядка 2 МОм. Современная технология изготовления интегральных схем не обладает достаточными возможностями по созданию резисторов со столь большим разбросом сопротивлений, которые должны иметь точно соответствующие друг другу значения несмотря на пе- репады температуры. По этой причине более удобно обращаться со схемой, сопротивления резисторов которой достаточно точно приближаются к требуемым. Один из наиболее часто ис- пользуемых в ЦАП видов схем, который удовлетворяет перечисленным выше усло- виям, — резистивная цепь типа R/2R, сопротивления элементов которой относятся друг к другу как 2 к 1. Один такой ЦАП показан на рис. 10.9. Обратите внимание на то, как включены в цепь отдельные резисторы. Особо же следует отметить тот факт, что в данной схеме применяются только резисторы с двумя значениями сопротивлений: R и 2R. Ток /вых зависит от положений переклю- чателей, которыми, в свою очередь, управляют состояния на входах В3, В2, Bj и Во. Этот ток протекает через операционный усилитель, выполняющий функцию преобра- 696 Глава 10
зователя ток-напряжение, и формирует напряжение Увых, значение которого выра- жается по формуле: ^вых = -8я1 * Б- (Ю.6) где В — величина входного кода, которая может принимать значения от 0000 (0) до 1111 (15). Рис. 10.9. Простейший ЦАП, использующий резистивную цепь типа R/2R Пример 10.10 Пусть для ЦАП, изображенного на рис. 10.9, Иоп = 5 В. Какую разрешающую спо- собность и величину полномасштабного выходного сигнала имеет данный преобразо- ватель? Решение Разрешающая способность равняется весу младшего значащего бита, который можно определить, положив В = 0001 = 1 в уравнении 10.6: разрешающая способность =-п---= -0,625 В. Полномасштабный выходной сигнал найдем, взяв В = 1111 = 1510. Снова используя уравнение 10.6, получим: „ „ -5 В х 15 полномасштабный сигнал =---б---- = -9,375 В. Контрольные вопросы 1. Какое преимущество имеет ЦАП с резистивной цепью типа R/2R по сравнению с ЦАП на резисторах с весами, распределенными двоичным методом? । 2. Некоторый шестибитовый ЦАП использует резисторы, веса которых распреде- лены двоичным образом. Определите значение сопротивления резистора, вклю- ченного в цепь, соответствующую младшему значащему биту, если в цепь старшего значащего бита включен резистор с номиналом 20 кОм. Сопряжение с аналоговым миром 697
3. Найдите разрешающую способность ЦАП, изображенного на рис. 10.6, если со- противление Ар заменить сопротивлением 800 Ом. 4. Как изменятся разрешающая способность и полномасштабный выходной сиг- нал цифроаналогового преобразователя, если напряжение Коп увеличить на 20% ? 10.4. Характеристики цифроаналоговых преобразователей В настоящее время широкий спектр цифроаналоговых преобразователей доступен на основе интегральных схем или герметизированных микросхем. Следует ознако- миться с наиболее важными характеристиками таких ЦАП, чтобы уметь правильно пользоваться ими в конкретных приложениях. Разрешающая способность Процентная разрядность ЦАП зависит исключительно от числа бит, поэтому фирмы-производители обычно указывают разрядность ЦАП как количество бит. 10- битовый ЦАП имеет более высокую разрешающую способность, чем 8-битовый пре- образователь. Точность Производители ЦАП указывают на точность устройств несколькими различными способами. Наиболее распространенные указания — это погрешности максимального показания (т.е. полномасштабного сигнала) и погрешности вследствие нелинейности выходного сигнала. Обычно обе погрешности выражаются как процентное отношение к величине полномасштабного сигнала (% п.с.). Погрешность максимального показания выражает наибольшее отклонение сигнала на выходе ЦАП от ожидаемой (идеальной) характеристики. Например, пусть ЦАП, изображенный на рис. 10.6, имеет точность, равную 0,01% п.с. Поскольку полно- масштабный выходной сигнал данного преобразователя имеет величину, равную 9,375 В, то процент можно выразить так: ± 0,01% х 9,375 В = ± 0,9375 мВ. Это значит, что выходной сигнал такого цифроаналогового преобразователя в лю- бой момент времени может отклоняться от ожидаемого значения на 0,9375 мВ. Погрешность вследствие нелинейности представляет собой максимальное откло- нение величины шага от идеального значения этой величины. Пусть, например, ЦАП, показанный на рис. 10.6, имеет ожидаемую величину шага 0,625 В. Если по- грешность вследствие нелинейности данного преобразователя составляет ±0,01% п.с., то это будет означать, что реальная величина шага квантования может быть больше или меньше на 0,9375 мВ. Важно понять, что точность и разрядность ЦАП должны иметь общий порядок. Было бы нелогично иметь разрядность, скажем, 1% и точность 0,1% и наоборот. Чтобы проиллюстрировать сказанное, возьмем ЦАП с разрешающей способностью 1% и величиной полномасштабного сигнала 10 В. Такой преобразователь формирует аналоговый выходной сигнал, напряжение которого может отклоняться от ожидае- мого значения на 0,1 В, т.е. он обладает практически совершенной точностью. Нет никакого смысла иметь точность 0,01% полномасштабного сигнала (0,01 мВ), что со- провождается заметным увеличением стоимости устройства — ведь при этом уже 698 Глава 10
разрешающая способность будет ограничивать приближение реальных характеристик к требуемым с погрешностью 0,1 В. То же можно сказать и относительно отличной разрядности (множества битов), если преобразователь имеет низкую точность; такой ЦАП будет лишь понапрасну обрабатывать лишние входные биты. Пример 10.11 Некоторый 8-битовый ЦАП имеет величину полномасштабного выходного сигнала, равную 2 мА, и погрешность максимального показания, составляющую ±0,5% п.с. Определите диапазон возможных значений тока на выходе преобразователя, если на вход был подан код 10000000. Решение Величина шага квантования равна 2 мА/255 = 7,84 мкА. Так как 10000000 = 12810, то идеальный выходной сигнал должен иметь амплитуду 128 х 7,84 мкА = 1004 мкА. Погрешность составит ±0,5% х 2 мА = ± 10 мкА. Таким образом, реальная величина выходного сигнала может отличаться от ожидае- мой (1004 мкА) на 10 мкА, т.е. максимальное значение тока на выходе ЦАП может лежать в диапазоне от 994 до 1014 мкА. Погрешность смещения нуля В идеале, когда на двоичные входы цифроаналогового преобразователя подаются одни нули, то на выходе должен установиться сигнал с напряжением 0 В. Однако на практике даже в этом случае наблюдается хоть и незначительный, но ненулевой вы- ходной сигнал; это называется погрешностью смещения нуля. Если не скомпенсиро- вать эту погрешность, то ее величина будет складываться с величиной выходного сигнала для всех входных кодов. Пусть, например, некоторый четырехбитовый ЦАП имеет погрешность смещения +2 мВ и идеальную величину шага, равную 100 мВ. Идеальные и реальные величины выходного сигнала ЦАП для нескольких кодовых комбинаций приведены в табл. 10.3. Обратите внимание, что во всех случаях реаль- ный выходной сигнал на 2 мВ больше, чем ожидаемое значение; именно так прояв- ляется данная погрешность. К сказанному следует также добавить, что погрешность может быть как положительной, так и отрицательной. Таблица 10.3 т Входной код Идеальный выходной сигнал, мВ Реальный выходной сигнал, мВ 00G0 0 2 0001 100 102 1000 800 802 1111 1500 1502 Многие ЦАП имеют внешние схемы подстройки напряжения смещения, которые позволяют компенсировать погрешность, обычно подавая на все входы преобразова- теля нули и выставляя на выходе нулевое значение. Для этого с помощью регули- ровки потенциометра подстройки смещения добиваются того, чтобы сигнал на вы- ходе был как можно ближе к 0 В. Сопряжение с аналоговым миром 699
Время установления сигнала Скорость работы ЦАП обычно определяется временем установления сигнала. Этот параметр показывает, сколько времени необходимо, чтобы сигнал с выхода ЦАП мог измениться от нуля до полномасштабного значения в ответ на изменение входных кодов от всех О до всех 1. На практике время установления измеряют как время, ко- торое понадобится данному цифроаналоговому преобразователю, чтобы выходной сигнал установился в пределах ±1/2 величины шага (разрешающей способности) от конечного значения. Например, если ЦАП имеет разрядность 10 мВ, то время уста- новления равно времени, которое потребуется для того, чтобы величина выходного сигнала изменилась на 5 мВ относительно величины полномасштабного сигнала. Типичные значения времени установления для разных ЦАП могут составлять от 50 нс до 10 мкс. Преобразователи с токовым выходом обычно имеют более короткие времена установления, чем с выходами по напряжению. Скажем, ЦАП DAC1280 может функционировать как в режиме выхода по току, так и в режиме выхода по напряжению. В первом случае время установления равно 300 нс, а во втором — 2,5 мкс. Основная причина такой разницы лежит в величине времени отклика опе- рационного усилителя, который используется в качестве преобразователя ток- напряжение. Монотонность ЦАП называется монотонным, если его выходной сигнал возрастает при увеличе- нии двоичного числа, поданного на его входы. Такую работу цифроаналогового пре- образователя можно представить в виде ступенчатой функции, не имеющей спусков вниз; при этом по оси абсцисс размещаются кодовые комбинации, которые возраста- ют от нуля до полномасштабного напряжения слева направо. Контрольные вопросы - 1. Дайте определение погрешности максимального показания. 2. Что такое время установления? 3. Дайте определение погрешности смещения нуля и поясните ее влияние на вы- ходной сигнал цифроаналогового преобразователя. 4. Почему ЦАП с выходом по напряжению обычно работает медленнее, чем ЦАП с выходом по току? 10.5. Цифроаналоговые преобразователи на интегральных схемах Интегральная схема AD7524, выполненная по КМОП-технологии, доступна сразу от нескольких фирм-производителей и представляет собой 8-битовый цифроаналого- вый преобразователь с резистивной цепью типа R/2R. Символ, которым обозначается данный ЦАП, показан на рис. 10.10, а. Устройство имеет 8-битовый вход, который может фиксировать полученный входной сигнал под управлением сигнала выбора микросхемы (CS) и сигнала записи (VTR). Если на обоих соответствующих входах наблюдаются низкие уровни напряжения, то поступивший на цифровой вход код Z>7 - Dq сформирует на выходе OUT1 аналоговый токовый сигнал (выход OUT2 700 Глава 10
обычно заземлен). Если же хоть на одном из указанных выше управляющих входов установится высокий уровень сигнала, то входные данные будут зафиксированы, так как аналоговый сигнал на выходе ЦАП останется на уровне, который будет соответ- ствовать зафиксированным входным данным. В таком состоянии последовательное изменение входных битов не будет оказывать никакого влияния на сигнал OUT1. Рис. 10.10. а) Восьмибитовый ЦАП на ИС AD7524 имеет вход с регистром защелкой; б) ИС AD7524, подключенная для формирования аналогового напряжения в диапазоне от 0 до при- близительно -10 В Максимальное время установления для ИС AD7524 обычно составляет около 100 нс, а точность при формировании полномасштабного сигнала оценивается в 0,2% п.с. Величина опорного напряжения ИОп может быть как положительной, так и отрица- тельной, и по абсолютной величине принимать значения от 0 до 25 В. Соответствен- но, и аналоговый сигнал на выходе также может иметь любую полярность. Выход- ной ток можно преобразовать в напряжение с помощью операционного усилителя, как показано на рис. 10.10, б. Обратите внимание на тот факт, что резистор обратной связи операционного усилителя выполнен прямо в составе микросхемы ЦАП. 10.6. Применение цифроаналоговых преобразователей ЦАП часто используются там, где сигнал с выхода цифровой схемы должен быть преобразован в аналоговое напряжение или ток, которые управляют работой какого- либо аналогового устройства. Ниже описаны наиболее часто используемые области применения цифроаналоговых преобразователей. Управление Цифровой выходной сигнал, вырабатываемый на выходе компьютера, может быть преобразован в аналоговый сигнал, который будет управлять, например, скоростью мотора, температурой нагревателя или контролировать какую-то другую физическую переменную. Сопряжение с аналоговым миром 701
Автоматический контроль Компьютеры могут быть запрограммированы для управления аналоговыми сигна- лами (посредством ЦАП), которые подаются на аналоговые схемы для их контроля. Сигнал, который снимается с выхода испытываемой схемы в ответ на входное воз- действие, может быть легко оцифрован с помощью АЦП и подан на компьютер, где происходит его обработка, анализ и отображение. Восстановление сигнала Во многих практических приложениях требуется оцифровать аналоговый сигнал, т.е. преобразовать последовательно взятые значения (отсчеты) в цифровые эквива- ленты и сохранить их в памяти. Такое преобразование осуществляется с помощью аналого-цифрового преобразователя (АЦП). Затем можно использовать ЦАП для об- ратного перекодирования оцифрованных данных в аналоговую форму, и таким обра- зом восстановить исходный сигнал. Комбинация оцифровки и восстановления сигна- ла используется в цифровых запоминающих осциллографах, аудиосистемах воспро- изведения компакт-дисков, а также при цифровой аудио- и видеозаписи. Эти области обработки информации будут рассмотрены позже. Аналого-цифровое преобразование Некоторые типы АПП используют встроенные ЦАП в качестве составной части. Подобное строение схем описано в разделе 10.8. ЦАП с последовательной передачей данных Многие из областей практического применения цифроаналоговых преобразовате- лей включают использование микропроцессоров. Основная проблема, которая касает- ся ЦАП с параллельной передачей данных, состоит в том, что эти устройства зани- мают слишком много портов микропроцессора. В случае, если скорость передачи данных не имеет существенного значения, на выходе микропроцессора может быть сформирован цифровой сигнал, который можно подать на ЦАП в последовательном виде. Последовательные ЦАП широко доступны и часто имеют встроенный регистр сдвига данных; в результате данные поступают на ЦАП в последовательной форме, а снимаются в параллельной. Иногда подобные микросхемы имеют сразу несколько ЦАП на борту. Цифровые данные и код, который показывает, какому из ЦАП адре- сованы эти данные, поступают на входы ИС в последовательной форме, т.е. по одно- му биту за единицу времени. Как только очередной бит появляется на входе цифроа- налогового преобразователя, на вход синхронизации подается импульс, который сдвигает бит и тем самым начинает его обработку. После обработки определенного числа импульсов синхронизации значение данных фиксируется и преобразовывается в аналоговую величину. 10.7. Поиск неисправностей в цифроаналоговых преобразователях • Цифроаналоговые преобразователи — это устройства, включающие как цифровые, так и аналоговые элементы. На цифровых входах можно использовать логические пробники и импульсные генераторы функций, на аналоговом же выходе следует применять аналоговые измерительные приборы или осциллограф. В общем случае, 702 Глава 10
можно выделить два пути испытания работоспособности схем с ЦАП: тест стати- ческой точности и тест ступенчатой функции. Тест статической точности включает процедуру установки на двоичных входах фиксированного значения и измерения выходного аналогового сигнала высокоточ- ным вольтметром или амперметром. Этот тест проводится с целью проверки согласо- вания выходного значения с ожидаемым значением из указанного диапазона точно- сти для данного ЦАП. Если значение сигнала на выходе превышает пределы уста- новленного диапазона, в этом случае можно выделить несколько возможных причин такой неисправности. Приведем некоторые из них: Дрейф номиналов внутренних компонентов ЦАП (например, дрейф сопротивле- ний резисторов) под воздействием температуры, процессов старения или других факторов. Такое изменение параметров может запросто привести к появлению на выходе устройства значений, выходящих за пределы установленного диапазона. Разомкнутые или накоротко замкнутые двоичные входы. В результате разрыва цепи сигнал с какого-то входа может не поступить на устройство, следовательно, в общем выходном сигнале будет отсутствовать вес этого разряда. Если же про- изойдет замыкание, то в аналоговом выходном сигнале постоянно будет присут- ствовать вес какого-то конкретного разряда. Сложность определения таких си- туаций зависит от старшинства разрядов, в которых происходит сбой. Неисправный источник опорного напряжения. Так как амплитуда выходного сигнала напрямую зависит от напряжения УОп» то легко можно получить резуль- таты, которые идут вразрез к предполагаемому диапазону возможных значений напряжений или токов. В тех случаях, когда источник опорного напряжения является внешним по отношению к микросхеме цифроаналогового преобразова- теля, опорное напряжение легко проверить с помощью цифрового вольтметра, но в случае, если этот источник интегрирован на плату, проверка значительно ус- ложняется. Исключение составляют только те интегральные схемы, в которых опорное напряжение выведено на специальный вывод. Слишком большая погрешность смещения нуля, вызванная процессами старения или влиянием температуры. Данная погрешность приводит к тому, что реаль- ный выходной сигнал все время отличается от ожидаемого на постоянную вели- чину. Если ЦАП имеет внешнюю схему подстройки смещения, то такую ошибку легко устранить, но изменение рабочих температур может опять привести к се повторному появлению. Тест ступенчатой функции применяется для проверки монотонности цифроанало- гового преобразователя, т.е. в его ходе мы проверяем соответствие последовательного увеличения ступенчатой функции на выходе ЦАП последовательному увеличению двоичного входного кода (см. рис. 10.3). Ступени полученной функции должны иметь одинаковый шаг; кроме того, не должно быть пропущенных ступеней или уча- стков, на которых функция уменьшается, а не увеличивается. Этот тест выявляет те внутренние или внешние неполадки ЦАП, которые влияют на входные сигналы и приводят к появлению в выходной функции неправильных участков. Данный тест проиллюстрирован следующим примером. Пример 10.12 Нарисуйте форму выходной ступенчатой функции, если вход С ЦАП (рис. 10.3) ока- зался разомкнут. Все входы данного преобразователя являются ТТЛ-совместимыми. Решение Размыкание цепи на входе С ЦАП для ТГЛ-входа будет интерпретировано схемой как постоянная логическая 1. Таким образом, в результате к выходному сигналу будет при- бавляться постоянный уровень 4 В, можно снять следующую функцию (см. рис. 10.11). Штриховой линией показана ожидаемая ступенчатая функция. Обратите внимание, что полученная функция совпадает с ожидаемой для тех входных кодов, для которых в нор- мальном состоянии на вход С должен подаваться высокий уровень напряжения. Сопряжение с аналоговым миром 703
Рис. 10.11. Пример 10.12. 10.8. Аналого-цифровое преобразование Аналого-цифровым преобразователем (АЦП) называется устройство, которое преобразует аналоговый входной сигнал в цифровой код, соответствующий этому сигналу. Процесс аналого-цифрового преобразования обычно более сложный и зани- мает больше времени, чем цифроаналоговое преобразование; кроме того, существует достаточно много различных методов выполнения этой операции. Мы изучим неко- торые из них, поскольку читателю, возможно, и не понадобится разрабатывать или конструировать АЦП (они обычно поставляются на интегральных схемах). Далее, по мере рассмотрения принципов работы аналого-цифровых преобразователей станет ясно, какие факторы определяют их производительность и свойства. В некоторых широко применяемых типах АЦП используются ЦАП, которые яв- ляются составной частью такого устройства. На рис. 10.12 показана функциональная схема этого класса преобразователей. Согласование во времени обеспечивается внеш- ним сигналом синхронизации. Устройство управления содержит схемные элементы, с помощью которых происходит формирование заданной последовательности опера- ций в ответ на импульс запуска (START COMMAND), поступление которого начинает процесс преобразования. Компаратор на операционном усилителе имеет два аналого- вых входа и один цифровой выход, состояние которого зависит от того, какой из по- данных аналоговых сигналов больше. Процесс работы такого аналого-цифрового преобразователя можно описать в не- сколько этапов: 1. Импульс запуска (START COMMAND) начинает работу схемы. 2. Устройство управления со скоростью, определяемой частотой сигнала синхрониза- ции, последовательно изменяет двоичные числа, которые поступают на регистр. 704 Глава 10
Аналоговый входной Запуск импульсы Результат в цифровом виде Рис. 10.12. Функциональная схема одного из классов аналого-цифровых преобразователей Конец преобразования 3. Двоичное число из регистра преобразуется с помощью ЦАП в аналоговое напря- жение Удх. 4. Компаратор сравнивает величину напряжения Удх с аналоговым напряжением VA. Пока Рдх < VA, с выхода компаратора снимается сигнал с высоким уровнем напряжения. Если же Удх превысит VA на напряжение, равное пороговому (Ут), то на выходе компаратора установится сигнал с низким уровнем, который оста- новит процесс записи чисел в регистр. В этой точке напряжение Удх будет при- близительно равно напряжению VA. Число, записанное в регистр непосредственно перед этой операцией сравнения, будет представлять собой цифровой эквивалент VA, с погрешностью, которая определяется разрядностью и точностью системы. 5. Устройство управления формирует сигнал окончания преобразования (ЕОС), ко- торый показывает, что преобразование выполнено. Вариации этой схемы аналого-цифрового преобразования могут отличаться только способом, которым устройство управления изменяет числа, записываемые в регистр. Однако все основные принципы преобразования останутся теми же, а число, соответ- ствующее цифровой величине напряжения, всегда снимается с запоминающего реги- стра после окончания процесса преобразования. Контрольные вопросы । 1. Каково назначение компаратора в аналого-цифровом преобразователе? I 2. Где находится приблизительный цифровой эквивалент напряжения VA, когда процесс преобразования завершается? 3. Какое предназначение имеет сигнал ЕОС*! Сопряжение с аналоговым миром 705
10.9. Интегрирующие аналого-цифровые преобразователи Структура одного из наиболее простых классов АЦП показана на рис. 10.12. В таких преобразователях в качестве регистра используется двоичный счетчик, со- стояния которого последовательно изменяются под воздействием сигнала синхрони- зации до тех пор, пока напряжение Гдх не станет больше или равно УА. Такие анало- го-цифровые преобразователи называются интегрирующими, поскольку форма сиг- нала Удх представляет собой пилообразную функцию (фактически это та же ступенчатая функция, которая имеет очень малый шаг квантования), подобную той, что показана на рис. 10.3. Такие АЦП иногда еще называют накапливающими. На рис. 10.13 показана функциональная схема интегрирующего АЦП. Преобразо- ватель содержит счетчик, ЦАП, аналоговый компаратор и управляющий элемент И. Сигнал с выхода компаратора служит сигналом окончания преобразования (ЕОС), активным для него будет низкий уровень напряжения. Если предположить, что ана- логовое напряжение VAr которое нужно преобразовать в цифровой сигнал, будет по- ложительным, то получится следующая процедура преобразования: ЕОС Результат в цифровом — виде а) RESET Тактовые импульсы „ CLOCK Счетчик < <---- ЕОС Время б) Запуск Рис. 10.13. Интегрирующий аналого-цифровой преобразователь 1. Импульс запуска (START), который подается на счетчик, сбрасывает счетчик в 0. Высокий уровень напряжения этого импульса запрещает также сигналу синхро- низации проходить через элемент И на счетчик. 2. Поскольку на всех входах ЦАП наблюдаются нулевые состояния, на его выходе также получим Тдх = 0. 706 ГЛАВА 10
3. Так как VA > VAX, сигнал с выхода компаратора ЕОС будет иметь высокий уро- вень. 4. Как только сигнал START возвращается в состояние с низким уровнем напряже- ния, элемент И начинает пропускать импульсы синхронизации на счетчик. 5. Счетчик начинает последовательно менять свои состояния, и при этом сигнал Удх на выходе ЦАП постепенно увеличивается, как показано на рис. 10.13, б. 6. Процесс продолжается до тех пор, пока напряжение Рдх не достигает значения, которое превышает ГА на величину, равную или большую, чем пороговое напря- жение VT (обычно от 10 до 100 мкВ). В этой точке сигнал ЕОС переходит в со- стояние с низким уровнем напряжения и запрещает прохождение импульсов синхронизации на счетчик, в результате чего тот перестает считать. 7. Итак, процесс преобразования завершен, о чем говорит спад импульса ЕОС, а содержимое счетчика представляет собой цифровой эквивалент аналогового на- пряжения VA. 8. Счетчик будет содержать цифровое значение напряжения до тех пор, пока новый импульс запуска (START) не запустит новый цикл преобразования еще раз. Пример 10.13А Зададим начальные условия для схемы АЦП, показанной на рис. 10.13: частота сиг- нала синхронизации — 1 МГц; пороговое напряжение VT = 0,1 мВ; величина полно- масштабного сигнала ЦАП = 10,23 В; разрядность ЦАП = 10 бит. Определите сле- дующие величины: а) цифровой эквивалент напряжения VA = 3,728 В; б) длительность преобразования; в) разрешающая способность преобразователя. Решение а) Данный ЦАП имеет 10-битовый вход и п.с., равный 10,23 В. Таким образом, об- щее количество шагов квантования составляет 2В * 10 - 1 = 1023, а.величина шага равна Это значит, что при последовательной смене состояний счетчика напряжение Уду увеличивается с шагом 10 мВ. Так как искомое напряжение VA = 3,728 В, a VT = = 0,1 мВ, то сигнал ГЛХ должен достичь величины 3,7281 (или большей) до того, как на выходе компаратора установится сигнал с низким уровнем напряжения. На это потребуется 3,7281 В ________ _____ ' 10 мВ “ 3/2, 81 = 373 шага. В конце преобразования счетчик будет содержать двоичный эквивалент числа 373, т.е. 0101110101. Это и есть требуемый цифровой эквивалент аналогового на- пряжения РА = 3,728 В. б) Для завершения преобразования потребовалось 373 шага, каждый из них длится около 1 мкс. Таким образом, процесс длился 373 мкс. в) Разрешающая способность преобразователя равна величине шага квантования ЦАП, которая составляет в данном случае 10 мВ. В процентах это будет 1/1023 х х 100% « 0,1%. Сопряжение с аналоговым миром 707
Пример 10.13Б Для ЦАП из примера 10.13А определите приблизительный диапазон входных анало- говых напряжений, которые приведут к формированию одного и того же цифрового результата: 01011101012 = 37310. Решение В табл. 10.4 показан идеальный сигнал с выхода ЦАП на участке около 373-го шага. Если напряжение VA будет чуть меньше, чем 3,72 В (на величину, меньшую VT), то сигнал ЕОС не перейдет на низкий логический уровень, когда величина Удх достиг- нет шага с напряжением 3,72 В; сигнал перейдет на низкий уровень, когда Удх дос- тигнет шага 3,73 В. Если же величина УА будет немного меньше, чем 3,73 В (опять же, на величину < Ут), то сигнал ЕОС не перейдет на низкий логический уровень, пока величина V^x не достигнет шага с напряжением 3,74 В. Таким образом, как только VA будет лежать в диапазоне напряжений между 3,72 и 3,73 В, сигнал ЕОС перейдет на низкий уровень, когда достигнет шага 3,73 В. Точный диапазон зна- чений VA будет таким: от величины 3,72 В - VT до величины 3,73 В - VT, но поскольку напряжение VT очень незначительно, то можно сказать, что искомый диапазон приблизительно лежит в пределах от 3,72 до 3,73 В, т.е. ширина диапазона составляет 10 мВ, что равно разрешающей способности данного ЦАП. Все сказанное выше проиллюстрировано на рис. 10.14. Таблица 10.4 Шаг____________________________________У/ах, В_________________________________________________ 371 3,71 372 3,72 373 3,73 374 3,74 375 3,75 цифровой выходной сигнал = 37310 Рис. 10.14. Пример 10.1 ЗБ 708 Глава 10
Разрешающая способность и точность аналого-цифровых преобразователей Очень важно знать виды ошибок, связанных с любыми измерительными процес- сами. Постоянным источником погрешностей интегрирующего метода аналого- цифрового преобразования является тот факт, что разрешающая способность или ве- личина шага квантования АЦП, которая представляет собой наименьшую величину измерения, определяется соответствующим параметром встроенного ЦАП. Пред- ставьте себе, что кто-то пробует измерить рост баскетболистов с помощью 30- сантиметровой линейки без делений. Если указывать рост только целым количеством таких линеек и при этом округлять его в сторону увеличения, то окажется, что все игроки, чей рост превышает 1,8 м, будут записаны как 2-метровые великаны! Точно так же и выходное напряжение Удх представляет собой ступенчатую функцию, кото- рая дискретно возрастает до тех пор, пока не превысит входной сигнал VA. Уменьшая величину шага квантования, можно уменьшить погрешность, но между реальной (аналоговой) величиной и полученным цифровым значением всегда будет небольшая разница. Этот вид ошибки называется погрешностью квантования. Итак, величина Удх — это лишь приближение к значению, поэтому что касается VA, рассмотренного в предыдущих примерах АЦП, можно ожидать, что в лучшем случае эти два напря- жения будут отличаться не более чем на 10 мВ, так как это соответствует величине шага квантования встроенного ЦАП. Погрешность квантования, которая может быть уменьшена с помощью увеличения разрядности счетчика и ЦАП, иногда еще назы- вают погрешностью младшего значащего бита с коэффициентом +1, указывая на то, что результат может отклоняться от истинного значения на величину, равную весу младшего разряда. В упражнении 10.28 показано, как можно привести эту погреш- ность к половине веса младшего бита’с коэффициентом ±1/2. Посмотрим на проблему точности с другой стороны. Входной сигнал VA может принимать бесконечное число значений из диапазона от 0 В до п.с. Приближенное значение Удх, однако, может принимать только ограниченное число дискретных зна- чений, т.е. какой-то небольшой диапазон аналоговых значений VA имеет одно и то же фиксированное дискретное значение, которое соответствует этому диапазону. В при- мере 10.13Б значения сигнала VA от «3,72 В до «3,73 В соответствовали величине 373 шага квантования, т.е. одному цифровому результату. Другими словами, напряже- ние VA должно измениться как минимум на 10 мВ (величина разрешающей способ- ности), чтобы схема могла отреагировать на изменение входного сигнала соответст- вующим изменением цифрового кода на выходе. Так же, как и в ЦАП, понятие точности не связано с понятием разрешающей способности напрямую, а зависит от прецизионности компонентов схемы (например, от точности изготовления компаратора, резисторов и ключей встроенного ЦАП, на- пряжения опорного источника питания и т.д.). Погрешность, равная 0,01% п.с., го- ворит о том, что результат с выхода АЦП соответствует входному сигналу с погреш- ностью 0,01% от ве’личины полномасштабного сигнала, а ошибка преобразования вы- звана неточностью параметров внутренних компонентов преобразователя. Эта ошибка прибавляется к погрешности квантования, которая зависит от разрешающей способ- ности. Оба указанных источника ошибок аналого-цифровых преобразователей обычно имеют один и тот же порядок величины. Пример 10.14 Некоторый 8-битовый АЦП имеет полномасштабный сигнал, равный 2,55 В (т.е. анало- говый сигнал VA — 2,55 В на входе преобразователя приводит к появлению на его выходе кода 11111111). При этом погрешность, связанная с неточностями изготовле- ния компонентов, составляет 0,1% п.с. Определите максимальную величину, на ко- торую выходной сигнал может отклониться от входного сигнала. Сопряжение с аналоговым миром 709
Решение Величина шага квантования указанного АЦП равна 2,55 В/(28 - 1), т.е. составляет ровно 10 мВ. Это значит, что даже если встроенный ЦАП не привносит никаких сво- их погрешностей, сигнал на выходе преобразователя может отклоняться на 10 мВ от ожидаемой величины, так как он не может изменяться с разрешающей способно- стью, меньшей, чем 10 мВ; здесь мы имеем дело с погрешностью квантования. Ука- занная погрешность согласно условию составляет 0,1% п.с., т.е. равна 0,1% х 2,55 В = = 2,55 мВ. Таким образом, значение Рдх может отклоняться еще на 2,55 мВ от иде- ального, что связано с неточностью параметров внутренних компонентов преобразо- вателя. В результате общая ошибка может доходить до 10 мВ + 2,55 мВ = 12,55 мВ. Например, какой-то участок аналогового сигнала имеет значение напряжения 1,268 В. Если бы сигнал на выходе ЦАП не имел вообще никаких погрешностей, то ступенча- тая функция остановилась бы на 127-м шаге квантования (1,27 В). Однако рассмот- рим ситуацию, когда сигнал Удх отклоняется на -2 мВ. Тогда на 127-м шаге он дос- тигает значения 1,268 В, но этого напряжения еще недостаточно, чтобы остановить процесс преобразования, поэтому АЦП отсчитает еще один шаг, 128-й по счету. Та- ким образом, полученный на выходе цифровой код будет равен 100000002 = 12810 при поданном входном сигнале 1,268 В, а погрешность составит целых 12 мВ. Время преобразования tc На рис. 10.13, б время преобразования показано в качестве временного интервала между концом импульса запуска (START) и активацией сигнала ЕОС. Счетчик на- чинает отсчет с нуля и продолжает считать, пока напряжение Удх не превысит VA. В этот момент сигнал ЕОС переходит в состояние с низким уровнем и тем самым за- вершает процесс преобразования. Значение времени преобразования tc зависит от ве- личины напряжения VA. Большее значение входного напряжения потребует большее количество шагов, за которое ступенчатая функция достигнет нужной величины. Максимальное время преобразования имеет место тогда, когда значение VA нахо- дится прямо под значением полномасштабного сигнала, что приводит к тому, что сигналу Рдх необходимо последовательно пройти все шаги вплоть до последнего, что- бы в конце концов мог активизироваться сигнал окончания преобразования ЕОС. Для N-битового преобразователя это время равно fc(max) = (2n - 1) импульсов синхронизации. Например, АЦП из примера 10.1 ЗА будет иметь максимальное время преобразо- вания tc(max) = (210 - 1) х 1 мкс = 1023 мкс. Иногда указывается среднее время преобразования; оно берется равным половине максимального времени преобразования. Для интегрирующего аналого-цифрового преобразователя оно составит . х fcfmax) *с(средн) = ~ ~ О импульса синхронизации. Основной недостаток интегрирующего аналого-цифрового преобразования заклю- чается в том, что время преобразования примерно удваивается с прибавлением каж- дого дополнительного бита, поэтому разрешаюшая способность такого АПП может быть улучшена только за счет увеличения времени tc. Это делает данный метод не- применимым в тех областях, где требуется производить дискретизацию быстро изме- няющихся аналоговых сигналов. Однако в менее скоростных приложениях относи- тельная простота устройства интегрирующего аналого-цифрового преобразователя является важным преимуществом по сравнению с более сложными, хотя и быстро- действующими схемами. 710 Глава 10
Пример 10.15 Что произойдет с интегрирующим АЦП, если на его вход подать напряжение Удх» большее величины полномасштабного сигнала? Решение Из рис. 10.13 следует, что выходной сигнал компаратора не перейдет в состояние с низким уровнем напряжения, так как ступенчатая функция не сможет превысить значение VA. Таким образом, на счетчик будут постоянно подаваться импульсы, по- следовательно изменяющие состояния счетчика от 0 до максимума и т.д. Мы полу- чим циклическую ступенчатую функцию, которая изменяется от 0 до полномасштаб- ного сигнала и затем начинает процесс заново. Такая картина будет наблюдаться до тех пор, пока значение УЛ не будет опущено ниже уровня полномасштабного сигнала. Контрольные вопросы 1. Опишите в общих чертах функционирование интегрирующего АЦП. 2. Поясните термин погрешность квантования. 3. Почему время преобразования увеличивается с увеличением значения входного аналогового напряжения? 4. Проверьте истинность высказывания. При прочих равных условиях 10- битовый интегрирующий АЦП имеет более высокую разрешающую способ- ность, но большее время преобразования, чем 8-битовый АЦП. 5. Назовите преимущества и недостатки интегрирующих аналого-цифровых пре- образователей. 6. Определите цифровой сигнал на выходе АЦП, изображенного на рис. 10.13, ес- ли на его вход подано аналоговое напряжение VA = 1,345 В. Повторите для УА = = 1,342 В. 10.10. Сбор данных Существует множество приложений, в которых аналоговые данные должны быть оцифрованы (т.е. преобразованы в цифровой вид) и переданы в память компьютера. Процесс, с помощью которого информация в цифровой форме поступает на компью- тер, называется сбором данных. Запись значения одной точки данных называется выборкой, а сама точка называется отсчетом. Компьютер может осуществлять над данными разнообразные операции, зависящие от области применения информации. Сохраняя данные (например, при цифровой записи аудио- или видеоинформации) либо отображая сигналы на цифровом осциллографе, встроенный микрокомпьютер может запоминать данные и передавать их на ЦАП, чтобы позднее воспроизвести ис- ходный аналоговый сигнал. Управляя этим процессом, компьютер может также об- рабатывать информацию, например, осуществлять над ней какие-то арифметические действия, чтобы определить, какой выход следует возбудить. На рис. 10.15, а показано, как подключается микропроцессор к интегрирующему АЦП для сбора данных. Для того чтобы начать очередной процесс преобразования, компьютер формирует импульсы запуска (START). Сигнал окончания преобразова- ния ЕОС с выхода АЦП поступает на компьютер, который отслеживает состояние этого сигнала для того, чтобы обнаружить момент, когда цикл аналого-цифрового преобразования будет завершен; затем уже в цифровой форме компьютер передает данные с выхода АЦП в память. Сопряжение с аналоговым миром 711
a) Рис. 10.15. а) Типичная система сбора данных на основе компьютера; б) формы сигналов показывают, каким образом компьютер начинает оче- редной цикл преобразования и загружает цифровые данные в память после завершения этого цикла Формы сигналов на рис. 10.15, б показывают, каким образом на компьютер по- ступает оцифрованный аналоговый сигнал VA. На рисунке ступенчатая функция Удх, которая формируется в аналого-цифровом преобразователе, наложена на аналоговый 712 Глава 10
сигнал УА. Процесс начинается в момент t0, когда компьютер выдает импульс запус- ка, обозначающий начало преобразования. Цикл заканчивается в момент tlt когда ступенчатая функция превышает уровень сигнала УА; в этот же момент сигнал ЕОС переходит в состояние с низким уровнем напряжения. Спад (задний фронт) сигнала ЕОС сообщает компьютеру о том, что АЦП получил цифровой эквивалент напряже- ния VA в точке а, и компьютер загружает полученные данные в память. Через некоторое время после момента tx компьютер формирует новый импульс запуска, начиная тем самым следующий цикл преобразования. Обратите внимание, что при этом ступенчатая функция спадает до 0, а сигнал ЕОС возвращается в со- стояние с высоким уровнем, так как импульс START сбрасывает счетчик АЦП. Вто- рой цикл преобразования закончится в момент t2, когда ступенчатая функция вновь превысит сигнал VA. Компьютер загрузит новые цифровые данные в память; теперь они соответствуют точке Ь. Процесс повторяется в моменты i3, и т.д. Полный цикл преобразования, в ходе которого компьютер формирует импульсы запуска, отслеживает логические уровни сигнала окончания преобразования ЕОС и загружает данные из АЦП в память, выполняется под управлением программы, за- пускаемой перед началом работы. В частности, такая программа сбора данных опре- деляет, сколько точек данных аналогового сигнала будет сохранено в памяти. Восстановление оцифрованного сигнала На рис. 10.15, б АЦП функционирует с максимальной скоростью — новый им- пульс запуска формируется сразу после того, как компьютер получает новые выход- ные данные АЦП. Обратите внимание, что время преобразования каждого цикла от- личается от предыдущих показателей, так как аналоговый сигнал может изменять свои уровни. Проблема этого метода сохранения информации заключается в том, что для восстановления исходного сигнала необходимо знать точное время, когда цифро- вые данные должны быть выведены из памяти. Обычно при хранении оцифрованного сигнала отчеты берутся через равные интервалы времени со скоростью как минимум в два раза превышающей максимальную частоту аналогового сигнала. Цифровая сис- тема запомнит сигнал в качестве списка значений данных. В табл. 10.5 показан пример такого списка, который представляет собой цифровую форму сигнала, изо- браженного на рис. 10.16, а. Таблица10.5. Оцифрованные Данные зяважаваияи Точка Реальное напряженно, В Цифровой эквивалент а 1,22 01111010 b 1.47 10010011 с 1.74 10101110 d 1,70 10101010 е 1,35 10000111 f 1.12 01110000 9 0,91 01011011 h 0,82 01010010 На рис. 10.16, а показано, как АЦП непрерывно осуществляет преобразования для того, чтобы оцифровать аналоговый сигнал в точках а, b, с, d и т.д. Если исполь- зовать полученные цифровые данные для восстановления исходного сигнала, то ре- зультат будет выглядеть так, как он представлен на рис. 10.16, б. Черным показан сигнал, который будет снят с выхода цифроаналогового преобразователя; красной Сопряжение с аналоговым миром 713
линией — результат прохождения этого сигнала через низкочастотную RC-цепочку. Полученный выходной сигнал достаточно точно соответствует исходному аналогово- му, поскольку аналоговый сигнал не претерпевал каких-либо резких изменений ме- жду точками снятия отсчетов. Если бы сигнал содержал высокочастотные состав- ляющие, то данный АЦП не смог бы уловить быстрые всплески или падения сигна- ла, и восстановленный цифровой результат намного меньше соответствовал бы действительности. Рис. 10.16. а) Оцифровка аналогового сигнала; б) восстано- вление формы сигнала по цифровым данным Помеха дискретизации Очевидно, что главная задача восстановления исходного сигнала состоит в полу- чении практически идентичной кривой. Американский физик Найквист доказал, что во избежание потерь информации необходимо производить выборку входного сигнала с частотой в два раза большей, чем максимальная частота такого же аналогового сигнала. Например, если известно, что наиболее высокая частота какой-то аудиосис- темы не превышает значения 10 кГц, то для восстановления такого сигнала его дос- таточно квантовать с частотой 20 000 отсчетов в секунду. В литературе частота, с ко- торой берутся отсчеты, называется частотой дискретизации, Fs. Что же изменится, если в рассмотренном нами примере в исходном сигнале вдруг появится звук с час- тотой 12 кГц? Такая аудиосистема не сможет пропустить этот звук, поскольку его частота превышает максимальную частоту системы! Вместо этого произойдет так на- 714 Глава 10
зываемое наложение спектров и возникнет побочная низкочастотная составляющая сигнала (помеха дискретизации), вызванная тем, что частота дискретизации оказа- лась меньшей, чем минимальная частота, определенная по критерию Найквиста (согласно которому частота дискретизации должна минимум в два раза превышать наибольшую частоту входного сигнала). В ситуации, которая имела место в примере, любой звук с частотой более 10 кГц приведет к появлению низкочастотных помех. Эти помехи всегда имеют частоту, которая определяется разностью между частотой дискретизации Fs (в нашем случае 20 кГц) и частотой входного сигнала (12 кГц). Вместо того чтобы услышать восстановленный звук с частотой 12 кГц, мы услышим звук с частотой 8 кГц, который абсолютно не соответствует исходному сигналу. Для того чтобы понять, как появляется помеха дискретизации, рассмотрим сину- соидальный сигнал, изображенный на рис. 10.17. Частота этого сигнала равна 1,9 кГц. Красными точками отмечены моменты времени, в которых происходит дис- кретизация с частотой Fs = 2 кГц (т.е. каждые 500 мкс). Если соединить эти точки в линию, то окажется, что полученный сигнал будет косинусоидальным, а его период составит 10 мс (т.е. частота будет равна 100 Гц). Таким образом, частота помех, воз- никших в результате наложения спектров, равна разности между частотой дискрети- зации и частотой входного сигнала. Звук выходного сигнала в результате подобного несоответствия был бы очень низкий, частотой 100 Гц вместо звука частотой 1,9 кГц. Аналоговый входной сигнал Побочный сигнал Рис. 10.17. Побочные низкочастотные помехи, возникающие при субдискрети- зации Проблема субдискретизации (т.е. ситуации, когда Fs < 2 FBX max) состоит в том, что цифровая система даже не “подозревает” о присутствии во входном сигнале час- тоты, большей какого-то определенного значения. Система просто квантует сигнал и сохраняет данные об отсчетах. При восстановлении сигнала неожиданно появляются низкочастотные помехи (100 Гц), а исходный сигнал с частотой 1,9 кГц пропадает; в результате восстановленный сигнал не имеет ничего общего с исходным. Вот почему система сбора данных не должна обрабатывать входные сигналы, частоты которых больше, чем половина частоты дискретизации Fs. Контрольные вопросы 3. 4. Что такое оцифровка сигнала? Опишите этапы процесса сбора данных с помощью компьютера. Какая минимальная частота дискретизации требуется для того, чтобы восста- новить исходный аналоговый сигнал? Что случится, если сигнал будет оцифрован с частотой дискретизации, мень- шей минимально допустимой? Сопряжение с аналоговым миром 715
10.11. Аналого-цифровые преобразователи поразрядного уравновешивания Аналого-цифровые преобразователи поразрядного уравновешивания представ- ляют один из наиболее распространенных типов АЦП. Они имеют более сложную структуру, чем интегрирующие АЦП, но зато и намного более короткое время преоб- разования. К тому же для преобразователя поразрядного уравновешивания интервал преобразования входного сигнала фиксирован и не зависит от самого сигнала. Аналоговый Тактовые импульсы • Удх а) С НАЧАЛО ) Очистить все биты I ~ Начать с СЗБ Установить бит = 1 Преобразование завершено и результат находится в регистре ( КОНЕЦ б) Рис. 10.18. Аналого-цифровой преобразователь поразрядного уравновешивания: а) упрощенная функциональная схема; б) блок-схема работы АЦП Упрощенная функциональная схема устройства такого АЦП показана на рис. 10.18, а; она во многом подобна схеме интегрирующего АЦП, однако для того чтобы формировать входные сигналы на ЦАП в преобразователе поразрядного урав- новешивания, счетчик не используется, а вместо него ставится регистр. Устройство управления изменяет содержимое регистра по биту за единицу времени до тех пор, пока данные в регистре не будут соответствовать аналоговой входной величине VA с 716 Глава 10
точностью, определяемой разрядностью конкретного АЦП. Последовательный алго- ритм функционирования такого устройства приведен в виде блок-схемы на рис. 10.18, б. Этот алгоритм будет проанализирован на примере, которому соответст- вует рис. 10.19. Рис. 10.19. Работа четырехбитового аналого-цифрового преобразователя поразрядного урав- новешивания. Величина шага квантования ЦАП равна 1 В; Ул = 10,4 В В данном примере используется простейший четырехбитовый преобразователь, величина шага квантования которого составляет 1 В. Хотя обычно используемые на практике АЦП имеют большую разрядность и, следовательно, более высокую разре- шающую способность, их работа по существу остается такой же, нужно только пом- нить, что веса битов рассматриваемого регистра, подаваемых на ЦАП, будут состав- лять 8, 4, 2 и 1 В соответственно. Предположим, что на вход был подан аналоговый сигнал VA = 10,4 В. Работа схе- мы начинается с того, что устройство управления сбрасывает все биты регистра в 0, т.е. Q3 = Q2 = Qi = Qo = 0- Запишем это состояние регистра иначе: [Q] = 0000. При этом с выхода АЦП снимем сигнал V\x = 0 В, что и показано для момента t0 на вре- менной диаграмме, изображенной на рис. 10.19. При Рдх < VA выходной сигнал ком- паратора (СОМР) находится в состоянии с высоким уровнем. На следующем этапе (момент tx) устройство управления записывает 1 в триггер регистра, соответствующий старшему значащему биту, т.е. [Q] = 1000. Это соответст- вует напряжению ИАХ = 8 В. Так как Рдх все еще меньше, чем КА, то выходной сиг- нал компаратора остается в состоянии с высоким уровнем. Такой уровень сообщает устройству управления, что установка старшего значащего бита не привела к усло- вию КдХ £ VA, т.е. старший значащий бит следует оставить в единичном состоянии. Теперь устройство управления записывает в регистр следующий по весу бит Q2* Записывается значение Q2 = 1, т.е. в регистре получается [Q] «= 1100, что соответст вует напряжению УдХ = 12 В в момент t2. Поскольку Рдх > Уд, то сигнал с выхода компаратора (на рисунке обозначен как СОМР) переходит в состояние с низким уровнем. Этот уровень оповещает устройство управления о том, что значение Т дх оказалось чересчур большим, поэтому в момент времени t3 устройство управления сбрасывает бит Q2 в ноль. Таким образом, в этот момент регистр возвращается к со- стоянию 1000, а Рдх — к значению 8 В. Следующий шаг происходит в момент t4: устройство управления записывает 1 в следующий бит Qlt т.е. [Q] = 1010, а Удх = 10 В. Так как Удх < VA, сигнал СОМР ос- тается в состоянии с высоким уровнем напряжения, поэтому бит Qi остается в еди- ничном состоянии. Сопряжение с аналоговым миром 717
И наконец, в момент времени t5 устройство управления записывает 1 в младший бит Qo, т.е. теперь [Q] = 1011, а Гдх = 11 В. Значение 1’дх > Ка» поэтому сигнал с вы- хода компаратора переходит в состояние с низким уровнем напряжения, который сигнализирует о том, что значение Удх снова слишком велико, следовательно, уст- ройство управления очищает бит Qo. К этому моменту были проанализированы уже все биты регистра, т.е. преобразо- вание фактически завершено, поэтому устройство управления активизирует сигнал окончания цикла (ЕОС), что говорит о нахождении в регистре цифрового эквивален- та аналогового сигнала VA. В рассматриваемом примере при значении аналогового сигнала УА = 10,4 В получен цифровой эквивалент [Q] = 1010. Обратите внимание, что кодовая комбинация 1010 представляет значение 10 В, т.е. меньше, чем значение сигнала на входе устройства. Это одно из свойств аналого-цифровых преобразовате- лей поразрядного уравновешивания. Стоит запомнить, что интегрирующие АЦП все- гда выдают значение, эквивалентное входному, но на один шаг больше. Пример 10.16 Восьмибитовый аналого-цифровой преобразователь поразрядного уравновешивания имеет разрешающую способность, равную 20 мВ. Каким будет цифровой эквивалент аналогового значения VA = 2,17 В? Решение 2,17 В/20 мВ = 108,5, таким образом, 108-й шаг будет соответствовать напряжению VAX = 2,16 В, а шаг 109 — напряжению 2,18 В. АЦП поразрядного уравновешивания всегда выдает эк- вивалентный сигнал, уровень которого на шаг ниже, чем реальное аналоговое значе- ние. Следовательно, при VA = 2,17 В будет получен цифровой результат Ю810 = = 011011002. Время преобразования При работе АЦП поразрядного уравновешивания устройство управления последо- вательно переходит к каждому биту регистра, записывает в него 1, решает, оставлять ли это состояние в каждом конкретном случае, после чего переходит к следующему биту. Обработка каждого бита занимает один период синхронизации, поэтому общее время преобразования для //-битового АЦП составит N периодов сигнала синхрони- зации, т.е. время tc для АЦП поразрядного уравновешивания = N х 1 период сиг- нала синхронизации. Такая величина времени преобразования будет одинаковой для всех значений уровней входного напряжения VA. Это свойство обусловлено тем, что устройство управления обязательно должно проверить, в какие биты должна быть записана 1, а в какие — нет. Пример 10.17 Сравните максимальные величины времени преобразования для 10-битового интег- рирующего АЦП и 10-битового АЦП поразрядного уравновешивания при условии, что оба используют один и тот же сигнал синхронизации с частотой 500 кГц. Решение Для интегрирующего аналого-цифрового преобразователя максимальное время пре- образования составляет (2n - 1) х (1 период синхронизации) = 1023 х 2 мкс — 2046 мкс. 718 Глава 10
Для 10-битового АЦП поразрядного уравновешивания время преобразования будет всегда составлять только 10 периодов сигнала синхронизации, т.е. 10 х 2 мкс = 20 мкс. Следовательно, такой АЦП будет приблизительно в сто раз быстрее, чем интегри- рующий преобразователь. Аналого-цифровые преобразователи поразрядного уравновешивания имеют отно- сительно малые значения времени преобразования, поэтому их применение при сборе данных позволит передать за заданный интервал времени большее количество ин- формации. Эта характеристика может быть очень важной, когда аналоговые данные изменяются с относительно большой скоростью. Поскольку теперь многие АЦП поразрядного уравновешивания доступны на базе ИС, необходимость в самостоятельном проектировании схемы устройства управления может возникнуть лишь изредка; по этой причине ее строение здесь не рассматривается. Де- тально схема АЦП поразрядного уравновешивания описывается в спецификации фирм- производителей, где приводятся достаточно подробные описания таких устройств. Реальная ИС: АЦП поразрядного уравновешивания ADC0804 Интегральные схемы аналого-цифровых преобразователей доступны сразу от не- скольких фирм-производителей. Такие схемы обладают широким спектром рабочих свойств и характеристик. Мы рассмотрим только одно из таких устройств, чтобы по- лучить общие представления о реальных схемах АЦП. На рис. 10.20 изображена уп- рощенная топология ИС ADC0804, которая представляет собой КМОП-микросхему и имеет 20 выводов. Данная ИС предназначена для аналого-цифрового преобразования по методу поразрядного уравновешивания. Ниже приведены некоторые ее наиболее важные характеристики. +5 6 Усс VbxH (8) Аналоговая Г" земля •= Vcn/2*-^ , (19) Выход CLK ♦—— Вход CLK CS^ Rb^ — ^(3) , WR •—H ADC0804 8-разрядный АЦП поразрядного уравновешивания «В7 (СЗБ) <^U.d3 Цифровые выходы (Ю) Цифровая INTR (5) Рис. 10.20. Восьмибитовый аналого-цифровой преобразователь по- разрядного уравновешивания на основе ИС ADC0804 с тристабиль- ными выходами. Числа, указанные в скобках, обозначают номера выводов микросхемы Сопряжение с аналоговым миром 719
Имеет два аналоговых входа, Vbx(+) и ^вх(~), которые являются дифференциаль- ными. Иначе говоря, аналоговый сигнал VBX представляет собой разность на- пряжений, поданных на эти выводы [т.е. Vbx “ VBX(+) “ ^вх(~)]- В преобразова- ниях однополярных напряжений аналоговый входной сигнал подается на вход VBX(+), а вход Рвх(-) присоединяется к аналоговой земле. В обычном режиме преобразователь использует в качестве опорного напряжения источник питания Vcc = +5 В, а значения аналогового сигнала могут варьироваться от 0 до 5 В (при полномасштабном сигнале). Преобразует аналоговое напряжение в 8-битовый цифровой код. Цифровые вы- ходы данного АЦП представляют собой тристабильные буферы, благодаря чему они легко могут быть подключены к шине данных. Обладая разрядностью 8 бит, устройство имеет разрешающую способность 5 В/255 — 19,6 мВ. Имеет внутренний генератор синхроимпульсов, который работает на частоте f = = 1/(1, IRC), где R и С представляют собой номиналы внешних по отношению к ИС компонентов. Типичная частота синхронизации равна 606 кГц при R = 10 кОм, С = 150 пФ. При необходимости можно использовать и внешний сигнал синхро- низации, подавая его на соответствующий вывод CLK IN. При использовании частоты синхронизации 606 кГц время преобразования со- ставляет около 100 мкс. АЦП имеет отдельные выводы для подсоединения цифровых и аналоговых на- пряжений, соответствующих земле. Вывод 8 подключается к аналоговой зем- ле — некоторой точке аналоговой схемы. Вывод 10 представляет собой цифро- вую землю, уровень которой совпадает для всех цифровых устройств системы. (Обратите внимание, что для обозначения этих выводов используются различные символы.) Цифровая земля по сути является источником шумов, так как при изменении состояний цифровых устройств возникают кратковременные токи. Хотя условие использования двух разных точек, обозначающих землю, не обяза- тельно, такая предосторожность не позволяет шумам от цифровых узлов систе- мы вызывать преждевременное переключение состояния сигнала с выхода ана- логового компаратора, входящего в состав АЦП. Приведенная интегральная схема разработана специально для сопряжения с мик- ропроцессором, для чего она может быть присоединена к шине данных. По этой при- чине некоторые входы и выходы ИС ADC0804 предназначены для работы со специ- фическими сигналами, широко используемыми в микропроцессорных системах. Функции сигналов, соответствующих таким входам и выходам, описаны ниже. CS (Chip Select) — выбор микросхемы. Если данный сигнал находится в актив- ном для него состоянии с низким уровнем напряжения, то ИС будет реагировать на сигналы, поданные на входы RD и WR . Если же сигнал CS имеет высокий уровень напряжения, то все цифровые выходы АЦП будут находиться в высоко- импедансных состояниях и выполнение аналого-цифровых преобразований будет приостановлено. RD (READ) — чтение. Данный сигнал используется для того, чтобы включать буферы на цифровых выходах. При CS = RD — 0 на выводах цифровых выхо- дов будут наблюдаться логические уровни, соответствующие результату послед- него аналого-цифрового преобразования. Микрокомпьютер может считывать (выбирать) эти данные через системную шину данных. WR (WRITE) — запись. Импульс с низким, уровнем напряжения, поданный на этот вход, сигнализирует о начале нового преобразования. Данный вход называ- ется входом записи (WRITE), так как обычно для управления состоянием данно- го входа микрокомпьютер вырабатывает импульс записи (аналогичный тому, ко- торый используется в чипах памяти). 720 Глава 10
INTR (INTERRUPT) — прерывание. Сигнал с этого выхода принимает состоя- ние с высоким уровнем напряжения в начале преобразования и возвращается в состояние с низким уровнем по его окончанию. Фактически этот сигнал являет- ся аналогом сигнала ЕОС, однако его называют сигналом прерывания, потому что обычно он приостанавливает работу микропроцессора и указывает на завер- шение текущего аналого-цифрового преобразования. Von/2 — опциональный вход, он может быть использован для уменьшения на- пряжения, поступающего со встроенного источника опорного напряжения и, тем самым, изменения диапазона входных аналоговых напряжений, с которыми должен работать АЦП. Если этот вход оставить неподключенным, на нем уста- навливается постоянный уровень 2,5 В (Vcc/2), так как в данной ИС в качестве опорного напряжения служит напряжение питания Vcc. Присоединив же к дан- ному выводу внешний источник напряжения, можно изменить величину опорно- го напряжения примерно в два раза, соответственно изменится и диапазон ана- логовых величин, которые могут поступать на вход АЦП. Данные, касающиеся такого изменения рабочего диапазона напряжений, приведены в табл. 10.6. Таблица 16.6 Von/I Диапазон аналоговых Разрешающая способность, входных напряжений, В мВ Нет контакта 0—5 19,6 2,25 0-4,5 17,6 2,0 0-4 15,7 1,5 0-3 11,8 CLK OUT — выход сигнала синхронизации. С помощью этого вывода можно контролировать внутренний сигнал синхронизации, который может быть ис- пользован схемой, если к ней присоединить внешний резистор. CLK IN — вход сигнала синхронизации. На этот вывод можно подавать внешний сигнал синхронизации, а также подключать емкость при использовании внут- реннего сигнала синхронизации. На рис. 10.21 показана типичная схема, в которой используется ИС ADC0804. Схема подключена к микропроцессору и участвует в сборе данных. Микрокомпьютер указывает момент начала очередного преобразования с помощью сигналов выбора микросхемы (CS) и записи (WR). Затем, после обнаружения им заднего фронта сигнала на выходе прерывания (INTR), который указывает на окончание преобразо- вания, микрокомпьютер снимает данные с выхода АЦП, для чего он формирует сиг- налы выбора микросхемы (CS ) и чтения (RD ). Формы сигналов, изображенные на рис. 10.21, б, показывают поведение системы во время процесса сбора данных. Обра- тите внимание, что когда сигналы CS и WR переходят в состояние с низким уров- нем напряжения, сигнал прерывания (INTR) принимает состояние с высоким уров- нем, но очередной процесс преобразования не начинается, пока вход записи (Иг7?) не вернется в состояние с высоким уровнем. Также следует отметить, что линии данных на выходе АЦП будут находиться в высокоимпедансном состоянии до тех пор, пока микрокомпьютер не возбудит входы CS и RD; в этот момент все буферы данных аналого-цифрового преобразователя включатся, и данные с АЦП по шине данных попадут в микрокомпьютер. Как только сигнал хотя бы на одном из указанных вхо- дов (CS или RD) вернется в состояние с высоким уровнем, все линии данных снова перейдут в высокоимпедансное состояние. Сопряжение с аналоговым миром 721
алоговы источник 0.5-3.5B von Von 10 кОм 1,5В .налоговая земля 0,5 В VBX(+) Vcc Vbx(-) D7 D3 D2 Ri Dq Von R 10 кОм VOn/2 Выход CLK ADC0804 Вход CLK OS Vcc ~l— WR RD AGND DGND C_I_ 150 пФ NTR Цифровая земля Источник питания +5 В Vcc Vcc Шина Микро- данных ..процессор ► ad7 --------► ADe --------► AD5 --------► AD4 --------► AD3 --------► AD2 --------► ad; --------► ADJ ►CINTO С RD С WR GND Адресная шина He] Логика дешифрирования адреса Рис. 10.21. а) Применение ИС ADC0804; б) временная диаграмма сигналов при сборе данных В таком режиме ADC0804 входной сигнал будет менять свои значения от 0,5 до 3,5 В. Чтобы полностью использовать преимущества 8-битовой разрядности, нужно учесть и аналого-цифровые спецификации. В этом случае полномасштабный диапа- зон составит 3,0 В. Однако следует помнить и о смещении 0,5 В относительно земли. Это смещение подается на отрицательный вход VBX(-), в результате чего нулевая точка отсчета изменяется на соответствующую величину. Диапазон 3,0 В можно ус- тановить, подав 1,5 В на вывод Von/2. Тогда входной сигнал величиной 0,5 В приве- дет к установке цифрового кода 00000000, а входной сигнал величиной 3,5 В — к ус- тановке кода 11111111. Другим важным моментом при сопряжении цифровых и аналоговых сигналов яв- ляется шум. Обратите внимание, что проводники, которые подключены к цифровой и аналоговой земле, разнесены. Обе земли связаны вместе в точке, очень близкой к 722 Глава 10
аналого-цифровому преобразователю. Простой участок проводника, имеющий крайне малое сопротивление, отделяет эту точку от отрицательного вывода источника на- пряжения. Часто напряжение с положительного вывода подают на цифровые и ана- логовые устройства отдельно, при этом еще используют развязывающие кон; нсато- ры (емкостью около 0,01 мкФ), которые подсоединяют рядом с точкой подключения земли и источника питания. Контрольные вопросы I 1. Какое основное преимущество аналого-цифровых преобразователей поразрядно- го уравновешивания по сравнению с интегрирующими АЦП? 2. Какой основной недостаток имеют эти же преобразователи по сравнению с ин- тегрирующими? 3. Проверьте истинность высказывания. Величина времени преобразования АЦП поразрядного уравновешивания увеличивается с ростом аналоговых напряжений. 4. Ответьте на следующие вопросы, которые касаются ИС ADC0804: а) Какую разрядность имеет данная ИС? б) Какой диапазон аналоговых входных напряжений имеет данная ИС? в) Опишите функции входов CS , WR и RD . г) Назовите функцию выхода INTR . д) Почему данная микросхема имеет два отдельных вывода на землю? е) Назовите предназначение входа Ивх(-). 10.12. Аналого-цифровые преобразователи параллельного типа Параллельные аналого-цифровые преобразователи — самые быстрые из известных на сегодняшний день АЦП, но при этом они намного сложнее остальных типов пре- образователей. Например, для построения шестибитового параллельного АЦП потре- буется 63 аналоговых компаратора, 8-битовый преобразователь будет включать уже 255 компараторов, а для 10-битового потребуется 1023 элемента! Большое число ком- параторов существенно ограничивает разрядность АЦП параллельного типа, поэтому обычно они встречаются в виде ИС, имеющих разрядность от двух до восьми бит, хо- тя многие производители предлагают также эксклюзивные девяти- и десятибитовые устройства. Принцип действия аналого-цифрового преобразователя параллельного типа пока- зан на основе трехбитового АЦП, чтобы не усложнять и без того довольно громозд- кую схему. Если вы поймете, как функционирует трехбитовый преобразователь, то нетрудно будет разобраться и с устройствами большей разрядности. АЦП параллельного типа (рис. 10.22, а) имеет разрядность 3 бита и величину шага, равную 1 В. Делитель напряжения устанавливает свои уровни опорного на- пряжения для каждого компаратора, т.е. семь уровней соответствуют напряжени- ям 1 В (для младшего значащего бита), 2 В, 3 В и так до 7 В (величина полномас- штабного сигнала). Аналоговый входной сигнал ИА подается на второй вход каждо- го компаратора. Сопряжение с аналоговым миром 723
+10 в 3 кОм 1 кОм 1 кОм 1 кОм 1 кОм 1 кОм 1 кОм 1 кОм Цифровой выход а) Аналоговый входной сигнал Цифровые выходные сигналы Выходные сигналы компаратора VA с. с2 С3 с 4 С5 с6 С.7 с в А 0-1 в 1 1 1 1 1 1 1 0 0 0 1-2 В 0 1 1 1 1 1 1 0 0* 1 2-3 В 0 0 1 1 1 1 1 0 1 0 3-4 В 0 0 0 1 1 1 1 0 1 1 4-5 В 0 0 0 0 1 1 1 1 0 0 5-6 В 0 0 0 0 0 1 1 1 0 1 6-7 В 0 0 0 0 0 0 1 1 1 0 >7 В 0 0 0 0 0 0 0 1 1 1 б) Рис. 10.22. а) Трехбитовый АЦП параллельного типа; б) таблица истинности Если значение VA < 1 В, то выходы всех компараторов начиная с (Ц и до С7 будут находиться в состоянии с высоким уровнем сигнала. При VA > 1 В на одном или не- скольких выходах компаратора установится низкий уровень. Сигналы с выходов компараторов подаются на приоритетный шифратор, управляемый низким уровнем напряжения. Этот шифратор формирует двоичный код, соответствующий макси- мальному порядковому номеру компаратора, на выходе которого наблюдается низкий 724 Глава 10
уровень. Например, когда напряжение VA лежит между значениями 3 и 4 В, то вы- ходы Сь С2 и Сз будут находиться в состоянии с низким уровнем, а все остальные — с высоким. Приоритетный шифратор будет реагировать только на низкий уровень сигнала на выходе Сз и в результате сформирует двоичный выходной код СВ А =011, который будет представлять собой цифровой эквивалент напряжения VA с точностью, соответствующей разрешающей способности 1 В. Если значение VA будет больше, чем 7 В, то выходы всех компараторов, от Сх и до С7, будут находиться в состояниях с низким уровнем сигнала, поэтому на выходе шифратора будет сформирован код СВА = 111. Таблица на рис. 10.22, б показывает реакции АЦП на все возможные значе- ния аналоговых величин. Аналого-цифровой преобразователь (рис. 10.22) имеет разрешающую способность, равную 1 В, т.е. для того чтобы цифровой код на выходе устройства принял следую щее значение, необходимо изменить аналоговый сигнал на входе не менее, чем на 1 В. Чтобы получить лучшие значения разрешающей способности, требуется увеличить количество различных уровней входного напряжения (т.е. использовать больше рези- сторов для деления напряжения) и применить большее число компараторов. Напри- мер, 8-битовый преобразователь параллельного типа должен иметь 28 = 256 уровней напряжения, включая нулевой уровень. Для этого нам потребуется 256 резисторов и 255 компараторов (для формирования нулевого напряжения отдельный компаратор не требуется). Сигналы со всех этих компараторов должны быть обработаны приори- тетным шифратором, который сформирует 8-битовый код, соответствующий уровню входного напряжения. В общем случае, Лабитовый параллельный АЦП должен со- стоять из 2n компараторов, (2N - 1) резисторов и шифратора соответствующей раз- рядности. Время преобразования В аналого-цифровых преобразователях сигналы синхронизации не используются, потому что в АЦП не требуется последовательной работы. Преобразования могут осуществляться непрерывно. Когда значение аналоговой величины, поступающей на вход устройства, изменяется, изменится и комбинация сигналов с выходов компара- торов, что приведет к изменению кода на выходе шифратора. Термин время преобра зования показывает, сколько времени понадобится для того, чтобы на выходе АЦП появился новый цифровой код. Если значение аналоговой величины VA изменяется, время преобразования зависит только от задержек компараторов и шифратора. По этой причине преобразователи параллельного типа имеют крайне малые времена пре- образования. Например, устройство МС10319 компании Motorola (8-битовый АЦП на эмиттерно-связанной логике с TTJI-совместимыми входами и выходами) имеет ти- пичное значение времени преобразования менее 20 нс. Микросхема AD9010 пред- ставляет собой 10-битовый параллельный АЦП, время преобразования которого не превышает 15 нс. Контрольные вопросы Проверьте истинность высказывания. Аналого-цифровой преобразователь па- раллельного типа не имеет встроенного ПАП. 2. Сколько компараторов и резисторов потребуется для построения 12-битового параллельного АЦП? 3. Назовите основные преимущества и недостатки АЦП параллельного типа. Сопряжение с аналоговым миром 725
10.13. Другие методы аналого-цифрового преобразования Существует еще несколько методов аналого-цифрового преобразования, каждый из которых имеет свои преимущества и недостатки. В этом разделе кратко описаны некоторые из этих методов. Реверсивные интегрирующие аналого-цифровые преобразователи (АЦП следящего типа) Интегрирующие АЦП — довольно медленные устройства, так как с началом каж- дого последующего преобразования необходимо обнулить счетчик. Ступенчатая функция всегда начинается с 0 В и возрастает до “точки переключения”, где значе- ние VAx превышает значение VA, в результате чего на выходе компаратора будет сформирован сигнал с низким уровнем напряжения. Время, которое требуется для того, чтобы сбросить счетчик в 0 и достичь точки переключения, фактически теряет- ся впустую. В интегрирующих АЦП следящего типа используются реверсивные счетчики, которые помогают заметно сократить время преобразования. Реверсивный счетчик размещается в схеме так же, как и обычный, т.е. сигнал с его выхода поступает на встроенный ЦАП. Такой счетчик увеличивает состояние на выходе, если сигнал с компаратора показывает, что < Рд, и уменьшает состоя- ние, если сигнал с компаратора показывает, что Удх > УА. Таким образом, выходной сигнал ЦАП всегда изменяется в направлении значения VA. Каждый раз, когда сиг- нал с компаратора изменяет свой логический уровень, это означает, что напряжение Рдх “пересекло” значение VA и цифровой код искомого аналогового сигнала находит- ся в счетчике, т.е. преобразование завершено. Если необходимо выполнить новое преобразование, то счетчик не нужно сбрасы- вать в О, отсчет начинается от последнего записанного значения в направлении, ко- торое определяется состоянием сигнала с выхода компаратора. Счетчик будет считать до тех пор, пока ступенчатая функция не пересечет уровень VA, что означает конец преобразования. Форма сигнала УАХ будет, следовательно, содержать как возрастаю- щие участки, так и убывающие, т.е. отслеживать напряжение VA. Именно поэтому такие преобразователи и были названы следящими. Очевидно, что время преобразования данного АЦП, как правило, меньше, так как счет не начинается с 0 каждый раз, а продолжается от последнего записанного в счетчик значения. Величина tc как и прежде будет зависеть от значения VA, но те- перь время преобразования не будет константой. Аналого-цифровые преобразователи с двойным интегрированием АЦП двойного интегрирования имеют одно из наиболее низких времен преобра- зования (обычно это от 10 до 100 мс), но зато обладают важным преимуществом, вы- раженным низкой стоимостью, так как для их изготовления не требуются прецизи- онные компоненты (ЦАП или генераторы опорного напряжения). Принцип действия таких преобразователей основан на линейном заряде и разряде конденсаторов при постоянном токе. Сначала конденсатор заряжается в течение фиксированного интер- вала времени при постоянном токе, который берется от аналогового сигнала VA. Та- ким образом, по окончании этого интервала конденсатор окажется заряженным до напряжения, пропорционального напряжению на входе устройства. В этот момент конденсатор начинает линейно разряжаться опять же по постоянному току, который 726 Глава 10
на этот раз берется от прецизионного источника напряжения Von. Когда напряжение на конденсаторе достигнет 0, процесс разряда закончится. На протяжении всего это- го процесса на счетчик подается опорная частота, которая изменяет его состояния. Протяженность интервала разряда будет пропорциональна начальному значению на- пряжения конденсатора. Следовательно, в конце интервала в счетчике будет записан код, пропорциональный напряжению, до которого был заряжен конденсатор (и кото- рое, как упоминалось ранее, пропорционально аналоговому сигналу УА). Кроме низкой цены, АЦП двойного интегрирования имеют еще одно важное пре- имущество — низкую чувствительность к шумам и разбросам номиналов компонен- тов, вызванных колебаниями температуры. Однако из-за низких значений времени преобразования такие преобразователи не используются в приложениях, связанных со сбором данных. В других задачах (например, цифровое измерение напряжения или тока) величина времени преобразования не играет слишком важной роли, поэтому именно там АЦП двойного интегрирования чаще всего и находят свое применение. Аналого-цифровые преобразователи “напряжение/частота” АЦП, основанные на преобразовании напряжения в частоту, проще, чем другие типы аналого-цифровых преобразователей, потому что в них не используются встро- енные ЦАП. Вместо этого в состав таких устройств входит генератор, управляемый напряжением (ГУН), который формирует на выходе схемы сигнал с частотой, про- порциональной входному аналоговому напряжению. Аналоговый сигнал, который требуется преобразовать в цифровую форму, подается на ГУН, с которого сигнал снимается уже с определенной частотой. Эта частота поступает на счетчик, изме- няющий свои состояния только в течение какого-то заданного временного интервала. В результате получается количество отсчетов, пропорциональное значению аналого- вого напряжения. Чтобы проиллюстрировать функционирование данного типа АЦП, предположим, что на выходе ГУН формируется сигнал с частотой 10 кГц на каждый 1 В входного напряжения (т.е. частота 10 кГц соответствует значению напряжения 1 В, 15 кГц — напряжению 1,5 В, а 27,3 кГц — напряжению 2,73 В). Если аналоговый сигнал на входе имеет величину 4,54 В, то с выхода ГУН мы снимем сигнал с частотой 45,4 кГц, который будет подан на вход синхронизации счетчика в течение интервала, скажем, 10 мс. После окончания этого интервала в счетчике будет записано число 454 — цифровой эквивалент напряжения 4,54 В. Хотя данный метод преобразования достаточно прост, довольно сложно получить хорошую степень соответствия частоты сигналу, потому что имеются определенные трудности в проектировании и изготовлении ГУН с точностью большей, чем 0,1%. Одна из наиболее распространенных областей использования данного типа анало- го-цифровых преобразователей — передача слабых аналоговых сигналов на управ- ляющий компьютер в промышленной обстановке в условиях интенсивных помех. По пути от приемопередатчика к компьютеру аналоговые сигналы с малой амплитудой могут быть очень сильно искажены под воздействием шумов, поэтому намного эф- фективнее сначала подавать аналоговый сигнал на генератор, управляемый напря- жением. На выходе ГУН будет сформирован цифровой сигнал, частота которого бу- дет изменяться в соответствии с исходным аналоговым напряжением. Цифровой код, передаваемый на компьютер, значительно меньше подвержен влиянию шумов. Логи- ческие элементы, которые входят в состав компьютера, подсчитают количество кодо- вых импульсов (т.е. выполнят операцию измерения частоты) и на основании числа отсчетов выяснят цифровой эквивалент исходного аналогового напряжения. Сопряжение с аналоговым миром 727
Сигма/дельта модуляция Еще один подход в выражении аналоговой информации в цифровой форме назы- вается сигма/дельта модуляцией. Аналого-цифровой преобразователь сигма/дельта представляет собой устройство с супердискретизацией, что означает квантование аналоговой информации с частотой большей, чем минимальная частота дискретиза- ции, определяемая по критерию Найквиста. Эта минимальная частота должна быть в два раза больше, чем максимальная частота входного аналогового сигнала. Супер- дискретизация позволяет интерполировать функцию между теми точками данных, где были взяты отсчеты с минимальной частотой дискретизации. Метод сигма/дельта модуляции, так же как, например, метод преобразования напряжения в частоту, не формирует цифровой код, соответствующий каждому отсчету, а представляет анало- говую величину варьируемым количеством единиц в потоке последовательных дан- ных. Чтобы представить положительные участки функции, АЦП формирует поток битов с высокой плотностью логических единиц (например, 0111110111110111110111). Для представления отрицательных участков сигнала формируется сигнал с меньшей плотностью единиц (а значит, с большей плотностью нулей) — 00010001000010000010. На рис. 10.23 показано соотношение между уровнями анало- гового напряжения и одноразрядным цифровым кодом, эквивалентным данному сиг- налу. Контрольные вопросы 1. В чем преимущество реверсивных интегрирующих АЦП по сравнению с обыч- ными интегрирующими преобразователями? 2. Какой основной элемент входит в состав АЦП, преобразующих напряжение в частоту? 3. Назовите преимущества и недостатки АЦП двойного интегрирования. 4. Перечислите три типа аналого-цифровых преобразователей, в которых не ис- пользуется встроенный ЦАП. 5. Сколько бит данных используется в сигма/дельта модуляторе? 728 Глава 10
10.14. Цифровые вольтметры Цифровой вольтметр преобразует аналоговое напряжение в двоично-десятичный вид, который декодируется и отображается на индикаторе. На рис. 10.24 изображена структурная схема трехразрядного цифрового вольтметра, использующего АЦП ин- тегрирующего типа (обведен пунктиром). С выходов трех последовательно соединен- ных двоично-десятичных счетчиков снимаются сигналы, которые поступают на трехразрядный преобразователь двоично-десятичного кода в аналоговое напряжение, имеющий величину шага квантования 10 мВ и величину полномасштабного сигнала 9,99 В. Каждый каскад двоично-десятичного счетчика также управляет четырехби- товым регистром, сигнал с которого, в свою очередь, поступает на дешифра- тор/драйвер и на отображающее устройство. Содержимое двоично-десятичных счет- чиков передается в регистры только после окончания каждого цикла преобразова- ния, поэтому индикатор не отображает процесс сброса и счета счетчиков, а показывает только конечный результат, соответствующий искомому напряжению. Рис. 10.24. Цифровой вольтметр непрерывного преобразования, в котором используется интегрирующий АЦП Сопряжение с аналоговым миром 729
Пока Гдх < Уд, сигнал СОМР с выхода компаратора остается в состоянии с высо- ким уровнем напряжения, а импульсы синхронизации проходят через элемент И на счетчик. С увеличением состояния счетчика сигнал VAX увеличивается на 10 мВ с каждым шагом до тех пор, пока он не превысит напряжение УА (см. рис. 10.25). В этот момент сигнал на выходе компаратора переходит в низкий логический уро- вень и, выключая элемент И, останавливает счетчик, завершая тем самым преобра- зование. Задний фронт сигнала СОМР также перебрасывает одновибратор 1 (ОВ1), который при этом формирует импульс длительностью на выходе Передний фронт этого импульса разрешает передачу выходных состояний двоично-десятичных счет- чиков в соответствующие регистры, где эти данные будут сохранены с последующим отображением на индикаторе. Задний фронт импульса с выхода переключает вто- рой одновибратор (ОВ2), который в свою очередь формирует импульс, сбрасывающий все счетчики в 0. При этом значение VAX снова возвращается в 0, а сигнал СОМР — в исходное состояние с высоким уровнем напряжения, что позволяет импульсам про- ходить на счетчик с началом нового преобразования. СОМР -------------------- Конец преобразования । । Окончательный счет передан в регистр —► о, ------------------- I Сброс счетчика для нового преобразования 02 ----------------------- * Время Рис. 10.25. Формы сигналов при работе цифрового вольтметра Таким образом, цифровой вольтметр осуществляет одно преобразование за дру- гим. Естественно, запоминающие регистры служат для того, чтобы промежуточные данные не отображались на индикаторах во время процесса преобразования. Показа- ния на отображающем устройстве поменяются только тогда, когда изменится значе- ние Уд, поэтому содержимое различных счетчиков будет передано в регистры лишь в конце цикла преобразования. Пример на реальных числах поможет проиллюстрировать работу данной схемы. Предположим, что УЛ = 6,372 В. Чтобы сигнал на выходе компаратора перешел в низкий логический уровень, значение VA должно превысить 6,3721 В. Поскольку с каждым шагом квантования сигнал на выходе ЦАП увеличивается на 10 мВ, то для этого потребуется 6,3721 В 10 мВ = 637,21 —> 638 шагов. 730 Глава 10
Таким образом, счетчики будут отсчитывать до 638 шагов, а затем передадут это число в регистры и на индикатор. Чтобы отобразить напряжение 6,38 В, можно ис- пользовать небольшой светоизлучающий диод, который будет выступать в роли деся- тичной точки. Пример 10.18 Что произойдет, если значение Рдх превысит 9^99 В? Решение При Удх > 9,99 В на выходе компаратора сохранится сигнал с высоким уровнем на- пряжения, в результате чего импульсы синхронизации начнут непрерывно поступать на счетчик. Последний будет постоянно досчитывать до 999 и сбрасываться в ООО. Одновибратор Qi вообще никогда не будет переброшен, а содержимое регистров не изменится. Хорошо продуманный цифровой вольтметр имеет встроенные средства по обнаружению выхода величины за пределы допустимого диапазона- такие средства позволяют сигнализировать об этом с помощью специального индикатора. Преду- преждение можно реализовать, например, добавив тринадцатый бит к выходам со счетчиков. Этот бит примет единичное состояние только в том случае, если счетчик сбросится из состояния 999 в состояние ООО, что и будет означать выход величины за пределы диапазона. Цифровой вольтметр можно модифицировать для измерения входных напряже- ний в нескольких различных диапазонах значений. Для этого используется усили- тель или аттенюатор, которые устанавливаются между сигналом УА и компаратором. Например, если значение VA = 63,72 В, то его можно уменьшить в 10 раз, т.е. на по- ложительный вход компаратора поступит сигнал с амплитудой всего 6,372 В, а после завершения преобразования счетчик покажет состояние 638. Видоизменить схему цифрового вольтметра можно еще таким образом, что он бу- дет функционировать в качестве цифрового универсального электроизмерительного прибора или мультиметра, т.е. сможет измерять напряжение, а также ток и сопро- тивление. Для измерения тока сигнал, амплитуда которого неизвестна, подается на опорный резистор с фиксированным сопротивлением, в результате чего на нем про- исходит падение напряжения. При измерении сопротивления на неизвестное сопро- тивление подают ток фиксированной величины, что также приводит к падению на- пряжения. В обоих случаях результирующее напряжение измеряется и отображается с помощью схемы, подобной той, которая изображена на рис. 10.24. Схема может включать в себя дополнительные логические элементы, необходимые для ослабления входного сигнала, чтобы можно было правильно измерять и отображать измеряемую величину (ток или сопротивление). Естественно, что тем же цифровым вольтметром можно измерять и переменные напряжения, однако сначала их надо преобразовать в постоянные. Это можно вы- полнить, используя схему по преобразованию среднеквадратического значения ам- плитуды сигнала (например, переменного тока) в определенное постоянное значение. Такое преобразование осуществляет, к примеру, ИС AD536A. । Контрольные; вопросы 1. Для чего нужны регистры в схеме цифрового мультиметра? 2. Каково назначение одновибраторов в той же схеме? 3. Как изменится производительность цифрового вольтметра, если использовать в нем АЦП поразрядного уравновешивания? Сопряжение с аналоговым миром 731
10.15. Схемы выборки и хранения Если аналоговое напряжение подать непосредственно на вход АЦП, изменения в ходе преобразования сигнала могут неблагоприятно отразиться на полученных ре- зультатах. Стабильность процесса может быть существенно улучшена при использо- вании схем выборки и хранения, в которых на время аналого-цифрового преобразо- вания сохраняется постоянное значение аналоговой величины. Упрощенная функ- циональная структура схемы выборки и хранения показана на рис. 10.26. Цифровой управляющий *Сиг нас на управляющем входе = 1 -* ключ замкнут оежим выборки = 0-*ключ разомкнут режим хранения Рис. 10.26. Упрощенная функциональная структура схемы выборки и хранения Схема выборки и хранения содержит буферный усилитель Аг с коэффициентом усиления, равным 1. Такой усилитель представляет собой высокий импеданс для входного аналогового сигнала и имеет низкий выходной импеданс, в результате чего может быть быстро заряжена емкость Ch на выходе схемы. Эта емкость, иногда на- зываемая емкостью удержания, подключается к выходу усилителя Ait когда замыка- ется управляемый цифровой ключ. Данный режим называется режимом выборки. Ключ закрывается на такой промежуток времени, чтобы конденсатор Ch успел заря- диться до величины аналогового сигнала. Например, если ключ был замкнут в мо- мент to, то сигнал с усилителя Ai быстро зарядит емкость Ch до напряжения Vo. Ко- гда ключ откроется, емкость Ch будет хранить (удерживать) это напряжение, и через усилитель А2 оно поступит на АЦП. Буферный усилитель А2 с единичным коэффици- ентом усиления представляет большой входной импеданс, через который емкость удержания не могла бы разрядиться в течение времени преобразования аналого- цифрового преобразователя, и в результате напряжение, поступающее на АЦП, будет практически постоянным. В системах сбора данных, которые управляются компьютером, схема выборки и удержания может контролироваться с помощью цифрового сигнала, снимаемого с ком- пьютера. Этот сигнал должен закрывать ключ для того, чтобы зарядить конденсатор Ch при преобразовании очередного аналогового напряжения; интервал времени, на которое ключ оказывается замкнут, называется временем захвата. Величина этого параметра зависит от значения емкости Си и характеристик самой схемы выборки и удержания. ИС LF198 представляет собой схему с типичными значениями времени захвата 4 мкс при Ch = 1000 пФ и 20 мкс при Ch = 0,01 мкФ. Сигнал с компьютера также должен от- крыть ключ, чтобы сохранить значение напряжения, до которого зарядился конденса- 732 Глава 10
тор, и тем самым обеспечить поступление на вход усилителя А2 относительно постоян- ного значения напряжения. При использовании, например, ИС LF198 и при Си = 1000 пФ емкость будет разряжаться со скоростью всего 30 мВ в секунду. Контрольные вопросы 1. Опишите работу схемы выборки и удержания. 2. Проверьте истинность высказывания. Усилители в схеме выборки и удержа- ния используются для усиления напряжения входного сигнала. 10.16. Мультиплексирование Если необходимо преобразовать аналоговые сигналы от нескольких источников, можно использовать технику мультиплексирования, которая позволяет АЦП функ- ционировать по принципу временного разделения сигналов. Простейшая схема муль- типлексирования показана на рис. 10.27 для случая с четырехканальной системой сбора данных. Для переключения аналоговых сигналов, которые подаются на вход АЦП, предусмотрен поворотный переключатель S. С помощью этого ключа сигналы попадают на преобразователь по очереди. Схема управления контролирует позицию переключателя в соответствии с кодовой комбинацией битов адреса выбора Ai и Ао, которые поступают со счетчика с Кпер=4. Например, если AjAo = 00, то ко входу АЦП подключается напряжение Удо; при А^ = 01 на вход подается УА1 и т.д. Каж- дый входной канал имеет собственный код адреса, который и определяет подключе- ние данного канала к аналого-цифровому преобразователю. Аналоговые входы Рис. 10.27. Преобразование одним АЦП четырех аналоговых сигналов с помо- щью мультиплексирования Сопряжение с аналоговым миром 733
Схема функционирует следующим образом. 1. Когда код адреса выбора равен 00, ко входу АЦП подключается напряжение VA0. 2. Схема управления формирует импульс запуска (START), который начинает пре- образование сигнала VA0 в цифровой эквивалент. 3. После завершения преобразования сигнал конца цикла (ЕОС) сообщает о том, что на выходе АЦП данные готовы. Обычно эти данные передаются на компьютер по шине данных. 4. Мультиплексирующий сигнал синхронизации увеличивает состояние счетчика на 1 (т.е. в 01) и тем самым подключает к нему напряжение VA1. 5. Повторяются шаги 2 и 3. На выходе АЦП появляется цифровой эквивалент на- пряжения VAj. 6. Мультиплексирующий сигнал синхронизации увеличивает состояние счетчика еще на 1 (т.е. до 10) и подключает к нему напряжение VA2. 7. Повторяются шаги 2 и 3. На выходе АЦП появляется цифровой эквивалент на- пряжения УА2. 8. Мультиплексирующий сигнал синхронизации увеличивает состояние счетчика до 11 и подключает к нему напряжение VA3. 9. Повторяются шаги 2 и 3. На выходе АЦП появляется цифровой эквивалент на- пряжения VA3. Мультиплексирующий сигнал синхронизации контролирует скорость, с которой аналоговые сигналы последовательно поступают на аналого-цифровой преобразова- тель. Максимальная скорость определяется задержкой распространения сигнала че- рез переключатель и временем преобразования АЦП. Задержка распространения мо- жет быть уменьшена при использовании полупроводниковых ключей (например, двунаправленных переключателей на КМОП, описанных в главе 8). При необходимо- сти ко входу АЦП можно подсоединить схему выборки и удержания, если известно, что во время преобразования амплитуда аналогового сигнала может значительно ко- лебаться. Многие интегральные АЦП содержат встроенную логику мультиплексирования. Например, ADC0808 может мультиплексировать до восьми различных аналоговых сигналов. При этом используется трехбитовый код выбора, определяющий сигнал, который будет подаваться на аналого-цифровой преобразователь в данный момент времени. Контрольные вопросы Г Г • Р 1. Назовите преимущества применения схем мультиплексирования. | 2. Как будет изменяться состояние счетчика адреса, если требуется мультиплек- сировать восемь аналоговых сигналов? 10.17. Цифровой запоминающий осциллограф В качестве заключительного примера использования цифроаналоговых и аналого- цифровых преобразователей кратко рассмотрим цифровые запоминающие осцилло- графы. В таких осциллографах используются как АЦП, так и ЦАП, с помощью ко- торых осуществляется дискретизация, хранение и отображение аналоговых сигналов. Цифровые запоминающие осциллографы имеют множество преимуществ по сравне- нию с обычными запоминающими осциллографами, в которых форма сигнала хра- 734 Глава 10
нится в виде электрических зарядов на разлинованном экране, размещенном между электронной лучевой трубкой и покрытым фосфором индикатором. Ниже перечисле- ны некоторые преимущества цифровых запоминающих осциллографов. Цифровой запоминающий осциллограф может хранить форму сигнала бесконеч- но большой промежуток времени, так как цифровые значения хранятся в памя- ти устройства (т.е. в триггерах). Яркость изображения на обычном запоминаю- щем осциллографе медленно уменьшается, что связано с постепенной нейтрали- зацией заряда. Во многих цифровых запоминающих осциллографах выводимая форма сигнала может быть расположена в любом месте экрана, а вертикальные и горизонталь- ные шкалы могут изменять свой масштаб для удобства измерений. В обычных осциллографах такие возможности чаще всего отсутствуют. При использовании цифрового запоминающего осциллографа становится воз- можным хранить и отображать участки сигнала, которые предшествуют точке переключения. Опять же, в обычных осциллографах такое свойство отсутствует. Многие цифровые запоминающие осциллографы хранят сразу несколько форм сигналов, которые можно затем распечатать на принтере. Структурная схема цифрового запоминающего осциллографа показана на рис. 10.28. Вся работа устройства контролируется и синхронизируется с помощью блока управления, который обычно содержит микропроцессор, выполняющий про- грамму, записанную в ПЗУ (постоянном запоминающем устройстве). Часть схемы, отвечающая непосредственно за сбор данных, состоит из схемы выборки и удержа- ния, а также АЦП, который непрерывно производит выборку значений и дискрети- зацию входного сигнала со скоростью, определяемой синхросигналом (SAMPLE CLOCK). Оцифрованные данные пересылаются в память для последующего их хране- ния. Блок управления контролирует, чтобы последовательно снятые точки отсчета были записаны в последовательные ячейки запоминающего устройства; этого доби- ваются непрерывным изменением состояния счетчика адреса. Когда память заполняется данными до предела, очередное значение сигнала, по- ступившее от АЦП, опять записывается в первую ячейку памяти; при этом старые данные затираются, так происходит и для всех остальных точек отсчетов. Операция сбора данных и запись в память продолжается до тех пор, пока блок управления не получит сигнала на переключение либо непосредственно от входного сигнала (внутреннее переключение), либо от внешнего источника (внешнее переключение). Когда один из этих сигналов поступает на блок управления, система приостанавли- вает сбор данных и переходит в режим отображения информации, в котором на эк- ране отображается содержимое всех ячеек памяти. Функция отображения задействует два цифроаналоговых преобразователя, кото- рые обеспечивают напряжения вертикальной и горизонтальной разверток электрон- но-лучевой трубки (ЭЛТ). С помощью данных из памяти формируется вертикальная развертка электронного луча, а счетчик временной развертки обеспечивает горизон- тальное отклонение в форме пилообразного опорного напряжения. Блок управления синхронизирует вывод изображения на экран, одновременно увеличивая состояния на выходах счетчика адреса и счетчика временной развертки, так что горизонталь- ный шаг электронного луча сопровождается поступлением нового значения данных из памяти на ЦАП вертикальной развертки. Счетчики функционируют непрерывно, поэтому хранящаяся информация также непрерывно отображается на экране ЭЛТ. Сам экран состоит из дискретных точек, которые представляют различные точки данных. Обычно количество точек достаточно велико (1000 или более), так что они сливаются вместе и мы видим на экране сплошную линию, которая соответствует входному сигналу. Работа индикатора заканчивается, когда оператор нажимает на лицевой панели прибора на кнопку, которая выдает на осциллограф команду начала следующего цикла преобразования. Сопряжение с аналоговым миром 735
Блок сбооа данных развертки о е> » о
Запоминающий блок Блок отображения данных
Другие области применения Операции, выполняемые с помощью цифрового запоминающего осциллографа (сбор данных, дискретизация сигнала, хранение/вывод данных), используются и в других областях применения ЦАП и АЦП. Например, при цифровой аудиозаписи аналоговый звуковой сигнал с микрофона поступает на АЦП, где квантуется, а затем сохраняется на каком-то носителе (магнитной ленте, оптическом или магнитном диске). Хранящуюся информацию можно воспроизвести, подавая записанные данные на ЦАП для восстановления исходного сигнала. Этот сигнал будет подан на усили- тель и с него на колонки, которые и воспроизведут записанный звук. Контрольные вопросы 1 . Назовите преимущества цифровых запоминающих осциллографов по сравне- нию с обычными. 2 . Опишите функции АЦП и ЦАП в работе цифрового запоминающего осциллографа. 10.18. Цифровая обработка сигналов Одна из наиболее динамично развивающихся областей применения цифровых систем на сегодняшний день — это цифровая обработка сигналов (Digital Signal Processing — DSP). Система DSP представляет собой специфическую форму микро- процессорной системы, которая специально оптимизирована для выполнения повто- ряющихся вычислений над потоками цифровых данных. Оцифрованные данные обычно подаются на DSP с аналого-цифрового преобразователя. Мы не будем рас- сматривать математические теории, с помощью которых система DSP может обраба- тывать эти данные, а лишь подчеркнем, что операции осуществляются (причем очень быстро) над каждой новой точкой данных, поступившей в микропроцессор. В этих вычислениях используется не только последняя поступившая точка данных, но и не- сколько предыдущих отсчетов. В результате такой обработки сигнала формируется новая величина, соответствующая данной точке. Обычно новое значение пересылает- ся на цифроаналоговый преобразователь. Система цифровой обработки сигнала вы- полняется по структурной схеме, похожей на ту, которая была приведена на рис. 10.1. Основная же разница заключается в том, что в блоке компьютерной обра- ботки применяется специализированное аппаратное обеспечение. Главная область применения DSP — фильтрация и предварительное формирова- ние аналоговых сигналов. Например, система DSP может быть запрограммирована на прием аналогового сигнала (такого, как музыка с предусилителя) и выдачу на выход только тех частотных компонентов, которые лежат ниже определенной частоты. Все более высокие частоты будут заглушаться фильтром. Однако эту функцию можно реализовать с помощью простого фильтра нижних частот, который состоит из рези- стора и конденсатора. Преимущество DSP по сравнению с таким фильтром — гиб- кость и возможность переключения критической частоты без замены компонентов. Вместо этого в расчетах, производимых системой, следует просто изменить числовые данные, а система сама адаптируется к динамической обработке сигнала и фильтра- ции. Вам когда-нибудь доводилось бывать в большом зале, например, на концерте, где система громкоговорителей вдруг начинала страшно свистеть и визжать? Такие сбои в работе оборудования легко предотвратить, используя отрицательную обратную связь и фильтрацию усилившейся частоты. К сожалению, частота, которая вызывает подобные звуковые искажения, может изменяться в зависимости от количества лю- дей в зале, драпировки, а покрытий стен и потолка, а также от многих других фак- торов. Однако с помощью эквалайзера со встроенной системой цифровой обработки сигнала (DSP) можно детектировать частоту колебаний и динамически подстраивать фильтры таким образом, чтобы данная составляющая сигнала вырезалась. Сопряжение с аналоговым миром 737
Цифровая фильтрация Чтобы детально раскрыть принцип действия цифровой фильтрации, приведем конкретный пример. Представьте, что вы покупаете и продаете ценные бумаги на бирже. Чтобы решить, когда продавать или покупать акции, вы должны быть осве- домлены о ситуации на рынке. Скорее всего, вы проигнорируете внезапные кратко- временные (т.е. высокочастотные) изменения курсов, но зато примете во внимание общие тенденции (изменения с периодом в среднем 30 дней). Каждый день, читая га- зету, вы берете в качестве отсчета цену, установленную на момент закрытия вашей биржи, и записываете ее. Затем вы используете формулу, с помощью которой под- считываете среднюю за последние 30 дней цену. Вы строите график средних значе- ний, как показано на рис. 10.29, и согласно результирующей линии принимаете ре- шения. Это и есть фильтрация цифрового сигнала (последовательность отсчетов дан- ных), которая отражает активность рынка ценных бумаг. 1 Индекс акций за день Скользящее среднее за 30 дней Рис. 10.29. Цифровая фильтрация поведения цен на рынке ценных бумаг Теперь представьте себе ситуацию, когда вместо выборки цен на бирже цифровая система должна произвести обработку аудиосигнала (аналогового) от микрофона, ис- пользуя АЦП. Вместо того чтобы брать один отсчет в день (как в приведенном выше примере), система должна взять 20 000 отсчетов в секунду (т.е. по одному каждые 50 мкс). Над каждой точкой данных осуществляется операция по преобразованию этого значения в средневзвешенное, для чего используются 256 последних взятых точек отсчета. В результате на выходе формируется очередная точка данных. Под средневзвешенным значением подразумевается то, что одни точки данных рассмат- риваются системой как более важные, чем другие. Каждый из отсчетов умножается на дробное число (от 0 до 1), а затем все они складываются вместе. Обработка (фильтрация) аудиосигнала и состоит в таком расчете средневзвешенных значений. Наиболее сложная часть DSP-процесса состоит в определении правильных весовых коэффициентов для выполнения вычислений, чтобы можно было достичь требуемых характеристик фильтра. Существует большое разнообразие компьютерных программ, которые проводят все расчеты. Специальное аппаратное обеспечение выполняет сле- дующие задачи: 1. Снимает очередной отсчет (одно новое число) с АЦП. 2. Заменяет наиболее старый отсчет (из 256 последних), поступивший из АЦП, но- вым значением. 3. Умножает каждую из 256 точек данных (отсчетов) на соответствующие им весо- вые коэффициенты. 738 Глава 10
4. Складывает полученные произведения. 5. Передает результирующую сумму (1 число) на ЦАП. На рис. 10.30 показана типовая архитектура системы цифровой обработки сигна- лов. Блок умножителя с накопителем — это основная часть всех систем DSP, так как он задействован в абсолютном большинстве Операций. Специальное оборудование (более подробно рассмотрено в главе 11), используется для реализации запоминающе- го устройства, в котором сохраняются отсчеты данных и весовые значения. Арифме- тико-логическое устройство (АЛУ) и многорегистровое циклическое сдвиговое уст- ройство (сдвиговый регистр) служат необходимым средством работы с двоичными числами при обработке сигналов. АЦП Регистры циклического сдвига Процессор для цифровой обработки сигналов Накапливающий сумматор Арифметико- логическое устройство Константы для взвешивающего фильтра Память данных Самая старая выборка Ум1-ожигал > Рис. 10.30. Архитектура системы цифровой обработки сигналов Память программ Новая выборка Другая полезная область применения DSP — супердискретизация, или интерпо- ляционная фильтрация. Восстановленный сигнал всегда является только лишь при- ближением к исходному, так как невозможно полностью избежать ошибок дискрети- зации. Внезапные изменения функции от одной точки данных к следующей также вносят высокочастотный шум в восстанавливаемый сигнал. Система DSP может вставлять в цифровой сигнал интерполированные точки данных. На рис. 10.31 пока- зано, как четырехкратная интерполяция с повышенной частотой дискретизации сглаживает сигнал и позволяет производить последующую фильтрацию, используя более простую аналоговую схемотехнику. DSP осуществляет подобную функцию в проигрывателе компакт-дисков, что обеспечивает отличное качество воспроизведения аудиозаписей. Круглые точки представляют данные, записанные на компакт-диск в цифровой форме. Треугольниками показаны интерполированные точки данных, ко- торые встроенный цифровой фильтр вставляет перед тем, как результирующий сиг- нал будет выдан в наушники. Сопряжение с аналоговым миром 739
Аналого-цифровое и цифроаналоговое преобразования, а также соответствующее аппаратное обеспечение играют важную роль в DSP наряду со сбором данных и вы- боркой отсчетов. Для того чтобы понять аппаратную часть и принципы программи- рования DSP-систем, необходимо предварительно изучить представление чисел (включая дроби) в виде знаковых двоичных величин, сложение и умножение двоич- ных чисел со знаком (см. главу 6), работу сдвиговых регистров (глава 7). Также важ- но в совершенстве знать принципы построения и функционирования систем памяти, которые описаны в следующей главе. Системы DSP интегрируются во многие электронные системы. Например, CD- плейеры используют цифровую обработку сигналов для фильтрации цифровых дан- ных, которые считываются с носителя для того, чтобы минимизировать шум от дис- кретизации, неизбежно возникающий при оцифровке музыки. В телефонах DSP применяется для удаления из линий эффектов эха. Высокоскоростные модемы, ис- пользуемые в персональных компьютерах, стали доступными в цене и получили ши- рокое распространение почти исключительно благодаря все тому же DSP. Специаль- ные устройства для генерации эффектов (в электрогитарах и других музыкальных инструментах) способны осуществлять эффекты эха, реверберации, фазирования и пр.; при этом опять же используется DSP. Сегодня применение систем цифровой об- работки сигналов растет с той же скоростью, с которой увеличивалось число приме- нений микропроцессоров в начале 1980-х. Системы DSP обеспечивают цифровое ре- шение многих традиционно аналоговых проблем. DSP применяются практически во всех современных электронных системах, они служат для распознавания голоса, шифрования данных телекоммуникации, быстрых преобразований Фурье, обработки изображений в цифровом телевидении, для формирования ультразвуковых сигналов в медицинской электронике, подавления помех в промышленных условиях. Контрольные вопросы 1. Какая основная область применения DSP? 2. Назовите типичный источник цифровых данных, обрабатываемых системой DSP. 3. Какое преимущество имеют фильтры DSP по сравнению с простыми аналого- выми фильтрами? 4. Назовите основной блок аппаратной части системы DSP. 5. Сколько интерполированных точек данных будет вставлено между отсчетами при использовании цифровой фильтрации с четырехкратно повышенной часто- той дискретизации? При восьмикратной фильтрации с восьмикратно повышен- ной частотой? 740 Глава 10
Резюме 1. Измеряемые физические переменные, такие как температура, давление, влаж- ность, расстояние или скорость — это непрерывно изменяющиеся величины. Для их преобразования в электрический сигнал (ток или напряжение), который про- порционален изменению самой величины, используется преобразователь. Непре- рывно изменяющийся переменный ток или напряжение представляет собой ана- логовый. стиал. 2. Для измерения физической переменной цифровая система должна присвоить те- кущему аналоговому значению некоторое соответствующее ему двоичное число. Для этого служит аналого-цифровой преобразователь. Для формирования пере- менного напряжения или тока, с помощью которых можно контролировать фи- зический процесс, цифровая система должна преобразовать двоичные числа в значения амплитуд тока или напряжения. Это делается с помощью цифроанало- гового преобразователя. 3. Цифроаналоговый преобразователь с разрядностью п бит делит диапазон анало- говых значений (напряжения или тока) на 2П - 1 уровней. Величина, или ампли- туда каждого такого уровня представляет собой эквивалент веса наименьшего значащего бита. Эта величина называется разрешающей способностью, или вели- чиной шага квантования. 4. В большинстве цифроаналоговых преобразователей используется структура из ре- зисторов, которые при поступлении сигнала на любой из двоичных входов могут сформировать токи, соответствующие весовым коэффициентам разрядов. Вели- чина протекающего тока будет пропорциональна двоичному весу каждого вход- ного бита. Эти взвешенные токи суммируются и образуют выходной аналоговый сигнал. 5. Аналого-цифровой преобразователь должен поставить в соответствие аналоговой величине (непрерывно изменяющейся) какое-то аналоговое число. Точность, с ко- торой АЦП может осуществлять преобразование, зависит от величины аналогово- го диапазона и от того, сколько различных чисел он может назначить. Наимень- шее изменение аналогового значения, которое может измерить АЦП, называется разрешающей способностью и равняется весу наименьшего значащего бита. 6. Выборка значений входящего аналогового сигнала, преобразование этого сигнала в цифровой и хранение цифровых значений в запоминающем устройстве дают полную информацию о форме аналогового сигнала. Для его восстановления циф- ровые значения считываются из запоминающего устройства с той же скоростью, с которой они были записаны, а затем подаются на цифроаналоговый преобразо- ватель. Выходной сигнал ЦАП фильтруется для того, чтобы сгладить отдельные ступени, а затем воссоздать форму исходного сигнала. Ширина полосы частот дискретизированного сигнала ограничивается частотой где Fs — частота дискретизации. Если частотные составляющие входного сигнала превышают то возникают побочные низкочастотные помехи (помехи дискретизации), частота которых равна разности между частотой Fs и частотой входного сигнала. Эта разность всегда меньше, чем 7. Аналого-цифровой преобразователь интегрирующего типа — наиболее простой для понимания принцип функционирования, но при этом он редко применяется на практике из-за переменного времени преобразования сигналов. АЦП пораз- рядного уравновешивания имеет постоянную величину времени преобразования и, по-видимому, является наиболее распространенным типом АЦП. 8. Аналого-цифровые преобразователи параллельного типа используют компараторы и приоритетный шифратор, который ставит входному аналоговому сигналу в со- ответствие некоторое цифровое значение. АЦП параллельного типа — наиболее быстрые АЦП, так как скорость преобразования ограничивается только задерж- ками распространения сигнала в элементах схемы. Сопряжение с аналоговым миром 741
9. Другие используемые типы аналого-цифровых преобразователей включают ревер- сивные (следящие) АЦП, АЦП двойного интегрирования, преобразователи на- пряжение-частота, сигма/дельта преобразователи. Каждый из этих типов имеет свои собственные области применения. 10. Любой цифроаналоговый преобразователь может быть использован вместе с дру- гими элементами, такими как, например, аналоговые мультиплексоры, выби- рающие сигнал, который в данный момент времени нужно преобразовать из не- скольких аналоговых сигналов. Схемы выборки и удержания используются для того, чтобы “заморозить” быстро изменяющийся аналоговый сигнал на время преобразования. 11. Цифровая обработка сигналов (DSP) — одна из наиболее быстро растущих облас- тей применения цифровой электроники. Устройства DSP позволяют быстро осу- ществлять вычисления и эмулировать в цифровых системах функции многих аналоговых схем фильтров. Основная часть архитектуры таких устройств — ум- ножитель и сумматор (накопитель), которые перемножают пары чисел и вычис- ляют сумму полученных произведений. Эти элементы используются для эффек- тивного вычисления средневзвешенных значений, на основе которых реализуют- ся цифровая фильтрация и другие функции DSP. Цифровая обработка сигналов применяется в Hi-Fi аудиотехнике, высококачественном телевидении, телеком- муникации. Основные термины цифровое представление аналоговое представление преобразователь аналого-цифровой преобразователь (АЦП) цифроаналоговый преобразователь (ЦАП) полномасштабный выходной сигнал величина шага квантования/разрешающая способность ступенчатая функция погрешность максимального показания погрешность вследствие нелинейности погрешность смещений нуля время установления сигнала монотонность дискретизация (оцифровка) сигнала выборка (значений сигнала) субдискретизация (выборка с пониженной частотой дискретизации) побочные низкочастотные помехи (помехи дискретизации) интегрирующие АЦП Упражнения Разделы 10.1 и 10.2 погрешность квантования АЦП поразрядного уравновешивания дифференциальные входы команда записи (WRITE) параллельные АЦП реверсивные интегрирующие АЦП АЦП двойного интегрирования АЦП с преобразованием напряжение-частота сигма/дельта модуляция схемы выборки и удержания время захвата цифровая обработка сигналов (DSP) супердискретизация (выборка с повышенной частотой дискретизации) интерполяционная фильтрация средневзвешенное значение арифметико-логическое устройство многорегистровое циклическое сдвиговое устройство блок умножителя и накопителя Практическое задание (В) 10.1. а) Как связаны между собой входной и выходной сигналы ЦАП? б) Дайте определение термину величина шага квантования ЦАП. 742 Глава 10
в) Дайте определение термину разрешающая способность ЦАП. г) Дайте определение термину полномасштабный сигнал. д) Дайте определение термину процентная разрешающая способность. е) Проверьте истинность высказывания. При одинаковых полномасштаб- ных сигналах 10-битивый ЦАП имеет более низкую разрешающую спо- собность, чем 12-битовый. ж) Проверьте истинность высказывания. 10-битовый ЦАП, величина пол- номасштабного сигнала которого составляет 10 В, имеет меньшую про- центную разрешающую способность, чем 10-битовый ЦАП, величина полномасштабного сигнала которого составляет 12 В. (В) 10.2. С выхода 8-битового ЦАП снимается напряжение амплитудой 2,0 В при по- данном на вход коде 01100100. Каким будет значение выходного напряже- ния VBbIx, если подать код 10110011? (В) 10.3. Определите вес каждого входного бита для ЦАП из упражнения 10.2. (В) 10.4. Какой будет разрешающая способность ЦАП из упражнения 10.2? Выразите ее в вольтах и в процентах. (В) 10.5. Какой будет разрешающая способность 10-битового ЦАП, величина полно- масштабного сигнала которого составляет 5 В? Выразите ее в вольтах. (В) 10.6. Сколько бит потребуется для того, чтобы величина полномасштабного сиг- нала ЦАП составила 10 мА, а его разрешающая способность была не менее 40 мкА? (В) 10.7. Какой будет процентная разрешающая способность ЦАП. изображенного на рис. 10.32? Какой будет величина шага квантования, если высота верхнего шага составляет 2 В? импульсы Рис. 10.32. Упражнения 10.7 и 10.8. (С) 10.8. Какова причина выбросов напряжения отрицательной полярности, иска- жающих сигнал Гвых» показанный на рис. 10.32? (Подсказка', обратите Сопряжение с анапоговым миром 743
внимание на тот факт, что используется счетчик со сквозным переносом, а выбросы возникают лишь на каждом втором шаге.) (В) 10,9. Пусть некоторый 12-битовый ЦАП имеет идеальную точность; насколько близко можно настроить скорость вращения ротора мотора к величине 250 об./мин (см. рис. 10.4)? 10.10. Трехразрядный 12-битовый ЦАП, который обрабатывает двоично- десятичный код, имеет величину полномасштабного сигнала, равную 9,99 В. Определите величину шага квантования, процентную разрешающую способ- ность и значение Гвых при поданном на вход коде 011010010101. 10.11. Сравните величину шага квантования и процентную разрешающую способ- ность ЦАП с 8-битовым двоичным входом и ЦАП с 8-битовым двоично- десятичным входом. Пусть величины полномасштабных сигналов обоих ЦАП равны и составляют 990 мВ. 10.12. Определите вес каждого бита для двоично-десятичного ЦАП из упражнения 10.10. Каким будет сигнал на выходе данного преобразователя, если подать на его вход код 100000100011? Раздел 10.3 (D) 10.13. Величину шага квантования ЦАП, показанного на рис. 10.6, можно изме- нять, меняя сопротивление RF. Определите требуемую величину сопротив- ления для юго, чтобы получить величину шага квантования, равную 0,5 В. Изменится ли при новом значении RF процентная разрешающая способ- ность? (D) 10.14. Предположим, что сигнал с выхода АЦП, изображенного на рис. 10.8, а, подается на операционный усилитель, показанный на рис. 10.8, б. а) Определите величину шага квантования и напряжение полномасштабно- го сигнала при VBbIX = 4 В, R = 20 кОм, R? = 10 кОм. б) Измените значение сопротивления Rr таким образом, чтобы напряжение полномасштабного сигнала составило -2 В. в) Используя новое значение /?F, определите коэффициент пропорциональ- ности К по формуле Квых = В (^оп х В). 10.15. Какое преимущество имеет ЦАП, показанный на рис. 10.9, по сравнению с ЦАП на рис. 10.8, особенно при большой разрядности обоих ЦАП? Разделы 10.4—10.6 10.16. Некоторый 8-битовый ЦАП имеет погрешность максимального показания, равную 0,2% п.с. Если величина полномасштабного сигнала составляет 10 мА, то каким может быть максимальное отклонение выходного сигнала от ожи- даемого? Если при поступлении на вход кода 00000001 на выходе ЦАП формируется ток величиной 50 мкА, то будет ли это значение лежать в пре- делах указанного диапазона точности? (Предполагается, что погрешность смещения нуля отсутствует.) (С, N) 10.17. Управление позиционирующим устройством может осуществляться с помо- щью применения серводвигателя. Серводвигателем называется мотор, кото- рый перемещает механическое устройство до тех пор, пока сигнал ошибки не станет равен нулю. На рис. 10.33 показан простой пример управляемой 744 Глава 10
серводвигателем системы, которая контролируется цифровым сигналом, по- ступающим непосредственно с компьютера или с переходного устройства (например, с накопителя на магнитной ленте). Под действием серводвигате- ля плечо рычага может перемещаться в вертикальной плоскости. Двигатель вращается по часовой стрелке или против нее в зависимости от знака на- пряжения с усилителя мощности. Когда на выходе усилителя сигнал стано- вится равен нулю, серводвигатель останавливается. ЦАП Полное напряжение +10В Рис. 10.33. Упражнение 10.17. Цифровой 'вход Координаты позиции рычага преобразуются в постоянное напряжение с по- мощью потенциометра, как показано на рисунке. Когда рычаг находится в нулевой точке координат, то напряжение УР = О В. Значение VP увеличива- ется со скоростью 1 В/дюйм до тех пор, пока рычаг не будет находиться в наивысшей точке (с отклонением 10 дюймов), где VP = 10 В Требуемое по- ложение рычага обеспечивается с помощью цифрового кода, поступающего с компьютера; этот код подается на ЦАП, с выхода которого снимается на- пряжение VA. Разность между напряжениями VP и VA называется ошибкой и формируется на выходе дифференциального (разностного) усилителя. За- тем сигнал ошибки (иногда его называют сигналом рассогласования) подает- ся на усилитель мощности и поступает на серводвигатель. При этом поляр- ность сигнала оказывается такой, что сигнал ошибки стремится к 0, т.е. значения ИР и VA стремятся к равенству. а) Сколько бит потребуется для того, чтобы позиционировать рычаг с по- грешностью (разрешающей способностью) 0,1 дюйм? Сопряжение с аналоговым миром 745
б) В реальных условиях плечо рычига может немного колебаться относи- тельно выставленной позиции, особенно при использовании проволочно- го потенциометра. Можете ли вы объяснить, почему это происходит? Практическое задание (В) 10.1 8., Дайте определение терминам: а) резистивная цепь из сопротивлений с двоично распределенными весами; б) резистивная цепь типа R/2R; в) время установления сигнала; г) погрешность максимального показания; д) погрешность смещения нуля. 10.19. Некоторый шестибитовый ЦАП имеет величину полномасштабного сигнала, равную 1,260 В. Точность данного преобразователя указана как ±0,1% п.с., а погрешность смещения — ±1 мВ. Предположим, что погрешность смеще- ния не была скомпенсирована. Внимательно изучите измерения, проведен- ные с помощью ЦАП (табл. 10.7), и определите, какие из них не лежат внутри указанного в спецификации диапазона. (Подсказка: погрешность смещения нуля складывается с погрешностью, вызванной неточностью изго- товления компонентов устройства.) Таблица 10.7 I Входной код Выходной сигнал 000010 41,5 мВ 000111 140,2 мВ 001100 242,5 мВ 111111 1,258 В Раздел 10.7 (Т) 10.20. Для некоторого ЦАП в спецификации указаны следующие параметры: раз- рядность — 8 бит; величина полномасштабного сигнала 2,55 В; погрешность смещения < 2 мВ; точность ±0,1% п.с. Статический тест показал результа- ты, приведенные в табл. 10.8. Какова возможная причина неисправности ЦАП? Иаблиць 10.8 / в Й* и ’ч.- 91 № в. Входной код Выходной сигнал 00000000 8 мВ 00000001 18,2 мВ 00000010 28,5 мВ 00000100 18,3 мВ 00001111 158,3 мВ 10000000 1,289 В 746 Глава 10
10.21. Повторите упражнение 10.20, используя данные из табл. 10.9. Таблица 10.9 8 Входной код Выходной сигнал 00000000 20,5 мВ 00000001 30,5 мВ 00000010 20,5 мВ 00000100 60,6 мВ 00001111 150,6 мВ 10000000 1,300 В (Т) 10.22. Техник подключил счетчик к ЦАП, показанному на рис. 10.3, и провел тест ступенчатой функции с частотой сигнала синхронизации 1 кГц. Результат показан на рис. 10.34. Какая возможная причина могла привести к появле- нию неправильной ступенчатой функции? 10 Время, мс 15 Рис. 10.34. Упражнение 10.22. Разделы 10.8 и 10.9 Практическое задание 10.23. Заполните пробелы в приведенном ниже описании АЦП, изображенного на рис. 10.13. Каждый пробел может представлять как одно, так и несколько слов. 747 Сопряжение с аналоговым миром
Импульс запуска (START) подается для того, чтобы счетчик и не дать пройти через элемент И на. В этот момент сигнал с вы- хода ЦАП VAX становится и при этом сигнал ЕОС . Когда импульс запуска возвращается в, элемент И, и счетчик снова начинает. Сигнал Удх увеличивается по одному за еди- ницу времени до тех пор, пока он не VA. В этот момент при- нимает низкий уровень напряжения, чтобы дальнейшим импульсам пройти. Это состояние сигнализирует об окончании преобразования. Цифровой эквивалент напряжения VA находится в. (В) 10.24. Восьмибитовый интегрирующий АЦП с разрешающей способностью 40 мВ использует частоту синхронизации 2,5 МГц и компаратор со значением по- рогового напряжения VT = 1 мВ. Определите следующие значения: а) цифровой код для значения VA = 6,000 В; б) цифровой код для значения УА = 6,035 В; в) максимальное и среднее времена преобразования данного АЦП. (В) 10.25. Почему цифровые коды для пп. а и б из упражнения 10.24 совпали? (D) 10.26. Что произойдет с АЦП из упражнения 10.24, если на вход подать аналого- вое напряжение величиной VA = 10,853 В? Как будет выглядеть форма сиг- нала на выходе цифроаналогового преобразователя? Добавьте к АЦП необ- ходимые логические элементы для того, чтобы при слишком больших зна- чениях напряжения VA формировался сигнал предупреждения. (В) 10.27. Некоторый АЦП имеет следующие характеристики: разрядность 12 бит; по- грешность максимального показания 0,03% п.с.; величина полномасштабно- го сигнала +5 В. а) Какой будет погрешность квантования в вольтах? б) Определите общую погрешность преобразования в вольтах. (С, N) 10.28. Ошибка квантования АЦП, который показан на рис. 10.13, всегда является величиной положительной, так как значение Vax должно превысить значе- ние VA, чтобы сигнал с выхода компаратора изменил свое состояние. Это го- ворит о том, что значение VAX может быть больше VA на величину, почти равную весу младшего значащего бита. Эту погрешность квантования можно изменить таким образом, что Удх будет отличаться от VA на величину, рав- ную ±х/2 веса младшего значащего бита. Этого можно добиться, прибавив к значению VA фиксированное напряжение, величина которого равна 1 /2 веса младшего значащего бита (т.е. равна х/2 шага квантования). На рис. 10.35 показана символическая схема, осуществляющая изменение погрешности для АЦП с разрешающей способностью 10 мВ/шаг. Фиксированное напря- жение величиной +5 мВ складывается в суммирующем усилителе с сигна- лом с выхода ЦАП; результирующий сигнал ИАУ подается на компаратор с пороговым напряжением VT = 1 мВ. Определите цифровой код на выходе измененного АЦП для следующих зна- чений аналогового сигнала VA: a) VA = 5,022 В; б) VA = 50,28 В. 748 Глава 10
Рис. 10.35. Упражнения 10.28 и 10.29 Определите погрешность квантования в каждом случае, сравнивая напря- жения Рдх и ГА. Обратите внимание, что погрешность будет положительной в первом случае и отрицательной во втором. (С) 10.29. Для АЦП, изображенного на рис. 10.35, определите диапазон входных зна- чений, которые, будучи поданными на преобразователь, приведут к форми- рованию цифрового кода 0100011100. Раздел 10.10 (N) 10.30. Предположим, что аналоговый сигнал (рис. 10.36, а) должен быть оцифрован с помощью 8-битового интегрирующего аналого-цифрового преобразователя, ступенчатая функция которого возрастает со скоростью 1 В каждые 25 мкс. Зарисуйте восстановленный сигнал, используя данные, полученные во вре- мя процесса дискретизации (оцифровки). Сравните его с исходным сигналом и поясните, что можно сделать, чтобы получить более точное соответствие сигналов. (С) 10.31. На синусоидальном сигнале (рис. 10.36, б) отметьте точки, в которых анало- го-цифровой преобразователь параллельного типа берет отсчеты с интерва- лами 75 мкс (начиная с нуля). Затем нарисуйте сигнал, восстановленный на выходе цифроаналогового преобразователя (соедините точки отсчетов пря- мыми линиями, чтобы изобразить фильтрацию). Подсчитайте частоту дис- кретизации, а также разность между ней и частотой входного синусоидаль- СОПРЯЖЕНИЕ С АНАЛОГОВЫМ МИРОМ 749
ного сигнала. Затем сравните полученное значение с частотой восстановлен- ного сигнала. 10.32. Система сбора данных используется для оцифровки аудиосигнала. Предпо- ложим, что частота дискретизации Fs = 20 кГц. Определите частоту выход- ного сигнала при следующих частотах на входе: а) Гвх = 5 кГц; б) FBx = ЮЛ кГц; в) Гвх = 10,2 кГц; г) Гвх = 15 кГц; Д) FBX = 19,1 кГц; е) Fbx = 19,2 кГц. Рис. 10.36. Упражнения 10.30, 10.31 и 10.41 Раздел 10.11 Практическое задание (В) 10.33. Укажите, к какому типу аналого-цифровых преобразователей (интегрирую- щим, поразрядного уравновешивания или сразу к обоим) относятся приве- денные ниже утверждения. а) На выходе встроенного ЦАП формируется ступенчатый сигнал. б) Имеет постоянную величину времени преобразования независимо от значения VA. в) В среднем имеет меньшую величину времени преобразования. г) Включает аналоговый компаратор. д) Включает ЦАП. е) Включает счетчик. ж) Имеет сложное устройство управления. з) Вырабатывает сигнал окончания преобразования (ЕОС). 750 Глава 10
10.34. Нарисуйте форму сигнала Удх на выходе АЦП поразрядного уравновешива- ния, изображенного на рис. 10.19, при поданном на вход аналоговом на- пряжении VA = 6,7 В. 10.35. Повторите упражнение 10.34 при УА = 16 В. (В) 10.36. Величина полномасштабного сигнала некоторого АЦП поразрядного уравно- вешивания составляет 2,55 В. Время преобразования для VA = 1 В составля- ет 80 мкс. Каким будет время преобразования для напряжения VA — 1,5 В? 10.37. На рис. 10.37 показана форма сигнала Van в течение полного цикла преоб- разования на выходе шестибитового АЦП поразрядного уравновешивания, величина шага квантования которого равна 40 мВ. Внимательно изучите сигнал и опишите, что происходит в моменты с t0 по t5. Затем определите результирующий цифровой сигнал. Рис. 10.37. Упражнение 10.37. (В) 10.38. Вернемся к рис. 10.21. Каким будет приблизительное значение аналогового напряжения на входе схемы, если в момент, когда сигнал чтения RD при- нимает состояние с низким уровнем напряжения, на шине данных микро- компьютера наблюдается состояние 10010111? (D) 10.39. Присоедините двухвольтный источник опорного напряжения ко входу Уоп/2 той же схемы и повторите упражнение 10.38. (С, D) 10.40. Спроектируйте схему сопряжения АЦП и цифрового термостата, исполь- зующего датчик температуры LM34 и АЦП ADC0804. Ваша система должна измерять температуру от 50 до 101° Фаренгейта с точностью ±0,2° Фарен- гейта. ИС LM34 выдает напряжение 0,01 В на каждый градус; при темпера- туре 0° Фаренгейта напряжение составляет 0 В. а) Каким будет цифровое значение при температуре 50° Фаренгейта при идеальной разрешающей способности? Сопряжение с аналоговым миром 751
б) Какое напряжение следует подать на отрицательный дифференциальный вход VBX(-)? в) Каким будет диапазон напряжения от нуля до полномасштабного сигнала? г) Какое напряжение следует подать на вход Von/2? д) Какое двоичное число будет представлять температуру 72° Фаренгейта? е) Какой будет разрешающая способность в градусах Фаренгейта? В вольтах? Раздел 10.12 (В) 10.41. Поясните, как будет работать АЦП, величина времени преобразования ко- торого равна 1 мкс, в ситуации, описанной в упражнении 10.30. (D) 10.42. Нарисуйте функциональную схему параллельного четырехбитового преобра- зователя с двоично-десятичным выходом и разрешающей способностью 0,1 В. Пусть в качестве прецизионного источника опорного напряжения вы- ступает источник +5 В. Практическое задание (В) 10.43. Для каждого из следующих утверждений укажите, какой тип АЦП имелся в виду: интегрирующий, поразрядного уравновешивания или параллельный. а) Наиболее быстрый (наименьшее время преобразования). б) Для начала преобразования следует подать импульс запуска (START). в) Требует наибольшего количества логических элементов. г) Не включает в себя ЦАП. д) Формирует ступенчатый сигнал. е) Включает аналоговый компаратор. ж) Имеет постоянную величину времени преобразования независимо от значения VA. Раздел 10.13 Практическое задание (В) 10.44. Укажите, какой тип (один или несколько) АЦП имелся в виду в каждом из следующих утверждений. а) Включает счетчик, который никогда не сбрасывается в 0. б) Состоит из большого количества компараторов. в) Включает генератор, управляемый напряжением. г) Используется в промышленной обстановке в условиях интенсивных помех. д) Включает конденсатор. е) Относительно малочувствителен к влиянию температуры. Раздел 10.14 10.45. Напряжение VA = 3,853 В подается на цифровой вольтметр, схема которого изображена на рис. 10.24. Пусть в начальный момент времени счетчики на- ходятся в нулевых состояниях. Нарисуйте формы сигналов VAX, СОМР 752 Глава 10
(сигнал на выходе компаратора), на выходах Qlt Q2 и на выходе элемента И в течение двух полных циклов преобразования. Известно, что частота сиг- нала синхронизации равна 100 кГц, а длительность импульса обоих одно- вибраторов tP составляет 1 мкс. (Т) 10.46. Внимательно изучите схему цифрового вольтметра, показанного на рис. 10.24. Известно, что схема корректно обрабатывает аналоговые значе- ния до величины VA = 7,99 В, затем схема сбрасывается в 0, а сигнал с вы- хода компаратора (СОМР) остается в состоянии с высоким уровне^ напря- жения. Какие причины могли привести к подобной работе вольтметра? (D) 10.47. Добавьте необходимые логические элементы к цифровому вольтметру (рис. 10.24) для того, чтобы в случае превышения аналоговым напряжением уровня 9,99 В загорался сигнализирующий светодиод. СИД должен автома- тически выключаться с началом нового преобразования. Разделы 10.15 и 10.16 (Т) 10.48. Какая неисправность схемы выборки и удержания (рис. 10.26) могла при- вести к тому, что выходное напряжение в точности повторяет аналоговый сигнал VА? Какая неисправность могла привести к тому, что напряжение на выходе постоянно равно 0? (С, D) 10.49. Используя КМОП ИС 4016 (см. раздел 8.16), реализуйте в схеме на рис. 10.27 функцию переключения и постройте необходимое устройство управления, которое бы контролировало преобразование аналоговых вели- чин в цифровые эквиваленты в определенной последовательности. Известно, что АЦП — это 10-битовый преобразователь поразрядного уравновешива- ния, использующий сигнал синхронизации с частотой 50 кГц. Для начала очередного цикла преобразования на АЦП подается импульс запуска дли- тельностью 10 мкс. Цифровой сигнал на выходе схемы остается стабильным в течение 100 мкс после окончания преобразования, и лишь затем схема пе- реключается на обработку следующего аналогового значения. Необходимую частоту мультиплексирующего сигнала синхронизации выберите самостоя- тельно. Функционирование микрокомпьютеров (С, N, D) 10.50. На рис. 10.21 показано, как АЦП ADC0804 сопрягается с микрокомпьюте- ром. Три сигнала управления — выбора микросхемы (chip select — CS), чтения (read — RD) и записи (write — WR) — поступают на микрокомпь- ютер с аналого-цифрового преобразователя. Эти сигналы используются для того, чтобы начать очередное преобразование и считывать (или передавать) данные с выхода АЦП по шине данных. На рис. 10.38 показан один из способов реализации логики дешифрации ад- реса. Сигнал выбора микросхемы (CS), который активизирует АЦП, снима- ется с восьми старших линий адресной шины микропроцессора. Если МПУ необходимо обменяться информацией с аналого-цифровым преобразовате- лем, то он выдает на шину адреса адрес ИС ADC0804, а логика дешифрации адреса переводит сигнал CS в состояние с низким уровнем напряжения. Сопряжение с аналоговым миром 753
Обратите внимание, что кроме линий адреса на разрешающий вход Ег ИС 74LS138 подается также сигнал синхронизации управления ALE. Со- стояние высокого уровня сигнала ALE означает, чго адрес находится в про- цессе изменения и дешифратор должен быть отключен на период, пока сиг- нал ALE не перейдет в состояние с низким уровнем (к этому времени адрес уже будет выработан стабильно). Такая работа служит для временного со- гласования элементов схемы, но не имеет никакого влияния на адрес АЦП. Логика дешифрирования KAJ VI 0804 на рис. 10.20 Рис. 10.38. Упражнение 10.50: микропроцессор, который сопряжен с АЦП ADC0804, изобра- женной на рис. 10.20 а) Определите адрес АЦП ADC0804. б) Измените схему, приведенную на рис. 10.38, таким образом, чтобы АЦП имел адрес Е8ХХ в шестнадцатеричной системе счисления. в) Измените схему, приведенную на рис. 10.38, таким образом, чтобы АЦП имел адрес FFXX в шестнадцатеричной системе счисления. (D) 10.51. Имеется 10-битовый аналого-цифровой преобразователь поразрядного урав- новешивания (ИС AD 573), но для вашей системы достаточно 8-разрядного АЦП, тем более что в данном микропроцессоре доступны только 8 свобод- ных портов. Можно ли использовать такой АЦП и если да, то какие из 10 линий данных следует подключить к микропроцессору? Раздел 10.18 10.52. Данные, приведенные в табл. 10.10, представляют отсчеты, взятые аналого- цифровым преобразователем. Обратите внимание, что если построить гра- 754 Глава 10
фик этих отсчетов, то получится простая ступенчатая функция, как будто был оцифрован линейно нарастающий сигнал. Посчитайте средневзвешен- ные значения выходного сигнала от OUT[4] до OUT[10], в каждом случае используя четыре последних отсчета. Нарисуйте графики входного (IN) и выходного (OUT) сигналов; по оси откладывайте номера отсчетов и, как по- казано на рис. 10.39. Таблица 10.10 •-.г *• -• "1 • ' Номер отсчета, п 1 2 3 4 5 6 7 8 9 ’ 10 ’ IN[n], В 0 0 0 0 10 10 10 10 10 10 оит[л], В 0 0 0 Вход/П 10-1 выход, В 8 - 6 - 4 - 2 - 1 23456789 10 Рис. 10.39. Вид графика из упражнений. 10.52 и 10.53 Формула определения значений отсчетов: OUT[n] = (IN[n-3] + IN[n-2] + IN[n-l] 4- IN[n])/4 = 0; OUT[4] = (IN[1] 4- IN[2] 4- IN[3] 4- IN[4])/4 = 0; OUT[5] = (IN[2] 4- IN[3] 4- IN[4] 4- IN[5])/4 = 2,5. (Обратите внимание, что данную формулу можно переписать в виде суммы отдельных значений отсчетов, умноженных на коэффициент х/4). 10.53. Повторите упражнение 10.52, применяя средневзвешенные значения, по- считанные с использованием четырех последних отсчетов; теперь веса более поздних отсчетов должны иметь большие весовые коэффициенты, а более ранних — меньшие. Используйте весовые коэффициенты 0,1; 0,2; 0,3 и 0,4. OUT[n] = 0,l(IN[n-3]) 4- 0,2(IN[n-2]) 4- 0,3(IN[n-l]) 4- 0,4(IN[n]) = 0; OUT[5] = 0,l(IN[2]) 4- 0,2(IN[3]) 4- 0,3(IN[4]) 4- 0,4(IN[5]) = 4. 10.54. Для чего нужен блок умножителя с накопителем? Практическое задание 10.55. Проверьте истинность высказывания: а) Цифровой сигнал представляет собой непрерывно изменяющуюся вели- чину. б) Цифровой сигнал — это последовательность чисел, которые соответст- вуют значениям аналоговой величины. При обработке аналогового сигнала выходной сигнал может быть иска- жен вследствие таких факторов: в) Погрешности дискретизации при преобразовании аналогового сигнала в цифровой. г) Недостаточно высокой частоты дискретизации исходного сигнала. Сопряжение с аналоговым миром 755
д) Колебаний температуры в компонентах процессора. е) высокочастотных компонент, связанных с внезапными изменениями на- пряжения на выходе ЦАП. ж) Электрическими шумами в источнике питания. з) Низкочастотными помехами, введенными в цифровой системе. Ответы к контрольным вопросам Раздел 10.1 1. Преобразует неэлектрическую физическую величину в электрический сигнал. 2. Для преобразования аналогового напряжения или тока в цифровой эквивалент. 3. Хранит цифровой эквивалент аналогового значения; осуществляет обработку цифрового сигнала. 4. Преобразует цифровые данные в аналоговый вид. 5. Управляет физической переменной согласно входному электрическому сигналу. Раздел 10.2 1. 40 мкА; 10,2 мА. 2. 5,12 мА. 3. 0,39%. 4. 4096. 5. 12. 6. 8,73 В. 7. Да. 8. Она позволяет получить большее количество уровней аналогового напряжения в диапазоне от 0 до величины полномасштабного сигнала. Раздел 10.3 1. В нем используются резисторы лишь двух номиналов. 2. 640 кОм. 3. 0,5 В. 4. Увеличатся на 20%. Раздел 10.4 1. Максимальное отклонение сигнала на выходе ЦАП от идеального сигнала, выра- женное в процентах или вольтах. 2. Время, которое требуется сигналу с выхода ЦАП для изменения от нуля до пол- номасштабного значения в ответ на изменение входных кодов от всех 0 до всех 1. 3. Погрешность смещения добавляет небольшую постоянную положительную или отрицательную величину к ожидаемому аналоговому значению независимо от цифрового кода на входе. 4. Потому что в этом случае добавляется время отклика операционного усилителя, выполняющего роль преобразователя ток-напряжение. 756 Глава 10
Раздел 10.8 1. Компаратор сообщает устройству управления о том, что сигнал с выхода ЦАП превысил аналоговое значение на входе. 2. На выходах регистра. 3. Сигнализирует об окончании цикла преобразования, т.е. о том, что на выходах регистра уже появился цифровой эквивалент аналогового напряжения УА. Раздел 10.9 1. Цифровой сигнал на входе ЦАП постепенно увеличивается до тех пор, пока ре- зультирующая ступенчатая функция не превысит уровня аналогового напряже- ния. « 2. Эта внутренняя погрешность устройства появляется вследствие того, что напря- жение Удх увеличивается не непрерывно, а дискретными шагами, величина ко- торых соответствует разрешающей способности устройства. Конечное значение напряжения может отличаться от аналогового значения на величину одного шага квантования. 3. С ростом напряжения VA понадобится большее количество шагов квантования для того, чтобы значение VAX превысило уровень аналогового сигнала. 4. Да. 5. Простота схемы; относительно большие величины времен преобразования, кото- рые к тому же зависят от величины аналогового сигнала. б. 00100001112 в 13510 в обоих случаях. Раздел 10.10 1. Процесс преобразования различных точек аналогового сигнала в цифровые отсче- ты с сохранением цифровых данных для последующей обработки. 2. Компьютер формирует сигнал запуска (START), который начинает процесс ана- лого-цифрового преобразования аналогового сигнала. Переход сигнала окончания преобразования (ЕОС) в состояние с низким уровнем сообщает компьютеру о за- вершении процесса. Затем происходит загрузка данных с выхода АЦП в запоми- нающее устройство. Процесс повторяется последовательно для всех выбранных точек аналогового сигнала. 3. В два раза превышающая максимальную частоту входного сигнала. 4. В выходном сигнале возникнут побочные низкочастотные составляющие (помехи - дискретизации). Раздел 10.11 1. Аналого-цифровые преобразователи поразрядного уравновешивания имеют более короткие времена преобразования, чем интегрирующие АНП, к тому же для АЦП поразрядного уравновешивания эта величина не зависит от значения анало- гового напряжения VA. 2. Они требуют более сложной управляющей логики. 3. Нет. 4. а) 8. б) 0 - 5 В. в) CS управляет работой входов WR и RD ; WR используется для начала нового преобразования; RD включает буферы на выходах схемы. Сопряжение с аналоговым миром 757
г) В состоянии с низким уровнем, сигнал с этого выхода свидетельствует об окончании преобразования. д) Вывод на цифровую землю в значительной мере подвержен шумам, по- этому его следует отделять от аналоговой земли. е) Аналоговые напряжения на входе VBX(-) измеряются относительно по- тенциала данного вывода. Это позволяет смещать диапазон допустимых аналоговых напряжений на входе относительно земли. Раздел 10.12 1. Да. 2. 4 095 компараторов и 4 096 резисторов. 3. Основное преимущество состоит в скорости преобразования; недостаток заключа- ется в количестве схемных компонентов, необходимых для построения устройст- ва с практически приемлемой разрешающей способностью. Раздел 10.13 1. Величина времени преобразования в таких АЦП уменьшается за счет примене- ния реверсивного счетчика, который позволяет сигналу Vvx отслеживать уровень напряжения УА без сброса счетчика в нулевое состояние. 2. Генератор, управляемый напряжением (ГУН). 3. Преимущества: низкая стоимость, малая чувствительность к изменению темпера- тур. Недостатки: малая скорость преобразования. 4. Параллельные /ЩП, АЦП с преобразованием напряжение-частота, АЦП двойно- го интегрирования. 5. Один. Раздел 10.14 1. В них хранятся цифровые значения, записанные в счетчики после окончания процесса очередного преобразования. 2. По переднему фронту сигнала с первого одновибратора результаты преобразова- ния передаются в регистры; импульс с выхода второго ОВ сбрасывает счетчики, тем самым начиная новый цикл преобразования. 3. Время преобразования уменьшится и станет постоянной величиной. Раздел 10.15 1. Она осуществляет хранение текущего значения аналогового сигнала на конденса- торе. 2. Нет; они имеют коэффициент усиления, равный единице, и представляют собой буферы с высоким входным и низким выходным импедансом. Раздел 10.16 1. Используется только один АЦП. 2. Он станет счетчиком с Япер=8. Раздел 10.17 1. Формы отображаемых сигналов могут быть сдвинуты и обработаны удобным спо- собом; они также могут отображать участки сигнала до момента переключения сигнала; бесконечно большое время хранения сигналов. 758 Глава 10
2. АЦП дискретизирует (оцифровывает) точки входного сигнала для их сохранения в запоминающем устройстве; ЦАП вертикальной развертки преобразует данные обратно в аналоговые значения и определяет вертикальное отклонение электрон- ного луча; ЦАП горизонтальной развертки формирует пилообразное опорное на- пряжение, которое определяет величину горизонтального отклонения электрон- ного луча. Раздел 10.18 1. Фильтрация аналоговых сигналов. 2. Аналого-цифровой преобразователь. 3. Чтобы динамически изменить реакцию фильтра, достаточно изменить выходные данные программного обеспечения, оставив без изменения аппаратную часть сис- темы. 4. Блок умножителя с накопителем. 5. 3; 7. Сопряжение с аналоговым миром 759

Глава 11 Запоминающие устройства Содержание: 11.1. Терминология систем памяти 11.2. Общие принципы функционирования схем памяти 11.3. Соединение схем памяти с центральным процессором 11.4. Постоянные запоминающие устройства 11.5. Архитектура ПЗУ 11.6. Временные параметры ПЗУ 11.7. Типы ПЗУ 11.8. Флэш память 11.9. Применение ПЗУ 11.10. Полупроводниковые ОЗУ 11.11. Архитектура ОЗУ 11.12. Статические ОЗУ (SRAM) 11.13. Динамические ОЗУ (DRAM) 11.14. Структура и функционирование динамических ОЗУ 11.15. Циклы чтения/записи динамического ОЗУ 11.16. Обновление информации в динамическом ОЗУ 11.17. Технологии динамической памяти 11.18. Увеличение длины слов данных и емкости памяти 11.19. Специальные функции памяти 11.20. Поиск неисправностей в системах оперативной памяти 11.21. Тестирование ПЗУ
В ЭТОЙ ГЛАВЕ: объяснение терминов, связанных с системами памяти; различия между двусторонней и постоянной памятью; различия между энергозависимой и энергонезависимой памятью; связь емкости запоминающего устройства с количеством его входов и вы- ходов; чтение и запись информации из памяти; различные типы ПЗУ и основные области их применения; описание структуры и принципов функционирования статических и ди- намических ОЗУ; относительные преимущества и недостатки СППЗУ, ЭСППЗУ и устройств флэш-памяти; соединение интегральных микросхем памяти в модули большей емкости или модули с большей длиной слов; тестирование систем ОЗУ или ПЗУ для определения возможных причин неисправностей в системах памяти. Введение Основное преимущество цифровых систем по сравнению с аналоговыми заключа- ется в их способности легко сохранять большие объемы цифровой информации и данных как на короткие, так и на длительные периоды времени. Это свойство памя- ти делает'цифровые системы гибким и универсальным средством решения многих проблемных ситуаций. Например, внутренняя память цифрового компьютера хранит инструкции, которые определяют действия компьютера во всех возможных ситуациях, благодаря чему он может функционировать практически без вмешательства человека. Данная глава посвящена изучению наиболее широко используемых типов памяти и систем, построенных на их основе. Ранее уже рассматривались триггеры, которые представляют собой базовые электронные элементы. Группы триггеров можно объе- динять в регистры, используемые для хранения информации, которая может быть передана в другие блоки системы. Триггерные регистры представляют собой быстро- действующие элементы памяти; они широко используются при осуществлении внут- ренних операций в компьютере, когда цифровая информация должна непрерывно передаваться от блока к блоку. Развитие технологий создания схем высокого и сверхвысокого уровня интеграции (СБИС) позволило размещать на одном чипе боль- шое количество триггеров в любом необходимом для построения нужного типа памя- ти порядке. Память на биполярных или полевых транзисторах до сих пор остается наиболее быстрой по сравнению с другими видами памяти, а с улучшением техноло- гии изготовления БИС стоимость таких транзисторов неуклонно снижается. Цифровые данные могут также храниться в виде зарядов на конденсаторах. В од- ном из очень важных типов полупроводниковой памяти этот способ служит для по- лучения высокой плотности записи информации при малой потребляемой мощности. Полупроводниковая память используется в качестве основной памяти компьютера (рис. 11.1), когда быстродействие является главным требованием. Основная память компьютера — чаще ее называют оперативной памятью — постоянно обменивается данными с центральным процессорным устройством (ЦПУ), которое обрабатывает какую-либо программу или отдельные инструкции. Все время, пока компьютер обра- батывает программу, сама она и любые используемые ею данные постоянно находят- ся в оперативной памяти. Основная память может состоять из оперативного и посто- янного запоминающих устройств (ОЗУ и ПЗУ). 762 Глава И
Рис. 11.1. Компьютер обычно имеет два типа запоминающих уст- ройств: быстродействующую основную память и более медленную вспо- могательную память В компьютере информация также может храниться во вспомогательной или пе- риферийной памяти (рис. 11.1). Вспомогательная память является запоминающим устройством большой емкости и обладает способностью хранить большие объемы ин- формации в отсутствие питания. Такая память функционирует на значительно меньших скоростях, чем основная, но она предназначена для решения другой зада- чи — хранения программ и данных, которые в текущий момент не используются центральным процессором. Эта информация по мере необходимости может переда- ваться в основную память. Наиболее распространенные типы периферийной памяти: накопители на магнитных дисках, ленточные накопители и оптические компакт- диски. В главе детально рассматриваются характеристики всех широко используемых запоминающих устройств, которые применяются в компьютерах. 11.1. Терминология систем памяти Изучение запоминающих устройств и систем связано со множеством разнообраз- ных терминов, что на первых порах может легко сбить с толку. Перед тем как углу- биться в тщательный анализ систем памяти, будет весьма полезно иметь под рукой несколько терминов, которые касаются основных аспектов функционирования запо- минающих устройств. Определения остальных терминов будут встречаться по мере их появления. Ячейка памяти. Компонент или электрическая схема, которая используется для хранения одного бита информации (0 или 1). Примерами ячеек памяти могут служить триггеры, конденсаторы, домены магнитной ленты или жесткого диска компьютера. Запоминающие устройства 763
Слово памяти. Группа битов (ячеек) памяти, которая представляет собой коман- ды или данные в каком-либо формате. Например, регистр, состоящий из восьми триггеров, можно представить в виде области памяти, которая хранит слово из 8 бит. Длина слова в современных компьютерах составляет от 4 до 64 бит в за- висимости от размера компьютера. Байт. Специальный термин, которым именуют группу из 8 бит. Байт всегда со- держит только 8 бит. Длину слова можно выражать в байтах точно так же, как и в битах. К примеру, о слове длиной 8 бит можно сказать, что оно имеет длину 1 байт; слово из 16 бит эквивалентно слову из двух байт и т.д. Емкость. Способ указания количества битов, хранящихся в конкретном запоми- нающем устройстве или полной системе памяти. Чтобы наглядно показать смысл этого термина, предположим, что имеется память, которая может хранить 4 096 20-битовых слов. Полную емкость этого устройства можно вычислить пу- тем умножения количества бит на количество слов — всего 81 920 бит. Точно так же емкость можно выразить, записав 4096 х 20, где первое число (4096) обо- значает количество слов, а второе (20) — количество бит в одном слове (длина слова). Количество слов в памяти обычно кратно величине 1024. При работе с системами памяти для обозначения величины 1024 = 210 часто используют со- кращение 1к, что значит “1 килобит”. Таким образом память, которая имеет ем- кость 4к х 20 бит, эквивалентна памяти с емкостью 4096 х 20 бит. Появление запоминающих устройств с еще большими емкостями привело к появлению новых обозначений: “1М” обозначает 220 = 1 048 576 бит или 1 мегабит. Память с емко- стью 2М х 8 можно обозначать и с помощью записи 2097152 х 8, хотя это довольно неудобно. Приставка “гига” служит для обозначения 230 = 1 073 741 824 бит (1 ги- габит). Пример 11Л А На некоторой полупроводниковой микросхеме памяти имеется маркировка 2к х 8. Сколько слов можно записать в эту память? Какой размер слова имеет информация, записанная в нее? Сколько всего бит информации можно записать в эту микросхему? Решение 2к = 2 х 1024 = 2 048 слов. Каждое слово состоит из 8 бит (1 байт). Следовательно, общее количество бит будет равно 2048 х 8 = 16384 бита. Пример 11ЛБ В какое запоминающее устройство можно записать больше информации: в то, кото- рое обозначено как 5М х 8, или то, в котором может храниться 1М слов при длине слова 16 бит? Решение • 5М х 8 = 5 х 1048576 х 8 = 41943040 бит; 1М х 16 = 1048576 х 16 = 16777216 бит. Итак, в микросхему, способную хранить 5М х 8 бит, можно записать больше данных. Плотность записи. Еще один термин, дополняющий понятие емкости. Если из- вестно, что одно запоминающее устройство обладает большей плотностью запи- си, чем другое, то это будет означать, что оно способно хранить больше бит при одинаковом занимаемом объеме рабочего материала. Запись информации в этом устройстве выполнена с большей плотностью. 764 Глава 11
Адрес. Число, которое определяет расположение слова данных в памяти. Каждое слово, которое хранится в запоминающем устройстве или системе, имеет свой уникальный адрес. В цифровых системах адреса всегда представлены в двоич- ном виде, хотя иногда используются восьмеричная, шестнадцатеричная или де- сятичная системы, если это удобнее. На рис. 11.2 показан небольшой участок памяти, состоящий из восьми слов. Каждое из них имеет собственный адрес, представленный в виде грехразрядного двоичного числа. Когда возникает необ- ходимость обратиться к определенному слову, сохраненному в памяти, то ис- пользуется соответствующий код адреса. ти соответствует уникальный , двоичный адрес Операция чтения. Операция, посредством которой двоичное слово, записанное в конкретный участок памяти (по определенному адресу), считывается из ЗУ и пе- редается в другое устройство. Например, если нужно использовать слово 4, запи- санное в память, как показано на рис. 11.2, необходимо осуществить операцию чтения по адресу 100. Эта операция часто еще называется выборкой данных, так как слово выбирается из запоминающего устройства. В книге используются оба этих термина. Операция записи. Операция, посредством которой в конкретный участок памяти записывается новое слово. Иногда также используют термин сохранение данных. Когда новое слово записывается в память, оно заменяет слово, которое храни- лось в конкретном участке до этого момента. Время доступа. Мера измерения быстродействия запоминающего устройства. Обозначает длительность интервала времени, необходимого для выполнения опе- рации чтения. Говоря более строго, время доступа — это время между моментом получения памятью адреса нового слова и моментом, когда записанные данные становятся действительно доступны. Этот параметр обозначается как £дост. Энергозависимое запоминающее устройство. Любой тип памяти, который требу- ет для свей работы подачи питания (электричества). Если от такого устройства отключить источник питания, то вся информация, хранящаяся в нем, будет утеряна. Большинство полупроводниковых запоминающих устройств энергозави- симы, тогда как ЗУ, работающие на эффекте намагничивания энергонезависимы, т.е. они способны хранить информацию даже в отсутствие подачи питания. Запоминающее устройство с произвольной выборкой (оперативное запоминаю- щее устройство — ОЗУ). Запоминающее устройство, для которого реальное фи- зическое месторасположение слова в памяти не влияет на величину времени, не- обходимого для осуществления чтения или записи в этот участок памяти. По- Зап^мийающие УСТРОЙСТВА 765
просту говоря, время доступа для такого типа ЗУ будет одинаковым независимо от адреса. Большинство полупроводниковых запоминающих устройств работают именно в качестве оперативной памяти. Запоминающее устройство с последовательной выборкой. Тип ЗУ, для которого время доступа не является постоянной величиной, а зависит от расположения записанной информации в памяти. Каждое сохраненное слово можно найти пу- тем последовательного перебора всех адресов памяти; такой процесс повторяется до тех пор, пока искомое слово не будет найдено. Вследствие этого величина времени доступа к какому-то конкретному слову данных может намного превы- шать таковую для ОЗУ. Примером запоминающего устройства с последователь- ной выборкой может служить магнитная лента. Чтобы нагляднее проиллюстри- ровать разницу между устройствами с произвольной и последовательной выбор- кой, рассмотрим ситуацию, когда на аудиокассету было записано около 60 минут музыки. Чтобы прослушать одну из песен, придется перематывать пленку назад или вперед до тех пор, пока нужная запись не будет найдена. Процесс этот относительно медленный, и к тому же время поиска будет зависеть от того, в каком месте пленки записан интересующий нас фрагмент. Такой тип устройств называется памятью с последовательной выборкой, поскольку для того, чтобы найти нужные данные, приходится последовательно перебирать всю информа- цию. Аналогом памяти с произвольной выборкой в данном случае будет ком- пакт-диск. Можно быстро выбрать любую запись на диске, просто введя нужный код, и при этом независимо от номера музыкальной композиции время доступа будет приблизительно одинаковым. Память с последовательной выборкой ис- пользуется в тех случаях, когда данные представляют собой длинную последова- тельность слов данных. Например, видеопамять должна осуществлять вывод изображения путем постоянных обновлений картинки на экране монитора, ис- ходя из записанной информации. Двусторонняя память. Любой тип памяти, который может одинаково легко слу- жить как для чтения, так и для записи информации. Постоянное запоминающее устройство — ПЗУ. Широкий класс полупроводни- ковых запоминающих устройств, предназначенных для применения в тех при- ложениях, где соотношение операций чтения и записи имеет очень большой пе- ревес в сторону чтения. Не вдаваясь в технические подробности скажем, что ПЗУ может быть записано (запрограммировано) только один раз, и эта операция обычно выполняется на заводе с использованием специального оборудования. После этого информацию из такой памяти можно только считывать. Существуют также так называемые полупостоянные запоминающие устройства, в которые данные могут быть записаны несколько раз, однако операция записи в такие устройства представляет намного более сложный процесс, чем чтение, поэтому запись используется крайне редко. В этой главе рассматриваются различные ти- пы ПЗУ, однако обратите внимание на то, что все ПЗУ являются энергонезави- симыми и могут хранить данные даже при отсутствии питания. Статическое запоминающее устройство. Полупроводниковое запоминающее уст- ройство, в котором данные могут храниться до тех пор, пока на устройство пода- ется питание. Пока есть питание, нет никакой необходимости в перезаписи ин- формации. Динамическое запоминающее устройство. Полупроводниковое запоминающее устройство, в котором данные не могут храниться постоянно даже при наличии электрического питания. Их необходимо время от времени перезаписывать в па- мять. Эта операция называется обновлением данных. Основная память. Чаще называется оперативной памятью. В ней хранятся коман- ды и данные, с которыми в текущий момент времени работает центральный процес- сор. Основная память является наиболее быстрым компонентом памяти компьютера и всегда представляет собой полупроводниковое запоминающее устройство. 766 Глава 11
Вспомогательная память. Также иногда называется массовой памятью или па мятью большой емкости, поскольку она способна хранить большие объемы ин формации вне основной памяти. Вспомогательная память более медленна, чей оперативная, зато всегда энергонезависима. Можно привести многочисленные примеры запоминающих устройств вспомогательной памяти (накопители на же- стких магнитных дисках, компакт-диски и т.д.). 1. Дайте определения следующим терминам: а) ячейка памяти; б) слово памяти; в) адрес; г) байт; д) время доступа. 2. Некоторое запоминающее устройство имеет емкость 8к х 16 бит. Сколько бит составляет каждое слово этой памяти? Сколько слов может храниться в ней? Сколько ячеек памяти содержит данное запоминающее устройство? 3. Поясните разницу между операциями чтения (выборки) и записи. 4. Проверьте истинность высказывания. При отключении электрического пита- ния все данные, хранящиеся в энергозависимой памяти, будут потеряны. 5. Поясните разницу между запоминающими устройствами с произвольной и по- следовательной выборками. 6. Поясните разницу между постоянной и двусторонней памятью. 7. Проверьте истинность высказывания. Динамическая память будет хранить данные до тех пор, пока будет подаваться электрическое питание. 11.2. Общие принципы рункционирования схем памяти Каждый тип памяти отличается своими внутренними принципами функциониро- 1ния, однако некоторые из этих принципов справедливы для всех систем памяти, онимание общих концепций работы памяти поможет вам в изучении конкретных шов запоминающих устройств. Каждая система памяти обязательно имеет несколько различных типов входных выходных линий связи, которые служат для выполнения следующих функций: Выбор адреса участка памяти, из которого требуется считать или в который тре- буется записать информацию. Выбор самой операции (чтение или запись). Передача данных, которые требуется сохранить, во время операции записи. Выдача данных на выходе запоминающего устройства во время операции чтения. Включение (выключение) запоминающего устройства, чтобы оно могло (или не могло) реагировать на вызовы адреса и команды чтения/записи, поданные на со- ответствующие входы. На рис. 11.3, а с помощью упрощенной структурной схемы проиллюстрированы :новные концепции построения и функционирования памяти емкостью 32 х 4 бита, которой, как и записано в обозначении, может храниться 32 четырехбитовых ело- УСТРОЙСТВА 767
ва. Поскольку длина слова ограничена 4 битами, то всего микросхема имеет четыре входных линии (от 10 до 13) и четыре выходных линии (от Оо до Оз). Во время опера- ции записи данные, которые должны быть записаны в память, подаются на входные линии данных. Во время выполнения операции чтения слова данных считываются из памяти посредством выходных линий данных. Входы данных Ячейки памяти СЗБ Адресные входы А2 Память 32x4 R/W ME Команда записи/чтения Разблокировка памяти С 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 о 0 0 1 0 0 0 0 0Э00 0001 0001 001 0 Адреса 0000 0 0010 0 о 4 1 0 1 Ао О3 О2 Oj о0 1 1111 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 б) о 1 1 1 Выходы данных а) Рис. 11.3. а) Структурная схема памяти емкостью 32 х 4 бита; б) формирование 32 четырехбитовых слова из ячеек памяти Входы адреса Микросхема, которая может хранить до 32 слов данных, имеет 32 различных участка памяти, которые, соответственно, описываются с помощью 32 двоичных ад- ресов со значениями от 00000 до 11111 (от 0 до 31 в десятичной системе счисления). Таким образом, всего микросхема имеет пять входов адреса: от Ао до Д4. Чтобы по- лучить доступ к любому участку памяти для осуществления операции чтения или записи, необходимо подать на входы адреса пятибитовый код, соответствующий но- меру этого участка. В общем случае, запоминающее устройство емкостью 2N слов должно иметь N входов адреса. Чтобы наглядно представить схему памяти, устройство которой приведено на рис. 11.3, а, расположим все 32 регистра друг над другом (см. рис. 11.3, б). Каждый регистр может хранить четырехбитовое слово данных. На рисунке показано, что ка- ждый участок памяти состоит из четырех элементарных ячеек, в которых содержат- ся единицы или нули; из них и формируются данные, хранящиеся в запоминающем устройстве. Например, слово данных ОНО хранится по адресу 00000, слово данных 1001 хранится по адресу 00001 и т.д. Вход чтения/записи R/W Данный вход служит для управления работой запоминающего устройства; сигнал на нем определяет выполняемую операцию: чтение (R) или запись (Иг). Вход обозна- чается как R / W; над литерой R отсутствует символ инверсии — это значит, что ес- ли состояние входа R j W = 1, происходит чтение данных из памяти, если же 768 Глава И
RIW = 0 , то происходит запись данных, на что указывает черта инверсии над лите- рой W. Часто для этого используются и другие обозначения: например, W или WE. Как и в первом случае, знак инверсии над буквой W также обозначает, что запись происходит при подаче на вход сигнала низкого уровня. Очевидно, что если подать сигнал высокого уровня, то данные будут считываться из запоминающего устройства. Упрощенно операции чтения и записи изображены на рис. 11.4. На рис. 11.4, а показано, как слово данных 0100 записывается в регистр памяти с адресом 00011. Это слово подается на входы данных запоминающего устройства и заменяет данные, которые хранились по адресу 00011 до того. На рис. 11.4, б показано, как из участка памяти с адресом 11110 считывается слово данных 1101. Биты этого слова будут сняты с выходов запоминающего устройства. После завершения операции чтения данные остаются в тех же ячейках, т.е. чтение не изменяет записанных данных. 0100 Адреса ------ 0000 0 ------ ------ 00001 ------- ------ 0 0 01 0 ---- ------ 00011 ------- ------ 0 01 0 0 ---- ------ 00101 ------- ------ 11101 ------- ------ 11110 ------- ------ 11111 ------- а) Запись слова б) Чтение слова данных 0100 данных 1101 в ячейку памяти 00011 в ячейку памяти 11110 Рис. 11.4. Упрощенное представление операций чтения и записи в схеме памяти емкостью 32 х 4 бита: а) запись слова данных 0100 в участок памяти с адресом 00011; б) чтение слова данных 1101 из участка памяти с адресом 11110 Включение памяти Многие системы памяти имеют встроенные средства для полного отключения всей памяти или ее части таким образом, чтобы отключенные участки не реагировали на подачу входных кодов. На рис. 11.3 показан вход включения памяти (MEMORY ENABLE). Этот вход может называться по-разному для разных систем памяти: включение микросхемы (СЕ), выбор микросхемы (CS). В данном случае вход управ- ляется высоким уровнем сигнала, т.е. запоминающее устройство будет нормально функционировать тогда, когда на этом входе наблюдается состояние с высоким уров- нем сигнала. Если же подать на него сигнал низкого уровня, то намять отключится, и микросхема не будет реагировать на вызовы адреса, а также на сигнал чте- ния/записи R/W, поданные на ее входы. Так бывает, когда из нескольких модулей памяти составляется блок памяти большей емкости. Эта возможность рассматривает- ся далее. Запоминающие устройства 769
Пример 11.2. Опишите условия на входах и выходах, при которых будет считываться памяти по адресу 00100. Решение Состояния входов адреса: 00100. Состояния входов данных: хххх (не используются). Состояние входа R / W: высокий уровень. Состояние входа MEMORY ENABLE: высокий уровень. Состояния выходов данных: 0001. Пример 11.3. Опишите условия на входах и выходах, при которых слово данных 1110 будет запи сано по адресу 01101. Решение Состояния входов адреса: 01101. Состояния входов данных: 1110. Состояние входа R/W: низкий уровень. Состояние входа MEMORY ENABLE: высокий уровень. Состояния выходов данных: хххх (не используются, обычно находятся в высокоим педансных состояниях). Пример 11.4. Некоторое запоминающее устройство имеет емкость 4к х 8 бит. а) Сколько входов и выходов данных имеет это ЗУ? б) Сколько линий адреса в данном ЗУ? в) Какова емкость данного запоминающего устройства в байтах? Решение а) б) По восемь линий каждого типа, так как длина слова данных равна 8. В памяти может храниться 4к = 4 х 1024 = 4096 слов. Таким образом, долж1 быть и 4096 различных адресов. Поскольку 4096 = 212, то для указания каждо из них потребуется 12-битовый код адреса. Один байт состоит из восьми бит. Следовательно, память имеет емкость 4096 байтов. в) Пример запоминающего устройства, изображенный на рис. 11.3, иллюстрируеч функции некоторых наиболее важных входов и выходов систем памяти. Естественно ЗУ может иметь и другие входные и выходные линии, присущие только данной микро схеме, но это будет уже частный случай. О возможности наличия таких входов и выхо дов вы узнаете при рассмотрении конкретных типов запоминающих устройств. Вопросы 1. Сколько входов адреса, входов и выходов данных имеет микросхема емкостью 16к х 12 бит? I 2. Для чего служит вход чтения/записи R / W ? ^3. Для чего нужен вход включения памяти (MEMORY ENABLE)? 770 Главки
11.3. Соединение схем памяти с центральным процессором Большая часть этой главы посвящена полупроводниковой памяти, которая, как уже упоминалось ранее, представляет собой основную память большинства современ- ных компьютеров. Основная память постоянно обменивается данными с ЦПУ (центральным процессорным устройством). Перед тем как ознакомиться с работой ЦПУ во всех подробностях, рассмотрим упрощенную схему связки процессор-память, что поможет нам в дальнейшем изучении запоминающих устройств. Основная память компьютера состоит из интегральных схем ОЗУ и ПЗУ, которые связаны с центральным процессором посредством трех групп сигнальных линий, т.е. посредством шин (они показаны на рис. 11.5). Это линии адреса (или шина адреса), линии данных (шина данных) и линии управления (шина управления). Каждая из шин представляет собой группу из нескольких сигнальных линий (обратите внима- ние, что на рисунке они изображены обычными линиями, но с косой чертой), а ко- личество линий может варьироваться для разных поколений компьютеров. Все три шины — неотъемлемые компоненты системы, которые позволяют центральному про- цессору записывать данные в память и затем считывать их. Рис. 11.5. Интегральные схемы основной памяти и центральный процессор соединены посредством групп сигнальных линий (шин) Когда компьютер исполняет программу или набор инструкций, то ЦПУ непре- рывно считывает информацию из тех участков памяти, которые содержат программ- ные коды, соответствующие исполняемым операциям, и данные, над которыми эти операции производятся. Также процессор сохраняет (записывает) данные в участки памяти, которые определяют команды программы. Для того чтобы данные были за- писаны в конкретную ячейку памяти, центральный процессор должен выполнить следующие действия. Операция записи: 1. ЦПУ подает на шину адреса двоичный код адреса того участка памяти, куда должны быть записаны данные. 2. ЦПУ выдает на шину данных информацию, которая должна быть сохранена в памяти. 3. ЦПУ выдает на линии управления сигналы, соответствующие операции записи. 4. Интегральные схемы памяти дешифрируют двоичные адреса и определяют уча- сток, куда должны быть записаны поступающие данные. 5. Информация с шины данных передается на выбранные участки памяти. Запоминающие устройства 771
Когда центральный процессор должен считать данные из определенных участков памяти, требуется выполнить следующие шаги. Операция чтения'. 1. ЦПУ выдает на шину адреса двоичный код адреса того участка памяти, откуда требуется извлечь данные. 2. ЦПУ выдает на линии управления сигналы, которые соответствуют операции чтения данных из памяти. 3. Интегральные схемы памяти дешифрируют двоичные адреса и определяют уча- сток памяти, из которого должны быть считаны данные. 4. Интегральные схемы памяти выдают данные из выбранных участков памяти на шину данных, с которой информация передается на ЦПУ. Описанные выше процедуры помогут вам уяснить предназначение каждой из сис- темных шин. Шина адреса. Эта шина однонаправленная, она переносит двоичные адреса от ЦПУ к ИС памяти для того, чтобы можно было выбрать нужные ячейки запо- минающего устройства. Шина данных. Это двунаправленная шина, она передает данные как от ЦПУ к памяти, так и в обратном направлении. Шина управления. Переносит сигналы управления (такие как сигнал чтения/ записи R/W) от ЦПУ к ИС памяти. О том, какие сигналы возникают на этих шинах во время операций чтения и за- писи, будет сказано в процессе изучения реальных микросхем памяти. Вопросы 1. Назовите три группы сигнальных линий, которые связывают центральный процессор с внутренней памятью компьютера. 2. Перечислите последовательно все этапы работы процессора и памяти при осу- ществлении операций чтения и записи. 11.4. Постоянные запоминающие устройства Постоянная память относится к полупроводниковой памяти и разработана для то- го, чтобы хранить либо постоянные данные, либо те данные, которые приходится изменять крайне редко. В нормальном режиме работы в ПЗУ невозможно записать какую-то информацию, ее разрешено только считывать. В некоторых ПЗУ храня- щиеся данные записываются на стадии процесса изготовления; в других схемах их можно ввести самостоятельно при помощи специальной аппаратуры. Процесс записи информации называется программированием или прошивкой памяти. В одних по- стоянных запоминающих устройствах данные уже не могут быть перезаписаны после программирования микросхемы; в других информацию можно стереть и перепро- граммировать память по-новому, причем делать это можно столько раз, сколько нужно. Детально различные типы постоянных запоминающих устройств будут рас- смотрены позднее, а пока аббревиатура ПЗУ будет означать те запоминающие уст- ройства, которые уже запрограммированы и содержат данные. ПЗУ используются для хранения данных, которые не меняются в нормальном режиме работы. Основное предназначение постоянной памяти состоит в хранении программ в микрокомпьютерах. Поскольку все ПЗУ энергонезависимы, то програм- 772 Глава 11
мы остаются записанными даже при отключении электропитания. Когда микроком- пьютер снова включается, он незамедлительно может начать исполнение программ, считывая их из ПЗУ. Запоминающие устройства такого типа используются также для хранения программ и данных в электронном оборудовании, которое управляется микропроцессором (электронные кассовые аппараты, бытовая техника, системы безопасности). Структурная схема ПЗУ На рис. 11.6, а показана типичная структурная схема ПЗУ. Микросхема работает с тремя наборами сигналов: сигналами адреса, сигналами управления и выходными сигналами данных. Это ПЗУ предназначено для хранения 16 слов данных, так как оно имеет 24 = 16 возможных адресов. Каждое слово состоит из восьми бит, посколь- ку микросхема имеет восемь выходов. Таким образом, емкость данного ПЗУ состав- ляет 16 х 8 бит, или, другими словами, ПЗУ может хранить 16 байтов данных. Аз » - XJ7 Г- Q Q л а Ао Адресные 2 ПЗУ 16x8 о —• D4 Выходы входы А ~ - < D3 данных —eD2 Ао ф- BD, —eD0 А — три состояния • CS (выбор кристалла) Управляющий вход а) Адрес Данные Адрес Данные Слово Ag A? Ai Ад см С Л Q * Q 1Л Q ю D С Dj Эо Слово Аз А2 Af Ас D7-Cb 0 о о о о 110 111 1 0 0 0 DE 1 0 0 0 1 0 0 1110 1 0 1 1 ЗА 2 0 0 10 1 0 0 0 0 1 0 1 <2 2 85 3 0 0 11 10 10 11 1 1 3 3 AF 4 0 10 0 0 0 0 1 1 0 0 1 4 4 19 5 0 10 1 0 11110 1 1 с к 7R 6 0 110 о о о о о о 0 0 □ □ пл 7 0 111 1110 11 0 1 6 о ии 7 7 ED 8 8 ЗС 8 10 0 0 0 0 1111 0 0 Л сс 9 10 0 1 111111 1 1 9 9 гг 10 10 10 10 1110 0 0 10 А В8 11 10 1 1 1 1 0 0 0 1 1 1 11 В С7 12 110 0 0 0 1 0 0 1 1 1 12 С 27 13 110 1 0 110 10 1 0 13 D 6А 14 1110 110 10 0 1 0 14 Е D2 15 1111 0 10 110 1 1 15 F 5В б) в) Рис. 11.6. а) Типичное обозначение ПЗУ; б) таблица двоичных данных и соответствую- щих им адресов памяти; в) та же таблица в шестнадцатеричном виде Запоминающие устройства 773
Выходы данных большинства интегральных схем ПЗУ представляют собой три- стабильные выходы, что позволяет одновременно подключать большое количество микросхем памяти к одной и той же шине данных. Наиболее часто встречаются 4, 8 или 16 выходов данных, при этом используются 8-битовые слова данных. Единственный в этом ЗУ вход управления CS служит входом выбора микросхе- мы. Обычно данный вход имеет функции разрешающего входа, т.е. сигнал, подан- ный на него, позволяет включить или отключить выходные линии. Разные произво- дители используют различную маркировку для входов управления, например, СЕ или ОЕ (разрешение работы выхода — Output Enable). Иногда ПЗУ могут иметь два или больше входов управления, которые должны быть активными, чтобы можно бы- ло включить входы данных и считать информацию по соответствующим адресам. В некоторых ИС памяти один из входов управления (обычно он маркируется как СЕ) используется для того, чтобы перевести ПЗУ в энергосберегающий режим (режим ожидания) в те моменты времени, когда микросхема не используется. Это уменьшает потребление электрического тока (а, следовательно, энергии) от источника питания системы. Вход CS , показанный на микросхеме на рис. 11.6, а, управляется низким уров- нем напряжения, т.е. чтобы данные могли появиться на выходах данных, на этот вход нужно подать сигнал низкого уровня. Обратите внимание, что такое ЗУ не име- ет входа чтения/записи (jR/W), потому что его нельзя перезаписать в нормальном режиме функционирования. Операция чтения Предположим, что постоянное запоминающее устройство уже запрограммировано, т.е. в него были внесены данные, приведенные в таблице на рис. 11.6, б. Шестна- дцать различных слов данных были сохранены по 16 разным адресам. К примеру, слово данных 10101111 хранится в участке памяти с адресом ООН. Конечно, все данные, записанные в память, хранятся в двоичном виде, но для того чтобы более эффективно отображать записанную информацию, часто используется шестнадцате- ричная запись из-за ее краткости. Пример записи данных в шестнадцатеричной фор- ме показан на рис. 11.6, в. Чтобы извлечь слово данных из ПЗУ, нужно проделать две операции: 1) подать на входы адреса нужный код и 2) активизировать входы управления. Например, чтобы считать данные, которые сохранены по адресу 0111 (см. рис. 11.6), нужно подать на запоминающее устройство код А3А2А1Ао = 0111, а затем подать на разрешающий вход CS сигнал низкого уровня. Сигналы на входах адреса дешифрируются логикой внутри ПЗУ, в результате будет выбрано нужное слово данных — 11101101, которое появится на выходах D7-Do. Если же вход CS останется в состоянии с высоким уровнем сигнала, то выходы ПЗУ будут отключены, так как они будут находиться в высокоимпедансных состояниях. Вопросы 1. Проверьте истинность высказывания. Все ПЗУ энергонезависимы. I 2. Опишите процедуру чтения данных из ПЗУ. 3. Что такое программирование или прошивка ПЗУ? 774 Глава 11
11.5. Архитектура ПЗУ Внутренняя архитектура (структура) ИС ПЗУ имеет очень сложную схемотехни- ку, поэтому рассмотрим упрощенную структурную схему внутренней архитектуры постоянного запоминающего устройства емкостью 16 х 8 бит, показанную на рис. 11.7. ПЗУ состоит из четырех основных частей: массива регистров, дешифрато- ра строк, дешифратора столбцов и выходных буферов. Выбор строки Столбец О Столбец 1 Столбец 2 Столбец 3 А0 Ai Дешиф- ратор “1 из 4" СЗБ О j_ 2 3 Строка О Регистре Е Е Регистр 4 Регистр Е Е 8 [(Регистр 12 Е Строка 1 Регистр 1 Е Е Регистр 5 Е Е Регистр 9 Е Е [(Регистр 13 Е Е Е Е Е Строка 2 Строка 3 Аг Аз | Регистр 2 Е Е Регистр 6 Е Е | Регистр 10 Е Е IlРегистр 14 Е Е Выбор столбца ______ О Столбец 0_______ 1 Столбец 1 ~ 2______Столбец 2 3_________Столбец 3 Дешиф- ратор “1 из 4" СЗБ Регистр 3 Е £ Регистр? Е Е Регистр 11 [б] Выходные Регистр 15 В каждом регистре хранится одно 8-битовое слово D7D6D5D4D3D2Di Do Рис. 11.7. Архитектура ПЗУ емкостью 16 к 8 бит Массив регистров В массиве регистров хранятся все данные, которые были записаны в ПЗУ на эта- пе программирования. Каждый регистр содержит какое-то количество ячеек памяти, равное длине слова данных. В нашем случае каждый регистр содержит слова длиной восемь бит. Все регистры расположены в виде квадратной матрицы или массива — такое расположение характерно для микросхем полупроводниковой памяти. Можно указать позицию каждого регистра, определив его строку и столбец. Например, ре- гистр 0 расположен на пересечении 0-й строки и 0-го столбца, а регистр 9 — на пере- сечении 1-й строки и 2-го столбца. Запоминающие устройства 775
Восемь выходов данных каждого регистра подключены к внутренней шине дан ных, проходящей через всю схему. Каждый регистр имеет два разрешающих входа (Е), которые должны находиться в состоянии с высоким уровнем, чтобы данные ре- гистра могли поступить на шину. Дешифраторы адреса Поданный на схему код адреса А3А2А1Д) определяет регистр массива, который бу- дет включен для передачи восьмибитового слова данных на шину. Биты адреса AiAp поступают на один дешифратор “1 из 4”, который возбуждает одну из линий выбора строки; биты адреса А%А2 поступают на второй дешифратор “1 из 4”, который возбу- ждает одну из линий выбора столбца. В результате можно выбрать только один ре- гистр, который будет лежать на пересечении указанных строки и столбца, т.е. толь- ко он будет включен. Пример 11.5. Какой регистр будет включен при подаче на ПЗУ кода адреса 1101? Решение А3А2 =И» т.е. дешифратор столбца активизирует линию выбора 3-го столбца; = 01, и дешифратор строки активизирует линию выбора 1-й строки. При этом сигналы вы- сокого уровня поступят на разрешающие входы регистра 13, разрешая данным с вы- хода регистра поступить на шину. Обратите внимание, что у остальных регистров 3-го столбца будет активизирован только один разрешающий вход, то же самое спра- ведливо и для остальных регистров 1-й строки. Пример 11.6. Какой код адреса нужно подать на ПЗУ, чтобы включить регистр 7? Решение Разрешающие входы этого регистра подключены к линиям выбора строки 3 и столб- ца 1, соответственно. Для того чтобы выбрать строку 3, необходимо подать на входы АъАо биты 11, а чтобы выбрать столбец 1, на входы А$А2 нужно подать биты 01. Та- ким образом, требуемый код адреса будет равен А^А^Ар = 0111. Выходные буферы Данные из регистра, который включается соответствующим ему кодом адреса, бу- дут поданы на шину данных. Они поступят на выходные буферы запоминающего устройства, откуда пройдут на внешние выходы при условии, что на входе CS на- блюдается сигнал низкого уровня. Если же на этом входе будет высокий уровень, то выходные буферы перейдут в высокоимпедансное состояние, и все выходы регистра с D7 по Do будут “плавать”. Архитектура, показанная на рис. 11.7, аналогична строению основных типов ин- тегральных схем ПЗУ. В зависимости от количества сохраненных слов данных, реги- стры некоторых постоянных запоминающих устройств могут быть расположены от- личным от квадратной матрицы образом. Например, ИС Intel 27С64, которая пред- ставляет собой КМОП ПЗУ и может хранить 8192 восьмибитовых слова, имеет другое расположение регистров. 8192 регистра схемы составляют массив из 256 строк по 32 регистра в каждой. В целом, емкости постоянных запоминающих уст- ройств бывают от 256 х 4 бита до 8М х 8 бит. 776 Глава 11
Пример 11.7. Опишите внутреннюю архитектуру ПЗУ, которое может хранить 4 килобайта ин- формации и использует квадратную матрицу регистров. Решение 4 килобайта информации реально составляют 4 х 1024 = 4096 байтов, т.е. данное ПЗУ может хранить 4096 восьмибитовых слов. Можно представить себе, как будто каждое слово хранится в отдельном восьмибитовом регистре, и что всего есть 4096 таких регистров, подключенных к общей шине данных, которая размещена внутри той же микросхемы. Так как 4096 = 642, то регистры расположены в виде массива размерностью 64 х 64; т.е. матрица регистров имеет 64 строки и 64 столбца. Для дешифрации кодов ад- ресов и выбора соответствующих строк и столбцов (эти коды состоят из 6 бит каждый) требуется два дешифратора “1 из 64”. Таким образом, необходимо, чтобы данное ПЗУ имело 12 входов адреса. Впрочем, это было видно и с самого начала, так как 212 = 4096, т.е. очевидно, что требуется именно 12 входов для 4096 различных адресов. Вопросы 1. Какой код адреса следует подать на ПЗУ, показанное на рис 11.7, если из него нужно считать данные, записанные в регистр 9? 2. Опишите функции дешифраторов выбора строк и столбцов, а также выходных буферов ПЗУ. 11.6. Временные параметры ПЗУ Между поступлением на входы ПЗУ соответствующих сигналов и появлением на выходе устройства всегда будет существовать определенная задержка. Эта называется временем доступа к памяти и обозначается как «дост. Данный определяет быстродействие ПЗУ. На рис. 11.8 время доступа изображено с помощью временных диаграмм сигналов. 1 Адресные входы 0 Новый адрес деист вителен Прежний адрес I---------- Выходы данных - О - 1 - О Время Рис. 118. Временные диаграммы сигналов при выполнении операции чте ния данных из ПЗУ УСТРОЙСТВА 777
Верхняя диаграмма показывает состояния на входах адреса; средняя — состояние входа выбора микросхемы CS (он управляется низким уровнем сигнала); нижняя диаграмма представляет собой сигналы на выходах данных ПЗУ. В момент времени t0 все входы адреса находятся в определенных состояниях в зависимости от битов адреса, поступивших на них. На входе CS установилось состояние с высок им уров- нем напряжения, поэтому выходы данных ПЗУ находятся в высокоимпедансных со- стояниях (на рисунке — заштрихованный участок). В момент, непосредственно предшествующий ti, состояния входов адреса начина- ют меняться, что говорит о начале новой операции чтения. В момент времени tj но- вый адрес окончательно стабилизируется на шине адреса, т.е. на всех входах адреса устанавливаются стабильные уровни напряжения. С этого времени внутренняя часть постоянного запоминающего устройства начинает дешифрировать этот новый адрес, чтобы выбрать соответствующий ему регистр и переслать данные из него на выход- ные буферы. В момент t2 активизируется вход CS , который открывает буферы ПЗУ. Наконец, в момент t3 состояния выходов переходят из высокоимпедансных в такие, которые соответствуют данным из регистра с указанным адресом. Временная задержка между моментами tlt когда новый адрес окончательно ста- билизируется, и t3, когда стабилизируются сигналы на выходах данных, представля- ет собой время доступа к памяти «дост. Типичные биполярные ПЗУ имеют время дос- тупа 30-90 нс; время доступа для устройств на n-МОП-логике составляет от 35 до 500 нс. С развитием КМОП-технологии это значение снизилось до 20...60 нс, поэтому в настоящее время ПЗУ на п-МОП или биполярных транзисторах выпускаются ред- ко. Другой важный временной параметр запоминающих устройств — время разреше- ния вывода (ок- Это время представляет собой задержку между поступлением на вход CS разрешающего сигнала и окончательной стабилизацией сигналов на выходах данных ПЗУ. Типичные значения параметра £Ое лежат в диапазоне от 10 до 20 нс для биполярных ЗУ, от 25 до 100 нс для n-МОП и от 12 до 50 нс для КМОП ПЗУ. Этот временной параметр важен в тех ситуациях, когда входы адреса уже изменили свои состояния, а выходы микросхемы еще закрыты. Для того чтобы их открыть, на входе выбора микросхемы CS должен установиться низкий уровень напряжения. Задержка, связанная с этим, и представляет собой время fOE. 11.7. Типы ПЗУ Теперь, когда у читателя уже есть общее представление о внутренней архитектуре и внешних свойствах постоянных запоминающих устройств, можно приступить к рассмотрению различных типов ПЗУ, чтобы узнать, чем они отличаются друг от дру- га, как их программируют, стирают в них информацию и перепрошивают вновь. Программируемое по фотошаблону ПЗУ В программируемое по шаблону ПЗУ данные записываются (программируются) на этапе изготовления согласно нуждам заказчика. Для выбора нужных электрических связей внутри микросхемы используется фотографический негатив, который называ- ется шаблоном. Для каждого нового набора данных требуется свой фотошаблон, со- гласно которому информация будет записана в ПЗУ. Изготовление шаблонов — тру- доемкое и дорогое занятие, поэтому применение такого типа ПЗУ экономически оп- равдано лишь в том случае, если необходимо иметь очень большое количество одинаково прошитых микросхем. Некоторые ПЗУ такого типа можно встретить в ка- честве уже готовых чипов, запрограммированных таким образом, что в них исполь- зуются широко распространенные данные, такие как математические таблицы или 778 Глава 11
коды генератора знаков для дисплеев на ЭЛТ. Основным недостатком ПЗУ этого типа является то, что они не поддаются перепрограммированию в случае модификации записанных данных. В таком случае всю микросхему придется заменить новой, где записаны уже новые данные. Существуют также некоторые типы перепрограмми- руемых пользователем постоянных запоминающих устройств, которые лишены по- добного неудобства, однако до сих пор программируемые по шаблону ПЗУ представ- ляют собой наиболее экономичный подход при необходимости использования боль- шого количества одинаково запрограммированных ПЗУ. Часто под постоянными запоминающими устройствами по умолчанию подразуме- вают программируемые по шаблону микросхемы памяти. Это не совсем верно, по- скольку термином ПЗУ обозначается довольно широкая категория устройств, кото- рые в нормальном режиме работы нужны только для чтения информации. Чтобы из- бежать неточностей, в дальнейшем при упоминании таких микросхем в этой книге будет использоваться аббревиатура ШПЗУ (шаблонные ПЗУ). На рис. 11.9 показана структура небольшого ШПЗУ на полевых транзисторах. Оно состоит из 16 ячеек памяти, расположенных в четыре строки. Каждая ячейка на самом деле представляет собой n-канальный полевой транзистор, подключенный по схеме с общим стоком (входом служит затвор, выходом — исток транзистора). Верх- ний ряд ячеек (строка 0) содержит четырехбитовый регистр. Обратите внимание, что истоки некоторых транзисторов этой строки (Qo и Q2) соединены с выходной линией столбца, в то время как истоки других (Qj и Q3) оставлены свободными. То же спра- ведливо и для остальных транзисторов запоминающего устройства. Наличие или от- сутствие связи у истока транзистора определяет состояние, которое хранит данная ячейка (1 или 0). При наличии связи в ячейку записана 1, при ее отсутствии — 0. Состояние каждой такой связи определяется на этапе изготовления ПЗУ тем самым фотошаблоном, который соответствует данным, предоставленным производителю за- казчиком. = Обратите внимание, что выходы данных подключены к линиям столбцов. Возь- мем, например, выход D3: любой транзистор, присоединенный между источником сигналов (транзисторы Qo, Q4 и Q8) и линией столбца, может переключать напряже- ние Vdd на этот столбец, что приводит к появлению на нем сигнала высокого логиче- ского уровня. Если же сигнал Vdd на столбец не подается, то на выходе будет наблю- даться состояние с низким уровнем, поскольку ток будет стекать на землю через ре- зистор утечки. В любой заданный момент времени дешифратор может открыть только один транзистор столбца. Дешифратор типа “1 из 4” используется для дешифрации сигналов, поступивших на входы адреса АрА^, в результате будет выбран один ряд (регистр), данные из кото- рого должны быть прочитаны. С выходов дешифратора, управляемых высоким уров- нем напряжения, снимаются сигналы, которые определяют состояния линий строк и, поступая на затворы транзисторов, являются входными сигналами для различных строк или ячеек памяти. Если на разрешающий вход дешифратора (EN ) поступил сигнал высокого уровня, то все выходы дешифратора перейдут в неактивные состоя- ния с низким уровнем. При этом все транзисторы массива выключатся, так как на их затворах будет отсутствовать необходимое напряжение. В этом случае на выходах данных схемы также установятся состояния с низким уровнем. Когда вход EN дешифратора находится в активном для него состоянии с низким уровнем напряжения, условия на входах адреса определяют, какая строка (регистр) будет активизирована, т.е. с какой строки будут считываться данные. Например, ес- ли требуется снять данные из строки с номером 0, то на входы AiA0 следует подать код 00. При этом на нужную строку будет подан сигнал высокого уровня; на всех же остальных линиях строк установится напряжение 0 В. Высокий уровень на строке 0 включит транзисторы Qo, Qit Q2 и Q3. Благодаря тому, что все эти транзисторы пе- рейдут в проводящее состояние, напряжение питания Vdd беспрепятственно пройдет на их истоки. В результате с выходов D3 и D4 будут? сняты высокие уровни сигналов, так как транзисторы Qo и Q2 подключены к линиям соответствующих столбцов; вы- Запоминающие устройства 779
ходы D2 и Dq останутся в состояниях с низкими уровнями, потому что между исто- ками транзисторов Qi и Q3 и линиями соответствующих столбцов нет связи. Анало- гично, если подать другие коды адреса, то на выходах данных можно будет считать данные из другого регистра. В таблице на рис. 11.9 для всех адресов памяти приве- дены данные, которые указывают на отсутствие или наличие связи между истоками транзисторов и ячейками памяти. Строка 1 Строка 3 Данные Адрес Ai Ао D3 ^2 й O.j г 0 0 0 1 1 0 1 1 10 10 10 0 1 1110 0 111 Выходы данных Рис. 11.9. Структура ШПЗУ на полевых транзисторах. Каждая ячейка памяти представля- ет собой один транзистор. Разомкнутый исток соответствует логическому "О", а замкну- тый — логической “1” Пример 11.8. ШПЗУ (шаблонные ПЗУ) могут использоваться для хранения таблиц значений мате- матических функций. Покажите, как шаблонное запоминающее устройство того же типа, что и ЗУ, показанное на рис. 11.9, может быть использовано для хранения значений функции у = х2 + 3, где значение переменной х задается с помощью вход- ного адреса, а сигнал на выходе схемы показывает значение функции у. Решение Первым шагом в решении этой задачи будет составление таблицы значений функции при разных значениях переменной. Двоичное число х на входе схемы задается бита- ми адреса A-^Aq. Двоичное число на выходе ЗУ представляет собой искомое значение 780 Глава 11
функции у. Например, при х = = 102 = 210 на выходе получится код 22+ + 3 = 7ю = 01112. Полная таблица значений переменной и функции показана в табл. 11.1. Такие данные предоставляются заказчиком производителю ШПЗУ, чтобы тот мог изготовить фотошаблон (маску) для создания необходимых связей в запоми- нающем устройстве в процессе изготовления самой микросхемы. Например, из пер- вой строки таблицы видно, что между истоками транзисторов Qo и Qi и линиями столбцов не должно быть связи, а между истоками транзисторов (?2 и Q3 и соответст- вующими линями такая связь необходима. Таблица 11.1 X У = X2 + 3 A A i>, А А А ООО 0 1 1 ООО 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 Внутренняя структура биполярных ШПЗУ подобна структуре, изображенной на рис. 11.9, разница лишь в том, что вместо полевых транзисторов используются бипо- лярные. ИС TMS47256, которая представляет собой n-МОП-версию данного ПЗУ, имеет емкость 32к х 8 бит. Символ, которым обозначается такая схема, приведен на рис. 11.10. Обратите внимание, что данная микросхема имеет тристабильные выхо- ды, которые позволяют легко сопрягать ее с шиной данных компьютера. Вдобавок к 14 входам адреса, ИС имеет еще два разрешающих входа, Е и S. Чтобы с выходов ПЗУ можно было снять данные, на этих входах (Е и S) должны быть состояния с низкими логическими уровнями. Вход Е также позволяет использовать функцию снижения энергопотребления. Если на этом входе будет высокий уровень сигнала, то внутренние логические элементы микросхемы перейдут в режим ожидания, ток по- требления в котором составляет всего одну четвертую от тока в номинальном режи- ме. Время доступа ИС TMS47256 равно 200 нс, а мощность потребления в режиме ожидания — 82,5 мВт. КМОП-вариант такого же ЗУ, ИС TMS47C256, имеет время доступа всего 100 нс, а мощность потребления в режиме ожидания — 2,8 мВт. Программируемые ПЗУ (ППЗУ) Программируемые по шаблону постоянные запоминающие устройства стоят дос- таточно дорого и поэтому их применение оправдано только при очень больших объе- мах изготовления, т.е. когда стоимость производства шаблона можно равномерно распределить по всему количеству микросхем. Для использования в менее масштаб- ных целях был разработан еще- один тип П ЗУ — перепрограммируемые постоянные запоминающие устройства на плавких перемычках, которые пользователь может “прошивать” не только в производственных условиях, но и самостоятельно. Как и в случае с шаблонными микросхемами, программируемые ПЗУ нельзя стирать и пере- прошивать заново; таким образом, если программа была задана неверно или вдруг возникла необходимость изменить данные, которыми она оперирует, ППЗУ можно смело выбросить. По этой причине подобные запоминающие устройства часто назы- вают одноразовыми ПЗУ. ППЗУ с плавкими перемычками по своей структуре очень похожи на шаблонные ПЗУ. Главное сходство заключается в том, что электрические связи в схеме могут остаться нетронутыми или быть разорваны, что отвечает записи в данную ячейку Запоминающие устройства 781
памяти 1 или 0, соответственно. Е ШПЗУ, изображенном на рис. 11.9, эти связи служили контактами между истоками полевых транзисторов и выходными линиями столбцов. В ППЗУ каждая связь представляет собой тонкую плавкую перемычку, ко- торая первоначально — при изготовлении микросхемы производителем — не имеет разрыва (см. рис. 11.11). Ai3 * А12 » А11 » Aio • Age Ав » а7* Аб* А5* А4 » А3е А2е А,е Ас* Ё S * ПЗУ 32 К х 8 TMS47256/ TMS47C256 [PWR DWN] 7 6 5 4 3 2 1 О Рис. 11.10. Логический символ, ко- торым обозначается шаблонное ПЗУ TMS47256, изготовленное по п МОП, КМОП-технологии Рис. 11.11. В программируемых ПЗУ используются плавкие пе ремычки, которые можно пережигать, чтобы записать в дан- ную ячейку памяти логический О Пользователь может пережигать эти плавкие перемычки, чтобы записать требуе- мые данные в микросхему памяти. Обычно значение данных программируется или “зашивается” в микросхему по выбранному адресу следующим образом: биты адреса подаются на входы адреса; требуемые данные подаются на входы данных; на специ- альный вывод (вывод программирования) интегральной схемы подается импульс вы- сокого напряжения Vpp амплитудой 10-30 В. Процесс программирования схематиче- 782 Глава 11
ски показан на рис. 11.11. Все транзисторы выбранной строки (строки 0) открывают- ся, а на выводы их стоков подается напряжение Урр. Те столбцы (линии данных), на которые подается логический 0 (запишем его в транзистор Qx), будут представлять собой проводящий участок цепи с большим током через плавкую перемычку; под действием этого тока перемычка расплавится и контакт окажется разорван, что бу- дет соответствовать записи в ячейку логического 0. Те столбцы, на которые были по- даны логические 1 (например, на столбец, к которому подключен транзистор Qo)» окажутся подключенными между двумя уровнями напряжения: по одну сторону пе- ремычки присутствует напряжение Vpp, а по другую — питание Vdd. Следовательно, на перемычке будет наблюдаться небольшое падение напряжения, и малый ток через нее не сможет расплавить контакт. Как только все участки памяти будут запрограм- мированы подобным образом, данные окажутся “зашитыми” в микросхему навсегда, и ПЗУ можно будет использовать для считывания информации, указывая только нужный адрес. Эта информация не пропадет даже при полном отключении питания от ИС ППЗУ, потому что структура пережженных перемычек при обесточивании ни- как не изменится. Процесс программирования ППЗУ, а заодно и проверка соответствия записанных данных первичной информации, редко выполняются вручную. Обычно это делается автоматически с помощью специального прибора, который называется программато- ром. Чип памяти вставляется в разъем программатора, а затем оборудование само последовательно перебирает адреса микросхемы, “вжигает” в нее данные и проверяет правильность записанной информации. Процесс повторяется до полного программи- рования ЗУ. Данные, которые требуется внести в ППЗУ, вводятся в программатор с клавиатуры, носителя информации или через компьютер. Этот процесс называется загрузкой данных. При загрузке через компьютер пользователь может сформировать данные и протестировать предстоящий процесс записи программы или данных на компьютере, а уже затем передать готовую информацию из ОЗУ компьютера на про- грамматор, который “зашьет” ее в микросхему. На сегодняшний день на рынке имеется очень мало биполярных ППЗУ. Почти все программируемые микросхемы памяти изготавливаются на полевых транзисторах, причем все большую долю рынка завоевывает КМОП-технология. ИС TMS27PC256 представляет собой очень популярное ППЗУ, исполненное по КМОП-технологии. Его емкость составляет 32к х 8 бит, а мощность потребления в режиме ожидания не пре- вышает 1,4 мВт. Различные варианты этой ИС имеют максимальное время доступа от 100-250 нс. Стираемые программируемые постоянные запоминающие устройства (СППЗУ) Стираемые программируемые постоянные запоминающие устройства (Erasable Programmable Read-Only Memory — EPROM) также может программировать пользо- ватель, но при этом данные в таких ЗУ можно стирать и перепрограммировать столько раз, сколько потребуется. Запрограммированное СППЗУ является энергоне- зависимой памятью, поэтому данные в нем могут храниться сколь угодно долго. Процесс программирования стираемого ПЗУ заключается в подаче на определенные входы микросхемы заданных уровней напряжения (обычно от 10 до 25 В) в течение некоторого промежутка времени (как правило около 50 мс для каждого участка па- мяти). Программирование осуществляется с помощью специального оборудования и весь процесс может длиться до нескольких минут для каждого чипа памяти. Ячейки памяти стираемого ПЗУ также представляют собой полевые транзисторы с кремниевым затвором, который не имеет электрического контакта с другими час- тями транзистора (так называемый “плавающий” затвор). В нормальном режиме ра- боты все транзисторы закрыты, и каждая ячейка памяти хранит логическую 1. Что- бы открыть транзистор, нужно подать высоковольтный импульс напряжения, кото- рый инжектирует высокоэнергетические электроны в область плавающего затвора. Запоминающие устройства 783
После окончания импульса эти электроны останутся в той ясс области, так как не смогут разрядиться из-за отсутствия электрической связи с затвором. При этом тран- зистор остается в открытом состоянии постоянно, даже если от устройства отключе- но электропитание; в таком состоянии в ячейку записан логический О. В течение процесса программирования для выбора ячеек памяти и битов, которые в них зано- сятся, на выводы адреса и данных микросхемы подаются соответствующие сигналы. Информацию в ячейке СППЗУ можно стереть, если осветить ультрафиолетовым (УФ) светом небольшое окошко на корпусе микросхемы. Свет УФ-диапазона вызыва- ет появление фототока, который течет по направлению от плавающего затвора к кремниевой подложке, тем самым разряжая накопленный заряд в области затвора. При этом транзистор закрывается, а ячейка переходит в состояние, в котором она хранит логическую 1. Процесс стирания одной микросхемы памяти обычно длится от 15 до 20 минут, на протяжении которых СППЗУ должно находиться под воздейст- вием ультрафиолета. К сожалению, стереть информацию только в части ячеек невоз- можно — ультрафиолетовое излучение затирает данные во всех ячейках одновре- менно, поэтому в чистой микросхеме этого типа ПЗУ будут записаны только логиче- ские единицы. Зато в такую микросхему можно опять записать новые данные. Изготавливаемые СППЗУ имеют широкий диапазон емкостей и времен доступа. Обычно используются микросхемы памяти емкостью 512к х 8 бит и временем досту- па около 20 нс. ИС 27С64 представляет собой небольшое стираемое КМОП-ЗУ, ем- кость которого составляет всего 8к х 8 бит. В нормальном режиме оно работает от источника питания +5 В. Логический символ, которым обозначается данное ЗУ; изо- бражен на рис. 11.12, а. Обратите внимание, что ИС имеет 13 входов адреса (так как 213 = 8192) и 8 выходов данных. Также имеется 4 входа управления. Вход СЕ пред- ставляет собой вход выбора микросхемы и используется для перевода ЗУ в режим ожидания, в котором мощность, потребляемая устройством, значительно уменьшает- ся. Вход ОЕ — разрешающий, сигнал на нем открывает и закрывает тристабильные буферы на выходе ИС для того, чтобы ЗУ могло подключиться к шине данных мик- ропроцессора без возникновения конфликта на шине. На вход УРР при программиро- вании подается напряжение с определенной амплитудой, предназначенное для запи- си данных в память. И наконец, вход PGM служит для разрешения режима про- граммирования и возбуждается при записи данных по выбранным адресам. Корпус ИС 27С64 изображен на рис. 11.12, б. На крышке микросхемы имеется “окно”, через которое внутренние элементы схемы освещаются ультрафиолетовым излучением, когда нужно стереть всю информацию. Чтобы защитить память от слу- чайного стирания окружающим светом (например, солнечным), после стирания и пе- репрошивки на микросхему наклеивается непрозрачная пленка. ИС 27С64 может работать в нескольких режимах, которые выбираются с помо- щью сигналов на входах управления СЕ, ОЕ , УРР и PGM . Все эти режимы пере- числены в таблице на рис. 11.12, в. Режим программирования применяется для за- писи в ячейки СППЗУ новых данных. Чаще всего этот режим используется для “чистых” микросхем, которые были предварительно подвергнуты ультрафиолетовому облучению, для того чтобы во всех ячейках памяти были записаны единицы. В про- цессе программирования в каждый участок памяти за единицу времени записывает- ся одно восьмибитовое слово: (1) сначала на входы адреса подается код адреса задан- ного участка; (2) требуемые данные подаются на входы данных микросхемы; (3) на- пряжение с повышенной амплитудой (12,75 В) подается на вход УРР; (4) на входе СЕ поддерживается низкий уровень напряжения; (5) на вход PGM подается импульс с низким уровнем длительностью 100 мкс, в течение которого данные считываются из памяти. Если данные были записаны с ошибками, на вход PGM подается еще один импульс и т.д., пока данные по указанному адресу не будут сохранены правильно, и так для всех ячеек памяти. Если эту работу выполнять вручную, понадобится не- сколько часов, однако обычно процесс автоматизируется с помощью программатора 784 Глава 11
СППЗУ, подобно описанному. ИС 27С512 представляет собой СППЗУ емкостью 64к х 8 бит; она функционирует так же, как ИС 27С64, но имеет большую емкость. Окошко для УФ-стирания б) Data Адресные входы Управляющие входы Вхиды Выходы Режим СЁ ОЁ PGM VPP D7-Dq Чтение 0 0 1 0-5 В Выводимые данные Вывод запрещен 0 1 1 0-5 В Z Хранение 1 X X X Z Програм- мирование 0 1 0 12,75 В Вводимые данные Проверка програм- мирования 0 0 1 12,75 В Выводимые данные в) Рис. 11.12. а) Логический символ, которым обозначается СППЗУ 27С64; б) корпус микросхе- мы СППЗУ имеет окошко для воздействия ультрафиолетовым излучением; в) режимы функционирования ИС 27С64 Стираемые постоянные запоминающие устройства были разработаны для инсти- тутов и лабораторий, где очень часто возникает необходимость изменять сохраненные данные. С течением времени эти схемы стали более надежными и менее дорогими, и, следовательно, более привлекательными для включения в продукты и системы ма- лых и средних объемов производства. Сегодня в мире используются миллионы СППЗУ. Имеющиеся отдельные недостатки уже устранены в более новых разработ- ках микросхем этого же типа и флэш-памяти, поэтому описанные в данной главе стираемые запоминающие устройства применяются все реже и реже. Перечислим не- достатки СППЗУ: (1) для того чтобы стереть и запрограммировать микросхему, ее надо извлечь из системы; (2) операция стирания информации полностью уничтожает все данные в чипе, поэтому выбрать из них какую-то часть, которая могла бы остать- ся неизменной, нельзя; (3) процесс стирания и перепрограммирования обычно зани- мает не менее 20 минут. Электрически стираемое программируемое ПЗУ(ЭСППЗУ) Недостатки стираемых постоянных запоминающих устройств были преодолены с изобретением электрически стираемых программируемых ПЗУ (ЭСППЗУ), которые являются результатом развития принципов построения перепрограммируемых сис- ЗАПОМИНАЮЩИЕ УСТРОЙСТВА 785
тем памяти. ЭСППЗУ содержат аналогичную обычным стираемым ультрафиолетом схемам структуру с плавающим затвором, но они включают еще один элемент — очень тонкий оксидный слой над стоком полевого транзистора, представляющего со- бой элементарную ячейку памяти. Благодаря этому нововведению электрически сти- раемые устройства памяти обладают основной характеристикой, присущей только им, — способностью очистки памяти электрическим током. Подав высокое напряже- ние (21 В) на сток полевого транзистора относительно его затвора, можно индуциро- вать заряд на плавающем затворе, причем этот заряд останется в области затвора даже при отключении напряжения; если же подать на сток обратное напряжение той же амплитуды, то накопленные заряды рассосутся и ячейка будет очищена от дан- ных. Механизм накопления заряда работает даже от очень слабых токов, поэтому стирание и перепрограммирование информации в таких ЗУ может выполняться пря- мо в схеме, т.е. без источника ультрафиолетового излучения или специального обо- рудования (например, программатора). Другим преимуществом электрически стираемых микросхем памяти по сравне- нию с обычными стираемыми схемами является возможность вытирать и перезапи- сывать отдельные байты (восьмибитовые слова). Во время операции записи внутрен- няя логика автоматически очищает нужные ячейки памяти перед тем, как записать в них данные. Свойство электрически стираемых микросхем управлять отдельными байтами информации позволяет значительно упростить изменение данных, записан- ных в такую память. Более ранние ЭСППЗУ, такие как ИС 2816 компании Intel, требовали наличия со- ответствующей внешней вспомогательной схемы, которая включала источник про- граммирующего напряжения амплитудой 21 В (VPP) и логические элементы для управления временными параметрами и задания последовательности операций сти- рания и программирования. Как правило, напряжение ИРР формировалось от стан- дартного источника напряжения +5 В путем преобразования одного постоянного на- пряжения в другое. Более новые запоминающие устройства, например ИС 2864 от компании Intel, включают аналогичные элементы, но они уже интегрированы на том же чипе, где находится массив регистров, поэтому у такой микросхемы есть только один вывод для подачи напряжения +5 В. Это облегчает использование ЭСППЗУ как при чтении, так и при записи. Однако несмотря на такие преимущества, как возможность стирания отдельных битов информации и высокий уровень интеграции, электрически стираемые запоми- нающие устройства не лишены и недостатков: довольно значительные размеры и вы- сокая стоимость. Сложность изготовления одной ячейки памяти, а также интеграция вспомогательной логики приводят к тому, что ЭСППЗУ сильно отстают от обычных СПЗУ в плане отношения удельной емкости памяти на один "квадратный миллиметр кремниевой подложки: на изготовление микросхемы ЭСППЗУ емкостью 1 Мбит ухо- дит примерно вдвое больше кремния, чем на обычное стираемое ЗУ той же емкости. Итак, несмотря на выигрыш в удобстве использования, указанные недостатки элек- трически стираемой памяти пока не дают ей заменить СППЗУ в тех приложениях, где стоимость и размеры микросхем играют первостепенную роль. Логический символ, которым обозначается ИС Intel 2864, изображен на рис. 11.13, а. Данная микросхема организована в массив емкостью 8к х 8 бит, со- держит 13 входов адреса (213 = 8192) и восемь ножек ввода-вывода данных. Режим функционирования схемы определяется сигналами, которые подаются на три вхо^а управления; работа схемы в этих режимах показана на рис. 11.13, б. Если на входе СЕ установить высокий уровень напряжения, то ЗУ перейдет в энергосберегающий режим ожидания, в котором над данными не будет производиться никаких опера- ций, а выводы данных будут находиться в высокоимпедансных состояниях. Для того чтобы прочитать содержимое какого-либо участка памяти, нужно подать соответствующий ему адрес на выводы адреса; установить низкий уровень напряже- ния на входах СЕ и ОЕ , чтобы сигнал на последнем мог открыть выходные буферы устройства. Вывод разрешения записи (WE ) во время выполнения операции чтения должен находиться в состоянии с высоким уровнем сигнала. 786 Глава 11
a) Входы Режим СЕ ОЕ WE Входы/ выходы данных Чтение 0 0 1 Выводимые данные Запись 0 1 0 Вводимые данные Хранение 1 X X Z б) в) Рис. 11.13. а) Логический символ, которым обозначается ЭСППЗУ Intel 2864; б) режимы функционирования; в) временные диаграммы сигналов в режиме записи Для записи информации в какую-то ячейку памяти (т.е. чтобы запрограммиро- вать микросхему) нужно отключить выходные буферы запоминающего устройства, чтобы подать на ножки ввода-вывода микросхемы входные сигналы. Процессы, ко- торые происходят во время операции записи, показаны в виде диаграмм на рис. 11.13, в. Пусть до момента ti запоминающее устройство функционировало в ре- жиме ожидания и в этот момент на его входы был подан новый адрес. В момент вре- Запоминающие устройства 787
мени t2 разрешающие входы СЕ и WE переходят в состояния с низкими уровнями напряжения, что необходимо для начала операции записи; вход ОЕ находится в со- стоянии с высоким уровнем напряжения, поэтому выводы данных микросхемы оста- ются в высокоимпедансном состоянии. Данные подаются на входы ввода-вывода микросхемы в момент t3 и записываются в ту ячейку памяти, которая соответствует поступившему адресу; запись происходит по нарастающему (переднему) фронту сиг- нала на входе WE в момент t4. Начиная с момента времени t5 данные уже не посту- пают на входы ввода-вывода. Фактически, данные фиксируются по нарастающему фронту сигнала WE в триггерах буферов, которые являются составной частью мик- росхемы 2864. Данные хранятся там столько времени, сколько нужно логике ЗУ для того, чтобы выполнить операцию стирания выбранных ячеек памяти массива регист- ров ЭСППЗУ, а затем передать байт данных из буфера в очищенные регистры и со- хранить там эту информацию. Обычно операции стирания и сохранения вместе за- нимают примерно 5 мс. Когда вход СЕ возвращается обратно в состояние с высоким уровнем напряжения в момент t4, микросхема снова переходит в режим ожидания. ИС 2864 имеет дополнительный режим записи, благодаря которому пользователь может записывать до 16 бит данных в триггерный буфер схемы в то время, как ос- тальные логические элементы управляют стиранием содержимого тех ячеек памяти, которые заданы адресами. Все 16 байтов информации передаются в массив регистров запоминающего устройства после окончания стирания и записываются в очищенные ячейки. Весь процесс также длится не более 5 мс. Внутренний процесс записи значений данных в электрически стираемых постоян- ных запоминающих устройствах занимает довольно много времени, поэтому скорость передачи данных в этой памяти будет относительно низкой. В результате многие производители интегральных микросхем предлагают ЭСППЗУ в корпусах с восемью выводами, которые сопряжены с двух- или трехжильными последовательными ши- нами данных. Это позволяет сэкономить место на системной плате по сравнению с использованием ИС 2864, которая имеет 28 выводов и заключена в широкий корпус с двухрядным расположением выводов. Такой подход также упрощает подключение запоминающего устройства к центральному микропроцессору. Постоянные запоминающие устройства на компакт-дисках CD ROM Еще один тип постоянных запоминающих устройств, который широко использу- ется в компьютерных системах, — это обычный компакт-диск. Технология изготов- ления носителей информации на дисках и аппаратное обеспечение, необходимое для работы с ними, практически идентичны тем, которые используются в аудиосистемах. Отличается лишь формат записи данных. Поверхность диска изготавливается из ма- териалов, которые имеют большой коэффициент отражения. Чтобы записать данные на носитель, лазерный луч большой мощности фокусируется на очень малом участке поверхности. Тепловая энергия луча прожигает в этом месте углубление и попадаю- щий в него свет рассеивается. Цифровые данные (1 или 0) записываются на диск по- следовательно, т.е. по одному биту за единицу времени; а то, какой бит был записан, зависит от того, была ли прожжена в конкретном участке отражающего слоя поверх- ности диска лунка. Информация располагается на диске в виде длинной непрерыв- ной спирали, состоящей из отдельных углублений и непрожженных участков. Высо- чайшая точность позиционирования лазерного луча позволяет сохранять на неболь- шом 120-мм носителе значительные объемы информации — до 800 Мб. Чтобы считать данные с диска, на поверхности вновь нужно сфокусировать ла- зерный луч, но уже со значительно меньшей мощностью излучения. Целый элемент слоя отражает свет, луч попадает в приемник, а лунка рассеивает излучение; таким образом лазерный привод считывает или нули, или единицы. Оптическая система 788 Глава 11
устанавливается на подвижных механических шарнирах, которые могут переме- щаться вдоль радиуса и следовать спирали вращающегося диска. Данные, которые считывает оптическая система, попадают на нее в виде последовательного потока информации. Для того чтобы скорость чтения значений данных была всегда посто- янной, угловое вращение диска контролируется. Если диск используется для записи аудиоинформации, то поток данных преобразовывается в аналоговый сигнал; если же диск используется как ПЗУ, то данные следует преобразовать в ту форму, с кото- рой может работать компьютер. Технологии изготовления и работы с лазерными компакт-дисками достаточно сложны, но относительно дешевы и все больше завое- вывают рынок, постепенно становясь стандартным средством для загрузки больших объемов данных в персональный компьютер. Главные достижения этих технологий в основном касаются уменьшения времени доступа при считывании информации . Вопросы 1. Проверьте истинность высказывания. ШПЗУ может запрограммировать сам пользователь. 2. Чем отличается ППЗУ от ШПЗУ? Можно ли стереть или перепрограммировать информацию в таком запоминающем устройстве? 3. Проверьте истинность высказывания. Ячейка ППЗУ будет хранить логиче- । скую “1”, если оставить целой плавкую перемычку. 4. Как можно стереть данные в СППЗУ? 5. Проверьте истинность высказывания. Невозможно стереть из СППЗУ только часть информации. 6. Какую функцию выполняют программаторы ППЗУ и СППЗУ? i 7. Какие недостатки СППЗУ были исправлены с появлением ЭСППЗУ? 8. Назовите основные недостатки ЭСППЗУ. 9. Информацию из какого типа ПЗУ можно стирать по одному байту? i 10. Сколько бит данных считывается с компакт-диска одновременно? 11.8. Флэш-память Стираемые ультрафиолетом постоянные запоминающие устройства являются энергонезависимыми, имеют малое время доступа (около 120 нс), высокую степень интеграции и низкую удельную стоимость на один бит информации. Однако для то- го, чтобы стереть данные из таких микросхем и перепрограммировать память, при- ходится извлекать чип из схемы, в которой он работает. Электрически стираемые ПЗУ также обладают энергонезависимостью и малым временем доступа, однако при этом еще позволяют быстро очистить память и перепрограммировать микросхему прямо в системе. Но опять же — и они не лишены недостатков: степень интеграции таких устройств ниже, а стоимость намного выше стоимости СППЗУ. Итак, перед инженерами стояла задача создать такой энергонезависимый тип па- мяти, который бы обладал возможностью стирать информацию без извлечения мик- росхемы из системы, и при этом имел уровень интеграции и стоимость производства, близкую к обычным стираемым запоминающим устройствам. При этом преимущест- В связи с развитием технологии записи на компакт-диски появились перезаписываемые носители (CD-Rewritable, или CD-RW). Подобно флэш-памяти, такие диски представляют собой удобные, дешевые и высокоемкие запоминающие устройства, данные на которых может изме- нять сам пользователь. Запоминающие устройства 789
ва обоих типов памяти (например, малое время доступа) должны были оставаться неизменными. Ответом на этот вызов стало изобретение флэш-памяти. Структурно ячейка флэш-памяти похожа на однотранзисторную ячейку СППЗУ (т.е. она проще, чем элементарная ячейка ЭСППЗУ, которая состоит из двух транзи- сторов) и лишь немного превышает ее размерами. Ячейка флэш-памяти имеет более тонкий оксидный слой на затворе, который одновременно позволяет стирать данные с помощью электрического тока и в то же время значительно улучшает степень инте- грации по сравнению с электрически стираемыми ПЗУ. Стоимость флэш-памяти зна- чительно меньше, чем у ЭСППЗУ, хотя и не столь низкая, как у СППЗУ, но посто- янное развитие технологий позволяет надеяться на постепенное уменьшение цены готовых микросхем. На рис. 11.14 изображена диаграмма, иллюстрирующая пре- имущества и недостатки различных типов полупроводниковой энергонезависимой памяти. Возможность стирания информации/перепрограммирования улучшается снизу вверх, но при этом увеличиваются и сложность, и стоимость такой памяти. ШПЗУ и ППЗУ — самые простые и дешевые устройства, но их нельзя стирать и пе- репрошивать. ЭСППЗУ представляет собой наиболее сложный и дорогой, но в то же время и наиболее удобный тип памяти, так как он позволяет перепрограммировать микросхему прямо на месте и по частям. Стирание внутрисхемное, электрическое, побайтовое УФ-стирание целиком, стирание и перепрограммирование вне схемы Стирание и перепрограммирование невозможны ЭСППЗУ Флэш СППЗУ ППЗУ Рис. 11.14. Диаграмма, иллюстрирующая преимущества и недос- татки различных типов полупроводниковой энергонезависимой памяти, показывает, что сложность и стоимость увеличивают- ся пропорционально удобству перепрограммирования Стирание внутрисхемное, электрическое, по секторам или целиком (все ячейки) Флэш-память получила свое название благодаря малым временам чтения и запи- си*. В большинстве чипов флэш-памяти используется операция полного стирания, во время которой одновременно очищаются все ячейки микросхемы. Процесс полного стирания обычно длится несколько сотен миллисекунд, что несравнимо меньше, чем 20 минутный цикл стирания перепрограммируемых ПЗУ, очищаемых ультрафиоле- товым излучением. Некоторые более новые запоминающие устройства флэш-памяти имеют режим стирания по секторам, в котором можно стирать выбранные сектора памяти (объем секторов может составлять, например, 512 байтов). Благодаря этому новому свойству отпадает необходимость стирать и перепрограммировать все ячейки памяти в том случае, если нужно изменить информацию лишь в некоторых из них. Типичная микросхема флэш-памяти имеет время записи примерно 10 мкс на байт, * От англ, flash — мгновение. — Прим. пер. 790 Глава 11
включая время стирания (сравните со 100 мкс для наилучших образцов СППЗУ и 5 мс для ЭСППЗУ). Производители устройств памяти всего мира активно работают над совершенство- ванием ЗУ на основе флэш-памяти*. Конечно же, все они имеют разные мнения отно- сительно того, какие свойства и характеристики функционирования систем памяти являются наиболее важными. В этой книге читателю предлагается рассмотреть инте- гральную схему флэш-памяти одного из ведущих мировых производителей ЗУ; ана- лиз характеристик этой микросхемы поможет понять все аспекты функционирова- ния флэш-памяти. Далее будут описаны особенности использования кодов команд как средства, позволяющего управлять внутренней работой более сложных логиче- ских микросхем. КМОП-ИС флэш-памяти 28F256A На рис. 11.15, а изображен логический символ, которым обозначают ИС флэш- памяти 28F256A, выполненную по КМОП-технологии и имеющую емкость 32к х 8 бит. На структурной схеме показаны 15 входов адреса (Ао-А14), которые используются для выбора различных участков памяти; количество входов определяется емкостью микросхемы, т.е. 215 = 32к = 32768. ИС также имеет восемь входов ввода-вывода данных (DQq-DQ7), которые во время выполнения операции записи используются в качестве входов, а во время выполнения чтения — в качестве выходов. Эти выводы микросхемы могут переходить в высокоимпедансное состояние, когда микросхема не нужна (СЕ = 1) или когда выходные буферы закрываются (ОЕ = 1). Вход разреше- ния записи (WE ) используется для управления операцией записи данных в память. Обратите внимание, что чип работает от двух источников напряжения: Vcc, в роли которого служит стандартный источник напряжения +5 В, повсеместно используе- мый в цифровой схемотехнике, и Vpp — источника напряжения стирания/перепро- граммирования, сигнал от которого имеет величину +12 В и используется для вы- полнения операций стирания и программирования (записи). В более новых микро- схемах флэш-памяти напряжение VPP формируется внутри самого чипа, т.е. такие ИС работают от одного источника питания. Самые последние низковольтные ЗУ ра- ботают от напряжения с номиналом всего 1,8 В. Как видно из таблицы (рис. 11.15, б) сигналы, поступающие на входы управления (СЕ, WE и ОЕ), определяют состояния выводов данных микросхемы практически таким же образом, как и в электрически стираемой ИС 2864. Обычно эти выводы присоединены к шине данных системы. Во время операции записи данные передают- ся — обычно от микропроцессора — в память по шине. Во время операции чтения данные считываются из памяти и по шине передаются на микропроцессор. Следует отметить, что если на выводе VPP не наблюдается напряжение с большой амплитудой (более 6,5 В), то операция записи не может быть выполнена, из микросхемы можно только считывать данные. В таком режиме ИС работает как ПЗУ, а информация, ко- торая содержится в ней, не может быть изменена. Работу этой микросхемы флэш-памяти легче понять, изучив ее внутреннюю архи- тектуру. На рис. 11.16 приведена функциональная схема ИС 28F256A, на которой показаны основные функциональные блоки данного ЗУ. Рассматривая процессы, протекающие в ИС, вы можете пользоваться этой иллюстрацией, что значительно упростит понимание работы схемы. Уникальное свойство этой структуры — регистр команд, который используется для управления всеми функциями микросхемы. За- писанные в этот регистр коды команд определяют операции, которые должны вы- полняться в чипе в данный момент (стирание, стирание с контролем, программиро- вание, программирование с последующим контролем). Эти коды обычно приходят от * В настоящее время повсеместно внедряются съемные накопители на основе флеш-памяти, объемом от 32 Мб до 1 Гб. — Прим. ред. Запоминающие устройства 791
микропроцессора по шине данных. На основании содержимого регистра команд ло- гика контроля состояния микросхемы формирует логические и управляющие сигна- лы для остальных компонентов чипа, необходимые для выполнения той или иной операции. А теперь подробно рассмотрим функционирование ЗУ под управлением этих команд. а) Рис. 11.15. а) Логический символ, которым обозначается ИС флэш памяти 28F256A; б) входы управления СЕ , WE и ОЕ Входы Режим СЕ ОЕ WE Входы/ выходы данных Чтение 0 0 1 Выводимые данные Хранение 1 X X Z Запись* 0 1 0 Вводимые данные ‘Примечание. При VPP^ 6,5 В операция записи невозможна б) Команда чтения Чтобы перевести микросхему памяти в режим чтения, сперва необходимо запи- сать в регистр команд одни нули (000000002 = 00i6). Это легко выполнить, если по- дать код 0016 на входы данных, одновременно подавая на вход разрешения записи (WE ) импульс с низким уровнем напряжения при условии, что СЕ = 0, а ОЕ = 1 (как показано в таблице на рис. 11.15, б). Входы адреса могут при этом находиться в любом состоянии, так как сигналы на входах данных будут автоматически переданы в регистр команд. Как только предварительный этап завершен, запоминающее уст- ройство готово к операции чтения данных из матрицы (массива) памяти емкостью 262144 бита (или 32768 байта). Данные из памяти считываются самым обычным об- разом: (1) подается адрес участка, из которого требуется прочитать информацию; (2) входы управления устанавливаются в состояния WE = 1, СЕ = 0 , ОЕ = 0 . Им- пульс с низким уровнем напряжения на последнем входе открывает выходные буфе- ры микросхемы, что позволяет данным беспрепятственно пройти с матрицы на вы- ходы данных. Максимальная величина времени доступа для ИС 28F256A во время операции чтения составляет 120 нс. Устройство остается включенным для операций чтения до тех пор, пока в регистре команд записаны нули. 792 Глава 11
DQq DQ 7 Рис. 11.16. Функциональная схема ИС флэш памяти 28F256A Команды стирания/подготовки к стиранию Чтобы полностью очистить содержимое массива памяти, потребуется выполнить два следующих действия: (1) записать в регистр команд код 2016, который переведет микросхему в режим стирания, и (2) снова записать этот код, чтобы начать само стирание. Такая последовательность действий делает менее вероятным случайное стирание содержимого памяти. После записи второй команды в регистр команд со- держимое всех ячеек микросхемы очищается напряжением Vpp величиной 12 В. Весь процесс занимает около 10 мс. Команда стирания с последующим контролем После осуществления операции стирания необходимо убедиться, что все ячейки памяти были очищены (т.е. что во все байты было записано число 111111112 = FFj6). Для этого для каждого байта нужно выполнить операцию стирания с последующим контролем. Операция стирания начинается с записи в регистр команд кода А016. По- сле этой команды по адресу, который нужно проконтролировать, выполняется опе- рация чтения и проверяется значение выходных данных; оно должно равняться FF16. Эти два шага выполняются для одного и того же адреса, и полное время стирания информации из всех ячеек микросхемы с последующим контролем занимает пример- но 1 с. Если данные по указанному адресу почему-то не равняются FF16, то ЗУ следу- ет очистить повторно, используя ту же последовательность процедур. Запоминающие устройства 793
Команды подготовки к программированию/программирования Запоминающее устройство может быть переведено в режим побайтового програм- мирования, если записать в регистр команд код 4016. После этого данные записыва- ются по нужным адресам памяти. Команда программирования с последующим контролем После того как байт был запрограммирован по какому-то конкретному адресу па- мяти, содержимое этого участка следует проверить, чтобы убедиться в правильности записанных данных. Это легко сделать, записав в регистр команд код С016, который соответствует операции последующего контроля. Затем выполняется операция чте- ния, во время которой информация из нужного участка памяти выводится на выхо- ды данных микросхемы, где их можно сравнить с требуемыми данными. Полный процесс программирования с последующим контролем содержимого всей памяти для микросхемы 28F256A занимает около 500 мс. Вопросы 1. Назовите основное преимущество флэш-памяти по сравнению с обычными сти- раемыми ПЗУ. 2. Назовите основное преимущество флэш-памяти по сравнению с электрически стираемыми ПЗУ. 3. Объясните происхождение названия флэш-памяти. 4. Для чего нужен вывод VpP? 5. Назовите предназначение регистра команд ИС 28F256A. 6. Зачем нужна команда стирания с последующим контролем? 7. Зачем нужна команда программирования с последующим контролем? 11.9. Применение ПЗУ За исключением ШПЗУ и ППЗУ, большинство постоянных запоминающих уст- ройств можно перепрограммировать, т.е. с технической точки зрения они не являют- ся постоянными. Однако термин ПЗУ также включает в себя СППЗУ, ЭСППЗУ и флэш-память, потому что в нормальном режиме их работы данные, хранящиеся в памяти, не могут изменяться столь же часто, как они считываются из нее. Таким образом, под термином ПЗУ понимают все полупроводниковые энергонезависимые запоминающие устройства. Микросхемы описанных выше типов памяти широко ис- пользуются в тех приложениях, где необходимо иметь энергонезависимые накопите- ли информации или кодов программ, а изменять данные практически не надо. Ниже описаны некоторые наиболее общие приложения схем ПЗУ. Программно-аппаратное обеспечение Наиболее распространенной областью применения ПЗУ является хранение дан- ных и кодов программ, которые должны быть доступны микропроцессорной системе сразу после включения питания. Эти данные и коды программ называются про- граммно-аппаратным обеспечением (firmware), так как они хранятся в аппаратных 794 Глава 11
средствах (например, в чипах ПЗУ) и не изменяются в нормальном режиме работы системы. В некоторых персональных компьютерах, ЭВМ для решения коммерческих задач и ноутбуках программы, которые входят в операционную систему, и интерпре- таторы языков программирования (например, BASIC или Pascal) хранятся в ПЗУ, чтобы можно было использовать компьютер сразу после момента включения. Кроме микрокомпьютеров, есть много других систем, основанных на микропро- цессорах, в которых важную роль играет аппаратно-программное обеспечение, — ПЗУ. Автомобили, видеомагнитофоны, CD-плецеры, микроволновые печи и другие виды бытовых электронных устройств имеют встроенные микроконтроллеры, кото- рые состоят из микропроцессора, управляющего функционированием системы со- гласно инструкций и данных, которые и хранятся в ПЗУ. Во всех этих системах функционирование оборудования в большой степени зави- сит от той информации, которая записана в ПЗУ, а изменения в процесс работы сис- темы легче всего внести, просто изменив содержимое памяти. При использовании стираемых постоянных запоминающих устройств для этого придется извлечь чип из схемы, чтобы стереть данные и перепрограммировать его заново; можно также заме- нить один чип другим. Это неизбежно влечет за собой приостановку функционирова- ния системы на время от нескольких минут до часа. Зато при использовании элек- трически стираемых ПЗУ (а еще лучше флэш-памяти) время приостановки работы уменьшается во много раз благодаря тому, что данные в таких микросхемах могут стираться и перезаписываться прямо в системе. Запоминающие устройства для хранения программы самозагрузки Многие микрокомпьютеры и компьютерные системы не имеют отдельного ПЗУ, где бы могла храниться операционная система. Вместо этого программы хранятся во внешней памяти (например, на магнитном диске). Как же тогда компьютеры опреде- ляют последовательность операций, которую необходимо выполнить при включении питания? Для этого в отдельную микросхему ПЗУ записывается относительно не- большая программа, которая называется программой самозагрузки или загрузчиком. Термин самозагрузка подразумевает, что эта программа как бы выполняет “сама се- бя”. Когда компьютер включается, он выполняет набор инструкций, записанных в загрузчике. Обычно эти инструкции дают команду центральному процессору ини- циализировать аппаратное обеспечение системы. После этого программа самозагруз- ки загружает в основную память операционную систему с высокоемкого накопителя (магнитного диска). Только затем компьютер начинает функционировать под управ- лением операционной системы и готов отвечать на команды пользователя. Процесс запуска компьютера часто называют загрузкой. Многие микросхемы цифровой обработки сигналов при включении загружают в оперативную память данные из внешнего ПЗУ самозагрузки. Так же функционируют и некоторые из наиболее современных программируемых логических устройств (ПЛУ). Они загружают информацию по программированию будущей схемы из внеш- него ПЗУ в блок ОЗУ, входящий в состав самого ПЛУ. Эти действия выполняются сразу после подачи питания на устройство. Таким образом, запрограммировать ПЛУ можно просто изменив данные, записанные в ЗУ самозагрузки, вместо замены чипа ПЛУ. Таблицы данных Постоянные запоминающие устройства часто применяются для хранения таблиц данных, которые не изменяются со временем. В качестве примеров можно привести таблицы тригонометрических функций (синуса, косинуса и др.) и таблицы преобра- зования кодов. Цифровая система может использовать такие таблицы данных для Запоминающие устройства 795
нахождения правильных значений какой-то функции. Например, можно сохранить в ПЗУ значения синусов углов от 0° до 90°. Для этого возьмем микросхему емкостью 128 х 8 бит с семью входами адреса и восемью выходами данных. На входы адреса подаются сигналы, соответствующие величине угла с шагом 0,7°. Тогда адрес 0000000 соответствует углу 0°, адрес 0000001 — углу 0,7°, 0000010 — углу 1,4° и т.д. вплоть до адреса 1111111, которому соответствует угол 89,3°. Когда на ПЗУ по- дается сигнал адреса, с выходов данных можно снять второй сигнал, который пока- жет приблизительное значение синуса заданного угла. Предположим, что был подан адрес 1000000 (который примерно соответствует углу 45°), тогда с выходов данных мы снимем код 10110101. Поскольку синус всегда меньше или равен 1, то получен- ные данные следует интерпретировать как дробное число, т.е. 0,10110101. Если пре- образовать результат в десятичную систему, получится число 0,707 (значение синуса 45°). Важно, чтобы пользователь такой микросхемы знал формат данных, которые получаются на выходе ЗУ. Раньше на базе микросхем ТТЛ были доступны стандартные ПЗУ со справочными таблицами множества функций, но теперь продолжают выпускаться только некото- рые из них. В настоящее время большинство систем, в которых требуется узнать эк- вивалентное значение какой-то функции, содержат микропроцессор, а справочная таблица “вшита” прямо в то же ПЗУ, в котором хранятся инструкции для процессора. Преобразователь данных Схема преобразователя данных обрабатывает информацию, выраженную в виде какого-либо одного кода, а на выходе формирует сигнал, представленный в другом коде. Преобразование кодов применяется, например, на выходе компьютера, откуда мы снимаем прямой двоичный код, который нужно преобразовать в двоично- десятичный, чтобы отобразить результат на 7-сегментном ЖК-индикаторе. Один из наиболее легких методов преобразования кодов состоит в использовании ПЗУ с предварительно записанными данными. Данные размещены в памяти таким образом, что при подаче на микросхему какого-то конкретного адреса (а фактиче- ски — старого кода) на выходе формируется сигнал данных, который выражает в новом коде эквивалент входного значения. ИС 74185 представляет собой ПЗУ, вы- полненное по ТТЛ, которое осуществляет преобразование шестибитового двоичного кода в двоично-десятичный. К примеру, если подать на вход этого ЗУ двоичный ад- рес 100110 (десятичное число 38), то с выхода мы снимем кодовую комбинацию 00111000, что является двоично-десятичным кодом этого же числа 38. Генераторы функций Генератором функций называется схема, которая формирует специальные сигна- лы: синусоидальный, пилообразный, треугольный, квадратный. На рис. 11.17 изо- бражена структурная схема генератора функций, который состоит из ПЗУ (где запи- сана справочная таблица значений функции) и ЦАП. Данный генератор служит для формирования синусоидального сигнала. В ПЗУ хранятся 256 различных восьмибитовых чисел, каждое из которых соот- ветствует различному значению функции и представляет собой амплитуду напряже- ния синусоидального сигнала. Восьмибитовый счетчик непрерывно изменяет свои со- стояния под действием сигнала синхронизации, и в результате мы снимаем с него последовательность адресов, которые подаются на ПЗУ. Как только счетчик прохо- дит всю последовательность из 256 точек, данные с выхода ПЗУ поступают на ЦАП. На выходе цифроаналогового преобразователя появляется сигнал, который проходит все 256 аналоговых значения, соответствующих исходным точкам заданного сигнала. Низкочастотный фильтр сглаживает ступеньки выходной функции ЦАП, чтобы можно было получить гладкий и точный сигнал. 796 Глава 11
Такие схемы используются и в некоторых промышленных генераторах функций (в синтезаторах речи оцифрованные значения речевого сигнала хранятся в ПЗУ). ИС ML2035, изображенная на рис. 11.18, представляет собой программируемый генера- тор синусоидального сигнала, который использует те же принципы для формирова- ния сигнала в виде функции синуса с некоторыми амплитудой и частотой, причем частота может варьироваться от нуля до 50 кГц. Для определения частоты синхрони- зации счетчика применяется определенное числовое значение, которое сдвигается в 16-битовый регистр сдвига; с этого регистра снимаются сигналы, управляющие адре- сами ПЗУ со справочной таблицей. ИС ML2035 была создана для использования в телекоммуникационных приложениях, в которых требуется с большой точностью получать тона различных частот. Рис. 11.17. Генератор функций, который состоит из ПЗУ и ЦАП % Синусоидальный сигнал Рис. 11.18. Программируемый генератор синусоидальных сигналов на основе ИС ML2035 Вспомогательные запоминающие устройства Благодаря своей энергонезависимости, высокому быстродействию, малым требо- ваниям к потребляемой мощности и отсутствию механических частей модули флэш- памяти стали действительно реальной альтернативой магнитным устройствам хране- Запоминающие устройства 797
ния информации. Это особенно справедливо для ЗУ малой емкости (до 5 Мб), гд флэш-память вполне может конкурировать с магнитными дисками и по цене. Мало потребление энергии делает модули флэш-памяти особенно привлекательными : электронных записных книжках и ноутбуках, в которых используются батареи 1 аккумуляторы. Вопросы 1. Что такое программно-аппаратное обеспечение? 2. Опишите, как компьютер использует программу самозагрузки. 3. Что такое преобразователь кода? 4. Назовите основные элементы генератора логических функций. 5. Почему модули флэш-памяти можно назвать реальной альтернативой вспомога- тельным запоминающим устройствам на магнитных дисках? 11.10. Полупроводниковые ОЗУ Напомним, что термином ОЗУ обозначают оперативное запоминающее устройство или, что то же самое, память с произвольной выборкой данных; последняя фраза оз- начает то, что все участки памяти доступны одинаково легко. К классу ЗУ с произ- вольной выборкой можно отнести многие виды памяти, но когда термин ОЗУ ис- пользуется для полупроводниковых микросхем, его обычно применяют для обозна- чения устройств, предназначенных как для записи, так и для чтения данных (в противоположность постоянным запоминающим устройствам). Называть полупро- водниковые схемы памяти с произвольной выборко!! аббревиатурой ОЗУ уже стало широкой практикой, поэтому данный термин будет использоваться на протяжении всей книги. ОЗУ применяется в компьютерах для временного хранения программ и данных. Содержимое участков оперативной памяти считывается и записывается по ходу вы- полнения компьютером различных программ. Такая работа требует очень высокого быстродействия памяти, т.е. коротких циклов чтения и записи, чтобы не замедлять работу компьютерной системы в целом. Основным недостатком ОЗУ остается его энергозависимость — при сбоях или полном отключении электрического питания вся хранящаяся информация будет по- теряна. Однако некоторые чипы ОЗУ, выполненные по КМОП-технологии, в режиме ожидания (в котором не происходит ни чтения, ни записи данных) работают от ис- точников питания очень малой мощности — они могут продолжать работать от бата- рей даже при перебоях электроэнергии в сети. Ну, и, конечно, основное преимущест- во ОЗУ заключается в том, что данные можно считывать и записывать одинаково быстро и одинаково легко. Приведенное ниже подробное обсуждение принципов построения и функциониро- вания оперативных запоминающих устройств будет также включать часть материа- ла, который был раскрыт при изучении ПЗУ, так как многие концепции являются общими для обоих типов памяти. 11.11. Архитектура ОЗУ Как и в случае с ПЗУ, будет весьма полезным представлять себе ОЗУ как систему из какого-то количества регистров, в каждом из которых хранится одно слово дан- ных и каждый из которых имеет свой уникальный адрес. Микросхемы ОЗУ обычно изготавливаются с емкостями 1к, 4к, 8к, 16к, 64к, 128к, 256к и 1024к слов данных, 798 Глава 11
а каждое слово, как правило, состоит из 1, 4 или 8 бит. Емкость памяти, определяе- мая количеством слов и их длиной, может быть увеличена объединением нескольких чипов в одну систему. На рис. 11.19 показана упрощенная архитектура ОЗУ, которое может хранить 64 слова данных по четыре бита в каждом (т.е. память емкостью 64 х 4). Каждое слово имеет свой адрес, который определяется числом от 0 до 6310. Чтобы выбрать один из 64 участков памяти для чтения или записи, нужно подать на дешифратор схемы двоичный код, соответствующий адресу этого участка. Так как 64 = 26, то дешифра- тор имеет шесть входов данных. Каждый код адреса активирует какой-то один вы- ход дешифратора, который, в свою очередь, включает соответствующий регистр па- мяти. Предположим, например, что на ЗУ подан код адреса A^A^A^AgAjA^ — 011010. Входы данных Рис. 11.19. Внутренняя архитектура ОЗУ емкостью 64 х 4 бита Так как 0110102 = 2610, будет возбужден выход дешифратора под номером 26; сигнал на этом выходе установится в состояние с высоким уровнем напряжения, и в результате будет разрешено чтение или запись в регистр 26. Операция чтения Код адреса определяет регистр памяти, в котором будет произведена операция чтения или записи. Чтобы считать содержимое выбранного регистра, на вход чте- ния/записи должна быть подана логическая 1, а также должен быть возбужден вход выбора микросхемы — в данном случае на него следует подать логический 0. Комби- Запоминающие устройства 799
нация сигналов R / W = 1 и CS = 0 откроет выходные буферы микросхемы, и содер- жимое выбранного регистра появится на четырех выходах данных ЗУ. Сигнал R / W = 1 также отключает входные буферы, поэтому сигналы на входах данных не могут повлиять на данные в памяти во время операции чтения*. Операция записи Чтобы записать в выбранный регистр новое четырехбитовое слово, нужно подать на чип памяти сигналы R / W = О и CS = О. Эта комбинация включает входные бу- феры, и четырехбитовые слова данных, поданные на входы данных микросхемы, бу- дут загружены в указанный регистр. Сигнал R / W = 0 также выключает выходные тристабильные буферы, поэтому во время операции записи выходы данных будут на- ходиться в высокоимпедансных состояниях. Операция записи уничтожает слово дан- ных, которое было ранее сохранено по указанному адресу. Выбор микросхемы Большинство чипов памяти имеют один или несколько входов выбора микросхе- мы CS, которые используются для включения данной микросхемы или полного ее отключения. В отключенном режиме все входы и выходы данных закрываются (переходят в высокоимпедансные состояния), и операции чтения и записи становятся недоступны. В таком режиме работы содержимое памяти не изменятся. Смысл в на- личии входа CS станет ясен, если мы соединим друг с другом сразу несколько мик- росхем, чтобы получить запоминающее устройство большей емкости. Обратите вни- мание, что многие производители маркируют данный вход как СЕ. Когда вход CS или СЕ переходит в активное для него состояние, это значит, что для работы была выбрана данная микросхема; в противном случае для работы выбираются другие микросхемы той же системы памяти. Многие ИС спроектированы таким образом, что в случае, если они не были выбраны, они начинают потреблять намного меньшую энергию от источника питания. В больших системах памяти для каждой операции выбирается один или несколько чипов памяти, в то время как остальные переходят в энергосберегающий режим. Входы ввода-вывода Чтобы уменьшить количество выводов в корпусе интегральной схемы, производи- тели часто комбинируют функции входов и выходов данных и используют для целей ввода-вывода информации одну и ту же общую группу выводов. Функцией этой группы управляет сигнал на входе управления R / W. Во время операции чтения входы ввода-вывода работают как выходы данных, с которых снимается информация из регистра с указанным адресом. Во время операции записи те же выводы служат уже входами данных, и на них подается информация, которую требуется сохранить в регистрах памяти. Целесообразность такого подхода показана на примере чипа памяти (рис. 11.19). Если бы такая микросхема имела отдельные ножки для ввода и вывода данных, то потребовалось бы 18 выводов (включая землю и источник питания), а при объедине- нии этих функций получаем всего 14 выводов. Упрощение разводки схемы становит- ся еще более заметным для чипов, в которых хранятся слова данных большей длины. Некоторые производители ИС памяти используют вместо маркировки R / W символы WE (от англ. Write Enable — разрешение записи) или W . В любом случае, работа схемы от этого не меняется. 800 Глава 11
Пример 11.9. ИС 2147Н представляет собой ОЗУ, выполненное по n-МОП-технологии, емкостью 4к х х 1 бит. Данная микросхема имеет отдельные входы и выходы данных, а также один разрешающий вход выбора микросхемы, управляемый низким уровнем напряжения. Нарисуйте логический символ данного чипа памяти и покажите на рисунке функции всех его выводов. Решение Логический символ ИС 2147Н изображен на рис. 11.20, а. а) Рис. 11.20. а) Обозначение ИС 2147Н; б) обозна- чение ИС МСМ6206С б) Пример 11.10. ИС МСМ6206С представляет собой ОЗУ, выполненное по КМОП-технологии и имею- щее емкость 32к х 8 бит, общие входы ввода-вывода данных и два разрешающих входа, управляемых низкими уровнями напряжения: вход выбора микросхемы (СЕ) и вход разрешения работы выхода (ОЕ). Нарисуйте логический символ данного чипа памяти и покажите функции всех его выводов. Решение Логический символ ИС МСМ6206С изображен на рис. 11.20, б. В большинстве реальных приложений запоминающие устройства используются с двунаправленными шинами данных (см. главу 9). В таких системах даже если чип памяти имеет раздельные входы ввода и вывода данных, они все будут подключены к одной и той же шине. ОЗУ, которые имеют раздельные входы ввода-вывода, назы- ваются двухпортовыми. Такие микросхемы применяются там, где скорость, с кото- рой данные поступают от какого-то устройства, играет более важную роль, чем ско- рость, с которой данные считываются из памяти. В качестве примера можно привес- ЗАПОМИНАЮ1ЦИЕ УСТРОЙСТВА 801
ти видеопамять компьютера. Видеокарта постоянно должна считывать данные из своего ОЗУ, чтобы обновлять изображение на экране, а затем она записывает в па- мять новую обновленную информацию с системной шины компьютера. 1. Опишите, какие состояния должны быть на входах схемы оперативной памяти, чтобы считать слово данных из участка с определенным адресом. 2. Почему некоторые чипы ОЗУ имеют общие входы ввода-вывода? 3. Сколько выводов в ИС МСМ6206С емкостью 64к х 8 бит, если она имеет один разрешающий вход CS и общие входы ввода-вывода данных? 11.12. Статические ОЗУ (SRAM) Описанные выше ОЗУ относятся к классу статических оперативных запоминаю- щих устройств. Такие устройства могут хранить данные столько времени, сколько на чип подается питание. Ячейки статических ОЗУ представляют собой обычные триг- геры, которые могут оставаться в заданном состоянии (т.е. хранить 1 бит информа- ции) бесконечно долгое время, лишь бы питание схемы оставалось стабильным. Позже мы рассмотрим динамические ОЗУ, данные в которых хранятся в виде заря- дов на емкостях. В таких схемах памяти данные постепенно стираются, потому что конденсаторы со временем разряжаются. Таким образом, информацию в этих устрой- ствах необходимо периодически обновлять (т.е. перезаряжать элементарные конден- саторы). Статические ОЗУ доступны на базе биполярной, МОП- и биполярной КМОП- технологий (BiCMOS); в большинстве же случаев применяются n-МОП- и КМОП- микросхемы. Как указывалось ранее, преимущество биполярных транзисторов — в степени быстродействия (хотя устройства на КМОП непрерывно сокращают разрыв в скорости работы), зато микросхемы на МОП-транзисторах имеют гораздо большие емкости и потребляют меньше энергии. На рис. 11.21 для сравнения показаны структуры ячеек типичной памяти на биполярных транзисторах и типичной памяти на n-МОП-транзисторах. Ячейка на биполярных транзисторах состоит из двух тран- зисторов и двух, резисторов, а п-МОП-ячейка — из четырех n-канальных транзисто- ров. В результате первая ячейка требует больше места на подложке микросхемы, во- первых, потому что биполярный транзистор сам по себе сложнее полевого, а во- вторых, потому что для такой ячейки нужны еще и два отдельных резистора. Ячей- ка на МОП использует в качестве нагрузочных резисторов два верхних полевых транзистора (Q3 и Q4). Элементарная ячейка, выполненная по КМОП-технологии, по- хожа на n-МОП ячейку за исключением того, что вместо транзисторов Q3 и Q4 в ней будут использоваться р-канальные транзисторы. Благодаря такой структуре КМОП- ячейка обладает самым низким потреблением энергии, правда за счет увеличения сложности чипа. <• Временные процессы в статических ОЗУ ИС ОЗУ чаще всего используются в качестве внутренней памяти компьютера. Центральное процессорное устройство (ЦПУ) непрерывно производит чтение и запись данных в память с очень высокой скоростью, которая определяется производитель- ностью самого процессора. Соответственно, и чипы памяти, с которыми работает ЦПУ, должны быть достаточно быстродействующими, чтобы успевать отвечать на команды чтения и записи процессора. Разработчик компьютеров должен все время помнить о различных временных характеристиках памяти, чтобы не повлиять отри- цательно на общую производительность компьютера. 802 Глава 11
Ячейка на биполярных транзисторах Ячейка на КМОП-транзисторах с п-каналом Рис. 11.21. Типичные ячейки памяти на биполярных и п-МОП-тран;шсторах Не все ОЗУ имеют одинаковые временные характеристики, но чаще всего их па- раметры совпадают, поэтому в качестве иллюстрации будет использован стандартный набор характеристик. Номенклатура различных временных параметров запоминаю- щих устройств может отличаться у разных фирм-производителей, но значение кон- кретного параметра обычно легко определить по временным диаграммам, приведен- ным в спецификации на ОЗУ. На рис. 11.22 показаны временные диаграммы полных циклов чтения и записи типичного чипа ОЗУ. Цикл чтения Формы сигналов, изображенные на рис. 11.22, а, показывают, как себя ведут сигналы адреса, чтения/записи (R / W ) и выбора микросхемы (CS ) во время чтения данных из памяти. Как указывалось ранее, центральный процессор выдает эти сиг- налы на микросхему запоминающего устройства, когда требуется считать данные из конкретного участка оперативной памяти. Хотя обычно ОЗУ имеет довольно большое количество входов адреса, на которые поступают сигналы с процессора, для простоты на рисунке показаны только два входа и только один выход данных ОЗУ. Выходы данных микросхемы памяти подсоединяются к шине данных, связанной с микро- процессором (рис. 11.5). Цикл чтения начинается в момент времени tQ. До этого момента входы адреса на- ходятся в состоянии, оставшемся на шине данных от предыдущей операции. Так как вход выбора микросхемы не активен в данный момент времени, чип не будет реаги- ровать на “старый” адрес. Обратите внимание, что до момента f0 линия R/W нахо- дится в состоянии с высоким уровнем напряжения, в котором она остается и на про- тяжении всего цикла чтения. В большинстве систем памяти вход R / W все время поддерживается в таком состоянии, и только в тех случаях, когда требуется произве- сти запись в память, он переходит в состояние с низким уровнем. Выходы данных ОЗУ находятся в высокоимпедансных состояниях, так как сигнал CS = 1. В момент t0 процессор формирует новый адрес и подает его на входы ОЗУ — это адрес участка памяти, который нужно прочитать. Через некоторое время сигнал ад- реса стабилизируется и активизирует разрешающий вход CS . ОЗУ реагирует, поме- щая данные из указанного участка на линии выхода данных в момент tx. Временной интервал между моментами t0 и G называется временем доступа ОЗУ taocT, он пока- зывает время между подачей на микросхему нового адреса и появлением на ее выхо- де новых данных. Временной параметр tco показывает, сколько времени требуется Запоминающие устройства 803
для того, чтобы на высокоимпедансных выходах данных появились стабильные дан- ные после того, как был возбужден вход CS . От ЦП 1 Адресные входы О R/W 1 CS 1 Вывод данных на шину b t2 t3 Цикл чтения Цикл записи б) Рис. 11.22. Типичные временные процессы статического ОЗУ: а) цикл чтения; б) цикл записи 804 Глава 11
В момент t2 разрешающий вход CS возвращается в состояние с высоким уровнем напряжения, выход данных ОЗУ также вернется в высокоимпедансное состояние; для этого потребуется некоторое время tOD. Таким образом, данные из ОЗУ появятся на шине данных на время между моментами и tz. Центральный процессор снимает информацию с шины данных в любой момент этого интервала. В большинстве ком- пьютеров ЦПУ использует передний фронт сигнала CS в момент t2, чтобы зафикси- ровать данные в одном из своих внутренних регистров. Длительность полного цикла чтения tU4 занимает интервал от момента to до мо- мента t4, в который процессор изменяет сигналы адреса для того, чтобы произвести следующий цикл чтения или записи. Цикл записи На рис. 11.23, б показаны сигналы, которые проходят в ОЗУ при выполнении цикла записи данных. В момент t0 центральный процессор подает на запоминающее устройство новый адрес. Для этого через некоторое время, называемое временем ус- тановки адреса он устанавливает на входах R / W и CS состояния с низкими уровнями напряжения. Это позволяет дешифраторам адреса, встроенным в микро- схему ОЗУ, отреагировать на новый адрес. Входы R / W и CS поддерживаются в со- стояниях с низкими уровнями в течение времени tw, которое называется интерва- лом записи. Во время интервала записи (в момент tj процессор формирует и выдает на шину данных информацию, которую необходимо записать в ОЗУ. Эти данные должны ос- таваться на входе данных ОЗУ как минимум в течение времени ty£ до снятия нуле- вых сигналов на входы R/Ww CS в момент t2 и как минимум в течение времени ^удд после этого. Время £уд называется временем установки данных, а время tyAa на- зывается временем удержания данных. Аналогично, сигналы на входе адреса также должны оставаться какое-то время после момента t2 стабильными; это время обозна- чается как и называется временем удержания адреса. Если требования к ста- бильности сигналов на протяжении этих интервалов не будут выполнены, то возни- кает большая вероятность, что операция записи произойдет некорректно. Полный цикл записи занимает время tU3 от момента t0 до момента t4, когда ЦПУ изменит сигналы на линиях адреса для осуществления следующего цикла чтения или записи. Длительности циклов чтения и записи (ty3 и tU4) определяют быстродействие чи- па памяти. Например, предположим, что в каком-то реальном приложении процес- сор считывает из памяти последовательно записанные слова данных. Если время цикла чтения ОЗУ £цч = 50 нс, то это означает, что процессор может считывать 1 слово данных каждые 50 нс (т.е. 20 млн слов в секунду), а при 7ЦЧ = 10 нс он может считывать 100 млн слов в секунду. В табл. 11.2 показаны минимальные временные параметры циклов чтения и записи для некоторых чипов статических оперативных запоминающих устройств. Таблица 11.2 якяк > ' ' г* * '4 :4г‘У" Запоминающее устройство 1цч(гтйп), НС 1цз(Ш1п), НС ИС МСМ6206С, КМОП, 32к х 8 15 15 ИС 2147Н, n-МОП, 4к х 1 35 35 ИС МСМ6708А, бипол. КМОП, 64к х 4 8 8 Запоминающие устройства 805
Реальная микросхема статической памяти В качестве реального примера статического ОЗУ может служить ИС МСМ6264С. Она выполнена по КМОП-технологии и имеет емкость 8к х 8 бит; длительность цик- лов чтения и записи одинакова и составляет 12 нс, а потребление энергии в режиме ожидания не превышает величину 100 мВт. Логический символ, которым обознача- ют данную ИС, показан на рис. 11.23. Обратите внимание, что схема имеет 13 входов адреса, так как 213 = 8192 = 8 килобитов, и восемь линий ввода-вывода данных. Сиг- налы, которые поступают на четыре входа управления, определяют режим работы устройства согласно сопроводительной таблице, приведенной на рисунке. Входы Режим WE CS1 OS 2 ОЕ Входы/ выходы данных Чтение 10 10 Выводимые данные Запись 0 0 1 X Вводимые данные Вывод запрещен 1 X X 1 Z Устройство не выбрано (режим низкого энергопотребления) X 1 X X X X 0 X Z X =безразлично Рис. 11.23. Обозначение и таблица режимов работы интегральной КМОП-схемы МСМ6264С Вход WE данной микросхемы выполняет те же функции, что и вход R / W рас- смотренных ранее ОЗУ. Сигнал с низким уровнем напряжения на этом входе разре- ши: запись данных в память при условии, что было выбрано именно данное устрой- ство (возбуждены оба входа выбора микросхемы). Символ означает, что должны быть возбуждены непременно оба этих входа. Высокий уровень напряжения на входе WE указывает, что определена операция чтения; при этом для работы должно быть выбрано устройство, и его выходные буферы открыты сигналом ОЕ = 0 . Если же микросхема не была выбрана процессором, то устройство будет находиться в режиме малого потребления энергии, и ни один из сигналов, поданных на какой-либо вход ЗУ, не вызовет никакого эффекта. * Большинство устройств, о которых шла речь в данной главе, доступны сразу от многих фирм-производителей. Каждая из них может предлагать различные инте- гральные микросхемы одной и той же емкости (скажем, 32к х 8 бит), но с разными спецификациями или характеристиками. Существуют также отличия и в реализации запоминающих устройств; их можно с одинаковым успехом собирать в корпусах ти- па DIP, PLCC и др. Можно заметить, что запоминающие устройства, представленные в этой главе, имеют некоторые сходные черты. Взгляните, например, на чипы памяти, изобра- женные на рис. 11.24, а именно — на расположение и маркировку выводов. На всех приведенных микросхемах, хоть они и производятся различными компаниями, вы- воды с одинаковыми функциями обозначаются одинаковыми маркировками — это не просто совпадение. Такая структура соответствует промышленным стандартам, раз- работанным Объединенным техническим советом по электронным приборам (Joint Electronic Device Engineering — JEDEC). Благодаря рекомендациям этого совета поч- ти все запоминающие устройства стали взаимозаменяемыми. 806 Глава 11
Ui 1 2 VPP 23 21 24 25 Ai2 Ац Аю Аэ 19 3 А8 °7 18 4 А? о6 17 5 А6 °5 16 6 А5 Од 15 7 Ад о3 13 8 Аз О2 12 9 10 а2 Ai и1 Ор 11 Ар СЕ ОЕ PGM 2764 U2 10 9 8 7 6 5 4 3 25 24 21 23 2 27 26 22 20 Ар |/о0 Ai I/O! а2 I/O 2 A3 |/03 Ад 1/Од А5 I/O 5 Аб I/O 6 А7 А8 Аэ Aw Ац А12 WE СБг ОЕ CS, I/O 7 6264 11 12 13 15 16 17 18 19 2 23 21 24 25 3 4 5 6 7 8 9 10 Ai 2 An Aio Аэ Ae a7 A6 A5 a4 A3 a2 Ai Aq 2864 I/O 8 I/O 7 l/O6 I/O 5 I/O 4 l/O3 I/O 2 I/От 19 18 17 16 15 13 12 11 27 26 2 23 21 24 25 3 4 5 6 7 8 9 10 20z-> 22> A, 4 A13 Ai2 Ац Aio Ag Ae A? Ae As Ад A3 a2 CE OE 27256 O7 •O6 O5 O4 O3 O2 O1 O0 19 18 17 16 15 13 12 11 Puc. 11.24. Стандарт JEDEC на изготовление корпусов и маркировку выводов ЗУ Пример 11.1 Некоторая система памяти была собрана из двух чипов: ПЗУ емкостью 8к х 8 бит (ИС 2764) и статического ОЗУ той же емкости (ИС 6264). Весь объем ПЗУ (8 кило- байт) используется для хранения внутренних инструкций микропроцессора. Вам не- обходимо модернизировать данную систему таким образом, чтобы получить энергоне- зависимое запоминающее устройство с возможностью чтения и записи информации. Пригодна ли существующая схема для такой цели? Решение Электрически стираемую перепрограммируемую микросхему 2864 - можно просто вставить в один из разъемов для ОЗУ. С функциональной точки зрения единственной разницей будет более длинная продолжительность цикла записи данной ЭСППЗУ. С этим, в принципе, можно и смириться, немного изменив программу для микро- компьютера, которая использует данное ЗУ. Для таких изменений потребуется чис- тое место в ПЗУ, поэтому необходимо взять ПЗУ большей емкости. К примеру, ПЗУ 27С256 емкостью 32к х 8 бит имеет точно такую же разводку выводов, как ИС 2764. Заменим старый чип на новый и присоединим две новых линии адреса (Ai3 и Ai4) к разъему ПЗУ. Те системы памяти, которые следуют стандарту JEDEC. имеют преимущество в гибкости и универсальности. Выводы, общие для всех таких запоминающих уст- ройств, можно жестко фиксировать на системных платах. Те же выводы, которые для определенных устройств отвечают за какие-то определенные функции, подсоеди- няются к элементам схемы таким образом, чтобы их можно было легко заменить и с их помощью сконфигурировать систему любого размера и типа. Это дает возмож- ность пользователю изменять аппаратную часть системы без необходимости перепаи- вать разводку. Элементы, которые отвечают за изменение параметров схемы, могут иметь предельно простой вид: подвижных джемперов или переключателей в DIP- корпусах, которые достаточно передвинуть, чтобы такое сложное программируемое логическое устройство, как компьютер, изменил свои характеристики в соответствии с новыми требованиями. Запоминающие устройства 807
Вопросы 1. Чем отличаются элементарные ячейки памяти статических ОЗУ от ячеек памя- ти динамических ОЗУ? 2. Какая технология изготовления запоминающих устройств позволяет использо- вать наименьшую мощность питания? 3. Какое устройство помещает информацию на шину7 данных во время цикла чте- ния? 4. Какое устройство помещает информацию на шину данных во время цикла за- писи? 5. Какие временные параметры ОЗУ определяют его быстродействие? 6. Проверьте истинность высказывания. Низкий уровень напряжения на входе ОЕ ИС МСМ6264С открывает выходные буферы микросхемы при условии, что оба ее входа выбора находятся в активных состояниях. 7. Что нужно сделать с выводами 26 и 27 ИС 27256, чтобы заменить ее на ИС 2764? 11.13. Динамические ОЗУ (DRAM) Динамические ОЗУ производятся по МОП-технологии (металл-оксид-полу провод- ник), поэтому они имеют высокую емкость, низкое энергопотребление и достаточно высокое быстродействие. Как указывалось ранее, в отличие от статических ОЗУ, в которых информация сохраняется в триггерах, динамические ОЗУ хранят единицы и нули в виде зарядов на очень маленьких МОП-конденсаторах, емкость которых обычно не превышает нескольких пикофарад. Со временем эти заряды саморазряжа- ются, поэтому динамические ОЗУ требуют периодической перезарядки ячеек памяти; этот процесс называется обновлением динамической памяти. В современных чипах динамических ОЗУ информация в ячейках памяти должна обновляться каждые 2, 4 или 8 мс, иначе данные будут потеряны. Необходимость периодического обновления данных является очевидным недос- татком динамических ОЗУ по сравнению со статическими, потому что для хранения информации требуется дополнительная логика. Некоторые микросхемы динамиче- ских ОЗУ имеют встроенные логические элементы, которые контролируют обновле- ние данных, исключая тем самым нужду в каких-либо внешних вспомогательных схемах, но при этом приходится учитывать новые временные процессы на разре- шающих входах чипа. Кроме того, на входы адреса микросхемы динамического ОЗУ сигналы подаются несколько иначе, чем это было для статических ОЗУ. Таким обра- зом, разработка и применение динамической памяти в электронных системах гораздо сложнее, чем использование статических ЗУ. Однако намного большие емкости и намного меньшие значения энергии потребления позволяют динамическим ОЗУ на- ходить свою нишу в тех системах, где основными требованиями к памяти являются размеры чипов, стоимость и мощность потребления энергии. В приложениях, где более важны такие параметры, как быстродействие и просто- та работы, а не цена и размеры микросхем, предпочтительнее применять статические ОЗУ. Они обычно имеют большую скорость работы и не требуют обновления данных. Такие запоминающие устройства проще проектировать, но по части емкости и по- требления энергии они не могут конкурировать с динамической памятью. Благодаря простой структуре элементарной ячейки динамические ОЗУ обычно имеют плотность размёщения элементов в четыре раза большую, чем статические ОЗУ. Столь высокая плотность позволяет увеличить емкость памяти в четыре раза, т.е. фактически разместить весь объем памяти на одной четвертой площади печатной 808 Глава 11
платы. Удельная стоимость динамических ОЗУ на один бит информации составляет примерно четвертую или пятую часть от стоимости записи информации в статиче- ские ОЗУ. Кроме того, эти микросхемы дешевле, что связано с уменьшением потреб- ляемой энергии — чипы динамической памяти обычно потребляют от 1/6 до 1/2 энергии, потребляемой чипами статической памяти, благодаря чему можно исполь- зовать источники питания меньшей мощности и, соответственно, более низкой стои- мости. Основная область использования статических ОЗУ — системы с небольшим объе- мом оперативной памяти, для которых необходима высокая скорость считывания и записи информации. Многие приборы и электронные инструменты практически не требуют заоблачных емкостей памяти, тогда как, например, цифровые запоминаю- щие осциллографы и логические анализаторы весьма чувствительны к ее быстродей- ствию. В таких случаях обычно используют именно статические ОЗУ. Внутренняя основная память большинства персональных микрокомпьютеров (ПК на базе ОС Windows или Mac OS) обычно представляет собой динамическое оператив- ное запоминающее устройство, поскольку такие чипы имеют большую емкость и низкую мощность потребления. Однако в тех же настольных компьютерах могут применяться и небольшие объемы статической памяти, предназначенные для выпол- нения отдельных функций с максимальным быстродействием. В качестве примеров статических ОЗУ можно привести элементы видеосистемы компьютера, микросхемы со справочными таблицами функций, кэш-память. Вопросы 1. Назовите основные недостатки динамических ОЗУ по сравнению со статиче- скими. 2. Перечислите преимущества динамических ОЗУ. 3. Какой тип ОЗУ чаще всего встречается в оборудовании с питанием от батарей? 11.14. Структура и функционирование динамических ОЗУ Внутреннюю архитектуру типичного динамического ОЗУ можно представить в виде массива однобитовых ячеек, как это сделано на рис. 11.25. Здесь 16384 ячейки размещены в виде матрицы размером 128 х 128. Каждая ячейка занимает з’никаль- ную позицию на пересечении одного из столбцов массива с одной из строк. Чтобы можно было выбрать одну из ячеек памяти, требуется четырнадцать входов адреса (2й = 16384); при этом младшие биты адреса (от Ас до Ав) определяют номер строки ОЗУ, а старшие биты (от А7 до Aj3) служат для выбора столбца. Каждый 14 битовый адрес соответствует только одной ячейке памяти, в которую должна быть записана (или из которой должна быть считана) информация. Структура памяти, изображен- ная на рис. 11.25, представляет собой чип динамического ОЗУ емкостью 16к х 1 бит. В настоящее время доступны чипы с емкостями до 64 Мбит. Динамические ОЗУ с длиной слов четыре или больше бит имеют похожее строение, отличаясь только тем, что каждое пересечение строки и столбца матрицы содержит четыре ячейки памяти, а каждый адрес относится уже к группе из четырех ячеек, в которые и будет произ- ведена операция записи (или чтения). Слова большей длины можно обрабатывать, объединяя определенным образом сразу несколько микросхем. Запоминающие устройства 809
Входы адреса столбца Г строки из 128 Рис. 1125. Структура ячеек памяти динамического ОЗУ емкостью 16к х 1 бит На рис. 11.26 показана эквивалентная схема ячейки динамической памяти и свя- занных с ней элементов запоминающего устройства. Многие детали схемы не пока- заны на рисунке, но это упрощенное представление может быть использовано для описания основных идей записи и чтения динамических ОЗУ. Вход данных Выход данных Рис. 11.26. Эквивалентная схема ячейки динамической памяти. Во время операиии записи полупроводниковые ключи SW1 и SW2 должны быть закрыты. Во время операции чтения открыты все ключи, кроме SW1 Ключи от SW1 и до SW4 представляют собой полевые транзисторы, которые управляются различными выходными сигналами дешифратора адреса и сигналом чтения/записи (R/W). Конденсатор же, по существу, и является реальной ячейкой памяти. Чтобы записать данные в ячейку, нужно подать с дешифратора адреса и некото- рых логических элементов ОЗУ сигналы, которые закроют ключи SW1 и SW2, в то время как ключи SW3 и SW4 должны оставаться открытыми. При таком располо- жении контактов вход данных окажется подключенным к конденсатору С. Логиче- ская единица на входе данных зарядит емкость С, а логический 0 разрядит ее. Затем все ключи размыкаются, и конденсатор оказывается отсоединен от остальной схемы. В идеале, С должен сохранять свой заряд бесконечно длительное время, но на прак- тике всегда существует некоторая утечка заряда через разомкнутые ключи, поэтому емкость постепенно разряжается. 810 Глава 11
Чтобы считать данные из ячейки памяти, нужно замкнуть ключи SW2, SW3 и SW4, а ключ SW1 оставить открытым. Тогда напряжение, присутствующее на кон- денсаторе, окажется приложенным к усилителю считывания. Этот усилитель срав- нивает напряжение некоторым опорным значением и определяет, какой логический сигнал хранится в конденсаторе, а на выходе выдает сигнал амплитудой О В (при ло- гическом 0) или 5 В (при логической 1). Выход данных подключен к емкости С через ключи SW2 и SW4, благодаря чему происходит обновление заряда на конденсаторе посредством перезарядки или разряда. Иначе говоря, бит данных в памяти обновля- ется каждый раз, когда он считывается. Мультиплексирование адресов Динамическое оперативное запоминающее устройство емкостью 16к х 1 бит, изо- браженное на рис. 11.25, уже давно устарело и не выпускается. Такое ОЗУ состоит из массива отдельных регистров и имеет 14 входов адреса. Микросхема динамиче- ской памяти емкостью 64к х 1 бит имеет 16 входов адреса, емкостью 1М х 4 бита — 20 входов, а емкостью 4М х 1 имеет 22 входа адреса. Высокая емкость чипов дина- мической памяти приводит к увеличению количества выводов микросхемы, поэтому производители стараются сделать так, чтобы одному выводу чипа соответствовало несколько битов адреса. Для уменьшения количества выводов микросхем использу- ется мультиплексирование адресов, которое позволяет на каждый входной вывод ад- реса подавать два различных бита адреса. Сокращение числа выводов ИС приводит к значительному уменьшению размеров ее корпуса. Это очень важно для печатных плат большой емкости, поскольку на такой плате должен быть предельно большой объем памяти. •. Далее описан порядок выполнения операций при мультиплексировании адресов, поступающих на микросхему оперативной памяти. Следует отметить, что в старых динамических ОЗУ малой емкости при указании строки массива регистров сначала указывались младшие биты адреса, а при указании столбца массива указывались старшие биты. В этой книге используются новые правила, но читатель должен пом- нить об изменениях в номенклатуре при знакомстве со старыми системами. Рассмотрим особенности работы динамических ОЗУ на примере ИС TMS44100 компании Texas Instruments емкостью 4М х 1 бит. Функциональная.схема внутрен- ней архитектуры этого чипа проиллюстрирована на рис. 11.27; идентичные схемы можно найги в любой спецификации к конкретной микросхеме. На первый взгляд может показаться, что приведенная схема крайне запутанна, однако это всего лишь большая модификация простой схемы динамического ОЗУ емкостью 16к х 1 бит, ко- торая была показана на рис. 11.25. Функционально это тот же массив ячеек, кото- рый состоит из 2048 строк и 2048 столбцов. Каждая строка выбирается с помощью дешифратора адреса, который, говоря слегка упрощенно, представляет собой дешиф- ратор типа “1 из 2048”; аналогично выбирается и нужный столбец. Поскольку линии адреса мультиплексируются, то биты полного 22-битового адреса не подаются на схему одновременно. Обратите внимание, что все 11 сигнальных линий адреса под- ключены непосредственно к регистрам адреса строки и к регистрам адреса столбца. Каждая из этих групп регистров может хранить половину из 22 бит полного адреса. В регистрах строк хранится старшая половина, а в регистре столбцов — младшая. Момент, когда информация об адресе фиксируется в регистрах, контролируют два очень важных строба: строб адреса строки (Л45) и строб адреса столбца (CAS). Первый из них синхронизирует 11-битовый регистр адреса строки, а второй, соответ- ственно, 11-битовый регистр адреса столбца. Полный 22-битовый адрес подается на чип ОЗУ в два этапа, используя стробы RAS и CAS. Временные процессы, протекающие при этом в системе, изображены на рис. 11.27, б. Сначала на входах RAS и CAS наблюдаются сигналы высокого уровня. В момент t0 11 бит адреса строки (от Аи до A2i) поступают на входы адреса Запоминающие устройства 811
микросхемы. После некоторого времени установки этого адреса (£rs) в момент ti вход RAS переходит в состояние с низким уровнем напряжения. По заднему фронту сиг- нала адрес строки загружается в соответствующий регистр, и биты с по А21 появ- ляются на входах дешифратора строк. Низкий уровень сигнала на входе RAS также включает дешифратор; таким образом, дешифратор начинает обрабатывать посту- пивший адрес и выбирает из массива указанную строку. Функциональная схема RAS CAS W а) Рис. 1J.27. а) Упрощенная архитектура ИС TMS44100 емкостью 4М х1 бит; б) временные диаграммы сигналов RAS / CAS В момент t2 на входы адреса ОЗУ поступает 11-битовый адрес столбца (биты с Ао по Aio). В момент t3 уже вход CAS переходит в состояние с низким уровнем напря- жения, и адрес столбца начинает загружаться в соответствующий регистр адреса. Низкий уровень сигнала на этом входе также включает дешифратор адреса столбца, 812 Глава 11
который начинает обрабатывать поступивший код и, в конце концов, выбирает нуж- ный столбец. В этот момент обе части адреса находятся в соответствующих регистрах микро- схемы, и дешифраторы уже обработали их. Следовательно, уже выбрана одна ячей- ка, которая лежит на пересечении определенного столбца с определенной строкой, и в нее может быть произведена операция записи или чтения так же, как и для стати- ческого ОЗУ. Данная схема динамического ОЗУ не имеет входа выбора микросхемы (CS). Функцию выбора чипа осуществляют стробы RAS и CAS, так как оба они должны находиться в состояниях с низкими уровнями напряжения для того, чтобы дешиф- раторы адреса могли произвести выбор ячейки памяти. Следовательно, есть несколько операций, которые следует выполнить перед тем, как записанные в ОЗУ данные появятся на выходах микросхемы. При описании времени, необходимого для выполнения этих операций, часто используется термин “латентность”, который обозначает задержку. Каждая операция занимает какое-то время, и латентность определяет максимальную скорость, с которой доступны дан- ные, размещенные в памяти. Пример 11.12. Насколько уменьшится число выводов, если применить мультиплексирование адре- сов для динамического ОЗУ емкостью 16М х 1 бит? Решение Вместо 24 входов адреса будет использоваться всего 12; потребуются еще входы RAS и CAS, зато уже не нужен разрешающий вход CS . Таким образом, имеем чистую экономию одиннадцати выводов. В простой компьютерной системе сигналы адреса поступают в память с централь- ного процессорного устройства (ЦПУ). Когда ЦПУ необходимо получить информацию из конкретной ячейки памяти, оно формирует полный адрес и “выставляет” его на сигнальных линиях шины данных. На рис. 11.28, а показано, как это делается для небольшого запоминающего устройства емкостью 64 Кбит. Микросхема памяти имеет 16-жильную шину адреса, которая связывает ее непосредственно с процессором. Такая схема работает для обычных ПЗУ или для микросхем статических ОЗУ, но при использовании в динамических ОЗУ ее следует изменить, чтобы можно было применить мультиплексирование адресов. Если все 64 Кбит памяти расположены в динамическом ОЗУ, то такая микросхема будет иметь всего 8 входов адреса. Это зна- чит, что от центрального процессора 16 линий адреса сначала идут на мультиплек- сор, который передает в память одновременно только восемь бит. Такая структура символически проиллюстрирована на рис. 11.28, б. Вход выбора мультиплексора (MUX) управляет битами адреса (с номерами от До по Д7 или от А8 по А15), которые будут подаваться на входы динамического ОЗУ в данный момент времени. Временные процессы, которые задаются сигналом MUX, должны быть строго синхронизированы со стробами RA.S и CAS , контролирующими поступление битов адреса в саму микросхему (рис. 11.29). Сигнал MUX должен иметь низкий логиче- ский уровень, когда в низкий уровень переходит строб RAS . Тогда биты адреса с As по Д15 пройдут от ЦПУ на входы адреса микросхемы памяти и будут загружены в память по приходу заднего фронта строба RAS . Примерно так же, когда строб CAS переходит в состояние с низким уровнем напряжения, сигнал MUX должен иметь высокий логический уровень, тогда биты адреса с До по А? пройдут от процессора на входы микросхемы и по приходу заднего фронта строба CAS будут загружены в па- мять. Запоминающие устройства 813
a) MUX Вход данных Выход данных R/W RAS CAS *MUX = 0 — передача адреса ЦП Ае-А15 в динамическое ОЗУ MUX = 1 — передача адреса А^-Ау 6) Рис. 11.28. а) Шина адреса связывает центральный процессор и ПЗУ или ИС статической памяти; 6) ЦПУ формирует адреса памяти, которые поступают на мультиплексор и лишь затем на микросхему памяти Здесь не показана реальная архитектура элементов мультиплексирования и син- хронизации, но ознакомиться с ней можно в упражнениях в конце главы (упражнения 11.26 и 11.27). 814 Глава 11
Вопросы MUX RAS CAS A8-A15 фиксируются в регистре адреса строки динамического ОЗУ Aq-A7 фиксируются в регистре адреса столбца динамического ОЗУ Рис. 11.29. Диаграммы сигналов при времен- ном мультиплексировании адресов 1. Опишите структуру массива динамического ОЗУ емкостью 6,4к х 1 бит. • 2. Какие преимущества дает мультиплексирование адресов? | 3. Сколько входов адреса будет иметь чип динамической памяти емкостью 1М х х 1 бит? 4. Какие функции имеют стробы RAS и CAS ? 5. Для чего нужен сигнал MUX7 11.15. Циклы чтения/записи динамического ОЗУ Временные процессы, протекающие в динамической оперативной памяти при чтении или записи информации, намного более сложны, чем в статических ОЗУ. От- сюда возникает множество критических дополнительных требований, которые дол- жен иметь в виду разработчик систем памяти. Проанализируем базовую последова- тельность сигналов при выполнении операций чтения и записи в небольшой системе с динамической памятью (см. рис. 11.28, б). Цикл чтения динамического ОЗУ На рис. 11.30 показаны типичные сигналы, которые протекают в системе при вы- полнении операции чтения (предполагается, что на протяжении всего цикла чтения на входе R/W установлен высокий уровень напряжения). А теперь ознакомимся с пошаговым описанием событий, которые происходят в моменты времени, отмечен- ные на графиках. Запоминающие устройства 815
Рис. 11.30. Временные диаграммы сигналов при выполнении операции чтения информации из динамического ОЗУ. Сигнал на входе R /W (на рисунке не показан) постоянно высокий t0: сигнал MUX переходит на низкий уровень; при этом биты адреса строки (с А8 по А15) поступают на входы адреса динамического ОЗУ. «р сигнал RAS переходит на низкий уровень; при этом биты адреса строки за- гружаются в схему динамической памяти. t2: сигнал MUX переходит на высокий уровень; при этом биты адреса столбца (с Ао по А7) поступают на входы адреса динамического ОЗУ. t3: сигнал CAS переходит на низкий уровень; при этом биты адреса столбца за- гружаются в схему динамической памяти. t4: динамическое ОЗУ отвечает на поступивший адрес — данные из указанной ячейки памяти появляются на выходной линии DATA OUT. t5: сигналы MUX, RAS , CAS и DATA OUT возвращаются в начальные состояния. Цикл записи динамического ОЗУ На рис. 11.31 показаны типичные сигналы, которые протекают в системе дина- мической памяти при выполнении операции записи данных. Ниже приводится крат- кое описание последовательности событий, которые происходят в моменты времени, отмеченные на графиках. t0: сигнал MUX переходит на низкий уровень; при этом биты адреса строки по- ступают на входы адреса динамического ОЗУ. tx: задний фронт сигнала RAS загружает биты адреса строки в схему динамиче- ской памяти. t2. сигнал MUX переходит на высокий уровень; при этом на входы адреса дина- мического ОЗУ поступают биты адреса столбца. t3: задний фронт сигнала CAS загружает биты адреса столбца в схему динами- ческой памяти. 816 Глава 11
MUX Рис. 11.31. Временные диаграммы сигналов при выполнении записи ин- формации в динамическое ОЗУ t4: данные, которые необходимо записать в память, подаются на входную сиг- нальную линию DATA IN. tr): сигнал на входе R/W переходит на низкий логический уровень; при этом данные записываются в указанную ячейку памяти. f6: входные данные удаляются со входа DATA IN. t7: сигналы MUX, RAS , CAS и R/W возвращаются в начальные состояния. Вопросы 1. Проверьте истинность высказывания. а) Во время цикла чтения вход RAS активизируется раньше, чем вход CAS. б) Во время цикла записи вход CAS активизируется раньше, чем вход RAS . в) На протяжении всей операции записи вход R/W находится в состоянии с । низким уровнем напряжения. । г) Сигналы, которые поступают на входы адреса динамического ОЗУ, дважды меняются в течение цикла чтения или записи. 2. Какой сигнал гарантирует, что на входах динамического ОЗУ за один раз поя- вится именно половина битов адреса, а не больше или меньше? Запоминающие устройства 817
11.16. Обновление информации в динамическом ОЗУ Ячейка динамической памяти обновляется каждый раз, когда выполняется опе- рация чтения данных из нее. Информация, хранящаяся в динамическом ОЗУ, долж- на периодически обновляться (обычно с периодом от 4 до 16 мс в зависимости от конкретного устройства), иначе все данные будут потеряны. Это требование может показаться довольно сложным или даже невыполнимым, если речь идет об ОЗУ большой емкости. К примеру, микросхема динамической памяти емкостью 1М х 1 бит имеет 1О20 = 1 048 576 ячеек памяти. Чтобы обновить информацию в каждой из них (учитывая, что время на обновление всей памяти — всего 4 мс), потребуется выполнять операцию чтения данных из каждой отдельной ячейки со скоростью 4 нс (4 мс/1048576 » 4 нс). Такая скорость работы пока недоступна для устройств дина- мической памяти, однако производители ИС разработали динамические оперативные запоминающие устройства таким образом, что когда операция чтения производится над данными из одной ячейки памяти, обновляются данные во всех ячейках этой же строки. Итак, необходимо выполнить операцию чтения информации над каждой строкой массива динамического ОЗУ один раз за период 4 мс, чтобы гарантировать обновле- ние данных в каждой ячейке этого массива. В микросхеме динамической памяти ем- костью 4М х 1 бит (рис. 11.27, а) при стробировании строки любого адреса в регистр адреса будут обновлены данные во всех 2048 ячейках данной строки. Очевидно, что свойство построчного обновления информации в памяти позволяет намного облегчить задачу сохранности данных в ОЗУ. Однако при нормальном функ- ционировании системы с использованием динамической памяти довольно маловероят- но, что операция чтения будет осуществлена над каждой строкой в течение требуемого интервала времени. Следовательно, необходимо добавить в схему какие-то дополни- тельные логические элементы, которые бы управляли процессом обновления данных извне микросхемы или даже были бы интегрированы в нее. В любом случае, появляет- ся два режима обновления информации: монопольное и распределенное обновление. В режиме монопольного обновления нормальное функционирование памяти на время приостанавливается и происходит последовательное обновление данных во всех строках ОЗУ до тех пор, пока вся записанная информация не будет обновлена. В режиме распределенного обновления считывание данных (т.е. их обновление в па- мяти) чередуется с нормальной работой запоминающего устройства. Наиболее универсальный метод для обновления динамической памяти — это об- новление RAS. Оно выполняется стробированием адреса строки сигналом RAS , в то время как сигналы CAS и R/W остаются в состояниях с высоким логическим уровнем- На рис. 11.32 проиллюстрировано, как осуществляется обновление RAS при монопольном обновлении данных в ИС TMS44100. Для того чтобы упростить операцию обновления данных, применяются некоторые дополнительные логические элементы, что несколько усложнят структуру самого чипа памяти. Поскольку в од- ном ряду объединяются два блока памяти, то оба они будут обновлены одновремен- но, т.е. обновление происходит так же быстро, как будто система памяти состоит только из 1024 строк регистров. Для подачи 10-битового адреса строки на входы ад- реса динамического ОЗУ начиная с адреса 0000000000 (строка 0) используется счет- чик обновления. Логический уровень строба RAS переходит в нулевое состояние, и адрес загружается в ОЗУ; при этом строка 0 обновляется сразу в обоих блоках. Затем состояние счетчика увеличивается на 1, и процесс повторяется до тех пор, пока не будет достигнут адрес 1111111111 (строка 1023). Для интегральной схемы TMS44100 монопольное обновление данных выполняется всего за 113 мкс, причем его можно проводить с периодом 16 мс или даже меньше. 818 Глава 11
•На линиях RW и CAS — высокий уровень Рис. 11.32. В методе обновления RAS используется только сигнал RAS , чтобы загрузить адрес строки в динамическое ОЗУ для обновления всех ячеек этой, строки. Обновление RAS может использоваться для пакетного обновления данных, как это показано на рисунке. Счетчик обновления подает последовательность адресов строк от 0 до 1023 (для памяти емкостью 4М к 1 бит) Итак, идея обновления данных с помощью специального счетчика кажется доста- точно эффективной, однако следует учесть, что адреса строк, которые поступают на чип памяти от счетчика обновления, не должны “встречаться” с адресами, которые выдает центральный процессор во время операций чтения/записи. По этой причине адреса со счетчика обновления и адреса от микропроцессора должны мультиплекси- роваться по времени, чтобы в заданные моменты только один из этих источников мог выдавать свой адрес на микросхему памяти. Чтобы не занимать центральный процессор компьютера решением связанных с обновлением информации задач, часто применяется специальный чип, который на- зывается контроллером динамического ОЗУ. В простейшем случае этот контроллер должен осуществлять мультиплексирование адресов и формировать счетную последо- вательность обновления строк памяти. При этом формированием управляющих сиг- налов RAS , CAS и MUX занимаются другие логические элементы системы и, в ка- кой-то мере, оператор компьютера. Другие контроллеры могут быть полностью авто- матическими (их входные сигналы очень похожи на входные сигналы статических ОЗУ и ПЗУ). Входные сигналы автоматически формируют счетную последователь- ность обновления с такими интервалами времени, чтобы можно было поддерживать информацию, хранящуюся в памяти. Кроме того, эти сигналы мультиплексируют шину адреса, формируют стробы RAS и CAS, а также распределяют контроль ди- намического ОЗУ между центральным процессором и элементами, которые отвечают за периодическое обновление данных. В современных персональных компьютерах контроллер динамической памяти и другие высокоуровневые контроллеры уже ин- тегрированы в СБИС, который называется чипсетом и непосредственно связан с микропроцессором. Разработчики компьютерных систем предлагают все более новые динамические ОЗУ, появляются новые чипсеты, в которых реализованы последние достижения передовых технологий. На протяжении многих лет компания Intel пред- лагала производителям персональных компьютеров различные модели чипсета Tri- ton II®. Часто количество существующих (или ожидаемых) чипсетов с поддержкой той или иной технологии определяет, в какую технологию динамической памяти разработчики будут инвестировать средства. Большинство современных выпускаемых микросхем динамической памяти имеют интегрированную логику для обновления данных и не нуждаются в использовании внешних источников адресации. Один из методов такой работы с данными проиллю- стрирован на рис. 11.33, а, он называется обновлением данных опережающей подачей строба адреса столбца по отношению к стробу адреса строки (СAS -before- RAS ), или CBR. В этом методе строб CAS первым переходит на низкий логический уровень и находится там до тех пор, пока на низкий уровень не перейдет строб RAS . Такая последовательность изменения двух сигналов сразу обновит одну строку массива па- Запоминающие устройства 819
мяти и увеличит состояние внутреннего счетчика на единицу, что будет соответство- вать формированию нового адреса строки. Чтобы осуществить монопольное обновле- ние данных с использованием этого свойства памяти, строб CAS должен находиться в состоянии с низким логическим уровнем, a HAS должен пульсировать в каждой строке, постепенно обновляя данные во всех строках памяти. Во время выполнения этого цикла обновления информации любая внешняя адресация памяти будет проиг- норирована. ИС TMS44100 имеет еще один режим обновления — скрытое обновле- ние, которое позволяет обновлять строку, когда с выхода микросхемы снимаются данные. В этом режиме строб CAS поддерживается в состоянии с низким логиче- ским уровнем после цикла чтения, а строб RAS пульсирует в каждой строке, как это показано на рис. 11.33, б. Восстановление п a) CAS перед RAS Выход данных Считывание Восстановление п Восстановление п+1 RAS CAS Z-состояние Данные действительны б) Скрытое восстановление Выход данных Общее восстановление RAS 100 мкс/мин Z-состояние Рис. 11.33. Режимы обновления данных для ИС TMS44100 в) Автовосста- новление данных 820 Глава 11
И наконец, третий режим обновления данных называется режимом автообновле- ния, или авторегенерации. Схематически он изображен на рис. 11.33, в. Такой ре- жим позволяет полностью автоматизировать весь процесс. Внутренний генератор ко- лебаний синхронизирует счетчик адреса строки до тех пор, пока все ячейки памяти не будут обновлены. Строб CAS принудительно переводят в состояние с низким ло- гическим уровнем раньше, чем RAS , а затем они оба удерживаются в нулевом со- стоянии приблизительно 100 мкс. Режим, который выберет разработчик памяти, в каждом конкретном случае зависит от того, насколько будет загружен центральный процессор системы. Если он может подождать 100 мкс, не обращаясь к памяти, и делать это каждые 16 мс, то лучшим выбором будет режим автообновления. Однако если такой режим весьма замедлит выполнение программ, то, возможно, предпочти- тельнее использовать распределенное обновление данных в режимах обновления CBR или скрытого обновления. В любом случае, за выделенное время должны быть об- новлены данные во всех ячейках памяти, иначе записанная информация будет поте- ряна. • Вопросы i 1. Проверьте истинность высказывания. а) В большинстве динамических ОЗУ необходимо считывать данные только одной ячейки каждой строки памяти, чтобы обновить все ячейки этой стро- • ки. б) При монопольном обновлении данных весь массив регистров обновляется одним стробом RAS. 2. Для чего нужен счетчик обновления? 3. Какую функцию выполняет контроллер динамической памяти? 4. Проверьте истинность высказывания. а) При обновлении RAS строб CAS поддерживается в состоянии с низким уровнем. б) Обновление CBR может использоваться только теми динамическими ОЗУ, в которые интегрирована управляющая логика. 11.17. Технологии динамической памяти* При выборе конкретного типа оперативной памяти для некоторой системы разра- ботчик зачастую сталкивается с принятием сложных решений. Емкость (как можно большая), скорость работы (как можно более быстрая), мощность потребления энер- гии (как можно меньшая), стоимость (чем ниже, тем лучше) и удобство пользования (чем легче заменить, тем лучше) должны находиться в разумном балансе, потому что на сегодняшний день не существует такого типа памяти, который мог бы полностью соответствовать всем требованиям. Рынок полупроводниковой оперативной памяти постоянно пытается подстроиться под идеальное совмещение всех характеристик па- мяти для различных применений. В данном разделе будут описаны некоторые виды памяти и терминология, которая применяется в современной технологии производст- ва ОЗУ. Данная область производства динамично развивается, поэтому на момент выхода книги в печать некоторые из терминов уже могут стать историей. * Эту тему можно пропустить без ущерба для изучения остального материала данной книги. Запоминающие устройства 821
Модули памяти При участии многих компаний, которые производят материнские платы для пер- сональных компьютеров, были разработаны стандартные соединители интерфейсов памяти. Эти соединители представляют собой небольшие печатные схемы, имеющие контактные площадки на обеих сторонах платы. Такие карты позволяют легко про- извести установку или замену модулей памяти на материнской плате компьютера. Например, модуль SIMM (Single-In-line Memory Module — модуль памяти с одноряд- ным расположением выводов) представляет собой схему памяти, которая имеет 72 функционально эквивалентных контакта по обеим сторонам платы. Размещение кон- тактов по обеим сторонам такого чипа делается для того, чтобы можно было гаран- тировать надежный контакт чипа с разъемом материнской платы. Модули SIMM со- стоят из динамических ОЗУ, размещенных на плате и имеющих напряжение пита- ния 5 В. Емкость таких ОЗУ может варьироваться от 1 до 16 Мбит. В целом модули памяти SIMM имеют общую емкость от 1 до 32 Мб. В более новых модулях памяти DIMM (Dual-In-line Memory Module — модуль па- мяти с двухрядным расположением выводов) используется уже 168 выводов, т.е. 84 функционально уникальных контакта на каждой стороне микросхемы. Дополни- тельные выводы предназначены для соединения модуля DIMM с 64-битовой шиной данных, так как в современных компьютерах применяются именно такие шины. Модули памяти DIMM могут иметь питание 3,3 или 5 В и содержать буфер. Емкость памяти DIMM зависит от количества микросхем динамической памяти, размещен- ных на одной плате; при увеличении емкости этих микросхем, естественно, увеличи- вается и общая емкость. То, какой тип памяти DIMM может использоваться в кон- кретной компьютерной системе, определяет архитектура чипсета и материнской пла- ты. В тех случаях, когда нужно экономить занимаемый объем, скажем, в ноутбуках, используются миниатюрные (small-outline) модули памяти (SODIMM). Основная проблема современной индустрии персональных компьютеров состоит в том, что нужно получить доступную по цене и достаточно быструю систему памя- ти — такую, которая могла бы работать с постоянно увеличивающимися частотами микропроцессоров. К обычным схемам динамических ОЗУ были добавлены дополни- тельные элементы и схемотехнические решения, которые позволили увеличить их полосу пропускания. Например, компания Rambus выпустила новый тип памяти под названием RIMM (Rambus In-line Memory Module — модули памяти Rambus), приме- нив некоторые революционные идеи в технологиях памяти. В чипах RIMM исполь- зуются патентованные микросхемы памяти, которые называются DRDEAM (Direct Rambus DRAM). Хотя методы повышения быстродействия запоминающих устройств постоянно меняются, технологии, описанные в следующих разделах, сегодня широко используются в специальной литературе, посвященной системам памяти*. FPM DRAM Память с постраничной обработкой данных (FPM — Fast Page Memory) позволяет организовывать быстрый доступ к случайным участкам информации в пределах те- кущей “страницы”. Страницей называется простой диапазон адресов памяти с оди- наковыми значениями старших битов адреса. Чтобы считать или записать данные в текущую страницу, нужно изменить только младшие биты полного адреса. * Хотя технология RIMM и является наиболее быстродействующей среди современных ком- пьютерных запоминающих устройств, ее развитие остается под вопросом. Пока что высокая цена RIMM не позволяет массово применять их в настольных системах, в то время как конку- рентная технология DDR при почти таком же быстродействии имеет гораздо более низкую стоимость, постепенно завоевывая рынок ПК. В данное время память RDRAM используется только в серверных решениях на платформе Intel, причем сама компания Intel не планирует выпуска новых чипсетов для подобных решений. — Прим. пер. 822 Глава 11
EDO DRAM По сравнению с памятью FPM динамические оперативные запоминающие устрой- ства с увеличенным временем доступности данных (EDO DRAM — Extended Data Out Dynamic RAM) обладают дополнительными возможностями. Для получения доступа к заданной странице памяти значения данных текущего участка памяти фиксируют- ся на выходных выводах чипа памяти. В чипах FPM усилитель считывания, управ- ляющий сигналами на выходе, не имеет защелки, вследствие чего необходимо, чтобы строб CAS оставался на низком логическом уровне до тех пор, пока значения данных не стабилизируются. Если же использовать память EDO в момент, когда данные выда- ются на выход чипа, строб CAS может заканчивать свой цикл, и тогда будет взят но- вый адрес на текущей странице и схемные элементы тракта прохождения данных смо- гут начать новую операцию обработки данных. Это позволяет контроллеру памяти вы- давать следующий адрес в то же время, когда считывается текущее слово данных. SDRAM Синхронные динамические ОЗУ (SDRAM — Synchronous DRAM) были разработа- ны с учетом обеспечения передачи данных очень быстрыми пакетами, состоящими из информации сразу нескольких последовательных участков памяти. Первый из этих участков имеет максимальное время доступа в связи с неизбежными задержка- ми (латентностью) при фиксации адресов нужных строки и столбца. Затем значения данных считываются на частоте шины (а не с помощью сигнала CAS) в виде пакетов информации сразу из нескольких участков одной и той же страницы памяти. Так как SDRAM состоит из 2-х блоков, это позволяет считывать данные, с очень высокой скоростью поочередным обращением к этим блокам. Чтобы обеспечить универсаль- ность и все свойства, необходимые для применения динамических ОЗУ с самыми разнообразными компьютерными системами, архитектура SDRAM-памяти была ус- ложнена. Для выбора опций, которые следует использовать в каждом конкретном случае, была введена некоторая последовательность команд. Эта последовательность определяет режимы и параметры работы памяти: длину пакета, непрерывное или по- очередное обращение к данным, выбор обновления CBR или автообновления. Режим автообновления позволяет запоминающему устройству автоматически осуществлять все необходимые функции по обновлению ячеек памяти. DDR SDRAM Оперативная динамическая память с двойной скоростью передачи данных (DDR SDRAM — Double Data Rate SDRAM) представляет собой дальнейшее развитие технологии обычной синхронной памяти SDRAM. Чтобы ускорить функционирова- ние запоминающих устройств при работе с синхронной шиной данных, было решено передавать данные не только по переднему фронту импульсов сигнала синхрониза- ции системы, но и по заднему. Благодаря такому нововведению потенциальная ско- рость передачи данных возрастает в два раза*. SLDRAM Изобретение SLDRAM (Synchronous-Link DRAM — динамическая память с син- хронной связью) стало возможным благодаря технологической эволюции памяти DDR SDRAM. Она может работать на частоте шины до 200 Мгц и передавать данные * Реальный прирост производительности компьютерной системы при переходе с SDRAM на DDR SDRAM обычно несколько меньше (некоторая часть пропускной способности шины памя- ти выделяется под служебную информацию). — Прим, перев. Запоминающие устройства 823
по обоим фронтам импульсов сигнала синхронизации. Консорциум из нескольких компаний-производителей динамических ОЗУ разрабатывает эту память в качестве открытого стандарта. Если будут разработаны чипсеты, которые смогут использовать все преимущества таких запоминающих устройств, и разработчики оборудования об- ратят свое внимание на данную технологию, то весьма вероятно, что именно этот тип памяти станет широко применяться в компьютерах. DR DRAM Память, разработанная компанией Rambus Inc., DR DRAM (Direct Rambus DRAM) является запатентованным запоминающим устройством, в котором используется ре- волюционно новый подход к архитектуре систем динамической памяти. При этом в чип интегрируется намного больше управляющих элементов, чем для обычных ЗУ. В настоящее время лишь компания Intel' разработала соответствующий чипсет, ко- торый позволяет использовать данный тип памяти в персональных компьютерах. Вопросы I 1. Являются ли модули SIMM и DIMM взаимозаменяемыми? 2. Что такое “страница” памяти? 3. Почему “страничный режим” обращения к памяти быстрее обычного обращения? < 4. Что обозначает аббревиатура EDO*? J 5. Какой термин используется для обозначения одновременного доступа сразу к нескольким последовательным участкам памяти? 6. Каким сигналом синхронизируется память SDRAM? 11.18. Увеличение длины слов данных и емкости памяти Во многих случаях при использовании ОЗУ или ПЗУ один чип по той или иной причине может не удовлетворять требованиям к емкости или размеру обрабатываемых слов данных. Тогда возникает необходимость объединения нескольких чипов в единую систему. В этом разделе подобное соединение различных микросхем проводится на не- скольких примерах, в которых проиллюстрированы основные принципы сопряжения систем памяти друг с другом и с микропроцессором. Приведенные ниже примеры будут тем более поучительны, что размеры чипов памяти были взяты таким образом, чтобы максимально сэкономить место в корпусе компьютера. Приемы, отработанные в дан- ном разделе, остаются справедливыми и для чипов памяти большей емкости. Расширение длины слова данных Предположим, что имея чипы ОЗУ емкостью 16 х 4 бита с общими входами вво- да-вывода данных нужно получить систему памяти, которая должна хранить 16 восьмибитовых слов. Чтобы получить требуемую схему, объединим пару имеющихся в наличии чипов. На рис. 11.34 показана конфигурация новой системы памяти. Внимательно изучите этот рисунок и попробуйте описать схему до того, как вы про- должите чтение данного раздела. * На момент подготовки русскоязычного издания компания Intel уже отказалась от под- держки памяти RDRAM (подтвердив окончательную победу на рынке ПК памяти DDR), и чип- сеты под нее продолжает выпускать лишь компания SIS. — Прим. ред. 824 Глава 11
АВ3 । АВ2 •“! АВ, АВе *-н R/W db7 ♦ DB6> DB5> db4 ♦ DB3 * DBj • DB1 ♦ DB0 * А3 А2 Af Ао R/W ОЗУ-О 16x4 CS Адресная шина А3 А2 Af А3 R/W ОЗУ-1 Л 16x4 CS l/o31/О2 I/O, 1/Оо IА 1/о21А I /Oq Шина данных Диапазон адресов 0000-1111 (16 слов) Слово — 8 бит 4 старших бита каждого слова сохраняются в ОЗУ-О 4 младших бита каждого слова сохраняются в ОЗУ-1 4--------- I I 1--------1 ' I ------------Г Рис. 11.34. Объединение двух ОЗУ емкостью 16 х 4 бит в один модуль памяти емкостью 16 х 8 бит Каждый чип может хранить 16 четырехбитовых слов, но если нужно записать в память 16 восьмибитовых слов, используем чипы для хранения половины каждого слова данных. Другими словами, в ОЗУ-О запишем четыре старшие бита, а в ОЗУ- 1 — четыре младшие бита каждого из 16 слов. Полное слово данных, состоящее и. восьми бит, будет сниматься с выводов нового ОЗУ, подключенных к шине данных. Любое из 16 слов можно выбрать, подав соответствующий ему код адреса на че- тыре линии шины адреса (АВ3, АВ2, ABlt АВ0). Эти сигнальные линии обычно соеди- няют память с ЦПУ. Обратите внимание, что каждая линия шины адреса соединяет- ся с соответствующими входами адреса каждого чипа. Это значит, что как только код адреса поступит на шину, он сразу попадет и на обе микросхемы, так что одина- ковые участки памяти каждого чипа можно считывать одновременно. Как только был указан адрес памяти, можно считывать или записывать данные по этому адресу под управлением общих сигналов R / W и CS. Чтобы считать ин- формацию, нужно подать высокий уровень напряжения на линию R/W и низкий уро- вень на линию CS . При этом входы ввода-вывода ОЗУ будут действовать как выходы. Запоминающие устройства 825
ОЗУ-О разместит биты слова данных на старших линиях шины данных, а ОЗУ-1 — на линиях, соответствующих младшим битам, т.е. шина данных будет содержать полное восьмибитовое слово, адрес которого был подан на шину адреса; это слово может быть пе- редано на другое устройство (обычно в регистр или на центральный процессор системы). При записи информации нужно подать сигналы R / W = 0 и CS = О , тогда входы ввода-вывода ОЗУ будут действовать как входы. Восьмибитовое слово данных, кото- рое нужно сохранить в памяти, подается на шину данных (обычно там его формирует процессор). Старшие четыре бита этого слова будут записаны в указанный участок ОЗУ 0, а младшие биты — в ОЗУ-1. Фактически, комбинация двух чипов ОЗУ дает один модуль памяти емкостью 16 х х 8 бит. Тот же основной принцип расширения размера слов данных работает и во многих других ситуациях. Прочтите приведенный ниже пример и нарисуйте набросок иско- мого решения до того, как узнаете ответ. Пример 11.13. ИС 2125А представляет собой статическое ОЗУ емкостью 1к х 1 бит. Она имеет один вход выбора микросхемы, управляемый низким логическим уровнем, и отдельные входы для ввода и вывода данных. Покажите, как можно объединить несколько та- ких микросхем, чтобы сформировать модуль памяти емкостью 1к х 8 бит. Решение Искомая структура показана на рис. 11.35. Для получения модуля памяти емкостью 1к х 8 бит нужно объединить между собой восемь указанных микросхем. Каждая из них будет хранить один из битов 1024 восьмибитовых слов данных. Обратите внима- ние, что входы R/W и CS связаны вместе, а 10-битовая шина адреса соединена со входами адреса каждого чипа. Также следует отметить, что поскольку микросхема 2125А имеет отдельные ножки для ввода и вывода данных, то оба эти вывода следует подключить к одной и той же линии шины данных. данных CS соединены вместе Рис. 11.35. Восемь микросхем. 2125А емкостью 1к х 1 бит можно объединить в один модуль памяти емкостью 1к х 8 бит 826 Глава 11
Расширение емкости запоминающих устройств Предположим, нужно получить модуль памяти, который мог бы хранить 32 че- тырехбитовых слова, но в наличии есть только микросхемы емкостью 16 х 4 бит. Правильно соединяя их между собой, как показано на рис. 11.36, можно добиться нужного результата. Изучите приведенную схему и попытайтесь самостоятельно оп- ределить способ увеличения емкости ЗУ. АВ4 АВ3 АВ2 АВ, АВ0 R/W DB3 DB2 DB, DB0 Адресная шина Шина данных Диапазоны адресов: 00000 01111 ОЗУ-О 10000-11111 -ОЗУ-1 Всего: 00000-11111 (32 слова) " Рис. 11.36. Объединял две микросхемы емкостью 16 х 4 бит, можно полу- чить один модуль памяти емкостью 32 х 4 бита Каждое ОЗУ используется для хранения 16 четырехбитовых слов. Четыре входа ввода-вывода данных каждой микросхемы подсоединены к общей шине данных, ко- торая состоит из четырех линий. Чтобы избежать конфликтов на шине, в любой мо- мент времени только одна из микросхем может быть выбрана для работы (т.е. вклю- чена). Отсутствие конфликтов также гарантируется тем, что состояния входов CS обеих микросхем управляются сигналами с противоположными логическими уров- нями. Общая емкость полученного модуля памяти составляет 32 х 4 бита, поэтому он должен иметь 32 различных адреса. Для составления шины адреса потребуется пять линий. Линия АВ4, по которой передается старший бит адреса, служит для выбора микросхемы (через входы CS), т.е. определяет, в какую из них будут записываться или из какой будут считываться данные. Остальные четыре линии адреса (от АВ3 до АВ0) служат для определения одного участка памяти из тех 16, которые размещены в каждой микросхеме. Запоминающие устройства 827
Таким образом, если АВ4 = О, то сигнал CS, поступающий на соответствующий вход ОЗУ-О, включает эту микросхему для чтения или записи. Затем биты, которые передаются по линии адреса с АВ3 по АВ0, указывают участок памяти, к которому осуще- ствляется доступ. По этим четырем сигнальным линиям могут передаваться кодовые комбинации от 0000 до 1111, которые определяют конкретный участок. В результате диапазон адресов, которые служат для выбора слов данных в ОЗУ-О, выглядит как AB^AB^ABzAB АВ0 = от 00000 до 01111. Обратите внимание, что когда АВ4 = 0, вход CS ОЗУ-1 находится в состоянии с высоким уровнем напряжения, поэтому линии ввода-вывода данных этой микросхе- мы выключены (находятся в высокоимпедансных состояниях) и не могут обмени- ваться данными с шиной данных. Очевидно, что при АВ4 = 1 роли ОЗУ-О и ОЗУ-1 меняются. Теперь уже ОЗУ-1 бу- дет включена, и сигналы с линий адреса AB^-ABq служат для выбора участков памя- ти этого ЗУ. Таким образом, диапазон адресов, которые служат для выбора слов дан- ных в ОЗУ-О, выглядит как AB^AB^ABzABiABo = от 10000 до 11111. Пример 11.14. Необходимо объединить несколько ППЗУ емкостью 2к х 8 бит каждое, чтобы полу- чить модуль памяти общей емкостью 8к х 8 бит. Сколько для этого потребуется ППЗУ? Сколько потребуется линий адреса? Решение Для такой операции потребуется четыре чипа ППЗУ, каждый из которых может хранить до 2к из 8к слов данных. Так как 8к = 8 х 1024 = 8192 = 213, для шины ад- реса потребуется тринадцать линий. Конфигурация модуля памяти, о котором шла речь в примере 11.14, похожа на модуль емкостью 32 х 4 бита на рис. 11.36. Однако новая структура будет несколько сложнее, потому что потребуется дешифратор, формирующий сигналы, которые бу- дут поступать на входы CS чипов. Полная схема нового модуля памяти емкостью 8192 х 8 бит представлена на рис. 11.37. Общая емкость полученного модуля памяти составляет 8192 слова данных, по- этому чтобы организовать шину, требуется 13 линий адреса. Две старших линии, АВп и АВ12, служат для выбора одного из чипов ППЗУ; остальные 11 линий присое- диняются к каждой микросхеме и передают адреса участков памяти в пределах вы- бранного ППЗУ. Выбор микросхемы выполняется подачей сигналов АВП и АВ 12 на дешифратор 74ALS138. Четыре возможных кодовых комбинации обрабатываются таким образом, что на выходе дешифратора формируется сигнал, для которого ак- тивным уровнем является низкий логический уровень. Этот сигнал поступит на вход выбора микросхемы (CS ) одного из чипов. Например, при АВп = АВ12 = 0 будет воз- бужден выход КО дешифратора (перейдет в состояние с низким уровнем напряже- ния), тогда как все остальные входы останутся в состояниях с высокими уровнями. В результате сигнал КО включит ППЗУ-0 и на выходах этого чипа будет сформиро- вано слово данных, которое хранится по адресу, определяемому кодовой комбинаци- ей адреса линий с АВ0 по АВ10. Все остальные ППЗУ в это время будут отключены от шины, поэтому конфликт на шине не возникнет. При АВп = АВ12 = 0 значения битов на остальных сигнальных линиях (с АВ0 по АВю) могут варьироваться от всех нулей до всех единиц. Таким образом, ППЗУ-0 бу- дет отвечать на все адреса, которые лежат в диапазоне АВ12-АВо = от 0000000000000 до 0011111111111. 828 Глава 11
DB0 Диапазоны адресов (в шестнадцатеричном виде) 0000-07FF - ППЗУ-0 0800-0FFF — ППЗУ-1 1000-17FF — ППЗУ-2 1800-1FFF- ППЗУ-З Рис. 11.37. Четыре ППЗУ емкостью 2к х 8 бит каждое, объединенные в модуль памяти об- щей емкостью 8к х 8 бит Для удобства эти адреса проще выразить в шестнадцатеричном виде: от 0000 до 07FF. Аналогично, при АВ12 = 0 и АВП = 1 дешифратор выберет ПП&У-1, которое будет формировать на своих выводах слова данных, хранящиеся по адресам с АВ0 по АВю- Следовательно, ППЗУ-1 отвечает на все адреса, которые лежат в диапазоне А812-АВ0 = от 0100000000000 до 0111111111111 (в двоичном виде) или от 0800 до 0FFF (в шестнадцатеричном виде). Можно убедиться, что приведенные на рисунке диапазоны адресов, которые отве- чают данным в ППЗУ-2 и ППЗУ-З, соответствуют действительности. Очевидно, что линии адреса АВп и АВ12 используются для выбора микросхемы, в то время как остальные линии определяют слово данных, хранящееся в конкретном чипе памяти. Пример 11.15. Какой разрядности должен быть дешифратор, чтобы можно было расширить модуль памяти, показанный на рис. 11.37, до емкости 32к х 8? Напишите, сколько линий адреса будет иметь новая схема. Запоминающие устройства 829
Решение Судя по требуемой емкости (32 Кб), понадобится 16 чипов ППЗУ. Чтобы выбрать один из этих чипов, потребуется дешифратор с 4 входами и 16 выходами (“4 из 16”). Входными сигналами этого дешифратора будут служить четыре линии адреса (ЛВ14, АВ13, АВ12 и АВп). Остальные линии (с АВ0 по АВ10) присоединены ко входам дан- ных каждого из ППЗУ. Таким образом, всего используется 15 линий адреса. Это ко- личество согласуется с емкостью модуля 215 = 32768 = 32 Кб. Неполная дешифрация адреса Во многих случаях возникает необходимость использовать в одной и той же сис- теме памяти запоминающие устройства различных типов. Например, рассмотрим требования к цифровой приборной панели автомобиля. Такая система обычно реали- зуется на основе микропроцессора. Следовательно, для хранения команд программы нужно использовать энергонезависимые ПЗУ, а для чтения/записи — запоминающее устройство информации, чтобы хранить цифры, соответствующие скорости, количе- ству оборотов ротора мотора, литров бензина в баке и т.д. В цифровом виде могут отображаться и другие значения: давление масла, температура двигателя, напряже- ние аккумуляторов. Также потребуется энергонезависимое перезаписываемое ЗУ (скажем, ЭСППЗУ) для одометра, так как если пройденный километраж будет сбра- сываться в 0 или принимать какие-то случайные значения каждый раз, когда будет отсоединен аккумулятор, то сбор информации о пройденном пути окажется бессмыс- ленным. На рис. 11.38 показана система памяти, которая могла бы применяться в микро- процессорной системе. Обратите внимание, что участок схемы, предназначенный для постоянного хранения данных, состоит из двух ППЗУ емкостью 8к х 8 бит каждое (ППЗУ-0 и ППЗУ-1). Блок оперативной памяти включает в себя только одно устрой- ство емкостью 8к х 8 бит, а микросхема ЭСППЗУ, последняя в структуре данной схемы, имеет емкость 2к х 8 бит. Такая система памяти обязательно должна вклю- чать дешифратор, чтобы выбирать для работы одно из запоминающих устройств. Дешифратор должен также разделять все пространство памяти (которое задается 16 битами адреса) на блоки по 8 Кб. Другими словами, каждый выход дешифратора возбуждается 8192 (8к) адресами, поданными на его входы. Обратите внимание, что три верхних линии адреса управляют самим дешифратором, а 13 остальных линий связаны непосредственно с чипами памяти. Единственное исключение составляет ЭСППЗУ, к которому (благодаря его малой емкости 2 Кб) подведены только 11 линий адреса. Если адрес (выраженный в шестнадцатеричном виде) участка памяти ЭСППЗУ будет лежать в диапазоне от 6000 до 67FF, то чип будет отвечать на ука- занные адресные сигналы как положено, однако в схему дешифрации для этого чипа не включены адресные линии А12 и Аи. Выход КЗ дешифратора активизируется для тех же 8к различных входных адресов, но к нему подключен чип, содержащий толь- ко 2к участков памяти. В результате ЭСППЗУ будет отвечать и на другие 6к адресов. Одно и то же содержимое ЭСППЗУ будет появляться при подаче на схему адресов в диапазонах 6800-6FFF, 7000-77FF и 7800-7FFF. Области памяти, которые оказыва- ются избыточно занятыми запоминающим устройством вследствие неполной дешиф- рации адреса, называются складкой памяти. Такое часто случается в системах, где имеется излишек адресов, в результате следует минимизировать логику дешифриро- вания. Карта памяти такой системы, схематически изображенная на рис. 11.39, по- казывает адреса, которые соответствуют участкам памяти каждого ЗУ, а также дос- тупную для расширения область памяти. 830 ГЛАВА 11
DB0 Диапазоны адресов (в шестнадцатеричном виде) 0000-1FFF-ППЗУ-0 2000-3FFF-ППЗУ-1 4000-5FFF — ОЗУ 6000-67FF - ЭСППЗУ Рис. 11.38. Система с неполной дешифрацией адреса 0000 ППЗУ-0 1FFF 2000 ППЗУ-1 3FFF 4000 ОЗУ 5FFF 6000 ЭСППЗУ 67FF 6800 6FFF Свернутая область ЭСППЗУ 7000 77FF Свернутая область ЭСППЗУ 7800 7FFF Свернутая область ЭСППЗУ FFFF 8000 Дост> простр |Т1ное анство > Рис. 11.39. Карта памяти цифровой приборной панели авто- мобиля Запоминающие устройства 831
Объединение чипов динамической памяти Очень часто выпускаются ИС динамической памяти, длина слов которых состав- ляет или 1, или 4 бита, поэтому возникает необходимость объединить несколько та- ких чипов для получения модуля памяти с большим размером слова данных. На рис. 11.40 показано, как можно объединить между собой восемь микросхем ОЗУ ТМ844100, чтобы сформировать один модуль памяти емкостью 4М х 8 бит. Все ис- ходные чипы имеют емкость 4М х 1 бит. Адресная Рис. 11.40. Восемь чипов динамической памяти емкостью 4М х 1 бит можно объединить для получения одного модуля емкостью 4М к 8 бит Обратите особое внимание на несколько важных моментов. Во-первых, поскольку 4М = 222, то каждая ИС TMS44100 имеет одиннадцать входов адреса; как вы помни- те, устройства динамической памяти оснащены мультиплексированными адресными входами. Мультиплексор адреса снимает с шины 22-битовый код от ЦПУ системы и преобразовывает его в 11-битовый код и выдает его через другую шину данных на чипы динамических ОЗУ. Во-вторых, входы RAS, CAS и WE всех восьми чипов памяти соединены вместе таким образом, что при выполнении каждой операции с памятью все микросхемы активизируются одновременно. И наконец, нужно учесть, что ИС TMS44100 имеет собственную интегрированную логику управления процессом обновления, поэтому нужда во внешнем счетчике обновления отпадает. 832 Глава 11
f Вопросы 1. ИС МСМ6209С представляет собой чип статической памяти емкостью 64К х х 4 бита. Сколько таких чипов потребуется для того, чтобы построить один мо- дуль емкостью 1М х 4 бита? 2. Сколько чипов МСМ6209С понадобится для построения модуля емкостью 64К х х 16 бит? 3. Проверьте истинность высказывания. Если чипы памяти объединить для по- строения модуля большей емкости или с большим размером слов данных, вхо- ды выбора микросхемы (CS) всех чипов соединятся вместе. 4. Проверьте истинность высказывания. Если чипы памяти объединить вместе для построения модуля большей емкости, все они подключатся к одним и тем же линиям шины данных. 11.19. Специальные ункции памяти Предыдущие разделы были посвящены использованию ОЗУ и ПЗУ в качестве внутренней быстродействующей памяти компьютера, которая сообщается непосред- ственно с ЦПУ (т.е. с микропроцессором). В этом разделе кратко описаны некоторые специальные функции, выполняемые устройствами полупроводниковой памяти в компьютерах и цифровом оборудовании. Хранение информации при отключении питания Во многих практических приложениях свойство энергозависимости полупровод- никовых ОЗУ может привести к потере критических данных, если вдруг пропадает питание системы (намеренно или случайно). Вот только два примера, хотя их можно привести значительно больше: 1. Графические и программируемые терминалы, принтеры. Их изменяемые крити- ческие параметры определяют режимы работы оборудования и действия, которые будут выполнены при возобновлении питания. 2. Системы контроля промышленными процессами, которые ни в коем случае не должны отключаться посреди выполняемой задачи при неожиданных перебоях электроэнергии. Существует несколько подходов, которые позволяют обеспечить сохранность кри- тически важной информации при отключении электричества. Один из методов за- ключается в том, что во время нормального функционирования все критические данные хранятся в ОЗУ, питание которого может осуществляться от источника ре- зервного питания. Некоторые ОЗУ, выполненные по КМОП-технологии, имеют очень малые требования к мощности потребления в режиме ожидания (не более 0,5 мВт) и особенно хорошо подходят для данной задачи. Другие КМОП-ОЗУ, а именно статиче- ские, имеют в своем составе небольшую литиевую батарею, которая вставляется в гнездо на чипе. Правда, если не возобновлять питание на протяжении длительных промежутков времени, такие устройства будут постепенно разряжать батарею до тех пор, пока данные все-таки не окажутся потеряны. Другой подход состоит в том, что все критические системные данные хранятся только в энергонезависимой флэш-памяти. Такой метод не требует наличия батарей резервного питания — риск потери информации при длительном отсутствии электро- энергии исключается. Однако несмотря на все преимущества, данные во флэш- памяти не могут изменяться так же просто, как в статических ОЗУ, поскольку не- возможно стирать или записывать информацию во флэш-память по одному или по два байта, а только целыми секторами. Таким образом, чтобы перезаписать всего не- ЗАПОМИНАЮЩИЕ УСТРОЙСТВА 833
сколько байтов, понадобится процессор, который осуществляет перезапись сразу большого блока данных. Третий подход заключается в том, что в нормальном режиме работы центральный процессор системы сохраняет все данные в быстродействующих энергозависимых ОЗУ. При внезапном отключении питания ЦПУ выполняет специальную короткую программу (записанную в ПЗУ), которая передает критически важные данные из системной оперативной памяти либо в КМОП-ОЗУ с резервным питанием, либо в энергонезависимую флэш-память. Для такой передачи требуется специальная схема, которая определяет наличие внезапного отключения электроэнергии и посылает на ЦПУ сигнал о начале выполнения программы сбережения информации. В любом случае, при возобновлении питания центральный процессор выполняет вторую программу (также записанную в ПЗУ), которая передает критические данные обратно от запоминающего устройства с резервным питанием в системную оператив- ную память, чтобы система могла начать функционировать заново с того самого мес- та, на котором ее работа была прервана внезапным сбоем. Кэш-память Компьютеры и другие цифровые системы могут иметь тысячи и миллионы байтов внутренней памяти (оперативной и постоянной), в которых хранятся данные и про- граммы. В нормальном режиме работы эту информацию использует центральный процессор системы. Обычно чтобы получить систему с максимально возможной про- изводительностью, нужно, чтобы быстродействие всех видов внутренней памяти бы- ло примерно таким же, как и самого процессора. Иногда неэкономично использовать только быстродействующие запоминающие устройства. Вместо этого разработчики предлагают применять блок высокоскоростной памяти, которая называется кэшем (cache). Кзш-память представляет собой единый блок памяти, который сообщается непосредственно с процессорным устройством на максимально высоких скоростях; команды программ и данные передаются через более медленные и, следовательно, дешевые устройства внутренней памяти в кэш только тогда, когда они нужны для работы центрального процессора. Целесообразность применения кэш-памяти в целом зависит от множества сложных факторов, и некоторые системы могут ничего не вы- играть от ее использования. Современные процессоры для персональных компьютеров имеют совсем неболь- шой объем внутреннего кэша (размером 8-64 Кб), интегрированного на кристалл. Этот вид кэш-памяти называется Ll-кэшем или кэшем первого уровня. Чипсеты ос- новных компьютерных систем также поддерживают работу с внешним банком стати- ческой ОЗУ большей емкости (от 64 Кб до 2 Мб), который представляет собой второй уровень кэш-памяти и называется L2. Кэш-память наполняется последовательностью команд, которые поступают из остальной памяти системы. Скорость доступа ЦПУ (а они сейчас функционируют на гигагерцовых частотах) к кэш-памяти очень вели- ка, и это значительно увеличивает общую производительность пары процессор- память. Однако если процессору понадобится информация, которая в данный момент не хранится в кэше L1 или L2 (так называемый промах кэша — cache miss — или попытка доступа к той части данных, которая отсутствует в кэше), необходимо будет использовать медленную динамическую память*. Передача данных из общесистемно- го ОЗУ осуществляется намного медленнее, что определяется частотой шины дан- ных , которая лежит в диапазоне 66-200 МГц в зависимости от типа системы. Кроме того, что частота работы шины уступает частоте процессора, время доступа к дина- мическому ОЗУ (латентность) намного проигрывает этому же параметру кэш-памяти. Цифры 7-2-2-2 или 5-1-1-1 в спецификации к модулю памяти означают число им- пульсов частоты синхронизации шины данных, необходимое для передачи пакета из четырех 64-битовых слов из динамического ОЗУ в Ь2-кэш. Первый доступ требует * Это связано с работой блока предсказания инструкций, который имеется в современных ЦПУ. — Прим. ред. 834 Глава 11
максимального времени, так как мешает латентность, связанная с циклами RAS/CAS. Последующие данные передаются в том же пакете — это позволяет намно- го сократить общее время доступа. К примеру, система памяти 7-2 2-2 первое слово, состоящее из 64 бит, получает в течение 7 импульсов синхронизации, а каждое из трех последующих слов займет всего по 2 синхроимпульса. Для получения всех че- тырех слов понадобится 13 импульсов синхронизации. Память FIFO Существуют системы памяти, которые можно упрощенно описать принципом “первым вошел — первым вышел”. В научной литературе такой тип памяти еще на- зывается памятью обратного магазинного типа. В системах типа FIFO (First-In, First- Out — “первым вошел — первым вышел”) данные, которые хранятся в ОЗУ, считы- ваются в том же самом порядке, в котором они были записаны. Иначе говоря, первое слово, записанное в блок памяти, будет первым, считанным из него. Этот принцип работы с данными проиллюстрирован на рис. 11.41. Запись первого байта данных Запись 2-го -3 4 5 6 Запись 3-го байта данных Чтение 3-го байта данных Чтение первого Чтение 2-го байта данных байта данных б) Рис. 11.41. В системах памяти типа FIFO значения данных считы- ваются из памяти в том же порядке, в котором они были записаны В части а рисунка показана последовательность операций записи трех байтов данных в какой-то блок памяти. Обратите внимание, что когда в участок 1 записы- вается новый байт, то остальные байты сдвигаются в следующий участок. На рис. 11.41, б показана аналогичная последовательность, но уже чтения данных из блока FIFO. Первый байт, который считывается из ЗУ, был первым записанным бай- том. Функционирование запоминающего устройства контролируется с помощью спе- циальных регистров указателя адреса, которые отслеживают участок, куда должны быть записаны данные, и участок, откуда они начинают считываться. Запоминающие устройства 835
Память FIFO удобна при использовании в качестве буфера скорости передачи данных между системами, скорости обработки данных в которых значительно отли- чаются. Примером может служить передача данных с компьютера на принтер. Ком- пьютер пересылает последовательность символов с очень большой скоростью, ска- жем, один байт за 10 мкс. Эти данные наполняют запоминающее устройство типа FIFO принтера, который может считывать информацию с намного меньшей скоро- стью — например, один байт каждые 5 мс. Однако при этом принтер все-таки распе- чатает полученные символы в том же порядке, в котором они пришли с компьютера. Запоминающие устройства FIFO можно применять в качестве буфера скорости передачи данных между медленным устройством, таким как клавиатура, и быстро- действующим компьютером. В этом случае запоминающее устройство будет сохра- нять данные, поступающие с клавиатуры, с той скоростью и неравномерностью, с которой их вводит человек. Компьютер может считывать все эти нажатия с огромной скоростью в удобный для него момент, который предусмотрен при выполнении про- грамм. Таким образом, компьютер может осуществлять другие задачи, пока память FIFO будет медленно наполняться данными с клавиатуры. Кольцевые буферы Буферы скорости передачи данных (на памяти FIFO) часто еще называют линей- ными буферами. Как только все участки памяти этого буфера будут заполнены, нельзя будет ввести ни одного бита данных до тех пор, пока буфер не будет опусто- шен. Таким образом, “старую” информацию потерять невозможно. Существует еще одна аналогичная система памяти — кольцевой буфер. Такое устройство применяет- ся для хранения п последних значений, введенных в память, где п — количество участков памяти данного буфера. Каждый раз, когда в кольцевой буфер записывает- ся новое значение, происходит перезапись (замена) наиболее старого значения. На кольцевой буфер поступают сигналы со счетчика с Кпер = п. В результате, когда дос- тигается максимальный адрес, счетчик адреса начинает отсчет заново, и следующим участком будет наименьший адрес. Цифровая фильтрация и другие операции DSP (см. главу 10) осуществляют расчеты, используя сразу несколько последних отсчетов. Специальное оборудование для цифровой обработки сигналов позволяет легко реали- зовать кольцевые буферы. Воирс ГЫ ; 1. Объясните, как предотвратить возможную потерю критически важных данных при отключении электропитания. 2. Назовите основную причину использования кэш-памяти. 3. Что значит аббревиатура FIFO? 4. Что такое буфер скорости передачи данных? 5. Чем кольцевой буфер отличается от линейного? - 11.20. Поиск неисправностей в системах оперативной памяти Все компьютеры в обязательном порядке имеют оперативную память. Во многих универсальных и большинстве специализированных ЭВМ (таких как контроллеры на основе микропроцессоров и терминалы по управлению процессами) также использу-. ется хотя бы один из типов ПЗУ. Каждая микросхема памяти (как оперативной, так и постоянной), которая является частью внутренней памяти компьютера, обычно со- 836 Глава 11
держит тысячи элементарных ячеек памяти. Одна неисправная ячейка может при- вести к полной неработоспособности (отказу) всей системы или, как минимум, ее не- надежной работе. Тестирование и поиск неисправностей в системах памяти преду- сматривают использование специальных методик, которые редко применяются при проверке других частей цифровых систем. Поскольку память состоит из тысяч иден- тичных схем, которые, по существу, и представляют собой ячейки памяти, то любые тесты непременно должны включать проверку функционирования различных участ- ков памяти. Тогда, глядя на общую картину рабочих участков памяти и зная архи- тектуру памяти, можно определить возможные причины неисправности запоминаю- щего устройства в целом. Обычно проблему можно локализовать с точностью до мик- росхемы. Иногда удается определить неисправный дешифратор, логический элемент или буфер; часто причиной проблемы оказываются плохие соединения схем (корот- кие замыкания или, наоборот, разрывы контактов). При тестировании в ОЗУ данные записываются и считываются, поэтому такая процедура обычно несколько сложнее, чем тестирование ПЗУ. В этом разделе описы- ваются некоторые широко распространенные методы поиска неисправностей в систе- мах оперативной памяти. Тестирование ПЗУ описано в следующем разделе. Функционирование ОЗУ В примерах, представленных в этом разделе, прототипом будет служить система оперативной памяти, показанная на рис. 11.42. Как подчеркивалось в предыдущих главах, успешный поиск неисправностей в относительно сложной схеме или системе начинается с тщательного разбора принципов ее функционирования. Перед тем как приступить к тестированию данной системы памяти, сперва внимательно проанали- зируем ее, чтобы понять, как она работает. Общая емкость данного запоминающего устройства составляет 4к х 8 бит, система включает четыре модуля емкостью 1к х 8 бит каждый. Модулем может быть как од- на микросхема, так и несколько чипов (например, два чипа по 1к х 4 бита). Все мо- дули подключены к центральному процессору посредством шины адреса и шины данных, а также через линию управления R/W, и имеют общие линии ввода- вывода данных. Во время операции чтения эти линии служат выходами; через них модули, с которыми идет работа, выдают данные на шину, чтобы их мог прочесть микропроцессор. Во время операции записи линии ввода-вывода служат входными линиями, и через них данные, сформированные центральным процессором, посредст- вом шины данных попадают в заданные участки памяти. Дешифратор 74ALS138 и элемент ИЛИ с четырьмя входами служат для дешиф- рации старших битов адреса, которые используются для формирования сигналов вы- бора микросхемы КО, KI, К2 и КЗ . Эти сигналы включают соответствующий мо- дуль оперативной памяти для выполнения операции чтения или записи. Для инвер- тирования сигнала разрешения работы схемы (Е), который вырабатывается процессором, используется инвертор. Этот сигнал включает дешифратор только в том случае, когда находится на высоком логическом уровне. Импульс сигнала Е возника- ет лишь после того, как пройдет достаточное время для стабилизации линий адреса и установки на шине нового адреса. Когда адрес и сигнал R/W меняют свои уровни, сигнал Е будет иметь низкий уровень напряжения; это помогает предотвратить появ- ление выбросов напряжения на выходе дешифратора, которые могут случайно акти- вировать чип памяти и записать в него неверные данные. Каждый модуль ОЗУ имеет собственные входы адреса, которые подключены к процессору через линии шины адреса Ад-Ад. Линии адреса A10-Ai5, по которым пере- даются старшие биты, служат для выбора микросхемы памяти. Выбранный для ра- боты модуль дешифрирует биты Ад — Ад, чтобы найти участок памяти, в котором хранится адресуемое слово данных. Как происходит определение адреса, соответст- вующего каждому модулю, вы увидите из следующих примеров. Запоминающие устройства 837

Пример 11.16. Предположим, что ЦПУ производит операцию чтения по адресу 06АЗ (в шестнадца- теричном формате). Из какого модуля будут прочитаны данные, если этот адрес дей- ствительно соответствует хоть одному из них? Решение Сначала перепишем биты адреса в двоичном виде: Ai5 Aj4 А43 А42 Ац Аю Ад Ав А 7 А$ А$ А4 А% А2 А4 Ад 0 0 0 0 0 1 1010100011 Теперь ясно, что уровни, поданные на линии с Л15 по Ад, активизируют выход К1 дешифратора, это приведет к выбору первого модуля ОЗУ. Логические элементы это- го модуля дешифрируют код адреса Ад-Ад, чтобы выбрать участок, данные из кото- рого должны быть выданы на шину данных. Пример 11.17. В какой модуль памяти будут записаны данные, если центральный процессор вы- полняет операцию записи по адресу 1С65? Решение Если записать указанный адрес в двоичном коде, получается, что бит А12 = 1. Это приводит к появлению на выходе элемента ИЛИ и на входе С дешифратора высоких уровней напряжения. Так как биты Ап = AI0 = 1, то на входах дешифратора получим кодовую комбинацию 111, которая активизирует выход 7. Выходы‘с КО по КЗ бу- дут неактивными, и поэтому ни один из модулей ОЗУ не будет включен. Другими словами, информация, переданная на шину данных микропроцессором, не будет принята ни одним модулем ОЗУ. Пример 11.18. Определите диапазоны адресов всех модулей системы памяти, изображенной на рис. 11.42. Решение Каждый модуль может хранить 1024 восьмибитовых слова. Чтобы определить адреса слов данных, хранящихся в каждого модуле, начнем с определения условий на шине адреса, которые приводят к возбуждению входа выбора микросхемы каждого чипа. Например, модуль 3 будет выбран, если на входе КЗ установится низкий уровень сигнала (рис. 11.43). Такой логический уровень будет наблюдаться на КЗ при кодо- вой комбинации СВА = 011. Если снова возвратимся к битам адреса Аю“А15, то уви- дим, что модуль 3 включится тогда, когда на шину будут поданы следующие адреса: А15 А14 Ai3 А12 Ац 0 0 0 0 1 А10 Ад 1 X а7 X а5 X А4 X A3 А2 Ai XXX X Знак х в клетках битов Ао~А9 обозначает “безразличное” состояние, потому что эти линии адреса дешифратор не использует для выбора третьего модуля памяти. Кодо- вая комбинация данных битов может быть любой, она зависит только от слова дан- ных из третьей микросхемы, к которому требуется доступ. Таким образом, полный диапазон адресов для модуля 3 определяется одинаковыми старшими битами и диа- пазоном адресов отдельных слов данных (младшими битами): А15 0 Aj4 0 Ап 0 А12 0 Ап 1 Ajo 1 а9 0 Ав 0 а7 0 0* Ag 0 О4 Аз 0 а2 0 Ai 0 0° —> OCOOjfj 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 —> 0FFF16 Запоминающие устройства 839
Рис. 11.43. Пример 11.18: условия на шине адреса, необходимые для выбора третьей микросхемы ОЗУ Итак, получен диапазон шестнадцатеричных адресов от 0С00 до OFFF, которые соот- ветствуют словам данных, хранящимся в третьем модуле памяти. Когда централь- ный процессор подает на шину адреса любой адрес, лежащий в этом диапазоне, только модуль 3 будет включен для чтения или записи; какая операция будет вы- полняться конкретно, зависит от состояния сигнала на входе R/W. Используя аналогичный подход к анализу системы, можно определить и диапазоны адресов для других модулей данного ОЗУ. Результаты будут следующими: Модуль 0: от 0000 03FF. Модуль 1: от 0400 07FF. Модуль 2: от 0800 OBFF. Модуль 3: от 0С00 0FFF. Обратите внимание, что полный диапазон адресов всего устройства в целом составля- ет 0000-0FFF. Тестирование дешифрирующих логических элементов В некоторых ситуациях участок дешифрирующей логики ОЗУ (см. рис. 11.43) можно проверить, используя различные методики, которые применялись при тести- ровании комбинационных логических схем. Подавая сигналы на шесть старших ли- ний адреса и вход В; можно увидеть реакцию на выходах дешифратора. Для этой процедуры важно иметь возможность легко отсоединить процессор от требуемых сиг- нальных линий. Если ЦПУ представляет собой микропроцессор, который вставляет- ся в специальный разъем на материнской плате, то его можно очень просто извлечь из разъема. Сперва отсоединим процессор от остальной схемы, теперь можно подать кодовую комбинацию А10-А15 и сигнал Е с внешнего устройства, а также осуществить стати- ческий тест, используя обычные переключатели для каждого бита адреса. Чтобы провести динамический тест, используют счетчик, который циклически перебирает все коды адреса. Подавая специальные сигналы, можно проверять логические уровни 840 Глава 11
сигналов на выходах дешифратора и их соответствие ожидаемой реакции схемы. Для локализации неисправностей в дешифрирующей логике воспользуйтесь уже извест- ными стандартными методами трассировки сигналов. Если же доступа к сигнальным линиям адреса нет или формирование на них ста- тических логических сигналов по какой-то причине затруднено, то часто саму систе- му “принуждают” формировать последовательность адресов. Большинство компьюте- ров, используемых при разработке электронных устройств, имеют программу, запи- санную в ПЗУ, которая даст пользователю возможность видеть и изменять содержимое любого участка памяти. Каждый раз, когда компьютеру необходимо по- лучить доступ к какой-либо ячейке памяти, должен быть указан соответствующий адрес, который подается на шину адреса. При этом на выходе дешифратора появля- ется импульс с низким уровнем напряжения, хотя его длительность может быть очень малой. Если ввести в компьютер команду Display from 0400 to 07FF, а потом коснуться кончиком логического пробника омического контакта на выходе К1, то, пока меняются значения данных на экране терминала, пробник будет пока- зывать пульсацию. Пример 11.19. Чтобы проверить дешифрирующую логику схемы на рис. 11.43, выполняется дина- мический тест. Для этого на входе Е удерживается высокий уровень напряжения, а ко входам адреса А10-А15 подключаются выходы шестибитового счетчика. Пока счет- чик последовательно изменяет свои состояния, сигналы с выводов дешифратора ото- бражаются на экране. Логический пробник на выходах дешифратора показывает им- пульсы на К1 и КЗ , но на выходах КО и jFl2 все время наблюдаются высокие уровни сигналов. Что могло привести к подобной неисправности схемы? Решение Возможно, хотя и крайне маловероятно, что выходы КО и jFl2 остаются в одном и том же логическом состоянии из-за внутреннего или внешнего короткого замыкания на источник питания Vcc. Более вероятной причиной, однако, будет разрыв контак- тов между линией А10 и входом А дешифратора, поскольку такая неполадка равно- ценна подаче на дешифратор логической единицы; в результате получается, что не- возможно активировать все сигналы с четных выходов дешифратора. Также могло случиться, что вход А дешифратора оказался накоротко замкнут на источник Vcc. На самом деле, такая причина тоже вряд ли имела место, потому что тогда замыкание влияло бы на работу счетчика, с которого снимаются сигналы адреса. Тестирование полной системы оперативной памяти Тестирование и поиск неисправностей в работе логических элементов, которые дешифрируют адреса, не сможет выявить проблемы, связанные с чипами памяти или их подключением к центральному процессору. Наиболее распространенные методы тестирования ОЗУ в целом включают запись в участки памяти известных наборов нулей и единиц (кодограмм) и их чтение с последующей верификацией результата. Можно использовать множество различных кодограмм, но на практике наиболее ши- роко применяется так называемое “шахматное распределение”. В таком наборе битов единицы и нули следуют поочередно, т.е. друг за другом: 10101010. Как только была проведена проверка памяти с помощью данного распределения битов, кодограмма инвертируется (т.е. получаем код 01010101) и память тестируется опять. Обратите внимание, что последовательность тестов покажет способность записывать и считы- вать для каждой отдельной ячейки памяти как 0, так и 1. Благодаря тому, что в на- Запоминающие устройства 841
борах битов единицы и нули чередуются, шахматное распределение также показыва- ет взаимодействие или замыкания между прилегающими ячейками. Для обнаруже- ния режимов, в которых память работает нестабильно, могут использоваться и дру- гие кодограммы. Ни один тест памяти не может выявить все возможные проблемы в работе ОЗУ со стопроцентной точностью, хотя бы он и показывал способность каждой элементарной ячейки сохранять информацию. Бывают случаи, когда возникают кодочувствитель- ные ошибки. Например, какое-то ОЗУ может совершенно исправно функциониро- вать, если записывать и считывать из него комбинации 01010101 и 10101010, но в случае, если подать, скажем, 11100011, может возникнуть сбой. Даже в небольших системах памяти необходимо затратить немало времени, чтобы перебрать все воз- можные кодограммы для всех возможных ячеек памяти. По этой причине, если ОЗУ уже прошла тест шахматным распределением битов, можно утверждать, что данное ОЗУ скорее всего исправно; если же тест не был пройден успешно, в таком случае можно с полной уверенностью заявить, что ОЗУ неисправно. Тестировать тысячи участков памяти в ручном режиме, записывая и считывая в шахматном порядке биты, практически невозможно, так как это заняло бы сотни ча- сов. Проверка работоспособности ОЗУ обычно проводится автоматически: либо ЦПУ выполняет специальную программу тестирования памяти, либо к системным шинам вместо процессора подсоединяется специально предназначенное устройство. Фактиче- ски, в большинстве компьютеров и систем оборудования на основе микропроцессоров процессор автоматически выполняет программу тестирования памяти при каждом включении; такой тест называется самоконтролем. Алгоритм самоконтроля записан в ПЗУ компьютера и выполняется каждый раз, когда система включается, или по запросу оператора. При самотестировании центральный процессор сначала записыва- ет, а потом считывает кодограммы из каждого участка памяти; затем пользователю показывается отчет о результатах тестирования. Информация о результатах может быть очень примитивной (например, сигнализировать о неисправности может свето- диод) или наоборот — это может быть полное описание тестов, распечатанное на принтере или выведенное на экран. Ниже приведены типичные примеры отчета о ре- зультатах: RAM module-3 test OK ALL RAM working properly Location 027EJ faulty in bit positions 6 and 7 Модуль-3 ОЗУ исправен ВСЕ модули ОЗУ исправны Неисправен участок памяти 027F, биты 6 и 7 Имея под рукой подобную информацию и зная принципы функционирования сис- тем оперативной памяти, техник может определить, какие дальнейшие действия не- обходимо предпринять, чтобы изолировать неполадку. Следующие примеры проил- люстрируют процедуры поиска неисправностей в системе ОЗУ емкостью 4к х 8 бит; для удобства на рис. 11.44 снова приведена принципиальная схема этого ОЗУ. Ин- формация о распределении адресов для каждого модуля этой памяти взята из преды- дущего примера: Модуль 0: от 0000 03FF. Модуль 1: от 0400 07FF. Модуль 2: от 0800 0BFF. Модуль 3: от 0С00 OFFF. 842 ГЛАВА 11
Запоминающие устройства 843 с п 3 £ В 3 о 2 к $ г> 3 0е 3 X оо Г 3
Пример 11.20. После проведения самоконтроля памяти было выдано следующее сообщение: module-0 test OK module-1 test OK module-2 faulty at bit 6 module-3 test OK модуль 0 исправен модуль 1 исправен модуль 2: неисправен бит 6 модуль 3 исправен Прочитайте внимательно отчет и определите ваши дальнейшие действия. Решение Неисправный адрес находится в модуле 2. Поскольку неисправен только один адрес, то нет никакого смысла полагать, что неполадка в схеме была вызвана какой-то внешней причиной. Таким образом, ъ модуле 2 произошел внутренний сбой. Для уверенности можно прогнать процедуру самоконтроля еще несколько раз, чтобы удо- стовериться в том, что сообщение все равно появляется. В первый раз причиной по- явления этого сообщения могло стать наличие каких-то шумов; если это так, то дальнейшие тесты могут показать, что схема на самом деле исправна, или выявить неисправные блоки в других участках памяти. Если результат будет отличаться, то следует проверить источники шума в системе (неисправно функционирующие развя- зывающие конденсаторы источника питания или перекрестные помехи между двумя слишком близко размещенными сигнальными линиями). Пример 11.21. Рассмотрим следующее сообщение, которое было выдано после самоконтроля системы: module-0 address address address • • • test OK модуль адрес адрес адрес 0 исправен 0400 0401 0402 faulty at bits bits bits 0-7 0-7 0-7 0400 0401 0402 неисправен неисправен неисправен в в в битах битах битах 0-7 0-7 0-7 faulty faulty at at • • • address 04FE faulty at bits 0-7 адрес 04FE неисправен в битах 0-7 address module-2 module-3 04FF test test faulty QK OK at bits 0-7 адрес модуль модуль 04FF неисправен 2 исправен 3 исправен в битах 0-7 Прочитайте внимательно отчет, назовите все возможные причины неполадок и опи- шите ваши дальнейшие действия. Решение Очевидно, что в модуле 1 все адреса были помечены как неисправные, т.е. модуль вообще не работает. Вот несколько возможных причин его отказа: Разрыв контакта на входе R/W модуля 1. Разрыв контакта между выходом К1 и входом выбора микросхемы модуля 1. Неисправный выход К1 дешифратора (все время остается в состоянии с высо- ким уровнем напряжения). Узел KI / CS внешне замкнут на источник питания Усс- Неисправен вход выбора микросхемы CS модуля 1. Выводы модуля 1 не связаны с источником УСс или землей. Далее, для определения и изоляции неисправности можно применять уже знакомые вам методики. 844 Глава 11
Как показывают приведенные примеры, программа тестирования памяти очень полезна при локализации проблемы и определении неисправной области схемы. Что- бы определить возможные причины и затем отбросить часть из них, техник исполь- зует информацию, которую получает после теста памяти. Следует отметить, что существуют такие неполадки схем ОЗУ, которые могут по- мешать центральному процессору осуществить самоконтроль при включении систе- мы. Например, неисправность ОЗУ, которая приводит к тому, что линия данных или линия адреса остается только в одном логическом состоянии, может вызвать непра- вильное функционирование процессора во время выполнения программы самокон- троля (ПЗУ и ОЗУ делят одну и ту же шину данных). Если такая неисправность дей- ствительно имеет место, необходимо проверить сигналы на линиях шины; если будет найдена линия с постоянным уровнем сигнала, то придется использовать стандарт- ную методику для определения истинной причины неполадки. Вопросы 1. Для чего нужен вход Е в схеме ОЗУ, показанной на рис. 11.42? 2. Что такое “шахматный” тест? Для чего он применяется? 3. Что такое самоконтроль? 11.21. Тестирование ПЗУ Архитектура ПЗУ персонального компьютера очень напоминает структуру ОЗУ (сравните, например, схемы на рис. 11.37 и 11.42). Логические элементы ПЗУ, кото- рые служат для дешифрации адреса, могут тестироваться аналогично тому, как было описано в предыдущем разделе для систем оперативной памяти. Однако сами чипы ПЗУ должны проверяться несколько иначе, чем микросхемы ОЗУ, потому что в по- стоянную память нельзя так просто записать кодограмму, как это делалось при по- иске неисправностей ОЗУ. Для проверки содержимого микросхемы ПЗУ используют- ся другие методы. Один из подходов к тестированию постоянной памяти заключается в том, что ПЗУ вставляется в разъем специального контрольно-измерительного прибора, кото- рый обычно управляется микропроцессором. Этот контрольно-измерительный прибор можно запрограммировать на чтение всех участков памяти и распечатку содержимо- го каждого такого участка. Полученный список данных можно сравнить с эталон- ным. За исключением чипов ПЗУ малой емкости такой способ занимает довольно много времени. Более эффективная методика предусматривает, что правильные данные хранятся в эталонном ПЗУ контрольно-измерительного прибора. Тогда запрограммированный контрольно-измерительный прибор считывает содержимое тестируемой памяти и сравнивает его с данными эталонного ПЗУ. Естественно, что этот способ предусмат- ривает наличие готового запрограммированного ПЗУ с эталонной информацией. Третий подход заключается в использовании так называемой контрольной сум- мы — специального кода, который при программировании записывается в один или два участка чипа ПЗУ. Этот код рассчитывается по определенной зависимости: чаще всего сложением всех сохраненных слов данных (исключая те участки, в которых хранится сама контрольная сумма). Когда контрольно-измерительный прибор считы- вает данные из очередного участка ПЗУ, он складывает биты текущего слова данных между собой и вычисляет контрольную сумму. Затем расчетное значение этой суммы автоматически сравнивается с той, которая была записана в последний участок про- веряемого ПЗУ при программировании, и обе величины должны совпасть. Если они действительно равны, то данное запоминающее устройство исправно (конечно, оста- ется очень малая вероятность того, что комбинация ошибок слова данных все равно Запоминающие устройства 845
приведет к получению точно такой же суммы). Если же два значения сумм не совпа- дут между собой, то совершенно очевидно, что тестируемое ПЗУ содержит какую-то неполадку. Принцип расчета контрольных сумм для ПЗУ сверхмалой емкости проиллюстри- рован на рис. 11.45, а. Слово данных, хранящееся в последнем участке памяти, представляет собой восьмибитовую сумму битов всех остальных слов (без переноса в самом старшем разряде). Контрольную сумму заносят в последний участок памяти на этапе программирования. На рис. 11.45, б показано, как может произойти ошибка в данных, которые хранятся в ПЗУ. Обратите внимание на ошибку в слове данных с адресом 011. Как только контрольно-измерительный прибор считает данные из всех ячеек памяти, он сам рассчитает контрольную сумму хранящихся данных. Из-за того, что в ПЗУ вкралась ошибка, рассчитанная сумма будет равна 10010011. Когда прибор сравнит эту сумму со значением, записанным в последний участок памяти (с адресом 111), то станет очевидно, что они не совпадают, и высветится сигнал об ошибке. При этом, правда, точное местонахождение ошибки так и останется неизвестно. Адрес Данные Адрес Данные ООО 00000110 000 00000110 001 10010111 001 10010111 010 00110001 010 00110001 011 11111111 011 11111110 f] I I I | Л Л О и ши и К с! 100 ОООООСЭО 100 06000000 101 10000001 101 10000001 110 01000110 110 01000110 111 10010100 111 10010100 Контрольная сумма а) Контрольная сумма б) Рис. 11.45. Метод расчета контрольных сумм для ПЗУ емкости 8к х 8 бит- а) ПЗУ с правильными данными; б) ПЗУ с ошибкой Метод контрольных сумм можно с таким же успехом использовать в компьютер- ных системах или системах на основе микропроцессоров для самоконтроля ПЗУ при включении оборудования. Как и для программ самоконтроля ОЗУ, при включении питания процессор должен выполнить программу, которая рассчитает контрольные суммы всех чипов ПЗУ и выдаст на экран какое-то сообщение. Сама программа са- моконтроля также записана в ПЗУ, и поэтому любой сбой в чипе, где она хранится, может привести к ошибкам при вычислении контрольных сумм других систем по- стоянной памяти. 1. Что такое контрольная сумма? Для чего может понадобиться ее рассчитывать? Резюме 1. Запоминающие устройства (ЗУ) хранят двоичные логические уровни (единицы и нули) в массивах ячеек. Длина двоичного слова (число битов, из которого оно со- стоит) варьируется в зависимости от емкости запоминающего устройства. Двоич- ные значения, хранящиеся в памяти, представляют собой данные. 846 Глава 11
2. Участку памяти запоминающего устройства, в котором хранится какое-либо зна- чение данных, соответствует специальное двоичное число, называемое адресом. Каждый участок имеет свой уникальный адрес. 3. Все запоминающие устройства работают по одному и тому же общему принципу. Чтобы записать данные в память, нужно подать адрес на входы адреса ЗУ, а са- ми данные — на входы данных; кроме того, нужно задать правильную комбина- цию управляющих сигналов. Чтобы считать данные из запоминающего устройст- ва, на соответствующие входы схемы нужно подать адрес и правильную комби- нацию управляющих сигналов; при этом значения данных появятся на выводах данных микросхемы памяти. 4. Запоминающие устройства часто используются вместе с микропроцессором, кото- рый формирует сигналы адреса и управляющие сигналы; он также может выда- вать данные, которые следует сохранить в памяти либо может считывать их от- туда. Чтение и запись информации всегда производятся по команде центрального процессора. При записи данные сохраняются в памяти, а при чтении — наобо- рот, считываются из нее. 5. В большинство постоянных запоминающих устройств (ПЗУ) данные записывают- ся только один раз. После этого содержимое постоянной памяти уже не изменя- ется. Процесс записи данных в ЗУ называется программированием. Данные мо- гут храниться в ПЗУ даже при отключенном питании. Шаблонные ПЗУ (ШПЗУ) программируются на этапе изготовления. Программируемые ПЗУ (ППЗУ) могут быть запрограммированы пользователем самостоятельно. Стираемые программи- руемые ПЗУ (СППЗУ) имеют такой же принцип записи, как и ППЗУ, но отлича- ются тем, что их содержимое можно стирать ультрафиолеторым излучением. Электрически стираемые программируемые ПЗУ (ЭСППЗУ) и микросхемы флэш- памяти можно стирать при помощи электрического тока; они также позволяют изменять данные уже после программирования. Запоминающие устройства на компакт-дисках используются для хранения больших объемов информации, ко- торую нет необходимости изменять. 6. Память с произвольной выборкой (оперативная память или ОЗУ) — общее назва- ние всех запоминающих устройств, которые одинаково легко позволяют как за- писывать, так и считывать данные. Информация может храниться в ОЗУ столько времени, сколько на устройство подается питание. 7. Базовыми элементами памяти статических оперативных запоминающих уст- ройств являются обычные схемы-защелки. Как только данные занесены в па- мять, они остаются неизменными столько времени, сколько на микросхему пода- ется питание. Статические ОЗУ проще в эксплуатации, но их удельная стоимость на один бит информации больше, чем у динамических ОЗУ, и к тому же они по- требляют больше энергии. 8. В динамических ОЗУ в качестве элементарных ячеек памяти используются кон- денсаторы, которые при записи заряжаются или разряжаются. Простое устройст- во такого элемента позволяет записывать большие объемы информации. Так как заряд на конденсаторе следует время от времени обновлять, то в эксплуатации динамические ОЗУ не настолько удобны, как статические. Часто к микросхемам динамических ОЗУ добавляют дополнительные логические элементы, которые управляют чтением и записью информации, а также ее обновлением. Во многих современных запоминающих устройствах эти элементы уже интегрированы пря- мо на чип. Цель технологии динамической памяти состоит в хранении больших объемов информации на небольшом участке кремниевой подложки — это позво- ляет уменьшить потребление энергии и увеличить быстродействие ОЗУ. 9. Системы памяти могут быть построены в любых конфигурациях. Чипы памяти можно комбинировать вместе, чтобы реализовать любую требуемую структуру памяти: увеличение длины слов данных или большая емкость системы в целом. В одной и той же системе можно применять как ПЗУ, так и ОЗУ. Запоминающие устройства 847
Основные термины основная память вспомогательная память ячейка памяти слово памяти байт емкость плотность адрес операция чтения операция записи время доступа энергозависимая память ОЗУ ЗУ с последовательной выборкой двусторонняя память ПЗУ статическое ОЗУ динамическое ОЗУ шина адреса шина данных шина управления программатор — программа — программи- рование выбор микросхемы режим ожидания г плавкая перемычка ЭСППЗУ флэш-память программно-аппаратное обеспечение программа самозагрузки обновление JEDEC мультиплексирование адресов стробирование строб адреса строки (RAJS) строб адреса столбца (CAS) латентность обновление RAS счетчик обновления контроллер динамической памяти складка памяти карта памяти кэш FIFO буфер скорости передачи данных линейный буфер кольцевой буфер самоконтроль при загрузке контрольная сумма Упражнения Разделы 11.1—11.3 (В) 11.1. Емкость запоминающего устройства 16к х 32 бита. Сколько слов данных может оно хранить? Назовите длину каждого слова. Сколько ячеек памяти имеет данное ЗУ? (В) , 11.2. Сколько различных адресов требуется для запоминающего устройства, о ко- тором шла речь в предыдущем пункте? (В) 11.3. Найдите емкость запоминающего устройства, которое имеет 16 входов адре- са, четыре входа и четыре выхода данных. (В) 11.4. Запоминающее устройство хранит 8к 16-битовых слов. Сколько входов и выходов данных оно имеет? Сколько входов адреса? Какова емкость этого ЗУ в байтах? Практические задания (В) 11.5 Дайте определения следующим терминам: а) ОЗУ; б) двусторонняя память; в) ПЗУ; г) внутренняя память; 848 Глава 11
д) вспомогательная память; е) емкость; ж) энергозависимость; з) плотность записи; и) чтение; к) запись. (В) 11.6. а) Какие три шины используются в компьютерных системах? б) Какая шина используется центральным процессором для выбора участка памяти? в) Какая шина используется для переноса данных от памяти к ЦПУ во время операции чтения? г) Что является источником данных на шине данных во время операции записи? Разделы 11.4 и 11.5 (В) 11.7. Определите состояния на выходах данных микросхемы, изображенной на рис. 11.6, при следующих условиях на ее входах: а) [А] = 1011; CS = 1; б) [А] = 0111; CS = O. 11.8. Посмотрите на схему, приведенную на рис. 11.7. а) Какой регистр будет выбран, если на вход подать код 1011? б) Какой код адреса, поданный на вход схемы, приведет к выбору регистра 4? 11.9. Емкость ПЗУ 16к х 4 бита, а его внутренняя структура подобна той, что приведена на рис. 11.7. а) Сколько регистров имеется в массиве такого ЗУ? б) Сколько битов содержит каждый регистр? в) Дешифратор какой разрядности потребуется для такого ПЗУ? Практическое задание (В) 11.10 а) Проверьте истинность высказывания. Информацию, записанную в ПЗУ, невозможно стереть. б) Что подразумевают под терминами программирование, или прошивка ПЗУ? в) Дайте определение термину время доступа. г) Сколько входов и выходов данных, а также входов адреса должна иметь микросхема ПЗУ емкостью 1024 х 4 бита? д) Какую функцию выполняет дешифратор в схеме ПЗУ? ЗАПОМИНАЮЩИЕ УСТРОЙСТВА 849
Раздел 11.6 (С, D) 11.11. На рис. 11.46 показано, как можно осуществить передачу данных из ПЗУ во внешний регистр. ПЗУ имеет следующие временные параметры: (дост = - 250 нс и fOE = 120 нс. Пусть за 500 мс до прихода импульса передачи (TRANSFER) на ПЗУ были поданы новые биты адреса. Определите мини- мальную длительность импульса передачи, необходимую для гарантирован- ной пересылки данных. Рис. 11.46. Упражнение 11.11. (С, D) 11.12. Повторите упражнение 11.11 для случая, когда адрес изменился за 70 нс до поступлен ия на схему импульса передачи. Практическое задание Разделы 11.7 и 11.8 (В) 11.13. Напротив каждого пункта укажите, к какому типу памяти (ШПЗУ, ППЗУ, СППЗУ, ЭСППЗУ, флэш-память) относятся перечисленные ниже запоми- нающие устройства. Некоторые утверждения могут удовлетворять сразу не- скольким типам памяти. а) Может быть запрограммирован пользователем, но не может быть очищен. б) Программируется производителем. в) Является энергозависимым. г) Можно вытирать и перезаписывать отдельные слова. д) Информацию можно стирать ультрафиолетовым излучением. е) Информацию можно стирать электрическим током. ж) Использует плавкие перемычки. з) Информацию можно стирать всю сразу или секторами по 512 байтов. и) Не обязательно извлекать чип из схемы для того, чтобы стереть или пе- репрограммировать данные. к) Перепрограммирование требует наличия специального источника на- пряжения. л) Время стирания составляет от 15 до 20 мин. 850 Глава 11
(В) 11.14. Какие транзисторы в схеме, показанной на рис. 11.9, будут находиться в проводящем состоянии при Аг = Aq = 1 и EN = 0 ? 11.15. Измените соединения в схеме ШПЗУ, изображенной на рис. 11.9, таким об- разом, чтобы оно могло хранить значения функции у = Зх + 5. (D) 11.16. На рис. 11.47 показана простая схема для ручного программирования ИС СППЗУ 2732. Каждый вывод данных этого запоминающего устройства со- единяется с ключом, который может либо открываться, либо закрываться. Сигналы адреса снимаются с выходов 12-битового счетчика. Каждый раз, когда оператор нажимает кнопку PROGRAM, с одновибратора приходит им- пульс длительностью 50 мс. Сброс Программатор Рис. 11.47. Упражнение 11.16. +5 В при. рем- мирования *Эта схема ключей повторяется на каждом выходе данных а) Объясните, каким образом схема может использоваться для последова- тельного программирования требуемыми данными всех участков памяти СППЗУ. б) Покажите, как данную схему можно реализовать на базе ИС 74293 и 74121. в) Будет ли влиять на работу схемы какой-либо дребезг контактов ключей? (N) 11.17. На рис. 11.48 показан чип флэш-памяти 28F256A, подключенный к ЦПУ посредством шины данных и шины адреса. Процессор может записывать или считывать данные из флэш-памяти, указывая нужный адрес, формируя соответствующие операции посылая управляющие сигналы на чип (см. рис. 11.15, б). Процессор также может производить запись в регистр команд микросхемы (рис. 11.16), формируя предусмотренный для этого сигнал управления и посылая по шине данных код команды. При выполнении по- Запоминающие устройства 851
следней операции ЦПУ необязательно указывать конкретный адрес памяти, т.е. состояния на адресных линиях можно пометить как “безразличные”. а) Рассмотрите предложенные последовательности действий микропроцес- сора. Определите, что произойдет после завершения последовательности. Пусть в регистре команд содержится код 0016. 1. Процессор выдает на шину данных число 20j6; сигналы СЕ и WE временно переходят в состояния с низкими уровнями напряжения при том, что ОЕ = 1. На шине адреса наблюдается код 00001б. 2. Процессор повторяет шаг 1. б) После того как изложенные выше последовательности действий были выполнены, ЦПУ дополнительно выполняет приведенные ниже опера- ции. Определите, что произойдет на этот раз. 3. Процессор выдает на шину данных число 40j6; сигналы СЕ и WE временно переходят в состояния с низкими уровнями напряжения при том, что ОЕ = 1. На шине адреса наблюдается код 000016. 4. Процессор выдает на шину данных число ЗС16 и число 23001б на шину адреса; сигналы СЕ и WE временно переходят в состояния с низкими уровнями напряжения при том, что ОЕ = 1. Раздел 11.9 (N) 11.18. Одно из применений ПЗУ — формирование временных и управляющих сиг- налов. На рис. 11.49 показано постоянное запоминающее устройство емко- стью 16 х 8 бит, на входы адреса которого подаются сигналы со счетчика с Кпер = 16. Таким образом, адрес на ПЗУ увеличивается на 1 с каждым им- пульсом, приходящим на счетчик. Предположим, что ПЗУ запрограммиро- 852 Глава 11
вано так, как показано на рис. 11.6. Сделайте набросок графиков сигналов на всех выходах микросхемы. Задержку распространения сигнала можно проигнорировать. Пусть начальное состояние счетчика равно 0000. +5 В CS Аз А 2 ОЗУ А, 16x8 Ао г,п 100 кГц Счетчик С клер = 16 CLK ! D п 1 Н)о Рис. 11.49. Упражнение 11.18. (D) 11.19. Измените программу, хранящуюся в ПЗУ из упражнения 11.18, таким об- разом, чтобы на выходе Р7 формировался сигнал, изображенный на рис. 11.50. D7 10 мкс Рис. 11.50. Упражнение 11.19. (D) 11.20. Взгляните на генератор логических функций, показанный на рис. 11.17. а) Какой частоты должен быть сигнал синхронизации, поданный на гене- ратор, чтобы на выходе получился синусоидальный сигнал с частотой 100 Гц? б) Какой метод можно использовать для того, чтобы варьировать полный размах (т.е. двойную амплитуду) синусоидального сигнала? (С) 11.21. Для ИС ML2035, изображенной на рис. 11.18, код 038Е (дан в шестнадцате- ричном формате) на защелке приводит к получению нужной частоты. Нари- суйте временные диаграммы для сигналов на входах LATI, SID п SCK, если известно, что первым сдвигается младший значащий бит кода. (N, С) 11.22. Система, показанная на рис. 11.51, представляет собой генератор сигналов (функций). В системе используется четыре справочных таблицы на 256 зна- чений каждая, которые хранятся в ПЗУ емкостью 1 Кб. По адресам 000-0FF хранятся значения синусоидального сигнала, по адресам 100-IFF хранятся значения положительной пилообразной функции, по адресам 200-2FF — от- рицательной пилообразной функции, а по адресам 300-3FF — значения тре- угольной функции. Отношение фаз на выходах трех каналов контролирует- Запоминающие устройства 853
ся значениями, загруженными в три счетчика до начала функционирова- ния. Критический временной параметр схемы tpd(Ck-Q и ое — Q max) для счетчи- ков равен 10 нс, для защелок — 5 нс; время доступа ПЗУ £дост = 20 нс. 8-битовые счетчики 1 актовые импульсы Восьмеричные Восьмеричные 8-разрядные Рис. 11.51. Внимательно изучите схему, чтобы вы смогли ответить на поставленные во- просы: а) Если в счетчик А в начальный момент времени был загружен 0, то ка- кие значения должны быть загружены в счетчики В и С, чтобы сигнал А отставал по фазе от сигнала В на 90°, а от сигнала С — на 180°? б) Если в счетчик А в начальный момент времени был загружен 0, то ка- кие значения должны быть загружены в счетчики В и С, чтобы сформи- ровать 3-фазную синусоидальную волну со сдвигом 120° между каждой фазой? в) Какова должна быть частота пульсации на выходе ЦАП (DAC_OUT), чтобы можно было сформировать синусоидальный сигнал частотой 60 Гц? г) Какая максимальная частота может поступать на вход синхронизации CLK? д) Какая максимальная частота может появиться на выходе схемы? е) Для чего нужен счетчик выбора функции? 854 Глава 11
Раздел 11.11 11.23. а) Нарисуйте логический символ микросхемы МСМ101514, которая пред- ставляет собой статическое оперативное запоминающее устройство емко- стью 256к х 4 бита, исполненное по КМОП-технологии. Данная ИС име- ет отдельные входы для ввода и вывода данных и вход выбора микро- схемы, управляемый низким уровнем напряжения. б) Нарисуйте логический символ интегральной микросхемы МСМ6249, ко- торая представляет собой статическое ОЗУ емкостью 1М х 4 бита, ис- полненное по КМОП-технологии. Схема имеет совмещенные входы вво- да-вывода данных, и два входа управления, управляемых низким уров- нем напряжения: вход выбора микросхемы и вход разрешения работы выходов. Раздел 11.12 11.24. Известны следующие временные параметры некоторого статического ОЗУ (в наносекундах): (rc — ЮО, (уд — 20, tROcr = ЮО, (УДЛ = не известно, (со = 70, (W = 40, (oD = Зи, (уд = 10, (цз ~ ЮО, (удц = 20. а) Во время цикла чтения, после стабилизации сигналов на линиях адреса, через какое время на выходах ЗУ появятся логические уровни, соответ- ствующие новому коду? б) На протяжении какого времени логические уровни на выходах данных будут оставаться стабильными после возвращения входа управления CS в состояние с высоким уровнем напряжения? в) Сколько операций чтения можно осуществить из данного ОЗУ за 1 се- кунду? г) Сколько времени необходимо поддерживать на входах R/W и CS вы- сокие уровни напряжения после того, как стабилизируется новый адрес в процессе операции записи? д) Найдите минимальное время, на протяжении которого сигналы на вхо- дах данных должны оставаться стабильными, чтобы запись прошла ус- пешно. е) Сколько времени должны оставаться стабильными логические уровни на линиях адреса после того, как входы R/W и CS вернутся в состояния с высокими уровнями напряжения? ж) Сколько операций записи может быть осуществлено в данное ОЗУ за 1 секунду? Разделы с 11.13 по 11.17 11.25. Нарисуйте логический символ ИС TMS4256, которая представляет собой ди- намическое ОЗУ емкостью 256К х 1 бит. Сколько выводов можно сэконо- мить, если использовать для этого ЗУ мультиплексирование адресов? Запоминающие устройства 855
(D) 11.26. На рис. 11.52, а изображена схема, которая формирует сигналы RAS , CAS и MUX, необходимые для правильной работы системы, показанной на рис. 11.28, б. Временную синхронизацию всей схемы обеспечивает основной сигнал синхронизации частотой 10 МГц. Сигнал запроса памяти (MEMR), который формируется центральным процессором, является синхронным ос- новному сигналу синхронизации, как показано в части б того же рисунка. Сигнал MEMR обычно находится в низком логическом уровне, но когда процессору нужно получить доступ к памяти для чтения или записи дан- ных, то MEMR переходит в высокий логический уровень. Определите фор- мы сигналов на выходах Qo» Qi и Q2 и сравните их с требуемыми формами сигналов, приведенными на рис. 11.29. Главные синхроимпульсы Рис 11.52. Упражнение 11.26. (D) 11.27. Покажите, как можно соединить вместе два мультиплексора 74157 (см. раз- дел 9.7), чтобы обеспечить мультиплексирование адресов, необходимое для схемы, показанной на рис. 11.29. 11.28. Изучите сигналы, изображенные на рис. 11.30. Поясните, что происходит в каждой точке, отмеченной на оси времени. 11.29. Повторите упражнение 11.28 для графиков на рис. 11.31. (С) 11.30. ИС 21256 представляет собой динамическое ОЗУ емкостью 256К х 1 бит и состоит из массива ячеек размерностью 512 х 512. Информацию во всех ячейках следует обновлять каждые 4 мс. На рис. 11.33, а показаны сигна- лы, которые используются для обновления по методу CBR. Каждый раз, ко- гда должно произойти очередное обновление, интегрированная на чип логи- ка обновляет ту строку массива, адрес которой указывается счетчиком об- новления; состояние счетчика последовательно увеличивается на единицу 856 Глава 11
после обновления каждой строки. Как часто должны происходить подобные обновления по методу CBR, чтобы обеспечить сохранность всех данных в памяти? 11.31. Изучите функциональную схему ИС динамической памяти TMS44100, при- веденную на рис. 11.27. а) Какую размерность имеет массив ячеек памяти этого ОЗУ? б) Если бы массив ячеек памяти был квадратным, то сколько бы строк он содержал? в) Как бы повлияла на длительность времени обновления квадратная фор- ма массива? Раздел 11.18 (В) 11.32. Покажите, как можно соединить два чипа оперативной памяти 6206 (см. рис. 11.20), чтобы получить модуль памяти емкостью 32К х 16 бит. (В) 11.33. Покажите, как можно соединить два чипа ОЗУ 6264 на рис. 11.23, чтобы получить модуль памяти емкостью 16К х 8 бит. При этом вы не должны ис- пользовать никаких дополнительных логических элементов. Нарисуйте кар- ту памяти, в которой будут указаны диапазоны адресов каждого чипа. (В) 11.34. Поясните, как можно модифицировать схему, изображенную на рис. 11.37, чтобы увеличить ее емкость до 16К х 8 бит. Используйте чипы ППЗУ одного и того же типа. (В) 11.35. Измените схему, изображенную на рис. 11.37, таким образом, чтобы она могла работать с шиной адреса из 16 сигнальных линий (нужно добавить линии адреса А13, А14 и А15). Все четыре ППЗУ должны содержать одни и те же шестнадцатеричные диапазоны адресов. (С) 11.36. Ответьте на поставленные вопросы исходя из того, что в системе памяти, изображенной на рис. 11.38, центральный процессор должен сохранить один байт данных по адресу 4000 (приведен в шестнадцатеричном формате). а) В какой чип памяти будет записан этот байт? б) Будут ли в системе другие адреса, по которым также можно получить доступ к этому байту данных? в) Дайте ответы на пп. а и б при условии, что ЦПУ сохранил байт данных в памяти по адресу 6007. (Подсказка', помните об особенностях дешиф- рирования адреса ЭСППЗУ.) г) Пусть какая-то программа сохраняет последовательность байтов данных в ЭСППЗУ, записав 2048-й байт по адресу 67FF. Что произойдет с запи- санной информацией, если программатор попробует записать еще один байт по адресу 6800? (В) 11.37. Нарисуйте полную схему модуля памяти емкостью 256К х 8 бит, в котором использованы чипы ОЗУ с такими параметрами: емкость — 65К х 4 бита, общая линия ввода-вывода данных, два входа выбора микросхемы, управ- ляемых низким уровнем напряжения. (Подсказка: схему можно построить, используя только два инвертора и указанные чипы.) Запоминающие устройства 857
Раздел 11.20 11.38. Измените схему ОЗУ, приведенную на рис. 11.42, следующим образом: за- мените элемент ИЛИ элементом И и отсоедините его выход от входа С; при- соедините выход элемента И ко входу Е3; подключите вход С к земле. Опре- делите диапазоны адресов для каждого модуля ОЗУ. (С, D) 11.39. Покажите, как можно расширить систему на рис. 11.42 до емкости 8К х 8 бит с диапазоном адресов от 0000 до 1FFF. {Подсказка: это можно сделать, добавив необходимое количество модулей памяти и слегка изменив логиче- ские элементы для дешифрирования сигналов.) (Т) 11.40. Логические элементы, предназначенные для дешифрации адреса в схеме (см. рис. 11.42), проверяются с помощью динамического теста. При этом сигнал Е = 1, а выходы шестибитового счетчика подключены ко входам ад- реса А10-А15. Сигналы с выходов дешифратора выведены на осциллограф (или анализатор логических функций); счетчик пульсирует с частотой 1 МГц. Отображаемые сигналы представлены на рис. 11.53, а. Назовите наиболее вероятные причины неисправности схемы. Рис. 11.53. Упражнения 11.40 и 11.41 858 Глава 11
(С, Т) 11.41. Повторите упражнение 11.40 для сигналов с выходов дешифратора, графики которых приведены на рис. 11.53, б. (С, D) 11.42. Рассмотрим систему оперативной памяти, приведенную на рис. 11.42. Тест с помощью “шахматного” распределения не способен определять некоторые типы неисправностей. Например, имеется разрыв соединения на входе А дешифратора. Если при самоконтроле использовать только тест шахматным распределением, то поступает сообщение о том, что с памятью все в порядке. а) Объясните, почему неполадка схемы не будет обнаружена. б) Как бы вы изменили программу самоконтроля, чтобы можно было де- тектировать подобные неисправности? (Т) 11.43. Предположим, что в схеме на рис. 11.42 были использованы модули памяти емкостью 1К х 8 бит, сформированные путем объединения двух чипов ОЗУ емкостью 1К х 4 бита каждый. При загрузке был выполнен тест самокон- троля, который вывел на экран следующую информацию: module-0 test OK module-1 test OK address 0800 faulty at bits 4-7 address 0801 faulty at bits 4-7 address 0802 faulty at bits 4-7 address OBFE faulty at bits 4-7 address OBFF faulty at bits 4-7 module-3 test OK модуль 0 исправен модуль 1 исправен адрес 0800 неисправен в битах 4-7 адрес 0801 неисправен в битах 4-7 адрес 0802 неисправен в битах 4-7 адрес 0BFE неисправен в битах 4-7 адрес 0BFF неисправен в битах 4-7 модуль 3 исправен Прочитайте внимательно текст отчета и перечислите все возможные причи- ны неполадок. (Т) 11.44. При выполнении теста самоконтроля системы оперативной памяти, изобра- женной на рис. 11.44, на экране появилось следующее сообщение: module-0 test OK модуль 0 исправен module-1 test OK модуль 1 исправен module-2 test OK модуль 2 исправен address 0C00 faulty at bit 7 адрес 0С00 неисправен в бите 7 address 0C01 faulty at bit 7 адрес 0С01 неисправен в бите 7 address 0C02 faulty at bit 7 адрес 0002 неисправен в бите 7 address OFFE faulty at bit 7 адрес OFFE неисправен в бите 7 address OFFF faulty at bit 7 адрес OFFF неисправен в бите 7 Прочитайте внимательно текст отчета и перечислите все возможные причи- ны неполадок. (Т) 11.45. Какая информация будет выведена на принтер при выполнении теста само- контроля системы оперативной памяти (рис. 11.44), если между выходами К2 и КЗ дешифратора произойдет короткое замыкание? Запоминающие устройства 859
Раздел 11.21 (Т) 11.46. Рассмотрим ПЗУ емкостью 16 х 8 бит, изображенное на рис. 11.6. Замените слова данных, хранящиеся в участке памяти по адресу 1111, контрольной суммой битов, рассчитанной по 15 остальным словам. Ответы к упражнениям Раздел 11.1 1. См. по тексту. 2. 16 бит в слове; 8192 слова; 131 072 бита или ячейки. 3. При выполнении операции чтения слово извлекается из участка памяти и пере- дается на другое устройство. При выполнении операции записи в участок памяти записывается новое слово данных, заменяя ту информацию, которая была запи- сана в этот участок ранее. 4. Да. 5. В памяти с последовательной выборкой время доступа не является постоянной величиной, а зависит от участка памяти, в котором размещается слово данных. В памяти с произвольной выборкой время доступа будет одинаковым для всех участков. 6. Двусторонняя память обладает тем преимуществом, что информация с одинако- вой скоростью может считываться или записываться в ЗУ. Из постоянной памяти данные в основном только считываются, а записываются крайне редко. 7. Нет; данные, которые хранятся в динамической памяти, следует время от време- ни обновлять. Раздел 11.2 1. 14, 12, 12. 2. Сигнал на этом входе указывает запоминающему устройству на операцию, кото- рую следует выполнить: чтение или запись. 3. Когда данный вход в активном состоянии, микросхема памяти включена для чтения или записи информации (в зависимости от состояния на входе R/W). В неактивном состоянии этот вход отключает память, т.е. микросхема закрыта и для чтения, и для записи. Раздел 11.3 1. Линии адреса, линии данных, линии управления. 2. См. по тексту. 3. См. по тексту. Раздел 11.4 1. Да. 2. Нужно подать требуемый адрес; активизировать нужный вход(-ы) управления; данные появятся на выходах данных. 3. Процесс ввода данных в ПЗУ. 860 Глава 11
Раздел 11.5 1. A3A2AiAo= 1001. 2. Дешифратор выбора строки активизирует один из разрешающих входов всех ре- гистров нужной строки. Дешифратор выбора столбца, соответственно, активизи- рует один из разрешающих входов всех регистров нужного столбца. Выходные буферы пропускают данные с внутренней шины данных на выводы ПЗУ, когда возбужден вход CS. Раздел 11.7 1. Нет, только производителем. 2. ППЗУ может быть запрограммировано пользователем, но только один раз; сте- реть или изменить записанную информацию уже не удастся. 3. Да. ' 4. Подвергнуть микросхему воздействию ультрафиолетового излучения. 5. Да. 6. Программатор автоматически “прошивает” информацию в микросхему, по одно- му адресу за единицу времени. 7. ЭСППЗУ можно очищать и перепрограммировать с помощью электричества, не извлекая чип памяти из схемы. Кроме того, данные в ЭСППЗУ можно изменять по одному байту. 8. Малая плотность интеграции; высокая стоимость. 9. ЭСППЗУ. 10. Один. Раздел 11.8 1. Флэш-память можно очищать от информации и программировать прямо в схеме. 2. Более высокая степень интеграции; более низкая стоимость. 3. Flash (англ, вспышка) — указывает на очень малую длительность времени, кото- рое затрачивается на стирание и перепрограммирование информ ации. 4. Для выполнения операций стирания и перепрограммирования. 5. Данные из этого регистра служат для управления всеми внутренними функция- ми чипа. 6. Для подтверждения того, что участок памяти по указанному адресу был очищен успешно (т.е. в нем остались одни единицы). , 7. Для подтверждения того, что участок памяти по указанному адресу был успешно запрограммирован правильными данными. Раздел 11.9 1. Программы для микрокомпьютера, записанные в ПЗУ. 2. При включении питания компьютер выполняет небольшую программу самоза- грузки, записанную в постоянную память; эта программа распознает установлен- ное аппаратное обеспечение и загружает операционную систему из запоминающе- го устройства массового хранения (с жесткого диска). 3. Схема, которая преобразовывает данные из одного кода в другой. 4. Счетчик, ПЗУ, ЦАП, низкочастотный фильтр. 5. Устройства флэш-памяти являются энергонезависимыми, быстрыми, надежны- ми, малогабаритными и не требуют большой мощности питания. Запоминающие устройства 861
Раздел 11.11 1. На соответствующие входы микросхемы надо подать нужный адрес; сигнал R/W =1; входы CS и СЕ находятся в активных состояниях. 2. Для того чтобы уменьшить общее количество выводов (ножек) микросхемы. 3. 24, включая выводы на источник питания Усс и землю. Раздел 11.12 1. Ячейки статического ОЗУ по существу представляют собой триггеры; ячейки ди- намического ОЗУ — конденсаторы. 2. КМОП. 3. ОЗУ. 4. ЦПУ. 5. Времена циклов чтения и записи. 6. Нет; когда вход WE находится в состоянии с низким уровнем напряжения, то входы ввода-вывода данных работают в качестве входов данных независимо от состояния входа ОЕ (вторая строка в таблице возможных режимов работы ЗУ на рис. 11.23). 7. Линия Ап может оставаться подключенной ко входу 26. Линию Ац нужно убрать из схемы, а вывод 27 подключить к источнику питания +5 В. Раздел 11.13 1. Как правило, более низкое быстродействие; необходимость периодического об- новления данных. 2. Малая потребляемая мощность; высокая емкость; малая стоимость на 1 бит запи- санной информации. 3. Динамическую память. Раздел 11.14 1. 256 строк х 236 столбцов. 2. Позволяет уменьшить количество выводов микросхемы. 3. 1М = 1024к = 1024 х 1024. Таким образом, массив регистров данного ЗУ имеет 1024 строки и 1024 столбца. Поскольку 1024 = 210, то ЗУ должно иметь 10 вхо- дов адреса. 4. Строб RAS служит для фиксации адреса строки в соответствующем регистре микросхемы динамической памяти. CAS необходим для фиксации в другом ре- гистре адреса столбца. 5. Сигнал MUX используется для мультиплексирования полного адреса ячейки па- мяти путем разделения его на адреса строки и столбца, которые вводятся в ОЗУ последовательно. Раздел 11.15 1. а) Да. б) Нет. в) Нет. г) Да. 2. MUX 862 Глава 11
Раздел 11.16 1. а) Да. б) Нет. 2. В процессе обновления данных динамической памяти с его выходов снимаются адреса строк. 3. Мультиплексирование адресов и обновление. 4. а) Нет. б) Да. Раздел 11.17 1. Нет. 2. Все участки памяти, которые имеют одни и те же старшие биты адреса (расположены в одной строке массива памяти). 3. Потому что при “страничном” обращении адрес столбца может быть зафиксиро- ван в памяти. 4. Увеличенное время доступности данных (Extended Data Output). 5. Пакет данных. 6. Общим сигналом синхронизации системы. Раздел 11.18 1. Шестнадцать. 2. Четыре. 3. Нет; при расширении емкости ЗУ каждый чип выбирается собственным сигна- лом, для чего служит свой выход дешифратора (см. рис. 11.43). 4. Да. Раздел 11.19 1. Использование резервных источников питания (батарей), применение флэш- памяти. 2. Экономичность*. 3. Данные считываются из памяти в том же порядке, в котором они туда записывались. 4. Принцип FIFO используется для передачи данных между устройствами с резко различающимися скоростями функционирования. 5. Кольцевой буфер циклически переходит от старшего адреса к младшему, и самое новое значение, поступившее в такой буфер, всегда заменяет самое старое значение. Раздел 11.20 1. Для предотвращения сбоев в работе ОЗУ путем выключения дешифратора на время изменения адреса. 2. Способ тестирования ОЗУ, согласно которому в каждый участок памяти записы- вается набор чередующихся нулей и единиц (сначала 01010101, потом 10101010), после чего осуществляется чтение записанных данных. “Шахматный” тест позво- Это спорный вопрос, ведь кэш-память стоит дороже других типов памяти- и серьезно влияет на стоимость процессоров. Лучше было бы сказать, что она дает наибольший прирост производительности по отношению к стоимости. — Прим, перев. Запоминающие устройства 863
ляет обнаружить замыкания или другие взаимные неисправности соседних ячеек памяти. 3. Автоматический тест ОЗУ, который выполняется при загрузке компьютера. Раздел 11.21 1. Код, который записывается в один или два последних участка памяти ПЗУ и представляет собой сумму бит всех сохраненных в памяти данных. Контрольная сумма используется как средство диагностики ошибок в одной или нескольких ячейках ПЗУ. 864 Глава 11
Глава 12 Применение программируемых логических устройств Содержание: 12.1. Фундаментальные понятия схемотехники ПЛУ 12.2. Архитектура ПЛУ 12.3. ПЛУ GAL 16V8 (типовая матричная логика) 12.4. Привязка карты пережигания языка CUPL к архитектуре ПЛУ GAL 16V8 12.5. Проблемы проектирования 12.6. ПЛУ GAL 22V10 12.7. Клавишное кодирующее устройство 12.8. Разработка более совершенных ПЛУ * Структурные схемы устройств GAL 16V8 и GAL 22V10, о которых идет речь в данной главе, показаны с разрешения компании Lattice Semiconductor Corporation.
В этой главе: различия между архитектурными решениями в разных ПЛУ; трактовка данных, указываемых в спецификациях ПЛУ; возможности и ограничения различных режимов функционирования про- граммируемых устройств типовой матричной логики (семейства GAL); пересмотр различных решений при выборе входов и выходов ПЛУ типо- вой матричной логики; применение языка CUPL для эффективного использования преимуществ архитектуры ПЛУ. Введение Из предыдущих глав данной книги читатель уже получил представление о широ- ком разнообразии цифровых схем, о работе отдельных составляющих цифровых сис- тем, а также о том, как эти элементы можно объединять при решении целого ряда проблем цифровой схемотехники. Читатель также ознакомился и с более сложными цифровыми системами, такими как микрокомпьютеры и схемы цифровой обработки сигналов (DSP). Основное отличие микрокомпьютеров или систем DSP от других цифровых систем — функционирование согласно запрограммированной последова- тельности команд, которые задает разработчик электронного оборудования. Во мно- гих областях применения цифровой техники требуется очень быстрая реакция сис- темы на внешнее воздействие, которую архитектура микрокомпьютера/системы DSP просто не может обеспечить, поэтому в таких случаях используется традиционная цифровая логика. Сегодня, при столь поразительных темпах развития новых техно- логий, цифровые системы редко реализуются на основе отдельных логических эле- ментов и интегральных схем средней степени интеграции, с которыми читателю час- то приходилось сталкиваться в примерах. Вместо этого используются программируе- мые логические устройства, которые содержат все средства, необходимые для реализации логических функций и цифровых систем. Эти устройства не программи- руются согласно какой-то заранее определенной программе, как это делается в случае применения системы цифровой обработки сигналов, — их внутренняя структура опре- деляется с помощью электронного замыкания и размыкания отдельных узлов схемы. Каким же образом ПЛУ заняли столь внушительную долю рынка электроники? Ответ очень прост — при использовании программируемых устройств стало возмож- ным на базе одной ИС получить ту же функциональность, которую могут обеспечить лишь несколько отдельных традиционных логических микросхем. А это влечет за собой большую плотность размещения элементов на плате, меньшее энергопотребле- ние, большую надежность, уменьшение материальных затрат и, соответственно, снижение общей стоимости изготовления прибора или системы. В предыдущих главах уже рассказывалось о процессе программирования некото- рых простейших ПЛУ с использованием инструментальных программных средств — ПО CUPL, а также были проанализированы все простейшие элементы, из которых состоят электронные системы. Однако пока что реализация цифровой схемы на ПЛУ остается “черным ящиком”. Из предыдущих глав можно, пожалуй, получить некое по- верхностное представление о выборе программируемого устройства, разводки его выво- дов и режиме функционирования. Задача данной главы — раскрыть всю схемотехнику ПЛУ. Сейчас самое время пролить свет на работу этого “черного ящика”. Это позволит научиться принимать правильные решения при выборе и подготовке к работе того или иного программируемого логического устройства для решения определенной задачи. В этой главе представлена архитектура различных семейств ПЛУ. Отдельно рас- сматриваются детали внутренней структуры двух наиболее широко используемых устройств: GAL 16V8 и GAL 22V10. Данные ПЛУ также сослужат службу и при ре- 866 Глава 12
шении нескольких примеров и упражнений, в которых представится возможность реализовать на базе программируемых логических устройств целостную цифровую систему. И наконец, читатель ознакомится с более совершенными ПЛУ, на основе которых можно реализовать намного ботее сложные цифровые комплексы. 12.1. Фундаментальные понятия схемотехники ПЛУ В главе 4 рассказывалось о применении программируемых логических устройств. На рис. 4.41 была представлена схема ПЛУ с программируемыми связями между выходами элементов И и входами единственного элемента ИЛИ. Похожая структура ПЛУ изображена и на рис. 12.1. Эта схема содержит четыре элемента ИЛИ, сигналы с выходов которых можно запрограммировать таким образом, чтобы они выполняли некую логическую функцию двух переменных. Рис. 12.1. Пример программируемого логического устройства Каждый из входных сигналов, соответствующих переменным А и В, проходит че- рез два буфера: обычный и инвертирующий, — в результате получаются прямой и обратный сигналы, соответствующие этим переменным — это что касается входных линий массива элементов И. Каждый элемент И подключен к двум различным вход- ным линиям, поэтому он может формировать свой собственный сигнал произведения входных переменных. Сигнальные линии на выходах элементов И называются вы- ходными линиями. Каждая линия передает сигнал, соответствующий произведению разных входных переменных. Все эти линии подключены к одному из четырех входов каждого эле- Применение программируемых логических устройств 867
мента ИЛИ через плавкую перемычку. Если все перемычки какого-то элемента ИЛИ оставить целыми, то на его выходе получится постоянный сигнал, соответствующий логической 1. Доказательство данного утверждения имеет вид: О1=АВ + АВ + АВ + АВ = = А(В + В) + А(В + В) = = А + А = 1. Каждый из четырех выходных сигналов (Qi, О2, Оз и О4) может быть запрограм мировая на реализацию той или иной логической функции переменных А и В; для этого достаточно пережечь соответствующие плавкие перемычки. ПЛУ разрабатыва- ются таким образом, что расплавленная перемычка (т.е. разомкнутый вход элемента ИЛИ) действует как логический 0. Например, если пережечь перемычки 1 и 4 на входах первого элемента ИЛИ, то на выходе Oi получится Oi -0 + АВ + АВ + 0 = АВ + АВ. Можно запрограммировать каждый из выходов элемента ИЛИ так, что сигнал бу- дет соответствовать некоей требуемой функции. Как только все выходные сигналы заданы, устройство будет реализовывать эти функции постоянно. Обозначения ПЛУ Устройство, выступившее в качестве примера на рис. 12.1, может обрабатывать только две входные переменные, но, как видно, приведенная функциональная схема уже до- вольно сложна. Нетрудно представить, какой сложной будет структура ПЛУ, на входы которой поступает большее количество сигналов. По этой причине производители ПЛУ пользуются символическим представлением внутренней архитектуры таких устройств. На рис. 12.2 показана та же схема программируемого логического устройства, что и на рис. 12.1, но уже с использованием упрощенной символики. Обратите внима- ние, что 1) входные буферы представлены как один буфер с двумя выходами, один из которых инвертирует сигнал, а второй пропускает этот сигнал без изменений; 2) одна сигнальная линия, идущая к элементу И, на самом деле представляет все че- тыре входных линии. Пересечения горизонтальных и вертикальных линий — от- дельные входы элемента И. Соединения линий входных переменных и входных вы- водов элемента И представлены в виде точек. Каждая точка означает, что контакт на входе элемента И жестко припаян (т.е. жестко фиксирован и не может быть разо- рван). На первый взгляд может показаться, что входные переменные имеют общие точки контакта, замкнутые друг на друга. Но следует помнить, что на самом деле одна горизонтальная линия представляет собой сразу несколько входов оного элемен- та И, т.е. на самом деле никакого замыкания нет и быть не может. Входы каждого элемента ИЛИ также обозначаются одной прямой линией, кото- рая заменяет собой четыре входных вывода. Знак “X” означает целую плавкую пере- мычку, соединяющую выход элемента И (т.е. передает одну из форм произведений входных переменных), и один из входов элемента ИЛИ. Отсутствие знака “X” (или точки) в любом из пересечений означает пережженную перемычку. Расплавленные плавкие перемычки на входах элемента ИЛИ (разомкнутые входы) представляют со- бой логические нули, а разомкнутые плавкие перемычки на входах элемента И — логические единицы. В рассматриваемом примере выходные сигналы будут запро- граммированы следующим образом: О1 = АВ + АВ О2= АВ О, =0 о О4 = 1 868 Глава 12
о 1 О2 О3 Од Рис. 12.2. Упрощенная символика ПЛУ Контрольные вопросы 1. Что такое ПЛУ? 2. Какой сигнал можно будет снять с выхода О\ схемы, изображенной на рис. 12.1, если расплавить плавкие перемычки 1 и 2? 3. Что обозначает значок “X” в схеме ПЛУ? 4. Что в схеме ПЛУ обозначает точка, располагаемая на пересечении линий? 12.2. Архитектура ПЛУ Применение концепции ПЛУ привело к появлению большого количества разрабо- ток в области внутренней архитектуры таких устройств. В этом разделе рассматри- ваются некоторые основные отличия в архитектуре разных типов ПЛУ. ППЗУ Архитектура программируемых устройств, описанных в предыдущем разделе, пре- дусматривает программирование связей элемента ИЛИ. Для дешифрации всех возмож- ных комбинаций входных переменных используются элементы И (рис. 12.3, а). Любая заданная комбинация входных сигналов возбуждает одну из горизонтальных сиг- нальных линий (логический уровень на этой линии становится высоким). Если именно к этой строке подключен элемент ИЛИ, то сигнал высокого уровня появляет- ся и на выходе элемента ИЛИ. Если же вход ИЛИ подключен к другой линии, то на выходе элемента остается низкий логический уровень. Не правда ли, знакомая кар- тина? Вернемся к разделу 11.9: если представить входные переменные в виде сигна- лов адреса и учесть, что целые/пережженные перемычки соответствуют хранению единиц/нулей, то нетрудно будет узнать архитектуру ППЗУ. Применение программируемых логических устройств 869
целы а) Рис. 12.3. а) Архитектура ППЗУ позволяет реализовывать такие схемы на ПЛУ; б) чтобы запрограммировать заданную функцию, достаточно пережечь соответствующие плавкие пе- ремычки перемычка б) На рис. 12.3, б показано, как запрограммировать ППЗУ, чтобы это устройство могло формировать четыре заданных логических функции. Проследим, как появля- ется на выходе схемы сигнал О3 = АВ + CD . Сначала составим таблицу истинности, показывающую состояния требуемого выхода (О3) для всех возможных комбинаций входных сигналов (табл. 12.1). Теперь выпишем произведения входных переменных для тех случаев, когда на вы- ходе О3 наблюдается единичный логический уровень. Сигнал на выходе будет пред- ставлять собой дизъюнкцию соответствующих произведений входных переменных. Та- ким образом, следует оставить целыми только те перемычки, которые связывают най- денные произведения со входными сигналами элемента ИЛИ под номером 3. Все остальные перемычки необходимо расплавить, как указано на рис. 12.3, б. Та же про- цедура применяется для определения перемычек на остальных входах элемента ИЛИ. 870 Глава 12
Таблица 12.1 D С В А Оз 0 0 0 0 1 DCBA 0 0 0 1 1 -► DCBA 0 0 1 0 1 -> DCBA 0 0 1 1 1 DCBA 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 DCBA 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 DCBA 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 -> DCBA ППЗУ может формировать любую логическую функцию входных переменных — из таблицы очевидно, что можно получить любую форму произведения этих пере- менных. В целом, любая задача, в которой требуется иметь все комбинации входных сигналов, может быть решена с помощью ППЗУ. Однако использование ППЗУ не- практично в случае большого числа входных переменных, потому что количество плавких перемычек удваивается для каждой новой переменной. Называть ППЗУ программируемым логическим устройством (или ПЛУ) правиль- но и с семантической точки зрения, поскольку ППЗУ — программируемое и логиче- ское устройство, которое можно использовать не как запоминающее устройство, а как микросхему, с выхода которой удобно снимать логические выражения, записан- ные в дизъюнктивной форме. Некоторую проблему представляет преобразование этих выражений из булевой алгебры в карту пережигания перемычек заданного ППЗУ. У логического компилятора (например, CUPL) всегда имеется список устройств из категории программируемых постоянных ЗУ, которые он поддерживает. Если исполь- зовать в качестве ПЛУ какой-нибудь завалявшийся древний чип СППЗУ, то довольно велика вероятность, что понадобится создать свою собственную карту битов (как, по существу, поступает программа), а это зачастую очень утомительное занятие. Программируемая матричная логика Архитектура ППЗУ отлично подходит для применения в тех приложениях, где для формирования выходных функций требуются все возможные комбинации вход- ных переменных. В качестве примеров можно назвать преобразователи кодов или справочные таблицы значений математических функций (см. главу 11). Однако та- кая реализация дизъюнктивных выражений булевой алгебры весьма неэффективна с точки зрения использования логических элементов. Необходимо полностью дешиф- рировать каждую комбинацию входных переменных, причем всем произведениям должны соответствовать плавкие перемычки, посредством которых произведения Применение программируемых логических устройств 871
складываются в результирующую функцию. А теперь подсчитайте, к примеру, сколько перемычек потребуется для схемы, изображенной на рис. 12.3, чтобы запро- граммировать простые выражения в дизъюнктивной форме, и внимательно посмот- рите — большая часть членов выражения совсем не используется. Это привело к раз- витию специфического класса ПЛУ, который получил название программируемой матричной логики (ПМЛ). Архитектура ПМЛ немного отличается от архитектуры ППЗУ, как это видно из рис. 12.4. Рис. 12.4. а) Типичная архитектура ПМЛ; б) та же схема ПМЛ, запрограммированная для формирования некоторых функций Устройства программируемой матричной логики, как и ППЗУ, также включают элементы И и ИЛИ, но в ПМЛ программируемыми являются входы элементов И, то- гда как входы элементов ИЛИ жестко фиксированы. Это значит, что каждый эле- мент И может быть запрограммирован таким образом, что он будет формировать лю- бое требуемое произведение четырех входных переменных или сопряженных с ними величин. Каждый элемент ИЛИ жестко подключен к выходам только четырех эле- ментов И. Такое подключение ограничивает выходную функцию до четырех членов. Если же она должна состоять из большего количества членов, то с помощью данного 872 Глава 12
устройства ПМЛ такую функцию реализовать невозможно — необходимо искать уст- ройство, элемент ИЛИ которого имеет больше входов. Если же выходная функция содержит менее четырех членов, то на те из них, которые не используются, можно подать нулевые уровни напряжения. На рис. 12.4, б показано устройство ПМЛ, запрограммированное таким образом, что оно формирует четыре логических функции. Проанализируем процедуру форми- рования выходного сигнала О3 = АВ + CD. Во-первых, необходимо выразить эту функцию в виде суммы, состоящей из четырех членов, так как элемент ИЛИ в дан- ной схеме имеет четыре входа. Это легко сделать, положив недостающие сигналы равными нулю. Таким образом, О, = АВ + CD + 0 + 0. О Затем нужно определить, как запрограммировать входы элементов И с №1, 2, 3 и 4 таким образом, чтобы на их выходах получить правильные произведения, склады- ваемые на элементе ИЛИ №3. Сделаем это почленно. Первый член, АВ, получается, если оставить целыми перемычки, которые связывают входы А и В с элементом И №1, и пережечь все остальные перемычки на этой линии. Аналогично, второй член, CD , получаем, оставляя целыми только перемычки, связывающие элемент И №2 с инверсными входами С и D. Третий член равен 0. Постоянный логический уровень, соответствующий нулю, можно получить на выходе элемента И №3, оставив все плавкие перемычки целыми. Это приведет к появлению на выходе элемента произве- дения AABBCCDD, которое равно 0. Четвертый член выражения также равен 0, по- этому перемычки на входах элемента И №4 также нужно оставить на месте. Входы остальных элементов И данной схемы программируются примерно так же с учетом функций, которые нужно получить на выходе устройства. Особо стоит отме- тить, что на входах многих элементов И все перемычки остаются целыми, так как требуется получить нулевой сигнал. В качестве примера реальной интегральной схемы на программируемой матрич- ной логике может служить ИС PAL18L8A компании Texas Instruments, Inc. Схема изготавливается с использованием барьеров Шотки и имеет десять логических входов и восемь выходных функций. Каждый элемент ИЛИ, находящийся на выходе схемы, жестко соединен с выходами семи элементов И, т.е. он может формировать функции, которые включают до семи членов. Дополнительное свойство данного устройства со- стоит в том, что шесть из восьми выходных сигналов могут быть поданы обратно на вход и использованы в качестве входных сигналов любых элементов И. Такая обрат- ная связь позволяет формировать практически любые сочетания функций комбина- ционной логики. Семейство устройств на ПМЛ содержит также схемы с различными вариациями базовой структуры, позволяющей реализовывать описанные выше функции, которые записаны в дизъюнктивной форме. Например, большинство устройств ПМЛ имеют на выходах тристабильные буферы. Другие устройства передают выходную функцию на D-триггеры, при этом на один из выводов микросхемы подается сигнал синхрони- зации, который контролирует, чтобы выходы всех триггеров переключались одно- временно. Такие устройства часто называются буферизованными, потому что выход- ной сигнал проходит через регистр, служащий буфером. В качестве примера приве- дем схему PAL16R8, которая включает 8 буферизованных выходов (они также могут служить и входами) и 8 некоммутируемых входов. Программируемая пользователем матричная логика Программируемая пользователем матричная логика (ППМЛ) появилась в середине 1970-х годов в качестве первых программируемых логических устройств, не связан- ных с запоминающими устройствами. В ППМЛ использовались программируемые Применение программируемых логических устройств 873
массивы, состоящие либо из элементов И, либо из элементов ИЛИ. Хотя устройства ППМЛ более гибкие, чем архитектура ПМЛ, они не получили широкого распростра- нения. В настоящее время ППМЛ применяется при разработке автоматических ком- плексов, в которых выражения, записанные в дизъюнктивной форме, состоят из большого количества членов. - Контрольные вопросы 1. Покажите, что в схеме, изображенной на рис. 12.3, б, были пережжены пра- вильные перемычки, и сигналы на выходах О2> и О0 действительно соответ- ствуют требуемым функциям. 2. Устройства на ПМЛ состоят из жестко фиксированного массива и программируемого массива. 3. ППЗУ состоят из жестко фиксированного массива и программируемо- го массива. 4. Как изменится выражение на выходе Ох схемы, показанной на рис. 12.3, б, ес- ли оставить целыми все перемычки на выходах элемента И с №14? 12.3. ПЛУ GAL 16V8 (типовая матричная логика) Читатель уже знаком с ПЛУ GAL 16V8 из примеров предыдущих глав. Эти уст- ройства представляют собой нечто большее, чем простой набор элементов И и ИЛИ. Чтобы в полной мере овладеть принципами функционирования программируемых логических устройств, необходимо понять основы работы мультиплексоров, тригге- ров, тристабильных буферов и чипов памяти. Благодаря широкой доступности, лег- кости программирования и разумной стоимости ПЛУ оказались исключительно под- ходящими для применения в исследовательских лабораториях. ПЛУ GAL 16V8A бы- ло разработано компанией Lattice Semiconductor. Архитектура этого устройства очень похожа на архитектуру устройств программируемой матричной логики, опи- санных в разделе 12.2 (см. рис. 12.4). Данное ПЛУ может быть использовано для за- мены большинства устройств ПМЛ, так как оно совместимо по выводам. Вместо того чтобы при выборе входных переменных использовать одноразовые программируемые плавкие перемычки, что позволяет формировать произведения этих переменных, в устройствах типовой матричной логики (ТМЛ) применяются массивы ЭСППЗУ. Для управления программируемыми связями матрицы входных членов используются оп- ределенные участки массива памяти. Каждый бит этой матрицы представляет собой программируемую связь (контакт) между строкой и столбцом матрицы. Такая струк- тура позволяет стирать и перепрограммировать устройство. Благодаря КМОП- технологии устройство работает с очень малыми мощностями потребления на скоро- стях, сравнимых с технологиями ТТЛ. Однако нет никакой необходимости в тща- тельном изучении адресации каждого бита матрицы — программное обеспечение с “дружественным” интерфейсом само позаботится о подобных деталях. Полная функциональная схема ПЛУ GAL 16V8 представлена на рис. 12.5. Это устройство имеет восемь некоммутируемых входов (выводы 2-9), два специальных входа функций (выводы 1 и 11) и восемь выводов (12-19), которые могут быть ис- пользованы как в качестве входов, так и выходов. Основные компоненты устройств ТМЛ — матрица входных членов; элементы И, на выходах которых формируются произведения входных переменных; а также макроячейки выходной логики (здесь и далее на рисунках обозначаются по-английски — аббревиатурами OLMC). Обратите внимание, что все восемь входов схемы (выводы 2-9) подключены напрямую к 874 Глава 12
столбцам матрицы входных членов. Инверсные (сопряженные) величины входных переменных также подключены к столбцам. Эти выводы всегда указываются в каче- стве входов схемы при программировании ПЛУ GAL 16V8. Логический уровень и со- пряженный с ним сигнал также подаются из каждой макроячейки обратно на стол- бец матрицы входных членов. Источник этих уровней напряжения определяется конфигурацией каждой макроячейки. Детальнее об этом будет сказано ниже, где мы рассмотрим ПЛУ с 32 входными переменными (32 столбцами матрицы входных чле- нов), которые будут запрограммированы в качестве связей с 64 многовходовыми эле- ментами И. Каждая строка, показанная на рисунке в качестве входа любого элемента И, на самом деле представляет до 32 входов этого элемента (см. рис. 12.2). Любой столбец, который на рисунке показан подключенным к строке (контакт обозначен знаком “х”), реально соединен со всеми столбцами, подключенными к той же строке. В про- цессе программирования любой столбец матрицы входных членов может быть при- соединен к одной из строк на входе любого элемента И. В основе гибкости ПЛУ GAL 16V8 лежат программируемые макроячейки выход- ной логики. Восемь различных произведений входных переменных (которые снима- ются с выходов элементов И) поступают на входы каждой из восьми макроячеек. Внутри каждой такой ячейки отдельные произведения складываются, и на выходе формируется сигнал, представляющий собой дизъюнктивную форму (логическое сложение) этих произведений. Любая логическая функция может быть выражена в дизъюнктивной или в конъюнктивной формах (см. главу 4). Полученная в макро- ячейке сумма может быть переслана на выход схемы для реализации комбинацион- ной схемы либо при помощи сигнала синхронизации может быть направлена на D- триггер для реализации буферизованной схемы. Чтобы в полной мере разобраться с работой выходных макроячеек, обратимся к рис. 12.6, на котором изображена структура такой ячейки под номером (л) (см. обо- значения на рисунке: OLMC (12)...OLMC (19)). В данном случае п обозначает число от 12 до 19. Обратите внимание, что семь произведений, которые являются членами реализуемого логического выражения, подаются прямо на входы элемента ИЛИ. Восьмой член подается на двухвходовый мультиплексор (на рисунке обозначен как PTMUX), с которого сигнал выводится на тот же элемент ИЛИ. Восьмое произведе- ние попадает на один из четырех входов другого мультиплексора (TSMUX), сигнал с выхода которого включает тристабильный инвертор, управляющий состоянием входа ввода-вывода микросхемы [1/О(п)]. Еще один мультиплексор на выходе схемы (OMUX), который имеет всего два входа, определяет режим работы выхода схемы: комбинационный (элемент ИЛИ) или буферизованный (D-триггер). И наконец, чет- вертый мультиплексор (FMUX) служит для выбора сигнала обратной связи, который подается обратно на матрицу входных членов. Этот мультиплексор так и называет- ся — мультиплексор обратной связи. Работа каждого из перечисленных выше мультиплексоров управляется програм- мируемыми битами, которые записаны в матрицу, состоящую из ЭСППЗУ. Именно таким образом программист может изменять конфигурацию макроячейки. Еще один программируемый бит подается на вход элемента исключающее ИЛИ. Эти биты и обеспечивают свойство данного ПЛУ — программирование полярности выходного сигнала. Элемент исключающее ИЛИ может использоваться для того, чтобы инвер- тировать логический сигнал по команде, как показано на рис. 12.7. Когда на входе управления наблюдается логический 0, то элемент пропускает на свой выход логиче- ский уровень со входа А без изменений. Когда же на вход управления поступает еди- ничный уровень напряжения, исключающее ИЛИ инвертирует сигнал: X = А. На рис. 12.6 показана ситуация, когда программируемый бит (обозначен как XOR) ра- вен 1, а на входы схемы подаются сигналы нормальной положительной полярности. В этом случае сигнал на выходе элемента ИЛИ будет проинвертирован, а затем ин- версия будет осуществлена еще раз, когда сигнал пройдет тристабильный инверти- рующий буфер на выходе схемы. Применение программируемых логических устройств 875
GAL16V8 LOGIC DIAGRAM 1-800 FASTGAL 2-41 Puc. 12.5. Функциональная схема ПЛУ GAL 16V8 876 Глава 12
Выход X Буферизация/инвертирование Рис. 12.7. Использование элемента исключающее ИЛИ для программируемого инвертиро- вания сигнала Вход управления Вход А Выход X ’ 0 0 0 0 1 1 1 0 1 1 1 0 Без инверсии (буферизация) Инверсия Проанализируем все возможные комбинации сигналов на входах каждого мультип- лексора, чтобы понять различные варианты конфигураций макроячейки. Мультиплек- сор TSMUX служит для управления состоянием разрешающего входа тристабильного буфера. Если выбран вход Усс» то выход мультиплексора будет возбужден, как и в обычной комбинационной логике. Если же выбран заземленный вход, то тристабиль- ный выход инвертора перейдет в высокоимпедансное состояние (тем самым позволяя использовать вход ввода-вывода). Еще на один вход этого же мультиплексора, вывод №11, приходит сигнал ОЕ. Этот внешний сигнал разрешает или запрещает работу вы- хода. И наконец, на последний вход мультиплексора подается восьмой член суммы произведений реализуемого выражения, т.е. восьмое произведение входных перемен- ных, поступающее от элемента И. Такое подключение позволяет комбинации сигналов, поступающих в матрицу входных членов, включать или выключать выход макроячейки. Мультиплексор FMUX служит для выбора сигнала, который подается обратно в матрицу входных членов. В данном случае имеется только три входа. Возбуждение входа, который подключен к прилегающему каскаду, или входа, который соединен со входом ввода-вывода той же макроячейки, позволяет в некоторых режимах работы по- дать обратно в матрицу входных членов текущее состояние с выхода макроячейки. Это свойство дает возможность реализовывать на основе данного ПЛУ последовательные схемы, такие как защелки на элементах И-НЕ с перекрестной связью, описанные в главе 5. Возможность обратной связи также позволяет использовать вход ввода-вывода Применение программируемых логических устройств 877
(I/O) в качестве некоммутируемого входа в противоположность к его функциям выхо- да. В зависимости от режима функционирования микросхемы, для работы в котором она была запрограммирована, выбирается одна из линий обратной связи. Мультиплек- сор FMUX содержит еще один вход, связанный с D-триггером; возбуждая данный вход, можно подать текущее состояние этого триггера (для определения следующего состоя- ния) обратно в матрицу входных членов. Данная возможность позволяет реализовывать такие синхронные последовательные схемы, как счетчики и регистры сдвига. На первый взгляд список свойств ПЛУ GAL 16V8 может показаться весьма внуши- тельным, однако на самом деле все конфигурации перебираются с помощью специаль- ного программного обеспечения. На практике данное ПЛУ имеет только три различных режима работы, но очень важно знать, каким образом в каждом из этих режимов мож- но сконфигурировать внутреннюю структуру схемы, чтобы выяснить все свойства и ог- раничения устройства. Перечислим режимы функционирования данного ПЛУ: (1) так называемый простой режим, который используется для реализации простых комбина- ционных логических схем без тристабильных выходов; (2) сложный режим, используе- мый для реализации комбинационных логических схем с тристабильными выходами, которые управляются сигналом с выхода элемента И; (3) буферизованный режим, в ко- тором каждая отдельная выходная макроячейка может функционировать или совмест- но с тристабильными выходами (так же, как и в сложном режиме), или синхронно с D- триггерами, которые работают от общего сигнала синхронизации. Массив ЭСППЗУ хранит 82-битовое управляющее слово, которое служит для из- менения архитектуры ПЛУ. Биты этого слова играют важную роль при определении конфигурации макроячеек выходной логики. На рис. 12.8 показана структура управляющего слова. До тех пор, пока не приходится программировать ПЛУ GAL 16V8 в ручном режиме, можно не задумываться о порядке битов, из которых состоит данное слово, — об этом позаботится программа. Однако настоятельно рекомендуется знать функции каждого бита. Биты SYN и АСО используются для того, чтобы зада- вать один из трех режимов работы ПЛУ в целом (простой, сложный или буферизо- ванный). Группа битов АС1(п) (по одному на каждую макроячейку выходной логики) служит для определения функций каждой отдельно взятой ячейки в заданном режи- ме. Восемь битов XOR(n) используются для выборочного инвертирования сигналов с выходов макроячеек. Наконец, 64 бита блокировки членов-произведений (обозначены как PTD) служат для отключения тех элементов И массива, которые не нужны в данной конфигурации и потому не используются. РТ63 РТ32 , РТ31 РТО 32 бита PRODUCT TERM 4 бита 1 бит 8 бит 1 бит 4 бита 32 бита PRODUCT TERM DISABLE (PTD) XOR (n) SYN AC1 (n) АСО XOR (n) DISABLE (PTD) Г I I I----------1 I I I I I I I------1111 12131415 1213141516171819 16171819 Рис. 12.8. Управляющее слово для ПЛУ GAL 16V8 Простой режим Простой режим функционирования устройства задается битами SYN = 1 и АСО = О управляющего слова. В данном режиме возможны две конфигурации макроячеек выходной логики: некоммутируемый вход [при ACl(n) = 1] некоммутируемый комбинационный выход [при АС1(п) = 0]. Каждая макроячейка программируется независимо от других для работы в одной из этих двух конфигураций. Если предусмотрена работа макроячейки в качестве не- коммутируемого входа, то вход ввода-вывода ячейки подключается к матрице вход- ных членов устройства, а сигнал направляется через соседнюю макроячейку, как по- казано на рис. 12.9, для вывода №18. Тристабильный инвертор на этом выводе все- гда выключен (находится в высокоимпедансном состоянии). Выводы 11 и 1 служат 878 Глава 12
входами, сигналы с которых направляются через макроячейки 12 и 19, соответст- венно. В данном режиме выводы 15 и 16 не могут быть использованы как некомму- тируемые входы, так как они не имеют связей с прилегающими ячейками. Рис. 12.9. Конфигурации макроячеек выходной логики в простом режиме Применение программируемых логических устройств 879
При работе макроячейки в конфигурации некоммутируемого выхода тристабиль- ный инвертор на выходе этой макроячейки должен быть все время включен, как по- казано на рис. 12.9 для ячейки №19. Только в этой конфигурации выражение в дизъюнктивной форме на выходе устройства может включать в себя все восемь чле- нов, представляющих произведения входных переменных. При работе в простом ре- жиме макроячейки 15 и 16 всегда находятся в конфигурации некоммутируемого вы- хода и не имеют обратной связи. Сигналы с выходов остальных шести макроячеек могут быть поданы обратно на матрицу входных членов через прилегающую ячейку (обратите внимание, что сигнал с выхода макроячейки №19 подается в матрицу входных членов через соседнюю макроячейку №18). Пример 12.1 Схема на рис. 3.17 выдает на выходе функцию, которая описывается булевым выра- жением у = АС + ВС + АВС . Если для реализации этой схемы использовать ПЛУ GAL 16V8, то в каком режиме оно будет функционировать и как следует его запро- граммировать? Решение Выражение записано в обычной дизъюнктивной форме, поэтому никакой нужды в использовании тристабильных выходов нет, стало быть можно использовать простой режим работы ПЛУ (SYN = 1, АСО = 0). Микросхема конфигурируется так, как это показано на рис. 12.10. Макроячейка №19 конфигурируется как некоммутируемый выход [АС 1(19) = 0]. Обратите внимание на структуру связей матрицы, которая обеспечивает формирование требуемого выражения в дизъюнктивной форме. Вход- ные строки, которые подключены к неиспользуемым элементам И, фактически за- программированы так, что они подключены ко всем столбцам. Это гарантирует, что сигнал на выходе элемента И будет равен 0, поскольку на его вход поступают как все входные переменные, так и величины, сопряженные с ними. На рисунке опущены символы соединения (их наличие обозначено “х”), чтобы чрезмерно не перегружать схему. Примечание, Затененные области означают целые перемычки. Крестики не показаны для большей разборчивости. Рис. 12.10. Реализация простой комбинационной логической схемы 880 Глава 12
Сложный режим Сложный режим работы данного ПЛУ задается сигналами SYN = 1 и АСО = 1. Бит АС1 также должен равняться логической 1 для всех макроячеек выходной логи- ки. На рис. 12.11 показана функциональная схема ПЛУ GAL 16V8. Тристабильный Complex Mode GAL16V8/16V8A GtoW Output pm* 8YM.1 МХ»1 0 1 Aotwlgar Acvwtafh Рис. 12.11. Конфигурация макроячеек выходной логики в сложном режиме функциониро- вания ПЛУ GAL 16V8 Применение программируемых логических устройств 881
инвертор, который управляет состоянием сигнала на выходе ПЛУ, активизируется одним из членов реализуемого выражения, записанного в дизъюнктивной форме. Другими словами, чтобы разрешить выдачу сигнала на выходе устройства, необхо- димо задать некоторое логическое выражение. Таким образом, остается только семь произведений входных переменных, которые поступают на элемент ИЛИ и, собст- венно, формируют результирующее выражение в дизъюнктивной форме. Логические состояния с выходов макроячеек №13-18 подаются обратно в матрицу входных чле- нов через другие соответствующие ячейки. Макроячейки №12 и 19 не имеют обрат- ной связи и не обладают свойством передавать сигнал обратно на вход, так как имеющиеся связи служат для использования выводов №11 и 1 в качестве входов. На рисунке вывод 19 показан как некоммутируемый выход без обратной связи, вы- вод 18 — как вход, а вывод 17 — как выход с обратной связью. Вывод 17 также мо- жет использоваться в качестве входа, если отключить тристабильный инвертор. Пример 12.2 Определите режим работы ПЛУ, запишите логические выражения и нарисуйте кон- фигурацию связей прозрачной D-защелки с тристабильными выходами, которые управляются сигналами CS1 и CS2, как это показано на рис. 12.12. Решение Поскольку работать с синхронизированными (буферизованными) выходами нет ни- какой нужды, но в условии указано, что защелка имеет тристабильные выходы, то воспользуемся сложным режимом функционирования ПЛУ. Запишем выражения: активация входа = CS1 CS2 Q = D • EN + Q • EN Конфигурация ПЛУ GAL 16V8 показана на рис. 12.12, б. Макроячейка выходной ло- гики №17 используется для формирования сигнала Q. Обратите внимание на связи в матрице входных членов, необходимые для получения требуемых выражений. Буферизованный режим Буферизованный режим характеризуется сигналами SYN = 0 и АСО = 1. В этом режиме для каждой макроячейки существует две возможные конфигурации: 1. Буферизованная конфигурация (при АС1 = 0). 2. Комбинационная конфигурация (при АС1 =1). Функционирование макроячейки в первой конфигурации — комбинационной (рис. 12.13, макроячейки 12 и 18) — напоминает функционирование ячеек в слож- ном режиме. Работа выхода устройства контролируется с помощью одного из членов дизъюнктивного выражения, который поступает из входной матрицы. Это обеспечи- вает возможность использовать двунаправленные шины ввода-вывода. Выходной сигнал также подается в матрицу входных членов через соответствующую макро- ячейку. Буферизованная конфигурация (макроячейки 13-17 и 19) предусматривает при- менение в каждой ячейке D-триггеров, чтобы можно было синхронизировать все данные, снимающиеся с буферизованных выходов, одним общим фронтом сигнала синхронизации. Вывод 1 служит некоммутируемым входом, на который и подается синхросигнал. Тристабильные инверторы всех макрюячеек, имеющих буферизован- ные выходы, управляются сигналом на выводе 11 микросхемы (ОЕ). С буферизо- ванных выходов может сниматься максимум восемь членов выражения, записанного в дизъюнктивной форме, которые управляют D-входами триггера. 882 Глава 12
Примечание. Затененные области означают целые перемычки Крестики не показаны для большей разборчивости. б) Рис. 12.12. а) Прозрачная D-защелка с тристабильными выходами; б) реализация прозрачной D защелки на основе ПЛУ GAL 16V8. работающего в сложном режиме Пример 12.3 Определите режим работы ПЛУ GAL 16V8, запишите логические выражения и нари- суйте конфигурацию связей двухбитового счетчика с Кпер = 4 и декодированным вы- ходным сигналом при QB = QA = 1 (рис. 12.14). Применение программируемых логических устройств 883
Registed Mode GAL16V8/16V8A ЭДЫ Output pine SYN-0 АСО-1 XOR^ 0 1 Ac»*» tow Рис. 12.13. Конфигурация макрояческ выходной логики в буферизованном режиме функциони- рования ПЛУ GAL 16V8 884 Глава 12
QA QB Крестики не показаны для большей разборчивости. б) Рис. 12.14. а) Двоичный счетчик с Коер = 4 и декодированным выходным сигналом; б) реали- зация счетчика на основе ПЛУ GAL 16V8, работающего в буферизованном режиме Решение Реализация счетчика с КП€Р = 4 предусматривает работу ПЛУ в буферизованном ре- жиме. Запишем выражения для входов D-триггеров и декодированного выходного сигнала: Da = QA (D-вход триггера А); DB = QB QA + QB QA = QB Ф QA (D-вход триггера В); DECODE = QB QA Конфигурация ПЛУ показана на рис. 12.14, б. Вы можете проследить за связями схемы и убедиться, что записанные выше выражения действительно появятся на вы- ходах устройства. Применение программируемых логических устройств 885
Контрольные вопросы 1. Назовите два преимущества устройств типовой матричной логики (GAL) по сравнению с устройствами программируемой матричной логики (PAL). 2. Перечислите три режима функционирования ПЛУ GAL 16V8. 3. Назовите все конфигурации макроячеек выходной логики в каждом из режи- мов функционирования ПЛУ. 4. В каком режиме тристабильный выход управляется состоянием сигнала на вы- воде 11? 5. В каком режиме вывод 1 служит входом для сигнала синхронизации? 12.4. Привязка карты пережигания языка CUPL к архитектуре ПЛУ GAL 16V8 Чтобы изучить связь между аппаратными средствами ПЛУ и выходными данны- ми компилятора CUPL, рассмотрим небольшой пример, в котором реализована таб- лица истинности, показанная на рис. 4.11, в (см. главу 4). Данная информация мо- жет быть введена в компьютер либо сразу в режиме ввода таблиц истинности, либо в режиме булевых уравнений. В примере использован режим булевых уравнений, а также файл такого же формата, который рассматривался в предыдущих главах при первом изучении ПЛУ GAL 16V8. На рис. 12.15 приведены участки исходного файла combo.pld, в которых описаны входные и выходные сигналы, а также логические уравнения схемы. Перед компиляцией данного файла можно дать компилятору ко- манду на распечатку выходного файла, который называется картой пережигания плавких перемычек. Эта команда выполняется щелчком мыши на пункте Карта пе- ремычек (Fuse Plot) под меню выходного файла в свойствах компилятора (Compiler Options Output Files). /* Входы pin 1 = A; pin 2 = B; pin 3 = C; . pin 4 = D; /* Выходы */ pin 19 = X; /* Уравнения */ /* Отметьте, что вывод 1 используется как вход */ /* В, С и D являются нормальными входами */ Рис. 12.15. Входной файл com.bo.pld языка CUPL с описанием таблицы истинности, изображенной на рис. 4.11, в Выходной файл карты перемычек появится в виде файла документации. Соответ- ствующая часть файла combo.doc показана на рис. 12.16, а. Обратите внимание, что компилятор уменьшил логические уравнения до X = ACD + ABD . Это упрощенное выражение представляет собой точно такой же результат, который можно получить с помощью использования карт Карно (см. рис. 4.11, в). Карта перемычек показывает все электрические связи матрицы входных членов, причем каждый программируе- мый бит идентифицируется с помощью адресов. Позиции, обозначенные знаком “х”, показывают связь строки и столбца (т.е. целую плавкую перемычку), а позиции, ко- торые обозначены знаком означают отсутствие связи (расплавленные перемычки) 886 Глава 12
между столбцом и строкой. На самом деле, конечно, архитектура типовой матричной логики (GAL) не имеет плавких перемычек, а состоит из ключей на полевых транзи- сторах, которые управляются битами, хранящимися в массиве ЭСППЗУ. х = !А & !С & D А & В & D ‘QP20 . -------- ------------------ . . ‘QF2194 План пережигания перемычек Syn 02192 - АсО 02193 х ’F0 Pin #19 02048 PoJ - 02120 Ас1 400000 11101011011111111111111111111111 00000 —Х-Х—X - 400032 01011111011111111111111111111111 00032 Х-Х X ’L02048 10000000001100010011001000110011 00064 хххххххххххххххххххххххххххххххх 'L02080 00110100001101010011011000110111 00096 хххххххххххххххххххххххххххххххх •L02221 00001001011111111111111111111111 00128 хххххххххххххххххххххххххххххххх 402144 11111111111111111111111111111111 00160 хххххххххххххххххххххххххххххххх 402176 111111111111111110 00192 хххххххххххххххххххххххххххххххх *С1525 00224 хххххххххххххххххххххххххххххххх *□91В7 XOR(n) Подпись АС1(п) PTD SYN.ACC а) Фрагмент combo.doc б) Фрагмент combo.jed Рис. 12.16. Выходные файлы, созданные на основе исходного файла combo.pld На рис. 12.16, б приведен файл в стандарте JEDEC, создаваемый компилятором CUPL для загрузки информации в программатор. Файл в таком формате не содержит всех связей матрицы входных членов, а включает только те, которые были пере- жжены. Адрес первого бита приведенной строки указывается в левой части файла JEDEC. Для удобства при интерпретации файлов формата JEDEC в/из карты пере- мычек, в табл. 12.2 показаны соответствия символов файлов типа DOC и JEDEC, а также термины, которые используются в различных технических руководствах. На рис. 12.17 показаны первые две строки карты перемычек, наложенные на схему архитектуры ПЛУ GAL 16V8A для реализации данной схемы. Для удобства электри- ческие связи (х) с другими строками (на рисунке затемнены) не показаны. Биты вы- бора режима функционирования ПЛУ (SYN = 1, АСО = 0) даны для простого режи- ма, а бит АС1 = 0 задает комбинационную конфигурацию макроячейки 19, т.е. фак- тически определяет конфигурацию выхода. Таблица 12.2. Символика, используемая в картах перемычек л Логический уровень JEDEC DOC Состояние плавкой перемычки высокий 1 пережжена (разомкнута) низкий 0 х целая (закорочена) Применение программируемых логических устройств 887
Примечание. Затененные области означают целые перемычки Крестики не показаны для большей разборчивости. Рис. 12.17. Реализация схемы на основе ПЛУ Контрольные вопросы 11. Какие два типичных выходных файла создает логический компилятор? 2. В каком режиме функционирует ПЛУ GAL 16V8 (см. карту перемычек на рис. 12.16)?' 3. Какое значение должен иметь бит полярности для макроячейки 19 в схеме, изображенной на рис. 12.16? 12.5. Проблемы проектирования Возможно, у читателя возникает вопрос: “Зачем столь подробно запоминать все детали работы аппаратной части ПЛУ? Разве нельзя полностью довериться компиля- тору CUPL?”. Чтобы ответить на этот вопрос, давайте ознакомимся с некоторыми прикладными задачами, раскрывающими пределы возможностей ПЛУ. Разработчик, который проектирует схемы, должен самостоятельно решать, какие выводы следует использовать в качестве входов, а какие — в качестве выходов (т.е. программировать их). Если какой-то вывод должен служить выходом с обратной связью, но устройство программируется для работы в режиме, в котором обратная связь с данного вывода не предусмотрена, то программа выдаст сообщение об ошибке. Аналогично, если в логических уравнениях (или таблице истинности) фигурируют восемь членов урав- нения в дизъюнктивной форме, а в данном режиме устройство может обрабатывать только семь таких членов, то, опять же, будет получено сообщение об ошибке. 888 Глава 12
Пример 12.4 Реализуйте на основе ПЛУ GAL 16V8 схему мультиплексора (см. рис. 9.21). Решение Исходный файл показан на рис. 12.18. Обратите внимание на некоторые особенности этого файла. Во-первых, в том разделе, где задаются входы схемы, указано, что раз- решающий вход Е управляется низким уровнем напряжения. Это значит, что уст- ройство включается только тогда, когда на вход Е подается нулевой логический уро- вень. Поскольку этот мультиплексор должен иметь восемь входов данных плюс вход выбора (Select) и разрешающий вход (Enable), то ничего не’остается, кроме как ис- пользовать некоторые входы ввода-вывода микросхемы в качестве входов. Тогда ка- ким же образом следует выбирать эти выводы? Сначала используем выводы №12-14 в качестве входов выбора, как показано на рисунке. Однако после компиляции фай- ла будет выдано сообщение об ошибке: pin/node 12 invalid input (ошибка присваивания функции входа выводу/узлу 12) Name MUX.PLD ;Designer N.S.Widmer Partno 1234567 ;Company Purdue University; Data June 2 ;Assembly Tocci Text Revision 01 ; Location Chapter 9 Device gi6v8 ;Format j /‘Мультиплексор на рис. 9.2 Входы Чтобы эта схема работала: —• задайте режим SIMPLE (g16V8s); —• в режиме SIMPLE действует вывод 11 или 12; —• используйте выходы с обратной связью (вывод 17) Выхо 9 = !Е; 14 S2, 134= 12 = SO; pin [1 8] = [D7..0]; pin pin Pin Pin Z ; ZNOT; pin 15 pin 16 /* SET DEFINITIONS 7 field SELECT = [S2..0]; Г Уравнения 7 Z = ( SELECTO & DO # SELECT: 1 &D1 # SELECTS & D2 # SELECTS & D3 # SELECTS & D4 # SELECT:5 & D5 # SELECTS & D6 # SELECTS &D6) & E; Puc. 12,18. Исходный файл с ошибками Применение программируемых логических устройств 889
Теперь следует ответить на вопрос: а при каких условиях вывод №12 может служить входом? Из рис. 12.11 очевидно, что в сложном режиме работы ПЛУ сигнал с вывода 12 никак не может поступить в матрицу входных членов (т.е. данный вывод не мо- жет быть выбран в качестве входа схемы). Ясно, что CUPL пытался запрограммиро- вать GAL 16V8 для работы в сложном режиме. Чтобы решить эту проблему, исполь- зуем в качестве входа $0 вывод 11. После изменения исходного файла и его переком- пиляции, опять возникает сообщение об ошибке: Excessive product terms for Z (слишком много членов функции Z) Тщательное изучение работы данного ПЛУ в сложном режиме показывает, что в этом режиме может быть обработано всего семь членов дизъюнктивного выражения. Од- нако чтобы мультиплексировать сигналы с восьми входов, потребуется, соответст- венно, восемь членов функции, описывающей сигнал Z. Значит ли это, что придется вообще отказаться от использования ПЛУ GAL 16V8? Нет, отказываться совсем не- обязательно — запрограммируем ПЛУ в простом режиме работы, чтобы можно было работать со всеми восемью членами выражения для Z (см. рис. 12.9). В языке CUPL выбор конкретного режима реализован таким образом, что достаточно указать нуж- ное устройство в меню свойств компилятора (compiler options). Для того чтобы задать простой режим работы, необходимо выбрать устройство GAL и затем выделить пункт gl6V8S. Такое изменение свойств компилятора (меню Options, Compiler, Select Device) на устройство gl6V8S плюс редактирование в заголовке исходного файла строки Device, в которой определяется тип устройства, приведет после очередной компиляции... снова к сообщению об ошибке! pin/node 15 invalid input Z (ошибка присваивания функции входа выводу/узлу 15) Возвратимся к схеме устройства. В простом режиме выводы 15 и 16 могут служить только как выходы без обратной связи. Когда же мы указываем команду ZNOT (для вывода 15), схема “вынуждена” использовать обратную связь, чтобы подать сигнал Z обратно в матрицу входных членов. Данную проблему можно устранить, изменив номер вывода, на который подается функция Z, на 17. В результате компиляция файла прошла успешно. Тщательная проверка всех требований разработки, а также знание аппаратной части ПЛУ помогает избежать подобных ошибок. Данный пример очень хорошо показыва- ет, что случается, когда разработчик произвольно присваивает выводам устройства те или иные функцйи, не зная ограничений, накладываемых на работу схемы в кон- кретном режиме. Вот почему так важно понимать аппаратные свойства программи- руемых логических устройств — чтобы на основании выданного программой сообще- ния уметь сделать правильные выводы и устранить ошибку. Схема разрешения конфликтов В многочисленных предшествующих примерах на готовой ТТЛ-схеме (обычно ИС малой или средней степени интеграции) было показано, как данное устройство мо- жет быть реализовано на основе ПЛУ GAL 16V8. Однако главное преимущество про- граммируемых логических устройств заключается в том, что на их базе можно стро- ить схемы, которые не имеют альтернативы в обычной комбинационной логике или требуют громадного числа обычных микросхем. В следующем примере показана раз- работка комбинационной логической схемы, реализация которой на стандартных элементах ТТЛ потребовала бы слишком большого количества этих элементов. 890 Глава 12
Пример 12.5 Необходимо разработать цифровую систему (в общем случае ее можно назвать схемой разрешения конфликтов), указывающую на участника игровой викторины, который первым отвечает на поставленный вопрос. Данная система должна иметь кнопки с мгновенным контактом для каждого из шести участников, а также шесть светоизлу- чающих диодов (СИД), которые бы показывали, чья кнопка была нажата первой. Также необходимо обеспечить сброс системы, чтобы ведущий мог нажатием кнопки погасить все светодиоды. Решение Данная задача имеет свойства как комбинационной, так и последовательной логики. Рассмотрим условия, когда должен загореться светодиод заданного участника викто- рины. СИД с номером N должен быть включен, ЕСЛИ выполняется любое из сле- дующих условий: а) Участник под номером N нажимает кнопку И ни у одного другого участника кнопка еще не нажата И ведущий не пытается сбросить все результаты ИЛИ б) Светодиод участника под номером N уже горит И ведущий не пытается сбросить все результаты Первое условие указывает комбинацию входных сигналов, необходимую для загора- ния светоизлучающего диода. Второе условие как бы задает функцию защелки (т.е. предусматривает наличие последовательной логики), чтобы светодиод был включен и после того, как кнопка отпущена. Первым шагом в реализации такой схемы на основе ПЛУ будет определение всех входных и выходных сигналов и их активных логических уровней. Ключи Si~S6 управляются высокими уровнями напряжения. Вход сброса (RESET) также управля- ется высоким уровнем. А выходы, обозначенные как Li~L6, должны управляться низкими уровнями напряжения, чтобы светодиоды оставались включенными столько времени, сколько ток будет стекать с выхода на землю (см. главу 8). Используя при- нятые обозначения сигналов, запишем перечисленные выше условия в виде булевого уравнения, скажем, для входа Li'. LI = S1 • L2 • L3 • L4 • L5 • L6 • RESET + LI RESET. Условие 1 Условие 2 Исходный файл на CUPL приведен на рис. 12.19. Входы обозначаются с использовани- ем формата записи CUPL. В качестве входа с функциями ключа может быть выбран любой из входных выводов ПЛУ (1-9 или 11). Выводы схемы для снятия выходных сигналов следует выбирать таким образом, как это показано на рисунке, потому что программируемое логическое устройство будет работать в сложном режиме. В этом режиме выводы 12 и 19 не имеют обратной связи, поэтому их использовать нельзя. Обратите внимание, что для обозначения выхода, который управляется именно низ- ким уровнем напряжения, используется специальный оператор отрицания “!”, кото- рый записывается перед именем сигнала, поступающего на данный вывод. Этот сим- вол указывает компилятору, что в активном состоянии выход должен иметь нулевой логический уровень, даже если логические выражения записаны таким образом, что для его возбуждения логический уровень должен быть единичным. Язык CUPL ав- томатически инвертирует указанные выходные сигналы и сигналы обратной связи, если это указано в исходном файле. А теперь попытайтесь представить себе реализацию данной схемы на основе обычных элементов транзисторно-транзисторной логики — сколько для этого потребуется от- дельных микросхем! Мы же реализовали всю схему, используя только одно ПЛУ GAL 16V8. Применение программируемых логических устройств 891
Блик заголовка Это устройство является схемой разрешения конфликтов, используемой в игре Trivia Quiz Тип устройства GAL 16V8 Сложный режим /* Входы pin [2..7] = [S1..6]; pin 9 = RESET; /* Выходы pin [18..13] = 1[L1..6]; /* Это шесть ключей [S1-S6] для шести игроков. Они включаются по кратковременным нажатиям кнопок. */ /* Этот ключ используется ведущим чтобы гасить индикаторы. */ /* Эти выходы подключены к индикаторам, которые показывают, какой из игроков отвечает первым. */ IL2 & !L3 & IL4 & IL5 & IL6 IL3 & IL4 & IL5 & IL6 IL4 & IL5 & !L6 IL5 & IL6 !L6 /* Уравнения */ ^****************************************************************^ LI = IRESET & SI L2 = IRESET & S2 & !L1 & L3 = IRESET & S3 &IL1 & IL2 & L4 = IRESET & S4 &IL1 & IL2 & IL3 & L5 = IRESET & S5 &!L1 & IL2 & IL3 & !L4 & L6 = IRESET & S6 &IL1 & !L2 & !L3 & IL4 & IL5 # # # # # # IRESET &16; IRESET &16; IRESET &16; IRESET &16; ’RESET &16; IRESET &16; Puc. 12.19. Исходный файл схемы разрешения конфликтов Дешифрация состояний счетчика В цифровых системах часто требуется, чтобы какой-то счетчик изменял свои со- стояния в виде счетной последовательности; при этом необходимо использовать соот- ветствующую комбинационную логику, которая бы могла дешифрировать состояния на выходе счетчика. В программируемых логических устройствах это предполагает, что одни выходы должны работать как синхронные D-триггеры (т.е. буферизованные выходы), а другие должны управляться выражениями комбинационной логики, за- писанными в дизъюнктивной форме. Цель данного раздела — представить практиче- ский пример такрй системы и расширить применение режима ввода данных в виде последовательных переходов состояний, по ходу дела добавляя новые методы рабо- ты, связанные с языком CUPL. В разделе 7.14 указывалось, как можно спроектировать простой синхронный счетчик, который мог бы управлять шаговым двигателем. Последовательность со- стояний выходного сигнала, которая использовалась в этом примере, называется по следовательностью с полным шагом. Как известно, простейший синхронный счет- чик включает в себя два триггера, сигналы с выходов Q и Q которых управляют че- тырьмя обмотками мотора. Последовательность с полным шагом предусматривает, что в любой момент времени будут возбуждены только две обмотки двигателя; при этом за каждый шаг вал поворачивается обычно на 15°. Существует, однако, и не- сколько других последовательностей состояний обмоток, которые также могут вра- щать ротор мотора. Если внимательно посмотреть на уже известную последователь- ность с полным шагом, то можно заметить, что каждый переход из одного состояния в другое — это выключение одной обмотки и одновременное включение другой. По- следовательность с половинным шагом имеет место тогда, когда между состояниями с полным шагом двигателя вставляют состояния, во время которых возбуждена только одна обмотка, как показано в табл. 12.3. Другими словами, когда одна из об- моток выключается, то другая включается не сразу. Такое промежуточное состояние позволяет поворачивать вал двигателя на половину полного шага (т.е. на 7,5°). По- 892 Глава 12
следовательность с половинным шагом применяется в тех случаях, когда требуется получить шаг меньшей величины. Кроме того, оказывается, что если подать только последовательность промежуточных состояний (когда каждый момент времени воз- буждена только одна обмотка), то ротор двигателя будет вращаться практически так же, как и при последовательности с полным шагом. Такая последовательность назы- вается волнообразной управляющей последовательностью; она придает валу мень- ший момент вращения, но зато при умеренных скоростях вращения двигатель рабо- тает более гладко, чем при последовательности с полным шагом. Таблица 12.3; .Последовательности состояний обмоток, управляющие 'Ш.говым двигателем Последовательность с полным шагом Последовательность с половинным шагом Волнообразная последовательность 1010 1010 1000 1000 1001 1001 0001 0001 0101 0101 0100 0100 0110 0110 0010 0010 Пример 12.6 Управлять шаговым двигателем можно и с помощью микроконтроллера, но для этого было бы весьма полезно иметь универсальную интегральную схему интерфейса. Ис- пользуя такую ИС, управлять мотором становится очень легко и удобно. На рис. 12.20 изображена система, соответствующая выдвинутым требованиям. Ин- терфейс должен работать в одном из четырех режимов. Тип режима выбирается с помощью логических уровней, которые подаются на выводы Мх и Мо микросхемы. В трех первых режимах счетчик, встроенный в схему интерфейса, изменяет свои со- стояния согласно заданной шаговой последовательности, причем ротор при этом мо- жет вращаться либо по часовой, либо против часовой стрелки в зависимости от уров- ня сигнала, поданного на соответствующий вход направления вращения ротора дви- гателя (на рисунке обозначен как direction). Счетчик срабатывает по переднему фронту каждого импульса шагового сигнала (сигнал step), который служит сигиалбм синхронизации. В разных режимах на выводах Свых появляются следующие комби- нации битов: Mr м0 Название режима Режим 0 0 0 Счетная последовательность с полным шагом Режим 1 0 1 Волнообразная счетная последовательность Режим 2 1 0 Счетная последовательность с половинным шагом Режим 3 1 1 Прямое управление со входов микроконтроллера Наличие последнего режима (режима прямого управления) позволяет сигналам с вы- хода микроконтроллера непосредственно управлять шаговым двигателем таким обра- зом, как будто между ними вообще нет схемы интерфейса. Биты Свх при этом подаются прямо на линии Свых, а входы направления вращения (direction) вообще не используют- ся. Разработайте предложенную схему интерфейса на основе программируемого логи- ческого устройства. Применение программируемых логических устройств «93
Входы контроллера последовательности Шаг 1 Интерфейс GAL16V8 Оо 1 8 Направление 2 ►с ч е т ч и к Qi 1 Q2 16 Выходы счетчика с клер = 8 (внешних соединений нет) Микро- контроллер М1 о о Свх2 4 Входы прямого управления СвхЗ 3 Свх1 5 СвхО 6 +5 В 8 Входы управления Д е ш и ф р а МО СвыхЗ Свых2 Свых1 СвыхО +v Шаговый двигатель Формирователи тока (для номинального тока в обмотках) 7 5 4 3 2 Рис. 12.20. Универсальная интегральная схема интерфейса для работы с шаговым двигателем Решение* Ядром всей универсальной схемы интерфейса с шаговым двигателем будет самый обычный счетчик с Кпер = 8. Это трехбитовый реверсивный двоичный счетчик, кото- рый управляется двумя сигналами: сигналом синхронизации (в данном случае сиг- нал step) и сигналом направления вращения ротора (сигнал direction). Состояние счетчика будет дешифрироваться с помощью комбинационной логической схемы, ко- торая также будет управлять состояниями на входах выбора режима, т.е. опреде- лять, какое цифровое значение следует подать на выводы Свых для управления об- мотками двигателя. В табл. 12.4 показано, как функционирует такая комбинация счетчика/дешифратора. Таблица 12.4. Таблица состояний универсального шагового двигателя Двоичный счетчик Режим 0 Последовательность с полным шагом Выход С Режим 1 Волнообразная последовательность Выход С Режим 2 Последовательность с половинным шагом Выход С Режим 3 Прямое управление Выход С ООО 1010 1000 1010 Сах 001 1001 0001 1000 С« 010 0101 0100 1001 С« 011 0110 0010 0001 Сах 100 1010 1000 0101 Сах 101 1001 0001 0100 Сах 110 0101 0100 0110 Сах 111 0110 0010 0010 Сах * Адаптация схемы к ПМЛ выполнена Т.В. Шульцом. — Прим. авт. 894 Глава 12
В файлах, написанных на языке CUPL, которые показаны на рис. 12.21 и 12.22, используются многие моменты, которые уже были описаны в примерах из предыду- щих глав. В разработке уровня, рассматриваемого в данный момент, приходится иметь дело с многочисленными полями, которые необходимо каким-то образом опи- сать. Оператор Sdefine облегчает написание (и понимание) исходного файла. Линии, которые начинаются с данного оператора, размещаются в части файла, которая обо- значена как “definitions” (описание функций и переменных). Комментарии в файле не обязательны, но они часто помогают другим пользователям понять смысл исход- ного кода. Уделите немного времени на прочтение файла, приведенного на рис. 12.21, и попробуйте самостоятельно понять описания входных, выходных сиг- налов и переменных. Name stepper, pld ; Designer T. В. Щульц и H. С. Видмер » Partno 1234567 ; Company Университет Пердью » Date 2 июня ; Assembly Текст » Revision 01 ; Location Глава 12 ♦ Device gl6v8 ; Format j /* /* Схема управления шаговым двигателем */ Входы */ Pin 1 = step; /* вход сигнала синхронизации */ Pin 2 = dir; /* вход сигнала, задающего направление вращения: Pin [3..6] = [Cin3..O]; cw /* = 1, ccw = 0 входы прямого управления */ Pin [7,8] = [Ml, MO]; /* входы выбора режима управления */ Pin 9 = Enable; /* включение тристабильных выходов */ /* Выходы Pin [16..18] = [Q2..0] /* */ выходы реверсивного трехбитового счетчика */ Pin [12.. 15] = [CoutO..3] /* выходы обмотки двигателя */ /* Набор определений */ field count = [Q2..0] /* эти выходы не задействованы */ field Cin = [Cin3..O] /* входы прямого управления обмоткой */ field M = [Ml,MO] /* выбор режима */ field coil = [CoutO..3] /* выходы управления обмоткой */ Sdefine SO ‘b’000 /* определение состояний счетчика с КПсР = 8 */ $define SO ‘b’000 Sdefine SI ’b’001 Sdefine S2 ‘b’010 Sdefine S3 ‘b’011 Sdefine S4 ‘b’100 Sdefine S5 ‘b’101 Sdefine S6 ‘b’110 Sdefine S7 ‘b’lll Продолжение файла см. на рис. 12.22 Puc. 12.21. Назначение и описание функций и переменных в исходном файле для схемы с шаговым двигателем В первой части файла описания аппаратной части (см. рис. 12.22) используется ключевое слово sequence (последовательность), с помощью которого в режиме вво- да методом переходов состояний задается счетчик. В этом примере представлена еще одна особенность режима ввода данных. Ключевое слово if (если) используется для проверки состояния входа направления вращения и, соответственно, выбора направ- ления счета счетчика. Данное слово является очень полезным синтаксическим сред- ством при разработке автоматических переходов состояний, которые управляются внешними входными сигналами. Применение программируемых логических устройств 895
/* Продолжение файла на рис. 12.21 */ /* Описание аппаратной части */ sequence count present SO /* в этом разделе создается реверсивный счетчик с if dir next Si; Кпер = 8 */ if Idir next S7; present S1 if dir next S2; if Idir next SO; present S2 if dir next S3; if !dir next Si; present S3 if dir next S4; if Idir next S2; present S4 if dir next S5; if Idir next S3; present S5 if dir next S6; if Idir next S4; present S6 if dir next S7; if Idir next S5; present S7 if dir next SO; if Idir next S6; } /* Это раздел декодирования текущего состояния и режима счетчика, и присвоения выходам обмотки соответствующих значений */ coil = M:3 & Cin /* прямое управление */ # M:2 & ( ‘b’1010 & count:SO # ‘b’1000 & count:Sl r # ‘b’1001 & count:S2 # ‘b’0001 & count:S3 # ‘b’0101 & count:S4 # ‘b’0100 & count:S5 # ‘b’0110 & count:S6 # ‘b’0010 & count:S7 /* половинный шаг */ # M:1 & ( ‘b’1000 & count:SO # ‘b’0001 & count:Sl # ‘b’0100 & count:S2 # ‘b’0010 & count:S3 # ‘b’1000 & count:S4 # ‘b’0001 & count:S5 # ‘b’0100 & count:S6 i # ‘b’0010 & count:S7 /* волнообразная последовательность */ # M:0 & ( ‘b’1010 & count:SO # ‘b’1001 & count:Sl # ‘b’0101 & count:S2 # ‘b’0110 & count:S3 # ‘b’1010 & count:S4 # ‘b’1001 & count:S5 # ‘b’0101 & count:S6 # ‘b’0110 & count:S7 /* Полный шаг */ COIL.OE = Enable /* Подача тока на обмотку */ Рис. 12.22. Часть исходного файла с описанием аппаратных средств схемы с шаговым двига- телем В последней части исходного файла была задана схема комбинационного дешиф- ратора, который управляет обмотками двигателя (посредством сигналов Свых3-Свыхо). Значение двухбитовой переменной М данного поля должно составлять 0, 1, 2 либо 3. Оператор равенства показывает, что выражение М:3 будет истинным только тогда, когда на входах М = 11 (в двоичном коде). С помощью оператора равенства, кото- рый должен соответствовать ИСТИНЕ, можно определить, какой из этих четырех членов произведений данного выражения управляет обмотками. Выражение в дизъ- юнктивной форме, указанное в круглых скобках, задает дешифрирующую логику, 896 Глава 12
необходимую для преобразования состояния двоичного счетчика (битов Sq-S?) в сиг- нал, управляющий шаговым двигателем. Схемы управления шаговым двигателем часто имеют средства для отключения всех обмоток, чтобы уменьшить потребление энергии, когда мотор не двигается и не должен поддерживать вращение нагрузки. В данном примере для этой цели исполь- зуется свойство ПЛУ GAL 16V8 работать с тристабильными выходами. В последнем выражении используется расширение (.ОЕ), чтобы задать уравнение, которое бы контролировало включение тристабильного выхода на выводах (Свых3-Свыхо) макро- ячейки выходной логики. Запись COIL.OE = ENABLE; обозначает, что “сигнал ОЕ, который разрешает работу тристабильного буфера для каждого бита поля COIL, управляется сигналом со входа ENABLE (вывод 9)”. Расширения, используемые для любого заданного ПЛУ, зависят от свойств внутрен- ней архитектуры программируемого логического устройства. Список всех расшире- ний, с которыми может работать CUPL, приводится в руководстве по этому языку. Контрольные вопросы 1. Почему переменная Z не может быть присвоена выводу 15 мультиплексора, | описанного в файле на рис. 12.18? 2. Почему для описания указанного выше мультиплексора обязательно должен быть задан простой режим? 3. Какая часть логического уравнения для сигнала L1 (см. пример для схемы раз- решения конфликтов) отвечает за то, чтобы соответствующий светодиод про- должал гореть даже тогда, когда кнопка S1 будет отпущена? . 4. Почему ПЛУ GAL 16V8 не может использоваться при реализации схемы раз-, решения конфликтов для восьми участников викторины? 12.6. ПЛУ GAL22V10 На примере микросхемы ПЛУ GAL 16V8 очень удобно изучать принципы работы программируемых логических устройств, однако что же делать, если возникает необ- ходимость снимать сигналы с более чем восьми выводов? Замечательно, что в семей- стве типовой матричной логики (GAL) есть и другие устройства, из которых можно выбрать наиболее оптимально соответствующие требованиям разработчика. Очень популярно универсальное ПЛУ GAL 22V10. Из номера этого устройства можно за- ключить, что оно имеет не 8, как у GAL 16V8, а 10 выходов; при этом каждый ука- занный вывод данной микросхемы может использоваться и как вход. Двенадцать других выводов могут быть использованы как некоммутируемые входы. Функцио- нальная схема устройства показана на рис. 12.23. На первый взгляд архитектура ПЛУ GAL 22V10 весьма похожа на архитектуру GAL 16V8. Сигналы из матрицы входных членов поступают на 12 входных выводов в прямой и инверсной форме, от- куда они идут на столбцы матрицы. Строки представляют множество входов элемен- тов И, с выходов которых^ снимаются члены-произведения выходного выражения. Группы этих членов логически суммируются с помощью элемента ИЛИ, сигнал с ко- торого поступает на соответствующую макроячейку выходной логики. В отличие от ПЛУ GAL 16V8, элементы ИЛИ устройства GAL 22V10 суммируют разные количест- ва входных членов: от 8 до 16. Чтобы воспользоваться всеми преимуществами обра- ботки дополнительных членов логического выражения, необходимо еще присвоить функции, описывающие эти выражения, правильным выводам. Применение программируемых логических устройств 897
GAL22V10 Logic Diagram I JEDEC Fuse Map s 5B28 5829 ... EtecifomcSignature $890 5391 Puc. 12.23. Функциональная схема ПЛУ GAL 22V10. (Представлено с разрешения компании Lattice Semiconductor) Из рис. 12.24 видно, что макроячейка выходной логики ПЛУ GAL 22V10 проще, чем у GAL 16V8 — сравните ее структуру с макроячейкой, изображенной на рис. 12.5. Ячейка ПЛУ GAL 22V10 не имеет тристабильного мультиплексора, так как теперь включением выходных буферов управляет один из членов логического выражения. Обратная связь также реализована проще, потому что на этот раз выбор состоит только из вывода (который служит как для подачи входных сигналов, так и 898 Глава 12
для обратной связи) и выхода триггера при буферизованной обратной связи незави- симо от состояния тристабильного буфера. Сам же D-триггер имеет два новых входа: АВ (Asynchronous Reset — асинхронный сброс) и SP (Synchronous Preset — синхрон- ная предустановка). Важно понимать, что все 10 триггеров, имеющие свои собствен- ные входы SP, связаны вместе. На каждую из этих линий управления поступает свой член логического выражения. Когда активизируется сигнал AR, все триггеры мгновенно сбрасываются независимо от состояний на их D-входах и входах синхро- низации. Если же в момент, когда сигнал на входе синхронизации (вывод 1) перехо- дит от низкого уровня напряжения к высокому, активным будет сигнал SP (т.е. в момент нарастания фронта синхроимпульса), то все триггеры будут установлены в единичные состояния, также независимо от логических уровней на их D-входах. Чтобы задать уравнение для асинхронного сброса на выходе схемы, необходимо ис- пользовать расширение, которое указывается вместе с номером вывода: Номервывода.АВ. = член логического выражения Для таких сигналов управления, как АВ и SP, которые являются общими для всех триггеров, одно выражение по существу поступает на все буферизованные вы- ходные выводы схемы. Компилятор CUPL автоматически проверяет логические уровни на всех буферизованных выходах, чтобы убедиться, что выражения, описы- вающие сигналы АВ и SP, действительно согласуются. Если же они по какой-то при- чине не совпадают, то компилятор выдает сообщение об ошибке. Если не был задан ни один из этих сигналов, компилятор сообщит об этом оператору, который писал исходный файл, и самостоятельно присвоит им низкие логические уровни. Рис. 12.24. Макроячейка выходной логики ПЛУ GAL 22V10. (Представлено с разрешения компании Lattice Semiconductor) Контрольные вопросы 1. Какому выводу ПЛУ GAL 22V10 (исполненного в корпусе с двухрядным распо- ложением выводов) следует присвоить выходную переменную, чтобы реализо- вать булево выражение, в котором логически суммируются (операция ИЛИ) 15 членов-произведений? 2. Можно ли записать различные логические выражения для сигналов, управ- ляющих тристабильными выходами каждой макроячейки? 3. Что обозначают расширения “.AR” и “.SP”? 4. Можно ли записать различные логические выражения для сигналов АВ, управ- ляющих разными макроячейками? Применение программируемых логических устройств 899
12.7. Клавишное кодирующее устройство Чтобы подытожить сведения по преобразованию и дешифрации сигналов (см. гла- ву 9). рассмотрим весьма полезную цифровую схему, которая конвертирует шестна- дцатеричный код (т.е. код, поступающий от клавиатуры с 16 кнопками) в 4-битовый двоичный код. Такие шифраторы обычно имеют выходной сигнал в виде строба, ко- торый появляется в момент, когда оператор нажимает и отпускает кнопку. Посколь- ку клавиатуры часто сопрягаются с шиной микрокомпьютера, то закодированные со- ответствующим образом выходные сигналы должны поступать на управляемые три- стабильные выходы. Структурная схема клавишного кодирующего устройства изображена на рис. 12.25. D3 D2 Di Do DAV Рис. 12.25. Структурная схема клавишного кодирующего устройства 900 Глава 12
Приоритетный шифратор, работа которого была подробно описана в главе 9 (см. рис. 9.15), является эффективным средством для обеспечения нормального функцио- нирования небольших клавиатур. Однако если мы имеем дело со множеством разных кнопок (например, клавиатура персонального компьютера), то необходимо применять другие методы. В такой клавиатуре каждая кнопка уже не может представлять собой независимый ключ, замкнутый на источник питания VCc или землю. Вместо этого контакты кнопок подключаются к строкам и столбцам специальной матрицы. Когда не нажата ни одна клавиша, то между строками и столбцами нет электрических свя- зей. Для того чтобы узнать, какая кнопка была нажата, строки матрицы поочередно возбуждаются каждый момент времени (т.е. принудительно переводятся в состояние с низким уровнем напряжения). При этом одновременно проверяется, не переходят ли какие-либо столбцы в такое же состояние. Если обнаружено, что потенциал одно- го из столбцов имеет низкий логический уровень, то это значит, что была нажата кнопка, которая находится на пересечении возбужденной строки и этого столбца. Если же ни на одном из столбцов потенциал не стал нулевым, значит в текущей строке не была нажата ни одна клавиша, и можно проверять другую строку, перево- дя ее потенциал в низкий уровень. При последовательной активизации всех строк матрицы происходит сканирование клавиатуры. Преимущество данного метода опре- деления нажатых кнопок состоит в уменьшении электрических связей в устройстве клавиатуры. В частности, 16 кнопок могут обрабатываться с помощью всего лишь восьми входных/выходных линий. Каждой клавише соответствует своя уникальная комбинация номеров строки и столбца, пронумерованных определенным образом. Благодаря этому можно сочетать двоичные номера строк и столбцов и получать двоичные значения, соответствующие каждой из шестнадцати кнопок, как показано на рис. 12.26. Из рисунка видно, как строка 1 (012) переводится в состояние с низким уровнем напряжения, а с шифрато- ра столбца снимается кодовая комбинация 102; таким образом очевидно, что нажатая кнопка находится на пересечении строки 1 и столбца 2. Элемент И-НЕ, представлен- ный на рис. 12.25, используется для определения столбца в состоянии с низким уровнем, что указывает на нажатие кнопки в активной в этот момент строке. Сигнал с выхода данного элемента был назван FREEZE (от англ, freeze — замораживать), потому что если нажата кнопка, то необходимо на время “заморозить” кольцевой счетчик и приостановить сканирование, пока клавиша не будет отжата. Сигналы на Рис. 1226. Функционирование клавишного кодирующего устройства при нажатии клавиши “6” Применение программируемых логических устройств 901
выходах данных будут находиться в переходных состояниях, пока не пройдет время задержки распространения сигнала шифраторов и не включатся тристабильные бу- феры. По поступлению нарастающего фронта следующего импульса сигнала синхро- низации D-триггер передаст высокий уровень напряжения сигнала FREEZE на выход DAV — это свидетельствует о том, что была нажата одна из кнопок, и с клавиатуры можно снимать данные. Для формирования последовательности сканирования всех четырех строк матри- цы используется счетчик на основе регистра сдвига (кольцевой счетчик), который подробно рассматривался в главе 7. Счетная последовательность состоит из четырех различных состояний, каждое из которых отличается от предыдущего одним битом, переводимым в низкий логический уровень. После того, как счетчик обнаружил, что клавиша нажата, он должен на время сохранить свое текущее состояние (“заморозиться”), пока кнопка не будет отпущена. На рис. 12.27 показана диаграмма переходов состояний счетчика. Каждое состояние должно быть обработано таким об- разом, чтобы шифратор сформировал двухбитовьпх код, соответствующий номеру строки; номер столбца также преобразуется в двухбитовыхх двоичный код. Такая сис- тема требует наличия следующих входных и выходных сигналов: 4 Выходные сигналы управления сканированием строк R0-R3 4 Входные сигналы чтения потенциалов столбцов Со-С3 4 Выходные сигналы данных D0-D3 1 Выходной строб стабилизации данных DAV 1 Входной сигнал включения тристабильных буферов ОЕ 1 Входной сигнал синхронизации CLK FREEZE =1 Рис. 12.27. Диаграмма переходов состояний кольцевого счетчика, управ- ляющего сканированием строк матрицы клавиатуры Пример 12.7 Напишите на CUPL исходный файл для описанного выше клавишного кодирующего устройства. Решение Итак, всего в данной системе имеется девять выходных сигналов, поэтому использовать ПЛУ GAL 16V8 нельзя. Однако можно взять два таких устройства или найти ПЛУ с большим количеством выходов. Например, довольно распространенный чип GAL 22V10 имеет 10 выводов, которые можно использовать в качестве выходных. На рис. 12.25 показана разводка схемы и внутренние функциональные блоки системы. Исходный 902 Глава 12
файл, написанный на языке CUPL специально для ПЛУ GAL 22V10, приведен на рис. 12.28. Каждому выводу присваивается функция входа либо выхода, в соответст- вии со структурой схемы. С помощью оператора поля (field) идентифицируются группы индексированных переменных. В данном случае четыре выходных сигнала, ко- торые управляют строками матрицы клавиатуры, причислены к группе rowscan, а че- тыре входных сигнала, поступающих от столбцов матрицы — к группе columread. Name kpd2.pld ; Designer H. С. Видмер ; Partno 1234567 ; Company Университет Пердью ; Date 2 июня ; Assembly Текст ; Revision 01 ; Location Глава 12 ; Device g22vl0 ; Format j ; /* Сканирование клавишного кодирующего устройства */ /* Входы */ Pin 1 = CLK; /* тактовый сигнал сканирования */ Pin [2..5] = [C3..0]; /* биты 4-х столбцов */ Pin 9 = DataEn; /* включение тристабильного выхода */ /* Входы */ Pin 15 = FREEZE; /* клавиши нажаты, счетчик “заморожен” */ Pin 14 - DAV; /* получение данных */ Pin [19..16] = [D3..0]; /* кодированные биты двоичных данных */ Pin [23..20] = [R3..0]; /* выходы управления строки */ /* Набор определений */ field ColumRead = [C3-. 0]; /* входные биты 4-х столбцов */ field RowScan - [R3..0] ; /* выходы управления 4-х строк */ field Data = [D3..0]; /* 4 выхода кодированных данных */ Sdefine SO 0 Sdefine SI 1 Sdefine S2 2 Sdefine S3 3 Sdefine S4 4 Sdefine S5 5 Sdefine S6 6 Sdefine S7 7 Sdefine S8 8 Sdefine S9 9 Sdefine S10 10 Sdefine Sil 11 Sdefine S12 12 Sdefine S13 13 Sdefine S14 14 Sdefine S15 15 Рис. 12.28. Описание переменных и функций выводов клавишного кодирующего уст- ройства Оператор SEQUENCE, который появляется в тексте файла, приведенного на рис. 12.29, служит для описания кольцевого счетчика, начинающего отсчет автоматически (см. пояснения к рис. 12.27). Каждое состояние последовательности длится столько вре- мени, сколько сигнал FREEZE остается в состоянии с высоким уровнем напряжения; как только FREEZE переходит в состояние с низким уровнем, состояние последова- тельности сменяется следующим. Таким образом, сканирование матрицы клавиатуры осуществляется в те моменты, когда ни одна клавиша не нажата; в те же моменты, ко- гда клавиши нажаты, сканирование приостанавливается. В исходном файле встречает- ся оператор if, служащий для проверки условия FREEZE — 0, при выполнении кото- рого происходит смена состояния. Оператор умолчания default используется для при- сваивания состояния NEXT всем оставшимся комбинациям переменных. В данном примере единственной такой комбинацией является условие FREEZE « 1, при выпол- нении которого следующее состояние должно быть точно таким же, как и текущее. Применение программируемых логических устройств 903
/* Списание аппаратной части */ sequence RowScan /* включение кольцевого счетчика */ { present SO next S7; /* все неиспользуемые состояния => 0111 *, present SI next S7; present S2 next S7; present S3 next S7; present S4 next S7; present S5 next S7; present S6 next S7; present S8 next S7; present S9 next S7; present S10 next S7; present S12 next S7; present S15 next S7; present S7 if IFREEZE next Sil; /* сканирование при FREEZE = 0 */ default next S7; present Sil if IFREEZE next S13; /* “замораживание” при FREEZE = 1 */ default next Sil; present S13 if IFREEZE next S14; default next S13; present S14 if IFREEZE next S7; default next S14; } table RowScan => Data /* кодируются D3, D2 */ { /* 7 * f ‘b’0111 r => ‘b’1100; л /* 11 */ ‘b’1011 => ‘b’1000; /* 13 */ ‘b’1101 => ‘b’0100; /* 14 */ ‘b’1110 => ‘b’0000; } table ColumRead => Data /* кодируются DI, DO */ { ‘d’[7,6,5,4,3,2,l,0] => ‘b’ll; /* состояния при СЗ = 0 */ ‘d’[ll,10,9,8] => ‘b’10; /* состояния при С2 = 0 */ *d’[13,12] => ‘b’01; /* состояния при С1 = 0 */ ‘d’[14,15] => ‘Ь’ОО; /* нет клавиш или СО = 0 */ } r FREEZE = IC3 # IC2 # IC3 # ICO; /* обнаружение нажатия клавиши */ DAV.D = FREEZE; /* установка выхода DAV после получения данных */ RowScan.OE = IRowscan; /* переход в высокоимпедансное состояние всех строк, кроме активной */ Data.OE = FREEZE & DataEn; /* управление выходами данных */ RowScan.sp = ‘Ь’О; /* вход синхронной предустановки не используется */ DAV.sp = ‘Ь’О; RowScan.аг = ‘Ь’О; /* вход асинхронного сброса не используется */ DAV.ar = ‘b’O; Puc. 12.29. Описание аппаратной части клавишного кодирующего устройства Для того чтобы создать шифратор строк, используем режим ввода в формате таблиц истинности. Функция данного шифратора состоит в том, чтобы распознать строку, потенциал которой в данный момент времени равен нулю, и сформировать соответст- вующую номеру строки двухбитовую величину. Обратите внимание, что в левой сто- роне таблицы истинности перечислены только четыре значения (четыре состояния кольцевого счетчика). Компилятор CUPL обрабатывает все те комбинации входных сигналов, которые не были приведены, как “безразличные” состояния. В данном случае действительно неважно, как обрабатываются остальные состояния, потому что они не могут появиться после первого импульса синхронизации. В правой стороне таблицы истинности приведены постоянные значения каждого бита при указанных 904 Глава 12
условиях. Данный пример хорошо объясняет, каким образом CUPL обрабатывает ин- дексированные переменные при формировании логических уравнений. Если индек- сированные переменные определены как набор (SET), то каждой битовой переменной присваивается своя позиция, как будто все переменные составляют n-битовое двоич- ное число. Обратите внимание, что в позиции оператора поля для переменной data сначала перечисляются младшие значащие биты (D0...D3). Поскольку эти биты про- индексированы, то CUPL автоматически делает вывод, что младшим битом является Dq. Позиция бита играет важнейшую роль, когда в выражении переменные с индек- сами или имена их полей привязываются к постоянной величине (константе). Тре- буемые значения размещаются в позициях 2 и 3 таблицы группы RowScan, потому что мы пытаемся преобразовать выходные биты D2 и D3. Последняя таблица истинности связывает состояния входных сигналов, которые служат для чтения потенциалов столбцов, с двумя младшими битами данных. В рас- сматриваемый пример включены все 16 возможных состояний этих входных сигна- лов, и все они присвоены одному из номеров строки. Числа сгруппированы таким образом, чтобы шифратор был приоритетным. Иначе говоря, если низкий уровень напряжения имеют несколько столбцов (т.е. нажаты сразу несколько кнопок), то шифратор покажет нажатие кнопки со старшим номером строки. Синтаксис CUPL разрешает размещать список состояний входных сигналов в квадратных скобках (как показано на рисунке), чтобы таблицу истинности было удобнее читать и запи- сывать. К примеру, первая строка означает, что все состояния со значениями 0-7 должны привести к появлению на выходе кодовой комбинации 112. Наконец, в нескольких оставшихся строках файла задаются переменная FREEZE, логика управления тристабильными выходами и сигнал на выходе DAV. Логическое уравнение для сигнала FREEZE — довольно простое, подобное описанным в главе 4. Обратите внимание на запись Data. ОЕ — таким способом программист может управ- лять разрешающим сигналом, который контролирует работу тристабильных выходов при любом бите выходного сигнала. В данном примере биты Dq...D3 появятся на вы- ходе схемы в том случае, если переменная DataEn (которая присвоена выводу №9) будет возбуждена (т.е. на выводе будет наблюдаться высокий уровень напряжения), пока нажата какая-нибудь кнопка (сигнал FREEZE является активным). Если же переменной DataEn будет присвоен низкий уровень сигнала, то выходы схемы будут находиться в высокоимпедансных состояниях. Контрольные вопросы 1. Сколько строк матрицы клавиатуры могут быть одновременно активизированы i при сканировании клавиатуры? I 2. Сигнал от какой клавиши будет обработан, если одновременно нажаты сразу | две кнопки одного столбца клавиатуры? 3. Сигнал от какой клавиши будет обработан, если одновременно нажаты сразу две кнопки одной строки клавиатуры? 4. Для чего нужен D-триггер возле вывода DAV? 1 5. Всегда ли будет одинаковым промежуток времени между нажатием кнопки и j переходом сигнала DAV в состояние с высоким уровнем напряжения? | 6. При каких условиях выводы данных будут находиться в высокоимпедансных состояниях? Применение программируемых логических устройств 905
12.8. Разработка более совершенных ПЛУ В текущей главе были даны подробные описания двух наиболее популярных и самых простых программируемых логических устройств, имеющихся на современ- ном рынке электроники уже в течение более чем десяти лет. Также были раскрыты возможности CUPL по реализации многочисленных цифровых систем, описанных по ходу текста данной книги. Лучший способ усовершенствовать ваши навыки в работе с ПЛУ и языком CUPL заключается, несомненно, в построении собственных схем на основе программируемых устройств. Для программирования простых ПЛУ, выпус- каемых крупными производителями (например, компанией Lattice), можно исполь- зовать программное обеспечение PAL Expert Evaluation от компании Logical Devices. Многие ПЛУ доступны в формате так называемого системного программирования {In-System Programmable — ISP). GAL 22V10 представляет собой простейшее устрой- ство данного типа. Преимущество устройств формата ISP проявляется в том, что для их программирования не требуется программатор, без которого нельзя было обойтись в главе 4. Такие устройства программируются с помощью кабеля, который присое- диняется непосредственно к компьютеру через специальный набор выводов на плате формата ISP. Единственный недостаток таких устройств состоит в том, что они дос- тупны только на базе корпусов с безвыводным пластикрвым кристаллодержателем (PLCC) — корпус PLCC устанавливается на специальную плату-переходник, которая позволяет устройствам формата ISP работать с обычными лабораторными макетами. Доступны и так называемые макетные платы, на которых сразу размещены ISP ПЛУ, разъемы интерфейса и расширения, а также набор устройств ввода-вывода: разнообразные.СИД, переключатели, индикаторы и т.п. Таким образом, открывается широкая перспектива по перепрограммированию устройства уже после его инсталля- ции в системе. Данный подход — принципиально новый качественный скачок в раз- витии цифровых систем, так как он возник только благодаря изобретению электрон- ных аппаратных средств с перестраиваемой структурой. Модернизация такой систе- мы может выполняться прямо через модемное соединение с помощью специального ПО фирмы-производителя, причем плату даже не нужно вынимать из корпуса. Думается, теперь вы полностью оценили все преимущества устройств типовой матричной логики (GAL) по сравнению с ИС малой и средней степени интеграции (МСИ и ССИ), однако не следует забывать, что описанные ПЛУ представляют собой лишь самые простые программируемые логические устройства. Современные техно- логии предлагают опытным разработчикам широкий выбор средств для решения лю- бых задач. На одном краю фронта находятся изготовленные по индивидуальному за- казу интегральные схемы с максимальной гибкостью и соответствующей ценой. По другую сторону — системы, собранные из отдельных ИС разных уровней интегра- ции, которые появились еще двадцать лет назад. А между этими полярными проти- воположностями лежит широкий спектр программируемых логических устройств, которые способны удовлетворить большинство поставленных сегодня задач. Сложными ПЛУ называются устройства, которые объединяют на одной плате це- лый ряд устройств ПМЛ. Логические блоки представляют собой программируемые элементы И, а также фиксированные элементы ИЛИ; при этом блоки могут работать с меньшим количеством членов выражений, чем устройства ПМЛ. Если же вдруг возникнет необходимость в нескольких новых переменных, то это можно легко сде- лать, добавив массив расширения на элементах И-НЕ, который подключается как еще один дополнительный член выражения. Чтобы реализовать то же самое выраже- ние, можно объединить несколько отдельных логических блоков. Сложные ПЛУ также имеют в своем составе программируемые макроячейки. Триггер, который ис- пользуется в макроячейках для выполнения функций регистра, может служить как D-, JK-, Т- или SR-триггер. 906 Глава 12
Программируемые пользователем вентильные матрицы (Field Programmable Gate Array — FPGA) представляют собой логические блоки, которые содержат неза- висимые программируемые комбинационные логические и буферизованные схемы. Сюда также входит набор блоков ввода-вывода, которые могут служить как входные, выходные или двунаправленные элементы. Все выходы являются тристабильными, а регистры могут использоваться как защелки для фиксации входящих или выходя- щих данных. На рис. 12.30 показана общая схема архитектуры устройств FPGA. Взаимные связи между логическими блоками и блоками ввода-вывода могут зада- ваться программным путем, благодаря чему можно реализовать практически любые электронные схемы. Программируемые электрические связи реализованы посредст- вом сигнальных линий, которые в виде строк и столбцов проходят через всю схему, объединяясь в каналы, размещенные между отдельными логическими блоками. О Программируемое соединение Примечание. У тактовых входов могут ----- Соединяющий сегмент быть свои соединительные .... Соединительная дорожка дорожки, проходящие под небольшим углом Рис. 12.30. Архитектура программируемой вентильной матрицы (FPGA) Применение программируемых логических устройств 907
Устройства FPGA могут иметь самую разную структуру, а данные, определяющие эту структуру через программируемые связи, хранятся в запоминающих устройствах различного типа (статической памяти, СППЗУ, ЭСППЗУ, флэш-памяти) или на ан- типрожигаемых перемычках. При использовании статической памяти данные загру- жаются в ОЗУ с внешнего носителя во время подачи на схему питания. ЭСППЗУ и флэш-память по своей работе напоминают функционирование устройств GAL, но при этом являются программируемыми прямо в схеме . Технология антипрожигаемых пе- ремычек заключается в том, что связи между элементами изготовлены из материала, который в нормальном состоянии не проводит ток; если же подать на него импульс на- пряжения программирования, то этот контакт замыкается и начинает проводить ток. Такая технология полностью противоположна технологии плавких перемычек и точно так же остается необратимой. Некоторые устройства FPGA имеют большие блоки па- мяти, в одних устройствах для формирования выражений в дизъюнктивной форме ис- пользуются массивы членов-произведений (например, в устройствах ТМЛ (GAL)), в других — применяются справочные таблицы, записанные в память. Как видно, область использования FPGA крайне разнообразна и постоянно развивается. Вентильные матрицы состоят из сверхбольших интегральных схем (СБИС), на которых могут быть размещены сотни тысяч логических элементов. Функции логи- ческих блоков матрицы и их взаимные связи определяются на финальных стадиях процесса производства ИС (примерно так же, как для программируемых по шаблону ПЗУ). По этой причине такие массивы часто называют программируемыми по шаб- лону вентильными матрицами (Mask Programmed Gate Arrays — MPGA). Изготов- ление таких устройств в единичных экземплярах более выгодно, чем изготовление устройств FPGA при сравнимом количестве логических элементов на борту микро- схемы, но процесс программирования чипа очень дорогостоящ и занимает много времени на подготовку и реализацию схемы. В еще более новой технологии (LPGA) для программирования структуры интегральной схемы на этапе после изготовления полупроводниковой подложки, но перед корпусированием микросхемы используется сфокусированный лазерный луч. Это позволяет избежать необходимости изготавли- вать очень дорогой фотошаблон, который является неотъемлемым элементом произ- водства устройств MPGA. Такой подход значительно экономит время — на запуск ИС в производство уходят не недели, а всего несколько дней. Тенденции развития программного обеспечения Изучение языка CUPL, который используется для описания аппаратных средств ПЛУ, обычно не вызывает больших трудностей. В начале 1980-х Министерство обо- роны США работало над программой разработки высокоскоростных интегральных схем. Для определения и моделирования процессов в сверхсложных системах необ- ходимо было создать язык описания аппаратных средств электронных устройств. Так возник VHDL (Hardware Description Language) — высокоуровневый язык, с помощью которого был разработан метод описания логических схем, согласованный по стан- дартам IEEE и позволяющий не только разрабатывать электронные схемы и модели- ровать процессы, происходящие в них, но и эффективнее оформлять документацию. VHDL и другие языки описания аппаратных средств электронных устройств выли- лись в целое направление, в котором сейчас двигается электронная промышленность мира при разработке программируемых логических устройств и различных режимов ввода в них данных. Особенно это касается более сложных электронных систем, реа- лизованных на сложных ПЛУ и устройствах на программируемых вентильных мат- рицах (FPGA). Компилятор VHDL может работать на обычных персональных компь- ютерах и использоваться для ввода программы из обычного текстового файла, а в дальнейшем — для моделирования работы системы. Широко доступны и различные пакеты ПО, которые согласованы с требованиями этого компилятора и приспосабли- вают полученные данные к архитектуре конкретного ПЛУ, чтобы с максимальной * Т.е. имеют формат ISP. — Прим, перев. 908 Глава 12
точностью можно было определить все внутренние связи устройства. Язык VHDL да- леко не так прост по сравнению с CUPL, но как и в случае с компьютерными языка- ми программирования, если вам удастся освоить хотя бы один, то овладеть осталь- ными не составит большого труда. Надеемся, что опыт с CUPL даст вам хороший толчок к изучению других средств описания электронных устройств. --- -—Г---у.----- Контрольные вопросы 1. Какая разница между устройствами на матричной логике и на программируе- мых вентильных матрицах (FPGA)? 2. Что такое антипережигаемая перемычка? 3. Что обозначает аббревиатура VHDL? Резюме 1. Программируемые логические устройства (ПЛУ) представляют собой ключевую технологию цифровых систем, открывающую дорогу к будущему электроники. 2. Использование ПЛУ позволяет уменьшить арсенал необходимых логических эле- ментов, упростить схемотехнику опытных образцов устройств, сократить цикл развития, уменьшить габариты и потребление энергии конечного продукта, а также дает возможность без особых усилий модернизировать схему. 3. ПЛУ GAL 16V8 — одно из простейших программируемых логических устройств. На примере этой схемы можно с успехом демонстрировать все основные принци- пы работы семейства ПЛУ в целом. ' 4. ПЛУ GAL 16V8 представляет собой матрицу с программируемыми электриче- скими связями, которые используются для выбора входных сигналов, поступаю- щих на группу элементов И. Сигналы с выходов элементов И поступают на эле- менты ИЛИ, где складываются в макроячейках выходной логики. 5. Макроячейка выходной логики также может быть запрограммирована. Она мо- жет инвертировать значение бита, хранить бит в D-триггере, использовать три- стабильный выходной буфер и подавать бит обратно в матрицу входных членов в виде обратной связи. Требуемая комбинация этих свойств макроячейки может быть выбрана путем программирования макроячейки для работы в одном из трех режимов и выбора в каждом из них одной или двух конфигураций самой ячейки. 6. В простом режиме ПЛУ может суммировать до восьми членов-произведений ло- гического выражения для каждой макроячейки. В этом режиме ни один из вы- ходов не может быть тристабильным, и выходные данные не могут быть зафик- сированы с помощью триггеров. Свойство обратной связи в этом режиме не име- ют только две макроячейки (№15 и 16). 7. В сложном режиме ПЛУ может суммировать до семи членов-произведений логи- ческого выражения для каждой макроячейки. Тристабильные буферы могут быть включены отдельным логическим выражением. Свойство обратной связи в этом режиме не имеют только две макроячейки (№12 и 19). 8. В буферизованном режиме ПЛУ может суммировать до восьми членов-произведе- ний логического выражения на буферизованных выходах каждой макроячейки. Результирующий бит хранится в D-триггере. Сигнал синхронизации и сигнал разрешения работы выходов макроячеек подаются, соответственно, на выводы 1 и 11. Макроячейки, которые запрограммированы в комбинационной конфигура- ции, работают точно так же, как и в сложном режиме. 9. ПЛУ GAL 22V10 имеет некоторые преимущества по сравнению с GAL 16V8: в этом устройстве на две макроячейки больше, причем некоторые из них могут об- рабатывать до 16 членов-произведений логического выражения. ПЛУ GAL 22V10 Применение программируемых логических устройств 909
также имеет два дополнительных некоммутируемых входа и упрощенную архи- тектуру макроячейки с общими линиями предварительной установки и сброса D- триггеров. 10. В исходном файле CUPL можно объединять несколько методов описания аппа- ратной части устройства. Для описания различных частей цифровой системы ПЛУ могут служить последовательность, таблица и булевы выражения. 11. Программируемые логические устройства легко изучать и удобно использовать. Доступные на данный момент ПЛУ предлагают намного более сложные функции, чем функции GAL 16V8. Основные термины матрица входных членов макроячейка выходной логики программируемая матричная логика (ПМЛ, PAL) программируемая полярность выходного сигнала программируемая пользователем вентильная матрица (FPGA) сложные ПЛУ вентильная матрица VHDL Упражнения Раздел 12.3. (В) 12.1. Составьте таблицу, в которой были бы перечислены разные режимы и кон- фигурации макроячеек ПЛУ GAL 16V8. Укажите при этом значения всех контрольных битов (SYN, АСО, АС1). Определите макроячейки, которые мо- гут быть использованы в каждой конфигурации. (В) 12.2. Определите все возможные режимы, в которых могут быть реализованы следующие устройства: а) D-зашелка с тристабильными выходами; б) D-триггер; в) синхронный счетчик; г) дешифратор. (В) 12.3. Какое максимальное число членов-произведений логического выражения, записанного в дизъюнктивной форме, может быть использовано в каждой конфигурации различных режимов? (В) 12.4. Определите источники сигнала обратной связи (FMUX) для всех конфигу- раций всех режимов. (В) 12.5. Определите источники сигнала включения тристабильных буферов (TSMUX) для всех конфигураций всех режимов. (В) 12.6. Покажите, что если запрограммировать бит исключающее ИЛИ таким обра- зом, чтобы он был равен логической единице {высокий уровень напряже- ния), то на выходах макроячеек, о которых шла речь в примерах 12.1, 12.2 и 12.3, выходной сигнал будет иметь такой же логический уровень, что и на выходе элемента ИЛИ. 910 Глава 12
Раздел 12.4 (В) 12.7. Используя рис. 12.16 и рис. 12.17, определите: а) Дизъюнктивное логическое выражение на выводе 19. б) Логический уровень бита программируемой полярности для макроячей- ки 19. в) Логический уровень бита программируемой полярности для макроячеек 12-18. г) Режим работы данного ПЛУ. д) Конфигурацию макроячейки 19. е) Конфигурации макроячеек 12-18. Раздел 12.5 (Т) 12.8. Вернемся к примеру с мультиплексором, который изображен на рис. 12.4. Какая комбинация функций, присвоенных различным выводам ПЛУ, не бу- дет работать в данном случае? Почему? а) Вывод 19 = Z; вывод 18 = ZNOT. б) Вывод 16 = Z; вывод 17 = ZNOT. в) Вывод 12 = Z; вывод 13 = ZNOT. 12.9. Нарисуйте полную структуру схемы разрешения конфликтов (пример 12.5), реализованной на обычных чипах ТТЛ. 12.10. Какие функции и для каких выводов следует перепрограммировать, чтобы схема разрешения конфликтов из примера 12.5 работала в простом режиме? (В) 12.11. Сколько этапов требуется для совершения одного полного оборота вала ти- пичного шагового двигателя, вращающегося со скоростью 15°/шаг, в режи- ме с полным шагом, с половинным шагом, волнообразном режиме? (В) 12.12. Сколько полных шагов в таблице переходов состояний необходимо выпол- нить, чтобы сделать один полный оборот вала шагового двигателя в режиме с полным шагом, с половинным шагом, в волнообразном режиме? 12.13. Схема шагового двигателя, описанная в примере 12.6, работает в режиме 2; COIL (Свых) = 0001, DIR = 1. Какие условия должны быть на входах схемы, чтобы получить COIL (Свых) = 0101? (В) 12.14. Что произойдет с шаговым двигателем, если на выводе 9 установится со- стояние с низким уровнем напряжения? Раздел 12.6 (D) 12.15. Какие изменения необходимо внести в исходный файл, приведенный на рис. 12.19, чтобы получить схему на основе ПЛУ GAL 22V10 уже для вось- ми участников викторины? (D. С) 12.16. Напишите исходный файл для схемы с шаговым двигателем на основе ПЛУ GAL 22V10. Вместо двоичного счетчика с Кпер = 8, создайте счетчик, который бы изменял состояния в точно таком же порядке, как указано в табл. 12.3. Применение программируемых логических устройств 911
Раздел 12.7 (В) 12.17. Измените исходный файл, код которого приведен на рис. 12.18 и 12.29, чтобы добавить к описываемой схеме тристабильный разрешающий вход, управляемый низким уровнем напряжения, сигнал с которого управлял бы выводом данных. (С) 12.18. Проанализируйте временные процессы в схеме клавиатурного шифратора, изображенного на рис. 12.25. Будут ли данные стабильными в момент спада (по заднему фронту) сигнала DAV? Почему? 12.19. Что произойдет с сигналом на выходе Ввых, если: а) Кнопка 4 нажата и остается в этом состоянии, когда нажимается кнопка 6? б) Кнопка 6 нажата и остается в этом состоянии, когда нажимается кнопка 4? в) Кнопка 9 нажата и остается в этом состоянии, когда нажимается кнопка 1? г) Кнопка 1 нажата и остается в этом состоянии, когда нажимается кнопка 9? д) Кнопка 8 нажата и остается в этом состоянии, когда нажимается кнопка 3? е) Кнопка 3 нажата и остается в этом состоянии, когда нажимается кнопка 8? (С) 12.20. Спроектируйте последовательную комбинационную схему электронного замка. Схема должна иметь трехбитовый вход и клавишу сигнала оконча- ния ввода каждой из трех очередей кода. Если введена правильная последо- вательность кодовых значений (101 [ввод], 100 [ввод], 111 [ввод]), то на вы- ходе -должен появиться сигнал с высоким уровнем напряжения, открываю- щий замок. Ответы к контрольным вопросам Раздел 12.1 1. Интегральная схема, содержащая большое количество логических элементов, взаимные связи между которыми могут быть изменены пользователем с целью формирования определенного схемного решения. 2. Ог = А. 3. Целая перемычка, которая не была расплавлена. 4. Жесткое соединение. Раздел 12.2 2. Жестко фиксированных элементов ИЛИ; программируемых элементов И. 3. Жестко фиксированных элементов И; программируемых элементов ИЛИ, 4. О, = ABCD + ABCD + ABCD = ABCD + ACD . Раздел 12.3 1. Допускает стирание и перепрограммирование; имеет макроячейки выходной ло- гики. 2. Простой, сложный, буферизованный. 3. Простой режим: вход, выход; сложный режим: ввод-вывод данных, вход; буфери- зованный режим: буферизованный выход, комбинационный вход ввода-вывода. 912 Глава 12
4. Буферизованный режим/конфигурация буферизованного выхода. 5. Буферизованный режим. Раздел 12.4 1. Файл с картой пережигания плавких перемычек (.DOC) и файл описания по стандартам JEDEC (.JED). 2. Syn = 1, АСО = 0 — простой режим. 3. Логической 1. Раздел 12.5 1. В простом режиме вывод 15 не обеспечивает наличия обратной связи. 2. Только в простом режиме выражение в дизъюнктивной форме может иметь во- семь слагаемых. 3. IRESET & L1. 4. Все восемь выходов должны иметь обратную связь. Два выхода не имеют этого свойства. Недостаточно входов, чтобы использовать внешние сигналы обратной связи. Раздел 12.6 1. Выводы 19 или 18. 2. Да — каждый из них управляется собственным членом логического выражения. 3. Асинхронный сброс; синхронная установка. 4. Нет — всеми входами АЛ управляет один и тот же сигнал. Раздел 12.7 1. Только одна. 2. От той, которая была определена первой при сканировании (обычно от первой нажатой). 3. Клавиша, которая имеет максимальный номер столбца матрицы (наивысший приоритет). 4. Для того чтобы после стабилизации данных сигнал РДУ перешел в состояние с высоким уровнем напряжения. 5. Нет, после нажатия клавиши сигнал переходит в состояние с высоким уровнем напряжения только в момент прихода следующего импульса синхронизации. 6. Когда на выводе 9 установилось состояние с низким уровнем напряжения или когда не нажата ни одна клавиша. Раздел 12.8 1. Устройства FPGA могут быть запрограммированы пользователем самостоятельно. Устройства на матричной логике программируются в процессе заводского изго- товления. 2. Одноразовую программируемую электрическую связь, которая в нормальном со- стоянии представляет собой разрыв контакта, можно запрограммировать таким образом, что она будет проводить ток. 3. Язык описания аппаратной части высокоскоростных интегральных схем (Very- High-Speed Integrated Circuit Hardware Description Language). Применение программируемых логических устройств 913

Приложение А Введение в микропроцессоры и микрокомпьютеры Содержание: 1. Что такое цифровой компьютер? 2. Как компьютер “думает”? 3. Секретный агент “89” 4. Организация простейшей компьютерной системы 5. Основные элементы микрокомпьютеров 6. Машинные слова 7. Командные слова 8. Выполнение программы машинного языка 9. Структура типичного микрокомпьютера 10. Комментарии
В этой главе: назначение и функционирование каждого из пяти основных элементов компьютера; объяснение работы компьютера как непрерывного повторения одной и той же последовательности операций: выборки данных из памяти и выполне- ния команд; разница между микропроцессором и микрокомпьютером; анализ циклов выборки и исполнения команд во время выполнения про- граммы, написанной на машинном языке; назначение различных типов шин в составе микрокомпьютера и сигналов, которые по ним передаются; перечень всех основных функций, которые выполняет микропроцессор; описание различных типов машинных слов. Введение Изобретение микропроцессоров и микрокомпьютеров совершило переворот в элек- тронной промышленности и оказало существенное влияние на многие аспекты жизни человека. Развитие новых технологий изготовления интегральных схем с высокой плотностью размещения элементов позволило настолько уменьшить размеры и стои- мость микрокомпьютеров, что разработчики электронных схем уже повсеместно ис- пользуют их возможности и универсальность для решения широкого спектра задач и приложений. ' В этой главе представлены базовые принципы функционирования микрокомпью- теров. Хотя речь, в основном, пойдет о микрокомпьютерах, большинство концепций и идей, связанных с ними, могут быть распространены и на остальные компьютер- ные системы независимо от их размеров. Различные аспекты функционирования микрокомпьютеров описаны на примере конкретного микропроцессора — Intel 8051. Семейство 8051 представляет собой важную ветвь дерева микропроцессоров. По ходу развития микропроцессоров и микрокомпьютеров — от четырехбитовых (Intel 4004), которые появились в начале 1970-х, до восьмибитовых (8008, 8080, 8085, 6800, 6502, Z80 и т.д.) в конце тех же 1970-х — они разделились на две ветви. Одна из них впоследствии привела к появлению современных персональных компьютеров. Системы на основе микропроцессоров представляют собой гибкое средство для за- грузки и выполнения самых различных программ: текстовых редакторов, электрон- ных таблиц, баз данных и даже игр. Эти компьютеры пользователь мог легко запро- граммировать сам, получая, таким образом, возможность написать такую программу, какую только мог себе представить. Наследники этих компьютеров, оперирующие уже 16 и 32 битами данных (8086, несколько серий 80x86 процессоров, серия 680x0) — это усовершенствование той же самой технологии. Основные черты архи- тектуры микропроцессоров изменились лишь незначительно по сравнению с ранними системами, хотя быстродействие и объем адресуемой памяти многократно возросли. Вторая ветвь компьютерных систем предусматривала использование микропро- цессоров в качестве устройства управления в уже готовом продукте (например, в бы- товой технике). Эти микрокомпьютеры конструктивно состоят из тех же элементов, что и персональные компьютеры, но программируются изготовителем еще на этапе производства. На протяжении жизненного цикла изделия такая система выполняет узкоспециализированные задачи — например, ждет, пока не будет нажата какая- нибудь кнопка, после чего встроенный процессор включит или, наоборот, отключит какой-нибудь блок: лампу, мотор, таймер. Семейство процессоров 8051 входит в эту широкую категорию устройств, известных под названием встроенных микрокон- 916 Приложение А
троллеров. Процессоры семейства 8051 появились в начале 1980-х примерно в одно время с серией 68НС11. Эти восьмибитовые устройства, предназначенных сугубо для задач управления, остаются популярными даже в наши дни. С тех пор появились различные версии устройств серии 8051, обладающие какими-то специальными функциями, однако базовый набор инструкций и архитектура ядра процессора оста- лись неизменными. Другие микроконтроллеры, более мощные и более сложные, бы- ли разработаны специально для решения тех задач, с которыми восьмибитовые мик- росхемы уже не могли справиться. Семейство 8051 используется в качестве наглядного примера поскольку эти мик- ропроцессоры, применяемые и по сей день, наглядно демонстрируют принципы функционирования компьютеров, не усложняя объяснение материала. Базовые пред- ставления о работе микропроцессоров ранних серий — таких как серия 8051 — по- могут вам в изучении более сложных и быстродействующих микросхем. Для того чтобы осветить только наиболее важные детали функционирования мик- ропроцессоров и компьютеров, понадобилась бы целая книга. Материал данного при- ложения предназначен исключительно для того, чтобы послужить базы для после- дующего более глубокого изучения микропроцессорных систем. А.1. Что такое цифровой компьютер? Цифровым компьютером (цифровой ЭВМ) называется комбинация цифровых уст- ройств и схем, которая служит для выполнения запрограммированной последова- тельности операций при минимальном вмешательстве человека. Данная последова- тельность операций называется программой. Программа представляет собой набор закодированных инструкций (команд), хранящихся во внутренней 'памяти компью- тера вместе с данными, которые программа использует. Когда оператор дает ЭВМ указание выполнить программу, компьютер выполняет команды в том порядке, в ко- тором они были записаны в память. Процесс продолжается до тех пор, пока про- грамма не будет завершена, причем скорость выполнения инструкций может быть исключительно высокой. А.2. Как компьютер “думает”? Компьютер вообще не думает! Программист ЭВМ задает программу (в виде набора инструкций или команд) и данные, которые вместе определяют все детали происхо- дящего процесса: что надо сделать, с чем сделать и когда сделать. Компьютер же представляет собой просто быстродействующую машину, которая оперирует зало- женными в нее данными, решает арифметические и логические задачи, принимает какие-то решения, причем все это происходит под управлением программы. Если программист сделает ошибку в программе или задаст неверные данные, компьютер вы- ведет неправильные результаты. В жаргоне американских компьютерщиков даже есть популярная поговорка: “garbage in/garbage out” (“мусор ввел — мусор получил”)*. Пожалуй, лучше будет спросить: “А как компьютер выполняет эту самую про- грамму?” Обычно на этот вопрос отвечают, используя блок-схему архитектуры ком- пьютера (расположения всех его основных компонентов). После этого необходимо шаг за шагом пройти весь процесс, который происходит в компьютере при выполне- нии программы. Мы также сделаем это, — но сперва рассмотрим один пример, кото- рый однако, содержит большинство концепций, связанных с функционированием вычислительных машин. * Существует русский аналог этого выражения — “что посеешь, то и пожнешь”.— Прим, перев. Введение в микропроцессоры и микрокомпьютеры 917
А.З. Секретный агент “89” Секретный агент “89” должен выяснить номер посадочной полосы в аэропорту, на которой вскоре приземлится самолет с опасным террористом на борту. Некое дове- ренное лицо сообщило агенту, что информация о номере взлетно-посадочной полосы хранится в ряде абонентских ящиков на местной почте. Чтобы гарантировать, что обладать этой информации больше никто не сможет, ее разбросали по 10 различным ящикам. Доверенное лицо также передало секретному агенту 10 ключей и следую- щие инструкции: 1. Во всех абонентских ящиках информация хранится в виде кодов. 2. Сперва следует открыть ящик с номером 1 и выполнить инструкции, храня- щиеся там. 3. Если в какой-нибудь инструкции не будет содержаться других указаний, то сле- дует продолжать открывать ящики в порядке, соответствующем их номерам. 4. Информация в одном из ящиков предназначена специально для того, чтобы сбить со следа любого случайного человека, кроме агента “89”. Итак, агент “89” с 10 ключами от ящиков в одной руке и ключом к шифру в дру- гой следует к местному почтовому отделению. На рис. А.1 показано содержимое всех инструкций, хранящихся в абонентских ящиках. Предположим, что теперь агент “89” — это вы! Начните с ящика под номе- ром 1 и продолжайте изучать инструкции в каждом очередном ящике до тех пор, пока вы не определите номер посадочной полосы самолета с террористом. Конечно, для настоящего агента “89” задача значительно усложнялась тем, что сообщения хранились в зашифрованном виде, но, уверены, вы бы тоже справились с этой ру- тинной работой. Ответ дан в следующем абзаце. (Г । Сложить число, указанное в ящике (9) с вашим кодом секретного агента (^Разделить полученный результат на число из ящика (ip) Вычесть номер, записанный в ящике (В) z^\ Если полученный результат не равен 30, перейти к ящику (7). В противном случае открыть следующий ящик Вычесть 13 из полученного результата Вернуться в Центр за дополнительными инструкциями Самолет приземлится на полосе № 3 ® 20 (? 11 ^о) 2 Рис. А.1. Расшифрованные послания, которые храни- лись в 10 абонентских ящиках в местном почтовом отделении специально для агента и89” 918 Приложение А
Если вы правильно проделали все расчеты, указанные в инструкциях, то вы должны были получить число 17 и в итоге закончить последовательность действий на ящике с номером 6. Если вы сделали ошибку, то открыли ящик с номером 7 и в результате ожидали бы террориста совсем на другой посадочной полосе. Следуя ука- заниям доверенного лица, вы совершали те же самые операции и сталкивались с те- ми же задачами, которые выполняет компьютер. Далее эти операции и задачи будут рассмотрены в контексте аналогий с заданием секретного агента “89”. Как вы уже догадались, абонентские почтовые ящики представляют собой анало- гию с памятью компьютера, в которой хранятся команды и данные. В ящиках с но- мерами от 1 до 6 хранятся команды, которые агент должен выполнить непосредст- венно, а в ящиках с номерами 8, 9 и 10 — данные, с которыми работают команды. Номер абонентского ящика играет роль адреса участка памяти. В ящиках с номерами от 1 до 6 представлены сразу три разных класса команд. Например, в ящиках с номерами 1, 2, 3 и 5 содержатся команды, которые выполня- ют арифметические операции. В ящике 4 хранится команда принятия решения, ко- торая называется условный переходом, или ветвлением. Такая команда предписыва- ет агенту (или компьютеру) решить, следует ли ему сделать переход к адресу 7 или продолжить выполнение программы, т.е. перейти к адресу 5. Решение принимается на основании результата предыдущей арифметической операции. В ящике 6 хранит- ся простая команда управления, которая не обрабатывает никаких данных и не ука- зывает на какой-либо адрес (номер абонентского ящика). Эта команда — команда возврата — сообщает агенту об окончании процедуры (т.е. завершении программы), а это значит, что дальше выполнять алгоритм уже не нужно. Когда вы изучите мик- ропроцессоры более подробно, вам станет известно, откуда компьютер “знает”, куда он должен возвратиться после выполнения этой команды. , Каждая команда или условный переход состоят из двух частей — операции и ад- реса. Например, в первой части первой инструкции для агента указывается операция сложения. Во второй части предоставляется адрес (ящик 9) данных, обработка кото- рых выполняется в этой операции. Данные в подобном случае обычно называют опе- рандом, а их адрес — адресом операнда. Инструкция, хранящаяся в ящике 5, пред- ставляет собой особый случай, когда адрес операнда не указывается, а вместо этого данные (операнд), которые используются в операции вычитания, включены прямо в команду, т.е. представляют ее часть. Компьютер, как и секретный агент, декодирует и затем исполняет команды, после- довательно сохраненные в памяти, начиная с участка памяти под номером 1. Команды порядкег пока какая-либо команда ветвления (инструкция в ящике 4) или перехода не укажет другой адрес следующей команды. Как только происходит ветвление, все команды начинают выполняться уже начиная с нового адреса, причем порядок их выполнения будет таким же последовательным. А.4. Организация простейшей компьютерной системы Любой компьютер обязательно содержит пять основных элементов, или блоков: арифметико-логическое устройство (АЛУ), запоминающее устройство, устройство управления, устройство ввода информации и устройство вывода. Взаимодействие между ними схематически показано на рис. А.2. Стрелками обозначены направле- ния, в которых информация или сигналы управления идут от одного блока к друго- му. На рисунке используются стрелки двух видов: толстыми показаны линии, по ко- торым передаются данные — такие каналы обычно представляют собой сразу боль- шое количество параллельных сигнальных линий; по тонким линиям передаются сигналы управления — на практике это один или несколько проводов. Все стрелки пронумерованы, что упростит дальнейшее изложение материала. Введение в микропроцессоры и микрокомпьютеры 919
Арифметико-логическое устройство (АЛУ) Арифметико-логическим устройством называется узел компьютера, который вы- полняет арифметические и логические операции. Тип операции, которая должна быть выполнена этим блоком, определяется сигналами от устройства управления (стрелка 1). Данные, над которыми осуществляется операция, могут поступать из за- поминающего устройства (стрелка 2) или из устройства ввода информации (стрелка 3). Результаты операций, осуществляемых в АЛУ, передаются либо в память (стрелка 4), либо в устройство вывода данных (стрелка 5). Запоминающее устройство В ЗУ (памяти) хранятся группы двоичных чисел (слова данных); они могут пред- ставлять собой как команды (программу), которые исполняет компьютер, так и дан- ные, обрабатываемые программой. Память также служит своеобразным хранилищем промежуточных и конечных результатов арифметических операций (стрелка 4). Ра- бота памяти контролируется устройством управления (стрелка 6), указывающим на операцию, которую необходимо произвести в каждый конкретный момент времени (запись или чтение). Обращение устройства управления к заданному участку памяти происходит с помощью соответствующего кода адреса (стрелка 7). В память может быть записана информация с АЛУ или с устройства ввода (стрелка 8), что определя- ется сигналами, поступающими с устройства управления. Считывание информации происходит в интересах АЛУ (стрелка 2) или устройства вывода данных (стрелка 9). 920 Приложение А
Устройство ввода Устройство ввода (информации) состоит из группы устройств, которые использу- ются для приема информации и данных извне и их передачи в запоминающее уст- ройство (стрелка 8) или прямо в АЛУ (стрелка 3). То, куда будут направлены данные с внешнего устройства, определяет устройство управления компьютера (стрелка 10). Устройство ввода служит для введения программ и исходных данных в память еще до запуска какой-либо программы, оно также используется для ввода в АЛУ данных с внешнего устройства уже во время выполнения программы. Среди наиболее распро- страненных устройств ввода обязательно следует упомянуть клавиатуры, всевозмож- ные переключатели, модемы, накопители на магнитной ленте и магнитных дисках, аналого-цифровые преобразователи (АЦП). Устройство вывода Устройство вывода (информации) состоит из группы устройств, предназначенных для передачи данных и информации из компьютера во “внешний мир”. Устройства вывода также управляются сигналами от устройства управления (стрелка 12) и могут получать данные из памяти (стрелка 9) или из АЛУ (стрелка 5); затем данные преоб- разовываются в форму, пригодную для их вывода. В качестве примеров устройств вывода можно привести табло на светодиодах, различные индикаторы, принтеры, накопители на дисках или магнитной ленте, мониторы, цифро-аналоговые преобра- зователи (ЦАП). После завершения программы компьютер обычно получает какой-то результат или сигналы управления, которые он должен вывести вовне. В качестве такого вы- ходного устройства компьютера может служить, скажем, обычный принтер. В этом случае компьютер посылает сигнал распечатать полученные данные на бумаге. Не- большой же микрокомпьютер может выводить результаты на жидкокристаллический индикатор или светодиодное табло. Интерфейс Группу устройств, которые вместе составляют устройства ввода и вывода инфор- мации, часто называют периферийными, потому что по отношению к остальным уз- лам компьютера они являются как бы внешними. Наиболее важный аспект исполь- зования периферийных устройств — их сопряжение с компьютером, т.е. интерфейс. Под этим термином в области применения компьютеров подразумевают передачу цифровой информации между компьютером и периферийными устройствами в со- вместимой форме и с синхронизацией во времени, т.е., попросту говоря, — их со- пряжение. Многие устройства ввода-вывода не являются изначально совместимыми с ком- пьютером, поскольку такие их характеристики, как быстродействие, формат данных (например, использование кодов: двоично-десятичного, ASCII, прямого двоичного), режим передачи данных (параллельный или последовательный) и даже логические уровни сигналов могут в значительной мере отличаться. Такие устройства ввода- вывода нуждаются в специальных схемах интерфейса, которые позволяют им взаи- модействовать с устройством управления, памятью и АЛУ. Примером может слу- жить хотя бы тот же видеотерминал, попросту — монитор компьютера, который мо- жет одновременно работать в качестве устройства ввода и устройства вывода. Мони- тор передает данные в последовательной форме (т.е. по одному биту за единицу времени), а подавляющее большинство компьютеров обрабатывают данные в парал- лельной форме. Таким образом, электроника видеотерминала должна работать в паре со схемой сопряжения (схемой интерфейса), чтобы передавать или получать данные от компьютера. Введение в микропроцессоры и микрокомпьютеры 921
Устройство управления Данное устройство управляет функционированием всех остальных узлов компью- тера с помощью временных сигналов и сигналов управления. В этом смысле устрой- ство управления можно уподобить дирижеру симфонического оркестра, который не- сет ответственность за правильную временную расстановку ролей каждого музыканта в оркестре. Устройство управления содержит логические и временные схемы, кото- рые формируют соответствующие сигналы, необходимые для выполнения каждой команды программы. Устройство управления выбирает команды из памяти, посылая адрес (стрелка 7) и сигнал команды чтения (стрелка б) в запоминающее устройство. Командное слово, хранящееся в участке памяти с указанным адресом, передается в устройство управ- ления (стрелка 11). Поскольку это слово было записано в одной из форм двоичного кода, то оно декодируется с помощью специальных логических схем из состава само- го устройства, после чего происходит определение команды, код которой был полу- чен. Устройство управления использует эту информацию для того, чтобы посылать необходимые сигналы на соответствующие блоки системы, которые участвуют в ра- боте компьютера при выполнении указанной операции. Последовательность выборки кодов команд из памяти и дальнейшего выполнения указанных операций повторяется устройством управления многократно (рис. А.З). Эта последовательность (выборка/выполнение) продолжается непрерывно до тех пор, пока компьютер не будет выключен или не будет нажата кнопка RESET (сброс). На- жатая кнопка RESET всегда указывает компьютеру выбрать из памяти самую пер- вую инструкцию, которая обычно хранится по адресу 0000. Выполнение Выборка Рис. А.З. Компьютер непрерывно выби- рает команды из памяти и выполня- ет их Компьютер фактически беспрерывно работает над одной и той же последователь- ностью действийJ выбрал — исполнил, выбрал — исполнил, выбрал — исполнил и т.д. Естественно, циклы выполнения команд будут разными для разных типов ко- манд, так как устройство управления будет посылать различные сигналы на различ- ные устройства, участвующие в выполнении каждой конкретной команды. Центральное процессорное устройство (ЦПУ) На рис. А.2 арифметико-логическое устройство и устройство управления показа- ны объединенными в один блок, который называется центральным процессорным устройством (ЦПУ) или просто центральным процессором. Так часто делают, чтобы отделить “мозги” компьютера от остальных узлов. В микрокомпьютере центральный процессор обычно реализован на одном чипе, который называется микропроцессором. Центральный процессор содержит набор регистров, который осуществляет специаль- ные функции. Эти регистры могут также служить краткосрочным хранилищем дан- ных внутри самого процессора, что исключает необходимость обращения к внешней памяти . * Которая, как правило, гораздо медленнее. — Прим, перев. 922 Приложение А
Контрольные вопросы 1. Назовите пять основных элементов компьютера и опишите функции каждого из них. 2. Что такое центральное процессорное устройство? 3. Что в компьютерной системе следует понимать под термином интерфейс? 4. Какие основные операции постоянно и непрерывно выполняет компьютер? А.5. Основные элементы микрокомпьютеров Важно понимать разницу между микрокомпьютером (рС) и микропроцессором (рР). Микрокомпьютер содержит несколько элементов, наиболее важным из которых является как раз микропроцессор. Микропроцессор обычно представляет собой одну интегральную микросхему, которая содержит всю схемотехнику, входящую в состав устройства управления и арифметико-логического устройства, — иными словами, это и есть центральный процессор системы. В общем случае принято обозначать микро- процессор аббревиатурой МПУ (микропроцессорное устройство), аналогично тому, как процессор часто обозначают ЦПУ. На рис. А.4 показаны основные элементы микрокомпьютера, в том числе и МПУ. Устройство памяти Выборка ПЗУ ОЗУ Блок управления и АЛУ (ЦП) Блок вывода Блок ввода Интерфейс вывода Устройства вывода Усройства ввода Микропроцессор (МП) Интерфейс ввода ------------------------ Микрокомпьютер Рис. А.4. Основные элементы микрокомпьютера Запоминающее устройство, показанное на рисунке, состоит из ОЗУ и ПЗУ. Блок оперативной памяти (ОЗУ) включает один или несколько чипов высокой степени ин- ВВЕДЕНИЕ В МИКРОПРОЦЕССОРЫ И МИКРОКОМПЬЮТЕРЫ 923
теграции (т.е. БИС), соединенных последовательно, что позволяет получить требуе- мую емкость памяти. Оперативная память используется для хранения программ и данных, которые в процессе функционирования компьютера часто изменяются. Так- же она принимает участие в хранении промежуточных и конечных результатов опе- раций, выполняемых программой. Постоянное запоминающее устройство (ПЗУ) включает в себя один или несколько чипов постоянной памяти и служит для хранения команд и данных, которые в про- цессе работы компьютера не изменяются и должны оставаться целыми и невреди- мыми даже после отключения питания. Например, именно в ПЗУ хранится про- грамма самозагрузки системы, которую цС выполняет при включении. Там же может храниться и таблица ASCII-кодов, необходимых для вывода информации на дисплей или принтер. Блоки ввода и вывода, также показанные на рисунке, содержат схемы интерфей- са, использование которых объясняется тем, что периферийные устройства должны иметь возможность сообщаться с остальными блоками компьютера. В некоторых случаях эти схемы представляют собой чипы высокой степени интеграции, специ- ально спроектированные фирмами-производителями микропроцессоров для сопряже- ния процессора с различными устройствами ввода-вывода. Иногда же схемы интер- фейса — обычные буферные регистры. Во многих приложениях, выполняемых встроенными микропроцессорами, все базовые элементы микрокомпьютера могут быть интегрированы в одну интегральную схему: такой компьютер называется одно- кристальным микрокомпьютером. Микропроцессор (МПУ) МПУ — это “сердце” микрокомпьютера. Микропроцессор выполняет множество функций, включая следующие: 1. Обеспечивает формирование временных и управляющих сигналов для всех эле- ментов микрокомпьютера. 2. Считывает из памяти команды и данные. 3. Передает данные в память и к устройствам ввода-вывода, а затем считывает их оттуда. 4. Декодирует команды. 5. Осуществляет арифметические и логические операции, указываемые командами. 6. Отвечает на сигналы управления, сформированные устройствами ввода-вывода — например, RESET (сброс) или INTERRUPT (прерывание). МПУ содержит всю необходимую схемотехнику, которая нужна для выполнения этих функций, но его внутренняя логика обычно недоступна извне. Однако процес- сы, происходящие внутри микропроцессора, можно контролировать с помощью по- следовательности команд (т.е. программы, которую мы вводим в память системы для того, чтобы МПУ выполнил ее). Именно это делает микропроцессор столь гибким и универсальным — когда необходимо изменить его работу, можно просто модифи- цировать программу, хранящуюся в ОЗУ (т.е. изменить программное обеспечение) или в ПЗУ (изменить программно-аппаратные средства), вместо того чтобы сидеть с паяльником в руках и менять электрические связи (аппаратные средства). Внутренняя логика МПУ чрезвычайно сложна, но ее можно представить ее в виде трех основных блоков: 1) блока управления и временной синхронизации, 2) блока ре- гистров , 3) АЛУ (см. рис. А.5). Хотя между всеми блоками существуют специфиче- ские виды взаимодействий, каждый из них имеет свои специальные функции. Основная функция, которую выполняет блок управления и временной синхрони- зации, состоит в том, чтобы выбирать из памяти и декодировать (т.е. интерпретиро- вать) коды команд, а затем формировать необходимые управляющие сигналы, кото- рые отсылаются в другие блоки МПУ для выполнения считанных из ЗУ команд. 924 Приложение А
В этом блоке также формируются временные и управляющие сигналы (такие как R/W, сигнал синхронизации), использование которых обязательно при работе с внешней памятью (ОЗУ и ПЗУ) и внешними устройствами ввода-вывода. Микропроцессор Рис. А.5. Основные функциональные блоки чи- па микропроцесора Блок регистров состоит из различных регистров (размещенных внутри самого МПУ), каждый из которых выполняет свою специальную функцию. Наиболее важ- ный регистр — счетчик команд, отслеживающий адреса команд в том порядке, в ко- тором они считываются из памяти. Счетчик команд использован в описании после- довательности выполнения команд, которое будет приведено дальше по тексту. Ос- тальные регистры микропроцессора служат для выполнения других важных функций: хранения декодированных кодов команд (регистр команд,.-на рисунке обо- значен как IR), аккумуляторный регистр (обозначен как А), в котором хранятся данные, обрабатываемые АЛУ, регистр указания данных (DPTR), в котором хранят- ся адреса данных, считываемых из памяти, и другие регистры общего назначения, выполняющие функции хранения и счета (R0-R7). Следует отметить, что все микро- процессоры имеют один особый регистр, который интенсивно используется при вы- числениях, — он называется аккумуляторным, или A-регистром. В нем хранится один из операндов (т.е. слагаемое, множитель) любой математической или логиче- ской операции; конечный результат команды также сохраняется именно в аккуму- ляторе. Иногда этот же регистр обозначают как Асе. АЛУ выполняет над данными множество арифметических и логических опера- ций. Эти операции включают сложение и вычитание, операции И, ИЛИ, исключаю- щее ИЛИ, сдвиг данных, увеличение и уменьшение на единицу. Более прогрессив- ные МПУ имеют АЛУ, которые могут также выполнять умножение и деление. Во время работы микрокомпьютера те операции, которые должно выполнить АЛУ, контролируются блоком управления и временной синхронизации, который, естест- венно, выполняет действия, указанные кодами команд, считанных из памяти. Контрольные вопросы 1. Объясните, чем отличается микропроцессор от микрокомпьютера. ) 2. Назовите основные элементы микрокомпьютера. 3. Назовите три основных блока МПУ. 4. Какую функцию выполняет счетчик команд? Введение в микропроцессоры и микрокомпьютеры 925
А.6. Машинные слова Наименьшая единица информации в компьютере — бит, однако сам по себе один бит несет очень мало информации. По этой причине в качестве основной единицы информации была принята группа битов, которая называется [машинным] словом. Количество битов, составляющих слово, называется длиной слова. Эта величина ха- рактеризует и весь компьютер в целом, поэтому очень часто для описания системы пользуются именно машинным словом, т.е. говорят: этот компьютер — 8-битовый, а тот — 16-битовый и т.д. Например, 16-битовый компьютер — этот такой компьютер, в котором команды и данные хранятся в памяти в виде 16-битовых слов, а ЦПУ опе- рирует 16-битовыми числами. Длина слова также указывает на разрядность шины данных, по которой данные передаются между процессором и памятью или между процессором и устройствами ввода-вывода. Встроенные микроконтроллеры обычно оперируют словами из 4, 8 или 16 бит. Современные персональные компьютеры могут иметь размер слов до 64 бит. Обычно компьютер с большей длиной слова может исполнять программы с большей скоро- стью, так как в одно слово вмещается больший объем команд или данных. Однако увеличение длины слова означает также большее количество проводящих дорожек шины данных и, следовательно, большее количество связей между ЦПУ, памятью и устройствами ввода-вывода. Группа из 8 бит называется байтом. Благодаря тому, что 8-битовые микроком- пьютеры получили широкое распространение на протяжении длительного времени их применения, а также вследствие того, что ASCII-коды позволяют поместить один символ как раз в один байт, эта величина остается основной единицей описания раз- мера машинного слова и емкости памяти даже в компьютерах с большей длиной сло- ва. Можно сказать, что 8-битовый компьютер имеет длину слова, равную 1 байту, 16-битовый — равную 2 байтам и т.д. Память, в которой может храниться 128к 16-битовых слов, имеет емкость 256к байт (128к х 8 х 2 байта) или 256 кБ*. Типы машинных слов Слово, хранящееся в памяти компьютера, содержит любой из двух типов инфор- мации: команд/ или данные. Данные могут представлять собой числовую или сим- вольную информацию, обрабатываемую программой, которую выполняет централь- ный процессор системы. Данные могут быть представлены в нескольких видах, включая числа со знаком или без него, двоично-десятичный код, числа с плавающей запятой (т.е. в виде так называемой инженерной записи, с мантиссой и степенью), ASCII-кодЫ и т.п. Например, числовое значение +86ю может быть записано в память в виде 8-битового машинного слова таким образом: 01010110. А вот так выглядит запись символа “V*’ также в виде 8-битового слова: 01010110. Обратите внимание, что оба слова полностью идентичны. Компьютер не видит между ними никакой разницы, поскольку это задача программиста — помнить, ка- кой тип данных хранится в памяти и следить за тем, чтобы программа правильно интерпретировала и обработала данные. А вот еще один пример, в котором одно 16-битовое слово используется для хране- ния сразу двух ASCII-символов: 0101011001010111 V * W * В русскоязычной литературе принято сокращать бит строчной буквой “б”, а байт — заглав- ной “Б”. Таким образом 1 кб — это 1 килобит, а 1 кБ — 1 килобайт данных. — Прим, перев. 926 Приложение А
Это же самое 16-битовое слово соответствует числовому значению +2210310. Ясно, что слова большей длины могут вмещать больше символов и представлять числа большей величины. Командные слова более сложны, чем слова данных. Подробнее о них будет сказа- но в следующем разделе. Контрольные вопросы 1. Какие два типа информации могут храниться в виде машинных слов? 2. Назовите преимущество компьютеров, которые обрабатывают слова большей длины. А.7. Командные слова Формат, используемый для формирования слов данных, лишь незначительно варьируется в зависимости от типа компьютерной системы, особенно в случае, если длина слова при этом не изменяется. Однако командные слова, напротив содержат информацию, необходимую компьютеру для того, чтобы выполнить ту или иную операцию; формат и коды этих слов могут широко изменяться для разных типов компьютерных систем. Информация в командном слове зависит от компьютера, в котором это слово используется. Для большинства компьютеров такие слова состоят из двух частей: информации об операции, которая должна быть выполнена, и адреса операнда (данных), над которыми эта операция производится. , На рис. А.6 показан пример одноадресного командного слова для процессора се- мейства 8051. Восемь битов этого слова разделены на две части. Первая часть (биты 7...3) содержит 5-битовый код операции, идентифицирующий операцию, которую компьютер должен выполнить: например, сложение, вычитание или перемещение данных. Вторая часть (биты 2, 1 и 0) представляет собой адрес операнда, который определяет участок памяти, где хранится сам операнд. Командное слово Код операции Адрес (5 битов) (3 бита) 1 1 1 1 J 7 6 5 4 3 2 1 О Рис. А.6. Типичное одноадресное командное слово Если бы все команды семейства 8051 процессоров имели такую же форму, как показано на рис. А.6 (пятибитовый код операции и трехбитовый адрес), то полное число возможных команд (определяемое количеством различных кодов операций) со- ставило бы 25 = 32. Полное число регистров или участков памяти, в которых могли бы храниться обрабатываемые операнды, составило бы всего 23 = 8 — это серьезно ограничивает возможности микропроцессоров. Однако существуют различные пути увеличения количества возможных команд без увеличения длины слова, о чем будет сказано в следующем разделе. Важным моментом, который касается из описанной формы команд и на который обязательно следует обратить внимание, является то, что первые пять битов слова дают микропроцессору инструкцию, что надо сделать. Три последних бита указыва- ют, где взять данные. В качестве примера приведем команду процессора семейства Введение в микропроцессоры и микрокомпьютеры 927
8051 — команда “ПЕРЕМЕСТИТЬ в аккумулятор данные из регистра 3”, которая бу- дет иметь следующий вид: 11101 011 код операции адрес регистра Код операции указывает компьютеру, что из одного из регистров памяти нужно переместить байт данных в регистр А (аккумулятор). Три последние бита указывают, что перемещаемый байт данных хранится в регистре №3 (0112). Таким образом, дво- ичный код команды представляет собой некоторую однозначно определяемую опера- цию. Вместо того чтобы писать команды в двоичном коде, часто производят запись в шестнадцатеричном формате; данная команда будет записана в нем как ЕВ. Код ко- манды будет храниться в памяти микрокомпьютера вместе с некоторым количеством других команд, которые вместе составляют программу. В какой-то момент времени эти команды считываются из памяти и декодируются. В результате исполнения все той же описанной выше команды произойдет следующее: данные, состоящие из восьми битов и хранящиеся в регистре R3, будут перемещены (а фактически — скопированы) в аккумулятор. Исходное содержимое аккумуляторного регистра будет стерто. Далее эта и другие команды будут описаны более детально. Многобайтовые команды Итак, командные слова состоят из кода операции и адреса операнда, которые со- держатся в одном слове. Иными словами, полное командное слово (как на рис. А.6), хранится в одном участке памяти. Если бы все команды можно было закодировать подобным образом, то для размещения всех возможных команд и адресов операндов пришлось бы увеличивать длину слова компьютерных систем. Компьютеры, длина слов которых достаточно велика, максимально используют эту возможность, но вот, скажем, процессоры семейства 8051 ограничены восьмибитовыми словами. Чтобы увеличить количество возможных команд и обеспечить высокую гибкость при досту- пе к данным, большинство компьютеров с небольшой длиной слова используют для описания одной команды не одно, а несколько слов. Обычно применяются три основ- ных формата команд: однобайтовый, двухбайтовый и трехбайтовый. Все они проил- люстрированы на рис. А.7. Рис. А.7. Форматы команд, используемые в восьми- битовых микрокомпьютерах 928 Приложение А
Команды, формат которых был показан на рис. А.6, представляют собой однобай- товые инструкции. Есть еще и такие однибайтовые команды, в которых операнд не указывается вообще. Примером такой команды служит команда очистки аккумуля- торного регистра (CLR А), которая предписывает- компьютеру сбросить все триггеры аккумулятора в нули. В этой команде все восемь битов рассматриваются как код операции, посколку указывается, что производится очистка только регистра А и ни- какого другого. В двухбайтовых командах первый байт всегда содержит код операции. Назначе- ние второго байта (операнда) состоит в том, чтобы указать значения данных, исполь- зуемых в этой самой операции. Существует несколько различных методов указания этих данных, они называются режимами адресации. Рассмотрим два режима адре- сации, которые наиболее широко используются в практике. Первый из них похож на метод, описанный ранее, в котором операнд представляет собой адрес, направляю- щий компьютер к участку памяти с записанным числовым значением. Данный ре- жим адресации получил название прямой адресации. Другой режим включает сами данные в команду как составную часть. Таким образом, операнд представляет собой именно значение данных, а не ссылку на их адрес. Это значение указывается непо- средственно за кодом операции, поэтому такой режим адресации называется непо- средственной адресацией. Необходимость в использовании трехбайтовых команд возникает тогда, когда операнд представляет собой 16-битовое число. В многобайтовых командах два или три байта, составляющие команду в целом, должны храниться в участках памяти с последовательными номерами. Это требование проиллюстрировано в табл. АЛ для случая с трехбайтной командой. В левой колонке указаны адреса участков памяти, в которых хранятся отдельные байты (слова). Эти адреса даны в шестнадцатерсгчном формате. Во втором столбце даны сами слова, записанные в память в Двоичном виде; в третьем — их шестнадцатеричные эквиваленты. Внимательно изучите таблицу перед тем, как читать текст дальше, и попытайтесь выяснить, что же в ней представлено. Таблиц? -А.1. Последозатёльность комамдчпрограмма), хранящаяся в памяти__________________________________________________________ Адрес памяти Двоичный код Шестнадцатеричный эквивалент I Описание 2050 ХХХХХХХХ XX Первая команда программы 2051 -г 2052 2377 00000010 02 Код операции команды перехода (LJMP) 2378 00100000 20 Старший бит адреса перехода 2379 01010000 50 Младший бит адреса перехода 23 7А К примеру, рассмотрим команду, которая указывает компьютеру совершить пере- ход обратно к первой команде и начать программу заново. Эта команда показана в Введение в микропроцессоры и микрокомпьютеры 929
табл. А.1 так, как она записана в памяти. Первый ее байт представляет собой код операции (02), который, собственно, и указывает компьютеру на переход. Этот код также информирует устройство управления о том, что данная команда является трехбайтной и для того, чтобы знать адрес, куда следует перейти, компьютер должен считать из памяти два следующих байта. Вместе эти байты составляют 16-битовый адрес той команды, которая должна быть выполнена следующей. Здесь необходимо еще раз вспомнить, что счетчик команд всегда содержит адрес следующей команды. Когда этот счетчик переходит к участку памяти с номером 2377, компьютер считы- вает код операции, равный 02. Затем он считывает два следующих байта (20 и 50) и загружает их в счетчик команд. Новый адрес будет обозначать месторасположение следующей команды, которая будет считана из памяти, т.е. участок 2050 вместо уча- стка 237А. Контрольные вопросы 1. Что такое код операции? 2. Что такое адрес операнда? 3. Какая информация содержится в первом байте многобайтной команды? А.8. Выполнение программы машинного языка Командные слова, о которых шла речь в предыдущем разделе, получили название машинного языка, потому что команды имеют вид единиц и нулей, а это единствен- ный язык, который “понимает” вычислительная машина (компьютер). Для програм- мирования ЭВМ могут быть использованы многие языки (например, бейсик или С). Эти высокоуровневые языки были разработаны для того, чтобы облегчить написание программ. Важно понимать, что программы, написанные на языках высокого уров- ня, должны быть преобразованы в команды машинного языка и помещены в память компьютера, и только потом компьютер сможет их выполнить. В типичном микро- компьютере преобразование из языка С в машинный язык выполняется с помощью специальной программы, которая называется компилятором. Компилятор обязатель- но присутствует на любом персональном компьютере. Для того чтобы использовать эту программу, программист создает текстовый файл, состоящий из команд какого- нибудь языка программирования. Затем компилятор переводит эти высокоуровневые команды в набор двоичных инструкций (команды машинного языка), которые и за- гружаются в память микрокомпьютера. Чтобы проиллюстрировать, как микрокомпьютер выполняет программу машинно- го языка, используем команды, описанные в табл. А.2. Они составляют часть набора инструкций цР семейства 8051, но при этом приведенные команды представляют со- бой типичные виды команд, используемых для большинства микропроцессоров. Ка- ждая команда сопровождается мнемоникой (или аббревиатурой), которую запомнить намного легче, чем код операции. Все мнемоники набора команд компьютера назы- ваются языком ассемблера. Внимательно прочтите описания всех команд и помните о том, что в таблице приведены только коды операций, но не операнды. А теперь используем некоторые команды процессоров семейства 8051, приведен- ные в табл. А. 2, для написания программы машинного языка, которая начинается с адреса 0000Н и функционирует следующим образом: 1. Выполняет переход на правильный адрес начала программы. 2. Определяет, равно ли значение аккумулятора 0. 3. Если А * 0, то значение аккумулятора выдается на порт 1. 930 Приложение А
4. Ждет 1 секунду. 5. Уменьшает значение аккумулятора на 1. 6. Повторяет всю последовательность с шага 3 до тех пор, пока содержимое акку- мулятора будет равно 0. ^Таблица Л.2. Некоторые команды процессоров семейства 8051 Код операции Мнемоника Двоичный Шестнадцатеричный Описание операции LJMP адрес 0000 0010 02 Длинный переход. Переход программы от текущего участка памяти к адресу, указан- ному двухбайтовым операндом. MOV А, текущий адрес 1110 0101 Е5 Перемещение данных из участка памяти с текущим адресом в аккумулятор. Значение содержимого текущего участка памяти пе- ремещается в регистр А. MOV текущий адрес, А 1111 0101 F5 Перемещение данных из регистра А в уча- сток памяти с текущим адресом. Значение содержимого аккумулятора перемещается в текущий участок памяти. DEC А 0001 0100 14 Уменьшение на единицу данных аккумуля- тора. Из значения данных регистра А от- нимается 1. JNZ адрес 0111 0000 70 Условный переход; выполняется при А * 0. Если А # 0, то следующая команда будет считана из участка памяти, адрес которого указан операндом. Иначе считывается сле- дующая по порядку команда. JZ адрес 0110 0000 60 Условный переход; выполняется при А = 0. Если А = 0, то следующая команда будет считана из участка памяти, адрес которого указан операндом. Иначе считывается сле- дующая по порядку команда LCALL адрес 0001 0010 12 Длинный вызов подпрограммы. Начинает выполнение короткой программы, которая называется подпрограммой. После ее за- вершения программа возвращается к ко- манде, идущей сразу за командой LCALL. RET 0010 0010 22 Возврат из подпрограммы. Возвращает компьютер к тому участку памяти, из кото- рого произошел вызов подпрограммы. В табл. А.З эта программа показана в том виде, в котором она должна быть вве- дена в память компьютера. Заметим, что программу машинного языка представляют собой только два первых столбца; остальная информация включена в таблицу ис- ключительно в описательных целях. Итак, в первом столбце показан список шестна- дцатеричных адресов всех ячеек памяти, используемых программой. Во втором столбце даны шестнадцатеричные эквиваленты слов, которые хранятся в этих ячей- ках. Помните, что эти значения представляют собой не что иное, как двоичные адре- са и коды команд, которые компьютер “понимает” только в таком виде. В третьем столбце приведены мнемоники языка ассемблера и адреса операндов (если таковые имеются), связанные с конкретными командами. И наконец, в послед- нем столбце даны описания всех операций, которые осуществляются при выполне- нии каждой команды. Например, первая команда программы представляет собой Введение в микропроцессоры и микрокомпьютеры 931
трехбайтную инструкцию. Первый байт хранится в участке памяти под номером 0000 — это код операции, равный 02. Второй и третий байты команды хранятся по адресам 0001 и 0002 и представляют собой адрес операнда — 0100. Мнемоникой этой команды является запись LJMP 0100Н. Данная аббревиатура обозначает операцию длинного перехода, а число 0100 указывает адрес операнда. Литера Н используется для того, чтобы показать, что адрес представлен в шестнадцатеричном формате. Таблица А.З. Нскотопые^командытлроцёссоров семегства 8051 Адрес памяти (шестнадцатеричный формат) Содержимое памяти (шестнадцатеричный формат) Язык ассемблера Описание 0000 02 LJMP 01 ООН ;Переход к началу программы 0001 01 0002 00 0100 60 JZ 010АН ;Начать приготовление пи- щи? 0101 08 0102 F5 MOV Р1, А ;Вывести время приготовле- ния на порт 1 0103 90 0104 12 LCALL 1_SEC_DELAY ;Ждать 1 секунду 0105 28 0106 55 0107 г / 14 DEC А ;Вычесть 1 секунду из ука- занного времени 0108 70 JNZ 0102Н ;Готова ли пища? 0109 F8 010А ******* Здесь продолжается основная программа. ******* Одно из самых типичных применений встроенного микропроцессора — это систе- ма управления микроволновой печи. Блок-схема такой системы показана на рис. А.8. Анализ всех команд машинного языка, используемых при программирова- нии современных печей, — непомерно сложная задача, так как этих команд очень и очень много. Поэтому изучим работу небольшой части стандартной программы и бег- ло ознакомимся с тем, как эта программа управляет системой. В примере, приведен- ном в табл. А.З, показан небольшой участок программы управления микроволновой печью, и тот — в упрощенной форме, которую можно легко осмыслить. Задача дан- ного участка программы — определить, не равно ли нулю значение данных в акку- муляторном регистре. Данные в аккумуляторе представляют собой число секунд, за которое микроволновая печь должна приготовить пищу. Если в регистр А было запи- сано ненулевое значение, то программа выдает его на выходной порт (индикатор) и отсчитывает интервалы с периодом 1 секунда до тех пор, пока значение содержимого 932 Приложение
аккумулятора не станет равным О. Затем продолжается выполнение остальной части программы. Программа начинается с адреса 0000, т.е. в момент включения питания; в этот момент всегда происходит сброс системы. Команда, которая хранится по этому адресу, представляет собой переход, который указывает устройству управления пе- рейти к выполнению тела основной программы. В данном случае основная программа записана, начиная с адреса 0100. В этой точке система принимает решение — следу- ет ли немедленно сделать переход к остальной части программы (по адресу 010А) или выполнить команды, записанные по адресам 0102-0109. В любом случае система должна выполнить остаток тела программы, который начинается с адреса 010А, и так продолжается до тех пор, пока программа не получит указания перейти обратно к адресу 0100 и выполнить всю последовательность команд снова. Посвятите немного времени изучению программы, фрагмент которой приведен в табл. А.З, и попробуйте понять принцип ее построения. Устройства ввода Микрокомпьютер Устройства вывода Рис. А.8. Блок-схема системы управления микроволновой печи Выполнение программы А теперь проследим за выполнением представленной выше программы от начала до конца и опишем поведение микропроцессора на каждом ее шаге. Рассмотрим только основные операции программы, опуская все лишние детали и процессы, про- исходящие во встроенном компьютере. Компьютер всегда выполняет один из двух операционных циклов: (1) цикл выборки данных из памяти, во время которого уст- ройство управления считывает коды команд (т.е. код операции плюс адрес операнда); и (2) цикл выполнения команды, во время которого устройство управления осущест- вляет операцию, определяемую кодом операции. Программа начинается с момента, когда оператор активирует вывод сброса (RESET) микропроцессора, что происходит при включении питания. При этом счет- чик команд начинает счет с адреса 0000. Как уже упоминалось ранее, счетчиком ко- манд называется счетчик из состава устройства управления, который отслеживает адреса команд программы во время их последовательного выполнения. 1. Устройство управления считывает из памяти первый байт программы, находя- щийся по адресу 0000, как это определено счетчиком команд. Этот байт равен 02Н — код операции первой команды. Логика внутри устройства управления оп- ределяет, что данный код операции указывает программе совершить переход (LJMP), а два следующих байта представляют собой операнды этой команды, ко- торые указывают адрес перехода. Сначала устройство управления считывает старшие биты адреса назначения, затем — младшие. Введение в микропроцессоры и микрокомпьютеры 933
2. Для того чтобы выполнить данную команду, 16-битовый адрес назначения (0100Н) загружается в счетчик команд. Следующая команда, выполняемая сис- темой, будет размещаться по адресу 0100Н. 3. Код операции 60Н, который считан из участка памяти с адресом 0100Н, декоди- руется как условный переход (JZ). Устройство управления также определяет, что эта команда является двухбайтной и считывает ее операнд (С8Н). Операнд ука- зывает устройству управления, как далеко нужно совершить переход в том слу- чае, если условие выполняется, т.е. переход будет выполнен только в том случае, если содержимое аккумулятора равно 0. Блок управления системы проверяет ак- кумуляторный регистр, и если Асе = 0, счетчик команд переходит к адресу 010АН. Если же Асе # 0, то устройство управления выполнит считывание из па- мяти кода операции следующей по порядку команды, в данном случае — 0102Н. Каким же образом попадают ненулевые числа в аккумулятор? За ввод временно- го значения с передней панели микроволновой печи в аккумуляторный регистр отвечает другая часть программы. Чтобы не усложнять пример, эту часть про- граммы мы оставили “за бортом” повествования, и домыслить ее функции чита- тель может самостоятельно. Пока что ограничимся тем, что предположим, что микропроцессор выполнил цикл программы несколько раз и в регистр А были занесены данные. 4. Выполнение команды JZ переводит счетчик команд к адресу 0102Н, так как Асе * 0. 5. Из участка памяти с адресом 0102Н считывается код операции. Он равен F5 — этим устройству управления сообщается о передаче числового значения из акку- мулятора. Чтобы узнать, куда же его передать, процессор считывает из памяти следующий байт. В данном случае этот байт (ЭОН) указывает на то, что значение выдается на выходной порт № 1. 6. Эта команда копирует содержимое аккумулятора в регистр выходного порта. Значение выдается на внешний порт для того, чтобы его логические элементы, подключенные к индикатору, могли отобразить на дисплее число секунд. 7. Счетчик команд увеличивает свое значение на единицу до адреса 0104Н, т.е. счи- тывается следующий код операции. Новая команда (12Н) является вызовом под- программы. Это значит, что микропроцессор приостанавливает исполняемую часть программы и переходит к выполнению новой последовательности команд, хранящихся где-то в памяти. Два следующих байта (28Н и 55Н) указывают сис- теме начальный адрес подпрограммы. 8. Чтобы выполнить команду вызова, процессор запоминает адрес основной про- граммы, к которому он должен вернуться после завершения подпрограммы (в данном случае это адрес 0107Н), и только затем загружает в счетчик команд но- вый адрес — 2855Н. По этому адресу находится первая команда программы за- держки таймера на 1 секунду. Последней командой в подпрограмме обязательно должна быть указана команда RET, которая возвращает счетчик команд по адре- су 0107Н по истечении 1 секунды. 9. Код операции, считанный из памяти по адресу 0107Н, декодируется микропро- цессором как уменьшение содержимого аккумулятора на единицу. Это однобайт- ная команда, поэтому операнд указывать не нужно. В результате выполнения команды, число, хранящееся в регистре А, уменьшается на 1. Счетчик команд автоматически переходит к следующей команде, расположенной по адресу 0108Н. 10. В участке с адресом 0108Н находится код операции следующей команды (70Н). Данный код распознается микропроцессором как команда JNZ (условный пере- ход, который выполняется в том случае, если результат не равен 0). Таким обра- зом, система снова принимает решение, исходя из текущего содержимого акку- муляторного регистра. 934 Приложение А
11. Если значение аккумулятора достигло величины ООН, это означает, что пища го- това. В этом случае, процессор продолжает выполнение основной программы, т.е. считывает команду по адресу 0108Н. 12. Если значение в регистре А все еще больше, чем ООН, то нужно продолжить цикл и отсчитывать секунды далее до тех пор, пока таймер пе достигнет нуля. Это бу- дет означать, что программа должна вернуться к адресу 0102Н. Чтобы узнать, насколько далеко следует вернуться назад, программа считывает операнд коман- ды, хранящийся по адресу 0109Н. Это значение сравнивается с текущим значе- нием счетчика команд и изменяет его на адрес 0102Н. Описанная выше программа иллюстрирует множество процессов, происходящих в компьютере во время выполнения программы машинного языка, но она даже не приближается к полному описанию всех возможностей и универсальных свойств компьютеров. Важно понять, что выполнение программы происходит последователь- но, шаг за шагом, начиная с первого адреса (в данном случае — 0000), и при этом очень быстро. К примеру, в данной программе выполнение каждой команды занима- ет не более 1-2 мкс при условии использования стандартного микроконтроллера. Контрольные вопросы 1. Какая разница между программой машинного языка и программой, написан- ной на каком-либо высокоуровневом языке? 2. Что такое мнемоника команды? 3. Что происходит во время цикла считывания (выборки) команды? И во время цикла выполнения команды? / 4. Какова функция счетчика команд? А.9. Структура типичного микрокомпьютера Существует большое разнообразие микрокомпьютеров, которые широко варьиру- ются по разрядности шин данных и адреса, а также по используемым сигналам управления, но в целом все микрокомпьютеры примерно одинаковы по своей струк- туре и принципам работы. Чтобы получить четкое представление о принципах функ- ционирования микрокомпьютеров, необходимо выбрать только один тип микроком- пьютера и на его основе детально изучать принципы их работы. Имея ясное пред- ставление о структуре такой типичной системы, вы без труда сможете изучить остальные типы микрокомпьютеров. Проанализируйте систему на основе микропро- цессора 8051, структура которого показана на рис. А.9. Примерно та же структура используется и в большинстве других восьмибитных микропроцессоров. Централь- ный процессор, показанный на рисунке, состоит из кристалла с микропроцессором 8051, подключенного к нескольким вспомогательным микросхемам для того, чтобы построить требуемую структуру шины. Не вдаваясь в детали подобного соединения логических схем, сосредоточимся на описании различных типов шин, соединяющих ЦПУ с остальными элементами микрокомпьютера, а также на использовании этих шин при функционировании микрокомпьютера. Введение в микропроцессоры и микрокомпьютеры 935
Системные шины Микрокомпьютер содержит три шины, по которым переносится вся информация и любые сигналы, участвующие в функционировании системы. Эти шины соединяют микропроцессор (ЦПУ) с устройствами памяти и ввода-вывода данных таким обра- зом, что процессор и любой из этих элементов могут свободно обмениваться инфор- мацией. Другими словами, ЦПУ постоянно вовлечен в процесс передачи или приема информации из памяти, входного или выходного устройств. Вся информация в цС передается с использованием ЦПУ. Процесс пересылки данных к другому элементу компьютера называется операцией записи; во время этой операции ЦПУ указывает элемент, куда осуществляется запись. Процесс получения микропроцессором данных с другого элемента называется операцией чтения, и во время этой операции ЦПУ считывает данные с выбранного элемента. Очень важно усвоить, что термины чтение и запись всегда относятся к операциям, осуществляе- мым процессором. Ниже описаны все три шины, которые используются при передаче данных, и их функции: Шина адреса. Это однонаправленная шина, так как информация передается по ней только в одном направлении — от ЦПУ к памяти или к элементам ввода- вывода. Только центральный процессор может устанавливать логические уровни на линиях шины адреса. В данной системе процессор может формировать 21в = 65536 различных адресов, каждый из которых соответствует одному участ- ку памяти или одному элементу ввода-вывода. Например, адрес 20A0i6 может относиться либо к участку ОЗУ или ПЗУ, в котором хранится одно восьмибито- вое слово, либо к восьмибитовому буферному регистру, который является частью 936 Приложение А
логики интерфейса с жидкокристаллическим индикатором (ЖКИ) или цифро- аналоговым преобразователем. Когда ЦПУ необходимо связаться (записать или считать информацию) с каким- то конкретным участком памяти или элементом ввода-вывода, он помещает со- ответствующий 16-битовый код адреса на 16 своих выводов адреса, т.е. выдает биты с Ао по Л15 на шину адреса. Эти биты затем декодируются, чтобы можно было выбрать требуемый участок памяти или элемент ввода-вывода. Процесс де- кодирования адреса выполняется с помощью соответствующей логики, которая не показана на рис. А.9. Шина данных. Это двунаправленная шина — данные по ней могут передаваться как к ЦПУ, так и от него. Восемь выводов данных микропроцессора, с Do по Di, могут служить и входами, и выходами в зависимости от того, какую операцию в настоящий момент выполняет ЦПУ: чтения или записи. Во время операции чте- ния эти выводы работают как входы и получают данные, которые выдаются на шину данных из какого-либо участка памяти или элемента ввода-вывода, вы- бранных с помощью кода адреса. Во время операции записи выводы центрального процессора действуют как выходы и выдают на шину данных информацию, кото- рая затем пересылается в память или на какой-либо элемент ввода-вывода. В лю- бом случае, передаваемые слова данных имеют длину восемь битов, потому что рассматриваемый процессор может оперировать только восьмибитовыми словами. Шина управления. По этой шине передается набор сигналов, которые использу- ются для синхронизации работы отдельных элементов цС. Некоторые из этих сигналов, такие как ALE, PSEN , RD и WR , передаются на другие элементы системы центральным процессором для того, чтобы сообщить им, какой тип операции выполняется в текущий момент. Сигнал ALE отвечает за включение защелки на шине адреса и приобретает высокий логический уровень тогда, когда ЦПУ выдает на эту шину восемь младших битов, с AD0 по ADi. С помощью сиг- нала ALE включается защелка на шине адреса, которая ‘'запоминает” выданный младший байт. Сигнал PSEN приобретает низкий логический уровень, если ЦПУ необходимо извлечь из памяти очередную команду программы и выдать ее на шину данных. Сигнал RD также приобретает низкий уровень, если ЦПУ хо- чет извлечь байт данных из памяти или с внешнего порта и выдать ее на шину данных. Сигнал WR приобретает низкий уровень напряжения только в том слу- чае, если ЦПУ выдает на шину данных байт информации, который необходимо записать во внешнюю память или выдать на выходной порт системы. Элементы ввода-вывода микрокомпьютера также могут выдавать управляющие сигналы на ЦПУ. В качестве примера можно привести хотя бы тот же сигнал RESET, кото- рый поступает на соответствующий вход процессора (вход RST). Если сигнал на этом входе переходит в высокий логический уровень, то ЦПУ сбрасывается в оп- ределенное начальное состояние. Другим примером служат сигналы прерывания, которые поступают на вход INTO микропроцессора; эти сигналы используются устройствами ввода-вывода для того, чтобы обратить внимание процессора на необходимость немедленного выполнения другой задачи. Порты ввода-вывода Во время выполнения программы центральный процессор непрерывно считывает или записывает данные в память. Программа может также дать команду ЦПУ на считывание информации с одного из входных устройств или на запись информации на одно из выходных. Хотя на структурной схеме восьмибитового микрокомпьютера (см. рис. А.9), показано только по одному входному и выходному устройству, их ко- личество может быть достаточно большим, и каждое из них должно быть подсоеди- Введение в микропроцессоры и микрокомпьютеры 937
нено к системным шинам. Устройства ввода-вывода обычно подключают к шинам микрокомпьютера при помощи какой-нибудь схемы интерфейса. Функцией такой схемы является сопряжение микрокомпьютера и внешнего устройства, т.е. нужно сделать их совместимыми, чтобы данные могли передаваться от одного к другому. Интерфейс используется каждый раз, когда устройство ввода-вывода работает с от- личными от микрокомпьютера логическими уровнями, сигналами синхронизации или форматами сигналов. Несмотря на то, что работа с устройствами ввода-вывода напоминает обращение к участкам памяти, существуют моменты, которые значительно отличают эти устрой- ства по своему функционированию. Например, внешние устройства имеют свойство прерывать работу процессора при выполнении программы. Это значит, что устройст- во ввода-вывода может посылать на специальный вход ЦПУ (INTO) сигнал прерыва- ния, который сообщает процессору о том, что одно из внешних устройств должно об- меняться с ним информацией. В этом случае микропроцессор приостанавливает вы- полнение программы, которая обрабатывается в текущий момент, и принимает необходимые меры по установлению связи с запросившим устройством. ОЗУ и ПЗУ обычно не имеют свойства прерывания. Временные процессы Логика процессора 8051 включает в себя встроенный осциллятор (генератор коле- баний), который формирует общий для всех компонентов синхронизации сигнал. Ко входам Xi и Хг микропроцессора подключен внешний кристалл*, который задает колебания с очень точной и стабильной частотой (см. рис. А.9). Зная эту частоту, можно точно определить время, затрачиваемое ЦПУ на выполнение каждой опера- ции. Обычно в паре с процессором 8051 применяют кристалл с частотой около 12 МГц. Все операции системы (такие как выборка и выполнение команд, чтение и запись данных) можно разбить на определенные временные интервалы, которые называются машинными циклами. Каждый такой цикл состоит из 12 циклов сигнала синхрони- зации, и, таким образом, при частоте задающего генератора, равной 12 МГц, один машинный цикл длится примерно 1 мкс. Почти все команды процессора 8051 вы- полняются в один или два машинных цикла. Как указывалось ранее, микропроцессор непрерывно считывает из памяти и вы- полняет команду. Выполнение большинства команд включает в себя операции, свя- занные с внутренней логикой ЦПУ (например, перемещение данных из регистра в регистр, сложение числовых значений и т.д.). Однако можно выделить всего три от- дельных типа шинных циклов, которые показаны в табл. А.4. а А.4. Шинные циклы процессора 8051 Тил цикла Сигнал Направление передачи данных Выборка данных PSEN ЦПУ + - программная память Чтение данных RD ЦПУ < - устройство ввода-вывода или память Запись данных WR ЦПУ <- - устройство ввода-вывода или память Во время одного машинного цикла (12 периодов сигнала синхронизации) процес- сор успевает выполнить две выборки или произвести один цикл чтения или записи данных. Каждый тип шинного цикла представляет собой строго определенную по- следовательность событий: * Обычно это кварц — Прим, перев. 938 Приложение А
1. ЦПУ выдает на шину адреса стабильный по времени и логическим уровням адрес (сигнал ALE = 1). 2. ЦПУ обрабатывает соответствующий передаче данных сигнал управления (PSEN , RD или WR = 0). Точно так же, как увидев огни светофора, ясно, кто из водителей на перекрестке имеет право проезда, можно определить текущий тип шинного цикла при условии, что вы знаете логические уровни четырех сигналов управления и синхронизации: ALE, PSEN , RD и WR . При этом вы также сможете установить тип информации, передаваемой по шине, и пункт ее отправления. Временные диаграммы, изображен- ные на рис. А. 10, иллюстрируют процесс считывания и выполнения двух команд. Первая команда загружает в регистр указания данных DPTR число 3000Н; вторая — записывает содержимое аккумулятора во внешнюю память, используя адрес из реги- стра DPTR. Когда сигнал управления ALE принимает состояние с высоким логиче- ским уровнем, на шину данных выдается адрес (биты AD0-ADi). Когда активизиро- ван сигнал PSEN (он имеет низкий уровень напряжения) на линии AD0-ADi выда- ется байт команды. Если низкий уровень имеет сигнал WR , то процессор выдает на шину числовые данные, которые должны быть записаны в память. В рассматривае- мом примере из внешней памяти информация не считывается, поэтому сигнал RD в состояние с Низким уровнем не переходит вообще. 'Записать значение аккумулятора по адресу, ALE PSEN RD WR Ai 5-Aq Описание Мнемокод Машинный кед “Загрузить DPTR с номером 3000Н" и. MOV DPTR. А3000Н хранящемуся в DPTR" ( MOVX ©ЙРТЙ А 90 3000 Выборка Выборка Выборка Выпол- кода операнда операнда нение операции fo , : 1 1 Выборка Выполнение кода ! операции ! j—। ।—1 ।—। i 1 1 1 j 1 |—। । ; .. 1 1 1 — _ 2000 У 2001 X 2002 X ш ч 1 1 1 1 1 1 X 2003 х X 3000 ) Значение из <1 аккумулятора j • Шинный цикл —*< внешней записи 00 ad7-ad& Х~боУ9б~УоГуЗУУо? I Рис. А.10. Временные процессы при выполнении ЦПУ 8051 двух конкретных команд Контрольные вопросы 1. Опишите функции всех трех шин типичной микрокомпьютерной системы. 2. Какая шина является однонаправленной? 3. Какие сигналы установятся на шине данных, если a) ALE = 1? б) PSEN = 0? В МИКРОПРОЦЕССОРЫ И МИКРОКОМПЬЮТЕРЫ 939
в) RD =0? г) WR = 0? 4. К какому количеству участков внешней памяти может обращаться процессор 8051? А.10. Комментарии Приложение А представляет собой лишь короткое введение в фундаментальные принципы работы, терминологию и основы функционирования наиболее распростра- ненных типов микропроцессоров и микрокомпьютеров. Очевидно, раскрыть различ- ные возможности и практические задачи, в которых применяются эти устройства, в одном разделе невозможно. Хотя, наверное, нет такой области промышленности, ко- торая бы не воспользовалась преимуществами недорого компьютерного управления при использовании систем на основе микропроцессоров. Среди самых типичных применений таких систем можно назвать микроволновые печи, видеомагнитофоны, CD-плейеры, маршрутизаторы, домашние компьютеры, электронные измерительные инструменты, средства управления промышленными процессами, электронные игры, электронные датчики контроля выхлопов автомобилей, автоматические тормозные системы, а также большое количество самых различных и самых новых продуктов. Учитывая революционное влияние, которое микропроцессоры оказали на элек- тронную промышленность, было бы наивно полагать, что человек, работающий в ка- кой-либо области электроники или связанных с ней наук, смог бы совсем обойтись без элементарных знаний основ построения и функционирования микропроцессоров. И мы искренне надеемся, что это введение послужит читателю надежным фундамен- том для дальнейшего изучения столь важного раздела компьютерной техники. Резюме 1. Микропроцессором называется сложная цифровая схема последовательного типа, которая предназначена для функционирования согласно заданной последователь- ности команд. Эта последовательность называется программой. 2. Программа хранится в запоминающих устройствах, подключенных к микропро- цессору. 3. По ходу выполнения программы микропроцессор считывает из памяти одну ко- манду, затем исполняет ее, затем считывает следующую и исполняет ее и т.д. 4. Выполнение некоторых команд предусматривает чтение значений данных из ка- ких-либо входных устройств (например, клавиатур, переключателей, аналогово- цифровых преобразователей и т.п.). Другие команды указывают микрокомпьюте- ру записать данные в какое-либо выходное устройство: ЖК-индикатор, дисплей, схему управления двигателем, цифро-аналоговый преобразователь и т.д. 5. Значения данных также могут сохраняться или быть считанными в запоминаю- щие устройства, подключенные к микропроцессору. 6. Микропроцессор соединен с памятью и устройствами ввода-вывода посредством группы сигнальных линий, которые называются шиной данных. 7. Шина адреса также подключена между микропроцессором и памятью или уст- ройствами ввода-вывода. Она служит для передачи числовых значений, одно- значно указывающих участок памяти, где записана команда или значение дан- ных, к которым пытается получить доступ микропроцессор. 8. Шина управления и временной синхронизации образуется из сигнальных линий, по которым передаются управляющие сигналы. Они координируют передачу 940 Приложение А
данных и показывают, какой тип информации передается по шине данных в те- кущий момент времени. 9. Микрокомпьютер состоит из микропроцессора, системы памяти и устройств вво- да-вывода. 10. Правильно учитывая временные процессы на системной шине, можно добавлять к микрокомпьютеру различные периферийные устройства и подстраивать аппа- ратное обеспечение под конкретные нужды. 11. Микрокомпьютеры представляют собой модульные, универсальные, легко про- граммируемые системы (например, персональные компьютеры могут использо- ваться для решения широкого спектра задач). 12. Микрокомпьютеры могут состоять из одного кристалла, встроенного в бытовой прибор (к примеру, в микроволновых печах, бытовых видеомагнитофонах). Та- кой компьютер служит для управления функционированием устройства. Основные термины программа аккумулятор программист слово память длина слова команды код операции данные режим адресации адрес прямая адресация операция непосредственная адресация операнд машинный язык адрес операнда высокоуровневый язык арифметико-логическое устройство (АЛУ) компилятор , запоминающее устройство мнемоника устройство управления язык ассемблера выходное устройство цикл выборки периферийные устройства цикл выполнения схема интерфейса шина адреса выборка (считывание) шина данных выполнение шина управления центральное процессорное устройство (ЦПУ) машинный цикл микропроцессорное устройство (МПУ) шинный цикл счетчик команд Ответы к контрольным вопросам Раздел А.4 1. Входное устройство, выходное устройство, АЛУ, устройство управления, память. По поводу их функций — см. текст раздела. 2. Центральный процессор — это блок компьютера, который объединяет арифмети- ко-логическое устройство и устройство управления. 3. Синхронизация при передаче цифровой информации между компьютером и внешними устройствами ввода-вывода. 4. Выборку из памяти и выполнение команд. Раздел А.5 1. Микропроцессор (МПУ) представляет собой центральный процессор микроком- пьютера. 2. МПУ, ОЗУ, ПЗУ, входное и выходное устройства. 3. Блок управления и временной синхронизации, блок регистров, АЛУ. 4. Отслеживает адреса команд, выполняемых в текущий момент времени. Введение в микропроцессоры и микрокомпьютеры 941
Раздел А.6 1. Данные и команды. 2. Они могут выполнять команды с большей скоростью. Раздел А.7 1. Двоичный код, идентифицирующий операцию, которая должна быть выполнена процессором. 2. Адрес данных, которые процессор должен обработать при выполнении той или иной команды. 3. Код операции. Раздел А.8 1. Программа машинного языка состоит из кодов двоичных команд, хранящихся в памяти компьютера. Программа высокоуровневого языка пишется на обычном языке программирования, а затем преобразуется в машинный язык компилято- ром — компьютер может выполнить ее только после преобразования. 2. Короткое сокращение (аббревиатура), принятое для обозначения операции. 3. Во время цикла выборки команды ЦПУ считывает из памяти код операции и ад- рес операнда. Во время цикла выполнения процессор исполняет операцию, ука- занную кодом операции команды. 4. Счетчик команд отслеживает адреса выполняемых команд в памяти. Раздел А.9 1. Шина данных: переносит данные между ЦПУ и памятью или устройствами вво- да-вывода. Шина адреса: передает коды адресов от ЦПУ к памяти или устройст- вам ввода-вывода. Шина управления: передает сигналы управления и синхрони- зации. 2. Шина адреса. 3. а) младший байт адреса; б) байт команды; в) байт данных. 4. 65536. 942 Приложение А
Приложение Б Спецификации некоторых интегральных схем Приведенные в приложении спецификации представлены с разрешения компании Texas Instruments Incorporated. 74ALS20 74НС20 74LS37 74AS20 7432 74LS112 74LS20 74S32 74S112
SN54ALS20A, SN74ALS20A DUAL 4 INPUT POSITIVE NANO GATES absolute maximum ratings over operating free air temperature range (unless otherwise noted) Supply voltage, Vcc ............................................................... 7 V Input voltage ................................................................... 7 V Operating free-air temperature range: SN54ALS20A ...................... -55°Cto125°C SN74ALS20A................................ 0°C to 70°C Storage temperature range ............................................. -65 °C to 150°C recommended operating conditions SN54ALS20A SN74ALS23A UNIT MM NOM MAX MIN NOM MAX Xcc Supply voltage 4.5 5 5 5 4.5 5 5 5 V ViH High-level input voltage 2 2 V VlL Low-level “put voltage a 0 7 0.8 V ’OH High-level output current -0.4 -0 4 mA ‘01 Low-level output Current 4 8 mA Тд Operating free-air temperature -55 125 0 70 °C electrical characteristics over recommended operating-free-alr temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS SN54ALS20A SN74ALS20A UNIT MIN TYPT MAX MIN TYPf MAX V|K Vcc ж 4.5 V. i| * - 18 mA - 1.5 - 1 5 V VOH VCC a 4.5 V to 5.5 V. 'OH * —0.4 mA VCC-2 VCC-2 V Vcc к 4.5 V. IQL « 4 mA 0.25 0.4 0-25 0 4 VOL vcc a 4.5 V. 'OL “ 8 0.35 0 5 l vcc 5 5 V. V| = 7 V 0 1 0.1 mA «1Н vcc sr 5.5 V. V| - 2 7 V 20 20 дА 'IL vcc 5.5 V. V| - 0 4 V -0 1 -0.1 mA •o: Vcc r 5.5 V. Vo » 2.25 V -30 - 112 -30 - 112 mA 'CCH Vcc ж 5 5 V. V, = 0 V 022 0 4 0.22 0.4 mA ‘CCL Vcc w 5 5 V. V| • 4 5 V 0 81 1 5 0 81 1.5 mA t AH typical value* are at Vcc » S V. Тд » 25 ®C : The output cor<*itwf have been chosen to produce a current that closely approx-таге* one half of the true shon-orcuf output current. >q$ switching characteristics (see Note 1) PARAMETER FROM (INPUT) TO (OUTPUT) Vcc - 5 V. CL - 50 pF. Rl - 500 П. Тд - 25®C VCC - < 5 V to 5.5 V. C|_ *> 50 pF. Rl - 500 П. Тд - MIN to MAX UNIT ALS20A SN54ALS20A SN74ALS20A TYP MIN MAX MIN MAX ’PLH Any Y 7 1 18 3 11 ‘PHL Any Y 6 1 15 3 10 NOTE 1: Load circuit and voltage waveforms are shown in Section 1. _ Texas Instruments wr опакк asset 2 • pahas t£*as tsies 944 Приложение Б
SN54AS20, SN74AS20 DUAL 4 INPUT POSITIVE-NAND GATES absolute maximum ratings over operating free-air temperature range (unless otherwise noted) Supply voltage. Vcc........................................................... • 7 V Input voltage.................................................................... 7 V Operating free-air temperature range: SN54AS20 ........................ -55°Cto125°C SN74AS20...................................0°C to 70°C Storage temperature range ........................................... -65 °C to 150°C recommended operating conditions SN54AS20 SN74AS20 UNIT MIN N0M MAX MIN NOM MAX vcc Supply voltage 4 5 5 5 5 4 5 5 5.5 V V|H High.level >nput voltage 2 2 V VIL low level input voiiage 0 8 0 8 V 'Он High-level output current - 2 - 2 mA •0L Lov» level output current 20 20 mA TA Operating free-аи temperature 55 125 0 70 °C electrical characteristics over recommended operating-free-air temperature range (unless otherwise noted) PARAMETER SNS4AS20 SN74AS20 UNIT itai uuNuiiiuna MIN TY₽f MAX MIN TYP* MAX VIK VCC Л 4.5 V I| • - 18 mA - 1.2 - 1 2 V VOH VCC - 4 5 V to 5 5 V. 'OH ” -2 mA VCC-2 VCC -2 V v0L vcc = 4 5V Iql = 20 mA 0 35 0.5 0.35 0.5 V l| Vcc ж 5 5V V| - 7 V 0 1 0.1 mA >IH vcc - 5 5V V| = 2 7 V 20 20 nA 'lL VCC 5 5V V| -04V 0.5 0.5 mA 'o1 vcc - 5.5 V VO - 2 25 V - 30 - 112 - 30 112 mA 'CCH vcc •• 5 5 V. V| - 0 V 1 1 6 1 1.6 mA 'CCL vcc T 5 5 V. V| = 4 5 V 5 4 8 7 5.4 8 7 mA * All typical values are ai Vcc ” 5 V. Тд . 25 ®C. 1 The output conditions have been chosen to produce a Current that closely approximates one half of the true short circuit output current. Iqs switching characteristics (see Note 1) PARAMETER FROM (INPUT) TO (OUTPUT) Vcc “ 4 6 V to 5.5 V. CL - 50 pF. RL - 500 0. Тд - MIN to MAX UNIT SN54AS20 SN74AS20 MIN MAX MIN MAX 1PLH Any Y 1 5 5 1 5 ns tpHL Any Y 1 5 1 45 NOTE 1 Load circuit and voltage waveforms are shown m Section 1. Спецификации некоторых интегральных схем 945
TYPES SN54LS20, SN74LS20 DUAL 4-INPUT POSITIVE-NAN D GATES recommended operating conditions SN54LS20 SN74LS2O UNIT MIN NOM MAX MIN NOM MAX Vcc voltage 4.5 5 5.5 4.75 5 5 25 V VIH High-level input voltage 2 2 V V(l Low-level input voltage 0.7 0.8 V •OH High-level output current -0.4 -0.4 mA |QL Low-level output current 4 8 mA Тд Operating free-air temperature - 55 125 0 70 °C electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS t SN54LS20 SN74LS20 UNIT MIN TYPt MAX MIN TYPt MAX VIK VCC-MIN. 1,--18 mA - 1.5 - 1.5 V Voh VCC * MIN, V)t_ • MAX, lQH--0 4mA 2.5 3.4 2.7 3.4 V vql VCC-MIN, VIH-2V, lOu - 4 mA 0.25 0.4 0.4 V VCC-MIN. V|H-2V. l0L-8mA 0.25 0.5 i VCC "MAX. V|-7V 0.1 0.1 mA l|H VCC - MAX, vl ' 27 v 20 20 яА fIL VCC-MAX. V|-0.4V -0.4 -0.4 mA 'os* vcc - MAX - 20 - 100 -20 - 100 mA 'CCH VCC’MAX- Vj-OV 0.4 0.8 04 0.8 mA 'CCL VCC’MAX- V| - 4.5 V 1.2 2.2 1.2 2.2 mA t For conditions shown as MN or MAX. use th* appropriate velua spa. * rd under recommended operating conditions. t All typical values are at Vqq • 5 V, Тд • 25°C ( Not more then ona output should ba shorted at a t>m* end th* duration of th* short-circuit should not aaeaed Ona second switching characteristics, Vcc * 5 V, Тд e 25°C (see note 2) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MIN TYP MAX UNIT «PLH АЛу Y RL-2kn. Cl “15 pF 9 15 ns IPHL 10 15 ns NOTE 2: See General information Section for load O'cu<ta and voltage waveforms 946 Приложение Б
HIGHSPEED CMOS LOGIC TABLE I SPECIFICATIONS FOR HC SSI CIRCUITS D2SO4 DECEMBER 1982 - REVISED MARCH 1984 absolute maximum ratings over operating free-air temperature range * Supply voltage range. Vcc........................................................ -0.5 V to 7 V Input diode current. I|K<V| < 0 or V| > Vcc) ......................................... ±20 mA Output diode current. Iqk(V0 < 0 or Vq > Vcc>................... ..................... ±20 mA Continuous output current. Iq IVq = 0 to Vcc>......................................... ±25 mA Continuous current through Vcc or 6ND pins ........................................... ±50 mA Lead temperature 1.6 mm (1/16 meh) from case for 60 seconds: FH. FK. or J package .... 300 °C Lead temperature 1.6 mm (1/16 inch) from case for 10 seconds: FN or N package......... 260°C Storage temperature range ........................................... -65°Cto150°C r Stresses beyond those listed under "absolute max тххп ratings" may cause permanent damage to the device. These are stress ratings only and functional operation of ths devics at these or any other conditions beyond those indicated under "recommended operating condit'pns ' is not impl-ed Exposure to absolute-max mum rated conditions for extended per-ods may affect device reliability recommended operating conditions SN54HC* SN74HC* UNIT MIN NOM MAX MIN NOM MAX VCC Supply voltage 2 5 6 2 5 6 V Vih High-ievei input voltage VCC • 2 V vcc ’ 4 5 V VCC - 6 V 1 5 315 4 2 1 5 3.15 4 2 V V|L Low-level nput voltage VCc • 2 V VCC f 5 V Vcc - e v 0 0 3 0 0.9 0 1.2 0 0.3 0 0 9 0 1.2 V V| Input voltage 0 vcc ° vCc V Vq Output voltage 0 Vcc о r VCC V Input transition (rise and fall times lexcept Schmitt-trigger inputs) Vcc • 2 v Vcc - * 5 V Vcc “ 6 v 0 1000 0 500 0 400 0 1000 0 ’ 500 0 400 ns Тд Operating frea-sir temperature -55 125 -40 85 •c electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS vcc Тд - 25 *C SN54HC' SN74HC' UMT MIN TVP MAX MIN MAX MIN MAX v0M iTotem-poie outputs! V| « Vih «” vn_. |QH “ - 20 A* 2 V 4 5V 6 V 1 9 1.998 4.4 4 499 5 .9 5 999 t.9 4.4 5.9 1 9 4 4 5 9 V Vi - V|H or V|L. Jqh -* mA 4 5V 3.98 4 30 3.7 3 84 V| - V|H or V|L. Iqh - - 5 2 mA 6 V 5 48 5 80 5 2 5 34 'OH Open drain outputs) V| - V|H or V|U. V0 . Vcc 6 V O.Ot 0.5 10 5 mA vol V| • Vih or V|(_. iq(_ « 20 »A 2 V 4 5V 6 V 0 002 0 1 0 001 01 0 001 Cl 0 1 0.1 0 1 0 1 0.1 0 1 V V| « ViM or Vn,. Iql 4 mA 4 5V 0 17 0 26 04 0 33 V| • Vih or V|(_. Iql «52 mA 6 V 0 15 0 26 0.4 0.33 vT • ’ 2 V 4 5V 6 V 0 8 12 t 5 2 2 5 3 15 2 5 3.3 4 2 V VT-’ 2 V 4 5V 6 V 0 3 0 6 0-8 0.4 16 2 1 2 2 2 5 V VT* - vT _ ’ 2 V 4.5 V 6 V 0 2 0 6 t 0.4 0 9 1.4 05 13 17 V V( - 0 to Vcc 6 V tOl • 100 • 1000 » 1000 nA •cc V| ' vcc 01 o. *o = o 6 V 2 40 20 .A Cl 2 to 6 V 3 10 10 10 of *TNs parameter apo is only for Schmitt tugger inputs Спецификации некоторых интегральных схем 947
TYPES SN54HC20, SM74HC20 DUAL 44HPUT POSITIVE-HAND GATES HIGHSPEED CMOS LOGIC D2SS4. DECEMBER 1 М2-REVISED MARCH 1M4 • Package Option* Include Both Plastic and Ceramic Chip Carriers in Addition to Plastic and Ceramic DIPs • Dependable Texas Instruments Quality and Reliability description These devices contain two Independent 4-input NAND gates. They perform the Boolean functions Y « A«8«C*O or Y ж A + 8 ♦ C ♦ D in positive logic. SN84HC20 ...J PACKAGE SN74HC20 ... J OR N PACKAGE (TOP VIEW) SNS4HC20 . . FH OR FX PACKAGE SN74HC20 ... PH OR FM PACKAGE (TOP VIEW) The SN54HC20 is charactrr<zed for operation over the full military temperature range of - 55 °C to 125 °C. The SN74HC20 Js charecterueo for operation from — 40 °C to 85 °C. logic symbol NC NC 1C NC ID 9 W 11 12 13 18 [ 2C 17 [ NC 16 [ NC 15[ NC 14 [ 28 NC—No internal connection FUNCTION TABLE (each gate) INPUTS OUTPUT л а с o Y M H H H L X X X X L X X XXIX X X X L I H H H H 3fl»w\ maximum ratings, recommended oparnting conditions, and electrical characteristics See Table I, page 2 4. switching characteristics over recommended operating free-air temperature range (unless otherwise noted). Cl - 50 pF (see Note 1) PARAMETER FROM (INPUT) TO (OUTPUT) Vcc Тд - 26*C 8N84NC20 8N74HC20 UNTT MM TYP MAX MM MAX MM MAX lpd А. В. C. or О Y 2 V 4.5 V в V 45 110 14 22 11 19 165 33 28 140 28 24 ns »t Y 2 V 4.5 V 8 V 27 75 9 15 7 13 ItO 22 19 95 19 16 ns Power dissipation capacitance per gate No load. Тд > 25 "C 25 pF typ NOTE 1. For load circuit and vdtago waveforms see page 1-14. Cap)~'fh'etM2 by Texas Instruments kicorporsted Instruments SOST OFFICE SOX 225012 s DALLAS. TEXAS НЯ» 948 Приложение Б
SN5432, SN7432 QUADRUPLE 2 INPUT POSITIVE OR GATES recommended operating conditions SN5432 SN7432 UNIT MIN NOM MAX MIN NOM MAX VCC Supply voltage 4.5 5 5.5 4.75 5 5.25 V V]H Hgh-ievei input voltage 2 2 V Vjl Low-level imput voltage 0.8 0.8 V lOH H-gh-level output current -0.8 -0.8 mA *OL Low-level output current 16 16 mA Тд Operating tree-air temperature -55 125 0 70 °C electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS t SN5432 SN7432 UNIT MIN TYPt MAX MIN TYP| MAX VlK VCC a MIN. I| - 12 mA - 1.5 - 1.5 V voh vcc * MIN. V|H-2V. 'Oh " ~ ° 8 mA 2.4 3.4 2.4 3.4 V vol vcc * MIN. V1L - 0.8 V. 'OL “I® mA 0.2 0.4 0.2 0.4 V >i vcc w MAX. V| - 5 5 V 1 1 mA 1IH Vcc ж MAX. V| - 2.4 V 40 40 pA 'IL vcc a MAX. V| • 0 4 V - 1.6 - 1.6 mA 'OS 5 vcc MAX - 20 -55 - 18 -55 mA 'CCH vcc ж MAX. See Note 2 15 22 15 22 mA 'CCL vcc • MAX. V, - 0 V 23 38 23 38 mA T Fck condition» shown MIN or MAX, uta the appropriate value specified under recornrr-enaed operating conditions : Ail Iу pl cal values are at Vcc -5 V, TA • 25°C $ Not more than one output shou*d bo shotted at a t«ma NOTE 2 One input at 4 5 V. a11 others at GND- switching characteristics. Vcc = 5 V. Тд = 25°C (see note 3) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MIN TYP MAX UNIT t₽LH A or В Y RL - 400 n. Cl-15 pF 10 15 nJ «PHL 14, 22 ni | NOTE 3 Load circuits and voltage waveforms are shown m Section 1 , Texas Instruments POST OFFICE BOX 4*5012 DAU AS TEXAS >5265 2-139 Спецификации некоторых интегральных схем 949
SN54S32, SN74S32 QUADRUPLE 2INPUT POSITIVE OR GATES recommended operating conditions X4MS32 SN*4S32 UNIT MIN NOM MAX MIN NOM MAX Vcc Supply voyage 45 5 5.5 4.75 5 5J25 V V|H High-level input voltage 2 2 V V|L Low-level input voltage 08 0.8 V •OH High-level output current - 1 - 1 mA •OL Low-level output current 20 20 mA Тд Operating free-air temperature -55 125 0 70 °C electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS t SN54S32 SN74S32 UNIT MIN TYPt MAX MIN TYPt MAX V|K Vcc ’ MlN- 11 — — 18 mA - 1.2 - 1.2 V voh vcc -Mlh. V|H-2V. •он - ’ mA 2.5 3.4 2.7 3.4 V vol Vcc “ MIN. V|L -08 V. IQl • 20 mA 05 0.5 V i Vcc MAX- V| - 5.5 V 1 1 mA <IH VCC “MAX, V| - 2.7 V 50 so PA <IL VCC - MAX. V, - 0.5 V - 2 -2 mA •os* VCC - MAX - 40 - 100 -40 - 100 mA 'CCH Vcc MAX- See Note 2 18 32 18 32 mA ’CCL vcc - MAX, V) - 0 V 38 68 38 68 mA f For condition! ihown a< MIN or MAX. uia tn* aopropriara value spaotiad under recommended opatatinf condition* t Ail typical value* are al V^C «5 V. Тд* 25°C. $ Not more then one output should be shorted et e t me end the duration o< the thort-c rcuat should not exceed one second NOTE 2. One <npwt at 4.5 V. all others at CNO. switching characteristics, Vcc “5 V, Тд« 25°C (see note 3) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MIN TYP MAX UNIT ’PLH A or 8 Y Rl “ 280 П. Cl “15 pF 4 7 m «PHL 4 7 ns «PLH A or 8 Y RL-280n. CL-50pF 5 ns «PHL 5 ns NOTE 3: Load circuits and voltage waveforms are shown m Section 1 , Texas Instruments 2-141 NDST OFFICE SOX «55012 • 0 All AS. TEXAS 75245 950 Приложение Б
SN54LS37, SN74LS37 QUADRUPLE 2-INPUT POSITIVE-HAND BUFFERS recommended operating conditions SN54LS37 SN74LS37 UNIT MIN NOM MAX MIN NOM MAX vcc Supply vo-tage 45 5 5 5 4.75 5 5.25 V V|H High-level input voltage 2 2 V VIL Low-level input voltage 0 7 0.8 V ’OH High-ievei output current - 1 2 - 1.2 mA ’OL Low-level output current 12 24 mA TA Operating tree-air temperature 55 125 0 70 °C electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS t SN54LS37 SN74LS37 UNIT MIN TYP* MAX MIN TYPt MAX vlK Vcc " M,N- Jl * - 18 глА - 1.5 - 1.5 V VOH Vcc * M,N- V|L • MAX. Iqh “ — ’-2 mA 25 3 4 2.7 3 4 V VOL Vcc * M,N- V,H * 2 V. IOL > 12 mA 0.25 0.4 0 25 0 4 V Vcc ' MIN. V|H-2V. Iql • 24 mA 0.35 0 5 ’1 VCC * MAX‘ V| - 7 V 0.1 0 1 mA •ih Vcc * MAX. V| * 2.7 V 20 20 pA ’IL Vcc "MAX. V,-04V -04 - 04 mA ’OS 5 VCC " MAX - 30 - 130 -30 -130 mA ’CCH VCC * MAX. V| - 0 V 0.9 2 09 2 mA ’CCL Vcc ’ MAX- V| • 4.5 V 6 12 6 12 mA T For conditions shown as MIN O' MAX use the appropriate value suec-l-ed under recommended operating conditions I An typical values are ai • 5 V TA • 25°C t Not more than one output should be shorted at a t-m« and the dural-on o< the short circuit should not exceed ory second switching characteristics, Vcc = 5 V, Тд = 25° C (see note 2) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MiN TYP MAX UNIT •PLH A or 8 d . 7 (7 C* a • AS nF 12 24 ns tPHL Гт 1 vO / 3 * n 12 24 nt NOTE 2 Load circuits and vonage waveforms are shown m Section 1 2-150 , Texas Instruments Post OFFICE BOX 6550’2 • OA1LAS TEXAS 75265 Спецификации некоторых интегральных схем 951
SN54LS112A. SN54S112. SN74LS112A. SN74S112A • Fully Buffered to Offer Maximum Isolation from External Disturbance I • Pockoge Options Include Plastic "Small Outline" Packages, Ceramic Chip Carriers I and Flat Packages, and Plastic and Ceramic DIPs • Dependable Tsxatr Instruments Quality and Reliability description These devices contain two independent J-K DUAL J-K NEGATIVE-EDGE-TRIGGERED FLIP FLOPS WITH PRESET ANL CLEAR D266I. APRIL 1982- REVISED MARCH 1988 SN54LS112A. SN54S112 . . J OR W PACKAGE SN74LS112A. SN74S112A . . О OR M PACKAGE (TOP VIEW! iclkF -^16 IJVCC 1KC 2 is 3 lC(-R 1JC 3 14 ZJ2CUP iPreQ 4 13 J2CLK 1QC 12 J2K iBL 6 ii ]2J 2<5C 10 ]2?rE gndL 8 91J2Q negative-edge-triggered flip-flops. A low level at the preset and clear inputs sets or resets the outputs regardless of the levels of the other inputs When preset and clear are inactive (high), oata at the J and К inputs meeting the setup time rcquir. nents are transferred to the outputs on the negative-going edge of the dock pulse. Clock triggering occurs at a voltage level and is not directly related to the rise time of the dock pulse. Following the hold time interval, data at the J and К inputs may be changed without affecting the levels at the outputs. These versatile flip-flops can perform as toggle flip-flops by tying J and К high. The SM54LS112A and SN54S112 are SN54LS112A. SN54S112 . . . FK PACKAGE (TOP VIEW) 3 2 1 20 19 и ipRE NC IQp 7 IQ ]8 *®C ’5[ 2СЕБ 2CLK NC 2K 2J 9 10 11 12 13 characterized for operation over the full military temperature range of -55 °C to 125 °C. The SN74LS112A and SN74S112A are characterized for operation from 0°C to 70 °C. NC - No internal connectton logic symbol* FUNCTION TABLE (each flip-flop) i INPUTS OUTPUTS ME CLR CLK J К Q г L H XXX H L XXX L L XXX H H ILL H H 1 H L H H 1 L H H H 1 H H H H H X X H L L H H’ H’ oo 60 H L L H TOGGLE Oq Oq 1PRE 1J 1CLK IK 1CLR 2PRE 2J 2CLK 2K 2CLR (5) 111) 112) 13) 111 121 115) >C1 IK 10 10 20 20 *Trns symbol is in accordance with ANSf'lEEE Sid 91-1984 and EC Publication 617-12 Pin numbers shown are for D. J. N. and W packages 1 The output levels n this configuration are not guaranteed to meet the minimum levels for Vqh the lows at preset and clear are near Уц_ minimum Furihermoie. this configuration is nonstable: that is. it will not persist when either preset or clear returns to its inactive (high) level PRODUCTION DAT* .—x . . it a centare rafarnutien current es ef peblicstrea Aeta. Prefects ceaform te speci'icatiees per the terms et Teias Instruments standard warranty. Predactien precessing dees net necessarily iactaee testing ef all parameters. Texas Instruments Copv'»ght © 1982 Texes Instruments Inco'pofated 2-335 POST OfrtCf BOX 65S0I2 • DALLAS. TEXAS 7526S 952 Приложение Б
SN54LS112А, SN74LS112А DUAL J-K NEGATIVE EDGE TRIGGERED FLIP FLOPS WITH PRESET AND CLEAR electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS T SN54LS112A SN74LS112A UNIT MIN TYP* MAX MIN TYP* MAX V|K Vcc a MIN. I| ' - 18 mA - 1.5 - 1 5 V v0H VCc = MIN. V)H = 2 V. V(L = MAX. 'OH ” - 0 4 mA 2 5 3.4 2 7 3.4 V vol Vcc = MIN. V|L = MAX Vih =• 2 V. 'ol w 4 mA 0 25 0 4 0 25 0 4 V Vcc - MIN. V|L • MAX V|H - 2 V. Iql = 8 mA 0.35 0 5 •i J or К Vcc MAX V| i 7 V 0 1 0 1 mA CLR or PA? 0.3 0 3 CLK 0.4 0 4 •in J or К VCc “ MAX. V| « 2 7 V 20 20 ДА ClA or Phft 60 60 CLK 80 80 •lL J or К Vcc “ MAX. V( = 04 V -0 4 -0.4 mA Alt other -0.8 -0.8 'os* VCC ~ MAX. see Note 2 -20 -100 - 20 - 100 mA <CC fTolall VCC = MAX. see Note 3 4 6 4 6 mA f For conditions shown as MIN or MAX. use the appropriate value specified under recommended operating conditions 1 All typical values are at Vcc « 5 V. Тд = 25 °C. * Not more than one output should be shorted at a time, and tne duration of the short circuit should not exceerf one second NOTES: 2. For certem devices where state commutation can be caused by shorting an output to ground, an equivalent test may be performed with Vo = 2 25 V and 2.1 25 V for the "54 family and the "74 family, respectively, with the minimum and maximum limits reduced to one half of their stated values. 3. With all outputs open. Iqq fs measured with the Q and 6 Outputs high m turn. At the time of measurement, the clock input s grounded switching characteristics, Vcc 5 V, Тд - 25 °C (see Note 4) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MIN TYP MAX UNIT *max 30 45 MHz ’PLH ClA. PAt or CLK Q or G RL = 2 kO. CL - 1 5 pF 15 20 ns •PHL 15 20 ns NOTE 4: Load circuits and voltage waveforms are shown m Section 1 recommended operating conditions SN54LS112A SN74LS112A UNIT MIN NOM MAX MIN NOM MAX VCC Supply voltage 4.5 5 5.5 4.75 5 5.25 V V|H High-level input voltage 2 2 V V(l Low-level input voltage 0.7 0.8 V 'OH High-level output current -0.4 -0-4 mA Iql Low-level output current 4 8 mA fclock Clock frequency 0 30 0 30 MHz tw Pulse duration CLK high 20 20 ns РАЁ or CLR low 25 25 tsu Set up time-before CLK1 Data high or low 20 20 ns CLh inactive 25 25 PRE inactive 20 20 th Hold time-data after CLK1 0 0 ns Тд Operating free-air temperature -55 125 0 70 cc Спецификации некоторых интегральных схем 953
SN54S112. SN74S112A DUAL J K NEGATIVE EDGE TRIGGERED FLIP-FLOPS WITH PRESET AND CLEAR electrical characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS* SN54S112 SN74S112A UNIT MH TYP* MAX MIN TYP* MAX V|K Vqc ” MIN. I| ’ - 18 mA -1.2 - 1 2 V VOH Vcc ~ M,N- VIH = 2 V. V|L ж MAX. •OH = - 1 rnA 2 5 3 4 2 7 3 4 V VOL Vcc ’ M,N- VIH ’ 2 V. VIL - 0.8 V. •OL “ 20 mA 0 5 0.5 V 'l VCC “ MAX. V| » 5 5V 1 1 mA •|H J or К Vcc = MAX- vl 1 2 .7 v 50 50 fiA All other 100 1O0 'IL J or К Vcc “ max. vi - о 5 v -1.6 - 1 6 mA ClR* - 7 - 7 FRc* - 7 -7 CLK -4 - 4 •os’ Vqq MAX -40 -100 -40 -100 mA ‘cc* Vcc = MAX- 146 No(e 3 15 25 15 25 mA ’ For condii ons shown as MIN or MAX, use the appropr-ate value specified under recommended operating cond-trons. * AH typical values are at Vcc • bV Тд 25®C *Clear is tested with preset high and preset is tested with clear high * Not more than one output should be shorted at a time, and the duration of the short-circuit should not exceed one second. * Values are average per flip flop NOTE 3 With all outputs open. Ice is measured wth the Q and G outputs high m turn. At the time of measurement, the clock input >s grounded. switching characteristics. Vcc 5 V, Тд - 25 °C (see Note 4) PARAMETER FROM (INPUT) TO (OUTPUT) TEST CONDITIONS MIN TYP MAX UNIT •max RL - 280 0. Cl - 15 pF 80 125 MHi *PLH , ARE or CLR Q or 0 4 7 ns tPHL FKE or СЁГ (CLK high! 0 or Q 5 7 n$ FRE or CER (CLK tow) 5 7 tPLH CLK Q or 0 4 7 n» 1PHL 5 7 ns NOTE 4: Load circuits and voltage waveforms era shown in Section 1. 2-340 Texas Instruments POST OrrrCE BOX 6SS0Q • O*<J.*S TEXAS 7S26S 954 Приложение Б
Приложение В Элементы логических схем Триггеры а) Защелка ИНЕ; б) альтернативное упрощенное обозначение S С Q________________ О 0 неправильно 1 О Q = о О 1 Q = 1 1 1 без изменений
Clocked S-C Синхронный S-C-триггер S с CLK Q 0 0 т Qo (без изменений) 1 0 Т 1 0 1 Т 0 1 1 Т не определен 1 сигнала CLK не влияет на сигнал Q Clocked J-K J Q > CLK К Q Синхронный J К-триггер J к CLK Q 0 0 т Qo (без изменений) 1 0 т 1 0 1 т 0 1 1 t Qo (переключение) 1 сигнала CLK не влияет на сигнал Q Clocked D Синхронный D-триггер D CLK О 0 Т 0 1 т 1 1 сигнала CLK не влияет на сигнал Q 956 Приложение В
D Latch D Q EN Q D-защелка EN D Q* 0 ' X без изменений 1 0 0 1 1 1 * Сигнал Q такой же, как и D, если сигнал EN высокий Asynchronous Inputs Асинхронные входы t PRE CLR Q* 1 1 Никакого эффекта; триггер может реагировать на сигналы J, X, CLK 1 0 0 0 Q = 0 независимо от сигналов J, К, CLK 1 Q = 1 независимо от сигналов J, К, CLK 0 не определено * Сигнал CLK может быть любым Булевы теоремы 1. х • О = 0; 2. х • 1 = х; 3. х • х = х; 4. х-х = 0; 5. х + 0 = х; 6. х + 1 = 1; 7. х + х = х; 8. х + х = 1; 9. х + у = у + х; 10. х • у = у - х; Элементы логических схем 957
11. х + (у + z) = (х + у) + г = х + у + г; 12. x(t/z) = (xy)z = xyz\ 13а . х(у + z) = ху + xz; 136. (w + х)(у + z) = wy + ху + wz + xz; 14. x + xy = x; 15a. x + xy = x + у ; 156. x + xy = x + у ; 16. x + у = x у ; 17. xy = x + у . Таблицы истинности логических элементов А В или А+ В ИЛИ-НЕ и А • В И-НЕ А*В исключающее ИЛИ А Ф В исключающее ИЛИ-НЕ АФВ А + В 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 ' 0 0 1 1 0 1 1 1 0 1 0 0 1 Обозначения логических элементов / Логический элемент ИЛИ Логический элемент И 958 Приложение В
Логический элемент исключающее ИЛИ Логический элемент И НЕ Г Логический элемент исключающее ИЛИ-НЕ Элементы логических схем 959
Глоссарий &. Служит для обозначения элемента или операции И в стандарте IEEE/ANSI. ASCII-код (American Standard Code for Information Interchange). Семибитовый алфавитно-цифровой код, который в настоящее время используется в большинстве компьютерных систем для отображения текстовой информации. С. Символ на входе запоминающего элемента, изображенного по стандартам IEEE/ANSI, который обозначает, что сигнал с этого входа управляет вводом данных в этот элемент. CAS (Column Address Strobe — строб адреса столбца). Сигнал, который исполь- зуется для фиксации адреса столбца в динамическом ОЗУ. CBR (CAS-before-RAS). Метод обновления динамической памяти со встроенным счетчиком обновления. Когда сигнал CAS переходит в низкий уровень напряжения и остается в нем даже в тот момент, когда в низкий уровень переходит сигнал RAS, осуществляется операция внутреннего обновления содержимого строки, номер кото- рой задан интегрированным в микросхему счетчиком обновления. CUPL. Аббревиатура от Universal Compiler for Programmable Logic (универсаль- ный компилятор программируемой логики). Компьютерная программа, предназна- ченная для преобразования входного файла с описанием функционирования ПЛУ в выходной файл, используемый при программировании этого ПЛУ. D-защелка. Схема, состоящая из защелки на элементах И-НЕ и двух управляю- щих элементов И-НЕ с перекрестными связями. D-триггер. См. Синхронный D-триггер. IEEE/ANSI. Институт инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers) I Национальный Институт Стандартизации США (American National Standards Institute) — организации, занимающиеся разработкой стандартов в области промышленности и связи. JEDEC. Объединенный совет по электронным устройствам (Joint Electronic Device Engineering Council). Блок умножителя и накопителя (МАС — Multiply Accumulate Unit). Аппаратная часть DSP-системы, которая отвечает за умножение отсчета на заданный весовой ко- эффициент и накопление (суммирование) полученных результатов. n-МОП (п-канальная МОП-технология). Технология изготовления интегральных схем на основе N-канальных полевых транзисторов со структурой металл-оксид- полупроводник (МОП). p-МОП (р-канальная МОП-технология). Технология изготовления интегральных схем на основе Р-канальных полевых транзисторов со структурой металл-оксид- пол/проводник (МОП). PRESET (вход предварительной установки). Асинхронный вход, сигнал с которо- го служит для немедленной установки триггера в состояние Q = 1. RAS (Row Address Strobe — строб адреса строки). Сигнал, который используется для фиксации адреса строки в динамическом ОЗУ. RESET. Сброс (обычно имеется в виду триггер). Термин-синононим слова “очистка”. SET. Входной сигнал защелки или триггера, который устанавливает устройство в состояние Q = 1. ZIF (Zero-Insertion-Force). Тип разъема интегральных схем с “нулевым усилием вставки”. Адрес. Число, которое однозначно идентифицирует местонахождение слова дан- ных в памяти- Адрес операнда. Адрес в памяти, по которому хранится в данный момент или должен быть сохранен конкретный операнд. Аккумулятор. Главный регистр арифметико-логического устройства.
Активный логический уровень. Логический уровень, который для данной схемы является управляющим. Если на входе схемы изображен кружок, то данная схема управляется низким уровнем напряжения. Если же такого кружка нет, то схема управляется высоким уровнем. Алфавитно-цифровые коды. Коды, которые представляют числа, буквы, знаки пунктуации и специальные символы. Альтернативный логический символ. Логически эквивалентный символ, который показывает активный уровень входного или выходного сигнала. Аналоговая система. Комбинация устройств, оперирующих физическими величи- нами, представленным в аналоговой форме. Аналоговое представление. Представление величины в виде непрерывного диапа- зона значений. Аналого-цифровой преобразователь (АЦП). Схема, которая преобразовывает ана- логовый входной сигнал в соответствующий ему цифровой. Аналого-цифровой преобразователь двойного интегрирования. Тип аналого- цифровых преобразователей, в которых для осуществления преобразования исполь- зуется конденсатор, заряжаемый в течение фиксированного интервала времени током по линейному закону, величина которого пропорциональна аналоговому напряжению ИА. При разряде конденсатора до О В состояние счетчика АЦП увеличивается на единицу. Арифметико-логическое устройство (АЛУ). Цифровая схема, которая входит в со- став компьютера и предназначена для выполнения арифметических и логических операций. Асинхронная передача. Передача данных, выполняемая без помощи сигнала син- хронизации. Асинхронные входы. Входы триггера, сигналы с которых могут влиять на его функционирование независимо от сигналов на синхронных входах и входе синхрони- зации. Асинхронный счетчик. Тип счетчика, в котором выходной сигнал каждого пре- дыдущего триггера служит сигналом синхронизации для каждого последующего триггера. АЦП интегрирующего типа. Тип аналого-цифровых преобразователей, в которых для осуществления преобразования используется внутренняя ступенчатая функция. Для АЦП данного типа время преобразования может меняться в зависимости от зна- чения амплитуды входного аналогового сигнала. АЦП параллельного типа. Тип аналого-цифровых преобразователей, имеющих максимальную скорость преобразования. АЦП последовательного (поразрядного) уравновешивания. Тип аналого- цифровых преобразователей, в которых для осуществления преобразования исполь- зуется встроенный параллельный регистр и сложная управляющая логика. Время преобразования АЦП этого типа всегда представляет собой фиксированную величи- ну, независимо от значения амплитуды входного аналогового сигнала. АЦП с преобразованием напряжения в частоту. Тип аналого-цифровых преобра- зователей, в которых аналоговое напряжение преобразовывается в сигнал с соответ- ствующей частотой. Эта частота затем подсчитывается счетчиком и служит для фор- мирования цифрового сигнала на выходе ЦАП. Байт. Группа из восьми бит. Безразличное состояние. Ситуация, в которой при заданных входных условиях логический уровень на выходе схемы может иметь как высокий уровень напряже- ния, так и низкий. Биполярная ИС. Интегральная цифровая схема, основными элементами которой являются биполярные р-п-р и п р-n транзисторы. Биполярный ЦАП. Цифроаналоговый преобразователь, который может прини- мать входные сигналы обеих полярностей и формировать аналоговый сигнал с соот- ветствующей полярностью. Бит. Один разряд двоичной системы Глоссарий 961
Знаковый бит. Двоичный бит, который записывается в крайней левой позиции двоичного числа и служит для указания знака величины. Бит четности. Дополнительный бит, который добавляется к каждой кодовой группе таким образом, чтобы общее количество передаваемых единиц всегда было четным (или всегда нечетным). Булева алгебра. Логический раздел алгебры, который является основным средст- вом анализа и разработки цифровых систем. Булева алгебра оперирует только двумя возможными значениями: О и 1. Булева теорема. Правило, которое подчиняется законам булевой алгебры и позво- ляет упрощать логические выражения. Буфер скорости передачи данных. Буфер FIFO-типа, который позволяет записать данные в последовательной форме с одной скоростью и считать их с другой. Буфер/драйвер. Схема, предназначенная для увеличения уровня тока и/или на- пряжения на выходе обычной логической схемы. Буферный регистр. Регистр, в котором в цифровой форме хранятся временные данные. Включение. Операция возобновления работы схемы (например, схемы пропуска- ния сигнала). Восьмеричная система счисления. Система счисления с базой 8, в которой ис- пользуются цифры от 0 до 7. Временная диаграмма. Графическое описание изменения логических уровней во времени. Время доступа. Временной интервал между получением памятью нового адреса и стабилизацией данных на выходе запоминающего устройства. Время захвата. Время, которое затрачивает схема выборки и удержания на то, чтобы запомнить текущее аналоговое значение на входе. Время удержания (tn)- Временной интервал после поступления активного фронта сигнала синхронизации, в течение которого сигнал на входе управления должен ос- таваться стабильным. Время установки (ts). Интервал времени, непосредственно предшествующий ак- тивному фронту сигнала синхронизации, на протяжении которого сигнал на входе управления должен оставаться стабильным. Время установления сигнала. Интервал времени, за который сигнал на выходе цифроаналогового преобразователя изменяется от 0 до полномасштабного сигнала (с погрешностью не более половины шага дискретизации) при изменении входного сигнала от всех нулей до всех единиц. Вспомогательная память. Часть памяти компьютера, расположенная отдельно от основной памяти. Обычно имеет высокую плотность записи и большую емкость (например — магнитный диск). Встроенный микроконтроллер. Микроконтроллер, интегрированный в готовый электронный продукт — чаще всего в бытовую технику, — например, в видеомагни- тофон или микроволновую печь. Выборка. Процесс считывания и дискретизации (оцифровки) точек данных анало- гового сигнала в заданные моменты времени. Выброс. Мгновенный, узкий импульс паразитного напряжения с ясно выражен- ными параметрами. Выключение. Операция прекращения нормального функционирования схемы (например, схемы пропускания сигнала). Высокая степень интеграции (ВСИ). Уровень интеграции, включающий от 100 до 9999 элементов на плате. ИС, изготовленные с такой интеграцией, называются большими (БИС). Выход с открытым коллектором. Тип подключения элементов на выходе некото- рых схем ТТЛ, при котором используется только один транзистор с плавающим кол- лектором. Вычитаемое. Число, которое отнимается из уменьшаемого. 962 Глоссарий
Вычитающий счетчик. Счетчик, который изменяет свои состояния от большего значения до 0. Генератор логических функций. Схема, которая может формировать некоторое количество заданных сигналов. Строится на основе ПЗУ, ЦАП и счетчика. Генератор тактовых импульсов. Схема формирования сигнала синхронизации с высокостабильной частотой. Обычно работает на основе колебаний кристалла кварца. Гибкий диск. Средство хранения информации в виде гибкого магнитного диска. Гибридная система. Система, в которой используются как аналоговые, так и цифровые элементы. Гигаинтеграция (ГИ). Уровень интеграции, включающий 1 миллион и более эле- ментов на плате. Генератор, управляемый напряжением. Схема, которая формирует выходной сигнал с частотой, пропорциональной величине напряжения на входе. Данные. Двоичное представление числовых значений или нечисловой информа- ции в цифровой системе. Данные используются и модифицируются компьютерной системой. Двоичная система счисления. Система счисления, в которой имеется только две цифры (два состояния): 0 и 1. Двоичная запятая (двоичная точка). Отметка, которая служит для разделения целой части двоичного числа от дробной. Двоично-десятичный код. Четырехбитный код, который используется для пред- ставления разрядов десятичного числа по одному, используя четырехбитные двоич- ные эквиваленты десятичных цифр. Двоично-десятичный сумматор. Специальный сумматор, который содержит два четырехбитовых параллельных сумматора и схему коррекции результата. Если сум- ма двух двоично-десятичных кодовых групп превышает значение 10012 (910), то схе- 'ма коррекции прибавляет к полученному результату число 01102 (610) и формирует перенос в следующий десятичный разряд. Двоично-десятичный счетчик. Двоичный счетчик, который имеет только десять различных состояний: от 00002 до 10012. Двоичный разряд. Бит. Двоичный счетчик. Группа триггеров, соединенных вместе таким образом, что их состояния показывают двоичное число, эквивалентное количеству импульсов, посту- пивших на вход такой схемы. Двунаправленная линия данных. Термин, используемый в том случае, если ли- ния данных может служить как входом, так и выходом, в зависимости от состояния соответствующих разрешающих сигналов. Двунаправленньш ключ. Схема на КМОП, которая работает как однополюсный и однонаправленный ключ, управляемый логическим уровнем входного сигнала. Де Моргана теоремы. Теорема 1: инверсия дизъюнкции (логической суммы пере- менных) равняется конъюнкции (логическому произведению) переменных, инверсных исходным. Теорема 2: инверсия конъюнкции (логического произведения переменных) равняется дизъюнкции (логической сумме) переменных, инверсных исходным. Дешифратор “из 4 в 10”. См. Двоично-десятичный дешифратор. Декодирование. Процесс распознавания двоичного кода для последующей инди- кации его наличия вообще или отображения его числового эквивалента. Деление частоты. Использование схем на основе триггеров для формирования сигнала, частота которого равна частоте входного сигнала синхронизации, поделен- ного на некоторое целое значение. Демультиплексор (DEMUX). Логическая схема, которая передает входной сигнал на тот или иной выход данных, в зависимости от состояний сигналов на входах выбора. Десятичная система счисления. Система счета, в которой для представления ве- личины используется 10 различных цифр или символов. Десятичный счетчик. Любой счетчик, имеющий 10 различных состояний. Дешифратор. Цифровая схема, которая служит для преобразования входного двоичного кода в сигнал, снимаемый с выхода с соответствующим номером. Глоссарий 963
Дешифратор “1 из 10”. См. Дешифратор из двоично-десятичного кода в десятичный. Дешифратор из двоично-десятичного кода в десятичный. Дешифратор, который осуществляет преобразование двоично-десятичного кода в десятичный эквивалент. Дешифратор с высоким (низким) активным уровнем сигнала. Дешифратор, на выходе которого во время декодирования сигнала формируется высокий (низкий) ло- гический уровень. Дешифратор/драйвер из двоично-десятичного кода в 7-сегментный. Цифровая схема, которая активизирует выходные линии в зависимости от поступившего на ее вход двоично-десятичного кода, и служит для отображения эквивалентного десятич- ного разряда на 7-сегментом индикаторе. Диаграмма переходов состояний. Графическое представление функционирования последовательной логической схемы, которое позволяет показать последовательность смены состояний отдельных триггеров и условия, необходимые для смены этих со- стояний. Дизъюнктивная форма. Форма записи логических выражений в виде произведе- ния (И) двух или более сумм (ИЛИ) переменных. Динамическая память (DRAM). Тип полупроводниковой памяти, в котором ин- формация хранится в виде зарядов на конденсаторах. Данные в таком ОЗУ требуется периодически обновлять. Диод с барьером Шотки. Диод, имеющий барьер Шотки; относится к семейству ТТЛ. Дискретизация (оцифровка). Процесс преобразования аналогового сигнала в циф- ровой вид. Дифференциальные входы. Положительный (+) и отрицательный (-) аналоговые входы аналоговой схемы, ни один из которых не заземлен. Схема с такими входами работает с логическими уровнями, которые отличаются друг от друга на величину, равную разности напряжений на дифференциальных входах. Длина слова. Число бит, из которых состоит двоичное слово. Длительность перехода сигнала синхронизации. Минимальные значения времени спада и нарастания фронтов сигнала синхронизации для конкретной ИС, указывае- мые производителем в спецификации. Дополнительный код (дополнительная форма двоичного числа). Результат от- дельной инверсии каждого бита двоичного числа. Драйвер. Технический термин, иногда добавляемый к описанию интегральной схемы для того,, чтобы показать, что данная ИС может функционировать с большими значениями выходных токов и/или напряжений, чем обычные схемы. Драйвер шины. Схема, которая служит для буферной развязки различных уст- ройств, подсоединенных к общей шине; используется при наличии большого количе- ства таких устройств. Дребезг контактов. Свойство механических ключей вибрировать при переводе в новую позицию. Вибрации контакта приводят к затухающим колебаниям электриче- ского сигнала. Емкость. Объем памяти, выражаемый количеством бит (байт) или числом слов данных. Жесткий диск. Твердый металлический диск с магнитными свойствами, исполь- зующийся для хранения больших объемов информации. ЖКИ. Жидкокристаллический индикатор. Зависимая запись. Метод, использующийся для символьного представления от- ношения входных и выходных сигналов логической схемы. Данный метод характе- ризуется применением специальных символов, располагающихся вверху и/или по центру символа логического элемента. Загрузка. Процесс передачи выходных файлов на программирующее устройство. Задержка распространения сигнала OplhAphl)- Интервал времени между поступ- лением сигнала на вход схемы и изменением сигнала на ее выходе. 964 Глоссарий
Задержка сигнала переноса. Задержка, присущая некоторым параллельным сум- маторам, которая состоит в том, что бит переноса (Свых) и результат сложения чисел появляются на выходе схемы не одновременно. Задний фронт импульса. Переход сигнала из состояния с высоким уровнем (1) в состояние с низким уровнем (0). Задняя панель. Электрическое соединение, общее для всех сегментов ЖКИ. Запас помехоустойчивости. Числовая мера помехоустойчивости. Запись. Термин, использующийся для описания процесса передачи данных от ЦПУ к какому-либо другому элементу компьютера. Запоминающее устройство. Блок компьютера, в котором хранятся команды и данные, полученные с устройства ввода, и результаты вычислений арифметико- логического устройства Защелка. Тип триггера. Защелка на элементах ИЛИ-HE. Триггер, состоящий из двух элементов ИЛИ-НЕ с перекрестно связанными выходами. Защелка на элементах И-НЕ. Триггер, состоящий из двух элементов И-НЕ с пе- рекрестно связанными выходами. Импульс переключения. Входной сигнал на входе триггера или одновибратора, который приводит к изменению состояния на выходе элемента в зависимости от ус- ловий на выходах управления. Инверсия. Преобразование логического сигнала в сигнал с противоположными ло- гическими уровнями. Инвертор (схема НЕ). Логическая схема, реализующая операцию инвертирования (функция НЕ). Инвертор имеет только один вход и один выход, причем логический уровень сигнала на выходе будет всегда противоположным входному сигналу. Инструментальные программные средства по разработке ПЛУ. Программное обеспечение, которое преобразовывает логическую схему, введенную пользователем, в файл карты перемычек. Данный файл загружается в программирующее устройство, которое программирует ПЛУ пережиганием заданных плавких перемычек. ПО CUPL, описанное в гл. 12, представляет собой пример высокоуровневого инструментального средства разработки электронных устройств. Интервал выборки. Временной интервал, в течение которого счетчик производит выборку отсчетов сигнала, тем самым, определяя его частоту. Интерполяционная фильтрация. Еще одно название супердискретизации. Интер- поляцией называется вставка промежуточных значений, рассчитанных на основе имеющихся отсчетов цифрового сигнала, что позволяет сгладить функцию. Интерфейс (сопряжение). 1. Соединение устройств различных семейств (серий) таким образом, что они могут координировано функционировать в одной схеме. 2. Соединение выхода одной системы с входом другой, имеющей отличные от первой электрические характеристики. Исполнительный механизм. Управляемое электрически устройство, которое кон- тролирует ту или иную физическую величину (параметр). Карта Карно. Двухмерный массив, записанный в виде таблицы истинности со- стояний схемы. Используется для упрощения логических выражений, записанных в конъюнктивной форме. Карта памяти. Графическое представление области памяти, которое отображает диапазон адресов всех подключенных к системе запоминающих устройств и памяти, доступной для расширения. Каскад. Последовательное соединение нескольких логических схем, при котором сигнал с выхода предыдущего звена является входным для последующего и т.д. Каскадный выход. Термин, использующийся для описания соединения двух би- полярных транзисторов на выходе схем на ТТЛ. Квазистабильное состояние. Состояние, в котором одновибратор может находить- ся только временно (обычно Q = 1), после чего через некоторое время он снова воз- вращается в стабильное состояние (обычно Q = 0). Глоссарий 965
КМОП (комплементарная МОП-структура). Технология изготовления интеграль- ных схем на основе комплементарных полевых транзисторов со структурой металл- оксид-полупроводник (МОП). Данное логическое семейство относится к категории униполярных цифровых ИС. Код операции. Часть команды компьютера, которая определяет тип выполняемой операции. Кодирование. Использование группы символов для представления чисел, букв или слов. Кодирование прямым двоичным кодом. Представление десятичных чисел в виде двоичного эквивалента. Кольцевой буфер. Система памяти, которая содержит п последних значений дан- ных. При записи новых данных происходит перезапись содержимого буфера. Кольцевой сдвиговый регистр. Сдвиговый регистр, в котором выходной сигнал с последнего триггера подается обратно на вход первого триггера. Кольцевой счетчик. Сдвиговый регистр, в котором сигнал с выхода последнего триггера подается обратно на вход первого триггера. Команда. Двоичная кодовая группа, которая несет информацию о том, какую операцию должен выполнить компьютер. Программа состоит из строго определенной последовательности команд. Команды допроцессорной обработки. Команды компилятора, которые выполня- ются перед исполнением основного тела программы для того, чтобы проконтролиро- вать правильность интерпретации кода. Комбинационные логические схемы. Схемы, состоящие из комбинационных ло- гических элементов, не имеющих обратной связи. Компаратор аналоговых напряжений. Схема, которая сравнивает два аналоговых напряжения и формирует выходной сигнал, показывающий, какое из входных на- пряжений имеет большую амплитуду. Компаратор напряжений. Цифровая схема, сравнивающая две входных двоичных величины и формирующая на выходе сигнал, который показывает равны ли эти ве- личины и если нет, то какая из них больше. Компилятор. Программа, которая преобразовывает текстовый файл, написанный на высокоуровневом языке программирования, в программу машинного языка, за- гружаемую в память компьютера. Комплементация, см. Инверсия Контро.глер хинамической памяти. ИС, используемая для управления обновлени- ем и мультиплексированием адресов в системах динамической памяти. Контрольная сумма. Специальное слово данных, хранящееся в последнем участке памяти ПЗУ. Это слово получается путем сложения всех слов данных конкретного запоминающего устройства и используется при проверке правильности записанной информации. Конфликт. Попытка двух или более устройств, подключенных к одной точке, од- новременно установить на эту точку потенциалы с разными логическими уровнями. См. также Конфликт на шине. Конфликт на шине. Ситуация, в которой два или более различных устройства выдают активные сигналы в одно и то же время на одну и ту же шину. Конъюнктивная форма. Форма записи логических выражений в виде суммы (ИЛИ) двух или более произведений (И) переменных. Корпус с двухрядным расположением выводов (корпус типа DIP). Наиболее рас- пространенный тип корпуса с двумя параллельными рядами выводов по бокам мик- росхемы. Предназначен для монтажа в разъем или в соответствующие отверстия на печатной плате. Коэффициент нагрузки. См. Коэффициент разветвления. Коэффициент пересчета (Кпер). 1. Число логических состояний заданного счетчи- ка; 2. Коэффициент деления частоты заданного счетчика. 966 Глоссарий
Коэффициент разветвления. Максимальное число стандартных логических вхо- дов, уровнями на которых может управлять выходной сигнал заданной цифровой схемы. Кружок. Символ в виде небольшого кружка на входе или выходе логической схе- мы, который указывает на инверсию сигнала. Если на рисунке имеется такой кру- жок, то активным для данного входа (выхода) логическим уровнем является низкий уровень напряжения. Кэш. Высокоскоростная система памяти, которая может быть загружена данными из более медленного динамического ОЗУ. Используется для повышения быстродейст- вия обращения ЦПУ к подсистеме памяти. Латентность (задержка). Задержка, связанная с чтением данных из динамическо- го ОЗУ. Вызвана необходимостью разделения адресов памяти на адреса строк и столбцов, а также временем стабилизации данных на выходах ОЗУ. Линейный буфер. Память типа FIFO, в которую данные поступают с одной скоро- стью, а извлекаются с другой. При полном заполнении линейного буфера запись ста- новится невозможна до тех пор, пока не произойдет считывание. Также см. Память типа FIFO. Логическая схема. Любая схема, функционирующая согласно некоторому набору логических правил. Логический импульсный генератор. Инструмент, предназначенный для тестиро- вания схем, который при нажатии кнопки формирует кратковременный импульс. Логический пробник. Цифровой инструмент, предназначенный для тестирования схем. Показывает логический уровень в заданной точке схемы. Логический уровень. Состояние сигнала переменного напряжения. Состояния 1 (высокий уровень сигнала) и 0 (низкий уровень) соответствуют паре принятых для данного цифрового устройства диапазонов напряжений. i Макроячейка выходной логики. Группа логических элементов (включающая мультиплексоры, триггеры, буферы и т.д.) на выходе ПЛУ, которую можно настро- ить для выполнения нескольких различных операций. Максимальная частота синхронизации (/мах)- Наибольшая частота, которая мо- жет быть подана на вход синхронизации триггера при условии надежного переклю- чения последнего. Малая степень интеграции (МСИ). Уровень интеграции, включающий не более чем 12 элементов на одной интегральной схеме. Маломощный транзистор Шотки на ТТЛ. Подсемейство ТТЛ, в котором исполь- зуются транзисторы Шотки и резисторы с большими значениями сопротивлений. Матрица входных членов. Составная часть программируемого логического уст- ройства, которая позволяет выборочно подавать либо блокировать входные сигналы от внутренней логики ПЛУ. Машинное слово. Группа двоичных битов, которая является основной единицей информации в компьютерных системах. Машинный цикл. Состояния, которые проходит микропроцессор во время выбор- ки команд из памяти и их выполнения. Машинный язык. Язык компьютерного программирования, в котором для пред- ставления команд используются группы из единиц и нулей. Машинный язык явля- ется единственным языком, с которым компьютер работает непосредственно. Метод проверки четности. Методика обнаружения ошибок при передаче данных. Микрокомпьютер. Наиболее современный тип компьютерных систем. Микроком- пьютеры состоят из микропроцессора, запоминающего устройства и устройств ввода- вывода и интерфейса. В некоторых случаях все эти элементы могут быть интегриро- ваны на одной плате. Микроконтроллер. Небольшой микрокомпьютер, использующийся в качестве контроллера работы какого-либо оборудования или для управления физическим про- цессом. Микропроцессор (MPU). БИС, содержащая центральный процессор (ЦПУ). Глоссарий 967
Младший значащий бит. Бит в самой правой позиции числа (с наименьшим ве- сом), выраженного в двоичной форме. Младший значащий разряд. Разряд с наименьшим весом. Мнемоника. Аббревиатура, которой сокращенно обозначается операция, выпол- няемая компьютером. Многоадресная команда. Компьютерная команда, которая содержит более чем один адрес операнда. Многобайтная команда. Компьютерная команда, представленная более чем одним ' 1ЙТ0М. Многокаскадный счетчик. Счетчик, который состоит из нескольких счетчиков, соединенных последовательно таким образом, что сигнал с выхода одного каскада служит сигналом синхронизации следующего каскада. Такое подключение позволяет увеличить диапазон счета или коэффициент деления частоты. Многорегистровое устройство циклического сдвига. Сдвиговый регистр, позво- ляющий эффективно производить сдвиг двоичного числа влево или вправо на любое количество позиций. Моностабильный мультивибратор. См. Одновибратор. Монотонность. Свойство сигнала с выхода цифроаналогового преобразователя уве- личиваться при увеличении двоичного сигнала на входе ЦАП. Монтажное И. Термин, который служит для описания логической функции, реа- лизуемой при общем подключении выходов с открытыми коллекторами. Мультиплексор (MUX). Логическая схема, которая в зависимости от состояний входов выбора, передает на выход один из входных сигналов. Мультиплексирование. Процесс выбора одного из нескольких источников вход- ных сигналов и передача данных от него на выход схемы. Мультиплексирование адресов. Мультиплексирование, которое применяется при использовании динамических ОЗУ для сокращения числа выводов микросхемы. Данный метод 'включает в себя разделение полного адреса на две равных части и его передачу на ИС в два этапа. Наблюдение/анализ. Методика поиска неисправностей, которая позволяет опре- делить возможные причины неполадок еще до этапа инструментального тестирова- ния схемы или системы. Согласно данной методике техник должен знать особенности функционирования схемы и уметь аргументировать каждую операцию по поиску неис- правностей в соответствии с наблюдаемыми внешними признаками неисправности. Набор. Список группы однотипных переменных в языке CUPL. Нагрузочный транзистор. Транзистор на выходе схемы на ТТЛ (Q4), который ра- ботает в режиме нагрузки. Когда этот транзистор открыт и ток стекает по нему на землю, то на выходе схемы обеспечивается низкий логический уровень. Настраиваемый счетчик. Счетчик, который может быть установлен в любое на- чальное состояние сигналами с синхронных или асинхронных входов. Неопределенный логический уровень. Логический уровень, значения напряжений которого лежат вне предельных значений как логического 0, так и логической 1. Непереключаемый одновибратор. Тип одновибратора, который не реагирует на входные сигналы, пока находится в квазистабильном состоянии. Непосредственная адресация. Режим адресации, в котором часть команды, сле- дующая за кодом операции, представляет собой непосредственно сам операнд. Несинхронизированный мультивибратор. Цифровая схема, которая постоянно ос- циллирует между двумя нестабильными выходными состояниями. Низковольтная технология. Новая технология изготовления логических уст- ройств, которая позволяет им функционировать от источников питания с номиналом 3,3 В. Обновление. Процесс перезарядки ячеек динамической памяти. Обновление RAS. Метод обновления динамической памяти, при котором посред- ством сигнала RAS стробируются только адреса строк. Обратный код. Результат прибавления 1 к двоичному числу, записанному в виде дополнительного кода. Используется при вычитании двоичных чисел со знаком. 968 Глоссарий
Общее управление. Символ по стандарту IEEE/ANSI, который служит для описа- ния того, что один или несколько входов служат для подачи сигналов сразу на не- сколько схем. Общим анод. Схема подключения сегментов индикатора на светодиодах, при ко- торой аноды всех диодов одного сегмента соединяются вместе. Общий катод. Схема подключения сегментов индикатора на светодиодах, при ко- торой катоды всех диодов одного сегмента соединяются вместе. Объединение ячеек. Объединение прилегающих ячеек карты Карно, содержащих единицы, в блоки, что позволяет упростить результирующее выражение в дизъюнк- тивной форме. Одновибратор. Схема из семейства триггеров, которая имеет только одно стабиль- ное состояние (обычно Q = 0). Октет. Группа из восьми прилегающих друг к другу ячеек карты Карно, запол- ненных единицами. Операнд. Данные, которые компьютер обрабатывает по ходу выполнения про- граммы. Оперативное запоминающее устройство (ОЗУ). Память, которая имеет одинако- вую величину времени доступа для всех ячеек Оператор равенства. Оператор языка CUPL, который побитно сравнивает набор переменных и некоторую постоянную величину. Операция загрузки. Передача данных в триггер, регистр, счетчик или участок памяти. Операция записи. Операция, при которой в определенный участок памяти запи- сывается новое слово. Операция И. Операция булевой алгебры, в которой символ умножения {&) ис- пользуется для реализации логической функции И с двумя или более логическими переменными. Результат операции И будет равен логической 1 (сигнал будет иметь высокий уровень напряжения) только в том случае, если все переменные равны 1. Операция ИЛИ. Операция булевой алгебры, в которой символ сложения (+) ис- пользуется для реализации логической функции ИЛИ с двумя или более логически- ми переменными. Результат операции ИЛИ будет равен логической 1 (сигнал будет иметь высокий уровень напряжения) в том случае, если хотя бы одна переменная равна 1. Операция НЕ. Операция булевой алгебры, в которой для обозначения инверсии одной или нескольких переменных используется символ верхней черты ( ). Операция чтения. Операция, при которой из определенного участка памяти счи- тывается слово, которое затем может быть передано к другому блоку или устройству системы. Основная память. Высокоскоростная подсистема памяти компьютера, предназна- ченная для хранения команд и данных, которые обрабатываются компьютером в данный момент. Также называется оперативной памятью. Отрицание. Операция преобразования положительного числа в его отрицательный эквивалент или наоборот. Операция отрицания чисел со знаком в электронике вы- полняется с помощью нахождения обратного кода величины. Память. Свойство сигнала на выходе схемы оставаться в определенном состоянии даже после того, как входные возмущения были прекращены. Память на магнитной ленте. Запоминающее устройство высокой емкости, в кото- ром данные хранятся в виде намагниченных участков на поверхности пластиковой ленты, покрытой магнитным материалом. Память на магнитных дисках. Запоминающее устройство высокой емкости, в ко- тором данные хранятся в виде намагниченных участков на поверхности вращающе- гося плоского диска. Память на оптических дисках. Класс устройств, предназначенных для хранения больших объемов информации на диске со специальным покрытием. Для записи и считывания данных используется лазерный луч. Глоссарий 969
Память с оперативной записью и чтением (RWM). Любая память, данные в кото- рую могут как записываться, так и считываться из нее с одинаковой легкостью. Память с последовательной выборкой. Запоминающие устройства, в которых время доступа варьируется в зависимости от места нахождения данных в памяти. Память типа FIFO (First-In, First-Out — первым вошел, первым вышел). Полу- проводниковая память с последовательным доступом, в которой слова данных счи- тыв; иотся точно в том же порядке, в каком были записаны. Паразитный сигнал (НЧ-помеха). Цифровой сигнал, который образуется при дис-. кретизации входного сигнала с частотой, менее чем двукратно превышающей макси- мальную частоту этого сигнала. Параллельная загрузка. См. Параллельная передача, данных. Параллельная передача. Одновременная передача всех битв двоичного числа из одного места в другое. Параллельная передача данных. Операция одновременной передачи сразу не- скольких бит данных. Параллельный сумматор. Цифровая схема, состоящая из нескольких полных сумматоров. Используется для одновременного сложения сразу всех битов склады- ваемых чисел. Параллельный счетчик. См. Синхронный счетчик. Передаточный вентиль. См. Двунаправленный переключатель. Передача данных. См. Параллельная передача данных или Последовательная передача данных. Переключаемый одновибратор (мультивибратор). Тип одновибратора, который, находясь в квазистабильном состоянии, реагирует на входные сигналы. Переключаемый фронтом. Характеристика триггеров, которые меняют свои со- стояния при поступлении фронта сигнала синхронизации (т.е. изменения его уров- ня). Триггер может переключаться либо по переднему фронту, либо по заднему, либо по обоим фронтам синхроимпульсов. Переключение. Процесс смены одного двоичного состояния другим. Перенос- Разряд или бит, который формируется в том случае, если результат сложения двух чисел превышает базу используемой системы счисления. Переполнение. Явление формирования бита переноса, возникающего в старшем значащем разряде результирующего числа при сложении двоичных величин со зна- ками. ' Переходные процессы. Выбросы тока, вызванные двухкаскадным подключением транзисторов на выходе схемы на ТТЛ, и проявляющиеся в моменты, когда оба транзистора одновременно открываются. Периферийные устройства. Устройства ввода и вывода компьютера. Пик. См. Выброс. Пиксель. Светящаяся точка, из набора которых формируется изображение на дисплее или индикаторе. Плавающая шина. Состояние шины данных, при котором выходы всех подклю- ченных к ней устройств находятся в высокоимпедансных состояниях. Плавающий вход. Вход, на который не поступает ни один сигнал. Плавкая перемычка. Элемент из проводящего материала, который может быть пережжен током высокой амплитуды (т.е. разомкнут), в результате чего данный уча- сток схемы потеряет свойство проводимости. Плотность. Относительная мера измерения емкости, характеризующаяся количе- ством хранящихся битов на заданной площади или в заданном объеме. Поверхностный монтаж. Метод монтажа элементов на печатной плате, при кото- ром интегральные микросхемы припаиваются на проводящие участки (контактные площадки) на поверхности платы. Погрешность дискретизации. Погрешность, вызванная конечной величиной раз- решающей способности аналого-цифровых преобразователей. Всегда присуща данно- му классу устройств. 970 Глоссарий
Погрешность линеаризации. Термин (и величина), используемый некоторыми производителями цифроаналоговых преобразователей для указания точности преоб- разования. Данная величина определяется как максимальное отклонение шага дис- кретизации от идеального значения; возникает вследствие нелинейности ЦАП. Погрешность полномасштабного сигнала. Термин (и величина), используемый некоторыми производителями цифроаналоговых преобразователей для указания точ- ности преобразования. Данная величина определяется как максимальное отклонение амплитуды сигнала на выходе ЦАП от идеального значения. Погрешность смещения. Отклонение нулевого значения сигнала на выходе циф- роаналогового преобразователя от идеального даже в том случае, когда на вход ЦАП подан нулевой сигнал. В результате на выходе ЦАП присутствует сигнал очень ма- лой амплитуды. Подложка. Пластина из полупроводникового материала, которая является осно- вой для изготовления микросхемы. Позиционная система счета. Все системы счета, в которых значение цифр числа зависит от позиции в записи. Поле. Команда языка CUPL, которая позволяет присвоить набору отдельных би- тов имя переменной. Полевой транзистор. Транзистор, обычно выполненный по технологии металл- оксид-полупроводник, работающий на полевом эффекте. Полномасштабный сигнал. Сигнал на выходе цифроаналогового преобразователя, имеющий максимально возможную амплитуду. Полный сумматор. Логическая схема с тремя входами (вход переноса Свх и два входа для битов каждого из слагаемых) и двумя выходами (выход бита суммы и вы- ход бита переноса СВых» полученного при сложении входных битов), предназначен- ная для сложения многобитовых чисел. Половинный сумматор. Логическая схема с двумя входами (на которые поступа- ют биты складываемых чисел) и двумя выходами (с которых снимаются бит суммы и бит переноса СВЫх. соответственно). Положительный фронт импульса. Переход сигнала из состояния с низким уров- нем напряжения (0) в состояние с высоким уровнем (1). Помехоустойчивость. Свойство схемы переносить шумовые помехи, присутст- вующие на входах без изменений режима работы. Последовательная передача. Передача двоичной информации из одного места в другое по одному биту за единицу времени. Последовательная передача данных. Передача данных из одного места в другое по одному биту за единицу времени. Последовательная схема. Логическая схема, сигналы на выходах которой могут меняться только синхронно относительно сигнала синхронизации. Новое состояние каждого выходного сигнала зависит от его текущего состояния и состояний сигналов на других выходах схемы. Последовательность. Форма записи языка CUPL, которая сообщает компилятору о том, что используется режим описания аппаратной части схемы в виде таблиц пе- реходов состояний. Последовательный вход/параллельный выход. Тип регистра, данные в который загружаются последовательно, а с выхода снимаются в параллельной форме. Последовательный вход/последовательный выход. Тип регистра, данные в кото- рый загружаются и считываются в последовательной форме. Постоянное запоминающее устройство (ПЗУ). Запоминающее устройство, предна- значенное для применения в тех задачах, где очень высоко соотношение количества операций чтения к количеству операций записи. Программно-аппаратные средства (firmware). Программное обеспечение компью- терной системы, хранящееся в ПЗУ. Преобразование параллельного кода в последовательный. Процесс одновремен- ной подачи нескольких битов на входы схемы и их передачи с выхода той же схемы уже в последовательной форме. Глоссарий 971
Преобразователь. Устройство, которое преобразовывает физическую переменную в электрический эквивалент (например, фотоэлемент или термопара). Преобразователь уровня напряжения. Схема, которая преобразовывает логиче- ские уровни напряжения одного семейства ИС в логические уровни другого семейства. Принудительная передача (jam transfer). См. Асинхронная передача. Приоритетный вход. Синоним термина “Асинхронный вход". Приоритетный шифратор. Тип шифраторов, которые при одновременном возбуж- дении двух или более входов формируют сигнал, соответствующий входу с большим номером. Программа. Последовательность двоично кодированных команд, предназначен- ных для выполнения компьютером какой-либо определенной задачи. Программа самозагрузки. Программа, хранящаяся в ПЗУ компьютера и автома- тически исполняемая при каждом включении питания. Программа самоконтроля. Программа, хранящаяся в ПЗУ компьютера и автома- тически выполняемая при включении питания с целью тестирования ОЗУ и/или ПЗУ системы. Программатор. Устройство, предназначенное для программирования микросхем ПЛУ посредством автоматической подачи нужных уровней напряжения на указан- ные перемычки. Программирование. Процесс ввода информации в программируемое устройство (СППЗУ. ПЛУ). Программируемая логическая матрица (PLA). Класс программируемых логиче- ских устройств. Состоит из программируемых массивов элементов И и элементов ИЛИ. Такие устройства также иногда называются программируемыми пользователем логическими матрицами (Field Programmable Logic Array — FPLA). Программируемая матричная логика (PAL). Класс программируемых логических устройств. Состоит из программируемого массива элементов И и фиксированного массива элементов ИЛИ. Программируемая полярность выходного сигнала. Свойство многих ПЛУ выбо- рочного инвертирования сигнала на выходе устройства посредством управления пе- режиганием плавкой перемычки в составе элемента исключающее ИЛИ. Программируемая пользователем вентильная матрица (FPGA). Класс ПЛУ, со- держащих массив сложных логических ячеек, электрические связи между которыми могут изменяться в широких пределах, что позволяет реализовывать логические схемы высокого уровня сложности. Программируемая пользователем логическая матрица (FPLA). Класс ПЛУ, со- держащих как программируемый массив элементов И, так и программируемый мас- сив элементов ИЛИ. Программируемое логическое устройство (ПЛУ). ИС, которая содержит большое число взаимосвязанных логических элементов. Пользователь может запрограммиро- вать такую ИС на выполнение определенной функции, разрывая ненужные электри- ческие связи. Программируемое ПЗУ (ППЗУ). ПЗУ, которое может одноразово программиро- ваться пользователем. Не может быть стерто или перепрограммировано. Программируемое по шаблону ПЗУ (ШПЗУ). ПЗУ, которое программируется производителем на этапе изготовления согласно спецификациям заказчика. Не имеет возможности стирания или перепрограммирования. Программист. Человек, который пишет программы для компьютеров. Прозрачность. Свойство Р-защелки работать таким образом, что сигнал на выходе Q повторяет сигнал на входе D. Произведение задержки сигнала на мощность рассеяния. Числовая величина (измеряется в джоулях), которая используется для сравнения качества интегральных схем разных логических семейств. Рассчитывается как произведение времени за- держки распространения сигнала и мощности рассеяния заданной схемы. Процентная разрешающая способность. Отношение величины шага дискретиза- ции к полномасштабному сигналу цифроаналогового преобразователя. Процентная 972 Глоссарий
разрешающая способность также представляет собой величину, обратную макси- мальному числу шагов дискретизации ЦАП. Прямая адресация. Режим адресации, в котором часть команды, следующая за кодом операции, представляет собой адрес операнда. Пульсация переноса. См. Задержка сигнала переноса. Развязка по питанию. Подключение между землей и источником питания Vcc каждой ИС на ТТЛ небольшого высокочастотного конденсатора. “Разделяй и властвуй”. Принцип поиска неисправностей, согласно которому осу- ществляются только те тесты, которые вдвое уменьшают количество возможных причин неполадок. Разрешающая способность. 1. Наименьшее изменение выходного сигнала циф- роаналогового преобразователя при изменении сигнала на входе. См. также Величина шага. 2. Наименьшее изменение сигнала на входе аналого-цифрового преобразовате- ля, которое приводит к изменению выходного сигнала. Распределение данных. См. Демультиплексор. Реверсивные интегрирующие аналого-цифровые преобразователи. Тип аналого- цифровых преобразователей, в которых напряжение на выходе управляется сигналом с реверсивного счетчика. Величина цифрового напряжения изменяется до тех пор, пока не пересечет уровень величины аналогового сигнала. Реверсивный счетчик. Счетчик, который может считать как в прямом направле- нии, так и в обратном, в зависимости от того, какие сигналы поступили на его входы. Регистр. Группа триггеров, способная хранить данные. Регистр с параллельным входом и последовательным выходом. Тип регистра, ко- торый может быть загружен данными в параллельной форме, но имеет только один последовательный выход. Регистр с параллельными входом и выходом. Тип регистра, который может быть загружен данными в параллельной форме и имеет несколько параллельных выходов. Регистр сдвиговый. Цифровая схема, которая служит для сдвига через цепочку триггеров полученных с какого-либо входного источника данных. Сдвиг осуществля- ется по одному биту за единицу времени. Режим адресации. Метод, согласно которому микропроцессор получает адрес дан- ных, указанный командой машинного языка. Режим источника тока. Работа логической схемы в режиме, в котором ток с вы- хода данной схемы поступает на вход другой схемы, к которой он подключен. Режим нагрузки. Работа логической схемы в режиме, в котором на выход данной схемы поступает ток с входа схемы, к которой подключена первая. Т.е. выход одной схемы потребляет ток с входа другой. Режим ожидания. Режим функционирования устройства, в котором микросхема временно отключена и потребляет намного меньше энергии, чем в работающем со- стоянии. Режим переключения. Режим работы триггера, в котором он изменяет свое со- стояние на каждый импульс сигнала синхронизации. Сбор данных. Процесс выборки компьютером оцифрованных значений аналого- вых данных. Сброс. Входной сигнал защелки или триггера, который сбрасывает устройство в состояние Q = 0. Сверхвысокая степень интеграции (СВСИ). Уровень интеграции, предусматри- вающий от 10000 до 99999 элементов на плате. ИС, изготовленные с такой интегра- цией, называются сверхбольшими (СБИС). Селектор данных. См. Мультиплексор. Сигма (Е). Греческая буква, которой обычно обозначают операцию сложения. Часто используется для обозначения сигнала суммы на выходе параллельного сумма- тора. Сигма-дельта модуляция. Метод осуществления выборки аналогового сигнала и преобразования полученных отсчетов в последовательность бит. Глоссарий 973
Сигнал выбора микросхемы. Входной сигнал цифрового устройства, который раз- решает или блокирует работу схемы. Иногда также называется сигналом разрешения работы микросхемы. Сигнал синхронизации. Цифровой сигнал в виде прямоугольв ых или квадратных импульсов (меандров). СИД. Светоизлучающий диод. Симулятор. Компьютерная программа, которая моделирует состояния сигналов на выходах какой-либо логической схемы на основании описания этой схемы и задан- ных входных сигналов. Синхронная передача. Передача данных, осуществляемая при помощи синхрон- ных триггеров. Синхронные системы. Системы, в которых любые сигналы могут изменяться только синхронно с сигналом синхронизации. Синхронные управляющие входы. См. Входы управления. Синхронный D-тригтер. Тип триггера, имеющий синхронный вход D (вход данных). Синхронный J-K-трштер. Тип триггера, имеющий два синхронных входа: J и К. Синхронный S-C-триггер (S-R-трш тер). Тип триггера, имеющий два синхронных входа: SET (S) и CLEAR (С) (или SET (S) и RESET (R)). Синхронный счетчик. Счетчик, все триггеры которого управляются одним и тем же сигналом синхронизации. Синхронный триггер. Триггер, управляемый сигналом синхронизации и имею- щий соответствующий вход. Система знак-модуль. Система записи двоичных чисел со знаком, в которой старший значащий бит служит для указания знака, а остальная часть числа пред- ставляет его модуль. Складка памяти. Непредусмотренное обращение более чем к одному участку па- мяти в один и тот же момент времени, вызванное неполным декодированием адреса. Слагаемое. Одно из чисел, которые складываются во время выполнения операции сложения. Слово. Группа битов, которые несут определенную информацию. Слово памяти. Группа битов, хранящихся в запоминающем устройстве, которая представляет собой команду или данные определенного типа. Сложные ПЛУ (CPLD). Класс ПЛУ, которые содержат массив блоков ПМЛ с соот- ветствующими взаимными связями. Совместимость по выводам. Полное соответствие функций соответствующих вы- водов двух различных ИС. Состояние очистки. Состояние триггера или защелки, в котором Q = 0. Состояние сброса. Состояние триггера или защелки, в котором Q = 0. Состояние установки. Состояние триггера или защелки, в котором Q = 1. Средневзвешенное значение. Усредненное значение напряжения, рассчитанное по заданной группе отсчетов, каждому из которых присвоен определенный весовой ко- эффициент (между 0 и 1). Средняя степень интеграции (ССИ). Уровень интеграции, включающий от 12 до 99 элементов на плате. Старший значащий бит. Бит в самой левой позиции числа (т.е. с наибольшим ве- сом), выраженного в двоичной форме. Сзарший значащий разряд. Разряд с наибольшим весом. Статическое ОЗУ. Полупроводниковое ЗУ, информация в котором хранится в ячейках на основе триггеров и не нуждается в периодическом обновлении. Стираемое программируемое ПЗУ (СППЗУ). ПЗУ, которое имеет возможность пользовательского программирования электрическим током. Может также быть очищено от информации (под воздействием ультрафиолетового излучения) и перепро- граммировано любое число раз. Строб. Еще один термин для описания входного управляющего сигнала, который обычно служит для фиксации значения данных в регистре. 974 Глоссарий
Стробирование. Методика, используемая для “гашения” выбросов напряжения, возникающих при декодировании сигналов. Ступенчатый сигнал. Сигнал, который формируется на выходе цифроаналогового преобразователя при последовательном увеличении амплитуд! цифрового сигнала на его входе. Ступенчатый тест. Процедура побитового увеличения цифрового сигнала на входе цифроаналогового преобразователя с одновременной проверкой сигнала на выходе. Данный тест позволяет определить наличие неполадок в ЦАП на основе формы вы- ходного ступенчатого сигнала. Субдискретизация. Выборка отсчетов сигнала, с частотой, меньшей, чем двукрат- ная максимальная частота исходного сигнала. Суммирующий счетчик. Счетчик, состояния которого изменяются от 0 до макси- мального значения (коэффициента пересчета). Супердискретизация. Вставка промежуточных точек данных между имеющимися отсчетами цифрового сигнала. Такая выборка значений с запасом по частоте позво- ляет сглаживать неровности сигнала на выходе ЦАП, вызванные конечным шагом дискретизации. Суперкомпьютер. Компьютер с очень большими быстродействием и вычислитель- ной мощью. Схема выборки и удержания. Тип схем, которые предназначены для поддержания сигнала на входе аналого-цифрового усилителя в стабильном состоянии на протяже- нии процесса преобразования. В качестве основных элементов включает буферный усилитель с единичным коэффициентом усиления и конденсатор. Схема детектора фронта. Схема, которая при поступлении активного фронта сиг- нала синхронизации вырабатывает узкий импульс положительной полярности. Схема запрета (блокировки) прохождения сигнала. Логическая схема, управ- ляющая прохождением сигнала на выход устройства. ? Схема НЕ. См. Инвертор. Схема проверки четности. Схема, которая проверяет кодовую группу (включая бит четности) и сравнивает количество единиц с текущим битом четности. Схема управления импульсом. Логическая схема, которая используется для опре- деления пункта назначения входного импульса в зависимости от логических уровней на входах схемы. Счетчик Джонсона. Сдвиговый регистр, в котором сигнал с инверсного выхода последнего триггера подается обратно на вход первого триггера. Счетчик команд. Регистр центрального процессорного устройства, в котором хра- нятся адреса команд, выполняемых в текущий момент. Счетчик обновления. Счетчик, который отслеживает адреса строк во время обнов- ления данных в динамической памяти. Счетчик со сквозным переносом. См. Асинхронный счетчик. Счетчик частоты. Счетчик, который может измерять и отображать частоту сигнала. Таблица возбуждения J-К-триггера. Таблица, в которой показаны требуемые уровни сигналов J и К для каждого возможного перехода состояний одиночного J-K- триггера. Таблица возбуждения схемы. Таблица, в которой показаны возможные переходы состояний устройства и требуемые уровни сигналов J и К для каждого триггера схемы. Таблица истинности. Логическая таблица, с помощью которой описывается реак- ция схемы на различные комбинации логических уровней на ее входах. Таблица состояний. Таблица, в ячейки которой записываются состояния отдель- ных триггеров некоторой двоичной логической схемы (т.е. О или 1). Таймер 555. ТТЛ-совместимая интегральная схема, которая может функциониро- вать в нескольких различных режимах работы — например, как одновибратор и как несинхронизированный мультивибратор. Тест статической точности. Тест, в котором на вход цифроаналогового преобразо- вателя подается фиксированное двоичное значение, а затем измеряется выходной сигнал. Измеренное значение должно совпадать с поданным цифровым кодом с по- ГЛОССАРИЙ 975
грешностью, величина которой не должна превышать значение, указанное произво- дителем данного ЦАП в спецификации. Тестовый вектор. Набор входных переменных, которые используются для тести- рования работы ПЛУ перед его программированием. Токовый детектор. Инструмент для проверки изменений амплитуды тока в про- воце или на проводящей дорожке печатной платы. Транзистор в режиме источника тока. Режим работы выходного транзистора не- которых схем на ТТЛ (Q3), в котором транзистор открыт и ток источника питания проходит по нему на выход, тем самым, обеспечивая высокий логический уровень. Транзистор установки рабочей точки (pull-up transistor). См. Транзистор в ре- жиме источника тока. Транзистор утечкп (pull-down transistor). См. Нагрузочный транзистор. Триггер. Простейшее запоминающее устройство, которое может хранить один ло- гический уровень (1 бит). Триггер Шмита. (Цифровая схема, которая принимает медленно изменяющийся входной сигнал и на его основе формирует выходной сигнал с минимальными дли- тельностями времен нарастания и спада фронтов, практически свободный от пара- зитных колебаний. Триггеры типа master/slave. Устаревший тип тригеров, включающий пару триг- геров, один из которых является ведущим, а другой — ведомым. Тристабильность. Свойство, обеспечиваемое структурой выходной логики устрой- ства, которое позволяет работать с тремя выходными состояниями: с высоким уров- нем напряжения, с низким уровнем и в высокоимпедансном состоянии. ТТЛ (транзисторно-транзисторная логика). Технология изготовления интеграль- ных схем, которая в качестве основного элемента использует биполярные транзисторы. ТТЛ на транзисторах Шотки. Подсемейство транзисторно-транзисторной логики, в котором используются стандартные элементы ТТЛ, но на диодах Шотки, включен- ных между базой и коллектором каждого транзистора. Схемы на таких транзисторах обеспечивают большее быстродействие, чем стандартные элементы ТТЛ. Ультравысокая степень интеграции (УВСИ). Ультравысокий уровень интеграции, предусматривающий от 10000 до 99999 элементов на плате. Уменьшаемое. Число, от которого отнимается вычитаемое. Униполярная ИС. Цифровая интегральная схема на униполярных полевых тран- зисторах. г Управляющий сигнал. Входной сигнал, синхронизированный с активными фрон- тами синхроимпульсов и определяющий выходное состояние триггера. Ускоренный перенос. Свойство некоторых типов параллельных сумматоров пред- сказывать формирование бита переноса (Свых), возникающего в результате сложения заданных битов. Позволяет уменьшить общую задержку распространения выходного сигнала схемы, исключив задержку распространения сигнала переноса. Устройства большой емкости. Запоминающие устройства, способные хранить большие объемы данных: не входят в систему внутренней памяти компьютера. Устройство ввода. Блок компьютера, который отвечает за передачу внешней ин- формации в запоминающее устройство или АЛУ. Устройство вывода. Блок компьютера, который получает данные из АЛУ или за- поминающего устройства и выводит их из компьютера в заданном виде. Устройство управления. Блок компьютера, который отвечает за декодирование команд программы и сигналы управления и синхронизации, необходимые для вы- полнения конкретных команд. Фазовый сдвиг сигнала синхронизации (расфазировка). Поступление одного и то- го же сигнала синхронизации на разные триггеры в разные моменты времени, обу- словленное задержками распространения сигнала по цепи. Фиксация. 1. Явление выборки и удержания логической схемой значений напря- жения на входе. 2. Явление возникновения опасных токов большой амплитуды в схемах, выполненных по КМОП технологии. Причиной являются выбросы напряже- 976 Глоссарий
ния большой амплитуды или паразитные затухающие колебания на входе и выходе схемы. Флэш-память. Энергонезависимая память, которая имеет высокую скорость дос- тупа и свойство стираемости электрическим током без извлечения из схемы (как ЭСППЗУ), обладая при этом большей плотностью хранения информации и меньшей ценой. Формирование логических функций. Реализация на выходе цифровой ИС (например, мультиплексора) логической функции непосредственно с помощью таб- лицы истинности. Формирователь бита четности. Схема, которая на основе имеющейся кодовой группы формирует правильный бит четности. Функциональная эквивалентность. Явление абсолютного совпадения по форме и величине логических функций от двух различных ИС. ЦАП на основе цепи типа R/2R. Тип цифроаналоговых преобразователей, значе- ния сопротивлений во внутренней цепи которых соотносятся как 2 к 1. Центральное процессорное устройство (ЦПУ). Блок компьютера, состоящий из арифметико-логического устройства (АЛУ) и устройства управления.. Цикл выборки. Период, во время которого устройство управления компьютера считывает из памяти коды команд. Цикл выполнения. Период, во время которого устройство управления компьютера выполняет операцию, указанную командой. Цифроаналоговый преобразователь (ЦАП). Схема, предназначенная для преобра- зования цифрового сигнала в аналоговый. Цифровая обработка сигналов (DSP). Метод осуществления непрерывных вычис- лений над входным потоком цифровых данных, обычно с целью увеличения досто- верности соответствия данного сигнала оригинальному аналоговому сигналу, значе- ния которого представлены оцифрованными отсчетами. Цифровая система. Комбинация устройств, предназначенных для обработки фи- зических величин, представленных в цифровой форме. Цифровое представление. Представление величины в виде дискретных отсчетов в некотором диапазоне значений. Цифровой запоминающий осциллограф. Инструмент, который осуществляет вы- борку, дискретизацию, хранение и отображение аналоговых сигналов.. Цифровой компьютер. Система аппаратных средств, которая может осуществлять арифметические и логические операции, обрабатывать данные и принимать решения. Цифровые интегральные схемы. Завершенные цифровые схемы, изготовленные по одной из технологий производства интегральных схем. Чтение. Термин, использующийся для описания получения ЦПУ данных от лю- бого другого блока компьютера. Шаг выводов. Расстояние между парой ближайших выводов ИС. Шаг дискретизации. См. Разрешающая способность. Шестнадцатеричная система счисления. Система счисления с базой 16, в которой используются десятичные цифры от 0 до 9 и латинские буквы от А до F. Шина. Группа линий, по которым передаются связанные друг с другом биты ин- формации. Шина адреса. Набор однонаправленных сигнальных линий, по которым от ЦПУ к памяти или устройствам ввода-вывода передаются коды адреса. Шина данных. Набор двунаправленных сигнальных линий, по которым переда- ются данные между ЦПУ и памятью либо устройствами ввода-вывода. Шина управления. Набор сигнальных линий, которые используются для синхро- низации работы ЦПУ и других элементов компьютерной системы. Шинный цикл. Последовательность событий, которые происходят во время пере- дачи микропроцессором информации по шине данных. Шифратор. Цифровая схема, на выходе которой формируется код, соответствую- щий номеру возбужденного входа. Глоссарий 977
Шумы. Паразитные флуктуации напряжения, вызванные электромагнитным ок- ружением, которые могут привести к сбоям в работе цифровых устройств. Электрическая совместимость. Свойство ИС различных серий соединяться вместе для функционирования в одной схеме без принятия каких-либо специальных мер по con ряжению. Электрически стираемое программируемое ПЗУ (ЭСППЗУ). ПЗУ, которое про- граммируется, стирается и пеоепрограммируется электрическим тиком. Электростатический разряд Нежелательный процесс передачи заряда статическо- го электричества от одной поверхности к другой. Возникающий при этом импульс тока может серьезно повредить электронное устройство. Элемент И. Цифровая схема, реализующая операцию И. Сигнал на выходе данной схемы имеет высокий уровень напряжения (единичный логический уровень) только в том случае, если на все входы элемента поданы единичные сигналы. Элемент ИЛИ Цифровая схема, реализующая операцию ИЛИ. Сигнал на выходе данной схемы принимает высокий уровень напряжения (единичный логический уро- вень) в том случае, если хоть на один вход элемента подан единичный сигнал. Элемент ИЛИ-НЕ. Логическая схема, функционально эквивалентная элементу ИЛИ с инвертором. Сигнал на выходе элемента ИЛИ-НЕ принимает низкий уровень напряжения (нулевой логический уровень) только в том случае, если хоть на один из его входов подан сигнал с высоким уровнем (единичным логическим уровнем). Элемент И-НЕ. Логическая схема, функционально эквивалентная элементу И с инвертором. Сигнал на выходе элемента И-НЕ принимает низкий уровень напряже- ния (нулевой логический уровень) только в том случае, если на все его входы поданы сигналы с высокими уровнями (единичные логические уровни). Элемент исключающее ИЛИ. Логическая схема с двумя входами, которая форми- рует высокий уровень сигнала только в том случае, если сигналы на входах не равны. Элемент исключающее ИЛИ-НЕ. логическая схема с двумя входами, которая формирует высокий уровень сигнала только в том случае, если сигналы на входах равны. Эмиттерно-связання логика. См. ЭСЛ. Энергозависимая память. Память, хранение информации в которой возможно только при подаче электрического питания. Энергонезависимая память Память, информация в которой может храниться даже при отсутствии электрической энергии. Энергонезависимое ОЗУ. Комбинация массива ОЗУ и ЭСППЗУ или флэш-памяти на одной и той же ИС. Микросхема ЭСППЗУ служит з качестве энергонезависимой резервной памяти. ЭСЛ. Эмитгерно-связанная логика. Также носит название токопереключательной логики. Язык ассемблера. Набор мнемоник, соответствующих двоичным командам ма- шинного языка. Язык высокого уровня. Язык программирования, разработанный на основе како- го-либо общеупотребительного языка (чаще английского), который облегчает написа- ние компьютерных программ. Язык описания аппаратных средств (Hardware Description Language — HDL). Стандартный язык описания структуры логических схем в виде файла, который об- рабатывается компилятором (например, CUPL). Ячейка памяти. Устройство, предназначенное для хранения одного бита инфор- мации. 978 Глоссарий
Ответы к упражнениям Глава 1 1.1. а) и д) — цифровые, б), в), г) — аналоговые. 1.2. а) 25 б) 9,5625 в) 1241,6875 1.4. 1023 1.5. Девять бит 4,4 В —» 2 ms 1.6. 0,2 В 1-------- 4 ms 2 ms 1.7. a) 2n - 1 = 15 и N — 4; таким образом для параллельной передачи данных потребуется четыре линии связи б) Для последовательной передачи требуется только одна сигнальная ли- ния. 1 Глава 2 2.1. а) 22 б) 141 в) 2313 г) 91 Д) 255 е) 119 ж) 983 з) 191 2.2. а) 100101 б) 1110 в) 10111101 г) 10000000000 д) 1001101 е) 110010101 ж) 11001101 з) 100100001001 и) 111111111 2.3. 255; 65535 Ответы к упражнениям 979
2.4. a) 483 б) 30 в) 2047 г) 1024 Д) И7 е) 5 ж) 175 з) 644 2.5. а) 738 б) 5648 в) 16278 г) 20008 Д) 14038 е) 44118 ж) 2000008 з) 3778 2.6. а) 111100011 б) 011110 в) 011111111111 г) 10000000000 д) 1110101 е) 101 ж) 010101111 з) 001010000100 2.7. а) 268 б) 2158 в) 4411ft г) 1338 Д) 3778 е) 1688 ж) 17278 з) 2778 2.8. 165; 166; 167; 170; 171; 172; 173; 174; 175; 176; 177; 200 2.9. 1001000010012 = 44118 2.10. Пять 2.11. а) 146 б) 422 в) 14333 980 Ответы к упражнениям
г) 43981 Д) 15 е) 85 ж) 704 з) 2047 2.12. а) 4В б) 13А в) 800 г) Е Д) 1C4D е) 185 ж) 6413 з) FFF 2.13. а) 16 б) 8D в) 909 г) 5В Д) FF е) 77 ж) 3D7 з) BF 2.14. а) 10010010 б) 000110100110 в) 0011011111111101 г) 001011000000 д) 011111111111 2.15. 280; 281; 282; 283; 284; 285; 286; 287; 288; 289; 28А; 28В; 28С; 28D; 28Е; 28F; 290; 291; 292; 293; 294; 295; 296; 297; 298; 299; 29А; 29В; 29С; 29D; 29Е; 29F; 2А0 2.16. Пять 2.17. а) 01000111 б) 100101100010 в) 000110000111 г) 0110011100100111 д) 00010011 е) 01000010011010001001011000100111 2.18. Десять бит в двоичном коде, 12 бит в двоично-десятичном 2.19. а) 9752 б) 184 Ответы к упражнениям 981
в) 695 г) 7775 Д) 492 е) 555 2.20. а) 64 б) FFFFFFFF в) 999999 2.21. 01011000 (X); 00111101 (=); 00110010 (2); 10110101 (5); 00101111 (/); 11011001 (Y) 2.22. D8, BD, В2, 35, AF, 59 2.23. BEN SMITH 2.24. а) 101110100 (бит четности находится в крайнем левом разряде) б) 000111000 в) 11000100010000100 г) 0001001110101 д) 0000101100101 е) 11001001000000001 2.25. а) Ошибок в одном разряде нет б) Ошибка в одном разряде в) Ошибка в двух разрядах г) Ошибок в одном разряде нет 2.27. а) 10110001001 б) 11111111 в) 209 ' г) 59,943 Д) 4701 е) 777 ж) 157 з) 2254 и) 1961 к) 15900 л) 640 м) 952В н) 100001100101 о) 947 п) 1351в р) 54648 с) 1001010 т) 01011000 (двоично-десятичный код) 2.28. 982 Ответы к упражнениям
a) 100101 б) 00110111 в) 25 г) 0110011 0110111 Д) 45 2.29. а) Восьмеричную б) 16 в) разряд г) Грея д) бит четности; ошибку в одцом из разрядов е) ASCII ж) Восьмеричная; шестнадцатеричная з) Байтом 2.30. а) 1000 б) 010001 в) 1111 2.31. а) ОНО б) 001111 в) 1101 2.32. а) 10000 б) 7778 в) 2001 г) 2001 Д) А00 е) 1001 2.33. а) 7776 б) 7776 в) 1777 г) 1FFF д) 9FE е) OFFF 2.34. а) 1048576 б) Пять в) OOOFF 2.35. а) 64; 256; 1024 б) 440000 Ответы к упражнениям 983
в) 11363,63 2.36. Восемь Глава 3 х----------LTU---------------1_П_Г Ао -------------------------------- С 3.3. Сигнал х будет иметь постоянный высокий уровень 3.5. 31 3.6. а) Сигнал х будет иметь высокий уровень только если сигналы А, В и С все имеют высокие уровни б) Сигнал х будет иметь постоянный низкий уровень в) Сигнал х будет иметь высокий уровень только если сигналы В и С одно- временно имеют высокие уровни 3.7. Следует заменить элемент ИЛИ на элемент И 3.8. Сигнал на выходе (OUT) имеет постоянный низкий уровень напряжения 3.12. а) х = (А + В j ВС б) х = АВС + АВС + ABD 3.13. Сигнал X имеет высокий уровень для всех случаев, когда Е = 1, кроме тех, ко- гда EDCBA = 10101, 10110 и 10111 3.14. х = D (АВ + с) + Е 984 Ответы к упражнениям
3.16. 3.17. 3.19. 3.20. х = (A + В) • (ВС) х = 0 только при А = В = О, С = 1 Сигнал X имеет низкий логический уровень только при A=B=lnC=D=0 Ответы к упражнениям 985
м 3.22. а) 1 б) А в) О г) С Д) О е) D эк) D з) 1 и) G й) у 3.24. a) MPN + MPN б) ВС 3.26. а) А + В + С б) а (в + с) в) А + В + CD г) АВ • Д) А + В е) ACD ж) А + В + С + D з) MN + MN и) (а + в)с + Ь 3.27. А + В + С 3.32. a) W = 1 при Т = 1 и либо Р = 1, либо R = О 3.34. а) ИЛИ-НЕ б) И в) И-НЕ 986 Ответы к упражнениям
3.35. 3.36. а) Сигнал Z принимает высокий уровень напряжения только тогда, когда А-В=0иС=D =1 б) Сигнал Z принимает низкий уровень напряжения тогда, когда высокий уровень имеет сигнал А или В, либо когда низкий уровень имеет сигнал С или D 3.38. Сигнал X принимает высокий уровень либо тогда, когда Е = 1, или D = 0, или В = С = 0, либо тогда, когда В = 1 и А = 0 3.39. Сигнал X имеет низкий уровень тогда, когда EDCBA = 01011, 01100, 01101 и 00011 3.40. а) Высокий уровень сигнала б) Низкий уровень сигнала 3.41. LIGHT = 0 при А = В - 0 или А = В = 1 3.42. 3.43. На входах А7, А5, А^, А2 ИС 74НС30 следует расположить инверторы 3.45. Вам потребуется шесть элементов И-НЕ с двумя входами Глава 4 4.1. а) СА + СВ б) QK + QK Ответы к упражнениям 987
в) С + А г) RST д) ВС + В(С + А) е) ВС + В(С + А) или ВС + ВС + АС ж) D + АВС + АВС з) х - АВС + ABD + ABD + BCD 4.2. Q(M + N) 4.3. MN + Q 4.4. Одно решение: х = ВС + АВС ; другое: х = АВ + ВС + ВС ; третье: ВС + ВС + АС 4.5. х = АВ + АС + ВС 4.6. х = АВ + BCD , где А = 5 часов или позже; В = все машины выключены; С = пятница; D ~ производственный цикл окончен 4.7. х = А3(А2 + А1А0) а) х = АС + ВС + ACD CD CD CD CD АВ Л1 А А ij АВ Ul 1J АВ АВ Г1 ИД 988 Ответы к упражнениям
6) х = AD + ВС + BD 4.12. х = ВС + ВС + АС или х = ВС + ВС + АВ 4.13. y = D + ABC + ABC 4.14. Одна возможная комбинация ячеек карты Карно: х = ABD + АВС + ABD + BCD ; другая: х = АВС + BCD + ACD + BCD 4.15. х = А^А* + 4.16. Наилучшее решение: х = ВС + AD 4.17. х = S.S, + S.SL + S3S. + S,S3 + S,S. 4.18. ______________________ ____________________________ А В а) б) х = А в) х = А Ответы к упражнениям 989
4.19. А = 0,В = С = 1 4.20. Одно из возможных решений показано на рисунке ниже: 4.21. Подключите ко входам элемента И четыре элемента исключающее ИЛИ-НЕ 4.23. Ниже приведены четыре сигнала на выходах схемы; сигнал з4 представляет старший значащий бит = УгУоХ&о z2 = у^Суо + х0) г1 = У0*1 & + *о) + Угх0 (у0 + хх) г2 = уохо 4.24. х — .А3А2 + AjAj 4.25. x = AB(c®d) 4.26. (A + B)(C + D) 4.27. С-Ю = CD(A + В) + АВ(С + D); В-3 = С-Ю 4.28. а) Добавьте на выходе схемы инвертор б) Добавьте на выходе схемы инвертор или замените элементы исключаю- щее ИЛИ на исключающее ИЛИ-НЕ 4.31. а) Нет' б) Нет ' 4.32. х = АВС 4.33. x = A + BCD 4.34. х = А + (ВФС) 4.35. z = AqS + AjS 4.36. z = x^y^Q + х^у^ + xxxoyxyo + xxxQy^yQ - в полученных картах Карно нет, ни пар, ни октетов, ни групп по четыре ячейки 4.38. а) Неопределенный логический уровень б) 1,4-1,8 В в) См. диаграммы ниже 990 Ответы к упражнениям
CLOCK LOAD SHIFT CLK OUT SHFTOUT 4.41. Возможные причины неисправности: неисправны выводы на источник питания Vcc или на землю устройства Z2; внутреннее или внешнее размыкание контактов на выводах Z1-1 или Z1-2; внутреннее размыкание на выводе Z2-3 4.42. Да: в), д), е). Нет: а), б), г), ж) 4.44. Выводы Z2-6 и Z2-11 закорочены вместе 4.46. Наиболее вероятные причины: Неисправны вывод на землю или источник питания Vcc устройства Z1 Устройство Z1 вставлено в разъем не той стороной Устройство Z1 имеет внутренние неисправности 4.47. Наиболее вероятные причины: Вывод Z2-13 замкнут накоротко на источник питания Усс > Вывод Z2-8 замкнут накоротко на источник питания УСс г Разрыв контакта на выводе Z2-13 Один из выводов Z2-3, Z2-6, Z2-9 или Z2-10 замкнут на землю 4.48. б) Следует разомкнуть связи 1, 2, 3 и 5. Ответы к упражнениям 991
4.49. Все утверждения истинны 4.53. В виде булевых уравнений; таблиц истинности, схематического описания 4.55. S = !P#Q&R 4.56. Р = D3$D2$DO$D1 4.58. а) от 00 до EF б) F0 в) от F1 до FF Глава 5 5.2. То же, что и в предыдущем пункте , Q 5.3. -------------------------------- 5.6. На выводе Z1-4 установился постоянный высокий уровень напряжения 5.7. 20 нс 1 ----------------- ---------- Q 0 -------- ---------------- 5.8. b f h 5.9. Пусть в начальный момент времени Q = 0 Для триггера, переключаемого по положительному фронту: сигнал Q примет со- стояние с высоким уровнем напряжения при поступлении на вход синхронизации переднего фронта 1-ого синхроимпульса Для триггера, переключаемого по отрицательному фронту: сигнал Q примет со- стояние с высоким уровнем напряжения при поступлении на вход синхронизации заднего фронта 1-ого синхроимпульса, состояние с низким уровнем - при поступ- лении заднего фронта 2-ого синхроимпульса, и вновь возвратится в состояние с высоким уровнем при поступлении заднего фронта 4-ого синхроимпульса 992 Ответы к упражнениям
5.10. 5.11. b f h j а) Сигнал в виде квадратного меандра с частотой 5 кГц б) 2,5 кГц Тактовые r-i импульсы —* 1— Входные данные--------- 5.13. 5.15. 5.16. Сигнал в виде квадратного меандра с частотой 500 Гц Сигнал Q не изменится 5.21. 5.23. 5.20. Q / 5.24. 5.25. 5.26. 5.27. а) 200 нс б) 7474; 74С74 в) 30 нс 62 нс Следует подать сигнал А на вход J и сигнал А на вход К а) А, В, С а) Следует подать сигнал X на вход J и сигнал X на вход К б) Используйте схему, изображенную на рис. 5.41 Ответы к упражнениям 993
5.28. 1011, 1101, 1110, 0111, 1011, 1101, 1110, 0111, 1011 5.29. Следует подключить сигнал с выхода Хо к D входу триггера Х2 5.30. а) 101; 011; 000 б) 001; 111; 100 в) 500 кГц 5.33. а) 10 б) 1953 Гц в) 1024 г) 12 5.34. а) 128 б) от 0 до 127 5.35. Следует подключить инверторы ко входам А$, Ац и Ац 5 мс Q1 | |____________________ । 20 мс । Юме 5.40. 03 ----------------1 ।---- 5.41. а) Сигнал на выходе Q будет постоянно находиться в состоянии с низким уровнем напряжения б) Передний фронт сигнала на Q установит на выходе X = 1 в) Необходимо сделать tp = 20 мкс 5.42. а) Сигналы At и А2 должны иметь низкий уровень напряжения в момент поступления на вход В переднего фронта сигнала б) Сигналы В и А2 должны иметь высокий уровень напряжения в момент поступления на вход Аг заднего фронта сигнала 5.44. После прохождения 14 импульсов сигналы на всех выходах схемы установятся окончательно и уже не будут изменяться. При этом их состояния будут таки- ми: A = W = X = Y = Z = 0mB~C=1 5.45. Можно, например, применить сопротивление R = 1 кОм и емкость С = 80 нФ 5.46. Можно, например, применить сопротивление RA = 1 кОм; RB = 10 кОм и ем- кость С = 1800 пФ 5.48. CLK ---1 । 1 ।-------1 1 1 I---------------- СР1 ----------1 ----------1 I-------------- СР2 994 Ответы к упражнениям
5.49. а) Нет б) Да в) Нет г) Нет 5.50. Триггер Хо имеет размыкание на D входе 5.51. а) Да б) Нет 5.52. Необходимо добавить дополнительную временную задержку ко времени £РЬн триггера чтобы к тому времени, когда сигнал синхронизации достигнет триг- гера Q2, сигнал с выхода Qi не успел достигнуть входа D2. Это можно сделать, например, включив между двумя триггерами пару последовательно соединенных инверторов 5.54. а) Нет б) Нет в) Да г) Нет 5.55. Первая комбинация: 101. Вторая комбинация: 010 , 5.56. а) Нет б) Нет в) Да 5.57. а) Защелки на элементах И-НЕ и ИЛИ-НЕ б) J-К-триггер в) D-защелка г) D-триггер д) D-триггер и D-защелка е) Все типы триггеров ж) Синхронные S-C-, J-K-, D-триггеры з) J-K-триггер 5.59. Q = ! (С # QBAR); QBAR = ! (S # Q) 5.60. Inputs: PIN[1..6] = [S1BAR,CIBAR,S2,C2,D3,EN3] Outputs: PIN[12..14,17..19] = [Q1,Q1BAR,Q2,Q2BAR,Q3,Q3BAR] QI = 1Q1BAR # !S1BAR; Q1BAR = !Q1 # !C1BAR; Q2 = !(C2 # Q2BAR); Q2BAR = !(S2 # Q2); Q3 = (D3 & EN3) # JQ3BAR; Q3BAR = (!D3 & EN3) # !Q3; 5.61. {present ‘b’000 next ‘b’lll present ‘b’001 next ‘b’000 present ‘b’010 next ‘b’001 и т.д.} Ответы к упражнениям 995
Глава 6 ед. а) 10101 б) 10010 в) 1111,0101 г) 1,1010 д) 100111000 6.2. а) 00100000 (включая бит четности) б) 11110010 в) 00111111 г) 10011000 д) 01111111 е) 10000001 ж) 01011001 з) 11001001 и) 11111111 й) 10000000 к) невозможно выразить восемью битами л) 00000000 м) 01010100 н) 00000011 о) 11111101 п) невозможно выразить восемью битами 6.3. а) +13 б) -3 в) +123 г) -103 Д) +127 е) -64 ж) -1 з) -127 и) +99 й) -39 6.4. а) от -2048 до +2047 б) 16 бит, включая бит четности 6.5. От -1610 до +1510 6.6. а) 01001001; 10110111 б) 11110100; 00001100 996 Ответы к упражнениям
в) 00001111; 11110001 г) 11111111; 00000001 д) Чтобы записать число +128 в двоичном виде, учитывая знак, понадобит- ся 9 бит « е) 01111111; 10000001 6.7. От 0 до 1023; от -512 до +511 6.9. а) 00001111 б) 11111101 в) 11111011 г) 10000000 д) 00000001 е) 11011110 ж) 00000000 з) 00010101 и) 0 й) 00000000 6.11. а) 100011 б) 1111001 в) 100011,00101 г) 0,10001111 6.12. а) 11 б) 111 в) 101,11 г) 1111,0011 6.13. а) Ю010111(двоично-десятичный код) б) 10010101UBOH4HO -десятичный код) в) 0101001001 ll(flBOI14Ho.fleCJITH4llMft код) г) 010100000011UBOH4HO-десятичный код) Д) 0001000000000001(двоично-десятичный код) е) 0001001000100010(дВОИЧН(>.деСяТИЧЯЫд код) 6.14. а) 6Е24 б) 100D в) 18АВ г) 3000 д) 10FE е) 17СЗС 6.15. a) 0EFE Ответы к упражнениям 997
б) 229 в) 02А6 г) 01FD д) 0001 е) EF00 6.16. 16849 участков 6.17. а) 119 б) +119 в) 229; -27 6.19. SUM = А® В (сигнал суммы); CARRY = АВ (сигнал переноса) 6.21. [А] *= 0000 6.22. 200 нс 6.23. Сигнал переполнения overflow = А^В353 + А^В^ 6.25. С3 = Д,В2 + (А, + В2){А1В1 + (А + bjeaa + АД + В0С0]} 6.27. a) SUM = 0111 б) SUM = 1010 в) 1100 6.30. [S] = 01110; х = 1; [2] = 0100 6.31. Да 6.32. [2| = 100001000101 6.33. /*7 Cn+4 OVR а) 1001 0 1 б) 1101 0 0 в) 0011 1 0 998 Ответы к упражнениям
6.34. [S] = 100; [В] = 1111 6.35. a) 00001100 б) 11011100 6.37. a) 0001 б) 1010 в) 0010 г) 1011 д) 1000 6.39. а) Да б) Нет в) Да г) Нет 6.40. а) 1101 б) 1000 в) 0101 г) ОНО Д) ИИ е) 1001 ж) ОНО 6.42. Следует использовать D-триггеры. Подайте на D-вход триггера нуля (хранит соответствующий флаг) сигнал (S3 + S2 + Sj + So); на D-вход триггера перено- са — бит С4 и на D-вход триггера знака — бит S3 6.43. 0000000001001001; 1111111110101110 Глава 7 7.1. а) 250 кГц; 50 % б) то же, что и в предыдущем пункте в) частота на входе С равна 1 МГц г) 32 7.2. 2 кГц 7.3. 100002 7.4. Потребуется пять триггеров: Qo-Qo где триггер Q4 применим для индикации старшего значащего бита. Подайте сигналы с выходов триггеров Q3 и Q4 на эле- мент И-НЕ, выход которого должен быть подключен ко входам сброса всех ис- пользуемых триггеров Ответы к упражнениям 999
7.6. На выходе В при поступлении заднего фронта четырнадцатого синхроимпульса возникает выброс напряжения 7.7. Соедините триггеры Q5, Q4 и Qi, чтобы получить коэффициент пересчета, рав- ный 50. Счетчик с коэффициентом пересчета, равным 100, не может быть полу- чен без использования дополнительных логических элементов 7.8. б) ООО, 001, 010, 100, 101, 110 и далее последовательность повторяется 7.11. Сигнал с выхода счетчика с коэффициентом пересчета, равным 15 (напр., из упражнения 7.10) должен управлять счетчиком с коэффициентом пересчета, рав- ным 4 7.12. 60 Гц 7.14. в) 0001 7.15. 100, 011, 010, 001, 000 и далее последовательность повторяется 7.16. Состояния 1000 и 0000 не могут возникнуть 7.17. а) 12,5 МГц б) 8,33 МГц 7.18. а) Добавьте два триггера (Е и F) к схеме, показанной на рис. 7.58. Под- ключите элементы И, изображенные ниже, к соответствующим входам триггеров б) 33 МГц 1000 Ответы к упражнениям
7.19. 7.21. 7.23. 7.24. 7.25. 7.27. 0000, 0001, 0010, ООН, 0100, 0101, ОНО, 0111, 1000, 1001, и далее последова- тельность повторяется Триггеры счетчика будут переключаться между состояниями ООО и 111 на ка- ждый импульс сигнала синхронизации г) Триггер Z не будет очищен, и таймер не начнет считать заново Измените кодовую комбинацию на параллельном входе данных на 1010 Девять а) Десять б) Сбрасывает счетчик в состояние 0000 в) Устанавливает счетчик в состояние 1001 г) Суммирующий д) Подайте сигнал с выхода Qo на вход СРг и сигнал синхронизации на вход СР0; входы MR2, MSi, MS2 следует заземлить е) Подайте сигнал синхронизации на вход СРг; сигнал с выхода Q3 на вход СР0; все входы MR и MS необходимо заземлить 7.28. X ------------ । । । 7.31. 7.33. 7.34. 7.35. 7.36. । । 0100 0111 । । । । 0100 0111 а) В момент когда счетчик переходит из состояния 0111 в 1000 12 триггеров Четыре; шестнадцать; тринадцать 7.37. 7.38. a) JA = ВС , КА = 1, JB = СА + СА , Кв = 1, Jc = АВ, Кс = В + А б) JA = ВС , КА = 1, JB = Кв = 1, Кв = 1, Jc “ -Кс = В JA = KA = lt JB=KB=A, Jc = Кс = АВ, JD=KD = ABC JA = - 1, JB = KB = AD + AD , Jc = Kc = ABD + ABD Л Л 9 Б D * V V Ответы к упражнениям 1001
7.40. 7.41. 7.42. 7.43. 7.44. 7.45. 7.46. 7.48. 7.50. 7.51. 7.52. 7.54. А В С 0 E F 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 Повтор 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 -J Счетная последовательность имеет вид: 00000, 10000, 11000, 111100, 11110, 11111, 01111, 00111, 00011, 00001 и далее последовательность повторяется Частота в точке г равна 5 кГц а) Каждый светодиод будет гореть в течение 0,5 секунд на каждом четы- рехсекундном интервале б) Каждый светодиод будет гореть в течение 4 секунд, а затем 4 секунды выключен б) 257 в) 323, а) 22 б) 450 в) 0 или 1 Подключите выход Qo ИС 74290 ко входу СР\ ИС 74293 Необходимо добавить второй J-K-триггер Подключите выход Qo ко входу Р5, используя инвертор а) 101000 б) 101101 ^310 б) • Ql + Q) • ^7 а) Q3 • Qe 1002 Ответы к упражнениям
7.55. 7.56. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 СР сдвиг а) б) в) Вход сброса CLR является асинхронным Да Qa Qb Qc Qd 1 0 1 1 0 1 1 1 После 1 синхроимпульса 1 1 1 1 После 2 синхроимпульса 1 1 1 1 После 3 синхроимпульса 1 1 1 1 После 4 синхроимпульса __________Г)__________________________________ Ол Qb Qc Qp 10 11 0 10 1 После 1 синхроимпульса 0 0 10 После 2 синхроимпульса 0 0 0 1 После 3 синхроимпульса 0 0 0 0 После 4 синхроимпульса д) Q. Qb___Qc Qd 0 110 После 1 синхроимпульса 0 110 После 2 синхроимпульса 0 110 После 3 синхроимпульса 0 110 После 4 синхроимпульса е) То же, что и в предыдущем пункте Ответы к упражнениям 1003
ж) Qx Qb Qc Qo 1 0 1 1 0 1 1 1 После 1 синхроимпульса 1 1 1 0 После 2 синхроимпульса 1 1 0 1 После 3 синхроимпульса 1 0 1 1 После 4 синхроимпульса 7.57. Либо произошел разрыв контакта между MRi и Qlt либо короткое замыкание на землю MR2 или Q3 7.58. Вход сброса CLR триггера или X разомкнут, или постоянно находится в со- стоянии с высоким уровнем напряжения, или не реагирует на входные сигналы 7.59. Вход старшего значащего бита счетчика с коэффициентом пересчета, равным 6, постоянно находится в состоянии с низким уровнем напряжения 7.60. а) индикатор = 001 б) индикатор = ООО 7.61. Счетчики не очищаются перед каждым интервалом выборки (SAMPLE) 7.62. а) Триггер С будет переключаться по каждому заднему фронту входного сигнала б) Счетчик не сможет считать правильно; триггеры В и С не будут пере- ключаться 7.63. Разомкнут Pi или неисправен S3 7.64. Вместо выхода Qo ко входу MRi был ошибочно подключен выход Qi 7.65. /*Inputs: */ pin 1 = clock; /♦Outputs: */ pin[17..19] = [A,B,C] /♦Hardware Description Equations: ♦/ A.D = IC&1B&IA # IC&B&IA; C.D = IC&B&A; B.D = IC&IB&A # IC&B&IA; 7.66. Field count = [C,B,A] /♦Hardware Description: ♦/ count.D = ‘b’001 & count:0; # ‘b’010 & count: 1; # ‘b’011 & count:2; # ‘b’100 & count:3; # ‘b’000 & count:4; # ‘b’000 & count:5; # ‘b’000 & count:6; # ‘b’000 & count: 7; 7.67. а) Параллельный б) Двоичный в) Вычитающий 1004 Ответы к упражнениям
г) С коэффициентом пересчета, равным 10 д) Асинхронный е) Кольцевой ж) Джонсона з) Любого типа и) С предварительной установкой й) Реверсивный к) Асинхронный л) Двоично-десятичный м) Синхронный/параллельный Глава 8 8.1. а) А; В б) А в) А 8.2. а) 728,3 пДж б) 459,3 пДж в) 59,06 пДж г) 27,41 пДж д) 67,26 пДж 8.3. а) 0,9 В б) 1,4 В 8.4. а) Ан 6) IcCL в) Ahl г) Произведение задержки сигнала на мощность рассеяния д) VNH е) Технология поверхностного монтажа ж) Режим нагрузки з) Коэффициент разветвления и) Каскадный выход к) Транзистор нагрузки л) от 4,75 до 5,25 В м) 2,5 В; 2,0 В н) 0,8 В; 0,5 В о) Режим источника тока 8.5. а) 0,7 В; 0,3 В Ответы к упражнениям 1005
б) 0,5 В; 0,4 В в) 0,5 В; 0,3 В 8.6. б) И, И-НЕ в) Входы, никуда не присоединенные 8.7. а) 40 б) 33 в) 16 г) 40 8.8. а) 20 мкА/0,4 мА б) Пять 8.9. а) 30/15 б) 24 мА 8.11. В обоих случаях коэффициент разветвления не превышен 8.12. 10 нс 8.13. 60 нс; 38 нс 8.14. а) 2 кОм б) 8 кОм 8.15. б) Сопротивление резистора 4,7 кОм слишком велико 8.16. а) Амплитуда слишком мала б) tp слишком мало в) tw(L) слишком мало 8.18. а) n-канальный полевой транзистор б) р-канальный полевой транзистор 8.19. а), и), д), е), ж), з) 8.20. б) 8.21. 12,6 мВт 8.22. 2,9 В 8.24. При Vcc = 6 В, произведение задержки сигнала на мощность рассеяния будет равно 1,44 пДж на элемент 8.26. Шесть элементов И 8.27. AB + CD + FG 8.28. а) 8.29. а) 5 В б) Rs = 110 Ом при токе светодиода 20 мА 1006 Ответы к упражнениям
8.30. а) 12 В б) 40 мА 8.32. а) X у Данные на шине 0 0 С 0 1 В 1 0 в 1 1 А б) Возникнет конфликт на шине, вызванный тем, что сигналы ЕА и Ев будут одновременно активны при X = Y = 1 8.33. Кольцевой счетчик 8.36. 1,22 В; О В евх С । । 8.37. ! ! 8.38. -1 и -2 8.39. а) 74НСТ б) Преобразовывает логические уровни напряжения в) Схемы на КМОП не могут управлять схемами на ТТЛ в виду малого вы- ходного тока г) Нет 8.40. Пункт в) выглядит очень вероятным 8.41. а) Ни один б) Два 8.44. Превышен коэффициент разветвления для ИС 74НС00; следует отсоединить вывод 3 ИС 7402 и заземлить его 8.46. R2 = 1,5 кОм, Bi = 18 кОм 8.49. Наиболее вероятной является причина, приведенная в п. б) 8.50. Вход КМОП элемента И-НЕ накоротко замкнут на +5 В 8.51. От 0 до -11,25 В и обратно до -6 В Ответы к упражнениям 1007
Глава 9 9.1. а) высокие уровни на всех выходах б) о0 = о в) О7=0 г) высокие уровни на всех выходах 9.2. 6 входов, 64 выхода 9.3. а) Е^Ег = 100; [А] =110 б) EzEzEt = 100; [А] « 011 в) ЕзЕ2Е1 = 100; [А] - 101 г) Никакие । । । । । । 9.5. '28 t30 9.6. Необходимо заземлить выход Е2 и снимать выходной сигнал с О2 9.7. Устройство включается при D = 0 сь-------------- ------------------------------ 9.8. 1008 Ответы к упражнениям
9.10. При помощи резисторов с номиналами 250 Ом 9.12. 9.13. а) Шифратор б) Шифратор в) Дешифратор г) Дешифратор д) Дешифратор 9.14. 0111 9.17. Если будет набрано четыре цифры, то четвертая окажется в регистре старшего значащего разряда 9.18. б) 9.19. а) или д) 9.20. а) Да б) Нет в) Нет 9.21. Между устройствами Z2 и Z3 разомкнута сигнальная линия А2 9.22. На входе Е2 устройства Z4 установился постоянный низкий уровень напряже- ния 9.23. Сгорит либо сегмент g, либо транзистор на выходе дешифратора 9.24. Входы D и С дешифратора перепутаны местами 9.25. Выходы а и b дешифратора замкнуты вместе 9.26. Разомкнута линия f между дешифратором/драйвером и элементом исключаю- щее ИЛИ. 9.28. S2 — 0, Sj = So = 1 9.29. Мультиплексирование “из 4 в 1” 9.30. Следует взять девять ИС 74151 Ответы к упражнениям 1009
9.32. б) Общее число соединений в схеме на мультиплексорах равно 63, не включая выводы на источник питания Vcc и землю и связи на входе синхронизации счетчика. Общее же количество соединений для схемы на отдельных дешифраторах/драйверах равно 66 I I I I < I I Л----- 1 цикл --- 1-----I. Ц-* 1-------------------^Повтор 9.34. !*------------- ,ЦИ|<Л -------------*! 9.35. АВС 0 0 0 0->£ 0 0 1 0->А 0 1 О' 0->6 0 1 1 о->/? 1 0 0 0 -> /4 1 0 1 0 -> /5 1 1 0 0->/б 1 1 1 0-»/7 9.36. Нужно подключить входы Ц, 15, /8, 71Ь 7И, 115 мультиплексора к источнику питания Vcc. Все остальные входы следует заземлить 9.37. Z = 1 при DCBA = 0010, 0100, 1001, 1010 9.38. б) Z = АВС + АВС + АВС + АВС + ABCD + ABCD 9.39. а) Шифратор, мультиплексор б) Мультиплексор, демультиплексор 1010 Ответы к упражнениям
в) Мультиплексор г) Шифратор д) Дешифратор, демультиплексор е) Демультиплексор ж) Мультиплексор Управляющие входы 9.40. 9.41. Выходы всех мультиплексоров будут по очереди переходить в состояния с низ- кими уровнями напряжения 9.42. а) Все светодиоды выключены б) Светодиоды мигают по очереди в) Мигают светодиоды 2 и 6 9.43. Пять линий 9.46. а) Последовательность прекратится после активации исполнительного ме- ханизма 3 б) То же, что и в предыдущем пункте 9.47. Возможно, произошло короткое замыкание на землю линии старшего значаще- го разряда мультиплексора десятков 9.48. Вероятно, перепутаны местами линии Qo и Qj 9.49. Скорее всего входы 6 и 7 мультиплексора оказались замкнуты друг на друга 9.50. На линии Si установился постоянный низкий уровень напряжения 9.51. а) Нет б) Да 9.53. Следует использовать три ИС 74НС85 9.54. Конечный двоичный код будет равен 1000101 9.55. Вероятно, перепутаны местами линии Ад и Во 9.57. ОЕс = 0, 1Ес = 1; ОЕв - ОЕл - 1 ,* IE в ~ 1ЕЛ = 0 ; следует подать импульс сиг- нала синхронизации 9.58. а) В момент t4 содержимое всех регистров будет равно 1011 । । । ✓ \1 У У"“ Z-состояние i I 9.59. tl *2 ч Ответы к упражнениям 1011
9.60. б) ВКЛ, ВКЛ, ВКЛ, ВЫКЛ (слева направо) 9.61. а) В момент t3 содержимое всех регистров будет равно 1001 9.63. a) 57FA б) от 5000 до 57FF в) от 9000 до 97FF г) Нет 9.65. а) Уравнения: OUT0 = !А1#!АЗ#!А5#!А7 OUT1 = !А2#!АЗ#!А6#!А7 OUT0 = !А4#!А5#!А6#!А7 Глава 10 10.1. Ложны утверждения е) и ж) 10.2. 3,58 В 10.3. Амплитуда младшего значащего бита составляет 20 мВ 10.4. 20 мВ; приблизительно 0,4 % 10.5. приблизительно 5 мВ 10.6. Восемь 10.7. 14,3 %; 0,286 В 10.9. 250,06 об/мин 10.10. 10 мВ; 0,1 %; 6,95 В 10.11. Двоичным код * Двоично-десятичный код 3,88 В 10 мВ 0,392 % 1.01 % 10.13. 800 Ом; нет 10.14. а) -0,3125 В; -4,6875 В б) 4,27 кОм в) -0,0267 10.15. В нем используется меньше разных значений резисторов 10.16. 20 мкА, да 10.17. а) семь 10.19. Значение 242,5 мВ лежит вне диапазона, указанного в спецификации 10.20. Погрешность смещения превышает указанную в спецификации 10.21. Линия, по которой передается бит 1 ЦАП либо разомкнута, либо на ней уста- новился постоянный сигнал с низким уровнем напряжения 1012 Ответы к упражнениям
10.22. Линии, по которым передаются биты 0 и 1, перепутаны местами 10.24. а) 10010111 б) 10010111 в) 102 мкс; 51 мкс 10.27. а) 1,2 мВ б) 2,7 мВ 10.28. а) 0111110110 б) 0111110111 10.29. От 2,834 до 2,844 В а) 10.31. Частота восстановленного сигнала будет равна 3,33 кГц 10.32. а) 5 кГц б) 9,9 кГц в) 9,8 кГц г) 5 кГц Д) 900 Гц е) 800 Гц 10.33. АЦП интегрирующего типа: а), г), д), е), з). АЦП поразрядного уравновеши- вания: б), в), г), д), ж), з) 10.36. 80 мкс 10.37. 100101 10.38. 2,276 В 10.39. 2,869 В 10.40. а) 00000000 б) 500 мВ в) 510 мВ г) 255 мВ д) 01101110 е) 0,2° Фаренгейта; 2 мВ 10.45. 386 шагов 10.46. Линия старшего значащего бита в старшем значащем разряде не оказывает влияния на величину напряжения Рдх 10.48. Ключ застрял в закрытом положении; ключ застрял в открытом положении или закорочен конденсатор 10.50. а) ЕАхх 10.51. Да; необходимо заземлить линии двух младших битов 10.55. Нет: а), д), ж). Да: б), в), г), е), з) Ответы к упражнениям 1013
Глава 11 11.1. 16384; 32; 524288 11.2. 16384 11.3. 64к х 4 бита 11.4. 16; 16; 13; 16384 11.6. а) Данных, адреса, управления б) Шина адреса в) Шина данных г) ЦПУ 11.7. а) Высокоимпедансное состояние б) 11101101 11.8. а) Регистр 11 б) 0100 11.9. а) 16384 б) Четыре в) Два дешифратора “1 из 128” 11.11. 120 нс 11.12. 180 нс - 11.14. Q13, Qh, Qis 11.15. Открытый исток должны иметь следующие транзисторы: Qo» Q2» Qs» Qe> Qr> Qs» Q15 11.17. а) Содержимое всех участков памяти будет стерто, т.е. установится равным FF16‘ б) В участок памяти с адресом 2300i6 будет записано число ЗСхе 11.18. Форма сигнала на выходе Do показана ниже 1111 1 1 11 1 —г~—'—1— Г-1 Г-1 1 Г”~ ••• Повтор 0 0 000 00 11.19. Данные в шестнадцатеричной форме: 5Е, ВА, 05, 2F, 99, FB, 00, ED, ЗС, FF, В8, С7, 27, ЕА, 52, 5В 11.20. а) 25,6 кГц б) Изменять опорное напряжение Von 11.22. а) LB] = 40 (в шестнадцатеричной форме); [С] = 80 (в шестнадцатеричной форме) б) [В] = 55 (в шестнадцатеричной форме); [С] = АА (в шестнадцатеричной форме) в) 15360 Гц г) 28,6 МГц д) 27,9 кГц 1014 Ответы к упражнениям
11.24. 100 нс 30 10 20 30 40 10 нс миллионов НС НС НС миллионов 11.25. а) б) в) г) Д) е) ж) Восемь Синхроимпульсы Память RAS 11.27. 11.26. CAS ОТВЕТЫ К УПРАЖНЕНИЯМ 1015
11.30. Каждые 7,8 мкс 11.31. а) 4096 столбцов, 1024 строки б) 2048 в) Удвоила бы ее 11.34. Нужно добавить к схеме еще четыре ППЗУ (с номерами от ППЗУ-4 до ППЗУ-7). Их выходы данных и входы адреса следует подключить к шинам данных и адреса, соответственно. Сигнал АВ13 нужно подать на вход С дешифратора, сигналы с выходов 4-7 которого подаются на входы CS ново подключенных ИС ППЗУ в соответствующем порядке 11.35. Подключите линии АВ13, ЛВ14 и АВ15 к элементу ИЛИ с тремя входами, а сигнал с его выхода подайте на вход С дешифратора 11.38. F000-F3FF; F400-F7FF; F800-FBFF; FC00-FFFF 11.39. Добавьте четыре модуля памяти емкостью 1к х 8 бит и используйте четыре свободных выхода имеющегося дешифратора, чтобы управлять сигналами на входах CS этих модулей 11.40. На входе В дешифратора установился постоянный высокий уровень напряже- ния 11.41. В узле между выходом элемента ИЛИ и входом С установился постоянный низкий уровень напряжения 11.42. Были протестированы только модули 1 и 3 ОЗУ 11.43. Микросхема ОЗУ с выходами данных 4-7 модуля 2 функционирует со сбоями 11.44. На выходе 7 модуля 3 ОЗУ установился постоянный высокий уровень напря- жения 11.46. Контр, сумма = 11101010 Глава 12 12.2. а) Простой, сложный, буферизованный б) Буферизованный в) Буферизованный г) Простой, сложный, буферизованный 12.3. В буферизованном режиме доступно восемь членов-произведений логического выражения в буферизованной конфигурации и семь членов в комбинационной конфигурации 12.5. Режим Конфигурация Источник сигнала на разрешающий вход Простой Вход Земля Выход Источник питания Сложный 8-й член логического выражения из матрицы входных членов Буферизованный Буферизованная Вывод 11 (ОЕ ) Комбинационная 8-й член логического выражения 1016 Ответы к упражнениям
12.7. a) x = ACD + ABD б) 1 в) 0 г) Простой д) AC1(19) = 0 e) AC1(12-18) = 1 12.8. а) Будет работать б) He будет работать в) Не будет работать 12.10. pin[19..17] = ![L6..4]; pin[14..12] = ![L3..1]; 12.11. 24 шага/оборот для последовательности с полным шагом и волнообразной по- следовательности; 48 шагов/оборот для последовательности с половинным ша- гом 12.12. Во всех режимах: 6 итераций 12.13. Передний фронт сигнала START (сигнала синхронизации) 12.14. Все биты сигнала Свых перейдут в высокоимпедансное состояния: все обмотки отключатся 12.15. pin[2..9] = [S1..8]; pinlO = reset; pin[14..21] = ![L1..L8]; Добавьте члены SI, S8, L7, L8 к каждому выражению. Добавьте два новых вы- ражения для L7 и L8 12.17. Решение 1 (для случая управления выводов высоким уровнем напряжения): pinlO = EnNOT; Data.OE = FREEZE & DataEn & !EnNOT; Решение 2 (для случая управления выводов низким уровнем напряжения): pinlO = !EnNOT; Data.OE = FREEZE & DataEn & EnNOT; 12.18. Нет; данные станут нестабильными (тристабильными) сразу после отпускания кнопки, и сигнал DAV перейдет в низкий логический уровень при поступле- нии активного фронта следующего импульса сигнала синхронизации 12.19. а) 6 б) 6 в) 9 г) 1 Д) 8 е) 3 12.20. INPUTS [S2, SI, SO] = 3-битовый комбинационный вход ENTER = Сигнал синхронизации OUTPUTS [QA, QB] = 2-битовые переменные состояний OUTPUT UNLOCK = Декодированный сигнал конечного состояния Ответы к упражнениям 1017
Предметный указатель С CUPL, 196 синтаксис языка, 197 файл JEDEC, 199 J JEDEC, 195 Автообновление, 821 Адрес, 765 Аккумуляторный регистр, 925 Активная матрица, 595 Аналоговая величина, 680 Аналоговая система, 34 Аналоговый компаратор напряжения, 553 Аналого-цифровой преобразователь, 35; 681; 704 двойного интегрирования, 726 интегрирующий следящего типа, 726 поразрядного уравновешивания, 716 Арифметико-логическое устройство, 334; 739 к ' Б Байт, 68; 764; 926 Бит, 39 Булева алгебра, 85 Булева переменная, 85 Буфер/драйвер, 531 В Величина шага квантования, 685; 698 Временная диаграмма, 42 Время доступа, 765; 777 Время захвата, 732 Время установления сигнала, 700 Вспомогательная память, 767 Второе слагаемое, 335 Выборка, 711 Высокоимпедансное состояние, 534 Вычитаемое, 324 Г Гнездо с нулевым усилием сочленения, 195 д Двоично-десятичный сумматор, 350 Двунаправленная линия данных, 650 Двунаправленный переключатель, 544 Двусторонняя память, 766 Декодирование, 412; 596 Демультиплексор, 617 Дешифратор, 580 Динамическое ОЗУ, 802 Дополнительный код, 316 Драйвер шины, 649 Е Емкость, 764 3 Загрузка данных, 783 Запоминающее устройство динамическое, 766 компакт-диск, 788 на плавких перемычках, 781 постоянное, 766 с последовательной выборкой, 766 с произвольной выборкой, 765 статическое, 766 статическое оперативное, 802 стираемое программируемое постоянное, 783 энергозависимое, 765 Знаковый бит, 316 И Инверсия, 95 Инвертор, 95 Интегральные схемы биполярные, 177 входные напряжения, 180 КМОП-серия, 179 КМОП-технология, 177 коммутационная диаграмма, 181
плавающий вход, 180 серия 74, 177 ТТЛ-серия, 177; 178 униполярные, 177 Интервал дискретизации, 436 Интервал записи, 805 Интерполяционная фильтрация, 739 Интерфейс, 921 Исполнительный механизм, 682 К Карта Карно безразличное состояние, 163 группировка, 155 метод, 154 полный процесс упрощения, 158 резюме, 165 структура, 154 Карта памяти, 830 Карта пережигания плавких перемычек, 194; 886 Клавишное кодирующее устройство, 900 Ключевой шифратор, 600 Код, 66 ASCII, 69 алфавитно-цифровой, 69 двоично-десятичный, 66 обычный двоичный, 66 Код операции, 927 Кодирование, 596 Кольцевой буфер, 836 Кольцевой сдвиговый регистр, 429 Коммутационная диаграмма, 181 Компилятор, 196 Компьютер, 682 Контроллер динамического ОЗУ, 819 Контрольная сумма, 845 Конфликт на шине, 536 Конфликт сигналов, 188 Корпус с двухрядным расположением выводов, 486 с матричным расположением шариковых выводов (BGA), 486 с матричным расположением штырьковых выводов (PGA), 486 типа PLCC, 485 типа SO (малогабаритный), 486 уменьшенный малогабаритный, 486 уменьшенный тонкий малогабаритный, 486 Коэффициент пересчета, 378 изменение, 384 Коэффициент разветвления, 478 Кэш-память, 834 Л Латентность, 813 Линейный буфер, 835 Логическая схема, 44 Логические операции, 85 Логические сигналы активные, 126 бистабильные, 127 пассивные, 126 Логические уровни активные, 119 Логические элементы, 85 •альтернативные обозначения, 117 булевы теоремы, 106 И, 92 ИЛИ, 88 ИЛИ-НЕ, 102 И-НЕ, 104 исключающее ИЛИ, 166 исключающее ИЛИ-НЕ, 167 использование представлений, 121; 122 НЕ (инвертор), 95 стандарт 91-1984 IEEE/ANSI, 127 стандартные обозначения, 118 таблицы истинности, 86 теоремы де Моргана, 110 Логический импульсный генератор, 554 Логический пробник, 183 „ Логический уровень, 85 Логическое выражение дизъюнктивная форма, 141 конъюнктивная форма, 141 м Макроячейки выходной логики, 874 Маршрутизация данных, 612 Матрица входных членов, 874 Машинный цикл, 938 Машинный язык, 930 Микрокомпьютер, 48 Микроконтроллер, 49 Микропроцессор, 48 Микросхема, 176 корпус типа DIP, 176 степень интеграции, 177 Многокаскадная схема, 409 Модуль памяти DIMM, 822 RIMM, 822 Предметный указатель 1019
SIMM, 822 SODIMM, 822 Мультиплексирование, 606; 733 адресов, 811 Мультиплексор, 606 Накапливающий регистр, 334 Неисправности внутреннее замыкание, 184 внутренних схем, 184 .замкнутый сигнальный провод, 189 замыкание, 187 изучение, 191 локализация, 182 неисправный источник питания, 190 перегрузка выходного сигнала, 190 поиск, 182 разомкнутый вывод, 186 устранение, 182 О Обратный код, 316 Общий анод, 591 Общий катод, 591 ОЗУ с двойной скоростью передачи данных (DDR SDRAM), 823 Операция записи, 765 чтения, 765 Основная память, 766 Отрицание, 319 * Отрицание вычитаемого, 324 Память FIFO, 835 Параллельный сумматор, 337 Первое слагаемое, 335 Передаточный вентиль, 544 Перенос, 315 Переполнение, 325 Периферийные устройства, 921 Пиксель, 595 Плавающая шина, 641 Плавающий вход, 506 Плотность записи, 764 Поверхностный монтаж, 484 Погрешность вследствие нелинейности, 698 максимального показания, 698 квантования, 709 смещения нуля, 699 Полевой транзистор, 510 Полный сумматор, 336 Полусумматор, 340 Помеха дискретизации, 715 Последовательное включение, 419 Представление чисел аналоговое, 32 цифровое, 33 Преобразователь, 681 уровня напряжения, 549 Приоритетный шифратор, 598 Программа, 34 моделирования, 199 самозагрузки, 795 Программатор, 194; 783 Программирование полярности выходного сигнала, 875 Программируемая вентильная матрица, 907 Программируемая матричная логика, 872 Программируемые логические устройства (ПЛУ), 193 программирование, 194 проектирование, 193 Программно-аппаратное обеспечение, 794 Промах кэша, 834 Прошивка памяти, 772 Р Развязка источника питания, 509 Разрешающая способность, 685; 698 Разрешающий вход, 534 Режим адресации, 929 Режим работы ПЛУ буферизованный, 882 простой, 878 сложный, 881 Резистивная цепь типа R/2R, 696 С Самоконтроль памяти, 842 Сдвиговый регистр, 739 Сигма/дельта модуляция, 728 Синхронные динамические ОЗУ (SDRAM), 823 Система типа знак-модуль, 316 Системы счисления, 37 восьмеричная, 58 двоичная, 39 десятичная, 37 1020 Предметный указатель
шестнадцатеричная, 61 Складка памяти, 830 Слово, 631 памяти, 764 Строб адреса столбца (CAS), 811 строки (HAS ), 811 Стробирование, 418 Стробирующий сигнал, 418 Супердискретизация, 739 Схема выборки и хранения, 732 Схемы запрета, 173 Счетчик асинхронный, 377 вычитающий, 392 двоично-десятичный, 385 десятичный, 385 Джонсона, 431 кольцевой, 429 предустанавливаемый, 401 реверсивный, 400 синхронный (параллельный), 396 со сквозным переносом, 377 суммирующий, 392 частоты, 435 команд, 925 обновления, 818 Таблица возбуждений для J-K-триггера, 421 схемы, 424 Таблицы истинности, 86 Таблицы соединений, 197 Теоремы де Моргана, 110 следствия, 112 Тестовый вектор, 199 Технология КМОП, 514 Технология МОП, 510 Токовый детектор, 556 Транслятор, 196 Тристабильная структура, 534 Уменьшаемое, 324 Универсальный программатор, 195 Управляющее слово, 878 Ускоренный перенос, 343 Устройства арифметико-логические, 48 ввода, 48 вывода, 48 запоминающие, 48 управления, 48 Ф Файл JEDEC, 199 Фиксация, 524 Флэш-память, 790 ц Центральный процессор, 48 Цифроаналоговый преобразователь, 35; 682 Цифровая величина, 680 Цифровая обработка сигналов, 737 Цифровая система, 34 Цифровая схема, 43 Цифровой вольтметр, 729 Цифровой компьютер, 47 ч Частота дискретизации, 714 Четности бит, 73 , генератор сигнала, 172 метод проверки, 72 проверка, 74; 172 ш Шаг выводов, 484 Шина адреса, 772; 936 данных, 639; 772; 937 управления, 772; 937 Шинный цикл, 938 Шифратор, 596 э Электрически стираемое программируемое ПЗУ, 785 Эмиттерно-связанная логика, 540 Я Язык ассемблера, 930 Язык описания аппаратного обеспечения, 196 Ячейка памяти, 763 Предметный указатель 1021
Научно-популярное издание Рональд Дж. Точчи, Нил С. Уидмер Цифровые системы. Теория и практика, 8-е издание Литературный редактор Верстка Художественные редакторы Корректоры П.Н. Мачуга А.Н. Полинчик В.Г. Павлютин, Т.А. Тараброва З.В. Александрова, ЛА. Гордиенко, ТА. Корзун, О.В. Мишутина, Л.В^Чернокозинская IIIIIIIIIIIIIIIIII Him IIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIНИИ III IIIIIIIIIIIIIIIIIIIIIlli Издательский дом “Вильямс”. 101509, Москва, ул. Лесная, д. 43, итр. 1. Изд. лиц. ЛР № 090230 от 23.06.99 Госкомитета РФ по печати. Подписано в печать 16.02.2004. Формат 70X100/16. Гарнитура Times. Печать офсетная. Усл. печ. л. 82,6. Уч.-изд. л. 69. Тираж 3000 экз. Заказ № 2075. Отпечатано с диапозитивов в ФГУП “Печатный двор” Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 197110, Санкт-Петербург, Чкаловский пр., 15.
Цифровые системы Теория и практика 8-е издание Рональд Дж. Точчи, Нил С. Уидмер Авторы создали прекрасную книгу, в которой освещается множество тем, являющихся фундаментальными в теории цифровых систем В настоящем, 8-м издании более широко рассмотрены программируемые логические устройства (ПЛУ). Эта технология быстро вытесняет в современных цифровых системах микросхемы малой (МИС) и средней степени интеграции (СИС). Благодаря тому, что ПЛУ рассматриваются в самых разнообразных разделах этой книги, читатель может получить представление об альтернативных путях реализации цифровых логических схем - от простейших логических элементов до сложных систем. К этой книге прилагается компакт-диск, на котором находятся описания микросхем ТТЛ и КМОП-серий, а также спецификации шинных интерфейсов фирмы Texas Instruments Список обновленных тем: • Расширены и дополнены разделы, касающиеся применения цифровой обработки сигналов, очень быстро развивающейся и прогрессивной технологии в электронике • Расширено и дополнено описание технологий и терминов, встречающихся в литературе о персональных компьютерах Вопросы для самопроверки материала каждой из глав можно найти на Web-странице по адресу http://www prenhall.com/tocci Издательский дом ‘ВИЛЬЯМС’ пЛн www.williamspublisbmg.com ISBN 5-8459-0586-9 I 04031 Prentice Hall
Р. Точчи Н. Уидмер еооия и поактика 8-Е ИЗДАНИЕ ВИЛЬЯМС Prentice Hall