Пауль Хоровиц - Искусство схемотехники. Том 2 [Изд.4-е]
- Название:Искусство схемотехники. Том 2 [Изд.4-е]
- Автор:
- Жанр:
- Издательство:Мир
- Год:1993
- Город:Москва
- ISBN:5-03-002338-0 (русск.); 5-03-002336-4; 0-521-37095-7 (англ.)
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Пауль Хоровиц - Искусство схемотехники. Том 2 [Изд.4-е] краткое содержание
Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредоточивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах.
Том 2 содержит сведения о прецизионных схемах и малошумящей аппаратуре, о цифровых схемах, о преобразователях информации, мини- и микроЭВМ и микропроцессорах.
Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.
Искусство схемотехники. Том 2 [Изд.4-е] - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Это — торговый автомат, предназначенный для выдачи бутылки сладкой шипучей жидкости, когда опущено 25 цент или более. Существует некоторый вид монетного интерфейса, который «заглатывает», распознает монету и посылает на наш ПМЛ 2-битовый входной сигнал (С1, С0), действительный для одного такта, показывающего монету, которую опустили (01-5 цент, 10–10 — цент монета, 11–25 — цент монета, 00 — нет монеты). Задача машины состояний добавлять к общему вкладу и формировать выход, называемый «бутылка», когда опущено достаточно монет. Рис. 8.81 показывает спецификацию, выполненную в синтаксисе машины состояний языка CUPL.
/** Inputs **/
Pin = elk; /* clock — positive edge */
Pin = c0; /* coin type — low bit */
Pin = c1; /* coin type — high bit */
Pin = reset; /* reset input */
/** Outputs **/
Pin 18 = !Q0; /* bit 0 of state variable */
Pin 17 = !Q1; /* bit 1 */
Pin 16 = !Q2; /* bit 2 */
Pin 15 = !bottle; /* bottle disgorge command */
/* Define machine states with symbolic names;
"enough" = 25 cents or more */
$define S0 'b'000
$define S5 'b'001
$define S10 'b'010
$define S15 'b'011
$define S20 'b'100
$define ENOUGH 'b'101
/* define intermediate variables */
nocoin = !c0 & !c1 & !reset;
nicke1 = c0 & !c1 & !reset;
dime = !c0 & c1 & !reset;
quarter = c0 & c1 & !reset;
/* Define state bit variable field */
field statebit = [Q2..0];
/* Transition rules for vending machine */
sequence statebit {
present S0 if nocoin next S0;
if nicke1 next S5;
if dime next S10;
if quarter next ENOUGH out bottle;
present S5 if nocoin next S5
if nicke1 next S10;
if dime next S15;
if quarter next ENOUGH out bottle;
present S10 if nocoin next S10
if nicke1 next S15;
if dime next S20;
if quarter next ENOUGH out bottle;
present S15 if nocoin next S15
if nicke1 next S20;
if dime next ENOUGH out bottle;
if quarter next ENOUGH out bottle;
present S20 if nocoin next S20
if nicke1 next ENOUGH out bottle;
if dime next ENOUGH out bottle;
if quarter next ENOUGH out bottle;
present ENOUGH next S0; }
Рис. 8.81. Спецификация торгового автомата на языке CUPL.
Как и прежде, мы начнем с определения входных-выходных контактов. Заметим, что мы добавили вход reset (сброс) так, чтобы вы могли перейти к начальному состоянию S0 (нет монеты). Затем мы определим состояния, потом правила перехода между ними. Если какие-либо выходы, либо регистровые, либо комбинационные, необходимо генерировать в течение состояний или переходов между состояниями, они определяются в то же самое время. В этом примере выход «бутылка» специфицируется как раздельный выходной регистр, т. е. выходные состояния дешифрировать не нужно. Фактически нужен только выход, а биты Q0-2 машины состояний могут быть представлены во внутренних регистрах, которые не генерируют прямо выводы; некоторые программируемые логические устройства имеют также внутренние регистры в дополнение к обычным выходным регистрам.
Заметим, что вы должны определить точно переход из некоторого состояния в себя, также, как мы делали для входа «нет монеты». Неопределенное условие безусловно сбрасывает состояние во все нули. Это происходит потому, что эти условия собираются в комбинационную логику для выставления на D-входы регистров и, таким образом, если условие не удовлетворяется, то соответствующий D-вход не подтверждается. Рис. 8.82 показывает вывод из языка CUPL.
** Expanded Product Terms **
Q0.d =>
!Q0 & !Q1 & cQ & !reset
# !Q0 & !Q2 & cO & !reset
# Q0 & !Q2 & !c0 & !reset
# Q0 & !Q2 & c1 & !reset
# !Q0 & !Q1 & Q2 & c1 & !reset
Q1.d =>
!Q1 & !Q2 & !c0 & c1 & !reset
# !Q0 & Q1 & !Q2 & !c1 & !reset
# Q1 & !Q2 & !c0 & !c1 & !reset
# Q0 & !Q1 & !Q2 & cO & !c1 & !reset
Q2.d =>
!Q0 & !Q1 & Q2 & !reset
# Q1 & !Q2 & c1 & !reset
# !Q2 & c0 & c1 & !reset
# Q0 & Q1 & !Q2 & c0 & !reset
bottle.d =>
!Q2 & c0 & c1 & !reset
# !Q0 & !Q1 & Q2 & c0 & !reset
# !Q0 & !Q1 & Q2 & c1 & !reset
# Q0 & Q1 &!Q2 & c1 & !reset
statebit =>
Q2, Q1, Q0
Рис. 8.82. Выход CUPLдля торгового автомата.
Ничего очевидного или простого в логике, поскольку и состояние автомата (S0-S5) и входящие переменные (С0-1) определены в виде двоичных чисел, а логика работает по отдельным битам. Таким образом, результирующая логика не сильно связана с первоначальным описанием состояний (рис. 8.81). Фактически, конкретный выбор состояний (возрастающий двоичный код 0–5) мог бы быть различным, это полностью изменило бы результирующую логику. В этом случае этот пример легко укладывается в ограничениях ПМЛ 16R6 (8 термов произведений на регистр): если это не так, мы могли бы попытаться переопределить состояния, что часто приводит к более простой логической реализации. Заметим, что вход сброса действует, заменяя безусловность всех D-входов, которую мы задали посредством нашего задания промежуточных переменных «нет монеты», «5 цент» и т. д.
Упражнение 8.30.Проконтролируйте правильность конечных логических выражений, посредством проверки нескольких правил перехода. Вы должны испытать все переходы от 00, или от «5 центов», или «10 центов» к какому-либо другому состоянию.
Упражнение 8.31.Хорошие торговые автоматы имеют размен. Перерисуйте диаграмму состояний (рис. 8.80) так, чтобы были состояния (сколько?) для каждого возможного числа разменов. Модифицируйте правила перехода соответственно. Гарантируйте, чтобы ваш усовершенствованный автомат выполнял свою основную работу — выдачу бутылок.
Упражнение 8.32.Нарисуйте диаграмму состояний и правил перехода для электронного комбинационного замка. Он должен открываться только тогда, когда четыре цифры набраны в правильном порядке. Какая-либо ошибка должна сбрасывать его.
Возможные применения программируемых логических интегральных схем (ПЛИС)
Для выполнения некоторых функций ПЛИС подходит как нельзя лучше. Вот самые важные области применения и преимущества ПЛИС:
Автоматы. Как и в предыдущем примере, ПЛИС естественным образом вписывается в произвольный синхронный автомат. Было бы неразумно использовать матрицу из D-триггеров и дискретную комбинационную логику, когда ПЛИС способна выполнить те же функции в одном недорогом и мощном корпусе.
Замена произвольной логики. Во многих схемах вы можете обнаружить узлы и клубки из вентилей, инверторов и триггеров, называемых с пренебрежением «произвольная логика» или «клей». ПЛИС обычно сокращает число корпусов в 4 и более раз. Кроме того, при использовании ПЛИС схема становится более понятной, поскольку применение большого числа вентилей означает, что всю необходимую вентильную обработку можно сделать при вводе в регистры (при этом выходы становятся строго синхронными) вместо того, чтобы комбинировать выходы регистра с вентилями (при этом выходы не будут строго синхронными); см. рис. 8.83.

Рис. 8.83. Программируемое логическое устройство ( а); обычная дискретная логика ( б).
Гибкость. В ряде случаев вы не совсем представляете себе, как, в конце концов, должна работать ваша схема, тем не менее вы должны как-то ее завершить, чтобы иметь возможность с ней «поиграть». Здесь ПЛИС как раз к месту, так как в отличие от дискретной логики на некотором этапе вы имеете возможность заменить одну на другую без перемонтажа. Схемы на ПЛИС приобретают характер программ.
Читать дальшеИнтервал:
Закладка: