Учебное пособие: Цифровая схемотехника. Необходимость преобразования аналоговых сигналов в дискретные

25 апреля 2010 в 16:16

Самостоятельное изучение схемотехники. Основные понятия. Часть 1

  • Электроника для начинающих

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


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

В статье рассматривается цифровой дискретный сигнал. Это такой сигнал, который имеет несколько уровней. Очевидно, что двоичный сигнал имеет два уровня - и их принимают за 0 и 1. Когда высокий уровень обозначается единицей, а низкий нулем - такая логика называется позитивной, иначе негативной.

Цифровой сигнал можно представить в виде временной диаграммы.

В природе дискретных сигналов не существует, по этому их заменяют аналоговыми. Аналоговый сигнал не может перейти из 0 в 1 мгновенно, по этому такой сигнал обладает фронтом и срезом .
Если рисовать упрощенно то это выглядит так:

1 - низкий уровень сигнала, 2 - высокий уровень сигнала, 3 - нарастание сигнала (фронт), 4 - спад сигнала (срез)

Сигналы можно преобразовывать. Для этого на практике используются логические элементы, а чтобы это записать формально используются логические функции. Вот основные:

Отрицание - инвертирует сигнал.
На схемах обозначается так:

Логическое ИЛИ (логическое сложение, дизъюнкция)

На схеме:

Логическое И (логическое умножение, конъюнкция)

На схеме:

Последние два могут иметь отрицание на выходе (И-НЕ, ИЛИ-НЕ). Значения их логических функций инвертируются, а на схеме выход рисуется кружочком.

Сводная таблица логических функций двух аргументов выглядит так:

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

Проектирование логических схем с помощью функций алгебры логики

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

Схемы первого рода , т.е. комбинационные схемы , выходной сигнал которых зависит только от состояния входных сигналов в каждый момент времени;

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

По количеству входов и выходов схемы бывают: с одним входом и одним выходом, с несколькими входами и одним выходом, с одним входом и несколькими выходами, с несколькими входами и выходами.

По способу осуществления синхронизации схемы бывают с внешней синхронизацией (синхронные автоматы), с внутренней синхронизацией (асинхронные автоматы являются их частным случаем).

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

Можно считать, что элементарные логические функции являются логическими операторами упомянутых электронных элементов, т.е. схем. Каждая такая схема обозначается определенным графическим символом. (Они были представлены выше - Элементы И, ИЛИ, НЕ, ИЛИ-НЕ, И-НЕ)

В качестве примера ниже представлена схема электрическая функциональная логического преобразователя (комбинационного автомата), реализующего логическую функцию в элементном базисе из логических элементов И, ИЛИ, НЕ.

Для закрепления предлагаю, самостоятельно синтезировать логическую схему, реализующую следующие логические функции:

Сделать это можно к примеру в Electronic workbench.

Вот для примера первое выполненное задание:

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

Логические элементы (или, как их еще называют, вентили, "gates") - это наиболее простые цифровые микросхемы. Именно в этой простоте и состоит их отличие от других микросхем. Как правило, в одном корпусе микросхемы может располагаться от одного до шести одинаковых логических элементов. Иногда в одном корпусе могут располагаться и разные логические элементы.

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

Главные достоинства логических элементов, по сравнению с другими цифровыми микросхемами, - это их высокое быстродействие (малые времена задержек), а также малая потребляемая мощность (малый ток потребления). Поэтому в тех случаях, когда требуемую функцию можно реализовать исключительно на логических элементах, всегда имеет смысл проанализировать этот вариант. Недостаток же их состоит в том, что на их основе довольно трудно реализовать сколько-нибудь сложные функции. Поэтому чаще всего логические элементы используются только в качестве дополнения к более сложным, к более "умным" микросхемам. И любой разработчик обычно стремится использовать их как можно меньше и как можно реже. Существует даже мнение, что мастерство разработчика обратно пропорционально количеству используемых им логических элементов. Однако это верно далеко не всегда.

Инверторы

Самый простой логический элемент - это инвертор (логический элемент НЕ, "inverter"), уже упоминавшийся в первой лекции . Инвертор выполняет простейшую логическую функцию - инвертирование, то есть изменение уровня входного сигнала на противоположный. Он имеет всего один вход и один выход. Выход инвертора может быть типа 2С или типа ОК. На рис. 3.1 показаны условные обозначения инвертора, принятые у нас и за рубежом, а в табл. 3.1 представлена таблица истинности инвертора.

Рис. 3.1. Условные обозначения инверторов: зарубежные (слева) и отечественные (справа)

В одном корпусе микросхемы обычно бывает шесть инверторов. Отечественное обозначение микросхем инверторов - "ЛН". Примеры: КР1533ЛН1 (SN74ALS04) - шесть инверторов с выходом 2С, КР1533ЛН2 (SN74ALS05) - шесть инверторов с выходом ОК. Существуют также инверторы с выходом ОК и с повышенным выходным током (ЛН4), а также с повышенным выходным напряжением (ЛН3, ЛН5). Для инверторов с выходом ОК необходимо включение выходного нагрузочного резистора pull-up. Его минимальную величину можно рассчитать очень просто: R < U/I OL , где U - напряжение питания, к которому подключается резистор. Обычно величина резистора выбирается порядка сотен Ом - единиц кОм.

Две основные области применения инверторов - это изменение полярности сигнала и изменение полярности фронта сигнала (рис. 3.2) . То есть из положительного входного сигнала инвертор делает отрицательный выходной сигнал и наоборот, а из положительного фронта входного сигнала - отрицательный фронт выходного сигнала и наоборот. Еще одно важное применение инвертора - буферирование сигнала (с инверсией), то есть увеличение нагрузочной способности сигнала. Это бывает нужно в том случае, когда какой-то сигнал надо подать на много входов, а выходной ток источника сигнала недостаточен.

Рис. 3.2. Инверсия полярности сигнала и инверсия полярности фронта сигнала

Именно инвертор, как наиболее простой элемент, чаще других элементов используется в нестандартных включениях. Например, инверторы обычно применяются в схемах генераторов прямоугольных импульсов (рис. 3.3) , выходной сигнал которых периодически меняется с нулевого уровня на единичный и обратно. Все приведенные схемы, кроме схемы д, выполнены на элементах К155ЛН1, но могут быть реализованы и на инверторах других серий при соответствующем изменении номиналов резисторов. Например, для серии К555 номиналы резисторов увеличиваются примерно втрое. Схема д выполнена на элементах КР531ЛН1, так как она требует высокого быстродействия инверторов.

Рис. 3.3. Схемы генераторов импульсов на инверторах

Схемы а, б и в представляют собой обычные RC-генераторы, характеристики которых (выходную частоту, длительность импульса) можно рассчитать только приблизительно. Для схем а и б при указанных номиналах резистора и конденсатора частота генерации составит порядка 100 кГц, для схемы в - около 1 МГц. Эти схемы рекомендуется использовать только в тех случаях, когда частота не слишком важна, а важен сам факт генерации. Если же точное значение частоты принципиально, то рекомендуется применять схемы г и д, в которых частота выходного сигнала определяется только характеристиками кварцевого резонатора. Схема г используется для кварцевого резонатора, работающего на первой (основной) гармонике. Величину емкости можно оценить по формуле:

