Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Signetics/D19790719Elc050.shtml

Часть 2. От таблиц истинности к действующим системам

Наполеон Кавлан (N.Cavlan)
Фирма Signetics Corp. (Саннивейл, шт.Калифорния)

Стивен Дж. Дэрхем (S.J.Durham)
Фирма Signetics Corp. (Саннивейл, шт.Калифорния)

N.Cavlan, S.J.Durham. Sequencers and arraystransform truth tables into working systems, pp.132—139.

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

В первой части статьи2{Электроника, 1979, №14, «Методы, схемы, аппаратура»} показано, что семейство логических приборов, допускающих программирование непосредственно на местах эксплуатации (логические приборы, программируемые в эксплуатации — ПЭЛП), подготовленное фирмой Signetics Corp., идеально подходит для замены дискретных логических приборов, при помощи которых обычно реализуются связи между БИС. Приведенные ниже примеры иллюстрируют возможность использования специфических свойств приборов этого семейства.

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

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

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

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

Магистральный преобразователь

Основой микрокомпьютерной системы «Инструктор 50» фирмы Signetics является микропроцессор 2650. Однако с целью совместимости с другими системами и периферийными устройствами, имеющимися на рынке любительских компьютеров, ее интерфейс рассчитан на шину S100, которая лучше всего подходит для передачи сигналов микропроцессора 8080. Задача преобразования форматов сигналов, следующих по этой шине, кажется весьма трудоемкой, но на самом деле для нее требуется всего одна ПЭВМ. Матрица вентилей преобразует логические сочетания сигналов синхронизации, разрешения и управления, поступающих от микропроцессора, 2650 и его устройств ВВ в управляющие сигналы, полностью совместимые с форматом сигналов для шины S100 (рис.2).

Для передачи сигналов от микропроцессора 2650 к шине S100, приспособленной главным образом для передачи сигналов микропроцессора 8080, необходима прог
Рис.2. Для передачи сигналов от микропроцессора 2650 к шине S100, приспособленной главным образом для передачи сигналов микропроцессора 8080, необходима программируемая потребителем матрица логических вентилей. В данном случае ПЭЛМ 82S103 преобразует сигналы, поступающие от микропроцессора 2650 и сопряженного с ним интерфейса 2656, в формат, воспринимаемый шиной S100, которая используется в любительских компьютерах.

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

Два уровня логики

Логические матрицы — это ПЭЛП второго уровня сложности, а следовательно, они обеспечивают дополнительный уровень универсальности. Сочетания вентилей И и ИЛИ, имеющиеся в ПЭЛМ, хорошо приспособлены для решения многочленов и других алгебраических выражений, как показано в следующем ниже примере. В системах, в которых передаются большие блоки данных, сохранению достоверности последних в большой степени способствует циклический контроль избыточностью (ЦКИ). При этом методе к передаваемой последовательности данных добавляется контрольное слово, которое позволяет проверить на приемном конце, не появились ли в данных ошибки. Контрольное слово в этом случае вырабатывается путем циклического деления передаваемых данных на стандартный (для всей вычислительной промышленности) многочлен; остаток от деления и образует контрольное слово.

Многочлены легко поддаются последовательной обработке, так что нетрудно реализовать выработку и контроль кодовых слов по последовательному принципу. Однако в системах с параллельной организацией, у которых данные передаются по большому числу отдельных линий, для преобразования параллельного кода в пос-следовательный может потребоваться значительный объем оборудования. Кроме того, побитовая синхронизация каждого слова приводит к существенной потере быстродействия — в восемь раз для системы с байтовой ориентацией. Решение дает применение схем циклического контроля с параллельной генерацией и проверкой контрольных слов, разрабатываемой на основе логических уравнений, описывающих функционирование схемы в терминах теории конечных автоматов.

