М. А. Нсанов Цифровые устройства. Учебник для колледжей ISBN 9785449318817 Аннотация Рассматриваются: элементная база цифровой микроэлектроники, принципы синтеза и анализа работы цифровых устройств на логических элементах, цифровые устройства комбинационного (дешифраторы, сумматоры и прочие) и последовательностного (триггеры, регистры, счетчики, ЗУ) типа с большим количеством примеров работы конкретных микросхем.Для студентов любых технических специальностей, где изучается аппаратура цифровой микроэлектроники.Автор рекомендует использовать формат fb2 и читалку CoolReader. Цифровые устройства Учебник для колледжей М. А. Нсанов © М. А. Нсанов, 2018 ISBN 978-5-4493-1881-7 Создано в интеллектуальной издательской системе Ridero Введение Предлагаемый учебник по предмету «Цифровые устройства» для колледжей, которые готовят специалистов связи, разработал преподаватель Алматинского колледжа связи Нсанов Мурат Алиевич (в настоящее время – преподаватель Алматинского Государственного колледжа транспорта и коммуникаций). Первый вариант учебника был издан в Республике Казахстан в 1997 году для колледжей связи. Но ввиду бурного развития цифровой микроэлектроники, очень малого тиража и высокого спроса автор был вынужден существенно переработать и расширить учебник. Данный второй вариант учебника прошел рецензирование со стороны преподавателей и специалистов, все необходимые этапы согласования и утверждения, был подготовлен к печати, включен в план издания, но во время финансового кризиса 2007—2010 гг. издание было приостановлено. В 2010 г. был переведен и издан в Республике Казахстан на казахском языке. Сейчас учебник готовится к переизданию, но только на казахском языке. Предлагаемая разновидность второго варианта учебника переработана исключительно для использования в электронном виде, так как содержит множество цветного графического материала. Учебник может быть полезен не только студентам и преподавателям учебных заведений, которые готовят специалистов связи, но и студентам других отраслей, где используются устройства цифровой микроэлектроники. *** Информатизация общества – одна из важнейших задач, стоящих перед нашей страной. Решение этой задачи невозможно без интенсивного развития средств передачи и обработки информации. Процессы передачи и обработки информации целесообразно вести при дискретном характере их представления, так как цифровые методы обеспечивают меньшую зависимость качества передачи от расстояния между пользователями, большую гибкость и простоту организации обмена информацией, значительно большую точность и помехоустойчивость, простоту управления и легкость автоматизации. Поэтому в настоящее время любая современная техника связи: радио- и телевизионная, телефонная, телеграфная, аппаратура многоканальной связи, а также контрольная, измерительная и диагностирующая аппаратура в основном состоит из микросхем самых разнообразных цифровых устройств. Это приводит к острой необходимости базовой подготовки техников связи в области цифровых устройств, которая требуется при изучении, эксплуатации, ремонте и наладке аппаратуры связи. Именно изучению принципов построения и функционирования цифровых устройств, применяемых в технике связи, и посвящен данный учебник. Предмет содержит четыре раздела: первый раздел знакомит учащихся с основными понятиями и элементной базой цифровой техники, во втором разделе изучаются принципы построения и функционирования цифровых устройств, в третьем и четвертом – цифровые устройства соответственно комбинационного (шифраторы и дешифраторы, мультиплексоры и демультиплексоры, преобразователи кодов, сумматоры, субтракторы, компараторы, АЛУ, устройства и узлы контроля) и последовательностного (интегральные триггеры, регистры и регистровые файлы, счетчики, распределители, запоминающие устройства) типа. Каждую тему обязательно следует сопровождать проведением практических занятий и (или) лабораторных работ (Сборник лабораторных работ тоже размещен в Интернете ) для закрепления полученных знаний, а также для получения практических умений и навыков работы с цифровыми микросхемами. Эту же цель преследует и курсовое проектирование, предусмотренное в программе предмета и учебных планах. Хотя база примеров учебника дается в основном на микросхемах российской серии КР1533 с указанием функциональных аналогов американской фирмы «Texas Instruments» и некоторых других фирм, любой колледж сравнительно легко может адаптировать излагаемый материал для проведения практических занятий и лабораторных работ к имеющейся у него материально-технической базе. Небольшая часть учебника, отмеченная знаками «*** » и напечатанная более мелким шрифтом, содержит достаточно важные в современных условиях, но пока не включенные в программу предмета темы ко времени работы над книгой из-за недостатка времени по учебным планам. Они здесь даются для расширения и углубления знаний учащихся. *** Специалисты любого направления деятельности сталкиваются с различными действующими в мире стандартами, что представляет определенные трудности при эксплуатации оборудования производства различных стран и фирм. Это в полной мере относится к условным графическим обозначениям элементов и устройств цифровой техники. Здесь действуют стандарты ISO (Международная организация по стандартизации), CEN (Европейский комитет по стандартизации), IEC (Международная электротехническая комиссия), CENELEC (Европейский комитет по электротехническим стандартам) и др., а также стандарты различных стран: ГОСТ (Российская Федерация, Республика Казахстан и некоторые другие страны), DIN ( Германия), BS (Великобритания), AFNOR (Франция), JIS (Япония), KOR (Республика Корея), стандарты США – ANSI (Американский национальный институт стандартизации), EIA (Альянс отраслей электронной промышленности), IEEE (Институт инженеров по электротехнике и электронике) и т. д. Поэтому в данной книге указаны стандарты изображения элементов и устройств цифровой микроэлектроники в соответствии со стандартами РФ, РК и др. (условно названы «восточные») а также в соответствии со стандартами США, Республики Корея, Германии и др. (условно названные «западные»). С глубокой признательностью автор примет любые замечания, предложения и поправки специалистов, коллег-преподавателей и студентов, которые будут полезны при переработке данной книги в процессе дальнейшего развития цифровой техники. Если появятся какие-либо вопросы к автору, то можно непосредственно связаться с ним по адресу электронной почты: murat.nsanov@gmail.com . Как сказано в аннотации, автор рекомендует использовать формат fb2 и читалку CoolReader . При этом для наиболее удобного чтения желательно установить черный шрифт на белом фоне. На взгляд автора лучше использовать шрифт Times New Roman размером 18. Обязательно нужно отключить переносы: при настройке в позиции «Текст» – «Переносы» выбрать «Disable hyphenation». Каждый читатель устанавливает в читалках наиболее удобные ему параметры книги, поэтому ни автор, ни издательство не может убрать пустые места и ликвидировать некоторые другие недостатки, зависящие от установленных параметров. Раздел 1. Логические элементы 1.1. Общие сведения о цифровых сигналах и цифровых устройствах В современных цифровых устройствах (ЦУ) мы имеем дело лишь с двумя видами сигналов: логического 0 и логической 1 . Эти цифровые сигналы обычно представляются в потенциальной форме с положительной логикой сигналов, когда сигналу логического 0 соответствует положительное постоянное напряжение низкого уровня, а сигналу логической 1 – положительное постоянное напряжение более высокого уровня. Например, для микросхем серии КР1533 сигналу логического нуля соответствует напряжение не более +0,8 В , а сигналу логической 1 – напряжение не менее +2 В . В дальнейшем никогда не следует забывать о физическом смысле цифровых сигналов логического 0 и логической 1: это постоянное напряжение разной величины! Любая информация в ЦУ может быть представлена совокупностью определенного количества сигналов логического 0 и логической 1 в двух формах: – Последовательной , когда в одной цепи идет последовательное чередование сигналов через равные тактовые временные интервалы Т . Например так, как показано на рис. 1.1. – Параллельной , когда в разных нескольких цепях одновременно действуют соответствующие сигналы, причем каждый сигнал в своей цепи. Такая комбинация цифровых сигналов, несущая какую-либо информацию, называется кодовым словом или просто кодом . В англоязычной литературе она называется просто словом (word). Таким образом, изображенные на рис.1.1а и рис.1.1b совокупности сигналов представляют собой кодовые слова 01001011 и 01010111 . Именно так выражаются буквы К и W английского алфавита в коде КОИ-8 (KOI-8). С помощью кодовых слов можно представить не только буквы, но и другие знаки, а также рисунки (в том числе схемы и диаграммы), звуковую информацию (речь, музыку), телевизионные изображения и т. д. Устройства, предназначенные для передачи, приема и обработки цифровой информации (то есть информации, выраженной кодовыми словами), называются цифровыми устройствами . По способу функционирования ЦУ могут быть двух видов: – Комбинационные ЦУ , не обладающие памятью (т.е. не способные запоминать результаты выполненных операций). Здесь значения сигналов на выходах (выходное кодовое слово) определяются только совокупностью сигналов на входах (входным кодовым словом) в данный момент времени. – Последовательностные ЦУ (устройства с памятью) , способные запоминать результаты выполненных операций и хранить эту информацию на своих выходах в виде кодовых слов. У них значение выходного кодового слова определяется не только входным кодовым словом в данный момент времени, но и хранившимся на выходах кодовым словом в предыдущий момент времени. 1.2. Общие сведения о логических элементах Любые узлы цифровой аппаратуры строятся с помощью устройств, которые называются логическими элементами (ЛЭ) . В основном применяются лишь 5 ЛЭ, общие сведения о которых приведены в табл.1.1. П р и м е ч а н и е . В колонке «Условное графическое изображение элемента» приведены два рисунка каждого элемента: вверху – в соответствии с «восточным» стандартом, внизу красным цветом – в соответствии с «западным» стандартом (см. Введение). Входы элементов всегда изображаются слева. Сигналы, которые подаются на входы, называются логическими переменными или логическими аргументами и обозначаются обычно буквами «Х » с нумерацией: Х1 , Х2 , Х3 и т. д. Выходы элементов всегда изображаются справа. Сигналы, которые формируются на выходах, называются логическими функциями и обозначаются обычно буквами «Y » или f (X) . В соответствии с «восточным» стандартом ЛЭ и любые другие устройства цифровой микроэлектроники поворачивать нельзя, по «западному» стандарту – можно. ЛЭ выполняет указанную в табл.1.1 соответствующую операцию со входными сигналами, а результат выполненной операции формируется на его выходе. Элементы НЕ всегда имеют только один вход. Элементы И , ИЛИ , И-НЕ , ИЛИ-НЕ могут иметь не только два (как показано в табл.1.1), но и три, и четыре входа (иногда даже больше – до 8). Соответственно элементы при этом будут выполнять операции с двумя, тремя, четырьмя и более входными сигналами (смотрите тему 1.5). Элементы ИЛИ в основном (но не всегда!) имеют лишь два входа. Если требуется выполнить логическое сложение трех и более сигналов, то используются несколько элементов ИЛИ с двумя входами. С настоящего момента следует иметь в виду, что результат логического сложения сигналов 1 1 = 1 отличается от результата арифметического сложения тех же сигналов 1 + 1 = 2 . Поэтому не следует путать эти две разновидности операции сложения. Элементы, которые имеют два или более входа, в название элемента должны включать цифру, которая указывает на количество входов, например: элемент 2И (элемент И с двумя входами), элемент 3ИЛИ-НЕ (элемент ИЛИ-НЕ с тремя входами) и т. д. Смысл названий элементов заключается в следующем: – Элемент НЕ . На выходе элемента формируется НЕ такой сигнал, какой подается на вход. – Элемент И . На выходе элемента формируется сигнал логической 1 только тогда, когда сигналы логической 1 поступают И на первый, И на второй, И на все остальные входы. – Элемент ИЛИ . На выходе элемента формируется сигнал логической 1 , когда сигнал 1 поступает ИЛИ на первый вход, ИЛИ на второй вход, ИЛИ на любой другой вход, ИЛИ на несколько входов одновременно. – Элемент И-НЕ сначала выполняет логическое умножение (операцию И ) входных сигналов, а затем полученный результат инвертирует (делает операцию НЕ ). Структура элемента 2И-НЕ приведена на рис.1.2а. – Элемент ИЛИ-НЕ сначала выполняет логическое сложение (операцию ИЛИ ) входных сигналов, а затем полученный результат инвертирует (делает операцию НЕ ). Структура элемента 2ИЛИ-НЕ приведена на рис.1.2b. Таблица, полностью описывающая работу логического элемента или любого другого ЦУ, называется таблицей истинности : здесь показываются все возможные комбинации сигналов, которые могут поступать на входы, и что при этом получается на выходах. Ни в коем случае не следует заучивать наизусть таблицы истинности логических элементов, нужно только понять смысл выполняемой элементом операции! Приведенные в табл.1.1 таблицы истинности элементов И , ИЛИ , И-НЕ , ИЛИ-НЕ составлены для двухвходовых элементов. Рекомендуется учащимся попытаться самостоятельно составить таблицы истинности этих элементов, если они будут иметь три и более входа. При этом следует иметь в виду, что количество возможных комбинаций входных сигналов увеличится и будет составлять 2n , где n – количество входов. Пример 1. Составим таблицу истинности элемента 3ИЛИ-НЕ (табл.1.2): В технической и справочной литературе таблицы истинности могут иметь несколько иной вид. Вместо сигналов логического 0 и логической 1 могут стоять знаки: – логический 0 : Н (низкий) или L (l ow – низкий) уровень напряжения; – логическая 1 : В (высокий) или Н (h igh – высокий) уровень напряжения. Например, таблица истинности этого же элемента 3ИЛИ-НЕ может выглядеть следующим образом (табл.1.3). Изучением внутреннего устройства элементов мы здесь заниматься не будем, т.к. это представляет практический интерес лишь для разработчиков этих элементов. Нам достаточно знать только следующее: – что все элементы построены на прекрасно знакомых любому учащемуся компонентах (резисторах, транзисторах, диодах и т.д.) по интегральной технологии; – какие транзисторы использованы для построения интересующего нас элемента и по какой схеме они включены (см. тему 1.4). Если все-таки появится необходимость ознакомиться с внутренней структурой какого-либо элемента, то следует обратиться к соответствующей справочной или учебной литературе. Цифровые устройства, построенные с помощью логических элементов, могут работать в двух режимах: – статическом , когда сигналы на входах и выходах элементов удерживаются неизменными достаточно длительное время; – динамическом , когда сигналы на входах и выходах элементов меняются (частота изменения достигает порядка ГГц в современных устройствах) в процессе работы. Контроль работы ЦУ, работающих в статическом режиме, производится очень просто путем измерения уровней напряжения на входах и выходах элементов обычными электронными вольтметрами (можно и осциллографами). А вот контроль работы ЦУ, работающих в динамическом режиме, можно производить только с помощью осциллографов, сравнивая полученные осциллограммы с эталонными временными диаграммами. В цифровой технике временной диаграммой является график зависимости значений сигнала на входе или на выходе элемента или устройства (напомним, что любое значение сигнала – это постоянное напряжение) от времени. После окончания изучения данной темы учащиеся должны показать знание основных логических элементов: их название, условное графическое изображение, выполняемые операции и их символическую запись; уметь определять в статическом режиме значения сигналов на выходах логических элементов в схемах ЦУ при наличии определенных сигналов на входах; уметь чертить временные диаграммы, описывающие работу ЦУ в динамическом режиме. Пример 2: Дана схема ЦУ, построенная на логических элементах (рис.1.3). З а д а н и я: 1. Указать названия всех элементов, и какие операции они выполняют. 2. Исследовать работу схемы в статическом режиме: по заданным (рис.1.3) значениям сигналов на входах ЦУ определить значения сигналов на входах и выходах всех элементов. 3. Проанализировать работу схемы в динамическом режиме: построить временные диаграммы для всех элементов при заданных (рис.1.4) изменениях входных сигналов. Для некоторого упрощения уровень логического нуля примем равным точно 0 . О тветы 1. Названия элементов и выполняемые операции (номер каждого элемента стоит над его изображением в схеме): 1,3 – элементы НЕ , выполняют операцию логического отрицания (инвертирование). 4 – элемент 2И , выполняет операцию логического умножения. 8 – элемент 3И , выполняет операцию логического умножения. 6,7 – элементы 2ИЛИ , выполняют операцию логического сложения. 2,9 – элементы 2И-НЕ , выполняют операцию логического умножения с последующим инвертированием полученного результата. 5 – элемент 3И-НЕ , выполняет операцию логического умножения с последующим инвертированием полученного результата. 10 – элементы 2ИЛИ-НЕ , выполняет операцию логического сложения с последующим инвертированием полученного результата. 2. Исследование работы схемы в статическом режиме. Значения сигналов на выходах всех элементов показаны на рис.1.5. Рассмотрим более подробно происходящие процессы. Со входов Х1 , Х2 , Х3 , Х4 указанные в задании сигналы (рис.3) поступают на входы элементов (на какие элементы – указано красными стрелками на рис.1.5). а) Сначала срабатывают элементы 1 , 2 и 3 , стоящие в 1 -й колонке: – Элемент 1 инвертирует поступающий на его вход сигнал 0 и на выходе формирует сигнал 1 , который далее проходит на вход элемента 4 (прохождение сигнала указано синей стрелкой ). – Элемент 2 выполняет операцию И-НЕ : сначала умножает поступающие на его входы сигналы 0 и 0 , а затем полученный результат инвертирует. В результате на выходе элемента формируется сигнал 1 , который далее проходит (синяя стрелка ) на вход элемента 5 . – Элемент 3 инвертирует поступающий на его вход сигнал 1 и на выходе формирует сигнал 0 , который далее проходит (синие стрелки ) на входы элементов 7, 8 и 9 . б) На следующем этапе срабатывают элементы 4 и 5 , стоящие во 2 -й колонке: – Элемент 4 выполняет умножение поступающих на его входы сигналов 1 и 1 . В результате на выходе элемента формируется сигнал 1 , который далее проходит (зеленая стрелка ) на вход элемента 6 . – Элемент 5 выполняет операцию И-НЕ : сначала умножает поступающие на его входы три сигнала 1 , 1 и 1 , а затем полученный результат инвертирует. В результате на выходе элемента формируется сигнал 0 , который далее проходит (зеленые стрелки ) на входы элементов 6 и 7 . в) Далее срабатывают элементы 6 и 7 , стоящие в 3 -й колонке: – Элемент 6 выполняет логическое сложение поступающих на его входы сигналов 1 и 0 . В результате на выходе элемента формируется сигнал 1 , который далее проходит (желтая стрелка ) на вход элемента 8 . – Элемент 7 выполняет логическое сложение поступающих на его входы сигналов 0 и 0 . В результате на выходе элемента формируется сигнал 0 , который далее проходит (желтые стрелки ) на входы элементов 8 и 9 . г) Затем срабатывают элементы 8 и 9 , стоящие в 4 -й колонке: – Элемент 8 выполняет умножение поступающих на его входы трех сигналов 1 , 0 и 0 . В результате на выходе элемента формируется сигнал 0 , который далее проходит (розовая стрелка ) на вход элемента 10 . – Элемент 9 выполняет операцию И-НЕ : сначала умножает поступающие на его входы сигналы 0 и 0 , а затем полученный результат инвертирует. В результате на выходе элемента формируется сигнал 1 , который далее проходит (розовая стрелка ) на вход элемента 10 . д) В конце срабатывает элемент 10 , который выполняет операцию ИЛИ-НЕ : сначала делает логическое сложение поступающих на его входы сигналов 0 и 1 , а затем полученный результат инвертирует. В результате на выходе элемента формируется сигнал 0 , который проходит на выход схемы Y . 3. Анализ работы схемы в динамическом режиме. а) Сначала определим, как меняются сигналы на выходе элемента 1 (рис.1.6а). На вход этого элемента сигналы поступают со входа X1 (показано красным цветом на рис.1.6а), которые меняются следующим образом: в первом такте – 0 , во втором – 1 , в третьем – 0 , в четвертом – 0 . Элемент 1 – это элемент НЕ , который инвертирует данные поступающие сигналы и на своем выходе Y1 формирует последовательность 1011 (на рис.1.6а показано синим цветом). б) Теперь рассмотрим изменение сигналов на выходе элемента 2 (рис.1.6b). На оба входа этого элемента поступают сигналы со входа X3 (показано красным цветом на рис.1.6b), которые меняются так: в первом такте – 11 , во втором – 00 , в третьем – 11 , в четвертом – 00 . Элемент 2 – это элемент 2И-НЕ , который выполняет умножение данных поступающих сигналов с последующим инвертированием полученных результатов и на своем выходе Y2 формирует последовательность 0101 (на рис.1.6b показано синим цветом). По полученным результатам можно сделать еще один важный вывод: элементы И-НЕ (а также элементы ИЛИ-НЕ) с объединенными входами выполняют функцию элемента НЕ, т.е. производят инвертирование поступающих сигналов . в) Далее проанализируем изменение сигналов на выходе элемента 3 (рис.1.7a). На вход этого элемента сигналы поступают со входа X4 (показано красным цветом на рис.1.7a), которые меняются следующим образом: в первом такте – 0 , во втором – 1 , в третьем – 0 , в четвертом – 0 . Элемент 3 – это элемент НЕ , который инвертирует данные поступающие сигналы и на своем выходе Y3 формирует последовательность 1011 (на рис.1.7a показано синим цветом). 1.3. Интегральные микросхемы (ИМС). Маркировка ИМС Логические элементы выпускаются в виде интегральных микросхем (ИМС или просто ИС). ИМС называют схему, компоненты которой нераздельно связаны и электрически соединены между собой так, что все устройство рассматривается как единое целое. Функциональную сложность любой ИМС принято характеризовать степенью интеграции – количеством компонентов N в микросхеме. По степени интеграции различают: – ИМС малой степени интеграции: менее 100; – ИМС средней степени интеграции: N = 100 ÷ 1000; – БИС (большие интегральные схемы): N = 1000 ÷ 10000; – СБИС (сверхБИС): N = 10000 ÷ 106 (миллион); – УБИС (ультраБИС): N = 106 ÷ 109 (миллиард); – ГБИС (гигаБИС): более 109. В данной книге рассматриваются в основном элементы цифровой техники и ЦУ, выпускаемые преимущественно в виде ИМС средней степени интеграции и БИС. Внимание! Следует всегда иметь в виду, что элементы цифровой техники и различные цифровые устройства выпускаются как в виде отдельных микросхем средней степени интеграции и БИС, так и входят составными частями в микросхемы БИС, СБИС, УБИС и ГБИС многофункциональных ЦУ. Например: в АЛУ, интерфейсы, микропроцессоры и другие специализированные микросхемы отдельных отраслей техники, которые изучаются как в данном предмете, так и в соответствующих специальных курсах. Но в любом случае принцип их работы, структура и назначение выводов остаются одинаковыми! Рассмотрим структуру маркировки ИМС российского производства (в других странах каждая фирма, выпускающая микросхемы, применяет свою систему условных обозначений; смотрите, например, Приложение 2 или [Л9, Л16]). Например, ИМС имеет нанесенную на корпусе маркировку: КР1533ЛИ2. Структуру такой маркировки можно условно разделить на 4 части: КР – одна или две буквы (их может и не быть). Здесь буква К при ее наличии показывает, что данная ИМС выпускается для широкого применения . Если есть другая буква, то она указывает материал и тип корпуса или его отсутствие. Наиболее часто в цифровой технике встречаются: М – керамический микрокорпус; Р – пластмассовый корпус типа 2. 1533 – три или четыре цифры номера серии , по которому можно судить о структуре ИМС (смотрите тему 1.4). Кроме этого, первая цифра номера серии показывает конструктивно-технологическое исполнение ИМС: 1,5,7 – полупроводниковые (7 – бескорпусные); 3 – прочие (пленочные, керамические и т.д.); 2,4,6,8 – гибридные, где отдельные компоненты изготовлены по разной технологии. Цифровые ИМС в основном выполнены по полупроводниковой технологии, поэтому имеют первую цифру номера серии 1 или 5 . П р и м е ч а н и е. Вопросы, посвященные конструктивно-технологическому исполнению ИМС, типам и материалам их корпусов освещаются в предмете «Учебная электромонтажная практика». При желании этот же материал можно найти практически в любом справочнике по ИМС. ЛИ – две буквы, указывающие функциональное назначение ИМС. Для микросхем, содержащих различные логические элементы, эти буквы приведены в теме 1.5. После окончания изучения предмета все учащиеся должны будут знать данную часть маркировки ИМС для основной группы ЦУ. 2 – одна-три цифры порядкового номера ИМС в данной серии по функциональному признаку. В конце маркировки иногда добавляется еще одна буква разброса параметров (численные значения разброса конкретных параметров определяются по справочнику) у двух или более одинаковых микросхем данной серии. 1.4. Структура ИМС Работающие в настоящее время ИМС цифровой техники по принципу построения могут иметь следующую структуру на кремниевой основе: – ТТЛ (транзисторно-транзисторная логика). Здесь используются обычные биполярные транзисторы, включенные по наиболее распространенной схеме с общим эмиттером (ОЭ). Такую структуру имеют, например, ИМС серий 133, 155. – ТТЛШ (ТТЛ с диодами Шоттки). Применение здесь диодов Шоттки, включенных между коллектором и базой транзисторов, не позволяет транзисторам входить в режим насыщения. Это приводит к ускорению переключения транзисторов и, следовательно, к повышению быстродействия ИМС. Микросхемы ТТЛШ-структуры условно делятся на две группы: а) маломощные (например, ИМС серий 533, 555, 1533); b) быстродействующие (например, ИМС серий 530, 531, 1531). – ЭСЛ (эмиттерно-связанная логика). Здесь также используются обычные биполярные транзисторы, но они включены по другой схеме в отличие от ИМС структур ТТЛ и ТТЛШ. В микросхемах ЭСЛ-структуры используется принцип переключения токов в транзисторах, работающих на общую эмиттерную нагрузку (отсюда и название структуры). Другими словами, здесь базовым элементом является дифференциальный усилитель. Такую структуру имеют, например, ИМС серий 500, 1500, 1590. – МОП (металл-окисел-полупроводник) или МДП (металл-диэлектрик-полупроводник). Это схемы на полевых транзисторах р или n -типов с обогащенным каналом, КМОП (комплементарные МОП) -схемы на дополняющих транзисторах. Например, ИМС серий 561, 564, 1554, 1561, 1564, 5514, 5564, 5584. Кроме этого, существуют микросхемы на основе арсенида галлия GaAs, выполненные на полевых транзисторах с затвором Шоттки. Например, ИМС серии 6500. 1.5. ИМС логических элементов П р и м е ч а н и е: Аналоги приведенных ниже микросхем производства в основном американской фирмы «Texas Instruments» приведены в Приложении 3. У микросхем логических элементов третья часть маркировки начинается с буквы Л , а вторая буква показывает, какие конкретно логические элементы содержит данная ИМС: ЛН – элементы НЕ . Например, микросхема КР1533ЛН1 (рис.1.10), содержащая 6 элементов НЕ . Красным цветом здесь показана нумерация выводов корпуса микросхемы (смотрите окончание данного параграфа), но далее мы это показывать не будем, чтобы не загромождать рисунки. При необходимости следует обратиться к Приложению 1 данной книги или к соответствующей справочной литературе. ЛИ – элементы И . Например, микросхемы: КР1533ЛИ1 (рис.1.10), содержащая 4 элемента 2И ; КР1533ЛИ3 (рис.1.10), содержащая 3 элемента 3И ); КР1533ЛИ6 (рис.1.10), содержащая 2 элемента 4И . ЛЛ – элементы ИЛИ . Например, микросхема КР1533ЛЛ1 (рис. 1.11), содержащая 4 элемента 2ИЛИ . ЛА – элементы И-НЕ . Например, микросхемы: КР1533ЛА1 (рис.1.11), содержащая 2 элемента 4И-НЕ ; КР1533ЛА2 (рис.1.11), содержащая 1 элемент 8И-НЕ ; КР1533ЛА3 (рис.1.11), содержащая 4 элемента 2И-НЕ ; КР1533ЛА4 (рис.1.12), содержащая 3 элемента 3И-НЕ . ЛЕ – элементы ИЛИ-НЕ . Например, микросхемы: КР1533ЛЕ1 (рис.1.12), содержащая 4 элемента 2ИЛИ-НЕ ; КР1533ЛЕ4 (рис.1.12), содержащая 3 элемента 3ИЛИ-НЕ ; КР531ЛЕ7 (рис.1.12), содержащая 2 элемента 5ИЛИ-НЕ . ЛР , ЛБ – комбинированные ИМС, содержащие разные логические элементы, причем обычно внутри микросхемы уже выполнены соединения между этими элементами. Например, микросхема КР1533ЛР4 (рис.1.13). Она содержит два элемента 4И и один элемент 2ИЛИ-НЕ , причем выходы элементов 4И внутри микросхемы уже соединены со входами элемента 2ИЛИ-НЕ . ЛП – прочие. Содержат логические элементы, не включенные в табл.1.1. Например, микросхема КР1533ЛП5 (рис.1.14) содержит элементы, выполняющие логическую операцию «исключающее ИЛИ » (в случае двух аргументов ее еще называют «неравнозначностью» или «суммой по модулю 2»), смотрите табл.1.4. У данного элемента есть одна интересная особенность (следите по табл. 1.4): при наличии постоянного сигнала 0 на одном входе сигнал с другого входа «проходит» на выход в прямом виде; а при наличии на одном входе постоянного сигнала 1 элемент инвертирует сигнал, поступающий на другой вход. Указанная особенность используется, в частности, в схеме исправления ошибок при передаче информации с помощью корректирующего кода Хэмминга (см. тему 3.24). Рассмотренные микросхемы относятся к ИМС со средней степенью интеграции, которые имеют двухрядное расположение выводов (рис.1.15). БИС, СБИС и ГБИС обычно имеют 4 -рядное расположение выводов (рис.1.16). Нумерация этих выводов производится от «ключа » (рис.1.15 и 1.16) против часовой стрелки (рис.1.17а). Не логические выводы часто снабжаются крестиками (рис.1.17б). К ним, в частности, относятся выводы для питания, которые обозначаются: положительный +UСС , отрицательный -GND (общий провод, от слова g round – заземление), но они на рисунках ИМС изображаются довольно редко. 1.6. Основные параметры, характеризующие работу ИМС Познакомимся с основными параметрами ИМС, которые имеют значение при эксплуатации, ремонте и наладке цифровой аппаратуры. UСС – напряжение питания . Для ИМС серии КР1533 и некоторых других оно составляет 5 В ± 10%. UL (L – l ow – низкий) – напряжение низкого уровня (уровня логического 0) на входе UIL (I – i nput – вход) и на выходе UOL (O – o utput – выход). Для ИМС серии КР1533 нормой является: UIL – не более 0,8 В ; UOL – не более 0,5 В . UH (H – h igh – высокий) – напряжение высокого уровня (уровня логической 1 ) на входе UIH и на выходе UOH . Для ИМС серии КР1533 нормой является: UIH – не менее 2,0 В ; UOH – не менее 2,7 В . IL – ток низкого уровня на входе IIL и на выходе IOL . Для ИМС серии КР1533 нормой является IIL = -200 мкА ; IOL = 8 мА . IH — ток высокого уровня на входе IIH и на выходе IOH . Для ИМС серии КР1533 нормой является IIH = 20 мкА ; IOH = -0,4 мА . PB – потребляемая (рассеиваемая) мощность на один вентиль (логический элемент НЕ ): PB = (PL + PH) /2 , где PL и PH – потребляемая мощность при наличии на выходе элемента соответственно низкого уровня логического 0 и высокого уровня логической 1 . В статическом режиме для ИМС серии КР1533 нормой является PB = 1,2 мВт . Следует иметь в виду, что для микросхем на биполярных транзисторах величины PL и PH отличаются довольно существенно, причем меньшей величиной является PH . Микросхемы на полевых транзисторах потребляют настолько малую мощность, что для них разницу между PL и PH практически можно не учитывать. В динамическом режиме потребляемая микросхемой мощность возрастает, увеличиваясь с ростом частоты. tP — время задержки распространения сигнала . Данная величина представляет собой промежуток времени между изменением сигнала на входе и соответствующим изменением сигнала на выходе. tP является динамической характеристикой работы ИМС, по ней обычно судят о быстродействии микросхем. Очевидно, что при уменьшении tP быстродействие возрастает. Различают время задержки распространения сигнала при включении tPHL (когда сигнал на выходе элемента меняется с 1 до 0 ) и при выключении tPLH (когда сигнал на выходе элемента меняется с 0 до 1 ). Эти величины для элемента НЕ показаны на рис.1.18. В качестве примера приведем значения tPHL и tPLH для микросхемы КР1533ЛН1: tPHL – не более 11 нс ; tPLH – не более 8 нс . КН — нагрузочная способность или коэффициент разветвления по выходу . Показывает, какое максимально допустимое количество элементов можно подключить к выходу каждого элемента данной микросхемы. Например, на рис.1.3 к выходу 3-го элемента присоединены три других элемента – 7-й, 8-й и 9-й. Допустимо ли это, вы можете сказать сами: обычные микросхемы ТТЛШ-структуры имеют КН = 10 . UП – помехоустойчивость , которая оценивается в статическом и динамическом режимах. Статическая помехоустойчивость определяется максимально допустимой величиной повышения (относительно уровня 0) или понижения (относительно уровня 1) напряжения на входах, которое еще не приводит к изменению сигнала на выходе. Для микросхем серии КР1533 нормой является UП = 0,4В . Динамическая помехоустойчивость зависит от формы и амплитуды сигнала помехи, а также от скорости переключения микросхемы (быстродействия) и ее статической помехоустойчивости. N – надежность . Ее обычно характеризуют максимально допустимым количеством отказов за единицу времени. Для микросхем серии КР1533 нормой является N = 10—6 отказов в час. 1.7. Сравнительная характеристика ИМС различных структур Основными параметрами, позволяющими производить сравнение по качеству микросхем различных структур и серий, являются статическая потребляемая мощность и среднее время задержки распространения сигнала в пересчете на один вентиль. Для наглядности типовые значения РВ и tP приведены на графике (рис.1.19). Из этого графика видно, что наихудшими параметрами характеризуются микросхемы ТТЛ-структуры. Поэтому в настоящее время интенсивно идет процесс их вытеснения микросхемами других структур. Однако следует иметь в виду, что в ныне функционирующей аппаратуре микросхемы ТТЛ-структуры (особенно ИМС серии 155) распространены очень широко и будут работать еще очень долго. Первым разработчиком ИМС по технологии ТТЛ является фирма «Texas Instruments», которая выпустила ИМС серии SN74 (аналог – серия 155). Применение диодов Шоттки и усовершенствование технологии позволило уменьшить потребляемую мощность и увеличить быстродействие в микросхемах ТТЛШ-структуры по сравнению с ИМС структуры ТТЛ. Наименьшую потребляемую мощность при сравнимом с ИМС других структур быстродействии имеют микросхемы МОП-структуры , построенные на полевых транзисторах. Но наряду с указанным очевидным преимуществом они имеют и недостатки: чувствительность к статическому электричеству, значительный разброс всех параметров, повышенное выходное сопротивление (до 1 кОм). Разработка первых микросхем МОП серии CD4000 (аналог – серия 561) была выполнена фирмой «RCA». Наивысшее быстродействие достигается в микросхемах ЭСЛ-структуры , т.к. здесь транзисторы работают в ненасыщенном (линейном) режиме. Но большая потребляемая мощность и низкая помехоустойчивость не позволяют применять их достаточно широко. ИМС структуры ЭСЛ используются в тех случаях, когда предъявляются повышенные требования к быстродействию (например, в запоминающих устройствах). Первым разработчиком ИМС по технологии ЭСЛ была фирма «Motorola», которая выпустила серию МС10000 (аналог – серия 500). Приведенный анализ подтверждает следующее: в настоящее время наибольшее распространение имеют ИМС структур ТТЛШ и МОП . Сверхвысокое быстродействие при сравнимой с другими структурами потребляемой мощности достигается в микросхемах на основе арсенида галлия, но сравнительно высокая стоимость, недостаточно разработанная технология и некоторые другие недостатки пока не позволяют применять данные микросхемы в широких промышленных масштабах. 1.8. Элементы с открытым коллекторным выходом Некоторые микросхемы структуры ТТЛ и ТТЛШ имеют открытые коллекторные выходы (ОК) , у них нет резистора коллекторной нагрузки в выходном транзисторе. Для формирования выходного перепада напряжения (чтобы имелась возможность установки на выходе и уровня логического 0 , и уровня логической 1 ) к выходу элемента с ОК требуется подключать нагрузочное сопротивление, поэтому такие микросхемы применяются для обслуживания устройств, которые и будут представлять собой для ИМС коллекторную нагрузку. К ним относятся индикаторы, сигнальные лампы, светодиоды, коаксиальные кабели и т. д. В условном изображении таких микросхем ставится знак, показанный на рис.1.20 внутри элементов 2И. Примерами ИМС с ОК , содержащими логические элементы, являются: КР1533ЛН2, КР1533ЛИ2, КР1533ЛИ4, КР1533ЛА7, КР1533ЛА9, КР1533ЛА10, КР1533ЛП12, которые имеют структуру, аналогичную соответственно микросхемам КР1533ЛН1 (рис.1.10), КР1533ЛИ1 (рис.1.10), КР1533ЛИ3 (рис.1.10), КР1533ЛА1 (рис.1.11), КР1533ЛА3 (рис.1.11), КР1533ЛА4 (рис.1.12), КР1533ЛП5 (рис.1.14). Выходы нескольких элементов с ОК можно присоединять к общей нагрузке RH (смотрите рис.1.20). Такое соединение, позволяет реализовать логическую функцию И , поэтому называется «монтажным И » и изображается так, как показано в зеленом прямоугольнике на рис.1.20. 1.9. Буферные элементы Некоторые элементы кроме логических операций выполняют еще и другие функции. Такие элементы обычно называют буферными . Применяются они в основном для двух целей: 1. Для подключения большого количества элементов , число которых превышает Кн обычных микросхем. У них повышенный коэффициент разветвления, достигающий, например, в микросхемах серии 1533 величины Кн = 30 . В изображении таких ИМС ставится знак, показанный на рис.1.21 внутри элементов. К ним относятся КР1533ЛН8, КР1533ЛИ8, КР1533ЛИ10, КР1533ЛЛ4, КР1533ЛА21, КР1533ЛА22, КР1533ЛА24, КР1533ЛЕ10, которые имеют структуру, аналогичную соответственно микросхемам КР1533ЛН1 (рис.1.10), КР1533ЛИ1 (рис.1.10), КР1533ЛИ3 (рис.1.10), КР1533ЛЛ1 (рис.1.11), КР1533ЛА3 (рис.1.11), КР1533ЛА1 (рис.1.11), КР1533ЛА4 (рис.1.12), КР1533ЛЕ1 (рис.1.12). Некоторые микросхемы с повышенной нагрузочной способностью могут иметь еще и открытые коллекторные выходы. Например, ИМС КР1533ЛН10, КР1533ЛА23, КР1533ЛЕ11, КР1533ЛП17, которые имеют структуру, аналогичную соответственно микросхемам КР1533ЛН1 (рис.1.10), КР1533ЛА3 (рис.1.11), КР1533ЛЕ1 (рис.1.12), КР1533ЛП16 (рис.1.21). 2. Разъединение между собой отдельных узлов цифровой аппаратуры для исключения их взаимного влияния в некоторых режимах работы. Такие элементы в отличие от других имеют три состояния: в одном состоянии на выходе устанавливается уровень логической 1 ; в другом состоянии – уровень логического 0 ; а в третьем (так называемое Z-состояние или высокоомное состояние или состояние с высоким импедансом) выходы элемента вообще размыкаются, отключая присоединенные к ним ЦУ. Если в последнем случае измерить сопротивление элемента со стороны выходов, то оно окажется практически бесконечно большим, поэтому данное состояние и называют высокоомным. Условное изображение подобных ИМС содержит знак, показанный на рис.1.22 внутри элементов. Для примера можно привести микросхему КР1533ЛП8 (рис.1.22). Она содержит 4 буферных повторителя, каждый из которых имеет управляющий состояниями вход EZ (E – e nable – давать возможность, разрешать ). При установке логического 0 на входе EZ элементу разрешается работать в качестве обычного повторителя, а если на этот вход подать сигнал 1 , то элемент переходит в Z -состояние и его выход размыкается (состояние разомкнутого выхода принято обозначать: Z или Roff ). Управляющий состояниями вход иногда называют разрешением по выходу и обозначают ЕО (Е – e nable , O – o utput ). В некоторых случаях вход EZ делается общим для нескольких элементов. Например, в микросхеме КР1533ЛН7 (рис.1.22) содержится шесть буферных элементов НЕ с тремя состояниями выходов и повышенной нагрузочной способностью, разделенных на две группы по 4 и 2 элемента. Каждая группа элементов имеет свой управляющий состояниями вход EZ . Подача сигнала 1 на такой вход переводит в Z -состояние сразу все элементы соответствующей группы. Подобные микросхемы, содержащие объединенные в группы элементы НЕ или повторители с тремя состояниями, которые имеют еще и повышенную нагрузочную способность, называют шинными формирователями или магистральными приемопередатчиками . П р и м е ч а н и е . Часть линий, сгруппированных по функциональному назначению, называется шиной . Например, информационная шина, по всем линиям которой передается информация; шина управления, по линиям которой передаются сигналы управления; и т. д. Совокупность шин называется магистралью . У таких ИМС в третьей части маркировки обычно ставят буквы АП , хотя иногда используется маркировка ЛП или ЛН (как, например, в только что рассмотренной микросхеме). Условное графическое изображение формирователей имеет, как правило, буквы BF (от английского b u f fer – буфер). Применяются они обычно в микропроцессорных системах и системах обработки данных с магистральной организацией обмена информацией. Можно привести еще один пример шинного формирователя: КР1533АП4 (рис.1.23). Данная ИМС содержит два четырехразрядных магистральных передатчика, каждый из которых имеет по четыре буферных повторителя с тремя состояниями и повышенным коэффициентом разветвления. Некоторые формирователи могут передавать информацию в обоих направлениях. Например, восьмиразрядный двунаправленный приемопередатчик КР1533АП6 (рис.1.23) содержит 8 буферных повторителя с тремя состояниями и повышенной нагрузочной способностью, у которых изменение направления передачи информации производится с помощью сигнала на дополнительном входе CD : при CD = 1 передача информации производится от D1 к D2 , при CD = 0 – наоборот. ***1.10. Мажоритарные элементы Мажоритарный (от английского majority – большинство) элемент формирует на своем выходе такой сигнал, который действует на большинстве его входов. В качестве примера можно рассмотреть микросхему КР1533ЛП3 (рис.1.24). Она содержит три мажоритарных элемента «два из трех» (т.е. на выходе формируется такой сигнал, который действует не менее чем на двух входах из трех), работа каждого из них описывается таблицей истинности (табл.1.5). ИМС имеет общий для трех элементов управляющий вход СО , на котором для нормальной работы должен поддерживаться уровень логического 0 . При СО = 1 значение выходного сигнала определяется только сигналом на входе 3 .1 1.11. Преобразователи уровней При использовании в аппаратуре микросхем различной структуры возникает необходимость их согласования по таким важнейшим параметрам, как уровни сигналов и потребляемая мощность. Эту задачу решают специальные ИМС, которые получили название: преобразователи уровней логических сигналов. Микросхемы любых преобразователей в третьей группе маркировки имеют первую букву П , а вторая буква указывает на конкретный вид преобразователя. Для ИМС преобразователей уровней принято обозначение: ПУ . Для примера рассмотрим микросхему К564ПУ9 (рис.1.25). 1 ***Темы, отмеченные звездочками, не были включены в программу предмета ко времени работы над книгой из-за недостатка времени по учебным планам. Они здесь даются для расширения и углубления знаний тех учащихся, которым это интересно, а также для помощи при выполнении курсовых работ и дипломных проектов. Она может выполнять одновременное преобразование 8 сигналов как от уровня ТТЛ (ТТЛШ) к МОП, так и от уровня МОП к ТТЛ (ТТЛШ). Входы ЕZ и DEZ предназначены для управления режимами работы: – при подаче на вход DEZ сигнала 0 микросхема выполняет преобразование сигналов МОП уровня в ТТЛ (ТТЛШ) при любом сигнале на входе EZ ; – при одновременной установке сигналов 1 на входах EZ и DEZ микросхема выполняет преобразование сигналов ТТЛ (ТТЛШ) уровня в МОП; – если же на входе EZ установить уровень логического 0 , а на вход DEZ подать 1 , то микросхема переходит в Z -состояние. Следует учесть, что выходные сигналы инвертируются, т.к. на выходах стоит графический знак операции логического отрицания. П р и м е ч а н и е. В настоящее время выпускаются микросхемы МОП-структуры, прямо совместимые со стандартными сериями ТТЛ (ТТЛШ). Например, микросхемы серий 1564, КР1564, КР1594 (аналоги – соответственно серии ММ54НС, ММ74НС и 74АСТ фирмы «National Semiconductor»). Раздел 2. Основы синтеза и анализа работы цифровых устройств Целью тем, изложенных в разделе 2, является овладение учащимися основам синтеза (разработки структуры и построения схем) ЦУ с помощью логических элементов и анализа (проверки правильности) их работы. 2.1. Формы записи логических функций Предположим, задана таблица истинности (табл.2.1 на рис.2.1), описывающая работу ЦУ, которое имеет три входа Х1 , Х2 , Х3 и один выход Y1 . Цель: с помощью логических элементов построить схему, которая будет работать так, как указано в этой таблице. Первым этапом работы является запись зависимости выходной логической функции (значений сигнала на выходе) Y1 от значений логических переменных Х1 , Х2 , Х3 (значений сигналов на входах) в базисе И, ИЛИ, НЕ (т.е. с использованием операций логического умножения, сложения и отрицания). Такая запись может выполняться в двух формах: 1. СДНФ (совершенная дизъюнктивная нормальная форма) представляет собой несколько многочленов (минтермов), объединенных операцией логического сложения (дизъюнкции), почему форма и названа дизъюнктивной. Она составляется для значений функции Y, равных 1 , количество которых и определяет число многочленов. Каждый многочлен представляет собой логическое умножение всех переменных (в данном случае – трех переменных Х1 , Х2 , Х3) , причем для нулевого значения любой переменной следует брать ее инверсию. Запишем СДНФ для заданной в табл.2.1 логической функции Y1 на рис.2.1. Приведем еще два примера составления СДНФ для логических функций Y2 и Y3 , заданных в табл.2.2 на рис.2.2. 2. СКНФ (совершенная конъюнктивная нормальная форма) представляет собой несколько многочленов (минтермов), объединенных операцией логического умножения (конъюнкции), почему форма и названа конъюнктивной. Она составляется для значений функции Y, равных 0 , количество которых и определяет число многочленов. Каждый многочлен представляет собой логическое сложение всех переменных (в данном случае – трех переменных Х1 , Х2 , Х3 ), причем для значения любой переменной X = 1 следует брать ее инверсию. Запишем СКНФ для заданной в табл.2.1 логической функции Y1 (на рис.2.3). П р и м е ч а н и е: Символом операции НЕ (инвертирования) обычно является черточка над буквой, как показано в табл.1.1. Именно такой символ мы применяли при записи СДНФ для функций Y1 , Y2 , Y3 и СКНФ для функции Y1 . Но довольно часто, особенно на рисунках карт Вейча (Карно) и в изображениях микросхем, используется другой символ инвертирования – апостроф рядом с буквой: Y = X′ . Как уже упоминалось во Введении , при выполнении лабораторных работ, а также в демонстрационных материалах применяется компьютерная программа исследования работы элементов и устройств цифровой микроэлектроники Electronics Workbench , где для изображения инверсных выводов как раз употребляется второй вариант символа инвертирования. Поэтому в дальнейшем для привыкания мы будем практиковать оба варианта символа инвертирования. Приведем еще два примера записи СКНФ для функций Y2 и Y3 , заданных в табл.2.2, где будем использовать два варианта записи символа инвертирования (рис.2.4): В дальнейшем мы будем применять апостроф преимущественно в текстовом материале и формулах, а черточку над буквами – на рисунках. 2.2. Минимизация логических функций методом Вейча Любая совершенная нормальная форма (СДНФ или СКНФ) содержит очень большое количество логических операций, поэтому схемная реализация ЦУ непосредственно по СДНФ (или по СКНФ) потребует соответствующего числа логических элементов, которые должны будут выполнять данные операции. Поэтому невольно напрашивается вопрос: а нельзя ли логические выражения вида СДНФ или СКНФ упростить, чтобы количество операций (и, соответственно, количество элементов в схеме ЦУ) стало меньше? Оказывается, что в подавляющем большинстве случаев это сделать можно! Процесс упрощения логических выражений любой совершенной нормальной формы записи получил название: минимизация от латинского minimum. Существует несколько способов ручной минимизации, но практически наиболее простым и наглядным является метод Вейча (несколько модифицированный метод Карно ), который мы и будем здесь рассматривать. Его единственным недостатком является невозможность применения для минимизации логических выражений, содержащих более чем 5 переменных; но т.к. это случается довольно редко, то с указанным недостатком вполне можно мириться. Сущность данного метода заключается в применении так называемых карт (диаграмм) Вейча, которые представляют собой прямоугольники, разделенные на клетки (карты Карно несколько отличаются от карт Вейча, но суть метода та же; – смотрите окончание данного параграфа). Количество клеток в карте определяется числом наборов переменных (числом комбинаций входных сигналов) N = 2n , где n – это количество переменных; причем каждой клетке строго соответствует свой набор переменных, определяемый по обычной координатной сетке. Рассмотрим два наиболее часто встречающихся случая: 1. Для ЦУ с n = 3 входами максимальное число наборов переменных (смотрите таблицы 2.1 и 2.2 таких устройств) равно 2n = 23 = 8 , следовательно и карта Вейча будет иметь 8 клеток (рис.2.5): 2. Для ЦУ, имеющего n = 4 входа, максимальное число наборов переменных равно 2n = 24 = 16 , поэтому карта Вейча тоже будет иметь 16 клеток (рис.2.6). Главной особенностью любой карты Вейча является возможность объединения соседних клеток карты. Области объединения должны быть прямоугольными и содержать 2n (2,4,8,16) клеток. Допускается сворачивать карту в цилиндр с объединением соседних граней; примерами такого объединения являются: область 1 на рис.2.7 и область 3 на рис.2.8. Не допускается включать в объединение пустые клетки. Рассмотрим примеры объединения клеток. 1. В карте Вейча с 8 клетками (рис.2.7). 2. В карте Вейча с 16 клетками (рис.2.8). В каждой такой области объединения выполняется операция «склеивания», в результате которой остается только один многочлен только с теми переменными, которые входят во все объединенные клетки. А переменные типа X1 и X1′ , X2 и X2′ , X3 и X3′ , X4 и X4′ «сокращаются». Это можно объяснить на следующем примере: возьмем два многочлена СДНФ (аналогичный результат получается и с многочленами СКНФ), соответствующих двум клеткам области 1 рис.2.7: Х1·Х2·X3′ X1·X2′·X3′; одинаковые переменные вынесем за скобки: X1·X3· (X2 X2′) ; легко проверить, что выражение в скобках при любых значениях X2 (0 или 1 ) дает 1 , тогда: X1·X3·1 = X1·X3 . Итак, в результате «склеивания» двух клеток области 1 рис.2.7 получается: X1·X3 . Приведем примеры (рис.2.10) «склеивания» клеток в карте Вейча на рис.2.4: Очевидно, что при объединении всех клеток любой карты сокращаются все переменные, и результат «склеивания» дает 1 . Из сравнения полученных результатов можно сделать вывод : чем больше объединяется клеток, тем проще получается результат «склеивания» , т.е. итоговое логическое выражение содержит меньше операций, и, соответственно, схема ЦУ будет иметь меньше логических элементов. Теперь приведем порядок минимизации : – Чертим карту Вейча с нужным количеством клеток. – Клетки карты, соответствующие минтермам СДНФ (или СКНФ) обозначаем символом «1 ». – Объединяем все клетки с «1 ». Количество клеток в каждом объединении должно быть максимальным, а самих областей объединения должно быть как можно меньше. П р и м е ч а н и е: любое количество клеток с «1 » могут одновременно входить в две или больше области объединения. – В каждой области производим операцию «склеивания», в результате чего получаем многочлены минимальной формы: МДНФ или МКНФ. Приведем несколько примеров минимизации: Пример 1. Минимизация СДНФ функции Y1 из темы 2.1 (рис.2.11): Покажем на рис.2.12 результаты"склеивания» двух клеток в областях 1 и 2 этой карты. Область 3 : Эта клетка остается одна – ни с какими другими клетками, содержащими «1 », ее объединить нельзя. Поэтому соответствующий данной клетке многочлен Х1·Х2·Х3 не сокращается и входит в минимальную дизъюнктивную нормальную форму (МДНФ) без изменения. В результате на этом же рис.2.12 записываем МДНФ (красным , синим и зеленым цветом показаны минтермы, которые получились в результате «склеивания» клеток в областях объединения соответствующего цвета на рис.2.11). Пример 2 . Минимизация СДНФ функции Y2 из темы 2.1 (рис.2.13): Пример 3 . Минимизация СДНФ функции Y3 из темы 2.1 (рис.2.14): Совершенно аналогично выполняется минимизация логических функций, записанных в СКНФ. Рассмотрим примеры: Пример 4. Минимизация СКНФ функции Y1 из темы 2.1 (рис.2.15): Пример 5. Минимизация СКНФ функции Y2 из темы 2.1 (рис.2.16). Пример 6. Минимизация СКНФ функции Y3 из темы 2.1 (рис.2.17). *** Модификация карт Вейча, предложенная Карно, заключается в небольшом изменении координатной сетки (на рис. 2.18 показаны карты Карно для минимизации функций трех и четырех переменных дизъюнктивной формы). Основным достоинством карт Карно по сравнению с картами Вейча является возможность их заполнения непосредственно по значениям сигналов в таблице истинности, не записывая СДНФ (или СКНФ). Но если координатная сетка карт Вейча одинаково применима для минимизации функций как дизъюнктивной, так и конъюнктивной форм, то в координатной сетке карт Карно для минимизации функций конъюнктивной формы прямые и инверсные значения переменных меняются местами по сравнению с координатной сеткой карт Карно для минимизации функций дизъюнктивной формы. На рис. 2.18 показано заполнение карт Карно, объединение клеток и результат минимизации функций Y1 (см. табл. 2.1) и Y4 в виде МДНФ. Сравнивая эти результаты с МДНФ примера 1 данной темы и примера из темы 2.8, мы легко убеждаемся, что они полностью совпадают с полученными при использовании карт Вейча. 2.3. Подбор микросхем, построение и анализ работы схем ЦУ в базисе И, ИЛИ, НЕ. Оценка качества схем Построение схем производится таким образом, чтобы соблюдался порядок выполнения операций в логическом выражении согласно элементарным правилам как обычной алгебры, так и алгебры логики. Достаточно очевидно, что при построении схем ЦУ по МДНФ порядок выполнения операций должен быть следующим: – Логическое отрицание входных сигналов Х , то есть первыми в схеме должны стоять элементы НЕ . – Логическое умножение (элементы И ). – Логическое сложение (элементы ИЛИ ). Пример 1. МДНФ (см. пример 1 из темы 2.2): Y1 = X1′·X2′ X2′·X3′ X1·X2·X3. Определяем количество операций (и, соответственно, требуемых логических элементов) для реализации этой МДНФ: 1. В данном логическом выражении стоят 4 знака операции логического отрицания. Но следует учесть, что инвертирование одного и того же сигнала X2 просто встречается два раза. Поэтому схема должна содержать 3 элемента НЕ для отрицания сигналов X1 , X2 и X3 . 2. Для выполнения первого умножения X1′·X2′ потребуется один элемент 2И , т.к. в этой операции участвуют два сигнала: X1′ и X2′ . 3. Для выполнения второго умножения X2′·X3′ также потребуется один элемент 2И . 4. В третьем многочлене X1·X2·X3 требуется умножение трех сигналов, поэтому здесь нужно использовать один элемент 3И . Таким образом, для выполнения операций умножения мы должны использовать 2 элемента 2И и один элемент 3И . 5. Логическое сложение трех многочленов X1′·X2′ ; X2′·X3′ и X1·X2·X3 требует применения одного элемента 3ИЛИ . Но нужно сразу учесть, что в серии КР1533 и во многих других нет микросхем, содержащих элементы 3ИЛИ . Поэтому для реализации нужного нам сложения придется использовать 2 элемента 2ИЛИ . По записи МДНФ видно, что именно в такой последовательности нужно выполнять операции: сначала логическое отрицание НЕ , затем логическое умножение И , и в конце логическое сложение ИЛИ . Подбираем микросхемы. В данном случае для построения схемы достаточно взять: – Одну микросхему КР1533ЛН1 (см. рис.1.12), содержащую 6 элементов НЕ . Т. к. нам требуется только 3 элемента НЕ , то в данной микросхеме 3 элемента оказываются лишними и использоваться они не будут. – Одну микросхему КР1533ЛИ1 (см. рис.1.12), содержащую 4 элемента 2И (здесь два элемента оказываются лишними), и одну микросхему КР1533ЛИ3 (см. рис.1.12), содержащую 3 элемента 3И (из нее 2 элемента использоваться не будут). – Одну микросхему КР1533ЛЛ1 (см. рис.1.13), содержащую 4 элемента 2ИЛИ (два элемента этой микросхемы оказываются лишними). Строим схему ЦУ в базисе И, ИЛИ, НЕ (термин «базис И, ИЛИ, НЕ » означает, что в данной схеме будут использоваться только элементы И, ИЛИ, НЕ ), причем операции должны производиться в установленной нами последовательности: сначала НЕ , затем И , и в конце ИЛИ . Обращаем внимание, что при необходимости указывать направление передачи сигналов входы и выходы могут быть начерчены не кружочками (как в Разделе 1), а стрелками. а) Чертим все три входа Х1 , Х2 и Х3 (рис.2.19а). В дальнейшем на каждом следующем этапе все новые элементы, которые будут включаться в схему, показываются красным цветом. b) Смотрим на МДНФ и видим, что операции НЕ должны выполняться в данном случае со всеми тремя переменными, т.к. в этом выражении имеются величины X1′ , X2′ и X3′ . Поэтому на всех трех входах ставим элементы НЕ (рис.2.19b.). Входы элементов подключаем ко входам схемы X1 , X2 и X3 , на выходах будут формироваться инверсные значения входных сигналов X1′ , X2′ и X3′ . Сразу же нужно учесть еще один момент: снова смотрим на МДНФ и обнаруживаем, что наряду с инверсными значениями всех (еще раз повторяем: в данном случае всех) сигналов X1′ , X2′ и X3′ нам потребуются и их прямые значения, поэтому выводим в схему и провода, показанные синим цветом. c) Теперь переходим к выполнению операций логического умножения. Начнем с операции X1′·X2′ (смотрите МДНФ). Чертим элемент 2И ; на один его вход подаем X1′ , на другой – X2′ ; на выходе получаем результат умножения: X1′·X2′ . К настоящему моменту мы будем иметь схему, изображенную на рис.2.20a. d) Реализуем следующую операцию умножения: X2′·X3′ (смотрите МДНФ). Чертим еще один элемент 2И ; на один его вход подаем X2′ , на другой – X3′ ; на выходе получаем результат: X2′·X3′ . Теперь схема примет вид рис.2.20b. e) В последнем многочлене МДНФ X1·X2·X3 нужно выполнить операцию умножения с тремя сигналами, поэтому чертим элемент 3И . На один его вход подаем X1 , на второй – X2 и на третий – X3 ; на выходе получим результат: X1·X2·X3 . И схема теперь будет иметь вид рис.2.21. f) Переходим к реализации операций логического сложения полученных многочленов: X1′·X2′ , X2′·X3′ и X1·X2·X3 с помощью двух элементов 2ИЛИ . Как известно, при перемене мест слагаемых сумма не меняется; поэтому совершенно безразлично, в какой последовательности мы будем выполнять эти операции. Начнем с логического сложения многочленов X1′·X2′ и X1·X2·X3 . Начертим элемент 2ИЛИ ; на один его вход подадим X1′·X2′ , на другой – X1·X2·X3 ; на выходе получим результат сложения: X1′·X2′ X1·X2·X3 . Теперь схема будет выглядеть так, как на рис.2.22. g) Остается лишь к величине (X1′·X2′ X1·X2·X3 ) прибавить многочлен X2′·X3′ . Чертим последний элемент – элемент 2ИЛИ ; на один его вход подаем (X1′·X2′ X1·X2·X3 ), на другой – X2′·X3′ ; на выходе этого элемента (так как он последний) получаем значение выходной функции Y1 . И схема примет вид рис.2.23. Теперь уберем вспомогательные надписи, укажем входы и выход, проставим позиционное обозначение всех элементов схемы с соответствующей нумерацией. Микросхемы на чертежах обозначаются буквой D (от английского d evice – устройство) с соответствующим номером, например: D1 , D2 , D3 и т. д. Допускается в позиционное обозначение добавлять вторую букву: DА (A – a nalogy ) – аналоговая микросхема, DD (D – d igital ) – цифровая микросхема; но это делается обычно тогда, когда в схеме присутствуют микросхемы обоих типов. А так как у нас в дальнейшем на чертежах будут только цифровые микросхемы, то мы вторую букву ставить не будем. Нумерацию микросхем и любых других элементов следует по возможности выполнять сверху вниз «колонками», начиная с левой стороны схемы. На нашем чертеже в первой колонке стоят элементы НЕ из микросхемы КР1533ЛН1, которую поэтому следует обозначить D1 . Но как обозначить отдельные элементы этой ИМС? Существует следующее правило: если микросхема содержит несколько элементов, то они обозначаются с двойной нумерацией через точку , причем первая цифра указывает номер микросхемы, а вторая – номер элемента в этой микросхеме. В данном случае первый элемент НЕ из микросхемы КР1533ЛН1 (напомним, что ее мы обозначили D1 ) нужно обозначить D1.1 , второй элемент – D1.2 , третий – D1.3 . Во второй колонке первым стоит элемент 3И из микросхемы КР1533ЛИ3, поэтому ее мы обозначим следующим по порядку номером D2 . В указанной микросхеме используется один элемент 3И , который будет иметь обозначение D2.1 . В этой же второй колонке далее стоят два элемент 2И из микросхемы КР1533ЛИ1, их мы обозначим D3.1 и D3.2 . Последними в схеме стоят два элемента 2ИЛИ из микросхемы КР1533ЛЛ1, их нужно обозначить D4.1 и D4.2 . Кроме этого, у всех элементов схемы следует указать нумерацию их выводов в корпусе микросхем (смотрите предпоследний абзац темы 1.5 и Приложение 1). В результате получаем окончательный вариант схемы (рис.2.24). Примечания: – в дальнейшем для достижения учебных целей мы не будем ставить нумерацию выводов корпусов микросхем, чтобы не загромождать чертежи; – будем оставлять вспомогательные надписи, которые помогут учащимся разбираться в построении схем. – в реальных чертежах отдельных плат или ТЭЗов (типовых элементов замены) входы и выходы оформляются иначе, чем показано на рис.2.26. Подробнее об этом будет сказано при подготовке к курсовому проектированию, а сейчас пока подписывать входы и выходы будем именно так. Любая реальная схема дополняется сведениями о всех используемых здесь микросхемах, любых других элементах и устройствах в виде специальной таблицы, которая имеет официальное название «Перечень элементов» (табл.2.3). По стандарту указанная таблица должна помещаться либо на поле чертежа, либо после него. П р и м е ч а н и я к таблице: 1. Названия заголовков устанавливаются стандартом и их обязательно нужно сокращать именно так, как показано в табл.2.3. 2. Размеры таблицы также устанавливаются стандартом: – ширина колонок по порядку слева направо: 20 (Позиционное обозначение), 110 (Наименование), 10 (Количество), 45 (Примечание) мм; – высота строки заголовков – 15 мм; – высота всех остальных строк – не менее 8 мм. 3. В колонке «Примечание» мы в дальнейшем будем указывать количество элементов из указанной микросхемы, которые в данной схеме использоваться не будут. Выполним анализ работы ЦУ хотя бы в одном статическом режиме (рис.2.25). Для этого на входы подадим цифровые сигналы, например: Х1 = 1 , Х2 = 0 , Х3 = 0 . По схеме, последовательно указывая значения сигналов на входах и выходах всех элементов (см. тему 1.2), определяем, что на выходе ЦУ формируется сигнал Y1 = 1 . Сравниваем полученный результат с таблицей истинности данного ЦУ (соответствующая строка выделена красным цветом в табл.2.1) и делаем вывод: в данном случае (при заданных значениях входных сигналов) устройство сработало правильно. На основании вышеприведенного анализа нельзя сделать вывод о правильности построения данной схемы. Такой вывод будет корректным только в том случае, если выполнить анализ работы ЦУ для всех 8 статических режимов (то есть для всех комбинаций входных сигналов) согласно таблице истинности (см. табл.2.1). При необходимости анализ работы ЦУ в динамическом режиме производится так, как описано в теме 1.2. Оценка качества схем в основном производится по двум параметрам: аппаратурным затратам W и задержке T . Аппаратурные затраты W обычно определяются количеством используемых корпусов микросхем (значение ряда других параметров – потребляемой мощности, надежности и др. – допустимо считать приблизительно пропорциональными W ). В данном случае мы берем: – 3 элемента НЕ из микросхемы КР1533ЛН1, которая содержит в целом 6 элементов; то есть используем 3/6 = 0,5 корпуса ИМС; – 1 элемент 3И из микросхемы КР1533ЛИ3 (здесь всего – 3 элемента), т.е. используем 1/3 = 0,33 корпуса ИМС; – 2 элемента 2И из микросхемы КР1533ЛИ1, содержащей в целом 4 элемента; т.е. используем 2/4 = 0,5 корпуса ИМС; – 2 элемента 2ИЛИ из микросхемы КР1533ЛЛ1, которая содержит всего 4 элемента; т.е. используем 2/4 = 0,5 корпуса ИМС. Итого величина аппаратурных затрат получается равной: W = 0,5 + 0,33 + 0,5 + 0,5 = 1,83 корпуса. П р и м е ч а н и е: лишние элементы частично занятых корпусов микросхем не учитываются, поскольку они могут быть использованы в других узлах. Наряду с аппаратурными затратами очень важным критерием качества схем является задержка Т . В схемах, построенных с помощью микросхем средней степени интеграции, задержка достаточно объективно оценивается средним временем задержки распространения сигнала tP (см. §1.6) входящих в нее элементов по максимально длинному пути сигналов от входа к выходу. В рамках одной серии обычно полагают, что задержка любого логического элемента равна некоторой усредненной для данной серии величине τ , которая вместе с tP непосредственно элемента включает в себя и приближенную задержку на линиях связи между элементами. Для микросхем серии КР1533 значение τ можно принять равным 8 нс. Рассмотрим все возможные пути прохождения сигналов по схеме (рис.2.14) от входов к выходу и определим соответствующую величину задержки: – со входа Х1 через 3 элемента – D2.1, D4.1 и D4.2, поэтому Т = 3τ = 3·8 = 24 нс; – со входа Х1 через 4 элемента – на рис.2.24 выделен жирной синей линией); D1.1, D3.1, D4.1 и D4.2 (этот путь Т = 4τ = 4·8 = 32 нс; – со входа Х2 через 3 элемента – D2.1, D4.1 и D4.2; Т = 3τ = 3·8 = 24 нс; – со входа Х2 через 4 элемента – D1.2, D3.1, D4.1 и D4.2; Т = 4τ = 4·8 = 32 нс; – со входа Х3 через 3 элемента – D2.1, D4.1 и D4.2; Т = 3τ = 3·8 = 24 нс; – со входа Х3 через 3 элемента – D1.3, D3.2 и D4.2; Т = 3τ = 3·8 = 24 нс. Таким образом, для данной схемы максимальная задержка составляет Т = 4τ = 4·8 = 32 нс. П р и м е ч а н и е. Строго говоря, полученное численное значение (в данном случае 32 нс) особого значения не имеет, так как задержка (да и аппаратурные затраты тоже) используются в основном для сравнительной оценки качества различных вариантов схем одного и того же ЦУ. Кроме этого, схема может строиться не на микросхемах логических элементов, а включаться целиком в состав какой-либо другой микросхемы, что приведет к существенному уменьшению задержки из-за сокращения линий связи между элементами внутри микросхемы, выполненной по интегральной технологии. Поэтому в большинстве случаев достаточно оперировать величиной Т = 4τ , не указывая его численное значение. Приведем ряд других примеров, но уже без подробных пояснений. Пример 2. МДНФ (см. пример 2 из §2.2): Y2 = X1′·X3′ X1·X2·X3 . Подсчитываем требуемое количество элементов: 2 элемента НЕ +1 элемент 2И и 1 элемент 3И +1 элемент 2ИЛИ . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛИ1, КР1533ЛИ3 и КР1533ЛЛ1. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис.2.26). Составляем перечень элементов к этой схеме (табл.2.4). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.26 и красную строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 2/6 + 1/3 + 1/4 + 1/4 = 0,33 + 0,33 + 0,25 + 0,25 = = 1,16 корпуса; T = 3τ . Пример 3. МДНФ (см. пример 3 из темы 2.2): Y3 = X3′ X1′·X2 Подсчитываем требуемое количество элементов: 2 элемента НЕ +1 элемент 2И +1 элемент 2ИЛИ . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛИ1 и КР1533ЛЛ1. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис.2.27). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.27 и красную строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 2/6 + 1/4 + 1/4 = 0,33 + 0,25 + 0,25 = 0,83 корпуса; T = 3τ. Рассмотрим примеры построения схем по МКНФ. Здесь первыми опять будут выполняться операции НЕ. А порядок выполнения операций логического умножения и сложения изменится, так как по законам алгебры логики (и обычной алгебры тоже) сначала должны выполняться операции в скобках – ИЛИ, а уже затем – операции И. Пример 4. МКНФ (см. пример 4 из темы 2.2): Y1 = (X1 X2′) · (X2′ X3) · (X1′ X2 X3′). Подсчитываем требуемое количество элементов: 3 элемента НЕ +4 элемента 2ИЛИ (в третьей скобке для выполнения логического сложения трех сигналов мы вынуждены использовать 2 элемента 2ИЛИ , так как нужного здесь в принципе элемента 3ИЛИ нет в микросхемах серии КР1533) +1 элемент 3И . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛЛ1 и КР1533ЛИ3. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис.2.28). Составляем перечень элементов к этой схеме (табл.2.6). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.28 и соответствующую синюю строку в табл.2.1). Определим аппаратурные затраты и задержку: W = 3/6 + 1 + 1/3 = 0,5 + 1 + 0,33 = 1,83 корпуса ; T = 4τ . Пример 5. МКНФ (см. пример 5 из темы 2.2): Y2 = (X1 X3′) · (X1′ X3) · (X1′ X2). Подсчитываем требуемое количество элементов: 2 элемента НЕ +3 элемента 2ИЛИ +1 элемент 3И . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛЛ1 и КР1533ЛИ3. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис.2.29). Составляем перечень элементов к этой схеме (табл.2.7). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.29 и синюю строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 2/6 + 3/4 + 1/3 = 0,33 + 0,75 + 0,33 = 1,41 корпуса; T = 3τ . Пример 6. МКНФ (см. пример 6 из темы 2.2): Y3 = (X2 X3′) · (X1′ X3′) . Подсчитываем требуемое количество элементов: 2 элемента НЕ +2 элемента 2ИЛИ +1 элемент 2И . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛЛ1 и КР1533ЛИ1. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис.2.30). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.30 и синюю строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 2/6 + 2/4 + 1/4 = 0,33 + 0,5 + 0,25 = 1,08 корпуса; T = 3τ . 2.4. Переход к базису И-НЕ. Подбор микросхем, построение и анализ работы схем ЦУ в базисе И-НЕ Значительно чаще для построения схем ЦУ используют не элементы И, ИЛИ, НЕ , а элементы И-НЕ (базис И-НЕ ) или ИЛИ-НЕ (базис ИЛИ-НЕ ). При этом в большинстве случаев улучшается качество схем, да и сами схемы по структуре получаются проще. Переход к базису И-НЕ производится от МДНФ и его конечная цель заключается в следующем: следует так преобразовать МДНФ, чтобы в итоговом логическом выражении не было операций И, ИЛИ, НЕ , а были бы только операции И-НЕ . Переход выполняется в следующем порядке (под буквами А, B, C, D и т. д. понимаются логические сигналы 0 или 1 , а также любые логические операции и выражения, дающие в результате опять же сигналы 0 или 1 ): 1. Используется закон двойного отрицания (двойной инверсии): A = A′′ . Справедливость этого закона проверить несложно, если вместо А подставить 0 или 1 . 2. Применяется первая форма закона де Моргана : (B C D …)′ = B′·C′·D′·… Правильность и этого закона тоже проверить несложно, если вместо В, С, D и т. д. подставить любую комбинацию сигналов 0 и 1 . 3. Полученное логическое выражение рекомендуется записать с использованием символа «штрих Шеффера» (смотрите табл.1.1), например: (X1·X2)′ = X1 / X2 . Пример 1. МДНФ (см. пример 1 из темы 2.2): Y1 = X1′·X2′ X2′·X3′ X1·X2·X3. Переходим к базису И-НЕ . Для этого сначала используем закон двойного отрицания: Определяем требуемое количество элементов с учетом нужного количества входов у каждого элемента: – для выполнения операций логического отрицания сигналов X1 , X2 и X3 берем три элемента 2И-НЕ (смотрите П р и м е ч а н и е выше); – чтобы выполнить операцию в первой скобке, следует использовать элемент 2И-НЕ , так как в данной операции участвуют два сигнала: X1′ и X2′ ; – для реализации операции во второй скобке нужен элемент 2И-НЕ , потому что здесь в операции тоже участвуют два сигнала: X2′ и X3′ ; – чтобы выполнить операцию в третьей скобке, придется взять элемент 3И-НЕ , так как в данной операции участвуют три сигнала: X1 , X2 и X3 ; – и последним мы должны поставить элемент 3И-НЕ , потому что на его входы будут поступать три сигнала, являющиеся результатами операций в трех скобках. Всего в схеме ЦУ: 5 элементов 2И-НЕ (напомним, что из них – три элемента для выполнения логического отрицания!) +2 элемента 3И-НЕ . Подбираем микросхемы. Элементы 2И-НЕ имеются в составе микросхемы КР1533ЛА3 (см. рис. 1.13), содержащей 4 элемента 2И-НЕ ; так как нам требуется 5 таких элементов, то придется взять две микросхемы КР1533ЛА3, причем в одной из них три элемента использоваться не будут. Элементы 3И-НЕ входят в состав микросхемы КР1533ЛА4 (см. рис. 1.14), содержащей 3 элемента 3И-НЕ ; нам нужны два элемента, поэтому достаточно использовать одну микросхему КР1533ЛА4, причем один элемент данной ИМС оказывается лишним. Строим схему ЦУ в базисе И-НЕ (рис. 2.32). На этом же рис.2.32 выполнен анализ работы схемы ЦУ в статическом режиме для одной комбинации входных сигналов (см. красную строку в табл. 2.1). Составляем перечень элементов к этой схеме (табл.2.9). Определим аппаратурные затраты и задержку: W = 1 + 2/3 + 1/4 = 1 + 0,67 + 0,25 = 1,92 корпуса; T = 3τ . Пример 2. МДНФ (см. пример 2 из темы 2.2): Y2 = X1′·X3′ X1·X2·X3 . Переходим к базису И-НЕ : Y2 = [(X1′·X3′) (X1·X2·X3)]′′ = [(X1′·X3′)′· (X1·X2·X3)′]′ = = [(X1′/X3′) / (X1/X2/X3)]. Подсчитываем требуемое количество элементов: 4 элемента 2И-НЕ 2 элемента для выполнения логического отрицания) +1 элемент 3И-НЕ . Подбираем ИМС: по одной ИМС КР1533ЛА3 и КР1533ЛА4. Строим схему ЦУ в базисе И-НЕ (рис.2.33). (из них – Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.33 и красную строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 1 + 1/3 = 1 + 1,33 = 1,33 корпуса; T = 3τ . Пример 3. МДНФ (см. пример 3 из темы 2.2): Y3 = X3′ X1′·X2 . Переходим к базису И-НЕ : Y3 = (X3′ X1′·X2)′′ = [(X3′)′ (X1′·X2)′]′ = (X3) / (X1′ / X2) . Обратим внимание, что в МДНФ переменная была с отрицанием, затем после применения закона де Моргана у нее появилось второе отрицание, что по закону двойной инверсии дает прямое значение X3 . На будущее следует иметь в виду весьма простое правило: если в логическом выражении базиса И, ИЛИ, НЕ имеется минтерм, содержащий только одну переменную, то при переходе к базису И-НЕ эта переменная будет обязательно менять свое значение на противоположное: если она была без отрицания, то будет с отрицанием; если же она была с отрицанием, то будет без него. Подсчитываем требуемое количество элементов: 3 элемента 2И-НЕ (из них – 1 элемент для логического отрицания). Подбираем микросхему: одна микросхема КР1533ЛА3. Строим схему ЦУ в базисе И-НЕ (рис.2.34): Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.34 и красную строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 3/4 = 0,75 корпуса; T = 3τ . 2.5. Переход к базису ИЛИ-НЕ. Подбор микросхем, построение и анализ работы схем ЦУ в базисе ИЛИ-НЕ Аналогично описанному в предыдущем параграфе переходу к базису И-НЕ от МДНФ производится переход к базису ИЛИ-НЕ , только теперь уже от МКНФ: 1. Используется закон двойного отрицания (двойной инверсии): A = A′′ 2. Применяется вторая форма закона де Моргана : (B·C·D·…)′ = B′ C′ D′ … 3. Полученное логическое выражение рекомендуется записать с использованием символа «стрелка Пирса» (смотрите табл.1.1), например: (X1 X2)′ = X1 ↓ X2 . Примечание: В итоговом логическом выражении должны содержаться только операции ИЛИ-НЕ . Но кроме них, как правило, остаются все-таки операции НЕ , которые в данном случае следует выполнять с помощью элементов 2ИЛИ-НЕ путем объединения входов этих элементов. Пример 1. МКНФ (см. пример 4 из темы 2.2): Y1 = (X1 X2′) · (X2′ X3) · (X1′ X2 X3′). Переходим к базису ИЛИ-НЕ . Для этого сначала используем закон двойного отрицания: Подсчитываем требуемое количество элементов: 5 элементов 2ИЛИ-НЕ (из них 3 элемента – для отрицания) +2 элемента 3ИЛИ-НЕ . Подбираем микросхемы: две микросхемы КР1533ЛЕ1 и одна микросхема КР1533ЛЕ4. Строим схему ЦУ в базисе ИЛИ-НЕ (рис.2.35). Составляем перечень элементов к этой схеме (табл.2.12). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.35 и синюю строку в табл.2.1). Определим аппаратурные затраты и задержку: W = 1 + 2/3 + 1/4 = 1 + 0,67 + 0,25 = 1,92 корпуса; T = 3τ . Пример 2. МКНФ (см. пример 5 из темы 2.2): Y2 = (X1 X3′) · (X1′ X3) · (X1′ X2). Переходим к базису ИЛИ-НЕ : Y2 = [(X1 X3′) · (X1′ X3) · (X1′ X2)]′′ = = [(X1 X3′) ′ (X1′ X3) ′ (X1′ X2)′]′ = = (X1 ↓ X3′) ↓ (X1′ ↓ X3) ↓ (X1′ ↓ X2) . Подсчитываем требуемое количество элементов: 5 элементов 2ИЛИ-НЕ (из них 2 элемента – для отрицания) +1 элемента 3ИЛИ-НЕ . Подбираем микросхемы: две микросхемы КР1533ЛЕ1 и одна микросхема КР1533ЛЕ4. Строим схему ЦУ в базисе ИЛИ-НЕ (рис.2.36). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.36 и синюю строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 1 + 1/4 + 1/3 = 1 + 0,25 + 0,33 = 1,58 корпуса; Т = 3τ . Пример 3. МКНФ (см. пример 6 из темы 2.2): Y3 = (X2 X3′) · (X1′ X3′) . Переходим к базису ИЛИ-НЕ : Y3 = [(X2 X3′) · (X1′ X3′)]′′ = [(X2 X3′)′ (X1′ X3′)′]′ = = [(X2 ↓ X3′) ↓ (X1′ ↓ X3′)] . Подсчитываем требуемое количество элементов: 5 элементов 2ИЛИ-НЕ (из них 2 элемента – для отрицания). Подбираем микросхемы: две микросхемы КР1533ЛЕ1. Строим схему ЦУ в базисе ИЛИ-НЕ (рис.2.37). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.37 и синюю строку в табл.2.2). Определим аппаратурные затраты и задержку: W = 1 + 1/4 = 1 + 0,25 = 1,25 корпуса; T = 3τ . 2.6. Использование в схемах элементов разных базисов и комбинированных микросхем Очень часто для достижения лучшего быстродействия или уменьшения аппаратурных затрат в схемах цифровых устройств используют элементы разных базисов. Приведем пример: Пример 1. МКНФ (см. пример 4 из темы 2.2): Y1 = (X1 X2′) · (X2′ X3) · (X1′ X2 X3′). В данном логическом выражении базиса И, ИЛИ, НЕ преобразуем последний многочлен с использованием закона двойного отрицания и первого закона де Моргана: (X1′ X2 X3′) = (X1′ X2 X3′)′′ = (X1′)′· (X2)′· (X3′)′ = = X1 / X2′ / X3 . Теперь с учетом полученного результата исходное логическое выражение примет вид: Y1 = (X1 X2′) · (X2′ X3) · (X1 / X2′ / X3) . Определим требуемое количество элементов: 1 элемент НЕ +2 элемента 2ИЛИ +1 элемент 3И-НЕ (для выполнения операции в третьей скобке) +1 элемент 3И . Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛЛ1, КР1533ЛА4 и КР1533ЛИ3. Строим схему ЦУ (рис. 2.38): Составим перечень элементов к этой схеме (табл. 2.15). Выполним анализ работы ЦУ в статическом режиме для одной комбинации входных сигналов (см. рис.2.38 и красную строку в табл.2.1). Определим аппаратурные затраты и задержку: W = 1/6 + 2/4 + 1/3 + 1/3 = 0,17 + 0,5 + 0,33 + 0,33 = = 1,33 корпуса; T = 3τ . Полученные результаты сравним с этими же параметрами, характеризующими работу схемы рис. 2.27, построенной по исходной МКНФ: W = 1,83 корпуса; T = 4τ . Хорошо видно, что преобразование только лишь одного многочлена МКНФ и вытекающая из этого необходимость использования в схеме элементов разных базисов привело: во-первых, к уменьшению задержки (3τ вместо 4τ ); и, во-вторых, к уменьшению аппаратурных затрат (1,33 корпуса вместо 1,83 ). *** Иногда для достижения тех же целей увеличения быстродействия, уменьшения аппаратурных затрат, но в основном для уменьшения количества внешних соединений (то есть таких соединений, которые выполняются не внутри микросхемы, а снаружи путем монтажа) между микросхемами и элементами микросхем применяют комбинированные ИМС (смотрите, например, рис. 1.15 из параграфа 1.5). Приведем пример: Пример 2. МДНФ (см. пример 1 из темы 2.2): Y1 = X1′·X2′ X2′·X3′ X1·X2·X3. Логическое отрицание, как и в указанном примере 1 из темы 2.2, будем делать с помощью тех же элементов НЕ из микросхемы КР1533ЛН1. А для выполнения остальных операций воспользуемся микросхемой КР1533ЛР13 (рис. 2.39). Но здесь нужно учесть, что в данной микросхеме на выходе стоит элемент ИЛИ-НЕ , поэтому выходной сигнал получится инвертированным. Чтобы получить на выходе все-таки прямое значение сигнала, выполним его повторное отрицание с помощью еще одного элемента НЕ из микросхемы КР1533ЛН1. Строим схему ЦУ (рис. 2.40): П р и м е ч а н и е: один элемент 3И из микросхемы КР1533ЛР13 получается лишним. В схеме рис. 2.40 его входы оставлены свободными , но этого делать нельзя ! В микросхемах ТТЛ и ТТЛШ-структур входы лишних элементов обязательно следует куда-либо подключить , иначе данная ИМС работать не будет (смотрите тему 2.9). Определим количество внешних соединений между элементами: – в схеме рис. 2.25, построенной по исходной МДНФ: 8 ; – в схеме рис. 2.40: 5 . Это подтверждает сказанное ранее: использование комбинированных ИМС уменьшает количество внешних соединений между элементами микросхем. Подсчитаем аппаратурные затраты и задержку: W = 4/6 + 4/5 = 0,67 + 0.8 = 1,47 корпуса; T = 4τ . Полученные результаты сравним с этими же параметрами, характеризующими работу схемы рис. 2.25, построенной по исходной МДНФ: W = 1,83 корпуса; T = 4τ . Хорошо видно, что аппаратурные затраты уменьшились: 1,47 корпуса вместо 1,83 . Задержка вроде бы осталась той же: T = 4τ . Но соединительные линии внутри комбинированной микросхемы дают меньшую задержку сигналов, чем внешние соединения. Поэтому из-за уменьшения количества внешних соединений задержка на самом деле станет несколько меньше 4τ . 2.7. Сравнительная оценка качества схем Сравнительный анализ качества схем, как уже было указано ранее, обычно производится по двум важнейшим критериям: задержке T и аппаратурным затратам W . Если не предъявляются заранее поставленные особые требования к отдельным критериям, то поступают следующим образом: – Отбрасывают варианты, обладающие самыми худшими характеристиками или по T , или по W , или по обоим параметрам одновременно. – Из других схем (все они образуют так называемое множество Парето ) отдают предпочтение более быстродействующим. – В оставшихся вариантах с одинаковой минимальной задержкой выбирают наиболее экономичные схемы. Для примера проведем сравнительную оценку качества схем, реализующих функцию Y1 , которые были построены нами различными способами. Для этого сведем данные по T и W в небольшую таблицу (табл. 2.17). Сначала исключаем схемы, построенные по МДНФ и МКНФ, обладающие наибольшей задержкой. Затем исключаем схемы в базисах И-НЕ и ИЛИ-НЕ с наибольшими аппаратурными затратами. В оставшихся двух вариантах, которые в данном случае и образуют множество Парето, выбираем как более быстродействующую схему, построенную с использованием элементов разных базисов. 2.8. Синтез и анализ работы ЦУ с 4 входами Задана таблица истинности ЦУ, имеющего 4 входа (табл. 2.18). 1. Записываем СДНФ: Y4 = X1′·X2′·X3·X4 X1′·X2·X3′·X4 X1·X2·X3′·X4 X1·X2·X3·X4′ X1·X2·X3′·X4′ X1·X2·X3·X4. 2. Минимизируем СДНФ методом Вейча (рис. 2.41): 3. Подсчитываем требуемое количество элементов: 3 элемента НЕ +1 элемент 2И +1 элемент 3И +1 элемент 4И +2 элемента 2ИЛИ . 4. Подбираем микросхемы: по одной микросхеме КР1533ЛН1, КР1533ЛИ1, КР1533ЛИ3, КР1533ЛИ6, КР1533ЛЛ1. 5. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис. 2.42) и выполняем анализ ее работы в статическом режиме для одной комбинации входных сигналов (см. красную строку в табл. 2.18). 6. Составляем перечень элементов к этой схеме (табл. 2.19). 7. Определяем аппаратурные затраты и задержку: W = 3/6 +1/4 +1/3 +1/2 +2/4 = 0,5 +0,25 +0,33 +0,5 + +0,5 = 2,08 корпуса; T = 4τ . 8. Переходим к базису И-НЕ : Y4 = [X1·X2 X2·X3′·X4 X1′·X2′·X3·X4]′′ = = [(X1·X2)′· (X2·X3′·X4)′· (X1′·X2′·X3·X4)′]′ = = [(X1 / X2) / (X2 / X3′ / X4) / (X1′ / X2′ / X3 / X4)] . 9. Подсчитываем требуемое количество элементов: 4 элемента 2И-НЕ (из них 3 элемента – для отрицания Х1 , Х2 и Х3 ) +2 элемента 3И-НЕ +1 элемент 4И-НЕ . 10. Подбираем микросхемы: по одной микросхеме КР1533ЛА3, КР1533ЛА4 и КР1533ЛА1. 11. Строим схему ЦУ в базисе И-НЕ (рис. 2.43) и выполняем анализ ее работы в статическом режиме для одной комбинации входных сигналов та (см. красную строку в табл. 2.18). 12. Составляем перечень элементов к этой схеме (табл. 2.20). 14. Записываем СКНФ: Y4 = (X1 X2 X3 X4) · (X1 X2 X3 X4′) · · (X1 X2 X3′ X4) · (X1 X2′ X3 X4) · · (X1 X2′ X3′ X4) · (X1 X2′ X3′ X4′) · · (X1′ X2 X3 X4) · (X1′ X2 X3 X4′) · · (X1′ X2 X3′ X4) · (X1′ X2 X3′ X4′). 15. Минимизируем СКНФ методом Вейча (рис. 2.44). 16. Подсчитываем требуемое количество элементов: 3 элемента НЕ +5 элементов 2ИЛИ +1 элемент 4И . 17. Подбираем микросхемы: одна микросхема КР1533ЛН1, две микросхемы КР1533ЛЛ1 и одна микросхема КР1533ЛИ6. 18. Строим схему ЦУ в базисе И, ИЛИ, НЕ (рис. 2.45) и выполняем анализ ее работы в статическом режиме для одной комбинации входных сигналов (см. красную строку в табл. 2.18). 19. Составляем перечень элементов к этой схеме (табл. 2.21). 21. Переходим к базису ИЛИ-НЕ : Y4 = [(X1′ X2) · (X1 X4) · (X2 X3) · (X1 X2′ X3′)]′′ = = [(X1′ X2)′ (X1 X4)′ (X2 X3)′ (X1 X2′ X3′)′]′ = = (X1′ ↓ X2) ↓ (X1 ↓ X4) ↓ (X2 ↓ X3) ↓ (X1 ↓ X2′ ↓ X3′). 22. Подсчитываем требуемое количество элементов: 5 элементов 2ИЛИ-НЕ (из них 3 элемента – для отрицания Х1 , Х2 и Х3 ) +1 элемент 3ИЛИ-НЕ +1 элемент 4ИЛИ-НЕ . 23. Подбираем микросхемы. Здесь предварительно следует обратить внимание на один очень важный момент. Мы только что определили, что в данном случае для построения схемы потребуется элемент 4ИЛИ-НЕ . Но в серии КР1533 нет микросхем, содержащих такие элементы. Как быть? В этом случае берут элементы с большим количеством входов. Но ведь при этом один или несколько входов элемента оказываются лишними, как поступать с ними? С этого момента следует запомнить: неиспользуемые входы логических элементов и вообще любых ЦУ ни в коем случае нельзя оставлять свободными, их обязательно нужно куда-либо присоединять (за редчайшим исключением). Куда – это зависит от функции данного входа в конкретном элементе или ЦУ. Теоретически у элементов И и И-НЕ лишние входы лучше всего подключать к источнику сигнала логической 1 (см. тему 2.9), у элементов ИЛИ и ИЛИ-НЕ – к источнику сигнала логического 0 (см. тему 2.9). Но практически лишние входы любого логического элемента обычно подключаются к любым другим используемым входам этого же элемента. Именно поэтому в нашей схеме вместо элемента 4ИЛИ-НЕ приходится использовать элемент 5ИЛИ-НЕ из микросхемы КР531ЛЕ7 той же структуры ТТЛШ, которую имеют микросхемы серии КР1533 (в схеме – D4.1 ), у которого лишний вход подключен к соседнему. Кроме этого, нам потребуются две микросхемы КР1533ЛЕ1 и одна микросхема КР1533ЛЕ4. 24. Строим схему ЦУ в базисе ИЛИ-НЕ (рис.2.46) и выполняем анализ ее работы в статическом режиме для одной комбинации входных сигналов (см. красную строку в табл. 2.18). 25. Составляем перечень элементов к этой схеме (табл. 2.22). 27. Оценим качество всех четырех схем: – исключаем схему в базисе ИЛИ-НЕ (рис.2.48), у которой наибольшие аппаратурные затраты W = 2,33 корпуса; – также исключаем самые медленные схемы по МДНФ (рис.2.44) и по МКНФ (рис.2.47), имеющие Т = 4τ; – оставшееся множество Парето содержит только один вариант: схема базиса И-НЕ (рис.2.45), для которого аппаратурные затраты составляют W = 2,17 корпуса при задержке Т = 3τ. 2.9. Оптимизация схем. Неиспользуемые логические элементы В построенных нами схемах (см. колонку «Примечания» в таблицах перечней элементов) некоторые элементы, входящие в состав применяемых микросхем, оказываются незадействованными. Но ведь все эти схемы представляют собой реализацию лишь одного цифрового устройства, узла или блока, которых на любой реальной плате обычно несколько. Соответственно при большом количестве микросхем и количество неиспользуемых элементов получается весьма значительным. Задача уменьшения аппаратурных затрат путем уменьшения количества незадействованных элементов решается оптимизацией схем: лишние элементы микросхем одного узла по возможности нужно использовать в других цифровых устройствах, узлах и блоках, расположенных на той же плате. Предположим, что в схеме одного блока остался неиспользуемым один элемент 3И-НЕиз микросхемы КР1533ЛА4. А в схеме другого узла требуется один элемент 2И-НЕ, который мы всегда брали из микросхемы КР1533ЛА3. Но не проще ли взять этот элемент (несмотря на то, что у него три входа, а не два) из микросхемы КР1533ЛА4 первого блока, который там все равно оказался лишним? Тогда ИМС КР1533ЛА3 во втором блоке вообще не потребуется! Так и поступают, но возникающую при этом проблему лишнего входа обязательно следует решить так, как указано в пункте 23 предыдущего параграфа. Несмотря на проведенную оптимизацию, все-таки может получиться так, что в одной или нескольких микросхемах часть элементов окажутся совсем лишними. Как уже было сказано в теме 2.8, входы этих элементов ни в коем случае нельзя оставлять свободными, их обязательно следует куда-либо подключить. Если элемент в работе схемы участвовать не будет, то его входы нужно подключить так, чтобы потребляемая им мощность была минимальной. Для достижения этой цели следует обеспечить элементу статический режим работы, то есть подключить его входы либо к источнику постоянного сигнала логического 0, либо к источнику постоянного сигнала логической 1. А вот куда конкретно – это зависит от типа самого элемента и структуры соответствующей микросхемы: – ИМС структуры МОП. Как уже было сказано в теме 1.6, разницу между PL и PH элементов таких микросхем в статическом режиме практически можно не учитывать, поэтому здесь не имеет особого значения, какой постоянный уровень сигнала – 0 или 1 – поддерживается на выходе любого неиспользуемого элемента. Отсюда следует, что и входы этих элементов можно подключать как к источнику постоянного сигнала логического 0 (что практически проще), так и к источнику постоянного сигнала логической 1. – ИМС структур ТТЛ и ТТЛШ. В теме 1.6 также сказано, что разница между PL и PH элементов таких микросхем в статическом режиме достаточно значительная, причем величина PH существенно меньше. Поэтому здесь для обеспечения минимума потребляемой лишними элементами мощности следует обеспечить на их выходах наличие постоянного высокого уровня логической 1. А вот какие постоянные сигналы при этом нужно подавать на входы – зависит от вида элементов и указано на рис. 2.47: С настоящего момента мы будем применять широко используемое в технической (в том числе и справочной) литературе обозначение: «х» – безразлично, какой сигнал подавать на указанный вход в данный момент времени. Действительно, для элемента ИЛИ логическое сложение 1 с любым другим сигналом (0 или 1) все равно дает 1; для элемента И-НЕ логическое умножение 0 на любой сигнал дает 0, а последующее отрицание – единицу. Теперь переходим к вопросу, что будет являться источниками постоянных сигналов логического 0 и логической 1: 1. Источником постоянного сигнала логического 0 является общий провод (корпус прибора), что указано на рис.2.46 под заголовком «Подключение неиспользуемых элементов». 2. Источником постоянного сигнала логической 1 может быть: – Источник питания данной микросхемы. В некоторых сериях (например, в серии КР1533) его можно подключать напрямую (что указано на рис.2.47 под заголовком «Подключение неиспользуемых элементов»), в других (например, в серии К555) – через делитель напряжения (резистор определенного номинала). – Другие неиспользуемые элементы, на выходе которых удерживается постоянный высокий уровень логической 1. Проще всего, если это будут элементы НЕ, И-НЕ или ИЛИ-НЕ, входы которых присоединены к общему проводу, как на рис.2.47а, 2.47d (1) и 2.47е. 2.10. Понятие о гонках сигналов Сразу же обратим внимание, что здесь сигнал Х1 разветвляется: один сразу же поступает на верхний вход элемента b, второй проходит через элемент а и уже с задержкой поступает на нижний вход того же элемента b. С помощью временной диаграммы (рис. 2.49а) выполним анализ работы данной схемы в динамическом режиме без учета задержек элементов (то есть в идеальном случае) при заданных изменениях сигналов на входах Х1 и Х2. Отметим, что в процессе работы схемы на выходе Y постоянно поддерживается уровень логической 1. Теперь построим такую же диаграмму, но с учетом задержек элементов tP (рис. 2.49b). В момент t1 уровень сигнала на входе Х1 повышается с 0 до 1 и поступает на входы элементов а и b. На обоих входах элемента оказываются сигналы 1 (одна – со входа Х1, другая – со входа Х2), следовательно, на выходе этого элемента должен сформироваться 0. Но он устанавливается лишь в момент t2 с задержкой tP. В этот же момент t1 на обоих входах элемента b тоже оказываются сигналы 1 (одна – со входа Х1; другая – с выхода элемента а, где до момента t2 сохраняется 1), поэтому на выходе этого элемента тоже должен сформироваться 0. Но он опять же устанавливается только в момент t2с задержкой tP. В момент t2 на одном входе элемента b продолжает действовать сигнал 1 со входа Х1, а на второй вход теперь уже поступает сигнал 0 с выхода элемента a. Следовательно, на выходе Y элемента b должен сформироваться сигнал 1, но он устанавливается лишь в момент t3 с задержкой tР. Теперь сравним диаграммы рис. 2.49a и 2.49b. Как мы уже отмечали, в идеальном случае на выходе Yэлемента b в процессе работы поддерживается постоянный уровень логической 1. Если же учесть задержку элементов, то на выходе Y элемента b (см. рис. 2.49b) в интервале t2 – t3 получается небольшой длительности (порядка величины задержки одного элемента) отрицательный выброс напряжения – помеха. Появление помехи и объясняется тем, что сигнал со входа Х1 разветвляется: один проходит на вход элемента b напрямую, второй – на другой вход этого же элемента b, но через элемент а и уже с задержкой. Наиболее распространенным и эффективным способом борьбы с помехами, которые вызываются гонками сигналов, является синхронизация (тактирование). Суть данного метода заключается в следующем: элементы или устройства снабжаются синхронизирующими (разрешающими) входами; и срабатывание элементов будет происходить только в тот момент времени, когда на эти входы придет разрешающий синхросигнал. Интервалы между синхросигналами подбираются таким образом, чтобы заведомо отсечь все возможные помехи, которые могут появиться из-за гонок сигналов. Например, если в схеме рис. 2.50 элемент b снабдить синхронизирующим входом и подать на него разрешающий сигнал только после момента t2, то помеха уже не появится! В этом легко может убедиться каждый, построив для данного случая временную диаграмму. Раздел 3. Комбинационные цифровые устройства Как уже было сказано в теме 1.1, комбинационные ЦУ – это устройства, не обладающие памятью. Здесь значения сигналов на выходах (выходное кодовое слово) определяются только совокупностью сигналов на входах (входным кодовым словом) в данный момент времени. 3.1. Системы счисления. Коды В цифровой технике применяются 3 основные позиционные системы счисления: – Десятичная, где при записи чисел используются 10 всем нам прекрасно знакомых «арабских» цифр 0, 1, 2, …, 9. Данная система счисления наиболее широко распространена в повседневной жизни. – Двоичная, в которой для записи любых чисел используются лишь две цифры: 0 и 1. Ее наиболее удобно применять в цифровой технике, где имеются соответствующие этим цифрам сигналы логического 0 и логической 1. Например, десятичному числу 59,28 соответствует двоичное число 111011,01. – Шестнадцатиричная, где для записи чисел применяются 16 цифр: 0, 1, 2, …, 9, A, B, C, D, E, F. Здесь первые 10 цифр взяты из десятичной системы счисления, остальные 6 цифр выражаются буквами английского алфавита. Данная система счисления довольно широко используется при программировании микропроцессорных систем управления. Например, десятичному числу 59,25 соответствует шестнадцатиричное число 3В,4. Обратим наше особое внимание на наиболее распространенные в цифровой технике двоичные и десятичные числа. Двоичные числа или числа в двоичном коде могут быть разной разрядности: 1. Существует лишь два 1-разрядных двоичных кода 0 и 1, соответствующие таким же десятичным числам 0 и 1. 2. 2-хразрядных двоичных кодов уже четыре для цифр от 0 до 3 (табл.3.1). 3. Десятичным числам от 0 до 7 соответствуют восемь 3-разрядных двоичных кодов (табл.3.2). 4. Шестнадцатью 4-хразрядными кодами представляются десятичные числа от 0 до 15 (табл.3.3). Конечно, можно данный перечень продолжить дальше до бесконечности для 5-, 6– и т. д. разрядных двоичных кодов, но именно на коды перечисленной выше разрядности следует обратить особое внимание, так как они имеют определяющее значение при изучении работы различных цифровых устройств. Как уже было сказано ранее, в цифровой технике числа удобнее всего представлять двоичным кодом, а мы все в повседневной жизни привыкли иметь дело с числами в десятичной системе счисления. Поэтому при проектировании и эксплуатации цифровой аппаратуры возникает необходимость преобразования чисел из десятичной системы счисления в двоичную и наоборот. Здесь мы сразу сталкиваемся с первым неприятным моментом: в подавляющем большинстве случаев такой перевод производится не с абсолютной точностью, а лишь приблизительно. Рассмотрим принцип преобразования для обоих случаев: А. Из десятичной системы счисления в двоичную. Для перевода целой части числа ее нужно последовательно делить на 2 с записью остатков деления справа налево. Для перевода дробной части числа ее нужно последовательно умножать на 2 с записью получаемых целых частей сверху вниз. Количество операций умножения определяется задаваемой заранее точностью перевода. Пример 1. Десятичное число 275,68 перевести в двоичную систему счисления с точностью до пятого знака после запятой. Перевод целой части показан на рис.3.1а, дробной части – на рис.3.1b. Ответ: 275,68 (10) ≈ 100010011,10101 (2). В. Из двоичной системы счисления в десятичную. Такой перевод производится по формуле: N = ΣAn· 2 n, где: n – номер разряда, причем нумерация разрядов производится следующим образом: слева от запятой, разделяющей целую и дробную части числа: 0,1,2,3 и т.д., справа: -1, -2, -3 и т. д. An – цифра n-го разряда. Величина 2n для каждого разряда двоичного кода называется весовым коэффициентом данного разряда. Для нулевого разряда двоичного кода значение весового коэффициента составляет 20 = 1, для 1-го разряда – 21 = 2, для 2-го – 22 = 4, для 3-го – 23 = 8 и т. д. Пример 2. Двоичный код 10110101,011 перевести в десятичную систему счисления. Ответ: 10110101,011 (2) = 1×2 7 + 0×2 6 + 1×2 5 + 1×2 4 + 0×2 3 + 1×2 2 + 0×2 1 + 1×20 + 0×2 —1 + 1×2 —2 + 1×2 —3 = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 + 0 + 1/2 2 + 1/2 3 = 181 + 1/4 + 1/8 = 181 + 0,375 = 181, 375 (10). Как видно из приведенных примеров, при переводе чисел из десятичной системы счисления в двоичную и наоборот (особенно если числа большие!) используется значительное количество разных и достаточно сложных действий, из-за чего реализация таких переводов аппаратными средствами становится нерациональной. Поэтому для представления десятичных чисел в цифровой технике используется две разновидности кодов: – Только что рассмотренный нами двоичный код (см. табл.3.1—3.3) соответствующей разрядности (здесь еще раз обратите внимание на пункты 1—4 настоящего параграфа!). Он практически применяется в тех случаях, когда числа небольшие (обычно в пределах 15). – Какой-либо двоично-десятичный код (см. табл.3.4), если числа большие (больше 15). В этом случае десятичные числа не переводятся в двоичный код, а оставляются в десятичной, но при этом каждая десятичная цифра заменяется определенной комбинацией нулей и единиц. В цифровой технике используется достаточно большое количество разных двоично-десятичных кодов. Некоторые, самые простые из них приведены в табл. 3.4. Области применения этих кодов диктуются требованиями, предъявляемыми к работе конкретной аппаратуры, и особенностями самих кодов. Например: а) В пятиразрядном коде «2 из 5» (см. табл. 3.4) любая комбинация содержит всегда две единицы (поэтому и код называется «2 из 5»), что очень удобно для обнаружения ошибочных комбинаций. b) В коде «с избытком 3» (см. табл. 3.4) кодовая комбинация любой цифры образуется путем прибавления 3 (потому и код называется «с избытком 3») к двоичному коду данной цифры. Особенностью этого кода является то, что комбинация, соответствующая любой десятичной цифре, представляет собой инверсию кодовой комбинации, равной ее дополнению до 9. Например, у цифры 2 дополнением до 9 будет цифра 7 (9 – 2 = 7). В коде «с избытком 3» цифре 2 соответствует кодовая комбинация 0101 (см. табл. 3.4). Если ее проинвертировать (здесь инвертируется каждая цифра), то получим 1010, что соответствует в рассматриваемом коде (см. табл. 3.4) цифре 7. Это свойство упрощает выполнение в цифровых устройствах выполнение операций над десятичными числами. с) В коде Джонсона (его еще иначе называют кодом Либау-Крейга) разряды сначала последовательно заполняются единицами, а затем также последовательно – нулями. Обратим внимание, что здесь любая кодовая комбинация отличается от соседней только в одном разряде; такое свойство кода получается очень удобным для построения распределителей (см. тему 4.17). Еще необходимо знать, что код Джонсона может быть не только 5-рязрядным (в этом случае он является двоично-десятичным), но и четырех-, трех-, шести- и вообще с любым количеством разрядов; но принцип его организации все равно сохраняется. Аналогично можно рассмотреть особенности организации и области применения и других двоично-десятичных кодов. Наибольшее распространение в цифровой технике получил код «8421» (названия этого и некоторых других кодов образованы весовыми коэффициентами разрядов), так как для первых десяти десятичных чисел от 0 до 9 (см. табл. 3.4) его значения полностью совпадают с двоичными кодами этих чисел (см. табл. 3.1). Соответственно и весовые коэффициенты первых четырех разрядов двоичного кода (1, 2, 4 и 8) будут справедливы и для двоично-десятичного кода «8421», почему его так и назвали. При использовании указанного кода обычно используют термин «двоично-десятичный код» без указания названия. Пример 3. Перевести десятичное число 275,68 в двоично-десятичный код «8421». В н и м а н и е! Еще раз напоминаем: полученное кодовое слово – это не двоичный код (сравните с результатом примера 1) числа 275,68! Это представление указанного числа в двоично-десятичном коде(напомним: если не указано название, то имеется в виду код «8421»). Для представления информации, содержащей, кроме цифр, буквы русского, английского алфавитов и некоторые другие весьма распространенные символы, применяются другие коды различной длины и структуры. Изучение принципа их получения с помощью аппаратуры выходит за рамки данного предмета, но сущность организации можно проиллюстрировать. При выборе размера и структуры кода нужно учитывать количество требующих кодирования букв и других символов. Наибольшее распространение получило представление буквенно-цифровой и символьной информации 8-разрядными кодами, с помощью которых можно закодировать 28 = 256 различных знаков. Для примера рассмотрим КОИ (код обмена информацией), принцип организации которого приведен в табл. 3.5. Пользуясь этой таблицей, мы можем определить код КОИ любого знака. Например, английская буква J будет представлена кодом 01001010, причем сначала идет зональная группа 0100 (сверху вниз), а затем цифровая 1010 (слева направо). Элементы схем, диаграмм и других рисунков, звуки, изображение, иная информация также могут быть представлены кодовыми словами, изучение принципа организации которых выходит за рамки данного предмета. Как известно (см. тему 1.1), любая совокупность сигналов логического 0 и логической 1, несущая какую-либо информацию, называется кодовым словом (кодом). При изучении разделов 2 и 3 под кодовыми словами мы будем подразумевать только числа, закодированные: – двоичным кодом требуемой разрядности; – нужным двоично-десятичным кодом. 3.2. Понятия активного и пассивного сигналов. Способы статического управления Активным называется сигнал, который при подаче его на вход ЦУ способен изменить состояние этого устройства, то есть изменить значения сигналов на выходах. Подача же на вход ЦУ пассивногосигнала не может изменить состояние устройства. Если на входы ЦУ поступают цифровые сигналы в виде уровней напряжения, то такие входы называются статическими. Они могут быть двух видов: 3.3. Шифраторы. Общие сведения, микросхемы шифраторов Шифратор или кодер (coder или encoder) – это ЦУ, выполняющее двоичное кодирование числовой информации, то есть преобразование десятичных чисел в кодовые слова. Любой шифратор имеет входы для нужных десятичных чисел и выходы для соответствующего кодового слова. Практически шифраторы либо встраиваются в микросхемы многофункциональных ЦУ, либо выпускаются в виде отдельных микросхем. Микросхемы многих ЦУ в третьей группе маркировки имеют первую букву И, а вторая буква показывает, какое конкретно устройство содержит данная ИМС. Для микросхем шифраторов принято обозначение ИВ. В изображении шифраторов (см. рис. 3.3) ставят буквы CD от английского названия (coder) этих устройств. В виде микросхем выпускаются шифраторы преимущественно двух видов: 2. Шифраторы 8х3, выполняющие преобразование первых восьми десятичных чисел от 0 до 7 в трехразрядный двоичный код (см. пункт 3 в теме 3.1). Используются они преимущественно для сокращении количества сигналов: информация о восьми входных сигналах сворачивается в три выходных сигнала. Это имеет большое значение при передаче сигналов на большие расстояния. Для примера рассмотрим микросхему К555ИВ1 (рис. 3.4), аналогом которой является микросхема SN74LS148N фирмы «Texas Instruments». Она имеет восемь входов для цифр 0…7 и три выхода А0, А1, А2 для трехразрядного двоичного кода. Важныепримечания: Нумерация выводов любых ЦУ всегда производится сверху вниз (в таблицах истинности справа налево) по номерам разрядов: 0, 1, 2, 3 и т.д., как в микросхеме К555ИВ1. Существуют два общепринятых для российских ИМС исключения: если устройство работает с двоичным кодом (весовые коэффициенты разрядов: 1, 2, 4, 8 и т.д.) или с наиболее распространенным двоично-десятичным кодом «8421» (весовые коэффициенты разрядов: 1, 2, 4 и 8), то соответствующие выводы могут нумероваться и по весовым коэффициентам этих разрядов. Но так как указанные коды имеют одинаковые весовые коэффициенты разрядов, то это часто приводит к путанице: с каким же кодом работает рассматриваемое устройство – с двоичным четырехразрядным или двоично-десятичным «8421»? Правильный ответ на данный вопрос можно получить, либо воспользовавшись справочной литературой, либо по другим ниже рассматриваемым признакам изображения конкретных микросхем. В микросхемах производства стран дальнего зарубежья (в частности, в ИМС фирмы «Texas Instruments» и многих других) выводы для кодов обычно обозначаются буквами A, B, C, D и т. д. (как это сделано в микросхеме К555ИВ3), где А соответствует выводу 1 российского обозначения, В – 2, С – 4, D – 8 и так далее. В дальнейшем обозначения всех выводов микросхем даются в соответствии с обозначениями фирмы «Texas Instruments» (а также многими другими фирмами) и компьютерной программы «Electronics Workbench» для облегчения учащимся выполнения лабораторных работ Микросхема К555ИВ1, как и подавляющее большинство других ИМС цифровых устройств, кроме основных выводов (в данном случае входов для десятичных цифр и выходов для кода) имеет разрешающий вход (см. окончание темы 2.10) EI (enable input). Шифратор будет срабатывать только в том случае, если на вход EI подать активный разрешающий сигнал. Если же на входе EI установить пассивный уровень сигнала, то и на всех выходах также будут устанавливаться пассивные сигналы. П р и м е ч а н и е: применение терминов «активный» и «пассивный» к выходным сигналам является чисто условным. И, наконец, микросхема имеет два дополнительных вывода, назначение которых выясним по справочной литературе: ЕО (enable output) – разрешение по выходу (выход переноса), позволяющий объединять несколько шифраторов для увеличения разрядности. Здесь формируется активный сигнал 0 только при наличии разрешения и пассивных сигналах на входах всех цифр. GS (group signal) – групповой сигнал (выход признака прихода любого входного сигнала). На этом выходе формируется активный сигнал 0 только при наличии разрешения и поступлении активного сигнала на любой вход (входы). Сразу же укажем «восточные» стандарты, которые нужно соблюдать при вычерчивании изображений любых цифровых устройств (рис.3.5). – Основное требование, которое было приведено для логических элементов (см. окончание темы 1.2), сохраняется и здесь: расстояние «а» между двумя соседними выводами любых элементов должно быть кратным 5 мм (реально – ровно 5 мм). – Расстояние между последним выводом и краем устройства (в отличие от логических элементов!) должно составлять 5 мм. С той стороны, где выводов меньше, оно может быть больше 5 мм, но кратным этой величине. – Расстояние между выводами разного функционального назначения, разделенными линией, должно быть 10 мм. Там, где выводов меньше, оно может составлять более 10 мм, но обязательно кратным 5 мм. – Ширина дополнительных полей для обозначений входов и выходов должна быть одинаковой, кратной 5 мм и определяется размером наибольшего по ширине обозначения вывода. – Ширина основного поля, где ставится обозначение устройства (в данном случае – CD), должно быть кратным 5 мм, минимум на 5 мм больше ширины дополнительных полей и определяется размером обозначения. Все микросхемы шифраторов выпускаются приоритетными. У них разрешается подавать активные сигналы одновременно на несколько входов, но приоритет (предпочтение, преимущество) в этом случае отдается сигналу, поступающему на вход большей цифры. Принцип работы шифраторов достаточно прост: если подать активный сигнал на вход какого-либо десятичного числа, то на выходах сформируется код, соответствующий данному числу. П р и м е ч а н и е: Код, соответствующий заданному числу, часто называют адресом этого числа, поэтому в микросхеме КР1533ИВ1 выходы для кода обозначены буквами А от английского address – адрес. Приведем пример (рис. 3.4) срабатывания указанной микросхемы. Предположим, что с помощью микросхемы К555ИВ1 требуется выполнить преобразование десятичного числа 3. Для этого подадим активный сигнал 0 на вход данного числа (здесь активным сигналом является 0, так как входы всех десятичных чисел инверсные статические). На входах больших чисел (4, 5, 6 и 7) должен быть установлен пассивный уровень логической 1. А на входы меньших чисел (0, 1 и 2) можно подавать любые сигналы (напомним, см. тему 2.9: если безразлично, какой сигнал подавать на вход, то используется знак «х»), так как шифратор приоритетный: даже при наличии на этих входах активных сигналов логического 0 предпочтение отдается большему числу 3. Для срабатывания микросхемы на вход EI подается активный разрешающий сигнал 0 (здесь активным сигналом также является 0, так как указанный вход инверсный статический). Десятичному числу 3 соответствует 3-хразрядный двоичный код 011, но в силу того, что выходы для кода инверсные, то здесь формируются сигналы 100 (цифровая информация на выводах любых микросхем всегда читается снизу вверх!). На выходе ЕО формируется пассивный сигнал логической 1, так как при наличии разрешения по крайней мере на одном входе (входе числа 3) действует активный сигнал 0. На выходе GS формируется активный сигнал логического 0, потому что опять же при наличии в данном случае разрешения есть активный сигнал 0 хотя бы на одном входе (входе числа 3). П р и м е ч а н и е: такую же структуру имеет микросхема К555ИВ2 (аналог – микросхема SN74LS348N фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями выходов. Переход в третье, Z-состояние происходит при отсутствии разрешения на входе EI или при наличии разрешения и пассивных сигналах на входах всех десятичных цифр. Как уже было сказано еще в теме 1.2, работу большинства элементов или устройств цифровой техники принято описывать таблицами истинности, как это и делается в справочной литературе. Для примера приведем таблицу истинности микросхемы К555ИВ1 (табл. 3.6): В дальнейшем для лучшего восприятия учащимися мы будем по возможности давать описание работы микросхем ЦУ словами, но самим учащимся настоятельно рекомендуется по приведенному примеру досконально разобраться в принципе составления таблиц истинности, чтобы на практике можно было свободно пользоваться справочной литературой. Если требуются шифраторы, не выпускаемые в виде готовых микросхем, то они обычно встраиваются в микросхемы многофункциональных ЦУ. 3.4. Структура шифраторов Для выяснения структуры шифраторов рассмотрим в качестве примера построение шифратора, выполняющего преобразование десятичных чисел в двоично-десятичный код «8421». Для некоторого упрощения и ускорения работы не будем ставить задачу обеспечения приоритета. Выбор кода в данном случае обусловлен двумя причинами: – заодно выяснить структуру соответствующей микросхемы К555ИВ3 (аналог – микросхема SN74LS147N фирмы «Texas Instruments), изображение которой приведено на рис. 3.3); – понять, почему в указанной микросхеме нет входа для цифры 0. 1. Определяем количество и назначение входов и выходов: Такой шифратор (как уже было сказано выше в пункте 1 из темы 3.3) будет иметь десять входов для всех десятичных цифр 0…9 и 4 выхода для четырехразрядного кода «8421». 2. Строим таблицу истинности шифратора (табл. 3.7). В этой таблице укажем значения кода «8421»для каждой десятичной цифры, пользуясь таблицей 3.4. Обозначение выходов для кода делаем такое же, как и в микросхеме КР1533ИВ3. 3. Для каждого выхода шифратора записываем СДНФ: A = X1 \/ X3 \/ X5 \/ X7 \/ X9. B = X2 \/ X3 \/ X6 \/ X7. C = X4 \/ X5 \/ X6 \/ X7. D = X8 \/ X9. При записи подобных логических выражений можно подойти с другой стороны, например: сигнал 1 на выходе А формируется, если подается активный сигнал (см. табл.3.7) на вход цифры 1, ИЛИ на вход цифры 3, ИЛИ на вход цифры 5, ИЛИ на вход цифры 7, ИЛИ на вход цифры 9. 4. Переходим к базису И-НЕ и определяем требуемое количество логических элементов: A = (X1 \/ X3 \/ X5 \/ X7 \/ X9)′′ = (X1′·X3′·X5′·X7′·X9′)′ = = X1′ / X3′ / X5′ / X7′ / X9′. 1 элемент 5И-НЕ. Так как остальные логические выражения имеют аналогичную структуру, то процесс перехода к базису И-НЕ для них будет выглядеть точно так же. Поэтому сразу записываем полученные результаты: B = X2′ / X3′ / X6′ / X7′. 1 элемент 4И-НЕ. C = X4′ / X5′ / X6′ / X7′. 1 элемент 4И-НЕ. D = X8′ / X9′. 1 элемент 2И-НЕ. Всего для построения схемы шифратора требуются: 1 элемент 5И-НЕ, 2 элемента 4И-НЕ и 1 элемент 2И-НЕ. Обратим внимание, что в логических выражениях все входные сигналы Х1, Х2, Х3 и т. д. требуется инвертировать. Тем не менее, мы не поставим в схему логические элементы для выполнения этой операции: будем просто считать, что все входы шифратора – инверсные (как в микросхеме К555ИВ3 (см. рис. 3.3). 5. Подбираем микросхемы: по одной микросхеме КР1533ЛА2 (нет микросхем, содержащих элементы 5И-НЕ, поэтому вынуждены взять микросхему с элементом 8И-НЕ – см. пункт 23 из темы 2.8), КР1533ЛА1 и КР1533ЛА3. П р и м е ч а н и е: выбор реальных микросхем показан для закрепления навыков, полученных при изучении Раздела 2, а также для выполнения предварительного практического задания перед соответствующей лабораторной работой по данной теме. 6. Строим схему шифратора в базисе И-НЕ (рис. 3.6). П р и м е ч а н и я к схеме: – Мы получили шифратор с инверсными входами (см. пункт 4 настоящего параграфа), для которых активным сигналом является 0; и прямыми выходами, где будет формироваться код «8421» в прямом виде. Предлагается учащимся подумать самостоятельно, какие минимальные изменения следует внести в эту схему, чтобы шифратор имел инверсные выходы, как в микросхеме К555ИВ3 (см. рис 3.3.). – Схема дает ответ на вопрос, почему в соответствующей микросхеме К555ИВ3 (см. рис 3.3.) отсутствует вход для цифры 0: этот вход (на рис. 3.5 выделен синим цветом) реально никуда не присоединяется, поэтому и чертить его не нужно. 7. Составляем перечень элементов к данной схеме (табл. 3.8). 8. Выполним анализ работы шифратора (рис. 3.6) в статическом режиме для преобразования какой-либо одной десятичной цифры. П р и м е ч а н и е: При анализе работы следует сразу учесть, что построенный нами шифратор не является приоритетным, то есть здесь можно подавать активный сигнал на вход лишь одной десятичной цифры. Для организации приоритета необходимо в схеме предусмотреть блокировку активных сигналов на входах меньших десятичных цифр (см. тему 3.5). Предположим, что шифратор должен закодировать (преобразовать в код) цифру 5. Для этого подадим активный сигнал 0 (здесь активным сигналом является 0, так как все входы инверсные) на вход этой цифры 5. На входах всех остальных цифр (шифратор не приоритетный) установим пассивные уровни логической 1. По схеме (рис. 3.6) определяем, что на выходах формируется код 0101 (напомним: кодовые слова на выводах следует читать снизу вверх). Сравниваем полученный результат с таблицей истинности (см. табл. 3.7) и делаем вывод: преобразование цифры 5 шифратор выполнил правильно. Для напоминания: полный анализ работы требует проверки всех вариантов, то есть в данном случае проверки правильности кодирования всех цифр. Это можно легко выполнить с помощью компьютерной программы исследования устройств электроники и микроэлектроники, например, Electronics Workbench, что мы и будем делать на лабораторных работах. Построенная нами схема (рис. 3.6) является черновой. В окончательном варианте нужно: – Убрать вспомогательные линии, которые никуда не присоединяются: мы их чертили для наглядности построения и облегчения соблюдения минимально необходимых расстояний между линиями. – Убрать сигналы, которые мы проставили при выполнении анализа работы. Они будут мешать при указании номеров выводов корпусов ИМС. – Как уже было сказано в теме 2.3, проставить нумерацию выводов корпусов микросхем. – По возможности добиться наименьшего количества пересечений линий внутренних соединений проводов для удобства чтения схемы. – Развернуть входы влево, где им и положено находиться. Мы на рис. 3.6 расположили входы сверху лишь для удобства построения. – Кроме этого, обратим внимание, что оба элемента микросхемы КР1533ЛА1 (в схеме рис. 3.6 они выделены штриховой линией) расположены столбиком непосредственно один под другим, поэтому в данном случае вместо раздельного изображения элементов микросхему КР1533ЛА1 можно начертить полностью (так, как она изображается в справочниках – см. рис. 1.13). Это уменьшит размеры схемы и позволит вместо двух обозначений отдельных элементов с двойной нумерацией (D2.1 и D2.2) обойтись одним обозначением (D2) целиком всей микросхемы. С учетом всего вышесказанного схема шифратора примет вид, изображенный на рис. 3.7. В дальнейшем для обеспечения наглядности построения и анализа работы схем цифровых устройств, а также для облегчения соблюдения стандартов мы: – будем сохранять вспомогательные линии; – не будем указывать нумерацию выводов корпусов ИМС; – там, где это возможно и удобно, если при этом не появляются лишние изгибы и пересечения линий связи между элементами и не усложняется чтение чертежа, будем вместо отдельных элементов чертить микросхемы полностью; – при анализе работы в статическом режиме будем указывать значения сигналов на выводах схемы и отдельных элементов. 3.5. Принцип организации разрешенияи приоритета в шифраторах 1. Разрешающие входы в шифраторах проще всего организуются следующим образом. На выходы схемы ставят «ключи» в виде элементов 2И (рис. 3.8). Если теперь на входе EI установить пассивный уровень логической 1, то с выхода элемента НЕ этой цепочки на входы всех элементов 2Ипоступит сигнал 0, который обусловит наличие пассивного уровня логического 0 на всех выходах независимо от кодируемой цифры, то есть на выходах не будет формироваться код нужной цифры (на рис. 3.8 – цифры 5). Нормальное же функционирование шифратора будет обеспечено только при наличии на входе EI активного разрешающего сигнала 0. П р и м е ч а н и е: здесь мы не стали подбирать реальные микросхемы логических элементов, так как имели целью показать только принцип организации разрешающего входа. Аналогичный принцип блокирования выходных сигналов лежит в основе организации разрешающих входов и некоторых других ЦУ. 2. Рассмотрим один из возможных вариантов организации приоритета в шифраторах. Ко входам шифратора (рис. 3.7) подключим схему (рис. 3.9), где для упрощения не подобраны реальные микросхемы и указаны только четыре входа: для цифр 6, 7, 8 и 9. Проиллюстрируем работу данной схемы на примере (сигналы указаны на рис. 3.9). Подадим активные сигналы 0 одновременно на несколько входов: на входы цифр 6, 7 и 8. Со входа самой старшей цифры 8 активный сигнал 0 будет поступать на входы элементов И-НЕ всех меньших цифр (в схеме – цифр 6 и 7), что обеспечит на выходах этих элементов пассивный уровень логической 1 несмотря на наличие активного сигнала 0 на входах данных цифр. В результате активный сигнал 0 формируется только в цепи большей цифры 8 и поступает на соответствующий вход цифры 8 собственно шифратора (рис. 3.7). По аналогичному принципу блокирования активных сигналов со входов меньших цифр организуется приоритет в любых других шифраторах. Продолжив схему рис. 3.9 вверх, несложно ее достроить для входов всех десятичных цифр. 3.6. Дешифраторы. Общие сведения, микросхемы дешифраторов Дешифратор или декодер (decoder) – это ЦУ, выполняющее функцию, обратную функции шифратора: преобразование кодовых слов в десятичные числа. Любой дешифратор имеет входы для нужных десятичных чисел и выходы для соответствующего кодового слова. В большинстве случаев дешифраторы используются для управления работой других цифровых устройств или узлов цифровой аппаратуры. Практически они либо встраиваются в микросхемы многофункциональных ЦУ, либо выпускаются в виде отдельных микросхем. Дешифраторы являются одним из наиболее распространенных ЦУ в цифровой микроэлектронике. Забегая несколько вперед, следует заметить, что многие (не все!) дешифраторы используются еще и в качестве демультиплексоров (см. тему 3.12), поэтому в справочной и иной технической литературе их чаще всего называют дешифраторы-демультиплексоры. В маркировке микросхем дешифраторов стоят буквы ИД. Изображение дешифраторов (см. рис. 3.10) содержит буквы DC от английского названия (decoder) этих устройств. В виде самостоятельных микросхем преимущественно выпускаются четыре основные разновидности дешифраторов: 2. Дешифраторы 4х16, выполняющие преобразование 4-хразрядного двоичного кода в десятичные числа от 0 до 15 (пример – микросхема КР1533ИД3, изображенная на рис. 3.11, аналогом которой является микросхема SN74LS154 фирмы «Texas Instruments»). Они имеют 4 входа ABCD для 4-х разрядного двоичного кода, два разрешающих входа G1, G2 и 16 выходов для чисел 0…15 (см. пункт 4 и табл. 3.1 из темы 3.1). Здесь следует обратить внимание на обозначение входов: ABCD, как и в микросхеме К555ИД6. Но микросхема К555ИД6 работает с двоично-десятичным кодом «8421», а микросхема КР1533ИД3 – с четырехразрядным двоичным кодом! Можно ли по изображению микросхемы, не заглядывая в справочный материал, определить, какой именно код преобразует данная ИМС? Конечно можно, причем сделать это достаточно просто. Если микросхема К555ИД6 работает с двоично-десятичным кодом, то у нее должно быть десять выходов для десятичных цифр 0…9. Если же микросхема КР1533ИД3 работает с двоичным четырехразрядным кодом, то у нее должно быть 2n = 2 4 = 16 выходов для чисел 0…15! Принцип работы любого дешифратора довольно прост: формируется активный сигнал на выходе того числа, код которого подается на входы. Приведем пример работы микросхемы дешифратора КР1533ИД3 (рис. 3.11), выполняющего преобразование двоичного кода 1100 в соответствующее десятичное число. Для этого подадим указанный код на входы DВСА в прямом виде (данные входы прямые статические) и активные разрешающие сигналы 0 на входы G (здесь активными сигналами будут 0, так как данные входы инверсные статические). Важное п р и м е ч а н и е: если микросхема имеет два или более разрешающих входа, то для ее срабатывания нужно подавать активные сигналы на все входы! Так как 1100 – это код числа 12 (см. табл.3.3), то формируется активный сигнал 0 на выходе (они инверсные статические) числа 12. На выходах всех остальных чисел устанавливаются пассивные уровни логической 1. 3. Дешифраторы 3х8 для преобразования 3-х разрядного двоичного кода в десятичные числа от 0 до 7. Пример – микросхема КР1533ИД7, изображенная на рис. 3.12, аналогом которой является микросхема SN74ALS138 фирмы «Texas Instruments». У нее есть 3 входа ABC для 3-х разрядного двоичного кода, 3 разрешающих входа G1, G2A, G2B и 8 выходов для чисел 0…7 (см. пункт 3 и табл. 3.2 из темы 3.1). 4. Дешифраторы 2х4, выполняющие преобразование 2-х разрядного двоичного кода в десятичные числа от 0 до 3. ИМС, содержащие подобные дешифраторы, могут быть двух видов: – Состоящие из двух отдельных дешифраторов 2х4. Например, КР1533ИД14 (аналог – микросхема SN74АLS139 фирмы «Texas Instruments»), изображение которой приведено на рис. 3.12. Каждый из них имеет входы АВ для двухразрядного двоичного кода, разрешающий вход G и выходы Y для десятичных цифр 0…3. – Представляющие собой сдвоенный дешифратор 2х4. В качестве примера можно привести микросхему КР1533ИД4, аналогом которой является микросхема SN74LS155 фирмы «Texas Instruments» (рис. 3.13). Здесь каждый дешифратор имеет отдельные разрешающие входы (1С и 1G у одного, 2Си 2G – у другого), отдельные выходы для цифр 0…3 (1Y0…1Y3 у верхнего, 2Y0…2Y3 – у нижнего) и общие входы АВ для двухразрядного двоичного кода. Приведем пример 1 работы этой микросхемы: требуется выполнить преобразование кода 01 в соответствующую десятичную цифру с помощью верхнего дешифратора, причем в это время нижний дешифратор работать не должен. Для этого подадим код 01 на входы ВА (см. рис. 3.13). Так как преобразование кода нужно выполнить с помощью верхнего дешифратора, то подадим активные разрешающие сигналы на входы 1С, 1G: на вход 1С – 0, потому что данный вход инверсный статический; на вход 1G – 1, ибо указанный вход прямой статический. Код 01 – это двухразрядный код цифры 1 (см. пункт 2 и табл. 3.1 из темы 3.1), следовательно, сформируется активный сигнал 0 (выходы инверсные статические) только на выходе 1Y1, который и является выходом цифры 1. На выходах остальных цифр 1Y0, 1Y2, 1Y3 установятся пассивные уровни сигналов логической 1. Нижний дешифратор по условию работать не должен, поэтому на любом одном (достаточно на одном: хотя бы на входе 2С, как на рис. 3.13) разрешающем входе следует установить пассивный сигнал 1 (здесь оба разрешающих входа инверсные статические, поэтому активным сигналом для них будет 0, а пассивным – 1). На другой разрешающий вход можно подавать любой сигнал (знак «х» на входе 2G), так как пассивная 1 на входе 2С уже не дает работать нижнему дешифратору. И если разрешения нет, то на всех выходах 2Y0…2Y3 этого дешифратора будут устанавливаться пассивные уровни логической 1 (выходы инверсные статические). Если в рассматриваемой микросхеме соединить входы 1G и 2G (см. рис. 3.14), то она будет функционировать как один дешифратор, выполняющий преобразование 3-разрядного двоичного кода в десятичные цифры 0…7 (напомним, что аналогично работает микросхема КР1533ИД7). Объединенный вход 1G, 2G вместе со входами АВ образуют три входа для трехразрядного двоичного кода. Входы 1Си 2С остаются разрешающими. Выходы 1Y0…1Y3 и 2Y0…2Y3 являются выходами цифр 0…7. Приведем пример 2 работы микросхемы КР1533ИД4 в указанном режиме для преобразования кода 110 в соответствующую десятичную цифру. Для этого подадим код 110 на объединенный вход 1G, 2Gи входы ВА (см. рис.3.14). Чтобы микросхема сработала, подадим активные разрешающие сигналы 0 на входы 1С и 2С (эти входы инверсные статические). Код 110 – это трехразрядный код цифры 6 (см. пункт 3 и табл. 3.1 из темы 3.1), поэтому формируется активный сигнал 0 на выходе 1Y2 (выходы инверсные статические), который и является выходом цифры 6. На всех остальных выходах устанавливаются пассивные уровни логической 1. Здесь возникает вопрос: почему выходом цифры 6 является 1Y2, если при счете сверху по идее выходом этой цифры должен быть 2Y2? Смысл заключается вот в чем: сигнал 1 (старшая цифра кода 110), поступая на объединенный вход 1G, 2G, проходит на вход 2G (он инверсный статический, поэтому сигнал 1 для него будет пассивным) и запрещает срабатывание нижней части дешифратора, поэтому здесь выхода цифры 6 нет. Одновременно этот же сигнал 1 проходит на вход 1G (он прямой статический, поэтому сигнал 1 для него является активным) и разрешает срабатывание верхней части, где и должен находиться выход цифры 6. Таким образом, получается, что для цифры 0 выходом будет 2Y0, для цифры 1 – 2Y1, 2 – 2Y2, 3 – 2Y3, затем 4 – 1Y0, 5 – 1Y1, 6 – 1Y2 и 7 – 1Y3. Если требуются дешифраторы, не выпускаемые в виде готовых микросхем, то они обычно встраиваются в микросхемы многофункциональных ЦУ. 3.7. Структура дешифраторов Для выяснения структуры дешифраторов рассмотрим в качестве примера построение дешифратора, выполняющего преобразование десятичных чисел в двоично-десятичный код «8421» выбор кода в данном случае обусловлен одной простой причиной: заодно выяснить структуру соответствующей микросхемы (с заданным кодом работает микросхема К555ИД6 – см. рис. 3.10.). 1. Определяем количество и назначение входов и выходов: Такой дешифратор (об этом уже было сказано выше в пункте 1 из темы 3.6) будет иметь 4 входа для четырехразрядного кода «8421» и десять выходов для всех десятичных цифр 0…9. 2. Составляем таблицу истинности дешифратора (табл. 3.9). В этой таблице укажем значения кода «8421» для каждой десятичной цифры, пользуясь таблицей 3.4. 3. Записываем логические выражения для выходов дешифратора в виде отдельных многочленов СДНФ: Y0 = D′·C′·B′·A′; Y1 = D′·C′·B′·A; Y2 = D′·C′·B·A′; Y3 = D′·C′·B·A; Y4 = D′·C·B′·A′; Y5 = D′·C·B′·A; Y6 = D′·C·B·A′; Y7 = D′·C·B·A; Y8 = D·C′·B′·A′; Y9 = D·C′·B′·A. 4. Переходим к базису И-НЕ и определяем требуемое количество элементов. Так как здесь каждое логическое выражение содержит только один многочлен, то применить закон де Моргана (см. тему 2.4) мы не можем, следовательно, переход к базису И-НЕ нужно проводить иначе, чем описано в теме 2.4. Приведем пока только один способ, наиболее удобный в данном конкретном случае. Инвертируем обе части каждого логического выражения: Y0′ = (D′·C′·B′·A′)′. В правой части мы сразу получаем операцию И-НЕ, которую записываем более компактным способом с помощью символа «штрих Шеффера»: Y0′ = D′ / C′ / B′ / A′. Это одна операция, в которой участвуют 4 сигнала, поэтому и выполняться она должна однимэлементом 4И-НЕ. В левой части мы видим, что выход Y дешифратора получается инверсным. Так как остальные логические выражения имеют такую же структуру, то для них переход к базису И-НЕ производится аналогично, поэтому сразу же записываем конечные результаты: Y1′ = D′ / C′ / B′ / A; 1 элемент 4И-НЕ. Y2′ = D′ / C′ / B / A′; 1 элемент 4И-НЕ. Y3′ = D′ / C′ / B / A; 1 элемент 4И-НЕ. Y4′ = D′ / C / B′ / A′; 1 элемент 4И-НЕ. Y5′ = D′ / C / B′ / A; 1 элемент 4И-НЕ. Y6′ = D′ / C / B / A′; 1 элемент 4И-НЕ. Y7′ = D′ / C / B / A; 1 элемент 4И-НЕ. Y8′ = D / C′ / B′ / A′; 1 элемент 4И-НЕ. Y9′ = D / C′ / B′ / A; 1 элемент 4И-НЕ. И еще потребуется 4 элемента 2И-НЕ для инвертирования входных сигналов A,B,C и D. Всего: 10 элементов 4И-НЕ +4 элемента 2И-НЕ. 5. Подбираем микросхемы: КР1533ЛА1 – 5 шт., КР1533ЛА3 – 1 шт. 6. Строим схему дешифратора в базисе И-НЕ (рис. 3.15). При построении схемы сразу учтем, что в данном случае очень удобно все пять микросхем КР1533ЛА1 начертить целиком вместо того, чтобы чертить элементы этих ИМС раздельно. П р и м е ч а н и е: мы построили дешифратор с инверсными выходами Y, для которых активным выходным сигналом является 0. 8. Анализируем работу дешифратора (рис. 3.15) в статическом режиме для преобразования какого-либо одного кода. Предположим, что дешифратор должен выполнить преобразование кодового слова 0100 из кода «8421» в соответствующую десятичную цифру. Для этого подаем указанный код (напомним: снизу вверх!) на входы дешифратора. По схеме (рис. 3.15) определяем, что формируется активный сигнал 0 (выходы инверсные, поэтому здесь активным сигналом является 0) только на выходе цифры 4 (на всех остальных выходах – пассивные сигналы 1). Полученный результат сравниваем с таблицей истинности (табл. 3.9) и делаем вывод: преобразование кода 0100 дешифратор выполнил правильно. Организации разрешения в дешифраторах производится по принципу, изложенному в теме 3.5. Только здесь проще в качестве ключевых использовать не дополнительные элементы на выходах, как в шифраторах, а непосредственно базовые элементы И-НЕ путем добавления к ним еще одного входа. 3.8. Преобразователи кодов и сегментные цифровые индикаторы Преобразователь кодов (code converter) – это цифровое устройство, выполняющие преобразование одного кода в другой. В маркировке микросхем преобразователей кодов по стандарту принято ставить буквы ПР, хотя их иногда относят к группе прочих преобразователей и маркируют: ПП. Изображение таких устройств содержит знаки: X/Y. Одними из наиболее распространенных являются микросхемы преобразователей из двоично-десятичного кода «8421» в семиразрядный код управления сегментными цифровыми индикаторами. Для примера рассмотрим микросхему К555ИД18, изображенную на рис. 3.16 (аналог – микросхема SN74LS247N фирмы «Texas Instruments». Эту и аналогичные ей микросхемы других серий обычно маркируют ИД и обозначают DC в связи с тем, что работают они всегда в паре с сегментными цифровыми индикаторами (рис. 3.17). И данная пара в совокупности выполняет преобразование кода «8421» в десятичные цифры, которые высвечиваются на индикаторе; то есть функционирует как дешифратор. Укажем назначение выводов микросхемы К555ИД18: ABCD – входы для двоично-десятичного кода «8421». OA… OG – выходы, которые присоединяются к соответствующим зажигающим входам индикатора (см. рис. 3.18). BI/RBI′ (blanking input/ripple-blanking output) – двунаправленный вывод: вход гашения BI или выход гашения пульсаций RBI′, имеющий приоритет перед всеми остальными входами. При подаче на этот вход активного сигнала независимо от значений других входных сигналов на всех выходах микросхемы устанавливаются пассивные уровни, поэтому все сегменты присоединенного индикатора гаснут. При обычной работе индикатора на входе BI/RBI′ должен быть установлен пассивный уровень, либо данный вход должен быть свободен. LT (lamp-test input) – вход для проверки сегментов индикатора, имеющий приоритет перед входом RBI и входами ABCD. При наличии пассивного уровня на входе BI/RBI′ (или при разомкнутом данном входе) подача активного сигнала на вход LT вызывает появление активного уровня на всех выходах, которые зажигают для контроля все сегменты индикатора. При обычной работе индикатора на входе LTдолжен быть установлен пассивный уровень. RBI (ripple-blanking input) – вход гашения нуля, имеющий приоритет перед входами ABCD для цифры 0. При наличии пассивных сигналов на входах BI/RBI′ (или при разомкнутом входе BI/RBI′) и LTподача активного сигнала на вход RBI не меняет обычной работы индикатора для цифр 1—9, но приводит к гашению цифры 0 при подаче соответствующего кода на входы ABCD, причем в этом случае на выводе BI/RBI′ формируется сигнал 0. Применяется для гашения всех незначащих нулей в старших разрядах при соединении нескольких индикаторов, когда вывод BI/RBI′ одной микросхемы подключается ко входу RBI другой микросхемы более младшего разряда. Перед рассмотрением примера работы указанной микросхемы необходимо привести минимум сведений об индикаторах (полностью данная тема освещается в предмете «Основы электронной схемотехники»). В настоящее время для визуального отображения цифровой информации используются индикаторы, в изображении которых (см. рис. 3.17) ставятся буквы DPY (display – показывать). Индикаторы могут быть двух видов: – на световых излучающих диодах, тогда в изображении индикатора (см. рис. 3.17) ставят дополнительно буквы LED (light-emitting diode); – на жидких кристаллах, в этом случае изображение индикатора содержит дополнительно буквы LCD(liquid-crystal display). Индикаторы на светоизлучающих диодах в свою очередь также могут быть двух видов: – С общим управляющим катодным выводом КА и зажигающими раздельными анодными выводами A, B, C, …, H. Например, индикатор АЛ305Ж (рис. 3.17). Из самих понятий анода и катода очевидно, что активным управляющим сигналом на выводе КА должен быть 0, а активными зажигающими сигналами на нужных анодных выводах будут 1. Для управления таким индикатором следует брать преобразователь кодов с прямыми выходами (например, рассмотренная нами выше микросхема К555ИД18), для которых активными выходными сигналами как раз и будут единицы. – С общим управляющим анодным выводом AN и раздельными зажигающими катодными выводами A, B, C, …, H. Например, индикатор АЛ305А. Здесь активным управляющим сигналом на выводе ANбудет 1, а активными зажигающими сигналами на нужных катодных выводах будут нули. Очевидно, что для управления таким индикатором должен использоваться преобразователь кодов с инверсными выходами типа К555ИД18, для которых активными выходными сигналами и будут 0. Буква в конце маркировки индикаторов определяет способ управления (KA или AN), разброс параметров и цвет свечения (по справочнику). В схемах индикаторы имеют позиционное обозначение HG. Принцип работы любого преобразователя кодов достаточно прост: если, например, на входы преобразователя (см. рис. 3.18) подать код 0100 (это цифра 4 в коде «8421»), то на выходах формируется код 1100110 (это тоже цифра 4, но уже в семиразрядном инверсном коде управления сегментным индикатором; инверсном, потому что выходы микросхемы инверсные). Именно при подаче такого кода на входы индикатора (и при наличии пассивных уровней сигналов на входах BI, RBI и LT) загораются сегменты, образующие цифру 4. П р и м е ч а н и е: следует иметь в виду, что управление точкой (вход Н индикатора) производится не преобразователем кодов, а совсем другим способом. Если требуются преобразователи кодов других типов с ограниченной областью применения, то они либо входят составной частью в БИС многофункциональных ЦУ, либо строятся на микросхемах логических элементов (см. тему 3.9), либо реализуются на микросхемах ПЗУ (см. тему 4.20) или другими способами (изучение этих способов выходит за рамки данного предмета). Преобразователи кодов применяются не только для управления работой различных индикаторов (цифровых, буквенных и других), но и для криптографической защиты информации, для хранения табличных функций при реализации на микросхемах ПЗУ и т. д. 3.9. Структура преобразователей кодов Для выяснения структуры преобразователей кодов приведем пример: разработать принципиальную электрическую схему преобразователя из кода «7421» в код «3а +2». 1. Определяем количество и назначение входов и выходов: 4 входа для четырехразрядного кода «7421» и 5 выходов для пятиразрядного кода «3а +2». 2. Составляем таблицу истинности преобразователя (табл. 3.11). В этой таблице укажем значения кодов «7421» и «3а +2» для каждой десятичной цифры, пользуясь таблицей 3.2. 3. Определяем порядок заполнения карт Вейча (этот пункт уменьшает объем работы и упрощает минимизацию функций в том случае, если количество выходов больше двух). П р и м е ч а н и е: пустые клетки карты соответствуют наборам переменных, отсутствующих во входном коде «7421», поэтому нам безразлично (знаки «х»), какие сигналы указывать в этих клетках. 4. Для всех выходов преобразователя заполняем карты Вейча и производим объединение клеток (рис. 3.20), пользуясь таблицей 3.11 и рис. 3.19. П р и м е ч а н и е. Обращаем ваше внимание на карту для Y2: здесь путем двойного сворачивания в цилиндр (одновременно по горизонтали и по вертикали) объединяются 4 угловые клетки. Этот случай не является достаточно очевидным, поэтому в дальнейшем следует запомнить, что при наличии в карте 4 угловых клеток их все можно объединить в одну область. 5. Записываем МДНФ для всех выходов преобразователя. 6. Определяем требуемое количество элементов (подсчет элементов на данном этапе производится только в том случае, если схема будет строиться в базисе И, ИЛИ, НЕ). Y0: 2 эл. 2И + 1 эл. 2ИЛИ. Y1: 3 эл. 2И + 2 эл. 2ИЛИ. Y2: 1 эл. 2И (второй элемент 2И не считаем, т.к. он уже стоит в Y0) + 1 эл. 4И + 2 эл. 2ИЛИ. Y3: 1 эл. 2И (второй элемент 2И не считаем, т.к. он уже стоит в Y1) + 1 эл. 3И + 2 эл. 2ИЛИ. Y4: 2 эл. 2И + 2 эл. 2ИЛИ. + 4 эл. НЕ для отрицания Х0, Х1, Х2 и Х3. Всего: 4 элемента НЕ; 1 элемент 4И; 9 элементов 2И; 9 элементов 2ИЛИ. 1 элемент 3И; Внимание! Если устройство имеет несколько выходов, то следует учесть возможность повторения не только операций НЕ, но и других тоже. В данном случае достаточно хорошо видно, что операция Х3·Х0′ (подчеркнута прямой линией) повторяется дважды: в выражениях для Y0 и Y2. Поэтому рядом с выражением для Y2 не учтен элемент 2И для реализации указанной операции Х3·Х0′, так как этот элемент уже будет стоять во фрагменте схемы для Y0. Аналогичная ситуация имеется и в случае для операции Х3·Х0 (подчеркнута двойной линией), которая повторяется в выражениях для Y1 и Y3. 7. Подбираем микросхемы: КР1533ЛН1 – 1шт., КР1533ЛИ1 – 3шт., КР1533ЛИ6 – 1шт., КР1533ЛЛ1 – 3шт. В качестве элемента 3И будем использовать второй элемент 4И из микросхемы КР1533ЛИ6. 8. Строим схему преобразователя кодов в базисе И, ИЛИ, НЕ (рис. 3.21). П р и м е ч а н и е. Обращаем ваше внимание на то, что микросхемы D2 и D4 здесь начерчены целиком, так как это не приводит к лишним изгибам и пересечениям проводов и не усложняет чтение схемы. Если же, к примеру, целиком начертить микросхему D3, элементы которой стоят в разных местах схемы, то это приведет к появлению лишних изгибов и пересечений проводов и усложнит чтение схемы. 9. Составляем перечень элементов к этой схеме (табл. 3.12): 10. Выполняем анализ работы преобразователя кодов (рис. 3.21) в статическом режиме для преобразования какого-либо одного кода. На входы преобразователя подаем код 1000 (согласно табл. 3.11 – это цифра 7 в коде «7421»). По схеме определяем, что на выходах в данном случае формируется код 10111. Полученный результат проверяем по таблице истинности (табл. 3.11) – это тоже цифра 7, но уже в коде «3а +2». Следовательно, преобразование цифры 7 из кода «7421» в код «3а +2» выполнено правильно. Следующие пункты служат двум целям: подготовке к выполнению практических и курсовых работ, а также напомнить, что схемы базиса И-НЕ в большинстве случаев дают меньшую задержку сигналов и требуют меньших аппаратурных затрат. 11. Переходим к базису И-НЕ и определяем требуемое количество элементов: Y0 = [Х3·Х0′ \/ Х3′·Х0]′′ = [(Х3·Х0′)′· (Х3′·Х0)′]′ = = (Х3 / Х0′) / (Х3′ / Х0); 3 элемента 2И-НЕ. Аналогично выполняется переход к базису И-НЕ для остальных логических выражений: Y1 = (Х3 / Х0) / (Х1 / Х0) / (Х1′ / Х0′); 3 эл. 2И-НЕ + 1 эл. 3И-НЕ. Y2 = (Х3 / Х0′) / (Х2 / Х0′) / (Х3′ / Х2′ / Х1′ / Х0); 1 эл. 2И-НЕ + 1 эл. 4И-НЕ + 1 эл. 3И-НЕ. Y3 = (Х3 / Х0) / (Х2′ / Х1) / (Х2 / Х1′ / Х0′); 1 эл. 2И-НЕ + 2 эл. 3И-НЕ. Y4 = (Х3′) / (Х2 / Х1) / (Х2 / Х0); 2 эл. 2И-НЕ + 1 эл. 3И-НЕ. + 4 эл. 2И-НЕ для отрицания Х0, Х1, Х2 и Х3. П р и м е ч а н и е. В логическом выражении для Y4 первый минтерм содержит только одну переменную – X3, поэтому при переходе к базису И-НЕ ее значение будет меняться: в исходном выражении X3 стоит без отрицания, в конечном выражении базиса И-НЕ – уже с отрицанием (см. пример 3 из темы 2.4). Всего: 14 эл. 2И-НЕ +5 эл. 3И-НЕ +1 эл. 4И-НЕ. 12. Подбираем микросхемы: КР1533ЛА3 – 4шт., КР1533ЛА4 – 2шт., КР1533ЛА1 – 1шт. 13. Строим схему преобразователя кодов в базисе И-НЕ (рис. 3.22). 14. Составляем перечень элементов к этой схеме (табл. 3.13): 15. На рис.3.22 выполняем анализ работы устройства для преобразования того же кода, что в пункте 9. 3.10. Мультиплексоры. Общие сведения, микросхемы мультиплексоров Мультиплексор (multiplexer) или селектор данных (data selector) – это цифровое устройство, выполняющее коммутирующие (переключающие) функции в цифровой технике. Он способен подключать один из нескольких своих информационных входов к единственному выходу. Один из самых простых мультиплексоров имеет четыре информационных (data) входа D0, D1, D2и D3, два управляющих адресных (address) входа А0 и А1 (иногда их называют входами выбора данных), один разрешающий стробирующий (strobe) вход S и один выход (quit) Q. Условное графическое изображение такого мультиплексора приведено на рис. 3.23а. Принцип работы мультиплексора достаточно прост: если при наличии разрешения на адресные входы подать двоичный код номера какого-либо информационного входа, то этот вход соединяется с выходом. При этом сигнал, поступающий в данное время на выбранный информационный вход, передается на выход; сигналы с остальных информационных входов на выход не проходят. Например (см. рис. 3.23а), если подать активный разрешающий сигнал 0 на стробирующий вход S, а на адресные входы А1 и А0 подать сигналы 10 (двоичный код цифры 2), то к выходу Q подключится информационный вход D2: сигнал 1, который в данное время поступает на этот вход, пройдет на выход Q, сигналы с других информационных входов на выход передаваться не будут. Такие мультиплексоры, способные в данный момент времени пропускать только один сигнал, являются одноразрядными. Микросхемы коммутирующих устройств в третьей части маркировки имеют первую букву К, а вторая буква указывает, какое конкретно коммутирующее устройство содержит данная микросхема. Мультиплексоры относятся к прочим коммутирующим устройствам, поэтому маркируются: КП. П р и м е ч а н и е: в реальных технических описаниях, а также в справочной литературе мультиплексоры чаще всего называют селекторы-мультиплексоры (selector-multiplexer или multiplexer-selector), а в изображении вместо обозначения MUX используют обозначение MS. Выпускаемые промышленностью микросхемы коммутирующих ЦУ преимущественно содержат мультиплексоры следующих видов: 1. Селектор-мультиплексор 4х1 (четыре информационных входа, два адресных, один стробирующий вход и один выход), то есть аналогичный рассмотренному на рис. 3.23а. Пример: микросхема КР1533КП2 (аналог – микросхема SN74АLS153 фирмы «Texas Instruments»), изображенная на рис. 3.23b. Ее можно рассматривать двояко: — Как сдвоенный мультиплексор 4х1, содержащий два вышеупомянутых одноразрядных мультиплексора, у которых имеются общие адресные входы АВ, раздельные информационные входы 1С0…1С3, 2С0…2С3, раздельные стробирующие входы 1G, 2G и раздельные выходы 1Y, 2Y (рис. 3.23b). – Как один двухразрядный (способный пропускать в данный момент времени двухразрядный код) селектор 4х1, причем изображение микросхемы для данного режима нагляднее начертить несколько иначе (составители справочной литературы и разработчики схем цифровой техники расположение входов и выходов микросхем ЦУ указывают так, как они считают удобнее и нагляднее), например так, как указано на рис. 3.24). В этом случае имеются 4 информационных двухразрядных входа 1С0 и 2С0, 1С1 и 2С1, 1С2 и 2С2, 1С3 и 2С3, куда могут подаваться двухразрядные коды, которые при соответствующих сигналах на адресных входах АВ и наличии сигналов разрешения на входах 1G, 2G будут проходить на двухразрядный выход 1Y, 2Y по сформированному 2-разрядному каналу. Приведем пример 1: Указать значения сигналов на всех входах и выходах микросхемы при подключении входа 2 к выходу, если на указанный вход поступает двухразрядный двоичный код 11. Так как двухразрядный вход 2 образован входами 1С2 и 2С2, то подадим на эти входы заданный код 11 (см. рис. 3.24). На адресных входах АВ (напомним еще раз – снизу вверх!) установим код 10 – код входа 2. И при подаче разрешающих сигналов 0 на стробирующие входы 1G, 2G (здесь активными сигналами будут 0, так как данные входы инверсные статические) код 11 пройдет со входа 1С2, 2С2 на выход 1Y, 2Y. Коды с других информационных входов (1С0 и 2С0, 1С1 и 2С1, 1С3 и 2С3) на выход проходить не будут, поэтому в данном случае их значения безразличны (знак «х»). П р и м е ч а н и я: такую же структуру имеют: – Микросхема КР1533КП19 (аналог – микросхема SN74ALS352 фирмы «Texas Instruments»), но у нее инверсные выходы. – Микросхема КР1533КП12 (аналог – микросхема SN74ALS253 фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями выходов. Переход в третье, Z-состояние происходит при отсутствии разрешения на стробирующем входе G. – Микросхема КР1533КП17 (аналог – микросхема SN74ALS353 фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями и инверсными выходами. 2. Селектор-мультиплексор 8х1. Например, ИМС КР1533КП7 (рис. 3.25), которая имеет восемь информационных входов D, три адресных входа АВС, один стробирующий вход G и один выход Q. Аналогом этой микросхемы ИМС SN74ALS151 фирмы «Texas Instruments». Здесь следует обратить внимание на один важный момент: дополнительно к прямому выходу здесь выведен еще и инверсный, куда поступающий на выбранный информационный вход сигнал будет передаваться в инверсном виде. Реализуются такие выходы очень просто (см. рис. 3.27) и называются комплементарными(от английского complementary – добавочный, дополнительный). Приведем пример 2 работы микросхемы КР1533КП7: указать значения сигналов на всех входах и выходах микросхемы при подключении входа D1 к выходу, если на заданный вход поступает сигнал 0. Для этого указанный сигнал 0 подадим на нужный информационный вход D1 (см. рис. 3.25). На адресных входах АВС установим трехразрядный код 001 (см. табл. 3.1), соответствующей цифре 1, так как задан вход D1. И при подаче разрешающего сигнала 0 на стробирующий вход G сигнал 0 со входа D1 пройдет на прямой выход. Этот же сигнал 0 со входа D1 пройдет и на инверсный выход, превращаясь в 1. Сигналы с других информационных входов на выход проходить не будут, поэтому в данном случае их значения безразличны. П р и м е ч а н и е: такую же структуру имеет микросхема КР1533КП15 (аналог – микросхема SN74ALS251 фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями выходов. Переход в третье, Z-состояние происходит при отсутствии разрешения на стробирующем входе G. 3. Селектор-мультиплексор 16х1. В качестве примера можно рассмотреть микросхему К155КП1 устаревшей серии К155 структуры ТТЛ (аналог – микросхема SN74150N фирмы «Texas Instruments»), изображение которой приведено на рис. 3.26. Она имеет шестнадцать информационных входов E, четыре адресных ABCD, один стробирующий вход G и один выход П р и м е ч а н и е: в сериях К555 и КР1533 подобной микросхемы пока нет. 4. Селектор-мультиплексор 2х1 (два информационных входа, один адресный, один стробирующий вход и один выход). Пример – микросхема КР1533КП16 (рис. 3.26), аналогом которой является микросхема SN74ALS157А фирмы «Texas Instruments». Ее можно рассматривать двояко: – Как счетверенный мультиплексор 2х1, содержащий четыре одноразрядных мультиплексора 2х1(рис. 3.26), которые имеют один общий адресный вход А′/В, раздельные информационные входы 1Аи 1В, 2А и 2В, 3А и 3В, 4А и 4В, раздельные выходы 1Y, 2Y, 3Y, 4Y и один общий стробирующий вход G. Если на вход А′/В подать 0, то при наличии разрешения у всех четырех мультиплексоров к выходу Yподключится вход A, если же на входе А′/В установить 1, то опять же при наличии разрешения все четыре мультиплексора к выходу Y подключат вход B. – Как один четырехразрядный мультиплексор 2х1, причем изображение микросхемы для данного режима нагляднее начертить несколько иначе (см. рис. 3.27). В этом случае имеются 2 информационных четырехразрядных входа 1А…4А и 1В…4В, куда могут подаваться четырехразрядные коды, которые при соответствующем сигнале на адресном входе А′/В и наличии сигнала разрешения на стробирующем входе G будут проходить по образованному каналу на четырехразрядный выход 1Y…4Y. Приведем пример 3: Указать значения сигналов на всех входах и выходах микросхемы при подключении входа В к выходу, если на указанный вход поступает четырехразрядный двоичный код 1011. Для этого подаем заданный код 1011 на входы В (см. рис. 3.27), на входе А′/В устанавливаем сигнал 1 адреса входов В и при подаче разрешающего сигнала 0 на вход G код 1011 проходит на выходы Y. Код со входов А мультиплексор на выходы не пропускает, поэтому значения сигналов здесь безразличны. П р и м е ч а н и я: такую же структуру имеют: – Микросхема КР1533КП18 (аналог – микросхема SN74ALS158 фирмы «Texas Instruments»), но у нее инверсные выходы. – Микросхема КР1533КП11А (аналог – микросхема SN74ALS257 фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями выходов. Переход в третье, Z-состояние происходит при отсутствии разрешения на входе G. – Микросхема КР1533КП14А (аналог – микросхема SN74ALS258 фирмы «Texas Instruments»), но это уже буферная ИМС с тремя состояниями и с инверсными выходами. 3.11. Структура мультиплексоров Разработаем для примера структуру мультиплексора, изображение которой приведено на рис. 3.23а (напомним, что подобные мультиплексоры входят, в частности, в состав микросхемы КР1533КП2). 1. Так как количество и назначение выводов уже известно, то сразу составим таблицу истинности, исходя из принципа работы рассматриваемого мультиплексора (табл. 3.14): 2. Запишем СДНФ для выхода Q: Q = A1′·A0′·S′·D0 \/ A1′·A0·S′·D0 \/ A1·A0′·S′·D0 \/ \/ A1·A0·S′·D0. 3. Определим требуемое количество элементов: 3 элемента НЕ, 4 элемента 4И, 1 элемент 4ИЛИ. П р и м е ч а н и е: Элементов 4ИЛИ промышленность не выпускает. Но так как мы в данном случае не ставим задачей построить схему на микросхемах логических элементов, а хотим лишь посмотреть структуру мультиплексора, то и подбирать реальные микросхемы логических элементов здесь нет необходимости. 4. Строим схему мультиплексора в базисе И, ИЛИ, НЕ (рис. 3.28). 5. Выполним анализ работы схемы для примера, приведенного на рис.3.23а. Аналогично можно выяснить структуру других разновидностей мультиплексоров: 2—1, 8—1 и 16—1. 3.12. Демультиплексоры Демультиплексор (demultiplexer), как и мультиплексор, также выполняет коммутирующие(переключающие) функции в цифровой технике. Он способен подключать единственный свой информационный вход к одному из нескольких выходов. Один из самых простых демультиплексоров имеет один информационный входа D, два управляющих адресных входа А0 и А1, один (или более) разрешающий стробирующий вход S и четыре выхода Q0, Q1, Q2 и Q3. Условное графическое изображение такого демультиплексора приведено на рис. 3.29. Например (см. рис.3.29), если подать активный разрешающий сигнал 0 на стробирующий вход S, а на адресные входы А1 и А0 подать сигналы 11 (двоичный код цифры 3), то информационный вход D подключится к выходу Q3: сигнал 1, который в данное время поступает на информационный вход, пройдет на выход Q3; на остальные выходы указанный сигнал не проходит, поэтому на выходах Q0, Q1и Q2 установятся пассивные уровни логического 0. Специальные микросхемы демультиплексоров не выпускаются по двум причинам: 1. Любые микросхемы дешифраторов, которые имеют хотя бы один разрешающий вход, можно использовать и в качестве демультиплексоров. Именно поэтому, как уже было сказано в теме 3.6, такие микросхемы дешифраторов называют дешифраторы-демультиплексоры. Обратите внимание, что микросхема К555ИД6 (рис.3.10) не имеет ни одного разрешающего входа, следовательно ее нельзя использовать в качестве демультиплексора и называть дешифратор-демультиплексор. Если дешифратор применяют как демультиплексор, то в качестве информационного входа D используют разрешающий (при наличии у дешифратора нескольких разрешающих входов информационным может быть любой, остальные будут стробирующими), а в качестве адресных – входы для кода. Приведем пример работы микросхемы КР1533ИД7 (рис.3.33) в качестве демультиплексора: указать значения сигналов на всех входах и выходах микросхемы при подключении информационного входа к выходу 3, если на информационный вход поступает сигнал 0. Сначала определимся с выводами. Любой из разрешающих входов (G1, G2A, G2B) используем в качестве информационного, например, G1 (см. рис. 3.30). Тогда остальные разрешающие входы G2A и G2B будут стробирующими. Входы АВС для кода используем как адресные. Теперь заданный сигнал 0 подаем на информационный вход G1. На адресных входах АВС устанавливаем код 011 (напоминаем в очередной раз – снизу вверх!) – код 3, так как задан выход 3. И при подаче разрешающего сигнала 0 на оба стробирующих входа G2A, G2B (здесь активными сигналами являются 0, так как указанные входы инверсные статические) информационный вход G1 подключится к выходу Y3. При этом сигнал 0 со входа G1 пройдет на выход Y3, где установится уровень логической 1 (вход G1 – прямой, а выход Y3 – инверсный, поэтому входной сигнал 0 инвертируется на выходе в сигнал 1). Выходы Y0 – Y2 и Y4 – Y7 сейчас не подключены, сигнал сюда не проходит, следовательно, на указанных выходах установятся пассивные уровни логической 1 (здесь пассивными сигналами являются 1, ибо выходы инверсные статические). 2. Микросхемы мультиплексоров МДП-структуры (как известно, они обладают двухсторонней проводимостью) вполне можно применять и в качестве демультиплексоров, используя выход в качестве информационного входа D, а информационные входы – в качестве выходов, причем адресные входы так и остаются адресными. ***3.13. Понятие о логических Устройствах с программируемыми характеристиками. Использование мультиплексоров в качестве универсальных логических элементов Как уже было сказано в теме 1.3, элементы цифровой техники и различные цифровые устройства выпускаются как в виде отдельных микросхем средней степени интеграции и БИС, так и входят составными частями в микросхемы БИС (включая СБИС, УБИС и ГБИС) универсальных и специализированных многофункциональных ЦУ. Применение многофункциональных БИС вместо группы микросхем отдельных ЦУ позволяет существенно повысить быстродействие, уменьшить потребляемую мощность и размеры аппаратуры. Но, во-первых, сама разработка БИС и СБИС представляет собой весьма дорогостоящий и длительный процесс, что приводит к экономической выгоде их применения только при условии достаточно большого выпуска БИС каждого типа. Во-вторых, повышение специализации данных изделий ограничивает области их применения и увеличивает количество различных типов БИС, что приводит к повышению стоимости продукции. Поэтому появилось и развивается третье направление в разработке и выпуске элементов и устройств цифровой техники: создание логических устройств с программируемыми (настраиваемыми) характеристиками или программируемых логических интегральных схем (ПЛИС), алгоритмы работы которых могут быть изменены по желанию разработчика конкретной аппаратуры. Так же, как и многофункциональные БИС, они изготавливаются по универсальной технологии и способны заменить в настоящее время до 60 и более ИМС малой и средней степени интеграции, а их особенности заключаются в следующем: 1. В отличие от универсальных многофункциональных БИС типа микропроцессоров, где необходимый алгоритм работы достигается введением в память нужной программы, настройка ПЛИС производится путем изменения внутренней структуры, внешними соединениями и подачей на определенные (настроечные) входы специальных сигналов. 2. От специализированных многофункциональных БИС, которые разрабатываются для строго конкретной аппаратуры и где невозможно их перепрофилирование, ПЛИС отличаются способностью программирования для нужд разработки самой разной аппаратуры. Рассмотрим несколько примеров применения ИМС мультиплексоров в качестве простейших ПЛИС для реализации логических функций. В этом случае часть логических переменных Х используется в качестве адресных входов мультиплексора, а оставшаяся часть переменных – в качестве настроечных сигналов и подается (при необходимости) вместе с определенными фиксированными сигналами) на информационные входы мультиплексора. Функции трех переменных X1,X2,X3 можно реализовать с помощью мультиплексоров, имеющих 4 информационных входа D0…D3 и два адресных А0, А1 (рис.3.34). Здесь в качестве адресных используем любые две переменные, например: Х2 (А0) и Х3 (А1). Функции четырех переменных Х1, Х2, Х3, Х4 выгоднее всего можно реализовать с помощью мультиплексоров, имеющих 8 информационных входов D0…D7 и три адресных A0, A1, A2. Здесь в качестве адресных используем любые три переменные, например: X2 (A0), X3 (A1) и X4 (A2). Каждому входу D опять же соответствует свой многочлен СДНФ (не учитывая стробирующий вход) и своя область в карте Вейча для минимизации заданной функции (рис. 3.32). Пример 1. Разработать схему ЦУ на базе мультиплексора (он выполняет роль ПЛИС), реализующую функцию Y1 (см. табл. 2.1). Она является функцией трех переменных, поэтому используем мультиплексор на 4 информационных входа и карту Вейча на 8 клеток. 1. Записываем СДНФ (см. тему 2.1): Y1 = X1′·X2′·X3′ \/ X1′·X2′·X3 \/ X1·X2′·X3′ \/ X1·X2·X3. 2. Минимизируем это выражение методом Вейча (рис.3.33). 3. В полученных выражениях сокращаем Х2 и Х3, которые будут использоваться в качестве адресных входов мультиплексора, и окончательно получаем: D0 = 1 (сокращаем обе переменные); D1 = 0; D2 = X1′; D3 = X1. Для формирования настроечного сигнала на входе D2 нужно дополнительно поставить в схему элемент НЕ. Кроме этого, для получения постоянного уровня логической 1 на входе D0 лучше всего в данном случае использовать еще один элемент НЕ (см. тему 2.9). Постоянный уровень логического 0 на входе D1 обеспечивается подключением этого входа к общему проводу. 4. Подбираем микросхемы: одна КР1533КП2 (используем один мультиплексор 4—1 из двух) и одна КР1533ЛН1. 5. Строим схему ЦУ (рис. 3.34). При ме чани я: – в первом мультиплексоре микросхемы КР1533КП2 стробирующий вход S обозначен 1G, информационные входы D0…D3 – 1С0…1С3, а адресные входы А0, А1 – АВ. – входы Х2 и Х2 используются в качестве адресных входов мультиплексора, а вход Х1 вместе с элементом НЕ и фиксированными сигналами 0 и 1 образуют систему формирования настроечных сигналов; – напомним, что формирование постоянных уровней логического 0 (на входе 1С1) и логической 1 (на входе 1С0) производится так, как описано в теме 2.9: вход 1С1 подключается к корпусу, что обеспечивает здесь наличие постоянного уровня логического 0; а вход 1С0 – к выходу дополнительного элемента НЕ (вход которого подключен к корпусу), что обеспечивает здесь постоянный уровень логической 1. Сравните построенную схему с рис. 2.25, 2.28 из темы 2.3, рис. 2.32 из темы 2.4 и рис. 2.35 из темы 2.5, реализующих ту же самую функцию Y1. Напрашивается вывод, что ПЛИС (в данном случае это мультиплексор) действительно заменяет несколько микросхем средней степени интеграции 6. Здесь следует составить перечень элементов к данной схеме. Но т. к. в схеме используются только две микросхемы, мы этого делать не будем для экономии места. Любой студент должен уже суметь составить такую таблицу самостоятельно. 7. Выполним анализ работы ЦУ в статическом режиме для любого одного входного кода. На входы (рис.3.34) для примера подадим сигналы: Х1 = 0, Х2 = 0, Х3 = 1. По схеме определяем, что на информационных входах мультиплексора устанавливаются сигналы: 1С0 = 1, 1С1 = 0, 1С2 = 1, 1С3= 0. Сигналы 10 (код цифры 2) со входов Х2 и Х3 поступают на адресные входы ВА мультиплексора, поэтому при наличии разрешающего сигнала 0 на стробирующем входе 1G мультиплексор подключит свой информационный вход 1С2 к выходу 1Y, и сигнал 1 со входа 1С2 пройдет на выход 1Y микросхемы и далее на выход Y1. Полученный результат проверяем по таблице истинности (табл. 2.1): действительно, при указанных значениях входных сигналов на выходе Y1 должен формироваться сигнал 1, следовательно, в данном случае схема сработала правильно. Пример 2. Разработать схему ЦУ на базе мультиплексора (он выполняет роль ПЛИС), реализующую функцию Y4 (см. табл. 2.18) из темы 2.8. Она является функцией четырех переменных, поэтому используем мультиплексор на 8 информационных входов и карту Вейча на 16 клеток. 1. Записываем СДНФ (см. тему 2.8): Y4 = X1′·X2′·X3·X4 \/ X1′·X2·X3′·X4 \/ X1·X2·X3′·X4′ \/ \/ X1·X2·X3′·X4 \/ X1·X2·X3·X4′ \/ X1·X2·X3·X4. 2. Минимизируем это выражение методом Вейча. Для этого чертим карту Вейча, заполняем ее, производим объединение клеток в каждой области D отдельно, пользуясь рис. 3.32, и записываем результаты минимизации опять же для каждой области D отдельно (рис.3.35). 3. В полученных выражениях сокращаем Х2, Х3 и Х4, которые будут использоваться в качестве адресных входов мультиплексора, и окончательно получаем: D0 = 0; D4 = 0; D1 = X1; D5 = 1; D2 = 0; D6 = X1′; D3 = X1; D7 = X1. Для формирования настроечного сигнала на входе D6 нужно дополнительно поставить в схему элемент НЕ. Кроме этого, для получения постоянного уровня логической 1 на входе D5 используем еще один элемент НЕ. Входы D0, D2 и D4 подключаются к общему проводу, что обеспечивает здесь наличие постоянного уровня логического 0. 4. Подбираем микросхемы: одна КР1533КП7 и одна КР1533ЛН1. 5. Строим схему ЦУ (рис. 3.36). При ме чани я: – в мультиплексоре микросхемы КР1533КП7 стробирующий вход S обозначен G, а адресные входы А0, А1, А2 – АВС. – входы Х2,Х3 и Х4 используются в качестве адресных входов мультиплексора, а вход Х1 вместе с элементом НЕ и фиксированными сигналами 0 и 1 образуют систему формирования настроечных сигналов. 6. Здесь следует составить перечень элементов к данной схеме. Но т. к. в схеме используются только две микросхемы, мы этого делать не будем для экономии места. Любой студент должен уже суметь составить такую таблицу самостоятельно. 7. Выполним анализ работы ЦУ в статическом режиме для любого одного входного кода. На входы для примера подадим сигналы: Х1 = 0, Х2 = 0, Х3 = 0, Х4 = 1. По схеме определяем, что на информационных входах мультиплексора устанавливаются сигналы: D0 = 0, D1 = 0, D2 = 0, D3 = 0, D4 = 0, D5 = 1, D 6 = 1, D7 = 0. Сигналы 100 (код цифры 4) со входов Х4, Х3 и Х2 поступают на адресные входы CВА мультиплексора, поэтому при наличии разрешающего сигнала 0 на стробирующем входе G мультиплексор подключит свой информационный вход D4 к прямому выходу, и сигнал 0 со входа D4 пройдет на прямой выход микросхемы и далее на выход Y4. Полученный результат проверяем по таблице истинности (табл. 2.18): действительно, при указанных значениях входных сигналов на выходе Y4 должен формироваться сигнал 0, следовательно, в данном случае схема сработала правильно. 3.14. Арифметическое сложение двоичных кодов. Двоичные сумматоры Двоичные сумматоры (binary adder) – это цифровые устройства, выполняющие арифметическое сложение двух двоичных кодов (чисел). В дальнейшем мы их будем называть просто сумматорами. Они имеют как самостоятельное значение, так и входят составной частью в микросхемы АЛУ (см. тему 3.21), микропроцессоров и других многофункциональных цифровых устройств. При арифметическом сложении двоичных кодов используются следующие несложные соотношения: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10 (это цифра 2 в двоичном коде). Первые три случая справедливы в любой арифметике, а вот на последнем следует остановиться особо. При логическом сложении двух сигналов логической 1 получается 1 \/ 1 = 1, а при арифметическом сложении 1 + 1 = 10 (двойка в двоичном коде). Поэтому в дальнейшем не следует путать логическое (его выполняют элементы ИЛИ) и арифметическое (его выполняют сумматоры) сложение! Когда производится арифметическое сложение двух многоразрядных двоичных кодов, встречается еще один вариант: 1 + 1 + 1 = 11 (цифра 3 в двоичном коде). Если при арифметическом сложении чисел результат сложения двух цифр в каком-либо разряде представляет собой число, состоящее из двух цифр, то младшая цифра этого числа непосредственно заносится в ответ, а старшая учитывается при сложении цифр следующего разряда. Последняя называется переносом из данного разряда в следующий и обозначается Р, С или CR (от английского carry). Из результата 10 арифметического сложения (1 + 1) сигнал 0 записывается в ответ («ноль пишем»), а сигнал 1 является переносом в следующий разряд («один в уме»). С учетом вышесказанного приведем пример арифметического сложения двух многоразрядных (в данном случае четырехразрядных) кодов (рис.3.37). П р и м е ч а н и е: о назначении внешнего переноса смотрите ниже; в данном случае он должен быть равен 0, чтобы не исказить результат сложения. Арифметическое сложение в одном отдельно взятом разряде (на рис. 3.37 выделен рамкой) реализует цифровое устройство, которое называется одноразрядным сумматором (рис. 3.38). Рассмотрим структуру одноразрядного сумматора. Для этого: 1. Сначала составим его таблицу истинности (табл. 3.15), пользуясь указанными выше правилами арифметического сложения двоичных кодов: 2. Теперь запишем СДНФ для обоих выходов: S = A′·B′·P \/ A′·B·P′ \/ A·B′·P′ \/ A·B·P; P+ = A′·B·P \/ A·B′·P \/ A·B·P′ \/ A·B·P. 3. Минимизируем оба выражения методом Вейча (рис. 3.39): Отсюда видно, что логическое выражение для S не минимизируется, т.к. здесь невозможно объединение клеток с единицами. Поэтому МДНФ для выхода S будет совпадать с СДНФ: S = A′·B′·P \/ A′·B·P′ \/ A·B′·P′ \/ A·B·P. По рис. 3.39 записываем МДНФ для выхода Р+: Р+ = А·В \/ А·Р \/ В·Р. 4. Определяем требуемое количество логических элементов: – для S: 3 элемента НЕ +4 элемента 3И +1 элемент 4ИЛИ; – для Р»: 3 элемента 2И +1 элемент 3ИЛИ. П р и м е ч а н и е: элементы 4ИЛИ и 3ИЛИ не выпускаются в виде отдельных микросхем. Но так как мы в данном случае хотим только посмотреть структуру одноразрядного сумматора и не имеем намерения строить его схему на микросхемах логических элементов, то подбирать реальные ИМС нет необходимости. 5. Строим схему одноразрядного сумматора (рис. 3.40). 6. Выполним проверку работы этого одноразрядного сумматора для разряда, выделенного рамкой в примере на рис.3.40. Убеждаемся, что в данном случае сумматор срабатывает правильно. С помощью таких одноразрядных сумматоров строятся многоразрядные сумматоры, которые выполняют арифметическое сложение многоразрядных двоичных кодов. Количество одноразрядных сумматоров в схеме многоразрядного сумматора определяется числом разрядов слагаемых. Для примера рассмотрим структуру четырехразрядного сумматора (рис. 3.41). С помощью цифровых сигналов покажем в этой схеме рассмотренное в начале данного параграфа арифметическое сложение двух четырехразрядных кодов на рис.3.37. При этом учтем, что сигнал последнего переноса из старшего разряда обязательно включается в сумму! Микросхемы сумматоров маркируются: ИМ. В виде ИМС средней степени интеграции преимущественно выпускаются четырехразрядные сумматоры. Например, микросхема К555ИМ6 (рис. 3.42), основа структуры которой начерчена нами на рис. 3.41 (ее аналогом является микросхема SN74LS283N фирмы «Texas Instruments»). Здесь буквой С обозначен вход внешнего переноса, С4 – выход последнего переноса, символом Σ – выходы суммы. Обратим внимание, что соответствующие результату сложения уровни сигналов на выходах многоразрядного сумматора (см. рис. 3.41) устанавливаются не сразу, а последовательно, начиная с младшего разряда, в процессе формирования сигналов переноса. Поэтому с увеличением разрядности скорость срабатывания многоразрядного сумматора (т.е. его быстродействие) становится все меньше и меньше. Следовательно, при построении многоразрядных сумматоров возникает задача повышения их быстродействия. Эту задачу в настоящее время решают с помощью специальных схем ускоренного переноса (СУП), которые позволяют формировать сигналы переноса во всех разрядах одновременно. СУП сейчас обычно встраиваются непосредственно в микросхемы сумматоров и многофункциональных ЦУ, хотя выпускают и специальные микросхемы СУП. Рассмотрение структуры и принципа работы СУП выходит за рамки программы для колледжей. ***3.15. Сложение чисел в двоично-десятичном коде. Двоично-десятичные сумматоры В некоторых случаях (в частности, в микрокалькуляторах и микропроцессорах) сумматоры должны быть способны выполнять арифметическое сложение чисел, выраженных двоично-десятичным кодом «8421». В этом случае результат операции не всегда будет соответствовать ожидаемому: если при сложении цифр одного разряда получаемая сумма превышает 9, то требуется корректировка путем прибавления цифры 6 в коде «8421». Рассмотрим примеры. Пример 1. Требуется выполнить арифметическое сложение чисел 3 и 5 (3 + 5 = 8) в двоично-десятичном коде «8421». С помощью табл. 3.4 представим заданные числа и ожидаемый результат сложения в коде «8421»: 310 = 0011 8421; 510 = 0101 8421; 810 = 1000 8421 и делаем сложение (сигналы переноса в дальнейшем без особой необходимости не показываем, будем их держать «в уме») на рис.3.45a. Полученный код 1000 (см. табл. 3.4) – это число 8 в коде «8421», что полностью соответствует ожидаемому результату. Сумма (число 8) не превышает 9, поэтому корректировка результата не требуется. Пример 2. Требуется выполнить арифметическое сложение чисел 6 и 7 (6 + 7 = 13) в двоично-десятичном коде «8421». С помощью табл. 3.4 представим заданные числа и ожидаемый результат сложения в коде «8421»: 610 = 01108421; 710 = 0111 8421; 1310 = 0001 00118421 (первые незначащие 0 можно не писать, поэтому результат: 10011) и делаем сложение на рис.3.45b. Полученный код 1101 не совпадает с ожидаемым результатом в коде «8421»! Мало того, такой комбинации сигналов вообще нет в коде «8421»! Сумма (число 13) больше 9, поэтому требуется корректировка результата путем прибавления цифры 610 = 0110 на рис.3.45c. Только теперь результат соответствует ожидаемому – числу 13 в коде «8421». Для выполнения арифметического сложения чисел в двоично-десятичном коде «8421» к выходам двоичного сумматора Σ0…Σ3 и С4 подключается блок десятичной коррекции (БДК). Он представляет собой еще один дополнительный двоичный сумматор, который к полученному результату сложения будет прибавлять код 6 при наличии необходимости коррекции или код 0 при отсутствии необходимости коррекции, с дополнительной цепочкой формирования корректирующего кода. Код 6 (0110) отличается от кода 0 (0000) только наличием единиц в двух разрядах – 1-ом и 2-ом. Назовем цифры указанных разрядов корректирующими сигналами и обозначим Y. Если результат сложения получится больше 9 (числа от 10 до 18) и потребуется корректировка путем прибавления 6, то Y = 1. Этот же сигнал будет формировать старший 4-й разряд (последний перенос) суммы, выраженной двоично-десятичным кодом «8421», который в указанных случаях обязательно будет равен 1 (см. последний пример сложения). Выделим все такие возможные результаты с помощью табл. 3.16, пользуясь табл. 3.3: Запишем СДНФ для выделенной в таблице функции на выходах (в этих случаях, поэтому его можно не учитывать), обозначив указанную функцию буквой Z: Z = Σ3·Σ2′·Σ1·Σ0′ \/ Σ3·Σ2′·Σ1·Σ0 \/ Σ3·Σ2·Σ1′·Σ0′ \/ \/ Σ3·Σ2·Σ1′·Σ0 \/ Σ3·Σ2·Σ1·Σ0′ \/ Σ3·Σ2·Σ1·Σ0. Теперь минимизируем это выражение методом Вейча (рис. 3.46): Из табл.3.16 видно, что корректирующий сигнал Y=1 формируется, когда на выходе появляется сигнал 1 (сумма – числа 16, 17, 18) ИЛИ когда сумма – числа 10…15 (выделенный фрагмент табл. 3.16 – функция Z), поэтому: Y = C4 \/ Z = C4 \/ (Σ3·Σ2 \/ Σ3·Σ1). Для реализации полученного логического выражения потребуются 2 элемента 2И и 1 элемент 3ИЛИ(элементы 3ИЛИ не впускаются в виде отдельных микросхем, но в данном случае наша задача – лишь разобраться со структурой БДК). Строим схему блока десятичной коррекции (рис. 3.47). П р и м е ч а н и е: нули 0-го и 3-го разрядов корректирующих кодов 0 (0000) и 6 (0110) формируются путем подключения соответствующих входов В3 и В0 второго двоичного сумматора к корпусу (общему проводу). На рис. 3.47 показана корректировка результата сложения чисел 6 и 7 (см. пример 2). Предоставляется учащимся самостоятельно проверить результат работы БДК при сложении других цифр. Двоичный сумматор в комплексе с БДК называется двоично-десятичным сумматором. Такие сумматоры не имеют самостоятельного значения, не выпускаются в виде отдельных микросхем, а лишь входят составной частью в микросхемы многофункциональных ЦУ (например, в микропроцессоры). 3.16. Вычитание двоичных кодов. Двоичные субтракторы Субтракторы (от английского subtract – вычитать) – это цифровые устройства, выполняющие вычитание двух двоичных кодов (чисел). Это действие в цифровых системах производится путем арифметического сложения двоичных чисел, где вычитаемое представляется дополнительным кодом, который формируется инвертированием всех цифр числа с последующим прибавлением единицы. Пример: А = 810 = 1000 2; В = 510 = 0101 2; А – В = 8 – 5 = 3 10 = 0011 2. Вычитаемое В (число 5) представляем дополнительным кодом: Вдоп. => 0101 => 1010 + 1 = 1011; а затем выполняем арифметическое сложение числа А с дополнительным кодом числа В (рис.3.48): Таким образом, операция арифметического вычитания двоичных кодов в цифровой технике заменяется выполнением двух других операций: логической операцией инвертирования вычитаемого В (ее выполняют элементы НЕ) и операцией арифметического сложения (она реализуется с помощью сумматора) числа А с дополнительным кодом вычитаемого В, причем прибавление единицы реализуется установкой соответствующего постоянного уровня логической 1 (см. тему 2.9) на входе внешнего переноса С сумматора. Рассмотрим структуру четырехразрядного двоичного субтрактора (рис. 3.49), выполняющего арифметическое вычитание двух двоичных кодов. В схеме покажем сигналы для вычитания двоичных кодов из Примера 1. Алгебраическое вычитание требует учета знака получаемого результата, который определяется значением сигнала старшего разряда: 0 – результат является положительным числом, 1 – отрицательным. В последнем случае он представляет собой дополнительный код, который следует перевести в прямой инвертированием всех сигналов с последующим прибавлением 1. Поэтому субтрактор, выполняющий алгебраическое вычитание, представляет собой схему рис. 3.49, к выходам которой подключается дополнительный блок (его схемотехническое исполнение выходит за рамки данного предмета), который и будет выполнять все описанные сейчас функции. Вычитающие устройства не имеют самостоятельного значения, поэтому не выпускаются в виде отдельных микросхем. Но зато они входят в состав других микросхем, например: цифровых компараторов, АЛУ, микропроцессоров. 3.17. Сравнение двоичных кодов. Цифровые компараторы Компаратор (от английского compare – сравнивать) – это устройство, которое в цифровой технике выполняет сравнение по величине двух двоичных кодов А и В. При этом может получаться один из трех возможных результатов: А>В, А=В и А<В. Соответственно компаратор имеет три указанных выхода, и появление активного сигнала на каком-либо одном выходе указывает на результат сравнения. Сравнение двоичных кодов в цифровой технике выполняется путем их вычитания (см. тему 3.19). Рассмотрим, как при этом следует формировать сигналы результатов сравнения. Из приведенных примеров следует: а) При А<В, в отличие от остальных двух случаев, последний перенос С4 = 0. Проинвертируем его и полученный сигнал подадим на выход А<В: если он = 1, то это и будет свидетельствовать о том, что А<В. Если же он получится = 0, то, следовательно, последний перенос С4 = 1 и имеет место одно из двух (см. пункты 1 и 2) возможных результатов: А=В или А>В. b) Только при А=В результат вычитания во всех разрядах содержит нули. И чтобы в этом случае на выходе А=В получить активный сигнал 1, нужно применить операцию ИЛИ-НЕ к сигналам на выходах Σ0…Σ3. Если же результат хотя бы в одном разряде будет содержать 1 (см. пункты 2 и 3), то результат операции ИЛИ-НЕ получится равным 0, что будет свидетельствовать об одном из двух возможных соотношений: А<В или А>В. c) Одновременное наличие пассивных сигналов 0 на выходе А=В и выходе А<В будет однозначно указывать на результат А>В. И чтобы на этом выходе в данном случае получить активный сигнал 1, нужно применить операцию ИЛИ-НЕ к сигналам на выходах А=В и А<В. Анализ работы этого блока для всех трех случаев предоставляется учащимся выполнить самостоятельно. Микросхемы сравнивающих устройств в третьей группе маркировки имеют первую букву С, а вторая буква указывает конкретный тип компаратора. Микросхемы цифровых компараторов относятся к прочимсравнивающим устройствам, поэтому имеют в маркировке буквы СП. Для примера рассмотрим микросхему четырехразрядного цифрового компаратора КР1533СП1 (рис. 3.51), аналогом которой является микросхема SN74LS185 фирмы «Texas Instruments». Входы А> В, А=В, А <В предназначены для наращивания (увеличения) разрядности: если разрядность сравниваемых кодов больше четырех, то необходимо использовать две или более таких микросхемы, причем выходы А> В, А=В, А <В одной микросхемы (выполняющей сравнение младших разрядов) присоединяются к соответствующим входам другой микросхемы (выполняющей сравнение следующих разрядов) и т.д., то есть аналогично наращиванию разрядности сумматоров (смотрите рис.3.44 из темы 3.14). У компаратора, выполняющего сравнение младших разрядов (а также при использовании одной микросхемы), на входах А>В, А<В должен быть установлен постоянный уровень сигнала логического 0, а на входе А=В – постоянный уровень логической 1. Предлагается учащимся подумать и логически объяснить значения сигналов на указанных входах. На рис. 3.51 показано срабатывание ИМС при сравнении двоичных кодов А = 10112 = 1110 и В = 11102 = 1410, которые подаются на соответствующие входы А и В микросхемы. На входах А>В, А=В, А<В устанавливаются указанные в предыдущем абзаце уровни сигналов. Ясно, что число А меньше числа В, поэтому активный сигнал 1 формируется на выходе А<В, на остальных выходах формируются пассивные сигналы 0. 3.18. Арифметико-логические устройства (АЛУ) АЛУ (ALU – arithmetic and logic unit) – это многофункциональное цифровое устройство, выполняющее определенный набор арифметических, логических и комбинированных операций. Содержит все необходимые для этого элементы и устройства, с которыми мы уже знакомы. Микросхемы АЛУ относятся к группе прочих ЦУ, поэтому маркируются буквами ИП. Рассмотрим для примера микросхему 4-разядного АЛУ КР1533ИП3 (рис. 3.52), аналогом которой является микросхема SN74LS181 фирмы «Texas Instruments». Согласно своей таблице истинности (табл. 3.17) она может выполнять: – логические операции НЕ, И, ИЛИ, И-НЕ, ИЛИ-НЕ, «исключающее ИЛИ» над отдельными разрядами входных кодовых слов; – арифметические операции сложения и вычитания с учетом и без учета внешнего переноса; – определенный набор комбинированных (логических и арифметических) операций; – сравнение двоичных кодов. Рассмотрим назначение выводов указанной микросхемы: А0…А3 и В0…В3 – входы для четырехразрядных кодовых слов, участвующих в заданной операции. СN – вход внешнего переноса. М – вход управления режимами работы. При М=1 АЛУ выполняет чисто логические операции. Если же М=0, то АЛУ в зависимости от значений сигналов на входах S выполняет либо арифметические, либо логические, либо комбинированные операции, объединенные в справочных таблицах истинности общим заголовком «Арифметические операции». S0…S3 – входы выбора режима работы. Сигналы на этих входах определяют конкретный вид выполняемой операции. Наличие входов управления и (или) выбора режима работы является неотъемлемым атрибутом любых многофункциональных ЦУ, способных работать в различных режимах. F0…F3 – выходы, где формируется результат выполненной операции. Значения СN, М и S0…S3 определяются по таблице истинности АЛУ (табл.3.17) для различных операций. СN+4 – выход последнего переноса. Значение сигнала на этом выходе имеет значение только при выполнении операций, включающих арифметические действия. Исполнение любых других операций вызывает появление на выходе СN+4 не определенного заранее сигнала в зависимости от конкретного типа операции и значений входных кодов. А=В – выход признака равенства входных двоичных кодов при их сравнении. Так как в цифровой технике сравнение двоичных кодов (см. тему 3.17) выполняется путем их вычитания, то появление активного сигнала 1 на выходе А=В будет свидетельствовать о равенстве кодов только при использовании операции вычитания без учета внешнего переноса. Если же в этом режиме на выходе А=В появится пассивный сигнал 0, указывающий на неравенство кодов, то о конкретном их соотношении (А>B или A<B) можно судить по сигналу на выходе Сn+4 (см. тему 3.20), учитывая, что данный выход в рассматриваемой микросхеме инверсный: А>B при Сn+4 = 0 и A<B при Сn+4 = 1. Исполнение всех других операций вызывает появление на выходе А=В не определенного заранее сигнала в зависимости от конкретного типа операции и значений входных кодов. При наращивании разрядности открытые коллекторные выходы А=В нескольких микросхем объединяются по схеме «монтажное И» (см. тему 1.8), тогда сигнал на этом объединенном выходе дает результат сравнения входных двоичных кодов в целом. Дополнительные выходы G (выход генерации переноса) и Р (выход распространения переноса) в микросхеме КР1533ИП3 применяются для организации ускоренного переноса при наращивании разрядности АЛУ в том случае, если требуется максимальное быстродействие. Но при этом между корпусами микросхем АЛУ нужно ставить специальные микросхемы СУП типа КР1533ИП4, аналогом которой является микросхема SN74S182 фирмы «Texas Instruments». Еще раз напомним: изучение материала, посвященного СУП, выходит за рамки программы для колледжей. Для примера покажем на рис. 3.52 срабатывание ИМС при выполнении операции А + А·В′, в которой участвуют двоичные коды А = 1011 и В = 1110. Коды А и В подаются на соответствующие входы А0…А3 и В0…В3 микросхемы. Ищем заданную операцию в таблице истинности (табл. 3.23) и определяем, что она относится к группе арифметических операций без учета внешнего переноса (выделена красной рамкой). По этой же таблице сразу же находим значения сигналов на входах: М = 0, S0…S3 = 0100, CN = 1. Полученный четырехразрядный код 1100 укажем на выходах F0…F3. Последний перенос СN+4 получился равным 0, но на инверсном выходе этого переноса будет формироваться 1. Напомним, что сигнал на выходе А=В свидетельствует о правильном соотношении между входными кодами А и В (их равенстве или неравенстве) только при выполнении операции вычитания без учета внешнего переноса. Поэтому в данном случае значение сигнала на выходе А=В указывать не будем; его точное значение можно определить лишь при реальном включении микросхемы. АЛУ обязательно входят в микросхемы любых современных микропроцессоров.. 3.19. Схемы контроля четности Схема проверки (контроля) четности/нечетности (odd/even parity checker) выполняет проверку на четность или нечетность количества единиц в кодовых словах. Применяют их для обнаружения ошибок при передаче данных. Микросхемы таких устройств относятся к группе прочих ЦУ, поэтому имеют в маркировке буквы ИП. Для примера рассмотрим 9-разрядную схему контроля четности КР1533ИП5 (рис. 3.53), аналогом которой является микросхема SN74LS280 фирмы «Texas Instruments». Количество разрядов в этой микросхеме определяется следующим соображением: обычно информация передается по цифровым каналам 8-разрядными или кратными 8 кодовыми словами, а последний разряд (разряд четности) используется в качестве контрольного по четности (см. тему 3.20). A…I – входы для 9-разрядного кодового слова, у которого проверяется количество единиц на четность или нечетность. Результаты проверки формируются на комплементарных выходах EVEN и ODD: при четном количестве единиц во входном коде активный сигнал (признак или флаг четности) появляется на выходе четности EVEN, при нечетном количестве единиц – на выходе нечетности ODD. Не следует забывать, что в случае проверки кода 000000000 (ноль единиц) микросхема выдаст активный сигнал на выходе EVEN, т.к. 0 является четным числом. Сигнал на выходе ODD в совокупности с сигналами на входах А…I всегда дает четное количество единиц. Действительно, если количество единиц во входном кодовом слове четное, т на выходе ODDформируется 0, оставляя общее количество единиц на входах А…I и выходе ODD четным; если же во входном кодовом слове количество единиц нечетное, то на выходе ODD формируется 1, и общее количество единиц на входах А…I и выходе ODD становится четным. Приведем пример срабатывания микросхемы для проверки на четность/нечетность кода 101000010. Этот код содержит 3 единицы, то есть нечетное число, поэтому формируется активный сигнал 1 на выходе нечетности ODD, а на выходе четности EVEN устанавливается пассивный сигнал 0. Разберемся с принципом построения таких устройств. Разберем на пары HI; FG и т. д. (в общем виде Хn, Xn+1) восемь разрядов входного кодового слова и составим таблицу истинности (табл. 3.18) для одной пары (одного двухразрядного кодового слова) и одного выхода четности Yn. При сравнении ее с таблицей истинности логического элемента «исключающее ИЛИ» (табл. 1.4) видно, что табл. 3.18 описывает работу элемента «исключающее 2ИЛИ-НЕ», изображение которого приведено на рис. 3.54а. Нетрудно убедиться, что выходы каждой пары таких элементов также будут связаны аналогичной операцией, поэтому структура схемы контроля четности восьми разрядов входного кодового слова примет вид, изображенный на рис. 3.54b. Теперь достроим схему до конца, добавив вход I девятого разряда. Для достижения этой цели составим таблицу истинности (табл. 3.19) для входов I, Q и выхода четности EVEN. Если у восьми разрядов входного кодового слова нечетное количество единиц (Q = 0), а со входа I приходит сигнал 0, то во всех девяти разрядах количество единиц остается нечетным, поэтому на выходе EVEN формируется 0. Если опять же у восьми разрядов входного кодового слова нечетное количество единиц (Q = 0), но со входа I приходит сигнал 1, то во всех девяти разрядах количество единиц становится четным, поэтому на выходе EVEN формируется 1. Рассуждая аналогичным образом, дополняем таблицу 3.25 для оставшихся двух вариантов Теперь видно, что полученная табл. 3.19 представляет собой таблицу истинности элемента «исключающее ИЛИ». Если кроме этого учесть, что выходы EVEN и ODD микросхемы контроля четности комплементарные, то сигнал на выходе ODD будет всегда противоположен сигналу на выходе EVEN, и тогда окончательная структура схемы контроля четности примет вид, изображенный на рис. 3.55. П р и м е ч а н и е: полученная схема является наиболее простой, хотя ее можно реализовать и на других логических элементах. 3.20. Обнаружение ошибок при передаче и хранении информации с помощью схем контроля четности Рассмотрим, как с помощью микросхем контроля четности можно выявить одиночную ошибку при передаче по каналу связи информации, выраженной 8-разрядным кодовым словом (рис. 3.56). Одновременно с передачей по каналу 8-разрядного кодового слова все его разряды заводятся на первую схему контроля четности в передающей части (на девятом входе этой микросхемы следует установить постоянный уровень логического 0, не влияющий на результат проверки четности), которая выдает флаг четности 1 (если в кодовом слове четное количество единиц) или 0 (при нечетном количестве единиц) в дополнительную линию контроля по четности. Восемь информационных разрядов вместе с флагом четности образуют 9-разрядное кодовое слово, которое и передается по каналу. Очевидно, что в нем будет всегда нечетное количество единиц: если в 8-разрядном коде четное количество единиц, то флаг четности 1 меняет общее количество единиц в 9-разрядном коде на нечетное; если же в 8-разрядном коде нечетное количество единиц, то флаг четности 0 оставляет общее количество единиц нечетным. После прохождения по каналу 9-разрядное кодовое слов (включая флаг четности в линии контроля по четности) передается на входы второй схемы контроля четности уже в приемной части. Если эта схема выдаст пассивный сигнал 0, то количество единиц осталось нечетным, то есть при передаче по каналу искажения информации не произошло (нет ошибки). Если же указанная схема контроля четности выдаст активный сигнал 1, то, следовательно, кодовое слово при передаче изменилось и сумма единиц в нем стала четной; то есть при передаче информации по каналу произошла ошибка – ошибка, выявленная контролем по четности. Такой способ контроля позволяет обнаружить одиночную ошибку, а также несколько ошибок с нечетной кратностью (то есть ошибки в 3, 5 и т. д. разрядах кодовых слов), но он не способен выявить несколько ошибок с четной кратностью. Кроме этого, указанный способ позволяет лишь обнаружить ошибку, но не исправить ее. С помощью контроля четности можно также обнаружить одиночные ошибки в работе устройств, предназначенных для хранения информации, таких, например, как ЗУ (см. тему 4.18). В этом случае одна схема контроля четности ставится на информационных входах, а вторая – на информационных выходах. Дальнейшее развитие принципа контроля по четности приводит к корректирующему коду Хэмминга, который позволяет не только обнаруживать, но и исправлять одиночные ошибки. К сожалению, этот материал выходит за рамки данного предмета для колледжей. 3.21. Узлы мажоритарного контроля Самым простым, пожалуй, способом обнаружения и устранения одиночных ошибок не только при передаче и хранении информации, но и вообще в любых блоках цифровой аппаратуры является тройное резервирование: устанавливаются три одинаковых цифровых блока, на каждый из которых из канала подаются все входные сигналы. Соответствующие друг другу выходы всех трех блоков подключаются к узлу мажоритарного контроля (см. рис. 3.57), который обнаруживает и устраняет появляющиеся одиночные ошибки, выдавая на свой выход и далее в канал правильные сигналы. Количество узлов мажоритарного контроля (УМК) определяется числом выходов каждого блока. Любой УМК (рис. 3.57) состоит из мажоритарного элемента и элемента AER. Мажоритарный элемент (см. тему 1.10) формирует выходной сигнал по принципу голосования «два из трех». Очевидно, что при сбое в одном блоке сигнал на выходе мажоритарного элемента устанавливается в соответствии с правильными сигналами других двух блоков, то есть получается верным и передается в канал. Например, на выходах блоков 1 и 3 (рис. 3.57) формируется сигнал 1, который является правильным. В это же время в блоке 2 произошел сбой, и на выходе этого блока вместо правильного сигнала 1 появился неправильный сигнал 0. Тогда на входы мажоритарного элемента от блоков 1 и 3 поступят правильные сигналы 1, а от блока 2 – неправильный сигнал 0. Так как большинство сигналов – два из трех – правильные сигналы 1, то на выходе мажоритарного элемента также формируется правильный сигнал 1, который и передается в канал. Элемент AER (от английского address – адрес, error – ошибка) формирует двухразрядный адрес (номер) блока, в котором произошел сбой (где сигнал отличается от двух других). Наличие на выходах НВ (high-order bit – старший разряд) и LB (lower-order bit – младший разряд) элемента AER сигналов 00 должно свидетельствовать об отсутствии сбоев в работе всех трех блоков, когда они выдают одинаковые сигналы, то есть об исправности блоков. В рассматриваемом примере (рис. 3.57) сбой произошел в блоке 2, поэтому элемент AER выдаст адрес указанного блока 10 (код цифры 2). Если сбой не случаен и произошел из-за возникшей неисправности блока, то по полученному коду соответствующий (в данном случае второй) блок заменяется исправным. Рассмотрим структуру элемента AER. Для этого сначала составим таблицу его истинности с учетом вышеуказанных соображений (табл. 3.20) и запишем СДНФ для выходов HB и LB. Минимизируем оба этих выражения методом Вейча (рис. 3.58) и запишем МДНФ для выходов HBи LB. Для реализации полученных логических выражений потребуются 3 элемента НЕ, 4 элемента 2Ии 2 элемента 2ИЛИ. Строим структуру схемы AER (рис. 3.59). Проверяем работу этой схемы для примера из рис.3.57. Раздел 4. Последовательностные цифровые устройства Как уже было сказано в теме 1.1, последовательностные ЦУ – это устройства, способные запоминать результаты выполненных операций и хранить эту информацию на своих выходах в виде кодовых слов. У них значение выходного кодового слова определяется не только входным кодовым словом в данный момент времени, но и хранившимся на выходах кодовым словом в предыдущий момент времени. 4.1. Интегральные триггеры. Общие сведения Основой структуры любых последовательностных ЦУ являются элементы памяти, получившие название интегральных триггеров. Любой интегральный триггер – это простейший элемент памяти, способный запомнить и сохранить 1 бит информации: один 0 или одну 1 (термин «бит» произошел от английского binary digit – двоичный разряд, знак, цифра). Соответственно имеет два устойчивых состояния: 0 и 1. В одном состоянии на прямом выходе (см. ниже) триггера удерживается 0, в другом – 1 даже при сбросе активных сигналов на всех его входах. Поэтому в технической и справочной литературе интегральные триггеры часто называют защелками. Интегральные триггеры строятся на логических элементах с применением обратной связи. Например, структура простейшего асинхронного RS-триггера с прямыми статическими входами имеет вид рис. 4.1. Именно применение обратной связи и обеспечивает наличие у триггера двух устойчивых состояний. Любой интегральный триггер имеет два комплементарных выхода (см. рис. 4.1): прямой Q и инверсный Q′. Интегральные триггеры могут иметь входы следующего назначения: R (reset), K – входы сброса (в ноль). При подаче активного сигнала на такой вход триггер устанавливается в состояние 0, то есть на его прямом выходе устанавливается уровень логического 0. S (set), J – входы установки (единицы). При подаче активного сигнала на такой вход триггер устанавливается в состояние 1, то есть на его прямом выходе устанавливается уровень логической 1. D (data) – информационный вход. На прямом выходе триггера устанавливается такой же сигнал, какой подается на вход D. T (complementing) – счетный вход. При подаче активного сигнала на такой вход триггер переключается в другое состояние, то есть тот уровень сигнала, который удерживался на выходе триггера в предыдущий момент времени, меняется на противоположный. C (sync) или CLK (clock) – синхронизирующий вход. Подача активного сигнала на такой вход дает разрешение на срабатывание триггера, причем жестко определяя момент срабатывания (см. тему 4.2). Триггеры, имеющие вход C, называются синхронными, не имеющие такого входа – асинхронными. Асинхронные триггеры практически встречаются редко. 4.2. Управление интегральными триггерами По способу управления входы интегральных триггеров могут быть статическими (см. тему 3.2) и динамическими, для которых активным сигналом является импульс, изображенный на рис.4.2a (точнее, фронт импульса, то есть перепад напряжения на входе с уровня логического 0 до уровня логической 1 или наоборот). Динамические входы могут быть: 1. Прямые динамические, для которых активным сигналом является положительный перепаднапряжения (передний фронт положительного импульса) от уровня логического 0 до уровня логической 1 в момент t1 (см. рис. 4.2a). В технической и справочной литературе такой активный сигнал принято обозначать: _|¯, ↑, Р или POS (positive-going edge – положительный перепад). Два варианта изображения этих входов приведено на рис. 4.2b. 2. Инверсные динамические, для которых активным сигналом является отрицательный перепаднапряжения (задний фронт положительного импульса) от уровня логической 1 до уровня логического 0 в момент t2 (см. рис. 4.2a). В технической и справочной литературе такой активный сигнал принято обозначать: ¯|_, ↓, N или NEG (negative edge – отрицательный перепад). Два допустимых стандартом изображения этих входов приведено на рис. 4.2c. Динамическими, как правило, делают синхронизирующие входы С. В этом случае соответствующий перепад напряжения (перепад логических уровней) на таком входе дает разрешение на срабатывание триггера, а момент перепада t1 или t2 жестко определяет момент срабатывания триггера. 4.3. Структура и особенности работы интегральных триггеров 1. RS-триггеры. Структура и графическое изображение асинхронного RS-триггера с прямыми статическими входами приведена на рис. 4.1 Выполним в качестве примера анализ работы указанного триггера хотя бы для одного случая. Анализ работы любого устройства последовательностного типа, в отличие от комбинационных ЦУ, имеет одну особенность: в первую очередь нужно знать, какие сигналы удерживались (сохранялись) на выходах устройства в предшествующий анализу момент времени (в предыдущем тактовом интервале), а уже затем следует подавать сигналы на входы. Предположим, что триггер находится в состоянии 0. Тогда на его прямом выходе удерживается уровень логического 0, а на инверсном – 1, что и покажем на рис. 4.3. Подадим на вход S активный сигнал 1. При этом сразу же срабатывает элемент В, на выходе которого Q′ устанавливается уровень логического 0 вместо бывшей ранее 1 (это переключение на рис. 4.3 показано красной стрелкой). Этот сигнал 0 с выхода элемента В поступает на нижний вход элемента А (переключение уровня сигнала на этом входе с 1 до 0 также показано красной стрелкой на рис. 4.3), который в свою очередь срабатывает и на его выходе устанавливается уровень логической 1 вместо бывшего ранее 0 (и это переключение показано красной стрелкой на рис. 4.3). Указанная 1 с выхода элемента А передается на верхний вход элемента В (на рис. 4.3 изменение уровня сигнала на верхнем входе элемента В с 0 до 1 показано красной стрелкой), но это уже не приводит к изменению сигнала на выходе данного элемента: как был ранее 0, так он и останется. В результате на прямом выходе триггера установился уровень логической 1 (а на инверсном – 0). Причем нетрудно убедиться, что при снятии активного сигнала 1 со входа S (при установке на входе Sпассивного сигнала 0) ничего не изменится, то есть установленные на выходах уровни сигналов сохраняются. Вывод: при подаче на вход S (вход установки) активного сигнала триггер действительно устанавливается в состояние 1 (на его прямом выходе устанавливается уровень логической 1), о чем и говорилось в теме 4.1. Аналогично при необходимости можно выполнять анализ работы любого триггера (зная его логическую структуру) для нужного случая. Остановимся для RS-триггеров на одном, особом случае, когда на входы R и S одновременно подаются активные сигналы. При этом, как каждый учащийся теперь может убедиться самостоятельно по описанной выше методике, состояние триггера однозначно не определено: на выходе Q может установиться как уровень логического 0, так и уровень логической 1. Поэтому основной особенностью RS-триггеров является нежелательность (и даже прямой запрет) одновременной подачи активных сигналов на оба входа, так как, повторяем, в этом случае заранее неизвестно, какой уровень сигнала установится на выходе. Работу любого триггера (так же, как и работу любого другого ЦУ) в справочной и другой технической литературе принят описывать с помощью таблицы истинности. Попытаемся составить такую таблицу для рассмотренного асинхронного RS-триггера с прямыми статическими входами (табл. 4.1). Вторая строчка. Здесь активный сигнал 1 действует на входе S (входе установки), поэтому на прямом выходе триггера Q устанавливается 1, а на инверсном Q′ – соответственно 0. Пассивный сигнал 0 на входе R влияния на триггер не оказывает. Третья строчка. Если активный сигнал 1 подается на вход R (вход сброса), то на прямом выходе триггера Q устанавливается 0, а на инверсном Q′ – естественно, 1. Пассивный сигнал 0 на входе Sникакого влияния на триггер не оказывает. Четвертая строчка. Этот случай был уже рассмотрен специально: если на обоих входах RS-триггера одновременно действуют активные сигналы (в данном случае 1, так как рассматриваемый триггер имеет прямые статические входы), то здесь заранее неизвестно (не определено), какие сигналы установятся на выходах. Аналогично составляются таблицы истинности для любых других триггеров. Как уже указывалось в теме 4.1, триггеры крайне редко выполняют асинхронными, поэтому рассмотрим структуру и условное графическое изображение синхронного RS-триггера с прямыми статическими входами (рис. 4.6). Как видно из рис. 4.6, активный сигнал 1 со входа S или со входа Rпроходит через соответствующий элемент И непосредственно на триггер и вызывает его срабатывание только при наличии разрешающего активного уровня 1 на входе C. Значительно чаще входы R и S выполняют статическими инверсными. Структура триггера в этом случае реализуется на элементах И-НЕ (рис. 4.5). Предлагается учащимся самостоятельно подумать, как здесь можно организовать вход C 2. JK-триггеры. Как правило, выпускаются синхронными с прямыми статическими входами J и K. Структура и условное графическое изображение приведены на рис. 4.6. Главная особенность JK-триггеров: здесь, в отличие от RS-триггеров, допускается одновременная подача активных сигналов на оба входа. В этом случае при наличии активного разрешающего сигнала на входе С триггер срабатывает как счетный Т, то есть переключается в другое состояние. Отсутствие запрещенных комбинаций входных сигналов объясняется наличием двойной обратной связи (во внутреннем RS-триггере, а также внешнего кольца ОС, показанного красным цветом на рис.4.6) и позволяет отнести такой триггер к типу универсального. Рассмотрим еще один очень важный момент. Напомним, что при наличии активных сигналов одновременно на обоих входах JK-триггера подача активного разрешающего сигнала на вход С приводит к переключению триггера в другое состояние. Но если в дальнейшем оставить на всех входах триггера активные уровни сигналов, то на этом дело не закончится! Триггер сразу же снова начнет переключаться в другое состояние, затем еще раз и т.д., то есть происходит «мерцание» триггера с очень большой частотой, практически в цифровой аппаратуре никому не нужное (за исключением аналоговой техники, где описанное явление используется для построения генераторов прямоугольных импульсов). Именно это привело к необходимости использования динамических входов С для управления работой триггеров. Рассмотрим реальную схему JK-триггера с динамическим инверсным входом С (рис. 4.7). По приведенной схеме попробуйте самостоятельно выполнить следующие задания: – Триггер находится в состоянии 1, то есть на прямом выходе Q удерживается уровень логической 1, а на инверсном Q′ – 0. Установите на входах J и К активные для них сигналы 1, а на входе С – пассивный здесь уровень логической 1 (запрет срабатывания). Убедитесь, что состояние триггера не изменится. – Измените уровень сигнала на входе С от 1 до 0 (дайте разрешение на срабатывание отрицательным перепадом напряжения). Убедитесь, что триггер переключится в другое состояние, но дальнейшего «мерцания» триггера не происходит! При наличии в устройстве динамических синхронизирующих входов следует всегда помнить один исключительно важный момент: необходимые для соответствующего срабатывания устройства уровни сигналов на других входах должны быть уже установлены к моменту подачи сигнала синхронизации! 3. D-триггеры. Путем несложного анализа выясняется, что при наличии разрешения на входе C подача любогосигнала на вход D приводит к установлению такого же уровня на выходе Q, как и было сказано в теме 4.1. Отсюда и следует главная особенность D-триггеров: для входа D любой (и 0, и 1) сигнал является активным, то есть способным изменить состояние триггера. П р и м е ч а н и е: необходимость иметь динамическое управление на входе C приводит к некоторому усложнению схемы синхронного D-триггера (см. справочную литературу) по сравнению со схемой рис. 4.8. 4. T-триггеры. Специальные микросхемы триггеров практически не выпускаются, так как в качестве счетных триггеров можно использовать имеющиеся в широком ассортименте микросхемы синхронных JK– и D-триггеров с динамическим управлением. Вход C можно использовать в качестве счетного T, а объединенные входы J и K – в качестве разрешающего C, но тогда вход T будет динамическим, а вход C – статическим. 5. MS-триггеры. MS– или двухступенчатые триггеры построены по каскадному принципу «мастер-помощник» (MS – от английского: master – мастер, хозяин, ведущее устройство; slave – помощник, раб, ведомое устройство). В качестве примера показаны основа структуры и условное графическое изображение (рис. 4.11) двухступенчатого синхронного JK-триггера с прямым динамическим входом C. Срабатывание этого триггера происходит при подаче целого импульса (рис. 4.2а) на вход C, то есть с обязательным чередованием положительного и отрицательного перепадов напряжения. При этом новые уровни сигналов на выходах триггера в результате его срабатывания окончательно устанавливаются в момент t2(см. рис. 4.2а) повторного изменения уровня сигнала (в данном случае отрицательного перепада напряжения) на входе C. Это объясняется тем, что MS-триггер имеет двухкаскадную структуру (см. рис. 4.11). В момент t1подачи импульса (в момент положительного перепада напряжения) на входе С вместо 0 устанавливается уровень логической 1, что дает разрешение на срабатывание первого каскада под действием сигналов на входах J и К. Одновременно этот же сигнал 1 со входа С инвертируется в 0 с помощью элемента НЕ и блокирует второй каскад, поэтому уровни сигналов на выходах Q и Q′ пока не меняются. В момент t2 окончания импульса (в момент отрицательного перепада напряжения) на входе С устанавливается уровень логического 0, который блокирует первый каскад, и, одновременно инвертируясь с помощью элемента НЕ, дает разрешение на срабатывание второго каскада под действием сигналов с выходов второго каскада, что и может привести к изменению сигналов на выходах Q и Q′. Очевидно, что для срабатывания MS-триггеров с инверсным динамическим входом С требуется чередование сначала отрицательного и затем положительного перепадов напряжения. 4.4. Микросхемы интегральных триггеров Интегральные триггеры имеют как самостоятельное значение и выпускаются в виде отдельных микросхем, так и входят составной частью в микросхемы других ЦУ. Если интегральные триггеры выпускаются в виде самостоятельных микросхем, то в третьей группе их маркировки имеют первую букву Т, а вторая буква указывает вид содержащихся в микросхеме триггеров: ТР – RS-триггеры; ТВ – JK-триггеры; ТМ – D-триггеры. Для примера рассмотрим подробно микросхему КР1533ТВ6 (аналог – микросхема SN74LS107 фирмы «Texas Instruments»), изображенную на рис. 4.12а. Микросхема содержит два синхронных (имеющих вход СLK) JK-триггера с дополнительными асинхронными входами R для сброса. П р и м е ч а н и я. – часто такие асинхронные дополнительные входы R для сброса (в ноль) обозначаются в микросхемах CLR от английского clear – очищать; – иногда микросхемы кроме асинхронного дополнительного входа R (CLR) имеют еще дополнительные асинхронные входы установки (единицы) S, которые в этом случае часто обозначаются PRE от английского preset – заранее устанавливать, задавать. Реальная структура одного такого триггера приведена на рис. 4.12b. Укажем сначала для напоминания назначение всех входов: J – синхронный вход установки (единицы); K – синхронный вход сброса (в ноль); СLK – синхронизирующий вход. Подача активного сигнала на такой вход дает разрешение на срабатывание триггера, при этом жестко определяя момент его срабатывания. Такой сигнал называется тактовым сигналом, сигналом синхронизации или просто синхросигналом. CLR – асинхронный вход сброса (в ноль). На рис. 4.12а этот вход отделен чертой от остальных входов (в том числе от входа СLK). Понятие асинхронного входа в данном случае заключается в следующем: вход СLK для него не является разрешающим, то есть при подаче на вход CLR активного сигнала на выходе триггера устанавливается 0 независимо от наличия или отсутствия активного сигнала на входе СLK, причем остальные входы триггера (J, K и СLK) блокируются. Каждый учащийся может убедиться в этом сам, проанализировав работу триггера по схеме рис. 4.12b для данного случая. Теперь укажем способы управления для всех входов: J и K – входы прямые статические, поэтому для них активным сигналом является 1. Подчеркиваем: для входа J активным сигналом является 1 не потому, что это вход установки (единицы), а потому что он прямой статический! CLR – вход инверсный статический, поэтому для него активным сигналом является 0. СLK – вход динамический инверсный, поэтому для него активным сигналом является отрицательный перепад напряжения прямоугольного импульса (напомним: обозначается ¯|_, ↓ или N), дающий не только разрешение на срабатывание триггера, но и жестко определяющий момент его срабатывания! Рассмотрим примеры срабатывания данной микросхемы. Пример 1. Триггер (один из триггеров микросхемы) находится в состоянии 1. Указать значения сигналов на входах триггеров, при которых на его прямом выходе установится 0. Очевидно, это можно сделать, воспользовавшись либо асинхронным входом сброса (в ноль) R, либо синхронным входом сброса (в ноль) K. Разберем оба варианта. Ответ 1 (рис. 4.13а). Если триггер находится в состоянии 1, то на его прямом выходе Q удерживается уровень логической 1, а на инверсном Q′ – уровень логического 0. Подаем на вход сброса (в ноль) Rактивный сигнал 0 (напомним, что здесь активным сигналом является 0, так как указанный вход инверсный статический), и на прямом выходе триггера Q устанавливается 0 независимо от наличия или отсутствия разрешающего сигнала на входе СLK, так как вход R – асинхронный. Входы J, СLK и К при этом блокируются, поэтому значения сигналов здесь безразличны. Ответ 2 (рис. 4.13b). Подадим на вход сброса (в ноль) К активный сигнал 1 (вход прямой статический). Так как здесь не требуется установки (единицы), то на входе установки (единицы) Jследует установить пассивный уровень логического 0. Но в данном случае на вход J можно подать и активный сигнал логической 1: при этом активные сигналы 1 будут одновременно действовать на входах J и К; и триггер (см. пункт 4 предыдущего параграфа) будет переключаться в противоположное состояние, то есть из 1 в 0 (что нам и требуется). После установки нужных уровней сигналов на входах Jи К подаем сигнал разрешения на вход СLK: так как этот вход инверсный динамический, то для него активным сигналом является отрицательный перепад напряжения прямоугольного импульса. На асинхронном входе R следует установить пассивный уровень логической 1, иначе нужные нам в данном случае входы К и СLK (а также вход J) будут блокированы. Пример 2. Триггер находится в состоянии 0. На входы триггера подаются указанные на рис. 4.13с сигналы. Что происходит с триггером и почему? Ответ. Так как на входе R установлен пассивный уровень логической 1, то триггер сработает под действием сигналов на входах J, K и C. На вход J подается пассивный сигнал 0, не влияющий на состояние триггера. Зато установлен активный уровень логической 1 на входе сброса (в ноль) Rи подается активный сигнал разрешения на вход СLK (отрицательный перепад напряжения прямоугольного импульса), поэтому триггер сбросится в ноль (на прямом выходе триггера Q установится 0). Но так как и раньше на прямом выходе триггера Q удерживался 0, то получается, что в данном случае состояние триггера не меняется. 4.5. Логические элементы – триггеры Шмитта Перепады напряжения, необходимые для синхронизирующих входов триггеров, поступают в основном от специальных генераторов сигналов (генераторов прямоугольных импульсов), дающих практически четко скачкообразные перепады. Но в некоторых случаях сигналы синхронизации формируются на выходах логических элементов или цифровых устройств. Однако при изменении здесь уровней сигналов с 1 до 0 или наоборот получаемые перепады напряжения не имеют достаточно четкой для синхронизации триггеров (и других устройств, построенных на базе триггеров) прямоугольной формы. Кроме этого, на участке любого перепада напряжения будут присутствовать помехи, поступающие из цепей питания. Поэтому для получения относительно четких скачкообразных перепадов напряжения практически строго прямоугольной формы на выходы соответствующих элементов или устройств, где формируются сигналы синхронизации, подключаются специальные логические элементы – триггеры Шмитта. Они представляют собой двухкаскадные усилители со слабой внутренней положительной обратной связью. Глубина обратной связи подобрана так, чтобы получить передаточную характеристику со значительным гистерезисом. Выходной сигнал такого элемента имеет крутые перепады уровней напряжения, длительность которых не зависит от скорости нарастания или спада напряжения на входах. По времени перепад напряжения на выходе триггера Шмитта соответствует моменту, когда уровень сигнала на входе при нарастании превышает напряжение срабатывания Uсрб. (рис. 4.14а), или при убывании становится меньше напряжения отпускания Uотп. (рис. 4.14b). Для ИМС структуры ТТЛШ эти пороги обычно составляют: Uсрб. = 1,7 В, Uотп. = 0,9 В. Микросхемы логических элементов – триггеров Шмитта маркируются ТЛ, и в условном графическом изображении содержат дополнительный знак, показанный внутри элементов на рис.4.15. В качестве примера можно привести микросхему КР1533ТЛ2 (рис. 4.15), аналогом которой является микросхема SN74LS14 фирмы «Texas Instruments». Она содержит 6 элементов НЕ – триггеров Шмитта (6 триггеров Шмитта с инверсией). 4.6. Регистры. Регистры параллельного и последовательного действия Регистр – это цифровое устройство, основным назначением которого является хранение информации. Любой регистр может хранить информацию в виде одного кодового слова. Обнаружить регистры можно практически во всех блоках любой цифровой аппаратуры. Ввиду того, что основным назначением регистров является хранение информации, то и строится они должны на элементах памяти – интегральных триггерах. Количество триггеров в регистре определяется разрядностью кодовых слов, которые должны хранится в данном регистре. Для построения регистров в принципе можно использовать любые триггеры, так как они все являются элементами памяти, но преимущественно применяются синхронные D-триггеры. Регистры могут работать в трех основных режимах: ввод (запись, загрузка, прием), хранение и вывод(выдача) информации. По принципу построения и функционирования регистры делятся на две основные группы: параллельного и последовательного действия. 1. Регистры параллельного действия (регистры D-типа). Рассмотрим структуру простейшего четырехразрядного регистра такого типа, построенного на синхронных D-триггерах (рис. 4.16). Для записи кодового слова (например, кода 1011) в регистр все сигналы этого кода подаются на информационные входы этого регистра одновременно (как уже было указано в конце пункта 2 темы 4.3, соответствующие уровни сигналов на информационных входах должны быть установлены заранее, до момента подачи синхросигнала на вход C). Затем на синхронизирующий вход C подается разрешающий срабатывание импульс синхронизации (в данном случае P – положительный перепад напряжения данного импульса, так как указанный вход C прямой динамический), и все триггеры регистра срабатывают под действием сигналов на входах D: на выходах триггеров устанавливаются такие же логические уровни. После этого регистр автоматически переходит в режим хранения. Положительный перепад напряжения импульса синхронизации вызвал срабатывание регистра, а после окончания импульса на входе С устанавливается постоянный уровень логического 0, при котором триггеры регистра срабатывать не будут даже при изменении сигналов на информационных входах D. И записанное в регистр кодовое слово сохраняется на выходах в виде соответствующих уровней напряжения до подачи на вход С следующего синхросигнала. Регистры с тремя состояниями выходов при хранении информации переходят в Z-состояние. Вывод информации из параллельного регистра обычного типа не требует специальных дополнительных действий: хранящийся код при необходимости просто снимается с выходов. Если же регистр имеет три состояния выходов, то для выдачи хранящегося кодового слова его следует вывести из Z-состояния. 2. Регистры последовательного действия. Структура простейшего четырехразрядного регистра указанного типа, построенного на синхронных D-триггерах, показана на рис. 4.17. Например (рис.4.17), в регистре изначально был записан код 0000, то есть на выходах всех триггеров регистра установлены 0. Подаем сигнал 1 на информационный вход DSR. Затем на синхронизирующий вход С подаем разрешающий импульс, и по положительному перепаду напряжения этого импульса (так как вход С прямой динамический) указанная 1 появляется на выходе первого триггера Q0. Сигнал 0, который был ранее на выходе Q0, «передвигается» на выход Q1 и т. д. Именно поэтому регистры последовательного действия иначе называют сдвигающими. Очевидно, что для записи любого кода в 4-разрядный регистр рис. 4.17 необходимо 4 тактовых интервала. После окончания записи (после окончания серии из четырех тактовых импульсов) регистр автоматически переходит в режим хранения. Для вывода информации из регистра последовательного действия необходимо на вход C снова подать серию синхроимпульсов, тогда устанавливаемые на входе Dуровни сигналов будут «выталкивать» хранящийся код на выход Q3. Указанное на рис. 4.17 движение сигналов в процессе ввода и вывода от младшего разряда к старшему называется сдвигом вправо, поэтому информационный вход в этом режиме работы обычно обозначается DSR (data serial right – информационный вход для последовательной записи со сдвигом вправо) или просто SR. У некоторых регистров последовательного типа информационным является вход D последнего триггера, выход которого подключается ко входу D предыдущего триггера и т. д. с окончательным выходом на Q0. В этом случае при записи и выводе информации движение сигналов будет происходить от старшего разряда к младшему – со сдвигом влево, поэтому информационный вход регистра в таком режиме обычно обозначается DSL (data serial left – информационный вход для последовательной записи со сдвигом влево) или просто SL. Последовательные регистры, способные работать как со сдвигом вправо, так и со сдвигом влево, обычно называются двунаправленными или реверсивными сдвигающими регистрами. Регистры, способные работать как в параллельном, так и в последовательном режимах, обычно называются универсальными. 4.7. Микросхемы регистров. Временные диаграммы Микросхемы регистров имеют в маркировке буквы: ИР. Рассмотрим для примера микросхему четырехразрядного универсального реверсивного сдвигающего регистра К555ИР11 (аналог – микросхема SN74LS194N фирмы «Texas Instruments»), изображенную на рис. 4.18. Выбор в качестве примера микросхемы серии К555, а не КР1533, объясняется в данном случае следующим соображением. В серии КР1533 похожий регистр (КР1533ИР13) является 8-разрядным. Но так как разрядность регистра для объяснения сущности протекающих в нем процессов принципиального значения не имеет, то для сокращения объема излагаемого материала мы выбрали 4-разрядный регистр серии К555. Непосредственно по названию микросхемы, приведенному в справочнике, сразу ясно, что она может работать в качестве 4-разрядного регистра и параллельного, и последовательного действия, причем в последовательном режиме регистр может производить как сдвиг вправо, так и сдвиг влево. Укажем назначение выводов: A, B, C, D – информационные входы для параллельной записи. SR, SL – информационные входы для последовательной записи со сдвигом вправо (SR) и влево (SL). CLK – синхронизирующий вход. CLR – асинхронный вход сброса (в ноль). S0, S1 – входы выбора режима работы (см. табл. 4.2, извлеченную из справочника). Внимание! В этой и других подобных микросхемах установка одного режима работы с помощью этих сигналов приводит к автоматическому отключению системой управления других ее режимов. Упрощенная логическая структура данной микросхемы имеет вид, изображенный на рис. 4.19. Рассмотрим все возможные режимы работы микросхемы К555ИР11 на конкретных примерах. Пример 1. Указать значения сигналов на всех выводах микросхемы для параллельной загрузки в регистр кода 1010. Ответ приведен на рис. 4.20. На асинхронном входе сброса CLR следует установить пассивный уровень логической 1, иначе запись нужного кода происходить не будет (напомним, что при подаче активного сигнала 0 на вход CLRвсе стальные входы блокируются). На входах выбора режима работы S1,S0 устанавливаются сигналы 11 (см. табл. 4.2), обеспечивающие параллельную работу регистра. На информационных входах A…D устанавливаются сигналы 1010 заданного кода. После этого на вход CLK подается синхросигнал (разрешающий импульс), и в результате сигналы поданного на входы A…D кода записываются каждый в свой триггер и устанавливаются на выходах QA… QD. Срабатывание будет происходить по положительному перепаду напряжения импульса, так как указанный вход прямой динамический. Код 11 на входах S1,S0 одновременно с включением цепей для параллельной работы отключает последовательные цепи SR – QD и SL – QA (см. рис. 4.23). Поэтому значения сигналов на информационных входах SR и SL для последовательной записи в данном случае безразличны, так как они все равно записываться в регистр не будут. Пример 2. Указать значения сигналов на всех выводах регистра для обеспечения режима хранения записанного в предыдущем примере кода 1010. Ответ приведен на рис. 4.21. На асинхронном входе сброса CLR следует установить пассивный уровень логической 1, иначе при установке здесь 0 произойдет сброс и записанный в предыдущем примере код 1010 не сохранится. На входах выбора режима работы S1,S0 устанавливаются сигналы 00 (см. табл. 4.2), обеспечивающие режим хранения. В этом режиме независимо от значений сигналов на всех информационных входах (A…D, SR, SL) даже при подаче синхроимпульса на вход CLK запись сигналов с любых информационных входов происходить не будет, так как все информационные цепи в данном случае отключаются кодом 00 на входах S1,S0. В результате на выходах QA… QD будет сохраняться код 1010, записанный в предыдущем примере. Пример 3. Указать значения сигналов на всех выводах микросхемы для обеспечения сброса (в ноль). Ответ приведен на рис. 4.22. Очевидно, что в результате выполнения указанной операции на всех выходах Q должны устанавливаться уровни логического 0. Для этого достаточно подать активный сигнал 0 на асинхронный вход сброса CLR. При этом все остальные входы блокируются, поэтому значения сигналов здесь безразличны. Пример 4. Указать значения сигналов на всех выводах микросхемы для последовательной записи в регистр первого сигнала кода 1010 со сдвигом вправо, если перед началом записи регистр (как в примере 3) был сброшен в ноль (в принципе безразлично, какой код хранился в регистре до начала записи; указанное условие принято просто для определенности). Ответ приведен на рис. 4.23. Решение данного примера уже было показано в теме 4.6 на рис.4.17. Но в данной микросхеме, в отличие от рис.4.17, выходы вместо Q0,Q1,Q2,Q3 обозначены QA, QB, QC, QD. В данном случае первым сигналом кода 1010, подлежащим записи, является сигнал старшего разряда 1, чтобы он в конце записи установился на выходе QD старшего разряда регистра, передвигаясь в процессе ввода от младшего разряда к старшему (при последовательной записи со сдвигом влево запись следует начинать с сигнала 0 кода 1010, чтобы он в конце записи установился на выходе QАмладшего разряда регистра, передвигаясь в процессе ввода от старшего разряда к младшему). Снова, как и в примере 3, на асинхронном входе сброса CLR следует установить пассивный уровень логической 1, иначе запись происходить не будет (напомним, что при подаче активного сигнала 0 на вход CLR все остальные входы блокируются). На входах выбора режима работы S1,S0 устанавливаются сигналы 01 (см. табл. 4.2), обеспечивающие режим последовательной записи со сдвигом вправо. На информационном входе SR для последовательной записи со сдвигом вправо устанавливается уровень логической 1 (первый сигнал 1 кода 1010). Послеэтого на вход CLK подается синхросигнал (в данном случае положительный перепад напряжения, так как указанный вход прямой динамический), в результате поданный на вход SR сигнал 1 записывается в первый триггер (см. рис. 4.19) и устанавливается на выходе QA. Хранившийся ранее на этом выходе сигнал 0 вытесняется вниз и появляется на выходе QB, в свою очередь сдвигая вниз все остальные сигналы. Код 01 на входах S1,S0 одновременно с включением цепи для последовательной работы со сдвигом вправо SR – QD (см. рис. 4.19) отключает последовательную цепь со сдвигом влево SL – QAи параллельные цепи A…D – QA… QD. Поэтому значения сигналов на информационном входе SL для последовательной записи со сдвигом влево и на информационных входах A…D для параллельной записи в данном случае безразличны, так как они все равно записываться в регистр не будут. Пример 5. Показать полностью процесс последовательной записи в регистр кода 1010 со сдвигом вправо при помощи временной диаграммы, если перед началом записи регистр (как в примере 4) был сброшен в ноль (в принципе безразлично, какой код хранился в регистре до начала записи, так как в процессе загрузки он все равно будет вытеснен из регистра; указанное условие принято просто для определенности), а на входе SR удерживался уровень логического 0 (опять же безразлично, какой сигнал был на входе SR, потому что до подачи первого синхроимпульса он все равно не будет записываться в регистр; указанное условие снова принято просто для определенности). Ответ приведен на рис. 4.24а. Еще раз напоминаем: соответствующие уровни сигналов на информационном входе SRустанавливаются в каждом тактовом интервале заранее, до момента подачи очередного синхросигнала на вход СLK. При необходимости последовательный вывод информации из регистра осуществляется вытеснением хранящегося кодового слова любыми другими сигналами, которые подаются на информационный вход SR, по синхросигналам на входе СLK. На рис. 4.24b показан последовательный вывод со сдвигом вправо на выход QD (см. рис. 4.19) хранящегося в регистре кодового слова 1010, которое в данном случае вытесняется подающимися на вход SR сигналами 0. Для полного вывода кодового слова на выход QD здесь достаточно трех синхросигналов, так как первый сигнал 1 кода 1010 уже находился на выходе QD до начала процесса вывода. П р и м е ч а н и е. На диаграммах показано, что переключение любого триггера регистра и установка на его выходе нового уровня сигнала происходит одновременно с положительным перепадом напряжения на входе СLK. На самом деле это не совсем так: установка нового уровня сигнала на выходе по отношению к положительному перепаду напряжения на входе СLK происходит с задержкой, равной времени задержки распространения сигнала для данного триггера. Но принятый на рис.4.24 относительный масштаб времени эту величину увидеть просто не позволяет. Из приведенных примеров видно, что рассмотренная микросхема регистра К555ИР11 может производить прием информации в параллельной форме со входов A…D, а выдачу – не только в параллельной форме на выходы QA… QD, но и в последовательной как со сдвигом вправо на выход QD, так и со сдвигом влево на выход QA (см. рис. 4.19). Она также может осуществлять прием информации в последовательной форме со сдвигом вправо со входа SR и со сдвигом влево со входа SL, а выдачу – в параллельной форме на выходы QA… QD, и в последовательной как со сдвигом вправо на выход QD, так и со сдвигом влево на выход QA. Поэтому подобного типа регистры иногда используются для преобразования потоков информации из последовательной формы в параллельную (см. тему 1.1) и наоборот. 4.8. Регистровые файлы При необходимости одновременного хранения нескольких кодовых слов организуются блоки регистровой памяти – регистровые файлы. В качестве примера можно привести микросхему КР1533ИР26 (рис. 4.25), аналогом которой является микросхема SN74LS670 фирмы «Texas Instruments». Она содержит четыре адресуемых 4-разрядных регистра параллельного действия с тремя состояниями выходов. Назначение выводов: RDA, RDB (от английского read – читать) – адресные входы при считывании (выводе информации из регистра). Сюда подается двухразрядный код номера того регистра, из которого нужно вывести код на выходы QA… QD. ERD (enable read) – разрешение считывания. При наличии на этом входе пассивного уровня сигнала выходы микросхемы переводятся в Z-состояние. Раздельная система адресации и разрешения для записи и считывания позволяет одновременно производить запись по одному адресу и считывать по другому. При необходимости одновременного хранения более четырех кодовых слов преимущественно применяются уже другие специальные микросхемы (см. тему 4.18). 4.9. Счетчики. Основные понятия и классификация Счетчик – это цифровое устройство, выполняющее подсчет поступающих на его счетный входцифровых сигналов (практически всегда – импульсов). Используются они очень широко, в большинстве блоков цифровой аппаратуры. Очевидно, что в процессе счета любой счетчик должен запоминать получаемые результаты и хранить их в паузе между поступающими на счетный вход импульсами. Поэтому основными составляющими структуры любого счетчика являются элементы памяти – интегральные триггеры. Количество триггеров в счетчике «n» определяется из соотношения 2n ≥ N. Для построения счетчика в принципе можно применять любые триггеры, однако наиболее простые схемы получаются при использовании Т– или JK-триггеров. Обычные типовые счетчики начинают счет с нуля, а последний импульс цикла возвращает счетчик в исходное нулевое состояние. В некоторых счетчиках предусмотрена возможность счет начинать не с нуля, а с любого другого числа в пределах его модуля счета (см. §4.12). По направлению счета различают счетчики трех видов: 1. Суммирующие (прямого счета), у которых каждый поступающий на счетный вход импульс увеличивает число в счетчике на единицу. 2. Вычитающие (обратного счета)), у которых каждый поступающий на счетный вход импульс уменьшает число в счетчике на единицу. 3. Реверсивные (с изменением направления счета), которые способны работать как в режиме суммирования, так и в режиме вычитания. Такие счетчики могут быть двух видов: – имеют два счетных входа (как на рис.4.47): при поступлении импульсов на один вход (UP) они будут суммироваться, на другой (DOWN) – вычитаться; – с одним счетным входом, тогда такой счетчик будет иметь дополнительный вход управления режимами работы (например, UP/DOWN′): при подаче на этот вход сигнала 1 счетчик переходит в режим суммирования, при 0 – в режим вычитания. Одним из главных параметров любого счетчика является коэффициент счета (цикл счета, модуль счета, коэффициент деления, емкость) N (или M, или P в различных учебниках и другой технической литературе). Он показывает, какое максимальное количество импульсов способен подсчитать данный счетчик. По коэффициенту счета различают следующие типы счетчиков, формирующие результат счета двоичным кодом: 1. Двоичные, имеющие коэффициент счета N = 2n: 2 (одноразрядные), 4 (2-разрядные), 8 (3-разрядные) и т. д. В изображении таких счетчиков ставится обозначение: СТ2. 2. Двоично-десятичные (декадные) с коэффициентом счета N = 10, которые обозначаются: СТ2/10. 3. Счетчики с другим (не равным 2n или 10) фиксированным коэффициентом счета. 4. С переменным управляемым коэффициентом счета. В изображении двух последних типов счетчиков ставится обозначение: СТ. В процессе счета, так же как и при выполнении арифметического сложения (см. тему 3.16), должны формироваться сигналы переноса из одного разряда в следующий. По способу организации переносасчетчики могут быть с последовательным и параллельным переносом.. 4.10. Счетчики с последовательным переносом. Деление частоты Последовательный способ организации переноса обычно применяется в двоичных счетчиках, причем для их построения в основном используются Т-триггеры с динамическим входом Т. Для примера приведем структуру суммирующего трехразрядного двоичного счетчика с коэффициентом счета N = 2 3 = 8 (рис. 4.27). Результат подсчета поступающих на счетный вход импульсов формируется на выходах QА, QВ, QС в виде трехразрядного двоичного кода. Здесь счетчик представляет собой цепочку последовательно соединенных триггеров с динамическими входами Т, где подлежащие подсчету импульсы поступают и воздействуют на вход Т только первого триггера. На второй триггер действуют сигналы с выхода первого, на третий – с выхода второго. Таким образом, сигналы переноса в данном случае передаются последовательно. Проиллюстрируем работу такого счетчика с помощью временной диаграммы (рис. 4.28). При построении диаграммы предположим, что перед началом работы счетчик был сброшен в ноль, а также учтем, что в схеме стоят Т-триггеры с инверсным динамическим входом Т, срабатывание которых происходит от отрицательного перепада напряжения на данном входе (эти моменты показаны на рис. 4.28 штриховыми линиями). Отрицательный перепад каждого входного импульса будет переключать первый Т-триггер в другое состояние, а формирующиеся в процессе счета на выходах триггеров отрицательные перепады напряжения будут являться сигналами переноса и переключать последующие триггеры. По диаграмме несложно проследить, что входные импульсы последовательно увеличивают число в счетчике на 1 (то есть данный счетчик является суммирующим), а последний 8-й импульс вернет счетчик в исходное нулевое состояние. Задание учащимся: Построить временную диаграмму двоичного трехразрядного счетчика с последовательным переносом на Т-триггерах с прямым динамическим входом Т. Какой счетчик получается в этом случае? Задания учащимся: – Построить временную диаграмму и ответить на вопрос: какой счетчик мы получили? – Построить временную диаграмму для аналогичной схемы, но построенной на Т-триггерах с прямым динамическим входом Т, и ответить на вопрос: какой счетчик получается в этом случае? Вернемся к временной диаграмме (рис. 4.28) и обратим внимание на следующий момент: на всех выходах (QА, QВ, QС) счетчика в процессе счета формируются прямоугольные импульсы, но с меньшей частотой следования (большим периодом повторения), чем на счетном входе. Поэтому любой счетчик может использоваться не только для подсчета импульсов, но и в качестве делителя частоты. Именно из-за этого цифровые счетчики часто называют счетчиками-делителями, а их коэффициент счета – коэффициентом деления. Рассмотрим, какое деление может выполнять рассмотренный трехразрядный двоичный счетчик. На выходе QА период повторения импульсов ТвыхА получается (см. рис. 4.28) в два раза больше по сравнению с частотой повторения входных импульсов Твх, а, следовательно, частота следования – в два раза меньше. На выходе QВ частота следования импульсов получается в 4, а на выходе QС – в 8 раз меньше, чем на счетном входе. Получаемые соотношения справедливы для любых двоичных счетчиков, причем при увеличении разрядности на выходе QD получается деление частоты на 16, на выходе QE – на 32 и т. д. с кратностью 2n. Примером счетчика с последовательным переносом является микросхема КР1533ИЕ5 (рис. 4.30), аналогом которой является микросхема SN74LS93 фирмы «Texas Instruments». Она содержит два независимых (они могут использоваться раздельно) счетчика: Если выход первого счетчика QA соединить со счетным входом СКВ второго счетчика, то получится счетчик-делитель на 16 (двоичный четырехразрядный счетчик с коэффициентом счета 16), который будет иметь счетный вход СКА и четыре выхода QA, QB, QC и QD. Микросхема имеет два входа сброса (в ноль) R01 и R02, объединенных по И. Данное выражение означает следующее: внутри микросхемы находится элемент 2И со входами R01 и R02 и выходом, подключенным к прямым статическим входам R всех триггеров. Поэтому сброс в ноль сразу всех триггеров счетчика происходит только при одновременной установке активного сигнала 1 на обоих входах R01 и R02. П р и м е ч а н и е. На диаграмме (рис. 4.28) показано, что переключение любого триггера и установка на его выходе нового уровня сигнала происходит одновременно с отрицательным перепадом напряжения на входе T. В выбранном нами для построения диаграммы временном масштабе для человеческого глаза действительно будет казаться так. Но на самом деле это не совсем верно: установка нового уровня сигнала на выходе по отношению к отрицательному перепаду входного напряжения происходит с задержкой, равной времени задержки распространения сигнала tp для данного триггера. Начертим временную диаграмму (рис. 4.31) рассматриваемого счетчика, увеличив реальное значение tpдо заметной глазу величины, ограничив количество входных импульсов до трех для упрощения рисунка. Величину tp выделим на диаграмме синей штриховкой. Из данного рисунка отлично видно, что последовательный способ передачи переносов с учетом задержки распространения сигналов приводит к появлению ложных состояний: в частности, после выходного кода 001 (код цифры 1) сначала на выходах появляется ложное состояние 000 (код цифры 0), а уже затем – правильное состояние 010 (код цифры 2). Если достраивать диаграмму для последующих входных импульсов, то можно легко убедиться, что после состояния 011 (код цифры 3) будут появляться на выходе даже два ложных состояния: сначала 010 (код цифры 2), затем 000 (код цифры 0), и только потом установится правильное состояние 100 (код цифры 4). Опасность появления ложных состояний и их воздействия на последующие за счетчиком узлы цифровой аппаратуры заставляет при необходимости применять стробирование выходов счетчиков с последовательным переносом (что практически применяется крайне редко) или выполнять такие счетчики синхронными. Принцип организации синхронного счетчика с последовательным переносом показан на рис. 4.32. При ме чани е: На входе Т первого триггера счетчика должен поддерживаться постоянный уровень логической 1. Здесь, в отличие от схемы рис. 4.27, все триггеры срабатывают одновременно при подаче очередного импульса на счетный вход, но формирование переносов происходит все равно последовательно с помощью цепочки логических элементов И. Поэтому величина паузы между импульсами должна дать возможность сработать не только триггерам (срабатывают одновременно!), но и всем логическим элементам путем их последовательного переключения. 4.11. Счетчики с параллельным переносом Построение счетчиков с циклом N ≠ 2 n (декадных, с другим коэффициентом счета) требует наличия в схеме дополнительных цепей связи (причем некоторые из них будут обратными), которые позволяют формирующимся здесь сигналам переноса переключать триггеры счетчика из одного состояния в другое по заданным условиям. Такие связи организуются по Т, D, JK, RS входам триггеров с применением, при необходимости, дополнительных логических элементов. Счетным входом в этом случае будет объединенный синхронизирующий вход С (CLK) всех триггеров, что позволяет цепи синхронизации и цепям переноса функционировать параллельно и дает возможность всем триггерам (в отличие от счетчиков с последовательным переносом) срабатывать одновременно. Принцип организации счетчиков такого типа лучше всего показать, используя хорошо знакомые нам способы синтеза цифровых устройств. Приведем пример. Разработать схему вычитающего счетчика с коэффициентом счета N = 14. Начальное состояние – 0. Результат подсчета формируется на выходах в виде обычного двоичного кода. Последний импульс цикла должен возвращать счетчик в исходное нулевое состояние. При решении данной задачи мы будем использовать реальные микросхемы интегральных триггеров и логических элементов в следующих целях: – еще раз закрепить навыки синтеза цифровых устройств, особенно в свете предстоящего выполнения курсовой работы; – именно так при необходимости можно построить нестандартный счетчик (например, подсчитывающий только нечетные импульсы, или выдающий результат подсчета в каком-либо коде, отличном от стандартного двоичного, и т.д.). 1. Определим назначение основных выводов счетчика, количество и вид триггеров в счетчике. По заданию счетчик должен работать только в одном счетном режиме – вычитания, поэтому и счетный вход у него тоже будет один. Из соотношения 2n ≥ N количество триггеров в счетчике n = 4, поэтому счетчик будет иметь 4 выхода. Выбираем для построения счетчика JK-триггеры. 2. Составляем таблицу истинности счетчика (табл. 4.3). П р и м е ч а н и я к таблице: – Показаны результаты подсчета привычными нам десятичными числами, а также двоичными кодами непосредственно на выходах счетчика. Здесь видно, что первый поступивший на счетный вход счетчика импульс вызывает переключение счетчика из исходного нулевого состояния в 13 (коэффициент счетчика N = 14, поэтому 14 -1 = 13), и на выходах счетчика вместо нулей устанавливается соответствующий числу 13 двоичный код 1101; второй импульс переключает счетчик из 13 в 12, и на выходах счетчика формируется соответствующий числу 12 двоичный код 1100; и далее каждый поступающий на счетный вход счетчика импульс уменьшает (счетчик вычитающий!) число в счетчике на 1; последний 14-й импульс цикла возвращает счетчик в исходное нулевое состояние. Например: по табл. 4.3 видно, что 1-й импульс переключает третий триггер (триггер с выходом Q3) из 0 в 1; по табл. 4.4 смотрим, что для этого на входах J3 и K3 нужно установить следующие уровни сигналов: J3 = 1, K3 = x; указываем эти значения в соответствующих колонках табл. 4.3 в строке для 1-го импульса. Второй импульс (см. табл. 4.3) переключает этот же триггер из 1 в 1; по табл. 4.4 смотрим, что для обеспечения указанного перехода на входы J3 и K3 нужно подать сигналы: J3 = x, K3 = 0; указываем эти значения в соответствующих колонках табл. 4.3 в строке для 2-го импульса. Таким же образом определяются необходимые уровни сигналов на входах J и K для последующих импульсов, а также для других триггеров. 3. Определяем порядок заполнения карт Вейча (см. п. 3 из темы 3.9). Для каждой строки табл. 4.3 записываем многочлены СДНФ и определяем их место в карте Вейча (рис. 4.33). 4. Для входов J и K всех триггеров заполняем карты Вейча и производим объединение клеток (рис. 4.34). П р и м е ч а н и е: для входов J0 и K0 карты чертить не обязательно: по табл. 4.3 сразу видно, что сигналы на входах J0 и K0 не имеют нулевых значений, поэтому у них будут заполнены и объединены все 16 клеток. 5. Записываем МДНФ для входов J и K всех триггеров: J0 = K0 = 1. J1 = Q3·Q0′ \/ Q2·Q0′. K1 = Q0′. J2 = K2 = Q1′·Q0′. J3 = K3 = Q2′·Q1′·Q0′. Внимание! При подсчете элементов следует учесть, что логическое отрицание переменных Q здесь делать не нужно и инвертирующих элементов в схеме не потребуется. Вспомним, что Q – это выходы триггеров. Но любой триггер имеет два комплементарных выхода, поэтому Q′ – это просто инверсные выходы триггеров! Можно построить схему счетчика непосредственно в этом базисе на элементах И и ИЛИ, причем это будет даже выгоднее и с точки зрения аппаратурных затрат, и с точки зрения задержки, чем в базисе И-НЕ (см. следующий пункт). Но мы все-таки попытаемся построить схему счетчика на элементах И-НЕ, чтобы показать один важный момент. 6. Переходим к базису И-НЕ и определяем требуемое количество логических элементов. Выражения для J0, K0, K1 не содержат операций И и ИЛИ, поэтому здесь никакого перехода не требуется: J0 = K0 = 1. K1 = Q0′. Выражение для J1 имеет стандартную дизъюнктивную форму, поэтому переход к базису И-НЕ здесь производится обычным способом: J1 = [Q3·Q0′ \/ Q2·Q0′]′′ = [(Q3·Q0′)′ \/ (Q2·Q0′)′]′ = = (Q3 / Q0′) / (Q2 / Q0′). Реализация данного логического выражения требует использования трех элементов 2И-НЕ. Выражение для J2, K2 содержит только один многочлен, поэтому переход к базису И-НЕ в данном случае не может производиться обычным способом. Такой вариант нам уже встречался в дешифраторах (см. п.4 из параграфа 3.7), где мы выходили из положения инвертированием обоих частей любого логического выражения. Если применить указанный способ и сейчас, то входы J2, K2 (левая часть выражения) получатся инверсными. Но ведь реальные JK-триггеры имеют прямые статические входы Jи K! Следовательно, чтобы входы J и K все-таки оставались прямыми, нужно дважды инвертировать правую часть выражения для J2, K2: J2 = K2 = (Q1′·Q0′)′′ = (Q1′ / Q0′)′. Схемная реализация полученного логического выражения с помощью элементов И-НЕ будет иметь вид (рис. 4.35). Таким образом, для реализации логического выражения J2, K2 потребуется 2 элемента 2И-НЕ. Если учесть, что реализация тех же J2, K2 из пункта 5 требует лишь одного элемента 2И, то в данном случае при переходе к базису И-НЕ увеличиваются аппаратурные затраты. Мало того, здесь увеличивается и задержка, так как сигналы на входы J2, K2 проходят (см. рис. 4.35) уже через два элемента. Выражение для J3, K3 имеет аналогичный вид, поэтому переход к базису И-НЕ производится так же: J3 = K3 = (Q2′·Q1′·Q0′)′′ = (Q2′ / Q1′ / Q0′)′. Схемная реализация в данном случае также имеет вид, аналогичный рис. 4.35, но только первым будет стоять элемент 3И-НЕ, так как здесь операция И-НЕ производится над тремя сигналами: Q2′, Q1′и Q0′. Таким образом, для реализации логического выражения, потребуется 1 элемент 3И-НЕ и 1 элемент 2И-НЕ. 7. Определяем общее количество компонентов. В итоге схема счетчика должна содержать: 4 JK-триггера, 6 элементов 2И-НЕ и 1 элемент 3И-НЕ. 8. Подбираем микросхемы: по две микросхемы КР1533ТВ6, КР1533ЛА3 и одна микросхема КР1533ЛА4. 9. Строим схему счетчика в базисе И-НЕ (рис. 4.36). П р и м е ч а н и е. Вернемся к логическому выражению для J0 = K0 = 1. Отсюда видно, что в данном случае на входах J0 и K0 должен поддерживаться постоянный уровень логической единицы. Если учесть, что у нас элементной базой являются микросхемы серии КР1533, то (см. тему 2.9) здесь в качестве источника постоянного сигнала логической 1 лучше всего использовать напряжение питания микросхем (UCC), которое можно подключать напрямую. 10. Составляем перечень элементов к этой схеме (табл. 4.5): 11. Выполним на рис.4.36 анализ работы счетчика для одного переключения (в табл.4.3 показано красной стрелкой): из числа 2 (код 0010) в число 1 (код 0001). В исходном состоянии на прямых выходах триггеров хранились сигналы 0010 (выделено голубым цветом в табл.4.3. и на схеме). По схеме определяем, какие сигналы поступают на входы J и K всех триггеров. Теперь подаем очередной импульс на счетный вход. Тогда от отрицательного перепада этого импульса (входы CLK инверсные динамические) срабатывают триггеры: – на входы J0 и K0 (входы 1J и 1К микросхемы D1) поступают активные сигналы 1 и 1 (активными будут сигналы 1, т.к. входы прямые статические), и триггер переключается в другое состояние (смотрите пункт 2 из темы 4.3): на его прямом выходе сигнал меняется из 0 в 1; – на входах J1 = 0, K1 = 1 (входы 2J и 2К микросхемы D1), под действием активного сигнала 1 на входе K1 (вход сброса) произойдет сброс этого триггера и на его прямом выходе установится сигнал 0 (была 1); – на входах J2 = 0, K2 = 0 (входы 1J и 1К микросхемы D2), а также J3 = 0, K3 = 0 (входы 2J и 2Кмикросхемы D2) только пассивные сигналы 0, поэтому состояние триггеров не меняется: на прямых выходах были 0 и остаются 0. В результате на выходах счетчика сформировался код 0001 (в схеме выделен зеленым цветом). Проверяем этот результат по табл. 4.3 (здесь тоже выделен зеленым цветом) и делаем вывод: в данном случае счетчик сработал правильно. В качестве примера счетчика с параллельным переносом рассмотрим микросхему декадного (двоично-десятичного) суммирующего счетчика КР1533ИЕ2 (рис. 4.37), аналогом которой является микросхема SN74LS90 фирмы «Texas Instruments». Она очень похожа на микросхему КР1533ИЕ5 и содержит два независимых счетчика: 1. Счетчик-делитель на 2 (двоичный одноразрядный счетчик с коэффициентом счета 2) со счетным входом СКА и выходом QA, состоящий из одного триггера. 3. Если выход первого счетчика QA соединить со счетным входом СКВ второго счетчика, то получится счетчик-делитель на 10 (декадный счетчик с коэффициентом счета 10), который будет иметь счетный вход СКА и четыре выхода QA, QB, QC и QD. Полученный в этом случае счетчик имеет групповую структуру с последовательно – параллельным переносом: из первого счетчика в второй перенос передается последовательно, а во втором счетчике перенос организуется параллельно. В этом случае микросхема может выполнять деление частоты на 2 с выхода QA и на 10 с выхода QD, но на выходах QB, QC последовательность импульсов получается апериодической. Микросхема имеет два входа сброса (в ноль) R01 и R02, объединенных по И. Кроме этого, счетчик имеет два объединенных по И входа R91, R92 предустановки 9: при одновременной подаче активных сигналов на оба эти входа устанавливается код 9 (1001) на выходах QA, QB, QC и QD. 4.12. Примеры работы микросхем счетчиков Рассмотрим работу микросхемы КР1533ИЕ9 (аналог – микросхема SN74ALS160А фирмы «Texas Instruments»), изображенной на рис. 4.38, в различных режимах. Указанная микросхема представляет собой суммирующий декадный (с коэффициентом счета N = 10) счетчик с предустановкой. Укажем назначение выводов: CLK – счетный вход. Срабатывание данного счетчика происходит от переднего фронта (положительного перепада напряжения) импульса, т.к. данный вход прямой динамический. CLR – асинхронный вход сброса. A,B,C,D – информационные входы предварительной загрузки (предустановки) кода того числа, с которого необходимо начинать счет. В данном счетчике имеется возможность начинать счет импульсов не с 0, а с любого другого числа в пределах его коэффициента счета. LOAD (загрузка) – разрешение предустановки. Предварительная загрузка производится при активном уровне сигнала на входе LOAD по синхроимпульсу на входе CLK. ENT (enable Т – разрешение счета) и ENP (enable Р – разрешение переноса) – входы, используемые лишь при каскадном соединении счетчиков (см. тему 4.13). В режиме счета на этих входах должен поддерживаться уровень логической 1, в остальных режимах значения сигналов на этих входах могут быть любыми. QA, QB, QC, QD – выходы, где формируется результат подсчета импульсов в двоичном коде. RCO – выход окончания счета или выход переноса (carry out). Здесь устанавливается активный уровень при достижении конца счета, когда на выходах QA, QB, QC, QD появляется код 1001 последнего числа цикла – 9. При сбросе на выходе RCO устанавливается пассивный сигнал. На этапе предварительной установки данный выход не нужен, поэтому здесь может устанавливаться любой сигнал в зависимости от конкретного загружаемого кода. Предположим, что на выходах счетчика изначально хранился код числа 9 → 1001. П р и м е ч а н и е. Каждый последующий пример является продолжением предыдущего в следующем такте. Пример 1. Указать значения сигналов на всех выводах микросхемы для сброса. Ответ приведен на рис. 4.38. В результате выполнения данной операции на выходах QA, QB, QC, QD должны установится уровни логического 0. Для этого достаточно на асинхронный вход сброса CLR подать активный сигнал логического 0. Так как вход CLR асинхронный и всегда обладает приоритетом, то указанный сигнал 0 заблокирует все остальные входы, поэтому значения сигналов здесь будут безразличны (знак «х»). Хранившийся на выходах QA, QB, QC, QD код числа 9 (1001) – это конец счета (счетчик суммирующий декадный), поэтому на выходе RCO сохранялся активный сигнал 1. Как уже было сказано выше, при сбросе на выходе RCO формируется пассивный сигнал 0. Пример 2. Указать значения сигналов на всех выводах микросхемы для предварительной установки в счетчике кода числа 5 (0101). Ответ приведен на рис. 4.39. В результате выполнения указанной операции на выходах счетчика QA, QB, QC, QD должен установиться код 0101 числа 5. Для этого на входе LOAD следует установить активный уровень логического 0, разрешающий загрузку нужного кода. Сам код 0101 подаем на информационные входы ABCD. При подаче синхроимпульса на вход CLK микросхема срабатывает и на выходах QA, QB, QC, QD устанавливается код 0101, который подавался на входы ABCD. На входе CLR устанавливаем пассивный уровень логической 1, иначе остальные входы счетчика будут блокированы и никакой загрузки не произойдет. Так как рассматриваемый режим работы не является режимом счета, то значения сигналов на входах ENT и ENP в данном случае безразличны (знак «х»). На выходе RCO в процессе предустановки кода 0101 формируется сигнал 1, что определено из опыта. Напомним: сейчас этот сигнал не нужен, он потребуется только в режиме счета. Пример 3. Указать значения сигналов на всех выводах микросхемы в режиме счета, если предварительно (см. предыдущий пример) в счетчик уже был загружен код числа 5 (0101). Ответ приведен на рис. 4.40. На входе LOAD устанавливаем пассивный уровень логической 1, запрещающий предварительную загрузку любого кода со входов ABCD, поэтому значения сигналов здесь будут безразличны (знак «х»). На вход CLR подаем пассивный сигнал логической 1, иначе остальные входы счетчика будут блокированы и никакого счета не будет. На входах ENT и ENP устанавливаем активные уровни логической 1, при которых счет импульсов будет разрешен. После этого на вход CLK подаем импульс, который прибавится (счетчик суммирующий!) к предварительно загруженному коду числа 5 и на выходах QA, QB, QC, QD сформируется код числа 5+1=6 (0110). Установленный на выходах QA, QB, QC, QDкод числа 6 (0110) – это тоже еще не конец счета, поэтому на выходе RCO установится пассивный сигнал 0. Пример 4. Дальнейший счет импульсов, поступающих на вход CLK, покажем с помощью временной диаграммы (рис. 4.41). При ме чани я: – В режиме счета при установке на выходах QA, QB, QC, QD кода последнего числа цикла 9 (1001) на выходе RCO появляется активный сигнал 1. Следующий импульс, который поступает на вход CLK, сбросит счетчик в ноль (на выходах QA, QB, QC, QD – код 0000), а на выходе RCO снова установится пассивный уровень логического 0. – Последний 10-й импульс цикла возвращает счетчик в состояние, с которого начинался счет: на выходах QA, QB, QC, QD вновь устанавливается код числа 5 (0101). – В режиме предустановки цифры 5, как уже было сказано в Примере 3, на выходе RCO формируется сигнал 1. 4.13. Каскадное соединение счетчиков Если необходимый нам счетчик имеет коэффициент счета больше, чем у имеющихся микросхем, то используется каскадное соединение нескольких микросхем счетчиков с обязательной организацией переносов между этими микросхемами. По способу передачи сигналов переноса каскадное соединение счетчиков может выполняться двумя способами: 1. С последовательным переносом, что можно проще всего реализовать при помощи микросхем типа К1533ИЕ6 (рис. 4.42), аналогом которых являются микросхемы SN74ALS192 фирмы «Texas Instruments». Укажем назначение выводов микросхемы КР1533ИЕ6, представляющей собой реверсивный декадный счетчик: UP (указывает на увеличение) – счетный вход в режиме суммирования. DOWN (указывает на уменьшение) – счетный вход в режиме вычитания. CLR – асинхронный вход сброса. A,B,C,D – информационные входы предварительной загрузки (предустановки) кода того числа, с которого необходимо начинать счет, причем такая загрузка производится при активном уровне сигнала на входе LOAD (загрузка). QA, QB, QC, QD – выходы, где формируется результат подсчета импульсов в двоичном коде. CO – выход окончания счета в режиме суммирования (выход переноса). Здесь устанавливается активный уровень при достижении конца счета в режиме суммирования, когда на выходах QA, QB, QC, QD появляется код 1001 последнего числа цикла – 9. Следует иметь в виду, что установка активного уровня сигнала на выходе СО производится отрицательным перепадом напряжения 9-го импульса цикла, поступающего на счетный вход UP. ВО (back) – указание на обратный, противоположный) – выход окончания счета в режиме вычитания (выход заема). Здесь устанавливается активный уровень при достижении конца счета в режиме вычитания, когда на выходах QA, QB, QC, QD появляется код 0000 последнего числа цикла – 0. Следует иметь в виду, что установка активного уровня сигнала на выходе ВО также производится отрицательным перепадом напряжения 9-го импульса цикла, поступающего на счетный вход DOWN. П р и м е ч а н и е: при работе в режиме суммирования на входе DOWN и в режиме вычитания на входе UP должен поддерживаться уровень логической 1. Принцип организации последовательной передачи сигналов переноса при каскадном соединении микросхем КР1533ИЕ6 и других подобных очень прост. Например, если требуется построить суммирующий счетчик с коэффициентом N = 1000, то потребуются три микросхемы: первая будет считать единицы, вторая – десятки, и третья – сотни. Цепи переноса показаны и выделены красным цветом на рис. 4.42. До прихода на счетный вход 9-го импульса на выходе СО первого счетчика, считающего единицы, сохраняется пассивный уровень логической 1, поэтому последующие счетчики, считающие десятки и сотни, срабатывать не будут, и на их выходах будут сохраняться исходные нули. Отрицательный перепад девятого импульса, поступающего на счетный вход, устанавливает на выходе СО первого счетчика активный уровень логического 0, в результате чего на этом выходе формируется отрицательный перепад напряжения, не являющийся активным для входа UP следующего счетчика, поэтому последующие счетчики опять же срабатывать не будут, и на их выходах будут сохраняться исходные нули. Положительный перепад последнего, 10-го импульса цикла первого счетчика сбросит его в ноль, а на выходе СО вернет пассивный уровень логической 1. В результате этого на выходе СО первого счетчика сформируется положительный перепад напряжения, который является активным для входа UPвторого счетчика и будет являться сигналом переноса из первого счетчика во второй. Второй счетчик сработает и его показание увеличится на 1. В дальнейшем описанный процесс будет периодически повторяться до числа 99, после чего аналогичным образом вступит в работу третий счетчик. Очевидно, что каскадное соединение счетчиков с последовательной организацией передачи сигналов переноса основным недостатком имеет низкое быстродействие, причем величина задержки сигналов переноса увеличивается с наращиванием разрядности. 2. С параллельным переносом. Для реализации такого способа организации сигналов переноса как раз и предназначены микросхемы счетчиков типа рассмотренной нами ранее (см. тему 4.12) КР1533ИЕ9. Параллельный принцип организации переносов при каскадном соединении счетчиков показан на рис. 4.43, где приведена схема суммирующего счетчика с коэффициентом N = 1000. Здесь видно, что импульсы со счетного входа поступают на входы CLK сразу всех счетчиков, что заставляет их срабатывать одновременно независимо от разрядности схемы. До прихода на счетный вход 9-го импульса на выходе RСО первого счетчика, считающего единицы, сохраняется пассивный уровень логического 0. Этот сигнал, поступая на входы ENP последующих счетчиков, не позволяет им работать в режиме счета, поэтому они сохраняют свое исходное нулевое состояние. В момент установки в счетчике единиц числа 9 (1001) на его выходе RСО появляется активный сигнал 1, который, проходя на вход ENP счетчика десятков, разрешает и ему работать в режиме счета. Поэтому при поступлении на счетный вход очередного импульса срабатывают уже два счетчика: счетчик единиц сбрасывается в исходное нулевое состояние и в дальнейшем начнет счет сначала, а содержание счетчика десятков увеличивается на 1. В дальнейшем описанный процесс будет периодически повторяться до числа 99. В этот момент на выходах RCO счетчиков единиц и десятков устанавливаются 1, которые, проходя соответственно на входы ENP и ENT счетчика сотен, разрешат работать и этим счетчикам. Поэтому при поступлении на счетный вход следующего 100-го импульса срабатывают уже все три счетчика: первые два сбрасываются в 0 и в дальнейшем начнут счет сначала, а содержание счетчика сотен возрастет на 1. Аналогично работа счетчика будет происходить и в дальнейшем. П р и м е ч а н и е: чтобы в режиме счета могли работать счетчик единиц и десятков, на их неиспользуемых входах ENT и ENP следует поддерживать постоянный уровень логической 1 (в серии КР1533 – непосредственно от источника питания UCC). 4.14. Изменение коэффициента счета микросхем счетчиков Если счетчик с необходимым коэффициентом счета не выпускается в виде готовой микросхемы, то можно воспользоваться другой микросхемой счетчика, где с помощью дополнительной логической цепочки обеспечивается требуемый модуль счета. При этом микросхема должна удовлетворять двум требованиям: – содержать вход сброса; – иметь коэффициент счета не меньше требуемого. В качестве примера рассмотрим построение суммирующего счетчика с коэффициентом счета N = 6. 1. Выбираем микросхему счетчика. Берем микросхему КР1533ИЕ5 (см. рис. 4.30 и пояснения к нему), второй счетчик которой удовлетворяет указанным выше требованиям: имеет объединенные по И входы сброса R01,R02и наиболее близкий к требуемому (это не обязательно!) коэффициент счета N = 8. 2. Разрабатываем логическую цепь формирования сигнала окончания счета. Рассмотрим подробно, как должен работать нужный нам счетчик. Исходное его состояние 0 (код 000 на выходах QB, QC, QD). Первый импульс, поступающий на счетный вход СКВ, увеличивает число в счетчике на 1: 0+1=1 (001). Следующий второй импульс снова увеличивает число в счетчике на 1: 1+1=2 (010). Аналогично от каждого следующего импульса: 3-й – 2+1=3 (011), 4-й – 3+1=4 (100), 5-й – 4+1=5 (101). А последний 6-й импульс цикла должен вернуть счетчик в исходное нулевое состояние: 0 (000). Сформированный на выходах QB, QC, QD счетчика код 101 числа 5, после которого счетчик должен сбрасываться в ноль, следует выделить с помощью логической цепи. Для этого запишем многочлен СДНФ для данного состояния выходов (в комбинации 101 средний сигнал равен нулю, поэтому соответствующий выход QC берем с инверсией): Y = QB·QC′·QD. Величину с отрицанием отсюда можно исключить, так как для входов сброса R01,R02 сигнал 0 является пассивным, тогда окончательно будем иметь: Y = QB·QD. Для реализации полученного выражения потребуется один элемент 2И (в схеме рис. 4.44 он обозначен D1.3), который и подключим к соответствующим выходам счетчика (рис. 4.44). Полученная логическая цепь формирования сигнала окончания счета на этом рисунке выделена желтым цветом. Теперь, когда в процессе счета число на выходах счетчика достигнет 5 (101), будет формироваться сигнал 1 на выходе Y элемента D1.3. 3. Вводим элемент, запоминающий сигнал окончания счета. Для запоминания полученного на выходе Y элемента D1.3 сигнала 1 окончания счета введем в схему интегральный триггер, проще всего – синхронный D-триггер (см. рис. 4.44). Здесь сигнал с выхода Yэлемента D1.3 запишется в триггер (установится на его прямом выходе) при поступлении синхросигнала на вход 1CLK. Этот синхросигнал должен поступать позже импульса на счетном входе, переключившего счетчик в состояние 5 (101), но раньше следующего импульса. 4. Вводим коммутирующее устройство – демультиплексор, переключающий импульсы со счетного входа либо на вход СКВ, либо на входы сброса R01,R02 микросхемы счетчика. В данном случае демультиплексор (в схеме рис. 4.44 выделен зеленым цветом) состоит всего лишь из двух элементов 2И, обозначенных D1.1, D1.2, и всегда подключается так, как показано на рис. 4.44. 5. Подбираем микросхемы логических элементов и триггера. Берем по одной микросхеме КР1533ЛИ1 и КР1533ТМ2. 6. Строим схему счетчика (рис. 4.44). П ри ме чани я: Первый счетчик микросхемы КР1533ИЕ2 с счетным входом СКА и выходом QA в данной схеме не используется, поэтому вход СКА (напомним: лишние входы нельзя оставлять свободными!) проще всего подключить к корпусу (к общему проводу), а выход QA вообще оставить свободным. Входы 1PRE и 1CLR триггера микросхемы КР1533ТМ2 сейчас нам не нужны, поэтому здесь следует установить постоянный пассивный уровень логической 1 путем подключения к источнику питания UCC(напомним: в микросхемах серии КР1533 это можно делать напрямую). 7. Составляем к этой схеме перечень элементов (табл. 4.6). 8. Посмотрим, как будет работать построенная нами схема. В начале счета на выходах QB, QC, QD последовательно устанавливаются коды 000 (код числа 0), 001 (1), 010 (2), 011 (3), 100 (4), и на выходе Y элемента D1.3 все это время удерживается уровень логического 0. При поступлении каждого очередного синхросигнала на вход 1CLK указанный сигнал 0 записывается в триггер и устанавливается на его прямом выходе. Сигнал 1 с инверсного выхода этого триггера будет действовать на входе элемента D1.1. И как только на счетный вход поступит очередной импульс, он сразу же пройдет на выход элемента D1.1 и далее на вход СКВ счетчика. В результате счетчик сработает и число в нем увеличится на 1. В это же время сигнал 0 с прямого выхода триггера будет действовать на входе элемента D1.2, в результате на выходе этого элемента и, соответственно, на входах R01,R02 счетчика будет поддерживаться пассивный уровень логического 0. Но как только число в счетчике достигнет 5 (код 101 на выходах QB, QC, QD), на выходе Y элемента D1.3 сформируется 1, которая затем при поступлении синхросигнала запишется в триггер. Сигнал 0 с инверсного выхода этого триггера «запрет» элемент D1.1, из-за чего очередной импульс со счетного входа не пройдет на вход СКВ счетчика. Зато сигнал 1 с прямого выхода триггера «откроет» элемент D1.2, и очередной импульс со счетного входа пройдет на входы R01,R02 счетчика, который в результате сбросится в ноль. И счет начнется сначала. 4.15. Счетчики с переменным управляемым коэффициентом деления Для примера рассмотрим микросхему программируемого счетчика-делителя К564ИЕ15 (рис. 4.45), функциональным аналогом которого является микросхема CD4059 фирмы «RCA Corporation». Используется она исключительно в качестве делителя частоты с максимальным коэффициентом деления N = 21327. Структуру этой микросхемы мы рассматривать не будем из-за ее большой сложности; но, упрощенно говоря, она состоит из пяти управляемых каскадов: секции модуля, счетчика тысяч, счетчика сотен, счетчика десятков и счетчика единиц с дополнительной установкой остатка деления, что позволяет плавно менять коэффициент деления на 1. Работа микросхемы описывается выражением: N = M· (1000·P1 + 100·P2 + 10·P3 + P4) + P5, где: N – коэффициент деления; M – модуль, устанавливаемый управляющими сигналами K4…K1 (см. табл. 4.8); P1 – множитель тысяч, который в зависимости от модуля устанавливается управляющими сигналами S4…S2 (см. табл. 4.7); P2, P3, P4 – множители сотен, десятков и единиц, значения которых определяются управляющими сигналами соответственно на входах S16…S13, S12…S8 и S8…S5; P5 – остаток, который в зависимости от модуля устанавливается управляющими сигналами S4…S1(см. табл. 4.7). Группы сигналов, управляющие величиной P2, P3 и P4, представляют собой четырехразрядные двоичные коды. А вот группы сигналов, управляющие величиной P1 и P5, могут представлять собой двоичные коды разной разрядности в зависимости от модуля M (см. табл. 4.7). Микросхема может работать в следующих режимах: Режим A. Делитель частоты с коэффициентом деления N = 10 при любых сигналах на управляющих входах S16…S1. Режим B. Делитель частоты с программируемым N, который определяется сигналами S16…S1и величиной модуля M. В режимах A и B входные импульсы подаются на вход CLK, при этом на выходе Q формируется импульсная последовательность с частотой следования импульсов в N раз меньше, чем на входе CLK. Режим C. Счетчик просчитывает N импульсов (величина N определяется сигналами S16…S1и значением модуля M), которые поступают на вход CLK, и выдает на выход Q сигнал 1 окончания счета. После этого счет импульсов, поступающих на вход CLK, прекращается. Режим D (настроечный). Здесь запрещается счет импульсов, поступающих на вход CLK, и производится установка каскадов в начальное состояние не менее чем тремя тактовыми импульсами. Режимы работы, как и величина модуля M, устанавливаются управляющими сигналами K4…K1 (см. табл. 4.8). Приведем пример. На управляющие входы микросхемы подаются сигналы, указанные на рис. 4.45. В каком режиме будет работать микросхема и с каким коэффициентом деления? По сигналам K4…K1 = 0110 из табл. 4.8 определяем, что микросхема работает в режиме B с модулем М = 4 (в табл.4.8 и на рис.4.45 выделено зеленым цветом). По сигналам S16…S13 (голубой цвет на рис.4.50), S12…S9 (розовый) и S8…S5 (желтый) находим значения множителей сотен P2 = 0000 (код числа 0), десятков P3 = 0001 (1) и единиц P4 = 0101 (5). По табл. 4.7 видим (нужная строка выделена красным цветом), что при модуле М = 4 для установки множителя тысяч P1 используются входы S4,S3; а для установки остатка P5 – входы S2,S1. Сигналы на этих входах дают возможность найти величину P1 = 00 (код числа 0) и P5 = 10 (2). Теперь подсчитаем коэффициент деления: N = M· (1000·P1 + 100·P2 + 10·P3 + P4) + P5 = = 4· (1000·0 + 100·0 + 10·1 + 5) + 2 = 62 Таким образом, в данном случае при поступлении на вход CLK серии импульсов на выходе Qформируется последовательность импульсов с частотой следования в 62 раза больше, чем на входе CLK. 4.16. Счетчики с недвоичным кодированием Практически достаточно широкое применение получили счетчики, которые формируют результат подсчета не в обычном двоичном коде, а в коде Грея или коде Джонсона (см. табл. 3.4 из темы 3.1). Главное преимущество таких счетчиков заключается в их высоком быстродействии: любое кодовое слово обоих указанных кодов отличается от предыдущего лишь в одном разряде, что в схемотехнике счетчиков устраняет одновременное переключение нескольких триггеров, свойственное в счетчиках (особенно большой разрядности!) с двоичным кодированием. П р и м е ч а н и е: Следует иметь в виду, что в табл. 3.4 (см. тему 3.1) указаны двоично-десятичныекоды Грея и Джонсона. Но они могут быть и двоичными любой разрядности, принцип их организации при этом все равно сохраняется. Любой учащийся по указанной в теме 4.11 методике может самостоятельно разработать схему счетчика Грея как двоично-десятичного, так и двоичного любой нужной разрядности, причем эти схемы будут отличаться друг от друга достаточно существенно. Самостоятельного значения счетчики Грея не имеют и не выпускаются отдельными микросхемами. Обычно они встраиваются в микросхемы БИС или СБИС, когда требуются счетчики большой разрядности; в этих случаях на выходы счетчика ставится преобразователь из кода Грея в обычный двоичный код. Значительно более простые по структуре счетчики Джонсона (счетчики Либау-Крейга, счетчики Мёбиуса, кольцевые регистры с перекрестной обратной связью) разной разрядности принципиального отличия между собой не имеют, а отличаются только количеством совершенно одинаковых каскадов. Приведем для примера структуру трехразрядного счетчика Джонсона (рис. 4.46), а сам 3-разрядный двоичный код Джонсона укажем в табл. 4.9. Любой учащийся может легко убедиться в правильности этой схемы, если проанализирует ее работу согласно таблице истинности (табл. 4.9). Счетчики в коде Джонсона также самостоятельного значения не имеют и не выпускаются отдельными микросхемами, а встраиваются в микросхемы БИС, СБИС, УБИС или ГБИС, когда требуются счетчики большой разрядности; в этих случаях на выходы счетчика ставится преобразователь из кода Джонсона в обычный двоичный код. Кроме этого, счетчики в коде Джонсона, как имеющие несложную структуру и обладающие высоким быстродействием, часто лежат в основе достаточно широко распространенных цифровых устройств – распределителей (см. §4.17). 4.17. Распределители Распределитель (распределитель импульсов, счетчик в коде «1 из N», кольцевой счетчик) – ЦУ, имеющее один основной (его, как в счетчиках, часто называют счетным) вход и несколько выходов, причем на одном выходе удерживается активный уровень сигнала (обычно единица), на остальных выходах поддерживается пассивный уровень (обычно ноль). Именно поэтому распределитель часто называют счетчиком в коде «1 из N»). Поступление на счетный вход каждого очередного активного сигнала (обычно – импульса, поэтому распределитель часто и называют распределителем импульсов) вызывает сдвиг этого уровня на следующий выход (рис.4.47). При подаче на счетный вход серии импульсов на выходах распределителя будет наблюдаться картина типа «бегущие огни». Когда активный сигнал перейдет на последний выход, тогда следующий импульс на счетном входе должен вернуть его на первый выход, обеспечивая кольцевую работу распределителя (почему его часто и называют кольцевым счетчиком). Применяются распределители в елочных гирляндах, таймерах, делителях частоты, полицейских мигалках, «бегущих строках», а также в множестве других устройств. Распределители строятся двумя различными способами: 1. На сдвигающем регистре (рис. 4.48), причем на выходе одного из триггеров такого регистра устанавливается активный уровень сигнала, а выход последнего триггера подключается к информационному входу первого для обеспечения цикличности работы. Тогда поступление очередного синхросигнала на вход C вызывает сдвиг активного сигнала на выход следующего триггера. Главным недостатком этой схемы является невозможность автоматически исправить ошибку при сбое (невозможность самовосстановления). Например, если в выходном коде появится вторая единица или исчезнет единственная единица, то устранить такую ошибку по ходу работы уже будет нельзя. Схема распределителя на регистре, который обладает способностью к самовосстановлению, приведена на рис. 4.49. Подключение одного из входов элемента 2И к источнику питания микросхем UСС означает, что на данном входе постоянно поддерживается уровень логической 1. Предлагается учащимся самостоятельно проанализировать работу этой схемы и убедиться, что при появлении любой ошибки очередной импульс, поступающий на счетный вход, восстановит единственную единицу на выходе первого триггера; и распределитель в дальнейшем будет работать нормально. 2. С помощью счетчика и дешифратора (рис. 4.50). Здесь поступление на счетный вход очередного импульса вызовет увеличение кода числа в суммирующем счетчике (или уменьшение в вычитающем) на 1, и появится активный сигнал на следующем выходе дешифратора. Если в схеме рис. 4.50 использовать счетчик Джонсона, то к высокому быстродействию, характеризующему работу непосредственно счетчика Джонсона, прибавляется еще и простота структуры дешифратора, выполняющего преобразование кода Джонсона в десятичные числа. Поэтому распределители с такой структурой в настоящее время получили широкое распространение и даже выпускаются в виде отдельных микросхем. Распределители со счетчиком Джонсона обозначаются и маркируются как счетчики, да и называются они часто в справочной литературе счетчиками Джонсона. Это приводит к определенной путанице в понятиях, поэтому следует различать счетчик Джонсона и распределитель со счетчиком Джонсона. Для примера рассмотрим микросхему счетчика Джонсона К561ИЕ8 (рис. 4.51), функциональным аналогом которого является микросхема CD4017 фирмы «RCA Corporation». Как раз здесь мы и сталкиваемся с вышеуказанной путаницей в названиях: обозначение, маркировка и название данной микросхемы соответствуют счетчику, тем не менее это распределитель со счетчиком Джонсона! MR – вход сброса (вход начальной установки). При подаче на этот вход активного сигнала 1 (здесь активным сигналом является 1, т.к. данный вход – прямой статический) счетчик распределителя сбрасывается в 0, формируется активный сигнал 1 на выходе О0 и на выходе О5—9. При этом счетчик распределителя счет поступающих импульсов не ведет, поэтому перемещение активного сигнала на выходах не происходит. Для нормальной работы распределителя на входе MR нужно установить сигнал 0. CP0, CP1 – счетные входы, на которые подаются импульсы, причем вход СР0 прямой динамический, поэтому срабатывание идет от переднего фронта импульса, вход СР1 – инверсный динамический, поэтому срабатывание идет от заднего фронта импульса. При подаче импульсов на вход СР0 нужно отключить вход СР1 или обеспечить здесь постоянный уровень логического 0 (подключить к общему проводу). При подаче импульсов на вход СР1 нужно обеспечить на входе СР0 постоянный уровень логической 1 (подключить к источнику питания Vdd). О0…О9 – выходы. 05—9 – выход переноса. При счете от 0 до 4 на этом выходе удерживается уровень логической 1, при счете от 5 до 9 – уровень логического 0. Применяется при каскадном соединении данных распределителей в схемах таймеров, делителей частоты и других устройств. Для наглядности проиллюстрируем работу данной микросхемы с помощью временной диаграммы (рис.4.52). Будем использовать счетный вход СР0, тогда срабатывание распределителя будет происходить в этом случае по положительному перепаду напряжения импульса на этом входе. В это время на входе СР1 нужно обеспечить постоянный уровень логического 0 (наиболее просто – путем его подключения к общему проводу), а на вход MR подать пассивный уровень логического 0. *** А если для получения «бегущих огней» (хотя бы в елочных гирляндах, «бегущих строках» и т.д.) требуется распределитель с большим количеством выходов? В этом случае нужно использовать каскадное соединение нескольких подобных микросхем. Рассмотрим увеличение разрядности распределителя до 16 выходов. Очевидно, что в этом случае необходимо применить каскадное соединение двух микросхем К561ИЕ8 (рис.4.53). Здесь мы тоже используем вход СР0 для подачи импульсов, причем напомним: в этом случае срабатывание микросхем будет происходить от положительного перепада напряжения этих импульсов. И еще одно напоминание: если на входе СР1 какой-то микросхемы будет сигнал 0, то она будет работать; если же на входе СР1появится 1, то работа этой микросхемы в режиме счета происходить не будет. Вход и выходы распределителя выделены зеленым цветом. Рассмотрим отдельные этапы работы такого распределителя. 1. Первый поступающий на вход распределителя импульс поступает на вход СР0 микросхемы D1, поэтому формируется активный сигнал 1 на ее выходе О0. Эта 1 поступает на вход MR микросхемы D3, сбрасывает счетчик этой микросхемы, поэтому устанавливается активный сигнал 1 на ее выходе О0(данный сигнал здесь нам не нужен). На всех остальных выходах микросхем D1 и D3 появляются пассивные сигналы 0 (эти сигналы мы в схеме показывать не будем, за исключением сигнала 0 на выходах О9). Сигнал 0 с выхода О9 микросхемы D3 поступает на вход MR микросхемы D1; так как он здесь является пассивным, то на данную микросхему воздействовать не будет. Сигнал 0 с выхода О9микросхемы D1 проходит на вход СР1 микросхемы D1 и позволяет данной микросхеме работать в счетном режиме. Импульс со входа распределителя в это время проходит еще и на вход элемента D2.1 (элемент 2И). На другой вход этого элемента поступает сигнал 0 с выхода О9 микросхемы D1 и не пропускает импульс на выход элемента (здесь сигнал 0) и далее на вход СР0 микросхемы D3. 2. 2-й – 9-й импульсы, поступающие на вход распределителя, беспрепятственно проходят на вход СР0 микросхемы D1, которая работает в счетном режиме и перемещает активный сигнал с одного выхода на следующий, заканчивая выходом О8. Эти же импульсы элемент D2.1 не пропускает на вход СР0микросхемы D3, поэтому выходы данной микросхемы своего состояния не меняют. На выходе О0 в это время удерживается сигнал 0, который поступает на вход MR микросхемы D3. Но это ничего не меняет. 3. 10-й импульс вызывает появление активного сигнала 1 на выходе О9 микросхемы D1. Этот сигнал 1 проходит на вход СР1 указанной микросхемы и запрещает в дальнейшем ее работу в режиме счета. Одновременно он поступает на вход элемента D2.1, который начинает пропускать импульсы на вход СР0микросхемы D3. Данная микросхема срабатывает и перемещает активный сигнал 1 со своего выхода О0на выход О1. В дальнейшем продолжает работать микросхема D3, перемещая активные сигналы на своих выходах. 20-й импульс вызывает появление активного сигнала 1 на выходе О9 микросхемы D3. Он проходит на вход MR микросхемы D1, сбрасывает ее, и все начинается сначала. *** Если нужно уменьшить количество выходов распределителя (например, в полицейских мигалках), тогда как быть? Такая задача решается совсем просто. Например, нужно иметь распределитель на 8 выходов. В этом случае 9-й выход (он обозначен О8) подключаем ко входу MR. Тогда 9-й импульс вызовет появление активного сигнала 1 на выходе О8, этот активный сигнал 1 поступит на вход MR, распределитель сбросится, сформируется активный сигнал 1 на выходе О0, и все пойдет сначала. 4.18. Запоминающие устройства (ЗУ). Общие понятия и классификация Запоминающие устройства нам уже встречались. Простейшими ЗУ являются регистры и регистровые файлы, но они могут хранить сравнительно небольшое количество информации: любой регистр способен хранить лишь один код, регистровый файл – несколько кодов, но обычно в пределах четырех. Если же ставится задача хранения большого количества информации в виде 8 и более кодов, то используются специальные микросхемы памяти, которые и получили название: запоминающие устройства (ЗУ). Основой структуры любого ЗУ являются ячейки, в каждой из которых хранится один код. Такие микросхемы играют исключительно важную роль практически в любых блоках цифровой аппаратуры, поэтому в общем объеме выпуска цифровых ИМС занимают около 40%. По способу доступа к хранящейся информации ЗУ могут быть следующих видов: 1. Адресные ЗУ (см. темы 4.20 – 4.22). Здесь возможен прямой доступ к любой необходимой ячейке путем подачи адреса (кода номера) этой ячейки на специальные адресные входы. 2. ЗУ с последовательным доступом (см. тему 4.23) строятся с использованием принципа последовательного продвижения информации по ячейкам, как в сдвигающих регистрах. 3. Ассоциативные ЗУ (АЗУ). Поиск информации здесь производится не по ее расположению в памяти (по адресу ячейки в адресных ЗУ или по месту в очереди ЗУ последовательного типа), а по определенным признакам самой хранящейся информации. Изучение ассоциативных ЗУ, ярким представителем которых является кэш-память (от английского cache – запас) или СОЗУ (сверхоперативное ЗУ), применяемая практически во всех компьютерах и микропроцессорных системах управления, выходит за рамки данного предмета. Адресные ЗУ по назначению делятся на две группы: 1.1. ОЗУ (оперативные ЗУ). Они используются для хранения информации, которая в процессе работы (в оперативном режиме) должна непрерывно обновляться, причем в основном с очень большой частотой. Любое ОЗУ может работать во всех трех возможных режимах: запись, хранение и считываниеинформации. При выключении питания хранящаяся в ОЗУ на данный момент времени информация не сохраняется, то есть микросхемы ОЗУ являются энергозависимыми. По способу хранения информации различают статические (см. темы 4.20, 4.21) и динамические (см. тему 4.22) ОЗУ. Статические ОЗУ, как и регистры, строятся на базе обычных триггерных структур с двумя устойчивыми состояниями. В динамических ОЗУ элементами памяти являются конденсаторы небольшой емкости: конденсатор заряжен – хранение сигнала 1, разряжен – 0. П р и м е ч а н и е: Более подробно элементная база микросхем ЗУ различного назначения, разных типов и видов рассматривается в предмете «Микросхемотехника», который обычно изучается в учебных заведениях для подготовки специалистов в области проектирования ЦУ. 1.2. ПЗУ (постоянные ЗУ), в которых хранение информации реализуется с помощью диодов или транзисторов. Эти микросхемы применяются для хранения информации, которая либо вообще никогда не требует обновления, либо меняется, но крайне редко и не в процессе работы (не в оперативном режиме). Смена информации в ПЗУ (перепрограммирование, то есть стирание старой и запись новой) требует выполнения длительных и достаточно сложных операций: – выключить аппаратуру; – снять микросхему ПЗУ (если возможно обновление информации, то микросхемы ПЗУ устанавливаются на специальные колодки, то есть делаются съемными); – с помощью специального оборудования (программатора) стереть старую информацию и записать новую по специальной программе; – снова установить микросхему на свою колодку; – включить аппаратуру в работу. В процессе функционирования аппаратуры ПЗУ работают лишь в двух режимах: хранение и считывание информации. При выключении питания хранящаяся в ПЗУ информация сохраняется, поэтому микросхемы ПЗУ являются энергонезависимыми. По способу записи информации в микросхемы ПЗУ они делятся на следующие виды: 1.2.1. МПЗУ (масочные ПЗУ). Запись информации в такую микросхему производится на заводе непосредственно при ее изготовлении с помощью специальных шаблонов – масок (отсюда и название – масочные). Пользователь перепрограммировать МПЗУ не может. 1.2.2. ППЗУ (программируемые ПЗУ). Здесь пользователь может сам записать информацию, но только один раз. 1.2.3 РПЗУ (репрограммируемые ПЗУ). Такие микросхемы можно перепрограммировать неоднократно, но ограниченное количество раз: в среднем от 25 до 10000 раз для различных микросхем. По способу стирания старой информации РПЗУ делятся на две группы: 1.2.3.1. РПЗУ ЭС с электрическим стиранием информации при помощи того же программатора или обычного компьютера. Особой разновидностью таких ЗУ является флэш-память (от английского flash – миг, мгновение), основным отличием которой от обычной РПЗУ ЭС является невозможность стирания информации в отдельных ячейках; здесь стирание информации происходит или во всех ячейках памяти одновременно, или достаточно большими блоками. Укажем систему обозначений и маркировки микросхем ЗУ, имеющихся в российских стандартах (табл.4.10). 4.19. Основные параметры ЗУ. Все параметры, характеризующие работу ЗУ, условно делятся на три группы: классификационные, статические и динамические. Приведем некоторые, наиболее важные для пользователя параметры: 1. Классификационные. N – количество ячеек. Как уже было сказано в предыдущем параграфе, ячейки являются основой структуры любого ЗУ, и в каждой ячейке хранится один код. n – разрядность. Показывает, какое максимальное количество разрядов может содержать любой код, хранящийся в микросхеме ЗУ. M – информационная емкость. Определяет максимальное количество единиц информации, которое способно хранить данное ЗУ. Как известно (см. тему 4.1), единицей измерения количества информации, а, следовательно, и информационной емкости микросхем ЗУ, является «бит». Но это очень малая величина, поэтому практически всегда используются кратные единицы: 1 байт = 8 бит. 1 Кбайт (килобайт) = 210 = 1024 байт. П р и м е ч а н и е: приставка «кило» в обычной системе измерений означает увеличение в 103 = 1000 раз, здесь же немного больше – в 210 = 1024 раза. То же самое замечание относится и к другим последующим приставкам. 1 Мбайт (мегабайт) = 210·210 = 220 байт. 1 Гбайт (гигабайт) = 210·210·210 = 230 байт. 1 Тбайт (терабайт) = 210·210·210·210 = 240 байт. Все классификационные параметры связаны несложным соотношением: М = N·n. 2. Статические, с которыми мы уже знакомы (см. тему 1.6). Напомним основные: UCC – напряжение питания. UL и UH – уровни логического 0 и логической 1. РВ – статическая потребляемая мощность. 3. Динамические, определяющие быстродействие микросхем ЗУ: tWR – время записи, tRD – время считывания. Упрощенно говоря, это промежутки времени, необходимые соответственно для записи (WR – от английского write – писать) кода в нужную ячейку и считывания (RD – от английского read – читать) кода из выбранной ячейки. Если разница между tWRи tRD невелика, то пользуются усредненным понятием времени выборки из памяти (времени обращенияк памяти) tA (индекс А – от английского access – доступ). FС – тактовая частота (индекс С – от английского clock – тактовый). Показывает, с какой максимальной частотой можно обращаться (то есть производить запись или считывание) к микросхеме ЗУ в процессе работы. Иногда в справочной литературе вместо FC указывается тактовый интервал T C= 1/FC. Динамические параметры, как характеристики быстродействия, имеют исключительно важное значение для микросхем ЗУ, поэтому к ним обычно предъявляются повышенные требования. 4.20. Структура адресных ЗУ (ПЗУ и статических ОЗУ) Микросхемы адресных ЗУ (ПЗУ и статических ОЗУ) могут иметь структуру 2D, 3D и 2DM. 1. Упрощенная схема ОЗУ со структурой 3D показана на рис. 4.55. Основная часть такой микросхемы – накопитель (матрица), содержащий определенное количество ячеек (на рис. 4.55: N = 32), в каждой ячейке хранится один код. Любая ячейка содержит определенное количество элементов памяти (запоминающих элементов – ЗЭ), определяемое разрядностью микросхемы, в каждом элементе памяти хранится один сигнал кода. Ячейки имеют свои номера (адреса), состоящие из двух частей: адреса колонки и адреса строки. Приведем назначение выводов: DI (data input) – информационные входы. Сюда подается код, который требуется записать в заданную ячейку. DO (data output) – информационные выходы. Здесь появляется код, которое считывается из нужной ячейки. А – адресные входы. Сюда подается адрес ячейки, в которую нужно записать код или из которой требуется считать код. Количество адресных входов А, естественно, зависит от количества ячеек Nи определяется из хорошо знакомого нам соотношения: 2А = N. CS (crystal select или chip select) – выбор кристалла (выбор микросхемы, выбор ячейки памяти). Активный уровень сигнала на этом входе является разрешающим для режимов записи и считывания. Фактически в микросхеме (см. рис. 4.60) он разрешает срабатывание дешифратора строк, причем во многих микросхемах этот дешифратор имеет два и даже более входов CS. WR′/RD (write/read) – вход выбора режима работы. В режиме записи на этом входе устанавливается 0 (поэтому WR указано со знаком отрицания), который (см. рис. 4.60) открывает буферное устройство записи УЗ. И код, подаваемое на входы DI, проходит через УЗ и записывается в нужную ячейку. Этот же 0 закрывает буферный усилитель считывания УС, поэтому коды из ячеек на выходы DO пройти не могут. В режиме считывания описанная система работает противоположным образом. Выборка нужной ячейки, в которую требуется записать код или из которой надо считать код, производится следующим образом: – на вход CS подается активный сигнал (в данном случае 0, так как на рис. 4.55 вход CS показан инверсным статическим), разрешающий работу дешифратора строк; – на входы А подается адрес нужной ячейки (на рис. 4.55 нужная ячейка – 25), состоящий из двух частей: адреса колонки и адреса строки (на рис. 4.55 строка – 2, колонка – 5); – адрес строки (10) поступает на дешифратор строк, который выдает активный сигнал (в данном случае 1, так как выходы дешифратора показаны прямые статические) на свой выход цифры 2 и далее на все ячейки данной строки; – одновременно адрес колонки (101) поступает на дешифратор колонок, который выдает активный сигнал на свой выход цифры 5 и далее на все ячейки выбранной колонки; – выбранной и готовой к работы (то есть к записи или считыванию) будет только та ячейка, на которую поступят одновременно два сигнала от дешифратора строк и от дешифратора колонок: эти сигналы для ячейки являются стробирующими и разрешат ей работать. Основным недостатком микросхем структуры 3D является необходимость иметь элементы памяти с двойным стробированием (с двухкоординатной выборкой), что существенно усложняет их структуру. 2. Упрощенная схема ОЗУ со структурой 2D, имеющего те же 32 ячейки, показана на рис. 4.56. Здесь все ячейки расположены в одну колонку, поэтому в каждой строке имеется только одна ячейка и, следовательно, количество строк (в данном случае 32) определяется числом ячеек. Для выборки нужной ячейки следует лишь установить на входе CS активный уровень сигнала и подать на входы А адрес соответствующей строки. В микросхемах 2D каждый элемент памяти имеет однокоординатную выборку и, соответственно, менее сложную структуру, чем в микросхемах 3D. Но дешифратор строк в данном случае из-за очень большого количества выходов имеет значительно более сложную схему, что ограничивает применение структуры 2D только в микросхемах малой информационной емкости. 3. Упрощенная схема ОЗУ со структурой 2DМ, содержащего опять же 32 ячейки, показана на рис. 4.57. Здесь уже нет недостатков, присущих микросхемам со структурами 2D и 3D, то есть дешифратор обладает небольшим количеством выходов, а элементы памяти имеют однокоординатную выборку. Поэтому микросхемы со структурой 2DM в настоящее время являются наиболее распространенными. Так же, как и в микросхемах со структурой 2D, здесь каждый элемент памяти имеет однокоординатную выборку: стробирующий сигнал идет только с одной стороны – с дешифратора строк. Но, в отличие от структуры 2D, каждая строка содержит не одну, а несколько ячеек, поэтому стробирующий сигнал от дешифратора строк готовит к работе все ячейки выбранной строки. Выбор нужной ячейки в каждой строке производится с помощью мультиплексора-селектора (MS) в блоке MS-BF. Он в зависимости от номера ячейки в выбранной строке, который подается на входы А2, А3 и А4, соединяет DI (при записи) или DO (при считывании) с соответствующей ячейкой. Буфер данных (BF) в блоке MS-BF по активному сигналу на входе CS с помощью управляющего сигнала на входе WR′/RD определяет направление передачи информации: данные либо с информационных входов DI проходят на нужный выход MS и далее записываются в соответствующую ячейку выбранной строки, либо при считывании наоборот – из ячейки на выходы DO. При пассивном сигнале на входе CS буфер перекрывает передачу информации в обоих направлениях, то есть запрещает доступ к ячейкам. Во многих современных микросхемах статических ОЗУ для уменьшения количества выводов и увеличения информационной емкости информационные входы и выходы совмещаются и обозначаются DIO: при записи они используются в качестве информационных входов, при считывании – в качестве выходов. Микросхемы ПЗУ по структуре принципиально не очень отличаются от статических ОЗУ: так как в оперативном режиме ПЗУ не могут производить запись информации, то здесь нет информационных входов DI и нет необходимости в буферных устройствах и входе WR′/RD, регулирующих запись-считывание. В микросхемах ПЗУ, где предусмотрена возможность записи информации, информационные выводы обычно обозначаются DIO: при считывании в оперативном режиме они используются в качестве выходов DO, при записи с помощью программатора – в качестве входов DI. При перепрограммировании РПЗУ для записи новой информации используются более высокое напряжение UPR (достигает величины свыше 20 В, причем часто должно быть импульсным) по сравнению с напряжением питания UCC, поэтому такие микросхемы имеют соответствующий дополнительный вывод. Микросхемы ПЗУ иногда используются в качестве преобразователя кодов: в ячейки с адресами, соответствующими входным кодам, записываются нужные выходные коды. Тогда, если на входы А подать какой-либо входной код, то на выходах DO формируется соответствующий выходной код, считанный из выбранной ячейки. В состав некоторых ПЗУ и оперативных ОЗУ включается регистр для запоминания и хранения поступающего на входы А адреса нужной ячейки. 4.21. Примеры работы микросхем адресных статических ОЗУ Рассмотрим на примерах работу микросхемы КР531РУ8 (аналог – микросхема SN74S189N фирмы «Texas Instruments») адресного статического ОЗУ со структурой 2DM во всех трех режимах: записи, хранения и считывания информации. Пример 1. Показать значения сигналов на входах и выходах микросхемы при записи кодового слова 0100 в ячейку с адресом 1101. Ответ указан на рис. 4.58. Адрес нужной ячейки 1101 устанавливается на адресных входах А, само кодовое слово 0100 подается на информационные входы DI. На входе CS устанавливается активный уровень логического 0, который разрешает доступ к ячейкам. На вход WR′/RD подается сигнал 0, определяющий направление передачи информации со входов DI в выбранную ячейку 0, то есть режим записи. Состояния выходов DO различных микросхем ОЗУ в режиме записи могут быть следующими: – на всех выходах устанавливаются либо уровни логического 0, либо уровни логической 1 (из справочных данных); – кодовое слово, которое подается на информационные входы DI, устанавливается и на выходах (также по справочным данным); – микросхемы с тремя состояниями выходов (знак сверху в правом поле изображения микросхемы) устанавливаются в Z-состояние (на выходах указываются знаки: Z или Roff – см. §1.9). Так как сейчас мы как раз рассматриваем микросхему с тремя состояниями выходов, то она и переходит в Z-состояние. Пример 2. Показать значения сигналов на входах и выходах микросхемы в режиме хранения информации. Ответ показан на рис. 4.59. Для перехода к режиму хранения достаточно установить пассивный уровень сигнала 1 на входе CS, который запрет дешифратор строк и закроет доступ ко всем ячейкам. Запись и считывание в этом случае будут невозможны, поэтому значения сигналов на остальных входах (DI, A и WR′/RD) безразличны. Состояния выходов DO различных микросхем ОЗУ в режиме хранения могут быть следующими: – на всех выходах устанавливаются либо уровни логического 0, либо уровни логической 1 (из справочных данных); – микросхемы с тремя состояниями выходов устанавливаются в Z-состояние. Так как в данном случае мы как раз рассматриваем микросхему последнего вида, то она и переходит в Z-состояние. Пример 3. Показать значения сигналов на входах и выходах микросхемы при считывании кодового слова 0100 из ячейки с адресом 1101. Ответ показан на рис. 4.60. Адрес нужной ячейки 1101 подается на адресные входы А. На входе CSустанавливается разрешающий доступ к ячейкам активный уровень логического 0, на вход WR′/RDподается сигнал 1, определяющий направление передачи информации из выбранной ячейки на выходы DО, то есть определяет режим считывания. В результате на выходах DO появляется считанный из выбранной ячейки код 0100. Сигнал 0 на входе WR′/RD будет запрещающим для режима записи, поэтому значения сигналов на входах DI безразличны. ***4.22. Динамические ОЗУ Сложность современной цифровой аппаратуры связи требует компьютерного (микропроцессорного) управления с основной оперативной памятью большой информационной емкости. Этому требованию как раз и соответствуют динамические ОЗУ, которые имеют значительно более простую структуру и, соответственно, большую плотность компоновки по сравнению со статическими ЗУ, поэтому они существенно (в 4—5 раз) дешевле и могут хранить значительно больше информации. Но динамические ОЗУ обладают существенно меньшим быстродействием и в процессе работы хранящаяся информация нуждается в периодическом восстановлении (регенерации) из-за саморазряда конденсаторов. Указанные особенности и определяют отличия структуры динамических ОЗУ от статических: 1. Большая информационная емкость оперативной памяти с множеством ячеек подразумевает соответственно и большое количество адресных входов, что существенно увеличивает количество внешних выводов корпусов и их размеры. Например, даже ОЗУ со сравнительно небольшой емкостью М = 2Мбайта (количество ячеек N = 16·2 20; разрядность n = 1) требует наличия 24 адресных входов из соотношения 2A ≥ N. Поэтому возникает задача уменьшения числа адресных входов, которая решается делением адреса ячейки на две части (адрес строки и адрес колонки) с их последовательной подачей на одни и те же адресные входы (см. рис. 4.61a): сначала по стробирующему сигналу RAS(от английского row address strobe – строб адреса строки) в регистр RGR загружается адрес строки, а затем по стробу CAS (от английского column address strobe – строб адреса колонки) в регистр RGCвводится адрес колонки, которые потом передаются в дешифраторы строк и колонок. 2. Регенерация информации может осуществляться с помощью специальных контроллеров, или система регенерации встраивается непосредственно в микросхемы и работает автоматически; в последнем случае такие динамические ОЗУ называются квазистатическими. П р и м е ч а н и е: изучение систем регенерации не входит в программу настоящего предмета, поэтому при необходимости их изучения следует обратиться к учебникам по предметам «Микросхемотехника» или «Цифровая схемотехника» для ВУЗов. В качестве примера динамического ОЗУ можно привести микросхему КР565РУ6 (рис 4.61b), аналогом которой является микросхема I2118 фирмы «Intel Corporation». Высокое быстродействие современных микропроцессоров требует такой же скорости работы и от микросхем оперативной памяти. Отсюда вытекает задача повышения быстродействия динамических ОЗУ, так как, повторяем, именно они являются основной оперативной памятью современных микропроцессорных систем управления современной аппаратурой. Эта задача решается в усовершенствованных динамических ОЗУ, краткую характеристику которых приводим ниже. FPM (от английского fast page mode – режим быстрого страничного доступа). Данный вариант становится эффективным, если после обращения к некоторой ячейке следующее обращение производится к ячейке той же строки. В этом случае уже не требуется заново загружать в RGR адрес строки, который остается неизменным. Результатом является сокращение времени выборки и увеличение тактовой частоты. EDORAM (от английского extended data out RAM – ОЗУ с расширенным выводом данных) по структуре близки к FPM, но имеют модифицированную систему регенерации информации, что позволяет им работать на частотах выше FPM. BEDORAM (от английского burst EDORAM – ОЗУ с пакетным расширенным выводом данных) содержит дополнительно счетчик колонок. Доступ к нужной ячейке при первом обращении производится стандартно, то есть по адресам строки и колонки. После окончания первой выборки срабатывает счетчик столбцов и его содержимое увеличивается на единицу, в результате чего формируется адрес ячейки в следующей колонке той же строки. Таким образом последовательно считывается группа кодовых слов (пакет), которые хранятся в соседних ячейках выбранной строки. Подавать каждый раз адрес нужной ячейки на входы А в пределах выборки одного пакета не требуется. MDRAM (от английского multibank DRAM – многобанковые ОЗУ). Здесь память делится на части – банки, и обращение к таким банкам производится поочередно. При первом обращении на входы А подается адрес нужной ячейки и включается первый банк. Во втором обращении адрес ячейки подавать уже не требуется, так как ОЗУ автоматически переходит к ячейке с тем же адресом в следующем банке, и т. д. SDRAM (от английского synchronous DRAM – синхронные ОЗУ) в настоящее время получили широкое распространение по двум причинам: – Во-первых, здесь все процессы в ЗУ строго синхронизированы перепадами напряжения входных тактовых импульсов, что ликвидирует проблемы взаимного согласования по времени входных сигналов, которые подаются на информационные и другие входы. – Во-вторых, здесь реализован принцип конвейеризации работы отдельных узлов ЗУ. Несколько упрощая для большей наглядности, указанный принцип в данном случае заключается в следующем: например, при считывании в первом такте по положительному (или отрицательному) перепаду синхросигнала загружается адрес нужной ячейки. В следующем такте по этому адресу производится выборка данных и одновременно ЗУ формирует адрес следующей ячейки. В третьем такте выбранные данные через буфер усилителя считывания проходят на информационные выходы DO; одновременно по сформированному в предыдущем такте адресу происходит выборка из ЗУ следующего кодового слова; и опять же одновременно формируется адрес следующей ячейки; и т. д. RDRAM (от Rambus DRAM – по названию фирмы-разработчика) сходны с SDRAM, но здесь использованы два новшества: – Синхронизация осуществляется обоими перепадами тактовых импульсов. – Нет отдельных адресных цепей. На входы подаются пакеты, включающие в себя и адреса, и команды: сначала поступает пакет запросов, на которые ЗУ отвечает пакетом подтверждения готовности к работе (подтверждения права доступа); а уже затем идет пакет данных. Из-за этого первое обращение к памяти занимает достаточно длительное время, поэтому при чтении отдельных кодовых слов RDRAM неэффективна. Но зато она получается исключительно удобной для графических и мультимедийных приложений с типичным для них процессом – быстрой выдачей длинной последовательности кодовых слов для формирования изображения на экране или решения сходных задач. DRDRAM (от английского direct RDRAM – RDRAM с непосредственным доступом) – усовершенствованный RDRAM с ускоренным первым обращением к памяти. CDRAM (от английского cashed DRAM – кэшированная DRAM). Здесь один кристалл содержит не только DRAM, но и кэш-память (см. тему 4.24). Это дает возможность быстрого обмена информацией с микропроцессором с помощью кэша, а также резко увеличить разрядность и, соответственно, объем обмена за счет внутренних связей между DRAM и кэш-памятью. 4.23. Структура ЗУ с последовательным доступом Память с последовательным доступом информации (буферы, ЗУ с неявной адресацией) обычно ставятся между источником и приемником информации в том случае, если от источника поступают кодовые слова с непериодической последовательностью или с такой скоростью, которая превышает возможности приемника по быстродействию. Тогда приходящие от источника кодовые слова запоминаются в буфере и выдаются приемнику с нужной периодичностью, которая устанавливается тактированием. Память с последовательным доступом может быть трех видов: 1. Буфер FIFO (от английского first in – first out – первым вошел – первым вышел) или ЗУ типа «очередь». Примером такого ЗУ является микросхема SN74ACT7814—20DL фирмы «Texas Instruments» 64х18 (64 ячейки, n=18), корпус которой имеет 56 выводов (рис.4.62a). Принцип организации такого буфера FIFO показан на рис. 4.62b. Здесь имеются информационные входы DI и информационные выходы DO. Поступающее в буфер первое кодовое слово записывается во входную ячейку. Следующее кодовое слово загружается сюда же, а предыдущее сдвигается в следующую ячейку, продвигаясь к выходу по мере заполнения буфера. Очевидно, что вывод кодовых слов производитс я в таком же порядке: первым выводится то кодовое слово, которое и записано было первым. Информационные выводы DIO здесь одновременно являются и входами, и выходами. Данные загружаются точно так же, как и буфере FIFO, но вывод производится иначе: первым выходит кодовое слово, которое было загружено последним, а предыдущие кодовые слова при этом сдвигаются в соседние ячейки, продвигаясь к выходу. Каждое обращение как к буферу FIFO, так и к буферу LIFO производится по синхросигналу на входе С. Стековая память широко используется в микропроцессорах. *** 3. Циклические ЗУ, типичным примером которых является видеопамять. Как известно, экран любого монитора разбит на элементарные точки – пикселы, параметры которых (светимость, цвет) задаются кодами, имеющими разрядность от 8 для черно-белых до 24 для цветных мониторов. Каждый кадр задается последовательностью кодов, количество которых равно числу пикселов. Поэтому считывание из видеопамяти должно иметь циклический характер, обеспечивая последовательное формирование изображения на экране монитора кадр за кадром. Общий принцип построения видеопамяти с последовательным доступом показан на рис. 4.64. П р и м е ч а н и е: формирование изображения на экране монитора требует строчной и кадровой развертки, начало которых определяется двумя синхросигналами, но для облегчения понимания принципа работы на рис. 4.64 показано формирование одного синхросигнала только кадровой развертки. При считывании мультиплексор по сигналу 0 на входе А подключает свои информационные входы D0, и по каждому синхросигналу код очередного пиксела выводится из памяти на выходы DOи одновременно через входы D0 мультиплексора записывается в первую ячейку ЗУ, сдвигая коды остальных пикселов к выходам. Таким образом, при подаче на вход С серии синхросигналов на выходах DO формируется нужная последовательность кодов пикселов. Как определяется начало этого процесса, то есть начало развертки монитора? В последовательность кодов, записанных в ячейках памяти, вводится код сигнала кадровой синхронизации; и он же постоянно устанавливается на входах В цифрового компаратора. Как только в процессе считывания на выходах DOпоявится код сигнала кадровой синхронизации (поступающий на входы А компаратора), цифровой компаратор выдает кадровый синхросигнал, запускающий развертку монитора. Этот же сигнал сбрасывает в ноль счетчик, который начинает подсчет количества обращений к ЗУ. Пакетная запись начинается сигналом запроса готовности, который устанавливает триггер Т2в состояние 1. Тогда на выходе элемента И также формируется сигнал 1, устанавливающий и триггер Т1в состояние 1. Эта 1 поступает на вход А мультиплексора, который подключает канал D1. В результате по синхросигналам на входе С начинается запись данных со входов DI. После окончания записи кодов пикселей всего кадра счетчик СТ на своем выходе CR формирует сигнал конца счета, который сбрасывает триггер Т2 (да и Т1) в ноль, возвращая память в режим считывания. При необходимости одиночной записи (записи кода лишь одного пиксела) схема должна содержать еще один компаратор. Его входы А подключаются к выходам Q счетчика, на входы В подается номер той ячейки, где требуется заменить код пиксела. При их равенстве, когда процесс дойдет до нужной ячейки, мультиплексор подключает на один такт входы DI, откуда и записывается заданный код. ***4.24. Структура ассоциативных ЗУ. Ярким представителем ассоциативных ЗУ является кэш-память (от английского cache – запас) или СОЗУ (сверхоперативное ЗУ), применяемая практически во всех компьютерах и микропроцессорных системах управления. Она имеет сравнительно небольшую информационную емкость и более высокое быстродействие (так как представляет собой статическое ОЗУ, то есть реализуется на триггерных структурах) по сравнению с основной оперативной памятью обычно динамического типа. Главным назначением кэш-памяти является хранение копий часто используемой информации, которой в процессе работы обмениваются процессор и основное ОЗУ, что существенно ускоряет процесс обмена. Это объясняется тем, что подавляющее большинство прикладных программ управления работой современной аппаратуры носят циклический характер, то есть различные данные и команды используются многократно. Поэтому после первого использования данных из сравнительно медленной основной памяти последующее использование копий этих же данных из быстродействующей кэш-памяти требует значительно меньше времени. К тому же, когда процессор работает с кэш-памятью, освобождается основная память, и здесь в это время можно выполнять регенерацию хранящейся информации. Основная особенность ассоциативного ЗУ (и кэш-памяти тоже) заключается в том, что любое хранящееся здесь кодовое слово имеет дополнительные разряды – теги (от английского tag: ярлык). Они определяют, копией содержимого какой ячейки основной оперативной памяти является указанное кодовое слово. Принцип взаимодействия кэш-памяти с процессором и основным ОЗУ показан на рис. 4.66. При считывании сначала идет обращение в кэш-память: если здесь тег кода, хранящегося в какой-либо ячейке, совпадет с поступающим адресом ячейки основного ОЗУ, где находится нужная информация, то следовательно кэш-память имеет копию требуемых данных. Тогда кэш выдает сигнал hit(от английского hit – попадание в цель), и коммутирующее устройство переключается в положение «2», передавая считанную из кэш-памяти информацию на общую шину данных и далее в процессор CPU(обозначение CPU от английского computer – компьютер). Если же в кэш-памяти нужной информации нет, то сигнал hit не вырабатывается, и коммутирующее устройство переключается в положение «1», передавая информацию в процессор уже из основной оперативной памяти; одновременно эти же данные копируются, то есть вместе с адресом записываются в свободную ячейку кэша. Рассмотрим структуру (рис. 4.67) и принцип работы кэш-памяти типа FASM (от английского fully associated cache memory – полностью ассоциативная кэш-память), которая иногда называется структурой с произвольной загрузкой. Каждая ячейка (строка) хранит копию данных, а в поле «тег» – адрес этих данных (адрес ячейки основной оперативной памяти, где гранится оригинал указанных данных). При любых обменах информацией адрес нужных данных сначала сравнивается с тегами всех ячеек кэш-памяти, и при их совпадении компаратор выдает активный сигнал 1, который и проходит через элемент ИЛИ на выход Нit. При считывании и значении сигнала Hit = 1 информация из соответствующей ячейки кэш-памяти выдается на шину данных. При отсутствии совпадений Hit = 0 и данные выдаются из основной оперативной памяти, при этом они вместе с адресом записываются в свободную ячейку кэш-памяти. При записи (цепи, предназначенные для записи, на рис. 4.67 для упрощения не показаны) данные вместе с адресом записываются, как правило, сначала в кэш-память: в обнаруженную ячейку при Hit =1 или свободную при Hit = 0. Копирование данных в основное ОЗУ производится под управлением специального контроллера, когда нет обращений к памяти. Существуют и другие разновидности кэш-памяти (с прямым размещением и наборно-ассоциативного типа), которые мы здесь рассматривать не будем. Ряд фирм (например, «Cyrix») выпускают специальные микросхемы кэш-памяти, но в настоящее время кэш-память обычно интегрирована непосредственно в процессор. 4.25. Построение ЗУ заданной емкости и разрядности Разрядность и информационная емкость даже самых больших ЗУ иногда оказывается недостаточной. Это приводит к необходимости использования нескольких микросхем, определенным образом соединенных между собой. Целью данного параграфа и является рассмотрения принципа построения ЗУ большой емкости, составленного из нескольких микросхем. При постановке подобной задачи обычно задается требуемые информационная емкость и разрядность, а также оговаривается элементная база. Рассмотрим конкретный пример: построить статическое ОЗУ емкостью 32 Кбайта для хранения 16-разрядных кодов на микросхемах КР537РУ8 (аналог – микросхема HM6516 фирмы Harris Semiconductor), одна из них показана на рис.4.68. Данная микросхема имеет две особенности: – выводы DIO используются в качестве информационных входов при записи и в качестве информационных выходов при считывании; – имеет дополнительно вход ЕО (разрешение по выходу): пассивный уровень сигнала на этом входе переводит микросхему в Z-состояние независимо от значения сигнала на входе CS. Дано: Требуемая информационная емкость: МТ = 32 Кбайт = 32·2 10·8 бит. Требуемая разрядность: nT = 16. Параметры одной микросхемы КР537РУ8 (из справочника): информационная емкость M = 2 Кбайт = 2·2 10·8 бит; разрядность n = 8. Если в справочнике не указано количество ячеек N, то из знакомого нам соотношения M = N·n его можно определить: N = M/N = 2·2 10·8/8 = 2048. Решение: 1. Для обеспечения требуемой разрядности ИМС соединяются в линейки. Определим количество ИМС в каждой линейке: m1 = nT/n = 16/8 = 2. В одной микросхеме каждой линейки будет хранится первая половина (8 разрядов) любого кода, в другой – вторая половина (тоже 8 разрядов). 2. Общее количество микросхем: m = MT/M = 32·2 10·8/2·2 10·8 = 16. 3. Количество линеек: m2 = m/m1 = 16/2 = 8. 4. Для управления этими линейками в общую схему ЗУ придется ввести дополнительное ЦУ – дешифратор линеек. Он будет иметь 8 выходов по количеству линеек, а количество входов A2из соотношения 2A2 ≥ m2 получается равным A2 = 3. На входы A2 будет подаваться трехразрядный код (адрес) нужной линейки, в которую производится запись или из которой идет считывание. 5. Количество адресных входов A1 одной микросхемы КР537РУ8 можно посмотреть по его справочному условному изображению, а можно определить из соотношения 2A1 ≥ N, в результате чего получаем значение A1 = 11. 6. Тогда адрес любой ячейки в общей схеме ЗУ будет состоять из двух частей: 11-разрядного адреса ячейки в микросхеме А1 и 3-разрядного адреса линейки А2: А = А1 + А2 = 11 + 3 = 14. 7. Строим упрощенную структурную схему ЗУ (рис. 4.69). П р и м е ч а н и я к схеме: – мы чертим структурную схему, потому что для принципиальной электрической потребуется очень много места; – двойными стрелками изображены многоразрядные цепи, где числами указана их разрядность; – в любой ИМС КР537РУ8 два входа CS, но в схеме для некоторого упрощения рисунка показан только один. Поясним принцип соединения ИМС в ЗУ большой емкости: Каждый выход дешифратора линеек подключается ко входам CS микросхем одной линейки. Тогда при подаче на входы А2 адреса нужной линейки дешифратор выдает активный сигнал на выход соответствующей линейки. Этот сигнал проходит на входы CS и разрешает срабатывание (запись или считывание) всех микросхем данной линейки. На остальных выходах дешифратора устанавливаются пассивные сигналы, которые блокируют все другие линейки. При подборе дешифратора линеек нужно учитывать следующее соображение: если вход CS прямой статический, то следует использовать дешифратор с прямыми выходами, если же вход CS – инверсный статический, то и дешифратор нужно брать с инверсными выходами. Информационные входы DI микросхем одной линейки выводятся раздельно, так как в каждой микросхеме хранится только часть кодового слова (в данном случае – половина). А информационные входы микросхем разных линеек соединяются вместе, поскольку дешифратор все равно включит только одну линейку. Аналогично организуются и выходы DO. У микросхем одной линейки отдельно входы WR′/RD, а также отдельно адресные входы нужно соединить параллельно, чтобы обеспечить одновременный ввод или вывод всех (в данном случае двух) частей каждого кодового слова из нужной ячейки. Эти же входы микросхем разных линеек тоже следует соединить параллельно, так как дешифратор все равно включит только одну линейку. ***4.26. Программируемые логические матрицы (ПЛМ) Некоторые микросхемы с маркировкой РТ представляют собой не ППЗУ, а одну из разновидностей ПЛИС (см. тему 3.13, где рассматривалось применения ИМС мультиплексоров в качестве простейших ПЛИС) – программируемую логическую матрицу (ПЛМ), основным назначением которой является реализация логической функции, выраженной в дизъюнктивной нормальной форме (напоминание – раздел 2). Для примера рассмотрим в несколько упрощенном виде структуру микросхемы КР556РТ1 (функциональный аналог – микросхема N82S101 фирмы «Signetics Corporation»), изображение которой приведено на рис. 4.70а. Она представляет собой программируемую логическую матрицу 16 х 48 х 8 (16 входных переменных, 48 термов, 8 функций) с открытыми коллекторными выходами. Основа структуры (без буферных входных и выходных устройств) данной микросхемы показана на рис. 4.70b. Она состоит из двух основных частей: диодной и транзисторной матрицы с горизонтальными и вертикальными связями, плавкие перемычки которых (см. рис. 4.71) могут при необходимости пережигаться. Назначением диодной матрицы является реализация минтермов (или просто термов) дизъюнктивной формы нужной логической функции. Диодная матрица рассматриваемой микросхемы может реализовать 48 термов с 16 переменными. На рис. 4.70 показаны красными точками места диодной матрицы, где нужно оставить перемычки для реализации термов m1 = X1′·X2′, m2 = X2′·X3′ и m3 = X1·X2·X3из МДНФ для функции Y1: Y1 = X1′·X2′ \/ X2′·X3′ \/ X1·X2·X3. (см. результат примера 1 из §2.2). Остальные перемычки должны пережигаться. П р и м е ч а н и е: в микросхеме КР556РТ1 переменными X1, X2 и т. д. являются сигналы на входах А0…А15, функциями Y1, Y2 и т. д. – сигналы на выходах DO0…DO7. Более подробно цепь первого терма m1 (остальные реализуются аналогично), представляющую собой обычную диодную схему И, показана на рис. 4.71а. Несложно убедиться, что только при наличии на входах X1 и X2 сигналов X1 = 0 (то есть X1′), X2 = 0 (X2′) на катоды диодов с целыми перемычками поступают сигналы 1 (высокое напряжение), диоды остаются закрытыми и на выходе m1 зафиксируется высокий уровень сигнала логической 1 от источника питания UCC. Если же хотя бы на один вход (X1 илиX2) поступит сигнал 1, то на катоде соответствующего диода с целой перемычкой, подключенного к цепи X′, установится сигнал 0 (низкое напряжение), диод откроется, напряжение источника питания целиком приложится к резистору, и на выходе m1 зафиксируется сигнал 0. Назначением транзисторной матрицы является реализация функции ИЛИ. Транзисторная матрица рассматриваемой микросхемы может реализовать 8 функций. На рис. 4.70b показаны точками места транзисторной матрицы, где следует оставить перемычки для реализации логического сложения в функции: Y1 = X1′·X2′ \/ X2′·X3′ \/ X1·X2·X3 = m1 \/ m2 \/ m3; (см. результат примера 1 из §2.2). Остальные перемычки должны пережигаться. Более подробно цепь выхода Y1 (остальные реализуются аналогично), представляющую собой обычную транзисторную схему ИЛИ, показана на рис. 4.71b. Здесь нетрудно убедиться, что сигнал 1 на выходе Y1 формируется, когда появляется сигнал 1 хотя бы в одной (m1, m2 или m3) цепи: этот сигнал откроет соответствующий транзистор, и сигнал 1 от источника питания UCC пройдет на выход Y1. Микросхемы МОП-структуры программируются на выполнение логических функций базисов И-НЕили ИЛИ-НЕ. В частности, схемотехника n-МОП содержит базовые логические ячейки в виде элементов ИЛИ-НЕ. Очевидно, что для наиболее полного использования микросхем ПЛМ, для реализации максимально возможного числа логических функции следует искать такую форму их записи, где будет наибольшее количество одинаковых термов. Как видно по рис. 4.70b и 4.71, схемы ПЛМ являются очень громоздкими и не очень наглядными, поэтому их обычно упрощают: операции И и ИЛИ условно изображают с помощью соответствующих одновходовых элементов. Линия входа такого элемента пересекается со всеми линиями своих входных сигналов. Если стоит точка в месте пересечения, то данный сигнал подается на вход элемента; если же точка отсутствует, то сигнал на вход не подается. Схема ПЛМ, начерченная на рис. 4.70b, в упрощенном виде показана на рис. 4.72. ***4.27. Программируемая матричная логика (ПМЛ) Еще одним представителем ПЛИС являются устройства программируемой матричной логики (ПМЛ). Они применяются в тех случаях, когда система логических функций не имеет большого количества одинаковых термов. При этом возможность вхождения любого терма в любую функцию, как в микросхемах ПЛМ, становится лишним усложнением. В микросхемах ПМЛ матрица элементов И остается такой же, как и в микросхемах ПЛМ, но элементы И объединяются в группы, причем выходы этих элементов каждой группы жестко подключены к своему элементу ИЛИ (рис. 4.73). ПМЛ как многофункциональные цифровые устройства имеют в третьей группе маркировки буквы ХЛ (или ХП при наличии элементов памяти). Для примера рассмотрим микросхему КМ1556 ХП4 (аналог – микросхема PAL16R4C фирмы «Advanced Micro Devices»), изображение которой приведено на рис. 4.74a, а структура – на рис. 4.74b (здесь входы микросхемы выделены красным цветом, а выходы – синим). Матрица И, формирующая термы, имеет 8 входов А0…А7 для переменных Х. Матрица ИЛИсодержит 8 элементов ИЛИ, из них четыре 7-входовых и четыре 8-входовых. Выводы В1…В4 выполнены двунаправленными путем применения здесь буферных элементов BUF1с тремя состояниями. В зависимости от программирования перемычек в цепях ЕО, идущих от матрицы И, любой буфер может работать следующим образом: – в обычном режиме при формировании в цепи ЕО активного сигнала 1; тогда соответствующий вывод B используется в качестве выхода, где формируется соответствующая функция Y; – переключается в Z-состояние при формировании в цепи ЕО пассивного уровня логического 0; в этом случае соответствующий элемент ИЛИ отключается от своего вывода B, который при этом может использоваться как дополнительный вход еще для одной переменной X. На выходах T ставятся интегральные триггеры с синхронизацией по положительному перепаду импульса на входе C, способные запоминать результаты выполненных функций Y. К инверсным выходам триггеров подключены цепи обратной связи, что позволяет получать на выходах T результаты операций всех последующих тактов в зависимости от результатов операций предыдущих тактов. Кроме этого, выходы T могут одновременно переходить в Z-состояние, отключаясь по пассивному уровню сигнала на входе ЕО буферов BUF2. ПЛИС достаточно широко используются в сложных узлах вычислительной, медицинской, контрольно-измерительной аппаратуры, а также в аппаратуре любых других отраслей, где применяются схемы электроники и микроэлектроники. Немного больше стоит сказать про применение ПЛИС в технике связи. Например, это различные дешифраторы, контроллеры и формирователи различных сигналов: адреса для ПЗУ, управляющих сигналов для ОЗУ, выбора страниц видеопамяти; арбитры шины, генераторы временных диаграмм и т. д. Одной из наиболее часто встречающихся в электронной и радиотехнике задач является преобразование частоты сигналов или длительности импульсов, а также задержка сигналов. Нередко в различных устройствах возникает потребность в аппаратном генераторе псевдослучайных (ГПСЧ), который часто представляет собой именно ПЛИС. Приложение 1. Справочный материал по микросхемам В этом приложении приведено условное графическое изображение всех микросхем, упомянутых в учебнике, указана нумерация выводов их корпусов, а также при необходимости даются краткие пояснения. После скобки с номером рисунка при необходимости указывается тема учебника, где дается более подробное описание данной микросхемы. 1. Логические элементы КР1533ЛН1 (рис.1). 6 элементов НЕ. П р и м е ч а н и е: такую же структуру имеют: микросхема КР1533ЛН2 (в ней содержатся элементы НЕ с открытыми коллекторными выходами), а также буферные микросхемы КР1533ЛН8 (с повышенной нагрузочной способностью) и КР1533ЛН10 (с повышенной нагрузочной способностью и с открытыми коллекторными выходами). КР1533ЛИ1 (рис.1). 4 элемента 2И. П р и м е ч а н и е: Такую же структуру имеют: микросхема КР1533ЛИ2 (в ней содержатся элементы с открытым коллекторным выходом) и буферная микросхема КР1533ЛИ8 (с повышенной нагрузочной способностью). КР1533ЛИ3 (рис.1). 3 элемента 3И. П р и м е ч а н и е: Такую же структуру имеют: микросхема КР1533ЛИ4 (в ней содержатся элементы с открытым коллекторным выходом) и буферная микросхема КР1533ЛИ10 (с повышенной нагрузочной способностью). КР1533ЛИ6 (рис.1). 2 элемента 4И. КР1533ЛЛ1 (рис.1). 4 элемента 2ИЛИ. П р и м е ч а н и е: Такую же структуру имеет микросхема КР1533ЛЛ4 (в ней содержатся буферные элементы с повышенной нагрузочной способностью). КР1533ЛА1 (рис.1). 2 элемента 4И-НЕ. П р и м е ч а н и е: Такую же структуру имеют: микросхема КР1533ЛА7 (в ней содержатся элементы с открытым коллекторным выходом) и буферная микросхема КР1533ЛА22 (с повышенной нагрузочной способностью). КР1533ЛА2 (рис.1). 1 элемент 8И-НЕ. КР1533ЛА3 (рис.1). 4 элемента 2И-НЕ. П р и м е ч а н и е: такую же структуру имеют: микросхема КР1533ЛА9 (в ней содержатся элементы И-НЕ с открытыми коллекторными выходами), а также буферные микросхемы КР1533ЛА21 (с повышенной нагрузочной способностью) и КР1533ЛА23 (с повышенной нагрузочной способностью и с открытыми коллекторными выходами). КР1533ЛА4 (рис.2). 3 элемента 3И-НЕ. П р и м е ч а н и е: Такую же структуру имеют: микросхема КР1533ЛА10 (в ней содержатся элементы с открытым коллекторным выходом) и буферная микросхема КР1533ЛА24 (с повышенной нагрузочной способностью). КР1533ЛЕ1 (рис.2). 4 элемента 2ИЛИ-НЕ. П р и м е ч а н и е: такую же структуру имеют буферные микросхемы КР1533ЛЕ10 (в ней содержатся элементы ИЛИ-НЕ с повышенной нагрузочной способностью) и КР1533ЛЕ11 (с повышенной нагрузочной способностью и с открытыми коллекторными выходами). КР1533ЛЕ4 (рис.2). 3 элемента 3ИЛИ-НЕ. КР1533ЛЕ7 (рис.2). 2 элемента 5ИЛИ-НЕ. КР1533ЛР4 (рис.2), тема 1.5. Элемент 4И-2ИЛИ-НЕ. КР1533ЛП5 (рис.2), тема 1.5. 4 элемента «Исключающее 2ИЛИ». П р и м е ч а н и е: Такую же структуру имеет микросхема КР1533ЛП12 (в ней содержатся элементы с открытым коллекторным выходом). КР1533ЛП16 (рис.2), тема 1.9. 6 буферных повторителей с повышенной нагрузочной способностью. П р и м е ч а н и е: Такую же структуру имеет микросхема КР1533ЛП17 (в ней содержатся буферные повторители с повышенной нагрузочной способностью и с открытым коллекторным выходом). КР1533ЛП8 (рис.2), тема 1.9. 4 буферных повторителя с тремя состояниями выходов. 2. Шинные формирователи (магистральные приемопередатчики) КР1533АП4 (рис.3), тема 1.9. Два 4-хразрядных формирователя с тремя состояниями выходов. КР1533ЛН7 (рис.3), тема 1.9. Два однонаправленных формирователя (один – четырехразрядный и другой – двухразрядный) с тремя состояниями выходов на шести буферных инверторах. КР1533АП6 (рис.3), тема 1.9. Восьмиразрядный двунаправленный формирователь (магистральный приемопередатчик) с тремя состояниями выходов. 3. Мажоритарные элементы и преобразователь уровней КР1533АП3 (рис.4), тема 1.10. Три мажоритарных элемента «два из трех». К564ПУ9 (рис.4), тема 1.11. Преобразователь уровней логических сигналов. 4. Шифраторы К555ИВ3 (рис.5), тема 3.3. Приоритетный шифратор 10х4. К555ИВ1 (рис.5), тема 3.3. Приоритетный шифратор 8х3. П р и м е ч а н и е: такую же структуру имеет К555ИВ2, но это уже буферная ИМС с тремя состояниями выходов. 5. Дешифраторы КР1533ИД3 (рис.6), тема 3.6. Дешифратор-демультиплексор 4х16. КР1533ИД4 (рис.6), тема 3.6. Сдвоенный дешифратор-демультиплексор 2х4. К555ИД6 (рис.7), тема 3.6. Дешифратор 4х10. КР1533ИД7 (рис.7), тема 3.6. Дешифратор-демультиплексор 3х8. КР1533ИД14 (рис.8), тема 3.6. Два дешифратора-демультиплексора 2х4. 6. Преобразователь кодов и сегментный цифровой индикатор К555ИД18 (рис.9), тема 3.8. Преобразователь двоично-десятичного кода в семиразрядный код управления сегментными цифровыми индикаторами. АЛ305Ж (рис.9), тема 3.8. Сегментный цифровой индикатор на световых излучающих диодах с общим катодным выводом. 7. Мультиплексоры КР1533КП2 (рис.10), тема 3.10. Сдвоенный селектор-мультиплексор 4—1. При ме чани я: 1. Если микросхема используется как один двухразрядный селектор-мультиплексор 4—1, то ее выводы удобнее располагать так, как показано на рис. 3.26. 2. Такую же структуру имеют: – Микросхема КР1533КП19, но у нее инверсные выходы. – Микросхема КР1533КП12, но это уже буферная ИМС с тремя состояниями выходов. – Микросхема КР1533КП17, которая отличается от микросхемы КР1533КП12 инверсными выходами. 8. Сумматор, компаратор, схема контроля четности и АЛУ К555ИМ6 (рис.12), тема 3.14. Четырехразрядный двоичный сумматор со встроенной СУП. КР1533ИП5 (рис.12), тема 3.19. Девятиразрядная схема контроля четности. КР1533СП1 (рис.13), тема 3.17. Четырехразрядный цифровой компаратор. КР1533ИП3 (рис.13), тема 3.18. Четырехразрядное АЛУ. 9. Интегральные триггеры КР1533ТР2 (рис.14). Четыре асинхронных RS-триггера, у которых выведены только прямые выходы. Триггеры 1 и 3 имеют объединенные по И входы установки S, то есть установка 1 на выходе этих триггеров производится только при одновременной подаче активных сигналов на оба входа S. К155ТВ1 (рис.14). Синхронный JK-триггер MS-типа с объединенными по И входами J и K, а также дополнительными асинхронными входами сброса CLR и установки PRE. КР1533ТВ6 (рис.14), тема 4.4. Два синхронных JK-триггера с асинхронным сбросом CLR. КР1533ТВ11 (рис.15). Сдвоенный JK-триггер с раздельной асинхронной установкой PRE, общей синхронизацией CLK и общим асинхронным сбросом CLR. КР1533ТВ15 (рис.15). Два синхронных JK-триггера с асинхронными входами установки PREи сброса CLR. КР1533ТМ2 (рис.15). Два синхронных D-триггера с асинхронными входами установки PREи сброса CLR. КР1533ТМ8 (рис.16). Четыре D-триггера с общей синхронизацией CLK и общим асинхронным сбросом CLR. КР1533ТЛ2 (рис.16), тема 4.5. Шесть триггеров Шмитта с инверсией. 10. Регистры и регистровый файл К555ИР11 (рис.17), тема 4.7. Четырехразрядный универсальный регистр. КР1533ИР9 (рис.17). Восьмиразрядный регистр с параллельной и последовательной загрузкой, и последовательным выводом. А…Н – информационные входы для параллельной записи, SER(от английского serial – последовательный) – информационный вход для последовательной записи со сдвигом вправо. Сигнал на входе SH/LD′ (SH от английского shift – сдвиг, LD от английского load – загрузка) определяет режим работы регистра: последовательную работу со сдвигом вправо при 1 и параллельную загрузку при 0. Пассивный уровень сигнала на входе INH (от английского inhibit – запрещать) блокирует синхросигнал на входе CLK, и состояние регистра не меняется. КР1533ИР15 (рис.18). Четырехразрядный регистр D-типа с тремя состояниями выходов и асинхронным сбросом. Вывод информации из регистра осуществляется только при наличии активных уровней на входах M, N. Подача пассивного сигнала хотя бы на один из этих входов переводит выходы микросхемы в Z-состояние, но без нарушения остальных режимов работы! То есть, в это время можно производить параллельную запись информации, ее сброс и хранение. Запись производится только при наличии активных уровней на обоих входах G по синхросигналу на входе CLK. Если хотя бы на одном входе G пассивный сигнал, то регистр переходит в режим хранения. КР1533ИР24 (рис.18). Восьмиразрядный универсальный регистр. Назначение входов S0, S1; SR, SL; CLR, CLK такое же, как в микросхеме К555ИР11. Выводы DQ используются в качестве информационных входов при параллельной загрузке и в качестве выходов – при параллельном выводе информации. Вывод информации из регистра осуществляется только при наличии активных уровней на входах 1G, 2G. Подача пассивного сигнала хотя бы на один из этих входов переводит выходы микросхемы в Z-состояние, но без нарушения остальных режимов работы! То есть, в это время можно производить параллельную запись информации, сдвиг вправо и влево, ее сброс и хранение. При выводе информации в последовательной форме со сдвигом вправо выходом является QH, со сдвигом влево – QA. КР1533ИР8 (рис.19). Восьмиразрядный регистр с последовательной записью, параллельным выводом и асинхронным сбросом. В качестве информационного входа для последовательной загрузки со сдвигом вправо можно использовать любой из входов АВ, но при этом на втором входе должен поддерживаться постоянный активный уровень. КР1533ИР26 (рис.19), тема 4.8. 4 х 4 регистровый файл с тремя состояниями выходов. 11. Счетчики и распределитель КР1533ИЕ5 (рис.20), тема 4.10. Четырехразрядный двоичный суммирующий счетчик. КР1533ИЕ2 (рис.20), тема 4.11. Двоично-десятичный суммирующий счетчик. КР1533ИЕ6 (рис.21), тема 4.13. Двоично-десятичный реверсивный счетчик. КР1533ИЕ7 (рис.21). Четырехразрядный двоичный реверсивный счетчик. Назначение его выводов и принцип функционирования практически такие же, как в микросхеме КР1533ИЕ6, только на выходе окончания счета в режиме суммирования СО устанавливается активный уровень при достижении конца счета в режиме суммирования, когда на выходах QA, QB, QC, QD появляется код 1111 последнего числа цикла – 15. КР1533ИЕ9 (рис.22), тема 4.12. Двоично-десятичный счетчик. К564ИЕ15 (рис.22), тема 4.15. Программируемый счетчик-делитель. 12. Запоминающие устройства КР531РУ8 (рис.24), тема 4.21. Статическое ОЗУ емкостью 8 байт (16 ячеек х 4 разряда). КР537РУ13 (рис.24). Статическое ОЗУ емкостью 512 байт (1024 х 4). Выводы DIO используются в качестве информационных входов при записи и в качестве информационных выходов при считывании. КР537РУ3 (рис.25). Статическое ОЗУ емкостью 512 байт (4096 х 1). КР537РУ8 (рис.25), тема 4.25. Статическое ОЗУ емкостью 2 Кбайт (2048 х 8). Имеет вход ЕО(разрешение по выходу): здесь пассивный уровень сигнала переводит микросхему в Z-состояние независимо от значения сигнала на входе CS. Выводы DIO используются в качестве информационных входов при записи и в качестве информационных выходов при считывании. КР565РУ6 (рис.26), тема 4.22. Динамическое ОЗУ емкостью 2 Кбайт (16384 х 1) со стробами адреса строки RAS и адреса колонки CAS. К555РЕ4 (рис.26). Масочное ПЗУ емкостью 2 Кбайт (2048 х 8). КР556РТ4 (рис.27). Программируемое ПЗУ емкостью 128 байт (256 х 4). Поступает к потребителю в первоначальном состоянии, соответствующем логическому 0 (элементы памяти всех ячеек установлены в состояние 0). При программировании потребителем запись информации производится с выходов DO. В режиме хранения на всех выходах DO удерживаются постоянные уровни логической 1. К573РР2 (рис.27). Репрограммируемое ПЗУ с электрическим стиранием информации емкостью 2 Кбайт (2048 х 8). В режимах записи выводы DIO используются в качестве информационных входов. Может работать в следующих режимах: 1. Хранение. Осуществляется при CS = 1, в этом случае микросхема переходит в Z-состояние. 2. Считывание происходит при активных уровнях сигналов на входах CS, ЕО и подключенном ко входу UPR (см. с. 270) напряжении питания UCC. Допускается сигналы CS и ЕО подавать не только уровнями, но и импульсами. 3. Общее стирание, когда элементы памяти всех ячеек устанавливаются в состояние 1, и на всех выходах DIO также появляются сигналы логической 1. Производится подачей импульса амплитудой 22Вна вход UPR при CS = 0 и EO = +12В. 4. Избирательное (байтовое) стирание, то есть стирание информации в одной ячейке происходит при CS = 0, ЕО = 1 и подаче импульса амплитудой 22В на вход UPR. В этом случае состояние логической 1 устанавливается лишь в одной выбранной ячейке и на выходах DIO. 5. Общая запись, когда элементы памяти всех ячеек устанавливаются в состояние 0. Осуществляется подачей импульса амплитудой 22В при CS = +12В, EO = 1 и безразличных сигналах на входах DIO. 6. Избирательная (байтовая) запись, то есть запись в одну ячейку. Производится при CS = 0, ЕО = 1 и подаче импульса амплитудой 22В на вход UPR. 13. ПЛИС КР556РТ1 (рис.28), тема 4.26. ПЛМ (программируемая логическая матрица) 16 × 48 × 8 (16 входных переменных, 48 термов, 8 функций) с открытыми коллекторными выходами. КМ1556ХП4 (рис.28), тема 4.27. ПМЛ (программируемая матричная логика) с тремя состояниями на 8 входных переменных. Приложение 2.Система маркировки микросхем американской фирмы «Texas Instruments» Здесь для примера описана система маркировки микросхем производства американской фирмы «Texas Instruments», занимающей одну из ведущих позиций в мире по разработке и выпуску цифровых микросхем. И дополнительно это облегчит выполнение лабораторных работ, так как в компьютерной программе Electronics Workbench применяется именно данная система маркировки микросхем и соответствующее обозначение выводов. Кроме этого, следует также иметь в виду, что многие другие производители микросхем, которые не занимаются собственными разработками, покупают лицензию на их изготовление именно у этой фирмы, а также у других фирм-разработчиков микросхем, сохраняя при этом «корень» (см. ниже) их маркировки, но меняя «префикс» и «суффикс». Фирмы-разработчики микросхем применяют свою собственную систему маркировки (например, хорошо известные фирмы «Motorola», «Samsung», «Intel» и другие), то с их смыслом можно ознакомиться лишь по специальной справочной литературе. Маркировку микросхем фирмы «Texas Instruments» можно в основном разделить на три части: префикс, корень и суффикс. Например: . SN префикс 74S00 N корень суффикс «Корень» дает следующую информацию: 1. Первые две цифры указывают температурный диапазон, в котором допускается эксплуатация: – 54: от -55 до +125 °С; – 74: от 0 до +70 °С; – 84: от -25 до +85 °С. 2. Следующие за ними буквы определяют структуру микросхемы: – ALS: биполярные усовершенствованные маломощные ТТЛ-схемы с диодами Шоттки; – AS: усовершенствованные с диодами Шоттки; – Н: быстродействующие КМОП-схемы; – НСТ: то же, совместимые со схемами ТТЛ; – L: маломощные ТТЛ-схемы; – LS: маломощные с диодами Шоттки; – S: с диодами Шоттки; – Отсутствие буквы указывает на обычную структуру ТТЛ. 3. Последние цифры указывают на функциональное назначение микросхемы. Приведем значения этих цифр для всех микросхем, имеющих аналоги в настоящей книге: – 00: 4 элемента 2И-НЕ; – 02: 4 элемента 2ИЛИ-НЕ; – 03: 4 элемента 2И-НЕ с открытым коллектором; – 04: 6 элементов НЕ; – 05: 6 элементов НЕ с открытым коллектором; – 08: 4 элемента 2И; – 09: 4 элемента 2И с открытым коллектором; – 10: 3 элемента 3И-НЕ; – 11: 3 элемента 3И; – 12: 3 элемента 3И-НЕ с открытым коллектором; – 14: 6 триггеров Шмитта с инверсией; – 15: 3 элемента 3И с открытым коллектором; – 20: 2 элемента 4И-НЕ; – 21: 2 элемента 4И; – 22: 2 элемента 4И-НЕ с открытым коллектором; – 27: 3 элемента 3ИЛИ-НЕ; – 30: 1 элемент 8И-НЕ; – 32: 4 элемента 2ИЛИ; – 33: 4 буферных элемента 2ИЛИ-НЕ с открытым коллектором; – 35: 6 элементов НЕ с открытым коллектором; – 42: дешифратор 4х10; – 55: 1 элемент 2х4И/2ИЛИ-НЕ, расширяемый по ИЛИ; – 72: JK-триггер MS-типа – 74: два D-триггера; – 86: 4 элемента «исключающее 2ИЛИ»; – 90: двоично-десятичный счетчик; – 93: четырехразрядный двоичный счетчик; – 107: 2 синхронных JK-триггера со сбросом; – 109: два JK-триггера с предварительной установкой и сбросом; – 114: два JK-триггера с установкой, сбросом и общей синхронизацией; – 125: 4 буферных элемента с тремя состояниями; – 136: 4 элемента «исключающее 2ИЛИ» с открытым коллектором; – 138: дешифратор-демультиплексор 3х8; – 139: два 2-разрядных двоичных дешифратора-демультиплексора 2х4; – 147: приоритетный шифратор 10х4; – 148: приоритетный шифратор 8х3; – 150: мультиплексор-селектор 16х1; – 151: мультиплексор-селектор 8х1; – 153: сдвоенный мультиплексор-селектор 4х1; – 154: 4-разрядный дешифратор-демультиплексор 4х16; – 155: сдвоенный дешифратор-демультиплексор 2х4; – 157: 4 мультиплексора-селектора 2х1; – 158: 4 мультиплексора-селектора 2х1 с инверсными выходами; – 160: синхронный двоично-десятичный счетчик; – 164: 8-разрядный регистр с последовательным вводом и параллельным выводом; – 165: 8-разрядный регистр с параллельным вводом и последовательным выводом; – 173: 4-разрядный регистр с тремя состояниями выходов; – 175: четыре D-триггера; – 181: 4-разрядное АЛУ; – 182: схема ускоренного переноса для АЛУ; – 185: цифровой компаратор; – 189: ОЗУ на 64 бита (16х4) с тремя состояниями; – 192: двоично-десятичный реверсивный счетчик; – 193: четырехразрядный двоичный реверсивный счетчик; – 194: 4-разрядный универсальный регистр; – 198: 8-разрядный универсальный регистр – 241: 8-канальный формирователь с тремя состояниями выходов и асимметричным управлением; – 245: 8-канальный формирователь с тремя состояниями выходов; – 247: преобразователь двоично-десятичного кода в семиразрядный код управления сегментными цифровыми индикаторами; – 251: мультиплексор-селектор 8х1 с тремя состояниями выходов; – 253: сдвоенный мультиплексор-селектор 4х1 с тремя состояниями выходов; – 257: счетверенный мультиплексор-селектор 2х1 с тремя состояниями выходов; – 258: счетверенный мультиплексор-селектор 2х1 с инверсией сигнала и тремя состояниями выходов; – 260: два логических элемента 5ИЛИ-НЕ; – 279: четыре RS-триггера; – 280: 9-разрядная схема контроля четности/нечетности; – 283: 4-разрядный сумматор; – 299: 8-разрядный универсальный регистр с тремя состояниями выходов; – 348: приоритетный шифратор 8х3 с тремя состояниями выходов; – 352: сдвоенный мультиплексор-селектор 4х1 с инверсией сигнала на выходе; – 353: сдвоенный мультиплексор-селектор 4х1 с инверсией сигнала и тремя состояниями на выходе; – 368: 6 шинных инвертируемых формирователей с тремя состояниями выходов; – 670: регистровый файл 4х4 с тремя состояниями выходов; – 1000: 4 элемента 2И-НЕ с открытым коллектором; – 1002: 4 элемента 2ИЛИ-НЕ с открытым коллектором; – 1003: 4 элемента 2И-НЕ с открытым коллектором; – 1004: 6 элементов НЕ с тремя состояниями выходов; – 1005: 6 элементов НЕ с открытым коллектором; – 1008: 4 элемента 2И с открытым коллектором; – 1010: 3 элемента 3И-НЕ с повышенной нагрузочной способностью; – 1011: 3 элемента 3И с повышенной нагрузочной способностью; – 1020: 2 элемента 4И-НЕ; – 1032: 4 элемента 2ИЛИ с повышенной нагрузочной способностью; – 1034: 6 элементов 2И с повышенной нагрузочной способностью; – 1035: 6 элементов 2ИЛИ с открытым коллектором; – 4022: счетчик-делитель на 8; – 4059: программируемый счетчик-делитель; – 6504: Статическое ОЗУ КМОП на 4096х1. «Префикс» определяет назначение микросхемы: – АС: биполярные ИС улучшенные; – SBP: биполярные микропроцессоры; – SMJ: МОП – ИС памяти и микропроцессоры; – SN: стандартные ИС; – ТВР: биполярные ИС памяти; – ТСМ: ИС для телекоммуникаций; – TIL: оптоэлектронные ИС; – ТМ: модули микроЭВМ. «Суффикс» указывает тип корпуса: – FG, FE: многослойный прямоугольный кристаллодержатель; – FH: однослойный керамический квадратный кристаллодержатель; – FK: многослойный квадратный кристаллодержатель; – FM: прямоугольный кристаллодержатель для динамических ОЗУ; – FN: однослойный пластмассовый квадратный кристаллодержатель; – J, JD, JG, JT: керамический DIL (Dual in line) с двухрядным расположением выводов; – KA, KC, KD, KF: пластмассовый с теплорассекателем; – LP: трехвыводной пластмассовый; – N, NE, NF, NT: пластмассовый DIL; – Т: металлический плоский; – U, WA, WC: керамический плоский; – 8D,14D,16D: малогабаритный. Смысл «префикса» и «суффикса» некоторых других фирм описан в [5] и [16]. Приложение 3 Аналоги микросхем Здесь даются наиболее типичные аналоги микросхем, упомянутых в настоящей книге. Литература 1. Алексеенко А. Г., Шагурин И. И. Микросхемотехника. – М.: Радио и связь, 1990. 2. Аналоговые и цифровые интегральные микросхемы: Справочное пособие/ С.В.Якубовский, Н.А.Барканов, Л.И.Нессельсон и др.: Под ред. С.В.Якубовского. – М.: Радио и связь, 1984. 3. Бирюков С. А. Цифровые устройства на интегральных микросхемах. – М.: Радио и связь, 1991. 4. Большие интегральные схемы запоминающих устройств: Справочник/ Гордонов А. Ю., Бекин Н. В., Цыркин В.В и др.; Под ред. А.Ю.Гордонова и Ю.Н.Дьякова. – М.: Радио и связь, 1990. 5. Воробьев Е. П., Сенин К. В. Интегральные микросхемы производства СССР и их зарубежные аналоги. – М.: Радио и связь, 1990. 6. Гольденберг Л. М., Бутыльский Ю. Т., Поляк М. Н. Цифровые устройства на интегральных схемах в технике связи. – М.: Радио и связь, 1989. 7. Гольденберг Л. М. и др. Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учеб. пособие для ВУЗов/ Л.М.Гольденберг, В.А.Малев, Г.Б.Малько. – М.: Радио и связь, 1992. 8. Иванов В. И., Аксенов А. И., Юшин А. М. Полупроводниковые оптоэлектронные приборы: Справочник. – М.: Энергоатомиздат, 1988. 9. Интегральные микросхемы и их зарубежные аналоги: Справочник/ Нефедов А. В. – М.: «КУбК-а», 1997. 10. Калабеков Б. А. Цифровые устройства и микропроцессорные системы. – М.: Радио и связь, 1987. 11. Калабеков Б. А. Цифровые устройства и микропроцессорные системы. – М.: Горячая линия -Телеком, 2000. 12. Лебедев О. Н. Микросхемы памяти и их применение. – М.: Радио и связь, 1990. 13. Лебедев О. Н. Применение микросхем памяти в электронных устройствах: Справочное пособие. – М.: Радио и связь, 1994. 14. Логические ИС КР1533, КР1554: Справочник/ Петровский И. И., Прибыльский А. В., Троян А. А., Чувелев В. С. – М.: ТОО «БИНОМ», 1993. 15. Мальцева Л. А., Фромберг Э. М., Ямпольский В. С. Основы цифровой техники. – М.: Радио и связь, 1987. 16. Муоцик Е. Таблицы аналогов цифровых интегральных микросхем: Справочник. Перевод со словацкого. – М.: Радио и связь, 1992. 17. Нсанов М. А. Цифровые устройства. – Алматы, Компьютерно-издательский центр «VITA», 1997. 18. Опадчий Ю. Ф., Глудкин О. П., Гуров А. И.. Аналоговая и цифровая электроника. – М.: Горячая Линия – Телеком, 1999. 19. Полупроводниковые БИС запоминающих устройств: Справочник/ Баранов В. В., Бекин Н. В., Гордонов А. Ю. и др.; Под ред. А.Ю.Гордонова и Ю.Н.Дьякова. – М.: Радио и связь, 1986. 20. Сташин В. В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах/ Сташин В. В., Урусов А. В., Мологонцева О. Ф. – М.: Энергоатомиздат, 1990. 21. Стрыгин В.В, Щарев Л. С. Основы вычислительной, микропроцессорной техники и программирования. – М.: Высшая школа, 1989. 22. Схемотехника БИС постоянных запоминающих устройств/ Петросян О. А., Козырь И. Я., Коледов Л. А., Щетинин Ю. И. – М.: Радио и связь, 1987. 23. Угрюмов Е. П. Цифровая схемотехника. – СПб.: БХВ – Санкт-Петербург, 2000. 24. Усатенко С. Т., Каченюк Т. К., Терехова Н. В. Выполнение электрических схем по ЕСКД. – М.: Издательство стандартов, 1989. 25. Ушаков В. Н., Долженко О. В. Электроника: от элементов до устройств. – М.: Радио и связь, 1993. 26. Цифровая и вычислительная техника: Учебник для ВУЗов/ Евреинов Э. В., Бутыльский Ю. Т., Мамзелев И. А. и др.; Под ред. Евреинова Э. В. – М.: Радио и связь, 1991. 27. Цифровые и аналоговые интегральные микросхемы: Справочник/ С.В.Якубовский, Л.И.Ниссельсон, В.И.Кулешова и др.; Под ред. С.В.Якубовского. – М.: Радио и связь, 1990. 28. Цифровые интегральные микросхемы: Справочник/ П.П.Мальцев, Н.С.Долидзе, М.И.Критенко и др. – М.: Радио и связь, 1994. 29. Шило В. Л. Популярные цифровые микросхемы. – М.: Радио и связь, 1987. Кроме этого, автор использовал (особенно в последние годы!) материалы очень большого количества открытых сайтов Интернета, только одно перечисление которых займет не один десяток страниц. Содержание Введение Раздел 1. Логические элементы 1.1. Общие сведения о цифровых сигналах и цифровых устройствах 1.2. Общие сведения о логических элементах 1.3. Интегральные микросхемы (ИМС). Маркировка ИМС. 1.4. Структура ИМС 1.5. ИМС логических элементов 1.6. Основные параметры, характеризующие работу ИМС 1.7. Сравнительная характеристика ИМС различных структур 1.8. Элементы с открытым коллекторным выходом 1.9. Буферные элементы 1.10. Мажоритарные элементы 1.11. Преобразователи уровней Раздел 2. Основы синтеза и анализа работы цифровых устройств 2.1. Формы записи логических функций 2.2. Минимизация логических функций методом Вейча 2.3. Подбор микросхем, построение и анализ работы схем ЦУ в базисе И, ИЛИ, НЕ. Оценка качества схем. 2.4. Переход к базису И-НЕ. Подбор микросхем, построение и анализ работы схем ЦУ в базисе И-НЕ. 2.5. Переход к базису ИЛИ-НЕ. Подбор микросхем, построение и анализ работы схем ЦУ в базисе ИЛИ-НЕ. 2.6. Использование в схемах элементов разных базисов и комбинированных микросхем 2.7. Сравнительная оценка качества схем 2.8. Синтез и анализ работы ЦУ с 4 входами 2.9. Оптимизация схем. Неиспользуемые логические элементы. 2.10. Понятие о гонках сигналов Раздел 3. Комбинационные цифровые устройства 3.1. Системы счисления. Коды. 3.2. Понятия активного и пассивного сигналов. Способы статического управления. 3.3. Шифраторы. Общие сведения, микросхемы шифраторов. 3.4. Структура шифраторов. Синтез и анализ работы шифраторов на микросхемах логических элементов. 3.5. Принцип организации разрешения и приоритета в шифраторах 3.6. Дешифраторы. Общие сведения, микросхемы дешифраторов. 3.7. Структура дешифраторов. Синтез и анализ работы дешифраторов на микросхемах логических элементов. Принцип организации разрешения в дешифраторах. 3.8. Преобразователи кодов и сегментные цифровые индикаторы 3.9. Структура преобразователей кодов. Синтез и анализ работы преобразователей кодов на микросхемах логических элементов. 3.10. Мультиплексоры. Общие сведения, микросхемы мультиплексоров. 3.11. Структура мультиплексоров 3.12. Демультиплексоры 3.13. Понятие о логических устройствах с программируемыми характеристиками. Использование мультиплексоров в качестве универсальных логических элементов. 3.14. Арифметическое сложение двоичных кодов. Двоичные сумматоры. 3.15. Сложение чисел в двоично-десятичном коде. Двоично-десятичные сумматоры. 3.16. Вычитание двоичных кодов. Двоичные субтракторы. 3.17. Сравнение двоичных кодов. Цифровые компараторы. 3.18. Арифметико-логические устройства (АЛУ) 3.19. Схемы контроля четности 3.20. Обнаружение ошибок при передаче и хранении информации с помощью контроля четности 3.21. Узлы мажоритарного контроля Раздел 4. Последовательностные цифровые устройства 4.1. Интегральные триггеры. Общие сведения. 4.2. Управление интегральными триггерами 4.3. Структура и особенности работы интегральных триггеров 4.4. Микросхемы интегральных триггеров 4.5. Логические элементы – триггеры Шмитта 4.6. Регистры. Регистры параллельного и последовательного действия. 4.7. Микросхемы регистров. Временные диаграммы. 4.8. Регистровые файлы 4.9. Счетчики. Основные понятия и классификация. 4.10. Счетчики с последовательным переносом. Деление частоты. 4.11. Счетчики с параллельным переносом 4.12. Примеры работы микросхем счетчиков 4.13. Каскадное соединение счетчиков 4.14. Изменение коэффициента счета микросхем счетчиков 4.15. Счетчики с управляемым переменным коэффициентом деления 4.16. Счетчики с недвоичным кодированием 4.17. Распределители 4.18. Запоминающие устройства (ЗУ). Общие понятия и классификация. 4.19. Основные параметры ЗУ 4.20. Структура адресных ЗУ (ПЗУ и статических ОЗУ) 4.21. Примеры работы микросхем адресных статических ОЗУ 4.22. Динамические ОЗУ 4.23. Структура ЗУ с последовательным доступом 4.24. Структура ассоциативных ЗУ 4.25. Построение ЗУ заданной емкости и разрядности 4.26. Программируемые логические матрицы (ПЛМ) 4.27. Программируемая матричная логика (ПМЛ) Приложение 1. Справочный материал по микросхемам Приложение 2. Система маркировки микросхем американской фирмы «Texas Instruments» Приложение 3. Аналоги микросхем Список литературы Содержание Примечания 1 ***Темы, отмеченные звездочками, не были включены в программу предмета ко времени работы над книгой из-за недостатка времени по учебным планам. Они здесь даются для расширения и углубления знаний тех учащихся, которым это интересно, а также для помощи при выполнении курсовых работ и дипломных проектов.