где F - частота генерации. Схема д применяется для гармониковых кварцевых резонаторов, которые работают на частоте, большей основной в 3, 5, 7 раз (это бывает нужно для частот генерации выше 20 МГц).

Рис. 3.4. Использование инверторов для задержки сигнала

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

tЗ = 2t PHL + 2t PLH

Правда, надо учитывать, что обычно реальные задержки элементов оказываются существенно ниже (иногда даже вдвое), чем табличные параметры t PHL и t PLH . То есть о точном значении получаемой задержки говорить не приходится, ее можно оценить только примерно.

Для задержки сигнала используются также конденсаторы (рис. 3.4, внизу) . При этом задержка возникает из-за медленного заряда и разряда конденсатора (напряжение на конденсаторе ­- UC). Схема без резистора (слева на рисунке) дает задержку около 100 нс. В схеме с резистором (справа на рисунке) номинал резистора должен быть порядка сотен Ом. Но при выборе таких схем с конденсаторами надо учитывать, что некоторые серии микросхем (например, КР1533) плохо работают с затянутыми фронтами входных сигналов. Кроме того, надо учитывать, что количество времязадающих конденсаторов в схеме обратно пропорционально уровню мастерства разработчика схемы.

Наконец, еще одно применение инверторов, но только с выходом ОК, состоит в построении на их основе так называемых элементов "Проводного ИЛИ". Для этого выходы нескольких инверторов с выходами ОК объединяются, и через резистор присоединяются к источнику питания (рис. 3.5) . Выходом схемы является объединенный выход всех элементов. Такая конструкция выполняет логическую функцию ИЛИ-НЕ, то есть на выходе будет сигнал логической единицы только при нулях на всех входах. Но о логических функциях подробнее будет рассказано далее.

Рис. 3.5. Объединение выходов инверторов с ОК для функции ИЛИ-НЕ

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

Повторители и буферы

Повторители и буферы отличаются от инверторов прежде всего тем, что они не инвертируют сигнал (правда, существуют и инвертирующие буферы). Зачем же тогда они нужны? Во-первых, они выполняют функцию увеличения нагрузочной способности сигнала, то есть позволяют подавать один сигнал на много входов. Для этого имеются буферы с повышенным выходным током и выходом 2С, например, ЛП16 (шесть буферных повторителей). Во-вторых, большинство буферов имеют выход ОК или 3С, что позволяет использовать их для получения двунаправленных линий или для мультиплексирования сигналов. Поясним подробнее эти термины.

Рис. 3.6. Двунаправленная линия

Под двунаправленными линиями понимаются такие линии (провода), сигналы по которым могут распространяться в двух противоположных направлениях. В отличие от однонаправленных линий, которые идут от одного выхода к одному или нескольким входам, к двунаправленной линии могут одновременно подключаться несколько выходов и несколько входов (рис. 3.6) . Понятно, что двунаправленные линии могут организовываться только на основе выходов ОК или 3С. Поэтому почти все буферы имеют именно такие выходы.

Рис. 3.7. Однонаправленная мультиплексированная линия на основе буферов

Мультиплексированием называется передача разных сигналов по одним и тем же линиям в разные моменты времени. Основная цель мультиплексирования состоит в сокращении общего количества соединительных линий. Двунаправленная линия обязательно является мультиплексированной, а мультиплексированная линия может быть как однонаправленной, так и двунаправленной. Но в любом случае к ней присоединяется несколько выходов, только один из которых в каждый момент времени находится в активном состоянии. Остальные выходы в это время отключаются (переводятся в пассивное состояние). В отличие от двунаправленной линии, к мультиплексированной линии, построенной на основе буферов, может быть подключен всего лишь один вход, но обязательно несколько выходов с ОК или 3С (рис. 3.7) . Мультиплексированные линии могут строиться не только на буферах, но и на микросхемах мультиплексоров, которые будут рассмотрены в лекциях 5, 6.

Рис. 3.8. Объединение выходов буферов с ОК

Примером буферов с выходом ОК является микросхема ЛП17 (шесть буферов о ОК). Точно так же, как и в случае инверторов с ОК (см. рис. 3.5) , выходы нескольких буферов с ОК могут объединяться для получения функции "Монтажное И", то есть на выходе будет сигнал логической единицы только при единицах на всех входах (рис. 3.8) . То есть реализуется многовходовой элемент И.

Буферы с выходом 3С представлены гораздо большим количеством микросхем, например, ЛП8, ЛП11, АП5, АП6, АП14. Эти буферы обязательно имеют управляющий вход EZ (или OE), переводящий выходы в третье, пассивное состояние. Как правило, третьему состоянию соответствует единица на этом входе, а активному состоянию выходов - нуль, то есть сигнал EZ имеет отрицательную полярность.

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

Таблица 3.2. Таблица истинности буфера без инверсии

Вход

Выход

Простейшим однонаправленным буфером без инверсии является микросхема ЛП8 (четыре буфера с выходами типа 3С и раздельным управлением). Каждый из четырех буферов имеет свой вход разрешения EZ. Таблица истинности буфера очень проста (табл. 3.2) : при нулевом сигнале на входе управления выход повторяет вход, а при единичном - выход отключен. Эту микросхему удобно применять для обработки одиночных сигналов, то есть для повторения входного сигнала с возможностью отключения выхода.

Рис. 3.9. Применение буфера с 3С в качестве буфера с ОК

Эти же буферы иногда удобно использовать для замещения буферов с выходом ОК (рис. 3.9) . В этом случае вход управления служит информационным входом. При нуле на входе мы получаем нуль на выходе, а при единице на входе - третье состояние на выходе.

Рис. 3.10. Мультиплексирование двух входных кодов с помощью буферов с 3С

Очень часто надо обрабатывать не одиночные сигналы, а группы сигналов, например, сигналы, передающие многоразрядные коды. В этом случае удобно применять буферы с групповым управлением, То есть имеющие один вход разрешения EZ для нескольких выходов. Примерами могут служить микросхемы ЛП11 (шесть буферов, разделенные на две группы: четыре и два буфера, для каждой из которых имеется свой вход управления) и АП5 (восемь буферов, разделенные на две группы по четыре буфера, каждая из которых имеет свой вход управления).

На рис. 3.10 показан пример мультиплексирования двух восьмиразрядных кодов с помощью двух микросхем АП5. Одноименные выходы обеих микросхем объединены между собой. Пропускание на выход каждого из двух входных кодов разрешается своим управляющим сигналом (Упр. 1 и Упр. 2), причем должен быть исключен одновременный приход этих двух сигналов, чтобы не было конфликтов на выходах.

Рис. 3.11. Включение двунаправленного буфера

Двунаправленные буферы, в отличие от однонаправленных, позволяют передавать сигналы в обоих направлениях. В зависимости от специального управляющего сигнала T (другое обозначение - BD), входы могут становиться выходами и наоборот: выходы - входами. Обязательно имеется и вход управления третьим состоянием EZ, который может отключить как входы, так и выходы.

На рис. 3.11 для примера показан двунаправленный буфер АП6, который может передавать данные между двумя двунаправленными шинами А и B в обоих направлениях. При единичном уровне на управляющем входе Т (сигнал Напр.) данные передаются из шины A в шину B, а при нулевом уровне - из шины B в шину A (табл. 3.3) . Единичный уровень на управляющем входе EZ (сигнал Откл.) отключает микросхему от обеих шин.

Таблица 3.3. Таблица истинности двунаправленного буфера

Вход Т

Вход-EZ

Операция

Двунаправленную передачу можно организовать и на основе однонаправленных буферов. На рис. 3.12 показано, как это можно сделать на двух микросхемах АП5. Здесь при нулевом сигнале Упр. 1 информация будет передаваться с шины А на шину В, а при нулевом сигнале на входе Упр. 2 - с шины В на шину А. Если оба входа Упр. 1 и Упр. 2 находятся в единичном состоянии, то шины A и В отключены друг от друга, а подача нулей на оба входа Упр. 1 и Упр. 2 должна быть исключена, иначе состояние обеих шин А и В будет не определено.

Рис. 3.12. Организация двунаправленной передачи с помощью однонаправленных буферов

Микросхемы буферов в отечественных сериях имеют разнообразные обозначения: ЛН, ЛП, АП, ИП, что порой затрудняет их выбор. Например, ЛН6, ЛП8, ЛП11, АП5, АП6, ИП5, ИП6. Буферы с буквами ЛН имеют инверсию, буферы АП и ИП могут быть с инверсией и без инверсии. Все параметры у буферов довольно близки, отличие - в инверсии, в количестве разрядов и в управляющих сигналах.

Временные параметры буферов включают помимо задержки сигнала от информационного входа до информационного выхода, также задержки перехода выхода в третье состояние и из третьего состояния в активное состояние (t PHZ , t PLZ и t PZH , t PZL). Величины этих задержек обычно примерно вдвое больше, чем величины задержек между информационным входом и выходом.

Отключаемый выход буферов (как ОК, так и 3С) требует применения нагрузочных резисторов. В противном случае вход, подключенный к отключенному выходу, оказывается подвешенным, в результате чего схема может работать неустойчиво, давать сбои. Подключение резистора в случае выхода ОК (pull-up) производится стандартным способом (см. рис. 3.8) . Точно так же может быть включен резистор между выходом 3С и напряжением питания (рис. 3.13) , тогда при отключенном выходе на вход будет поступать уровень логической единицы. Однако можно включить и резистор между выходом и землей, тогда при отключенном выходе на вход будет поступать сигнал логического нуля. Применяется также и включение двух резисторов (резистивного делителя), при этом величина верхнего резистора (присоединенного к шине питания) обычно выбирается в 2–3 раза меньше, чем нижнего резистора (присоединенного к "земле"), а величина параллельного соединенных двух резисторов выбирается равной примерно 100 Ом. Например, резисторы могут иметь номиналы 240 Ом и 120 Ом, 360 Ом и 130 Ом. Отключенный выход воспринимается в данном случае присоединенным к нему входом как единица.

Рис. 3.13. Включение резисторов на выходе буферов 3С

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

Рис. 3.14. Применение буферов для индикации

Еще одно типичное применение буферов, связанное с их большими выходными токами, - это светодиодная индикация. Светодиоды могут подключаться к выходу буферов двумя основными способами (рис. 3.14) . При первом из них (слева на рисунке) светодиод горит, когда на выходе 3С или 2С-сигнал логической единицы, а при втором (справа на рисунке) - когда на выходе ОК сигнал логического нуля. Величина резистора выбирается исходя из характеристик светодиода, но обычно составляет порядка 1 кОм.

Элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ

Следующий шаг на пути усложнения компонентов цифровой электроники - это элементы, выполняющие простейшие логические функции. Объединяет все эти элементы то, что у них есть несколько равноправных входов (от 2 до 12) и один выход, сигнал на котором определяется комбинацией входных сигналов.

Самые распространенные логические функции - это И (в отечественной системе обозначений - ЛИ), И-НЕ (обозначается ЛА), ИЛИ (обозначается ЛЛ) и ИЛИ-НЕ (обозначается ЛЛ). Присутствие слова НЕ в названии элемента обозначает только одно - встроенную инверсию сигнала. В международной системе обозначений используются следующие сокращения: AND - функция И, NAND - функция И-НЕ, OR - функция ИЛИ, NOR - функция ИЛИ-НЕ.

Название самих функций И и ИЛИ говорит о том, при каком условии на входах появляется сигнал на выходе. При этом важно помнить, что речь в данном случае идет о положительной логике, о положительных, единичных сигналах на входах и на выходе.

Элемент И формирует на выходе единицу тогда и только тогда, если на всех его входах (и на первом, и на втором, и на третьем и т.д.) присутствуют единицы. Если речь идет об элементе И-НЕ, то на выходе формируется нуль, когда на всех входах - единицы (табл. 3.4) . Цифра перед названием функции говорит о количестве входов элемента. Например, 8И-НЕ - это восьмивходовой элемент И с инверсией на выходе.

Таблица 3.4. Таблица истинности двухвходовых элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ

Вход 1

Вход 2

Выход И

Выход И-НЕ

Выход ИЛИ

Выход ИЛИ-НЕ

Элемент ИЛИ формирует на выходе нуль тогда и только тогда, если на всех входах нуль. Элемент ИЛИ-НЕ дает на выходе нуль при наличии хотя бы на одном из входов единицы (табл. 3.4 ). Пример обозначения: 4ИЛИ-НЕ - четырехвходовой элемент ИЛИ с инверсией на выходе.

Рис. 3.15. Обозначения элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ: зарубежные (слева) и отечественные (справа)

Отечественные и зарубежные обозначения на схемах двухвходовых элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ показаны на рис. 3.15 . Все эти элементы бывают с выходами типа 2С, ОК и 3С. В последнем случае обязательно имеется вход разрешения –EZ.

Нетрудно заметить (см. табл. 3.4) , что в случае отрицательной логики, при нулевых входных и выходных сигналах, элемент И выполняет функцию ИЛИ, то есть на выходе будет нуль в случае, когда хотя бы на одном из входов нуль. А элемент ИЛИ при отрицательной логике выполняет функцию И, то есть на выходе будет нуль только тогда, когда на всех входах присутствуют нули. И так как в реальных электронных устройствах сигналы могут быть любой полярности (как положительные, так и отрицательные), то надо всегда очень аккуратно выбирать требуемый в каждом конкретном случае элемент. Особенно об этом важно помнить тогда, когда последовательно соединяются несколько разноименных логических элементов с инверсией и без нее для получения сложной функции.

Поэтому элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ разработчику далеко не всегда удобно применять именно как выполняющие указанные в их названии логические функции. Иногда их удобнее использовать как элементы разрешения/запрещения или смешивания/совпадения. Но сначала мы рассмотрим случаи реализации именно логических функций на этих элементах.