На рис.3,а представлена обобщенная ЦКИ-схема; здесь же приводится семейство логических уравнений для популярного ЦКИ-многочлена Р(х) =х1615 + х+ 1. На рис.3,б представлена полная схема параллельного (байтового) циклического контроля. В данном случае все функции генерации и проверки реализуются всего на пяти БИС — двух 8-разрядных регистрах-защелках, двух ПЭЛМ и одной ПЭВМ. ПЭЛМ в данном случае реализуют семейство логических уравнений, задающих входные сигналы триггеров, в результате чего обеспечивается преобразование логических уравнений из формы ИСКЛЮЧАЮЩЕЕ ИЛИ в конъюнктивно-дизъюнктивную (сумма логических произведений) форму. На рис.3, а переменные N0—N15 представляют следующие ЦКИ-слово после синхронизации, создаваемое на основе текущего слова В0—В15 и действующего в данный момент входного байта D0—D7.

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

Генерация контрольного слова начинается с того, что на линию RESET (СБРОС) подается низкий потенциал, вследствие чего все триггеры регисгра-защелки сбрасываются в нуль. После этого на линию синхронизации подается импульс, записывающий первый байт блока данных на триггеры D0—D7. Тем же путем записываются последующие байты. Циклический характер действия этой схемы не накладывает каких-либо ограничений на допустимую длину блока данных. Во время передачи данных после ввода последнего байта на выходах В0—B15 имеется 16-разрядное контрольное слово. К блоку оно добавляется в форме двух контрольных байтов.

Реализация циклического контроля

Схема используется в контрольном режиме, когда принимаемые данные содержат знаки циклического контроля. Этими знаками в принимаемом блоке данных являются последние два байта. Как и основные данные, знаки циклического контроля вводятся в последовательное представление блока данных импульсом синхронизации. На приемном конце они появляются последними, и если передача идет без ошибок, равны нулю. Если имеет место ошибка, то В0—B15 не будут равны нулю. ПЭВМ обнаружит это обстоятельство и выработает сигнал ошибки. Эта схема параллельного циклического контроля позволяет обрабатывать блоки данных со скоростью свыше 5,7 Мбайт/с.

Интересно также применение ПЭЛМ для замены данных в отдельных ячейках ПЗУ (см. «Как подкорректировать содержимое ПЗУ»).

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

Управление НМЛ

В ответ на команды состояния и ввода, которые могут поступать с шины ВВ или от контрольного пульта, контроллер выполняет хранимые в памяти стандартные программы. Выходные сигналы контроллера используются для регулирования скорости серводвигателя, приводящего в движение магнитную ленту, являются сигналами состояния ввода-вывода или разрешают запись данных.

Входные и выходные сигналы однокристального контроллера подробно перечислены на рис.4.

ПЭЛК, подобный показанному здесь контроллеру НМЛ, способен выполнять чрезвычайно сложные задачи. ПЭЛК 82S105 воспринимает команды, поступающие с шины
Рис.4. ПЭЛК, подобный показанному здесь контроллеру НМЛ, способен выполнять чрезвычайно сложные задачи. ПЭЛК 82S105 воспринимает команды, поступающие с шины ввода-вывода или пульта управления, и обеспечивает все сигналы, необходимые для приведения в действие серводвигателя протяжки ленты.

Контроллер выполняет следующие восемь стандартных программ:

— Быстрая перемотка ленты вперед.

— Медленная перемотка ленты вперед.

— Быстрая перемотка ленты назад.

— Медленная перемотка ленты назад.

— Перемотка ленты до точки загрузки привставленной кассете.

— Перемотка ленты до точки загрузки.

— Полная перемотка ленты и выбрасываниекассеты по команде разгрузки.

— Полная перемотка ленты и выбрасываниекассеты по условию автоматической разгрузки.

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

Первый этап при проектировании контроллера — это подготовка блок-схемы, отражающей его работу. Такую программную блок-схему много легче понять, чем ди
Рис.5. Первый этап при проектировании контроллера — это подготовка блок-схемы, отражающей его работу. Такую программную блок-схему много легче понять, чем диаграмму состояний (автомат Мили). Вместе с тем она обеспечивает все сведения, необходимые для программирования ПЭЛК.

