Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Реализация алгоритмов управления последовательностных автоматов

Виды запоминающих устройств

Основной отличительной чертой последовательностных схем управления является, как мы уже убедились, наличие в их составе запоминающих устройств (ЗУ). Последовательностные автоматы называют поэтому автоматами с памятью. Все реальные устройства автоматического управления содержат в своем составе элементы памяти, пусть хотя бы в виде блок-контакта в схеме управления двигателем (см.рис.5.9а). Рассмотрим типовые ЗУ, применяемые в АСУТП.

По своему назначению ЗУ делятся на два класса: постоянные ЗУ (ПЗУ) и оперативные ЗУ (ОЗУ). ПЗУ предназначены для длительного хранения информации и потому их основным качеством является энергонезависимость, т.е. способность длительное время сохранять записанную информацию после отключения электропитания. По своей конструкции ПЗУ делятся на магнитомеханические и электронные. Магнитомеханические это жесткие магнитные диски и гибкие дискеты, информация записывается на их дорожках в виде последовательности намагниченных и ненамагниченных участков в двоичном коде, считая, что намагниченный участок это 1, а ненамагниченный – 0. Магнитомеханические ПЗУ энергонезависимы и надежны, допускают перезапись информации, но их быстродействие ограничено скоростью вращения дисков. Они удобны для употребления в тех случаях, когда перезапись информации и обращение за информацией к ЗУ происходит относительно редко, как это бывает, например, при записи массива УП в памяти УЧПУ. Электронные ПЗУ, в том числе перепрограммируемые ПЗУ (ППЗУ), выполняются на базе БИС. Они обладают большей скоростью обмена информацией и употребляются для формирования в УВМ системного программного обеспечения (см. §6.1), а ППЗУ – также и для записи УП. Однако электронные ПЗУ имеют относительно меньшую информационную емкость и транспортабельность.

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

 

Триггеры

Простейшей триггерной ячейкой является асинхронный RS-триггер. Эта ячейка с двумя входами, R и S, и с двумя выходами: прямым выходом Q и инверсным выходом . По сигналу S =1 (Set – установка) RS-триггер устанавливается в единичное состояние, которому соответствует . По сигналу R=1 (Reset – сброс) RS-триггер сбрасывается в нулевое состояние, которому соответствует . Когда на одном из входов RS-триггера имеется единичный сигнал, на другой вход должен быть подан нулевой сигнал. Одновременная подача единичных сигналов на оба входа RS- триггера не допускается. При наличии на обоих входах RS-триггера нулевых сигналов, его состояние не изменяется. Таким образом RS-триггер является последовательностной управляющей ячейкой, характеризующейся двумя различными внутренними состояниями, каждое из которых целесообразно обозначать сигналом на прямом выходе: Q=0 и . В такую ячейку можно записать и в ней хранить информацию, не превышающую 1 бит (см. §2.2). Триггер – это стандартная ячейка ОЗУ для хранения информации в 1 бит.

Функционирование RS-триггера может быть отображено такой таблицей выходов (табл.5.9).

Таблица 5.9

Таблица выходов RS-триггера

Rt St Qt-1 Qt Режим
Хранение информации Qt=Qt-1
Запись 1 Qt=1
Запись 0 Qt=0
*(1) *(1) *(1) *(1) Запретная комбинация =Qt

 

В табл.5.9 видно, что при R=0 и S=0 RS-триггер сохраняет свое состояние неизменным, т.е. хранит ранее записанную информацию: либо Q=0, либо Q=1. При подаче сигнала St=1 на выходе устанавливается Qt=1, вместо Qt=0 или сохраняется Q=1. Аналогично при подаче Rt=1 на выходе устанавливается Q =0. Запретность комбинации R=1 и S=1 (одновременно) означает, что клетки со звездочками можно заполнять произвольно, так как при нормальной эксплуатации RS-триггера одновременное поступление R=1 и S=1 исключено. При реализации RS-триггера на элементах ИЛИ-НЕ наиболее простая схема получается, если вместо звездочек проставить нули, а при реализации на элементах И-НЕ из тех же соображений лучше поставить вместо всех звездочек единицы, что и сделано. Составление по таблице 5.9 логических формул (см. §5.2) для функций Qt и приводит к следующим выражениям:

(5.11)

(5.12)

Вторые части формул (5.11) и (5.12) позволяют непосредственно по ним получить схему RS-триггера на элементах И-НЕ, приведенную на рис.5.10. Действительно, на выходе имеем:

,

а на выходе Qt соответственно получим

,

что соответствует выражению (5.11).

 

&
&

Qt

 

 

 

 

Рис.5.10. Схема RS-триггера на элементах И-НЕ

 

Аналогично проверяется правильность выражения (5.12) относительно выхода схемы рис.5.10.

Если в формуле (5.11) положить Q=Н, S=dнdв, а то она становится эквивалентной формуле (5.10). Таким образом, если на входе триггера по схеме рис.5.12 поместить элемент И-НЕ, дающий , а на вход подать сигнал , то функции схем на рис.5.9б и 5.10 совпадут. Следовательно, схему регулирования уровня по формуле (5.10) можно строить на логическом элементе, реализующем функции RS-триггера, с добавлением элемента И-НЕ для реализации дополнительной логики по входу Условие недопущения одновременной подачи сигналов R=1 и S=1 здесь строго соблюдается.

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

 

 

&
S

&
Q

S T   C   R
Q

           
   
 
 
   
 


C

&

&

R

А б

Рис.5.11. Синхронный RS-триггер:

а) схема на элементах И-НЕ; б) условное обозначение.

 

Синхронный триггер переключается только при одновременной подаче единичных сигналов на один из информационных входов и на вход С (Clock). Так, при С=1 и S=1 имеем и триггер переключается в состояние Q=1, или остается в этом состоянии (см.табл.5.9).

Путем подачи внутреннего сигнала на вход R синхронный RS-триггер превращается в триггер задержки, D-триггер (Delay –задержка). У D-триггера вход R является внутренним, а информационный вход S переименован в D. Состояние D-триггера принимает то значение, какое имеется на входе D: при D=1 получим Q=1, а при D=0 получим Q=0, но только при условии, что С=1. При С=0 состояние выходов D-триггера не изменяется. Это свойство D-триггера можно использовать для организации считывания информации со входов управляющего устройства. Например, можно установить D-триггеры на входе преобразователя кода (рис.5.7а) вместо элементов И-НЕ и подать входные сигналы на D-входы триггеров (см.рис.5.12). На их выходах будут получены как прямые, так и инверсные значения входных сигналов, какие они были в момент считывания информации с датчика положения, т.е. при сигнале синхронизации С2=1. Здесь совокупность D-триггеров играет роль регистра, в котором при С2=0 хранится записанная с датчиков при С2=1 информация.

 

 

 
 


D T     C
X1 X1

 

 

D T     C
X2 X2

 

на схему рис 5.7б

D T     C

X3 Х3

 

D T     C

X4 Х4

 

       
   
 
 


С2

 

Рис.5.12. Синхронизация поступления входных сигналов Х1…Х4

 

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

Заметим, что при синхронизации работы входных преобразователей управляющее устройство обеспечивает им работу в трех состояниях:

1) считывание поступившей на его входы информации (С1=0, С2=1);

2) преобразование поступившей информации входным преобразователем (С1 =0, С2 =0);

3) хранение поступившей информации (С1=1, С2=0).

В результате, при работе в синхронном режиме, входной преобразователь приобретает черты устройства последовательностного действия. Например, преобразователь кода по схеме рис.5.7 оказался снабженным собственным запоминающим устройством в виде комплекта D-триггеров (рис.5.12).

Из других типов триггеров для нас наиболее интересны счетный триггер (Т-триггер) и JK-триггер (см.рис.5.13). Т-триггеры лежат в основе схем различных счетчиков, а JK-триггеры являются универсальными в том смысле, что могут выполнять функции триггеров многих других типов. У Т-триггера имеется только один информационный (счетный) вход Т, который совпадает с тактовым входом С. После прохождения единичного импульса на счетном входе Т состояние триггера изменяется на противоположное. Поскольку входные импульсы (такты) могут быть различной длительности, то Т-триггер должен запоминать не только то состояние (либо Qt =1, либо Qt=0), в котором он должен оказаться по окончании текущего такта, но и предыдущее состояние (либо Qt-1=0, либо Qt-1=1) на все время подачи сигнала Т=1. Иначе вновь сформировавшееся состояние будет восприниматься триггерной структурой (при условии сохранения Т=1), как «старое», что вызовет новое, «лишнее» переключение (см.табл.5.11), за ним следующее и т.д. до тех пор, пока сохраняется Т=1. Таким образом, необходимо запоминать «старое» значение Q на все время, пока имеет место Т=1, чтобы избежать автоколебаний. Для этого схема Т-триггера должна содержать две ячейки памяти, а не одну, как это было у рассмотренных выше RS- и D-триггеров.

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