На рис. 3.16 приведены примеры формирования элементами выходных сигналов на основании требуемых временных диаграмм входных и выходных сигналов. В случае а выходной сигнал должен быть равен единице при двух единичных входных сигналах, следовательно, достаточно элемента 2И. В случае б выходной сигнал должен быть равен нулю, когда хотя бы один из входных сигналов равен единице, следовательно, требуется элемент 2ИЛИ-НЕ. Наконец, в случае в выходной сигнал должен быть равен нулю при одновременном приходе единичного сигнала Вх. 1, нулевого сигнала Вх. 2 и единичного сигнала Вх. 3. Следовательно, требуется элемент 3И-НЕ, причем сигнал Вх. 2 надо предварительно проинвертировать.

Рис. 3.16. Примеры применения элементов И и ИЛИ

Любой из логических элементов рассматриваемой группы можно рассматривать как управляемый пропускатель входного сигнала (с инверсией или без нее).

Например, в случае элемента 2И-НЕ один из входов можно считать информационным, а другой - управляющим. В этом случае при единице на управляющем входе выходной сигнал будет равен проинвертированному входному сигналу, а при нуле на управляющем входе выходной сигнал будет постоянно равен единице, то есть прохождение входного сигнала будет запрещено. Элементы 2И-НЕ с выходом ОК часто используют именно в качестве управляемых буферов для работы на мультиплексированную или двунаправленную линию.

Точно так же в качестве элемента разрешения/запрещения могут применяться элементы И, ИЛИ, ИЛИ-НЕ (рис. 3.17) . Разница между элементами состоит только в полярности управляющего сигнала, в инверсии (или ее отсутствии) входного сигнала, а также в уровне выходного сигнала (нуль или единица) при запрещении прохождения входного сигнала.

Рис. 3.17. Разрешение/запрещение прохождения сигналов на элементах И, И-НЕ, ИЛИ, ИЛИ-НЕ

Рис. 3.18. Появление лишнего фронта при запрещении входного сигнала

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

Иногда необходимо реализовать функцию смешивания двух сигналов той или иной полярности. То есть выходной сигнал должен вырабатываться как при приходе одного входного сигнала, так и при приходе другого входного сигнала. Если оба входных сигнала положительные и выходной сигнал положительный, то мы имеем в чистом виде функцию ИЛИ, и требуется элемент 2ИЛИ. Однако при отрицательных входных сигналах и отрицательном выходном сигнале для такого же смешивания понадобится уже элемент 2И. А если полярность входных сигналов не совпадает с нужной полярностью выходного сигнала, то нужны уже элементы с инверсией (И-НЕ при положительных выходных сигналах и ИЛИ-НЕ при отрицательных выходных сигналах). На рис. 3.19 показаны варианты смешивания на разных элементах.

Рис. 3.19. Реализация смешивания двух сигналов

Наконец, рассматриваемые элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ иногда бывает удобно применять в качестве схем совпадения различных сигналов. То есть выходной сигнал должен вырабатываться тогда, когда сигналы на входах совпадают (приходят одновременно). Если же совпадения нет, то выходной сигнал должен отсутствовать. На рис. 3.20 показаны варианты таких схем совпадения на четырех разных элементах. Различаются они полярностями входных сигналов, а также наличием или отсутствием инверсии выходного сигнала.

Рис. 3.20. Схемы совпадения двух сигналов

Рассмотрим два примера совместного использования элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ (рис. 3.21 ).

Рис. 3.21. Примеры совместного использования элементов

Пусть необходимо смешать два сигнала, каждый из которых может быть разрешен или запрещен. Пусть полярность входных сигналов и сигналов разрешения - положительная, а выходной сигнал должен быть отрицательным. В этом случае надо взять два двухвходовых элемента И и смешать их выходные сигналы с помощью двухвходового элемента ИЛИ-НЕ (а).

Пусть необходимо смешать два отрицательных сигнала и один положительный сигнал, причем результирующий сигнал может быть разрешен или запрещен. Полярность сигнала разрешения - отрицательная, полярность выходного сигнала - отрицательная. Для этого нужно взять трехвходовой элемент И, инвертор для отрицательного входного сигнала и двухвходовой элемент ИЛИ (б).

Элементы И, И-НЕ, ИЛИ, ИЛИ-НЕ могут использоваться также в качестве инверторов или повторителей (рис. 3.22) , для чего необходимо объединить входы или на неиспользуемые входы подать сигнал нужного уровня. Второе предпочтительнее, так как объединение входов не только увеличивает входной ток, но и несколько снижает быстродействие элементов.

Рис. 3.22. Инверторы и повторители

Рис. 3.23. Объединение по И входов микросхем

По функции И часто объединяются входы более сложных микросхем. Иначе говоря, какая-то функция выполняется только тогда, когда на все объединенные по И входы поступают сигналы нужной полярности. Чаще всего по И объединяются входы выбора микросхемы CS и входы управления третьим состоянием выхода микросхемы EZ. На рис. 3.23 показано три примера такого объединения по И. При этом надо учитывать, что на инверсные входы для выполнения функции должны поступать нулевые сигналы, а на прямые входы - единичные сигналы. Примерами могут служить микросхемы КР556РТ4, КР556РТ5, КР1533АП14, КР1533АП15.

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

Например, возьмем логический элемент 2И-НЕ. Пусть на его входы приходят сигналы, изменяющиеся одновременно, причем в противофазе, то есть один переключается из нуля в единицу, а другой - из единицы в нуль. Пусть по тем или иным причинам (вследствие передачи по проводам, вследствие разных задержек элементов и т.д.) один из сигналов чуть-чуть сдвинулся во времени относительно другого (рис. 3.24) . При этом на двух входах в течение кратковременного периода будет присутствовать два единичных сигнала. В результате выход начнет переключаться из единицы в нуль. Он может успеть переключиться, и тогда сформируется короткий импульс. Он может не успеть переключиться, и тогда импульса не будет. Он может иногда успевать переключиться, а иногда не успевать, и тогда выходной импульс то будет появляться, то не будет. Здесь все зависит от быстродействия элемента и величины задержки. Последняя ситуация наиболее неприятна, так как может вызвать нестабильную неисправность, выявить которую крайне сложно.

Рис. 3.24. Короткий импульс на выходе элемента 2И-НЕ

В качестве примера возьмем одно из самых распространенных применений рассматриваемых элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ - селектирование кодов. Суть селектирования сводится к следующему. Пусть имеется некоторая шина, по которой передаются коды. Необходимо выявить появление на этой шине какого-то определенного кода, то есть сформировать выходной сигнал, соответствующий требуемому входному коду.

Рис. 3.25. Селектирование кодов со стробированием

Схема, выполняющая такую функцию, довольно проста (рис. 3.25) . В ее основе - многовходовые элементы И-НЕ. При этом сигналы, соответствующие разрядам кода, на которых должны быть единицы, подаются непосредственно на входы элементов И-НЕ. А сигналы, соответствующие разрядам кода, на которых должны быть нули, подаются на входы элементов И-НЕ через инверторы. Выходные сигналы элементов И-НЕ объединяются с помощью элемента ИЛИ-НЕ. В результате на выходе элемента ИЛИ-НЕ формируется сигнал Вых. 1 в тот момент, когда на входе присутствует нужный код.