Составление блок-схемы

Место термов перехода, используемых в автомате Мили, в блок-схеме программы занимают утверждения «истина» (да) и «ложь» (нет), относящиеся к входам системы. Связь между этими утверждениями лучше всего проследить на простом примере рис.6. На рис.6, а представлен условный переход из состояния А в состояние В. Чтобы имело место изменение состояния, должны одновременно удовлетворяться все условия, указанные на блок-схеме внутри ромбов. Эти условия отражаются именами переменных. Для данного примера, в котором произвольно приняты 4-разрядный регистр состояний, три входа и два выхода, соответствующая диаграмма состояний приведена на рис.6,б.

На блок-схеме (а) показан простой переход из состояния А в состояние В. Предполагается, что имеются три входа (Х<sub>0</sub>, X<sub>1</sub>, Х<sub>2</
Рис.6. На блок-схеме (а) показан простой переход из состояния А в состояние В. Предполагается, что имеются три входа (Х0, X1, Х2) и два выхода (Y0, Y1). Содержимое 4-разрядного регистра состояний показывает переход из состояния А (10102) в состояние В (11012).

Переход из А в В означает переход из состояния 10 (10102) в 13 (11012) и переход на выходе в 2 (102) при следующем импульсе синхронизации, если справедливо сочетание хn=4 (1002). Такой переход обеспечивается путем формирования терма перехода T = P32P10I210 и использования терма Т при следующем импульсе синхронизации для выработки команд следующего состояния и следующего выхода для регистров состояний и выхода соответственно. В регистре состояний триггеры N0 и N2 устанавливаются путем подключения Т к линиям установки S0 и S2, а триггер Ni сбрасывается путем подключения Т к линии сброса R1. Аналогичным образом, в регистре выхода разряд F0 сбрасывается, а разряд F1 устанавливался путем подключения Т к соответствующим линиям сброса (R0) и установки (S1) триггеров.

Работа контроллера

Обратившись снова к блок-схеме программы работы контроллера, можно видеть, что продвижение ленты должно быть остановлено в любом случае, когда включается питание на лентопротяжный механизм или размыкается блокировка. Это достигается путем подачи на контроллер входного сигнала I̅N̅T̅R̅D̅Y̅, который сбрасывает регистр состояний при безусловном переходе в состояние 1 или STOP. Когда это происходит, все выходы ПЭЛК становятся неактивными, WRITE (запись) запрещается, а скорость и направление перемещения ленты произвольно устанавливаются SLOW (медленно) и REVERSE (обратный ход). Из состояния STOP (стоп) работа в любом режиме имеет место за счет переходов текущих состояний и состояния на выходе, когда одновременно удовлетворяются все относящиеся сюда условия.

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

— Кассета с лентой на месте; на выходе блока условия (ромба) «кассета на месте?» (CIP) сигнал «да».

— Привод лентопротяжного механизма выбран; на выходе блока «привод выбран?» (SEL)сигнал «да».

— Выдана команда на продвижение ленты;на выходе блока «продвижение ленты?» (TR)сигнал «да».

— Контроллер не находится в состоянии 6;на выходе блока «6?» сигнал «нет».

— Лента должна продвигаться медленно; навыходе блока «быстро?» (F̅A̅S̅T̅) сигнал «нет».

— Лента должна продвигаться вперед; навыходе блока «вперед?» (F̅W̅D̅) сигнал «да».

Прослеживая переход между этими состояниями, необходимо иметь в виду две вещи. Во-первых, команды RWD (перемотка), UNL (разгрузка) и TR (продвижение ленты) взаимоисключающие, так что когда любая из них истина, остальные следует рассматривать как ложные или «несущественные». Во-вторых, после того как TR = ИСТИНА, вводится условие «состояние=6?», чтобы обнаружить неправильные переходы в состояния 2 и 3, которые могли бы иметь место из состояния 6 при AUTO UNL = = ЛОЖЬ (AUTO UNL — автоматическая разгрузка). Очевидно, этих переходов необходимо избегать, чтобы запретить запросы на медленное (или быстрое) продвижение в прямом направлении, когда произошел останов в конце ленты. Таким образом, условие «состояние = 6?» напоминает, что необходимо избегать программирования на переходы 6→2 и 6→З. Аналогичные соображения справедливы для условий «состояние = 7?» и «состояние = 11?».

После записи или считывания данных приводу ленты дается команда на останов посредством подачи сигнала TR = ЛОЖЬ, который вызывает переход из состояния 3 (медленное продвижение вперед) в состояние 1. Аналогичным образом ленте можно задать быстрое или медленное продвижение в прямом или обратном направлении посредством перехода в состояния 2, 4 и 5.

Когда лента окончилась (на выходе блока «конец ленты?». EOT сигнал «да»), лентопротяжный механизм останавливается. Это достигается посредством переходов 2→6 или 3→6. Коль скоро имеет место состояние 6, продвижение ленты в прямом направлении больше невозможно, так как состояниям 2 и 3 предшествует условие «состояние 6 = ЛОЖЬ». Если AUTO UNL= ИСТИНА, привод автоматически осуществляет перемотку (состояние 12), замедление ленты (состояние 13), выталкивает кассету с лентой (состояние 14) и останавливается. Если AUTO UNL = ЛОЖЬ, привод должен ожидать либо команды перемотки (RWD), либо команды разгрузки (UNL), либо команды про-движения в обратном направлении (FWD).

Если лента, продвигаясь в обратном направлении, доходит до начала (сигнал ВОТ — начало ленты), протяжка останавливается. Это достигается путем перехода из состояния 4 или 5 в состояние 7. Коль скоро достигнуто состояние 7, привод ленты не может работать более в обратном направлении, так как условие «состояние 7 = ЛОЖЬ» предшествует состояниям 4 и 5. Лента будет оставаться неподвижной на начальном участке, пока контроллер не выдаст команду RWD, UNL или FWD.

Если кассета не установлена (CIP = ЛОЖЬ), а протяжка включена, контроллер перейдет из состояния 1 в состояние 8 и выдаст сигнал EMPTY («пусто»). Когда кассета вставлена, CIP = ИСТИНА, и реализуется переход из состояния 8 в состояние 9. В состоянии 9 будет осуществляться быстрая перемотка ленты в обратном направлении до метки ВОТ (начало ленты). Теперь лента продвигается на малой скорости в прямом направлении, пока не будет достигнута точка загрузки (LP). LP = ИСТИНА реализует переход из состояния 10 в 11, обозначенное «останов в точке загрузки». После состояния 11 могут выполняться команды продвижения в прямом или обратном направлении или разгрузки, но не перемотки, так как состояние 11 предшествует состоянию 9. Этим предотвращается ненужное повторение перемотки.

Реализация перехода

На рис.7 подробно показана одна ветвь программы, в которой осуществляется условный переход из состояния 1 в состояние 2, т.е. из состояния останова в состояние, соответствующее входу в стандартную программу чтения при быстром продвижении ленты в прямом направлении. Условия перехода следующие:

— CIP = ИСТИНА.

— SEL = ИСТИНА.D TR = ИСТИНА.

— Состояние 6 = ЛОЖЬ.

— FWD = ИСТИНА.

— FAST = ИСТИНА.

На этом рисунке подробно показан в форме блок-схемы программы переход контроллера НМЛ из состояния 1 (STOP — останов) в состояние 2 (READ FAST FORWARD
Рис.7. На этом рисунке подробно показан в форме блок-схемы программы переход контроллера НМЛ из состояния 1 (STOP — останов) в состояние 2 (READ FAST FORWARD — быстрое воспроизведение при перемотке в прямом направлении). В таблице (нижняя часть рисунка) приведена соответствующая часть программной таблицы для микросхемы ПЭЛК, включая термы перехода и выхода.

При этом переходе изменяются состояния (так что вырабатываются соответствующие команды) на следующих выходах контроллера — TR (продвижение ленты), FWD (вперед) и FAST (быстро).

Блок-схема программы контроллера содержит в общей сложности 14 состояний и 36 условий перехода (включая синхронный сброс).

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

Преимущества контроллера, собранного на основе ПЭЛК, легче всего оценить, сравнив его с контроллером, реализующим такую же диаграмму состояний, но собранного на приборах дискретной логики, содержащего программируемые ПЗУ, регистры-защелки и логические вентили. В табл.1 приведены некоторые сравнительные характеристики контроллера на основе ПЭЛК, контроллера на дискретных логических приборах и контроллера на основе БИС программируемых логических матриц, изготавливаемых фирмой Monolithic Memories Inc.

Таблица 1.
Сравнительные параметры контроллеров для НМЛ

Параметр

ПЭЛК

Дискретная логика

ПЛМ фирмы Monolithic Memories Inc.

Число микросхем

1

6

14

Занимаемая площадь на схемной плате

5,3 см2

13,3 см2

22,6 см2

Потребляемая мощность (типовое значение)

0,6 Вт

1,36 Вт

4,8 Вт

Быстродействие

90 не/состояние

132 не/состояние

105 не/состояние

Напряжение

+ 5В

+ 5В

+ 5В

Стоимость (при крупносерийном производстве)

12 долл.

14 долл.

48 долл.

Программирование

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

С точки зрения программирования, с логическими приборами следует обращаться так же, как с полупроводниковыми ЗУ: определять требуемое распределение выплавляемых перемычек, исходя из соотношения между адресами и данными. Такой подход не дает представления о логическом функционировании прибора (оно не отражается в программной таблице), но при нем можно гарантировать, что программное оборудование будет недорогим и для его обслуживания не потребуется высококвалифицированный персонал. Другая возможность — это логическое программирование; соответствующее недорогое оборудование уже изготавливается фирмой Signetics. Пульты логического программирования позволяют вводить логическую функцию непосредственно из программной таблицы. При этом не требуется логическая схема прибора, и пользователю не надо оговаривать состояние каждой отдельной линии прибора. Такие пульты программирования наиболее удобны на стадии технической разработки, но они обладают настолько высокой скоростью программирования (около 10 с на прибор), что могут быть полезны также и в условиях производства. Единственный их недостаток тот, что они являются специализированными аппаратами, и с их помощью нельзя программировать ППЗУ.

Некоторые фирмы изготавливают «гибридные» пульты программирования ППЗУ, которые можно приспособить также для программирования логических приборов. В табл.2 показано, на какое программное оборудование потребители могут рассчитывать уже сейчас или в ближайшем будущем.

Таблица 2.
Программное оборудование для ПЭЛП

Тип

Изготовитель

Модель

Вид ПЭЛП

Наличие

Матрица вентилей

Логическая матрица

Корректор содержимого памяти

Логический контроллер

Для логических приборов

Signetics

FP-103

 

 

 

Имеется

FP-104

 

Имеется

Curtis

PR-100

 

 

 

Имеется

PR-100A

 

 

Имеется

Data*I/O

10

 

 

Имеется

Для ЗУ

Data I/O

17,19

3 кв. 1979г.

Sunrise Electronics

SM100

 

Ф

 

Имеется

 

 

В разработке

Гибридное

Stag

PPX-Plus

 

 

Имеется

 

 

В разработке

Дочерние статьи:

Как подкорректировать содержимое ПЗУ

Выходные данные:

Журнал "Электроника" том 52, No.15 (567), 1979г - пер. с англ. М.: Мир, 1979, стр.58

Electronics Vol.52 No.15 July 19, 1979 A McGraw-Hill Publication

N.Cavlan, S.J.Durham. Sequencers and arraystransform truth tables into working systems, pp.132—139.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Логические приборы, программируемые заказчиком





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Signetics/D19790719Elc050.shtml