Универсальность JK-триггера заключается в том, что при подаче входных сигналов J=1 или K=1 раздельно, он работает, как RS-триггер. Если же на вход К подавать инвертированный сигнал со входа J, то получится D-триггер. А при подаче J=K=1 одновременно, он работает, как Т-триггер, т.е. изменяет свое состояние на противоположное после каждого прохождения единичного импульса на тактовом входе С. Следовательно, структура JK-триггера должна быть такой же, как и у Т-триггера, но должны быть предусмотрены отдельные информационные входы J и K. Этим требованиям удовлетворяет схема, приведенная на рис. 5.13а, которой соответствует (при J=K=1) следующая таблица выходов (табл.5.10). Согласно табл.5.10 при Т=1 изменяются только значения промежуточных выходов Qt, а значения основных выходов Qt+1 остаются неизменными (Qt+1=Qt-1). При Т=0 основные выходы принимают значение промежуточных: Qt+1= Qt, а значения Qt при этом остаются неизменными. Функционирование основных выходов Т-триггера описывается формулой

(5.13)

полученной из таблицы выходов (5.10). Функционирование промежуточных выходов Т-триггера соответствует таблице переходов (5.11)и описывается формулой

(5.13 )

 

 

Таблица 5.11

Таблица 5.10 Таблица переходов Т-триггера

Таблица выходов Т-триггера

Tt Qt-1 Qt Qt+1
Tt Qt-1 Qt

 

Автоколебаний в схеме по рис.5.13а не возникает, так как сигналы Qt-1 поступают не с выходов Qt, а с выходов Qt+1 При переключении триггера Qt (при Т=1) состояние триггера Qt+1 не изменяется, так как его входные цепи заперты блокировочными сигналами, поступающими либо с элемента D1, либо с элемента D2 на элементы D5 и D6.

Схема рис.5.13а, имеющая в своем составе два последовательно соединенных триггера, носит название двухступенчатого триггера. Двухступенчатость триггера обозначается на схемах знаком ТТ (см. рис.5.13.б и в).

 

Рис.5.13. Схема(а) и условные обозначения Т-триггера(б) и JK- триггера(в)

 

Регистры

Микропроцессорные модули АСУТП нередко ведут обработку оперативной информации, исчисляющейся килобайтами. При этом применяются БИС электронной памяти, базирующиеся на триггерных ячейках. Емкость БИС ОЗУ может достигать нескольких Мбайт, что предполагает наличие миллионов триггеров в составе одной БИС. Триггеры используемые в ОЗУ, применяются не по одному, а группами, называемыми регистрами. Регистр – это электронное устройство, базирующееся на совокупности триггерных ячеек и предназначенное для хранения и преобразования помещенной в него информации, записанной в двоичном коде. Регистры различных типов являются непременной принадлежностью микропроцессоров, БИС памяти и многих других БИС. Объем информации, хранимой в регистре, составляет 1-4 байта. По характеру выполняемых операций регистры принято подразделять на регистры хранения, регистры сдвига и счетные регистры (счетчики).

Регистры хранения реализуют только одну, общую для регистров всех типов функцию хранения информации в двоичном коде. Типичные регистры хранения строятся на D-триггерах. Примером простейшего регистра хранения является совокупность D-триггеров в схеме, приведенной на рис.5.12. Другим примером может служить 8-битовый (байтовый) регистр RG, приведенный на рис.5.14. Регистр RG имеет 8 D-входов и 8 Q-выходов, усиленных усилителями мощности А (см.рис.5.14б). Запись информации в регистр со входов D0-D7 производится при STB=1 (STB – стробирующий сигнал). Считывание информации с выходов Q0-Q7 возможно лишь при разрешении на считывание сигналом .Запись информации во все триггерные ячейки регистра RG производится, хотя одновременно, но независимо друг от друга, что является характерной особенностью регистров хранения.

 

Рис.5.14. Регистр хранения, построенный на D-триггерах:

а) условное обозначение;

б) схема триггерной ячейки в составе регистра.

 