Подробнее о синхронизации будет рассказано в следующих лекциях.

Однако бывают случаи, когда указанная особенность элементов И, И-НЕ, ИЛИ, ИЛИ-НЕ формировать короткие импульсы при изменении входных сигналов оказывается очень полезной. Например, нам необходимо сформировать короткий импульс по положительному или отрицательному фронту имеющегося сигнала. Тогда этот сигнал инвертируют, специально задерживают с помощью цепочки элементов или емкости и подают исходный сигнал и задержанный сигнал на входы элемента (рис. 3.26) .

Рис. 3.26. Формирователи коротких импульсов по фронту входного сигнала

Импульс по положительному фронту входного сигнала формируется на элементе 2И или 2И-НЕ (а), а импульс по отрицательному фронту входного сигнала - на элементе 2ИЛИ или 2ИЛИ-НЕ (б). Если элемент с инверсией, то выходной импульс будет отрицательным, если без инверсии, то положительным. При указанной на схемах величине емкости длительность импульса получается около 50 нс. Для увеличения длительности импульса надо увеличивать величину емкости или же количество инверторов в цепи задержки (при этом коли­чество инверторов обязательно должно быть нечетным).

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

Задумывался ли ты о том, какой феноменальный прорыв в науке и технике произошел благодаря электронике и цифровой электронике в частности? Если нет, тогда возьми свой смартфон и внимательно на него посмотри. Такая простая с виду конструкция -- результат огромной работы и феноменальных достижений современной электроники. Создание такой техники стало возможным благодаря простой идее о том, что любую информацию можно представить в виде чисел. Таким образом, независимо от того, с какой информацией работает устройство, глубоко внутри оно занимается обработкой чисел.

Тебе наверняка знакомы римские и арабские цифры. В римской системе числа представляются в виде комбинации букв I, V, X, L, C, D, M, а в арабской с помощью комбинации символов 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Но существуют и другие формы представления числа. Одна из них -- это двоичная форма. Или, как её чаще называют, двоичная система счисления. В такой системе счисления любое число представляет собой последовательность только из "0" и "1".

Арабские Римские Двоичные
0 - 00
1 I 01
2 II 10
3 III 11

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

Независимо от того, с какой информацией работает цифровое устройство, глубоко внутри оно занимается обработкой чисел.

Почему именно "0" и "1", а не "0", "1" и "2", к примеру? На самом деле были вполне успешные попытки создать цифровую технику, которая использует не двоичную, а троичную систему исчисления ("0", "1" и "2"), но двоичная все же победила.

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

Структура цифрового устройства

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

Давай выберем что-нибудь из этого списка и посмотрим, как оно устроено. Пусть это будет микроконтроллер (МК)! Ладно, признаюсь. Микроконтроллер я выбрал неспроста. Дело в том, что именно появление микропроцессоров произвело настоящую революцию в электронике и выдвинуло её развитие на новый уровень.

МК является наиболее многочисленным и популярным видом микропроцессоров в мире. Особенным его делает то, что микроконтроллер представляет собой микро-PC -- целый компьютер в одной микросхеме. Представь себе компьютер размером, например, с копейку. Вот это и есть МК.

Микроконтроллеры используются повсеместно: в современных телевизорах, холодильниках, планшетах, охранных системах. Везде, где требуется чем-то управлять, микроконтроллер может найти своё место. А всё благодаря тому, что, как и любой микропроцессор, МК можно программировать. В итоге один и тот же вид микросхем можно использовать в сотнях различных устройств.

В наше время наибольшей популярностью пользуются, к примеру, микроконтроллеры AVR, PIC, ARM. Каждая из компаний, что выпускает перечисленные виды МК, производит десятки, если не сотни, разновидностей микроконтроллеров, предназначенных под все мыслимые и немыслимые задачи.

Как работает микроконтроллер

Несмотря на всю сложность конструкции настоящего микроконтроллера, рассказать, как он функционирует можно всего одним предложением: "В память микроконтроллера записывается текст программы, МК считывает команды из этой программы и выполняет их", -- вот и всё.

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

В современном мире микропроцессор (МК тоже микропроцессор, но специализированный) может иметь либо очень много базовых команд, либо очень мало. Это такое условное разделение, для которого даже придумали два термина: CISC и RISC. CISC -- это много разных видов команд на все случаи жизни, RISC -- это только наиболее необходимые и часто использующиеся команды, т.е. сокращенный набор команд.

Большинство микроконтроллеров исповедуют RISC. Объясняется это тем, что при использовании сокращенного набора команд микроконтроллеры проще и дешевле для производства, их легче и быстрей осваивают разработчики аппаратуры. Между CISC и RISC много различий, но сейчас принципиально важно запомнить только то, что CISC -- много команд, RISC -- мало команд. Глубже с этими двумя идеями познакомимся как-нибудь в другой раз.

Что происходит, когда включается микроконтроллер?

Итак, давай представим идеальный мир, в котором у тебя есть МК и в его память уже записана программа. Или, как обычно говорят, МК "прошит" (при этом программу называют "прошивкой") и готов к бою.

Что произойдёт, когда ты подашь питание на свою схему с МК? Оказывается, ничего особенного. Там нет вообще никакой магии. Происходить будет следующее:

После подачи питания микроконтроллер пойдёт смотреть, что находится в памяти. При этом он "знает", куда следует смотреть, чтобы найти первую команду своей программы .

Местоположение начала программы устанавливается при производстве МК и никогдане меняется. МК считает первую команду, выполнит её, затем считает вторую команду, выполнит её, затем третью и так до последней. Когда же он считает последнюю команду, то всё начнётся сначала, так как МК выполняет программу по кругу, если ему не сказали остановится. Так вот он и работает.

Но это не мешает писать сложные программы, которые помогают управлять холодильниками, пылесосами, промышленными станками, аудиоплеерами и тысячами других устройств. Ты тоже можешь научиться создавать устройства с МК. Это потребует времени, желания и немножко денег. Но это такие мелочи, правда?

Как устроен типичный МК

Любая микропроцессорная система стоит на трёх китах:

  1. Процессор (АЛУ + устройство управления),
  2. Память (ROM, RAM, FLASH),
  3. Порты ввода-вывода .

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

МК, как я уже писал, тоже микропроцессор. Просто специализированный. Физическая структура микросхем МК разных серий может существенно различаться, но идейно они будут похожи и будут иметь такие, например, блоки как: ПЗУ, ОЗУ, АЛУ, порты ввода/вывода, таймеры, счетчики, регистры.

ПЗУ Постоянная память. Всё, что в неё записано, остаётся в ПЗУ и после того как устройство было отключено от питания.
ОЗУ Временная память. ОЗУ -- это рабочая память МК. В неё помещаются все промежуточные результаты выполнения команд или данные от внешних устройств.
АЛУ Математический мозг микроконтроллера. Именно он складывает, вычитает, умножает, а иногда и делит, сравнивает нолики и единички в процессе выполнения команд программы. Один из важнейших органов МК.
Порты I/O Просто устройства для общения МК с внешним миром. Без них ни во внешюю память записать, ни данные от датчика или клавиатуры получить нельзя.
Таймеры Готовил торт или курицу? Ставил таймер, чтобы он тебя оповестил, когда блюдо будет готово? Вот в МК таймер выполняет схожие функции: отсчитывает интервалы, выдаёт сигнал о срабатывании и т.д.
Счетчики Пригождаются, когда требуется что-либо подсчитать.
Регистры Самое непонятное слово для тех, кто хоть раз пытался освоить Асемблер самостоятельно. А между прочим они своего рода выполняют роль быстрой ОЗУ МК. Каждый регистр представляет собой своего рода ячейку памяти. И в каждом МК их всего несколько десятков.

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

Мозг микроконтроллера

Микропроцессор/микроконтроллер всегда работает по заложенной в него программе. Программа состоит из последовательности операций, которые МК умеет выполнять. Операции выполняются в ЦПУ -- это мозг микроконтроллера. Именно этот орган умеет производить арифметические и логические операции с числами. Но есть ещё четыре важных операции, которые он умеет делать:

  • чтение из ячейки памяти
  • запись в ячейку памяти
  • чтение из порта В/В
  • запись в порт В/В

Эти операции отвечают за чтение/запись информации в память и во внешние устройства через порты ввода/вывода. И без них любой процессор проверащается в бесполезный хлам.

Технически процессор состоит из АЛУ (калькулятор процессора) и управляющего устройства, которое дерижирует взаимодействием между портами ввода-вывода, памятью и арифметико-логическим устройством (АЛУ).

Память микроконтроллера

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

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

В зарубежном мире ОЗУ и ПЗУ называют RAM и ROM:

  1. RAM (Random Access Memory) -- память со случайны доступом
  2. ROM (Read Only Memory) -- память только для чтения

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

ПЗУ

Сейчас всё больше получила распространение ПЗУ память типа FLASH (или, по-нашему, ЭСПЗУ). Она позволяет сохранять данные даже тогда, когда устройство выключено. Поэтому в современных МК, например в МК AVR в качестве ПЗУ используются именно FLASH-память.

Раньше микросхемы ПЗУ-памяти были однократно-программируемыми. Поэтому если были записаны программа или данные с ошибками, то такую микросхемы просто выкидывали. Чуть позже появились ПЗУ, которые можно было перезаписывать многократно. Это были чипы с ультрафиолетовым стиранием. Они довольно долго прожили и даже сейчас встречаются в некоторых устройствах из 1990-х...2000-х годов. Например, вот такая ПЗУ родом из СССР.

У них был один существенный минус -- при случайно засветке кристалла (тот, что виден в окошечке) программа могла быть повреждена. А также ПЗУ до сих пор работает медленней, чем ОЗУ.

ОЗУ

Оперативная память в отличие от ПЗУ, ППЗУ и ЭСПЗУ является энергозависимой и при выключении питания устройства все данные в ОЗУ пропадают. Но без неё не обходится ни одно микропроцессорное устройство. Так как в процессе работы требуется где-то хранить результаты вычислений и данные, с которыми работает процессор. ПЗУ для этих целей не подходит из-за своей медлительности.

ПАМЯТЬ ПРОГРАММ И ПАМЯТЬ ДАННЫХ

Помимо разделения на энергозависимую (ОЗУ) и энергонезависимую память в микроконтроллерах есть разделение на память данных и память программ. Это значит, что в МК есть специальная память, которая предназначена только для хранения программы МК. В нынешние времена обычно это FLASH ПЗУ. Именно из этой памяти микроконтроллер считывает команды, которые выполняет.

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

Такое разделение хорошо тем, что никакая ошибка в программе не сможет повредить саму программу. К примеру, когда по ошибке МК попытается записать на место какой-нибудь команды в программе случайное число. Получается что программа надёжно защищена от повреждения. Кстати, у такого разделения есть своё особо название -- "гарвардская архитектура".

В 1930-х годах правительство США поручило Гарвардскому и Принстонскому университетам разработать архитектуру ЭВМ для военно-морской артиллерии. В конце 1930-х годов в Гарвардском университете Говардом Эйкеном была разработана архитектура компьютера Марк I, в дальнейшем называемая по имени этого университета.

Ниже я схематично изобразил гарвардскую архитектуру:

Таким образом программа и данные, с которыми она работает, физически храняться в разных местах. Что касается больших процессорных систем подобных персональному компьютеру, то в них данные и программа во время работы программы хранятся в одном и том же месте.

ИЕРАРХИЯ ПАМЯТИ

КАК УСТРОЕН МОЗГ МИКРОКОНТРОЛЛЕРА

Ты уже значешь, что мозгом МК является ЦПУ -- центральный процессор, который состоит из АЛУ (арифметико-логическое устройство) и устройства управления (УУ). УУ дерижирует всем оркестром из памяти, внешних устройств и АЛУ. Благодаря ему МК может выполнять команды в том порядке в каком мы этого хотим.

АЛУ -- это калькулятор, а УУ говорит АЛУ что, с чем, когда и в какой последовательности вычислять или сравнивать. АЛУ умеет складывать, вычитать, иногда делить и умножать, выпонять логические операции: И, ИЛИ, НЕ (о них будет чуть позже)

Любой компьютер, МК в том числе, умеет сегодня работать только с двоичными числами, составленными из "0" и "1". Именно эта простая идея привела к революции в области электроники и взрывному развитию цифровой техники.

Предположим, что АЛУ надо сложить два числа: 2 и 5. В упрощенном виде это будет выглядеть так:

При этом УУ знает в каком месте памяти взять число "2", в каком число "5" и в какое место памяти поместить результат. УУ знает обо всём этом потому, что оно прочитало об этом в команде из программы, которую в данный момент прочитало в программе. Более подробно про арефмитические операции с двоичными числами и как устроен сумматор АЛУ изнутри я расскажу чуть позже.

Хорошо, скажешь ты, а что если нужно получить эти числа не из программы, а из вне, например, с датчика? Как быть? Вот тут в игру и вступают порты ввода-вывода, с помощью которых МК может принимать и передавать данных на внешние устройства: дисплеи, датчики, моторы, задвижки, принтеры и т.д.

ЛОГИЧЕСКИЕ ОПЕРАЦИИ

Тебе наверняка хорошо знакомо шуточное высказывание про "женскую логику"? Но речь пойдет не о ней, а логике в принципе. Логика оперирует причинно-следственными связями: если солнце взошло, то стало светло. Причина "солнце взошло" вызвала следствие "стало светло". При этом про каждое утверждение мы можем сказать "ИСТИНА" или "ЛОЖЬ".

Например:

  • "Птицы плавают под водой" -- это ложь
  • "Вода мокрая" -- при комнатной температуре это утверждение истинно

Как ты заметил, второе утверждение при определённых условиях может быть как истинным, так и ложным. В нашем компьютере есть только числа и инженеры с математичками придумали обозначать истину "1", а ложь "0". Это дало возможность записывать истинность утверждения в виде двоичных чисел:

  • "Птицы плавают под водой" = 0
  • "Вода мокрая" = 1