Регистры сдвига, помимо приема, хранения и выдачи информации подобно регистрам хранения, позволяют сдвигать записанную информацию, т.е. перемещать значения записанных битов информации от одной триггерной ячейки к другой, соседней, причем сдвиг информации производится одновременно во всех ячейках в одном направлении. На рис.5.15 приведена упрощенная схема регистра сдвига, по которой можно судить о том, как организуется сдвиг информации в регистрах, построенных на D-триггерах. Информация в такой регистр может поступать как в последовательном, так и в параллельном коде, а сдвиг информации производится подачей единичного импульса на вход сдвига. Последний организуется путем объединения всех тактовых входов регистра. Поскольку все D-триггеры регистра соединены последовательно, а при подаче сигнала С=1 информация со входа D-триггера передается на его выход, то при подаче единичного импульса сдвига вся информация, записанная в триггерах регистра, сдвигается слева направо на один разряд. При этом информация, хранившаяся до подачи импульса сдвига на выходе Q1, будет утрачена, если ее не переписать в какое-либо другое ЗУ, включенное на выходе Q1. Информация, передаваемая в последовательном коде, подается в регистр сдвига через информационный вход D4. Предварительно регистр может быть очищен единичным импульсом, подаваемым на входы R установки нуля. При поступлении на вход D4 информация подается поразрядно, начиная с младшего разряда. После подачи тактового импульса на вход сдвига информация переписывается из каждого разряда в соседний младший. Поразрядный сдвиг информации продолжается до тех пор, пока младший разряд слова информации не достигнет младшего разряда регистра, т.е. разряда Q1 (см.рис.5.15а). После этого информация может быть выдана через выходы Q в параллельном коде и в том же порядке, в каком она выдается в регистрах хранения. Таким образом, регистры сдвига преобразуют информацию из последовательного кода в параллельный, но хранят информацию они в параллельном коде. Преобразование информации из последовательного кода в параллельный необходимо при приеме информации из последовательного интерфейса, поскольку процессор, куда она далее поступает, обрабатывает информацию словами, записанными в параллельном коде.

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

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

Рис.5.15. Схема регистра сдвига (а) и его условное обозначение (б)

 

Счетные регистры, или счетчики, отличаются тем, что помимо функций записи, хранения и выдачи информации выполняют функцию счета поступающих на них импульсов с запоминанием результатов. Счет импульсов может производиться как в привычной нам десятичной системе исчисления (декадные счетчики), так и в двоичной системе исчисления (двоичные счетчики). Последние являются основным типом счетчиков, поскольку декадные счетчики строятся на базе двоичных. Упрощенная схема двоичного счетчика приведена на рис.5.16. На схеме видно, что двоичные счетчики строятся на Т-триггерах, соединенных последовательно так, что выход Qi со входом Тi +1 следующего триггера (схема прямого счета). Каждый триггер перебрасывается в единичное состояние по окончании (по заднему фронту) одного единичного импульса на его входе Тi и в нулевое состояние – по окончании следующего единичного входного импульса. Поэтому каждый последующий триггер перебрасывается в два раза реже предыдущего. Триггер ТТ3 перебросится в единичное состояние (Q3=1) по прохождении четырех единичных импульсов на входе Т1 и вернется в нулевое состояние (Q3=0) по прохождении восьми импульсов на том же входе. Тогда же вернутся в исходное нулевое состояние и остальные триггеры счетчика. Таким образом, счетчик, представленный на рис.5.16, может обеспечить счет до 8 импульсов, а состояние его триггеров будут соответствовать числам от нуля (000) до 7 (111) в двоичной системе исчисления. В целом же емкость двоичного счетчика составляет 2n, если n – это количество счетных триггеров

в его составе.

 

Рис.5.16. Трехразрядный двоичный счетчик: а – схема; б – условное обозначение

 

Счетчик, построенный по схеме рис.5.16, это счетчик прямого счета, или суммирующий. После прихода каждого входного импульса на вход Т1 число, записанное в таком счетчике, увеличивается на единицу. Если в счетчике соединить со входом каждого последующего триггера инверсный (а не прямой) выход предыдущего триггера, то получится счетчик обратного счета, или вычитающий. После прихода каждого входного импульса записанное в нем число уменьшается на единицу. С помощью логических микросхем, установленных между триггерами счетчика для изменения порядка прохождения управляющих импульсов от одного триггера к другому, можно получить реверсивный счетчик, который может работать как в режиме сложения, так и вычитания поступающих импульсов. Схема реверсивного счетчика приведена на рис.5.17. При поступлении счетных импульсов на вход +1 данного счетчика он работает как суммирующий, а при поступлении импульсов на вход –1 счетчик работает как вычитающий. На выходе счетчика схемами совпадения формируется сигнал переноса >15 единицы в младший разряд следующей микросхемы счетчика после заполнения единицами всех четырех разрядов изображенной на рис.5.17 микросхемы. Таким же образом формируется сигнал заёма <0 после обнуления счетчика при работе в режиме обратного счета.

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

 

Рис.5.17. Четырехразрядный реверсивный счетчик: а – схема; б – условное обозначение

 

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

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

 

Последнее изменение этой страницы: 2016-06-09

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...