А ещё такая запись позволила математикам выполнять с этими утверждениями целые операции -- логические операции. Первым до этого додумался Джордж Буль. По имени которого и названа такая алгебра: "булева алгебра", которая оказалась очень удобной для цифровых машин.

Вторая половина АЛУ -- это логические операции. Они позволяют "сравнивать" утверждения. Базовых логических операций всего несколько штук: И, ИЛИ, НЕ, -- но этого достаточно, так как более сложные могут комбинироваться из этих трёх.

Логическая операция И обозначает одновременность утверждений, т.е. что оба утверждения истинны одновременно. Например утверждение будет истинно только тогда, когда оба более простых утверждения будут истинны. Во всех остальных случаях результат операции логического И будет ложным

Логическая операция ИЛИ будет истинно, если хотя бы одно из участвующих в операции утверждений будет истинно. "Птицы плавают под водой" И "Вода мокрая" истинно, так как истинно утверждение "вода мокрая"

Логическое операция НЕ меняет истинность утверждения на противоположное значение. Это логическое отрицание. Например:

Солнце всходит каждый день = ИСТИНА

НЕ (Солнце всходит каждый день) = НЕ ИСТИНА = ЛОЖЬ

Благодаря логическим операция мы можем сравнивать двоичные числа, а так как наши двоичные числа всегда что-то обозначают, например, какой-нибудь сигнал. То получается, что благодаря булевой алгебре мы можем сравнивать настоящие сигналы. Этим логическая часть АЛУ и занимается.

УСТРОЙСТВО ВВОДА-ВЫВОДА

Наш МК должен общаться с внешним миром. Только тогда он будет представлять из себя полезное устройство. Для этого у МК есть особые устройства, которые называются устройствами ввода-вывода.
Благодаря этим устройствам мы можем посылать в микроконтроллер сигналы от датчиков, клавиатуры и других внешних приборов. А МК после обработки таких сигналов отправит через устройства вывода ответ, с помощью которого можно будет регулировать скорость вращения двигателя или яркость свечения лампы.

Подведу итоги:

  1. Цифровая электроника -- верхушка айсберга электроники
  2. Цифровое устройство знает и понимает только числа
  3. Любая информация: сообщение, текст, видео, звук, -- могут быть закодированы с помощью двоичных чисел
  4. Микроконтроллер -- это микрокомпьютер на одной микросхеме
  5. Любая микропроцессорная система состоит из трёх частей: процессор, память, устройства ввода-вывода
  6. Процессорс состоит из АЛУ и управляющего устройства
  7. АЛУ умеет выполнять арифметические и логические операции с двоичными числами

Оставайся с нами. В следующих статьях я расскажу более подробно как устроена память МК, порты ввода-вывода и АЛУ. А после этого мы пойдём ещё дальше и в итоге дойдём до аналоговой электроники.

p.s.
Нашёл ошибку? Сообщи мне!

/blog/tsifrovaya-elektronika-chto-eto/ В этом рассказе первые шаги в мир электроники делаются с необычного направления. Своё путешествие по электронике ты начинаешь с мира цифровой схемотехники, с микроконтроллеров 2016-11-17 2016-12-26 цифровая электроника, цифровая схемотехника, микроконтроллер, логические элементы

Большой радиолюбитель и конструктор программ

„ ЦИФРОВАЯ СХЕМОТЕХНИКА ”

ХАРЬКОВ 2006

Предисловие

1 ЛОГИЧЕСКИЕ И СХЕМОТЕХНИЧЕСКИЕ ОСНОВЫ ЦИФРОВОЙ МИКРОСХЕМОТЕХНИКИ

1.2 Логические элементы

1.3 Основные законы алгебры логики

1.4 Дизъюнктивные нормальные формы

1.5 Минимизация логических функций

1.6 Синтез комбинационных логических схем

2 КОМБИНАЦИОННЫЕ СХЕМЫ

2.1 Основные положения

2.2 Дешифраторы

2.3 Шифраторы

2.4 Демультиплексоры

2.5 Мультиплексоры

2.6 Арифметические устройства

3 ТРИГГЕРНЫЕ УСТРОЙСТВА

3.1 Основные понятия

3.2 Асинхронный RS-триггер

3.3 Синхронные триггеры

4 РЕГИСТРЫ

4.1 Общие сведения о регистрах

4.2 Регистры памяти

4.3 Сдвигающие регистры

4.4 Реверсивные регистры

4.5 Универсальные регистры

5 СЧЕТЧИКИ

5.1 Общие сведения о счетчиках

5.2 Счетчики с последовательным переносом

5.3 Счетчики с параллельным переносом

5.4 Реверсивные счетчики

5.5 Счетчики с произвольным коэффициентом счета не равным 2n

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРИ

ПРЕДИСЛОВИЕ

Данное методическое пособие содержит информацию, которая обеспечивает изучение дисциплин:

- «Цифровая схемотехника» для студентов специальности 5.091504 (Обслуживание компьютерных и интеллектуальных систем и сетей);

- «Микросхемотехника» для студентов специальности 5.090805 (Конструирование, производство и техническое обслуживание изделий электронной техники);

- «Электронные приборы и микроэлектроника» для студентов специальности 5.090704 (Конструирование, производство и техническое обслуживание радиотехнических устройств).

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

Методическое пособие состоит из пяти разделов:

Логические и схемотехнические основы цифровой микросхемотехники,

Комбинационные схемы,

Триггерные устройства,

Регистры,

Счетчики.

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

Основные понятия, определения, правила выделены «жирным» шрифтом, чтобы сделать освоение предмета более удобным и наглядным.

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

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

1 ЛОГИЧЕСКИЕ и схемотехнические ОСНОВЫ ЦИФРОВОЙ МИКРОСХЕМОТЕХНИКИ

1.1 Основные понятия алгебры логики

Логика - это наука о законах и формах мышления.

Математическая логика - наука о применении математических методов для решения логических задач.

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

Электрические сигналы, действующие на входах и выходах названных элементов, имеют, как правило, два различных уровня и, следовательно, могут быть представлены двоичными символами, например 1 или 0. Условимся обозначать свершение какого-либо события (например, наличие высокого уровня напряжения в какой-либо точке схемы) символом 1. Этот символ называют логической единицей. Отсутствие какого-либо события обозначим символом 0, называемым логическим нулем.

Таким образом, каждому сигналу на входе или выходе двоичного элемента ставится в соответствие логическая переменная, которая может принимать лишь два значения: состояние логической единицы (событие истинно) и состояние логического нуля (событие ложно). Эти переменные называют булевыми по имени английского математика Дж. Буля, который еще в девятнадцатом столетии разработал основные положения математической логики. Обозначим логическую переменную символом х.

Различные логические переменные могут быть связаны функциональными зависимостями. Например, выражение у = f (x1, х2) указывает на функциональную зависимость логической переменной у от логических переменных х1 и х2, называемых аргументами или входными переменными.

Любую логическую функцию всегда можно представить в виде совокупности простейших логических операций. К таким операциям относятся:

Отрицание (операция «НЕ»);

Логическое умножение (конъюнкция, операция «И»);

Логическое сложение (дизъюнкция, операция «ИЛИ»).

Отрицание (операция «НЕ») - это такая логическая связь между входной логической переменной х и выходной логической переменной у, при которой у истинно только тогда, когда х ложно, и, наоборот, у ложно только тогда, когда истинно х. Изобразим данную функциональную зависимость в виде таблицы 1.1, которая называется таблицей истинности.

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

Таблица 1.1- Таблица истинности операции «НЕ»

x y
0 1
1 0

Логическая функция НЕ переменной у записывается как у =

и читается «у есть не х». Если, например, х - утверждение о наличии сигнала высокого уровня (логической единицы), то y соответствует утверждению о наличии сигнала низкого уровня (логического нуля).

Логическое умножение (конъюнкция, операция «И») - это такая функция, которая истинна только тогда, когда одновременно истинны все умножаемые переменные. Таблица истинности операции логического умножения соответствует таблице 1.2.

Таблица 1.2- Таблица истинности операции логического умножения

х2 х1 y
0 0 0
0 1 0
1 0 0
1 1 1

Операция «И» обозначается точкой ( ). Иногда точка подразумевается. Например, операция «И» между двумя переменными х1 и х2 обозначается как у = х1 х2.

Логическое сложение (дизъюнкция, операция «ИЛИ») – это такая функция, которая ложна только тогда, когда одновременно ложны все слагаемые переменные. Таблица истинности операции логического сложения соответствует таблице 1.3. Операция «ИЛИ» обозначается знаком V. Например, у = x1 V х2.

Таблица 1.3 - Таблица истинности операции логического сложения

ЛЕКЦИИ

По дисциплине

"Организация и функционирование ЭВМ"

для учащихся

специальности 2-40 01 01«Программное обеспечение информационных технологий»

Ошмяны 2010 г.


АННОТАЦИЯ

На лекционный материал по дисциплине "Организация и функционирование ЭВМ" для учащихся специальности 2-40 01 01 «Программное обеспечение информационных технологий», разработанный преподавателем УО «Ошмянский государственный аграрно-экономический колледж» М.Г. Шаткевич.

Актуальность методического материала, его значение. Данный набор лекций представляет собой комплекс материалов, необходимых для качественной организации работы учащихся на практических занятиях по освоению дисциплины " Организация и функционирование ЭВМ" для учащихся специальности 2-40 01 01 «Программное обеспечение информационных технологий»,

Лекции разработаны в строгом соответствии с действующим в УО «Ошмянский государственный аграрно-экономический колледж» Положением об учебно-методических комплексах дисциплин. В состав комплекса вошли лекции по всем разделам дисциплины «Организация и функционирование ЭВМ».

Возможность практического применения. Комплекс лекций может быть рекомендован преподавателям при подготовке и проведении занятий по дисциплине "Организация и функционирование ЭВМ" для учащихся специальности 2-40 01 01 «Программное обеспечение информационных технологий», а также учащимся дневной формы обучения при самостоятельном изучении.

Заключение цикловой комиссии. Комплекс лекций рассмотрен на заседании цикловой комиссии юридических дисциплин и информационных технологий, рекомендован к внутриколледжскому использованию (протокол №___ от «____»______________________20___г.).


Введение. 4

Представление информации в ЭВМ... 5

Коды с выявлением ошибок. 9

Коды с исправлением ошибок. 10

Раздел 2. Алгебра логики и теоретические основы синтеза цифровых устройств . 11



Элементы математической логики. 11

Формы логических функций и их использование для синтеза логических схем.. 13

Логические элементы и схемы. Классификация логических устройств. 15

Методы минимизации логических функций. 17

Раздел 3. Синтез комбинационных схем .. 18

Этапы построения логической схемы.. 18

Мультиплексоры и демультиплексоры.. 20

Дешифраторы и шифраторы.. 22

Компараторы, сумматоры.. 24

Раздел 4. Триггерные элементы цифровых устройств . 25

Классификация триггеров и их общие характеристики. Асинхронный RS-триггер и его разновидности 25

Асинхронные триггеры с одним входом.. 27

Cинхронные триггеры.. 29

Раздел 5. Синтез цифровых автоматов . 31

Регистры. Регистр сдвига. 31

Счетчики по mod M. Реверсивные счетчики. Синтез последовательных схем.. 33

Раздел 6. Современное состояние и перспективы развития элементной базы и средств вычислительной техники . 35


Введение

Курс Организация и функционирование ЭВМ построен на фундаментальном утверждении о том, что: Компьютер можно рассматривать как иерархию структурных уровней организации.

Это утверждение в равной мере относится как к аппаратной организации, так и к структуре и организации программного обеспечения. На верхнем уровне иерархии находятся проблемно ориентированные программные средства, такие, как Mathcad (для решения математических задач), Visual Basic для офисных приложений, уровнем ниже расположены процедурно ориентированные языки (Си/Си++, Паскаль)..., самый нижний уровень это уровень физической реализации цифровых логических элементов.

Основная цель курса: знакомство с уровнем физической реализации и с некоторыми теоретическими основами, используемыми для описания нижних уровней организации:

ü принцип цифрового представления данных в технических устройствах;

ü основы алгебры логики и ее использование для описания функционирования цифровых устройств;

ü системы счисления;

ü некоторые основные понятия цифровой схемотехники: комбинационные логические устройства и устройства с памятью (триггеры, регистры, счетчики).

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

Целью преподавания дисциплины «Организация и функционирование ЭВМ» является изучение физических основ построения и функционирования современных средств вычислительной техники, принципов построения и работы элементов, узлов и устройств ЭВМ. Дисциплина включает сведения об арифметических, логических и схемотехнических основах построения ЭВМ и является базовой для последующего изучения дисциплины «Микропроцессорная техника».

Дисциплина базируется на знаниях, полученных учащимися при изучении дисциплин «Математика», «Информатика».

Для изучения учебного материала предусматриваются практические и лабораторные работы. Программа дисциплины рассчитана на 68 часов, из них 34 часа – лекции, 24 часа – практические занятия, 10 часов – лабораторные занятия.

Список литературы

1. Бабич Н. П., Жуков И. А. Компьютерная схемотехника. Методы построения и

2. проектирования: Учебное пособие. – К.: «МК-Пресс», 2004

3. Жмакин А. П. Архитектура ЭВМ. - СПб.: БХВ-Петербург, 2006

4. Лысиков Б.Г. Цифровая и вычислительная техника.- Мн.: УП Экоперспектива, 2002

5. Новиков Ю. В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. М.: Мир, 2001

6. Угрюмов Е.П. Цифровая схемотехника.- СПб.: БХВ-Петербург, 2004

7. Бойко В. И. Схемотехника электронных схем. Микропроцессоры и микроконтроллеры. - СПб.: БХВ-Петербург, 2004

8. Цилькер Б. Я., Орлов С.А. Организация ЭВМ и систем. – СПб.: Питер, 2004

9. Информатика: учебник/ Б.В. Соболь – Ростов н/Д: Феникс, 2006


Раздел 1. Математические основы цифровой схемотехники



В продолжение темы:
Android

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