Программируемый контроллер

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИРЕСПУБЛИК 16 19) .ЯЦ. 5)5 6 05 В 19 ПИСАН ОБРЕТЕНИЯ АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССРВ 1007106, кл. 6 05 В 19/08, 6 061981.Авторское свидетельство СССРЬВ 1084792, кл. 6 06 Р 9/22, 1982,Авторское свидетельство СССРМ 949657, кл. 6 06 Р 9/22, 1980.Авторское свидетельство СССРМ 1238071, кл. 6 06 Р 9/22, 1986. ьк пе 2(54) ПРОГРАММИРУЕМЫЙ КОНТРОЛ (57) Изобретение относится к автома вычислительной технике и может бь пользовано в ЭВМ, терминальном об ЛЕРтике и ть ис- орудоИзобретение относится к автоматике и вычислительной технике и может быть использовано в электронно-вычислительных машинах, терминальном оборудовании и АСУ ТП (для управления динамическими процессами),Цель изобретения - сокращение аппаратной избыточности контроллера за счет реализации проверки условий выполнения микроприказов в каждом такте работы,Сущность изобретения состоит в формировании каждого микроприказа выполняемых микрокоманд до момента окончания его выполнения, что позволяет однократно хранить в управляющей памяти микроко- манды, содержащие микроприказы, выполняемые в течение нескольких тактов, и ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР вании и АСУ ТП. Цель изобретения - сокращение аппаратурной избыточности контроллера за счет реализации проверки условий выполнения микроприказов в каждом такте работы. Поставленная цель достигается тем, что в контроллер, содержащий блок памяти, регистры адреса и микрокоманд, генератор, коммутатор, мультиплексор, первую группу элементов И, элемент ИЛИ - НЕ, дополнительно введены регистр условий, триггеры пуска и блокировки, коммутаторы кодов условий и условий, дешифратор, вторая и третья группы элементов И и первый - четвертый элементы И, Введение новых элементов позволяет формировать код нового микроприказа до окончания выполнения предыдущего, который выполняется в течение нескольких тактов, с проверкой его выполнения в каждом такте работы контроллера. 2 ил. уменьшить сложность программируемого контроллера.На фиг.1 приведена функциональная, схема программируемого контроллера; нэ фиг,2 - временная диаграмма его раооты.Программируемый контроллер содер- ., жит(фиг.1) блок 1 памяти с выходами поля 2 адреса, поля 3 кода условия, поля 4 микро- операций и поля 5 метки, регистр 6 адреса, регистр 7 микрокоманд, регистр 8 условий, триггер 9 пуска, триггер 10 блокировки, ге,нератор 11 с первым 12 и вторым 13 выходами, коммутатор 14,коммутатор 15 кодов условий, коммутатор 16 условий, мультиплексор 17, дешифратор 18, первую 19, вторую 20 и третью 21 группы элементов И, первый - четвертый элементы И 22 - 25, зле 16424465 10 20 30 35 40 45 50 55 мент ИЛИ - НЕ 26, выход 27 коммутатора 16 условий, вход 28 кода операции, вход 29 пуска, входы 30 сигналов логических условий, входы 31 сигналов выполнения микро- приказов, выход 32 сигнала "Конец команды", выход 33 сигнала ",Конец работы", выходы 34 микроопераций и выходы 35 микроприказов,Блок 1 памяти предназначен для хранения микрокоманд. Микрокоманды состоят из четырех полей: поля адреса (поле 2), поля кода условия (поле 3), поля микроопераций (поле 41 и поля метки (поле 5).В поле адреса содержится базовый адрес очередной микрокоманды. Поля микро- операций и кода условия используются многофункционально, Если в поле 5 метки очередной микрокоманды имеет место единичный сигнал, то в полях кода условия и микроопеоаций хранятся коды условий, проверяемых в процессе выполнения микроприказов, Если в поле метки очередной микрокоманды присутствует нулевой сигнал, то в поле кода условий хранится код логического условия, проверяемого после выполнения микрокоманды, Поле микро- операций в этом случае состоит из двух подполей, :поля операционной части и поля микроприказов.Операционная часть микрокоманды поступает с вь 1 ходов 34 устройства на объект управления, Микроприказы через выходы 31.1 - 35.1 устройства поступают на обьект управления и включают его соответствующие субблоки для выполнения микрокоманды (ее операционной части).Регистр б адреса предназначен для хранения адреса очередной микрокомандыРегистр 7 служит для хранения операционных частей и микроприказов выполняемых микрокоманд.Регистр 8 служит для хранения в течение выполнения микрокоманды кодов ло.гических условий, проверяемьх при выполнении микроприказов,Триггер 9 .пуска предназначен для включения и отключения генератора 11. При нахождении триггера 9 в единичном состоянии генератор 11 включен, а в нулевом - отключен.Триггер 10 блокировки формирует (в единичном состоянии) сигнал блокировки записи информации в регистры 7 и 8 до момента окончания выполнения текущей микрокоманды.Генератор 11 формирует на выходах 12 и 13 последовательности импульсов (фиг,2) Т 1 и Т 2, синхронизирующие работу устройства. Длительность, период следования и временной сдвиг между последовательностями импульсов определяются иэ условий обеспечения устойчивой работы элементов и узлов контроллера,Коммутатор 14 передает на регистр 6 адрес очередной микрокоманды либо с входов 28 устройства, либо с выходов 2 блока 1 памяти и мультиплексора 17,Коммутатор 15 кодов условий служит для передачи кода условия, проверяемого в ходе выполнения текущего микроприкаэа, на дешифратор 18.Коммутатор 16 условий предназначен для передачи сигнала проверяемого логического условия с входов 31 контроллера на группу элемента И 20.1-20,1,Мультиплексор 17 формирует значение младшего разряда адреса очередной микрокоманды. На выход мультиплексора 17 поступает либо значение младшего разряда базового адреса, либо значение проверяемого логического условия с входа 30 контроллера,Дешифратор 18 предназначен для деко дирования кода проверяемого условия и управления коммутатором 16 условий.устройство работает следующим образом,В исходном состоянии триггеры 9 и 10 и регистры 6, 7 и 8 обнулены. При этом на выходе 32 поля 4 микроопераций блока 1 памяти присутствует единичный сигнал.При поступлении на вход 29 сигнала пуска триггера 9 пуска устанавливается в единичное состояние и включает генератор 11. По первому импульсу последовательности Т 1 (импульс на выходе 12 генератора 11) в регистр б с входа 28 через коммутатор 14 записывается адрес первой микрокоманды микропрограммы. По этому адресу из блока 1 памяти считывается микрокоманда, и сиг- нал на выходе 32 исчезает. В зависимости от содержимого поля.5 метки и поля микроприказов в устройстве реализуются три типа микрокомандобщая микрокоманаа (МК);микрокоманда с фиксированным временем выполнения (МК);микрокоманда с нефиксированным временем выполнения (МК).Выполнение МК. Поле микроприказов этих микрокоманд не содержит информации и в поле 5 метки сигнал отсутствует. По импульсу Т 2 с выхода 13 генератора 11 содержимое поля 4 микроопераций микрокоманды из блока 1 памяти записывается в регистр 7 микрокоманд, Операционная часть микрокоманды с регистра 7 через выход 34 поступает на операционный блок и10 выполняется в нем, Так как в поле управления регистра 7 микрокоманд информация отсутствует, то на выходе элемента ИЛИ - НЕ 26 имеет место единичный сигнал. Код проверяемого логического условия с поля 3 через группу 21 элементов И поступает на адресный вход мультиплексора 17, При этом на выходе мультиплексора 17 формируется значение младшего разряда адреса очередной микрокоманды. По очередному импульсу последовательности Т 1 в регистр 6 записывается адрес очередной микрокоманды. Далее работа устройства при выполнении микрокоманд этого типа происходит аналогично описанному выше алгоритму.Выполнение МК. Выборка МКиз блока 1 памяти и занесение в регистр 7 микрокоманд происходят аналогично описанному выше. Так как поле 4 микроопераций в этом случае отлично от нуля, то сигнал на выходе элемента ИЛИ - НЕ 26 исчезает. Микрокоманда МКвыполняется в течение К+1 тактов, где К - число выполняемых микроприказов. Пусть в поле микроприказов текущей микрокоманды имеются единичные сигналы в первом и третьем разрядах. После записи такой микрокоманды в регистр 7 микрокоманд операционная часть микрокоманды поступает на выход 34, а сигнал первого микроприказа - на выход 35.1. Этот сигнал разрешает выполнение операционной части микрокоманды соответствующим субблоком операционного блока, Так как сигнал на выходе элемента ИЛИ - НЕ 26 отсутствует, то очередной импульс последовательности Т 2 через элемент И 23 на регистр 6 адреса не поступает. На вход дешифратора 18 поступает нулевой код. При этом сигнал с соответствующего выхода дешифратора 18 проходит через коммутатор 16 на выход 27. Триггер 10 при этом остается в нулевом состоянии, По очередному импульсу последовательности Т 2 на выходе элемента И 20,1 группы 20 элементов И появляется сигнал (элемент И 20.1 в этом случае открыт сигналом с первого выхода поля управления регистра 7 микрокоманд и сигналом с выхода 27 коммутатора 16 условий), Этот сигнал поступает на первый Я-вход регистра 7 микрокоманд, При этом соответствующий триггер регистра 7 микрокоманд устанавливается в нулевое состояние и сигнал на выходе 35.1 исчезает, На выходе элемента И 19.2 появляется сигнал третьего микро- приказа, который поступает на выход 35.3 контроллера и включает соответствующий субблок операционного блока для выполнения операционной части микрокоманды,15 20 25 30 35 40 45 50 55 По очередному импульсу последовательности Т 2 на выходе элемента И 20.3 группы 20 элементов И появляется сигнал. По этому сигналу соответствующий триггер регистра 7 микрокоманд устанавливается в нулевое состояние, сигнал на выходе элемента И 19.2 исчезает, а на выходе элемента ИЛИ - НЕ 26 появляется. По очередному импульсу последовательности Т 1 в регистр 6 адреса записывается адрес очередной микрокоманды и триггер 10 блокировки устанавливается в единичное состояние. По импульсу последовательности Т 2 в регистр 7 микрокоманд записывается код очередной микрокоманды, Далее контроллер при выполнении микрокоманд типов МК - 1 и МК - 2 функционирует аналогично описанному выше алгоритму,Выполнение МК - 3, В процессе выполнения МК - 3 из блока 1 памяти считывается две микрокоманды. В первой микрокоманде содержатся коды условий, проверяемых после выполнения микроприказов. Число этих кодов равно разрядности поля микроприказов, Коды условий в первой микрокоманде содержатся в поле 4 микроопераций и поле 3 кодов условий. Во второй микрокоманде содержатся операционная часть и поле микроприказов микрокоманды МК - 3.При реализации микрокоманды МК - 3 контроллер функционирует следующим образом. По адресу, записанному в регистре 6 адреса, из блока 1 памяти выбирается первая микрокоманда. При этом на выходе 5 блока 1 памяти появляется сигнал, Этот сигнал разрешает запись информации в регистр 8 условий и запрещает запись информации в регистр 7 микрокоманд, По очередному импульсу последовательности Т 2 коды условия с выхода 3 и 4 блока 1 памяти заносятся в регистр 8 условий и триггер 10 блокировки устанавливается в нулевое состояние. Так как на адресный вход мультиплексора 17 поступает нулевой код, то через мультиплексор 17 поступает сигнал с выхода модифицируемого разряда адреса поля 2 адреса, Адрес очередной микрокоманды через коммутатор 14 поступает на регистр 6 адреса. По очередному импульсу последовательности Т 1 этот адрес записывается в регистр 6 адреса и триггер 10 блокировки устанавливается в единичное состояние. По этому адресу из блока 1 памяти считывается очередная микрокоманда. На выходе 5 блока 1 памяти сигнал отсутствует. По импульсу последовательности Т 2 в регистр 7 микрокоманд записывается поле микроопераций микрокоманды, Спераци 1642446онная часть микрокоманды поступает на выходы 34, Сигналы микроприказов с поля управления регистра 7 микрокоманд через элементь 1 И группы 19 элементов И поступают на выходы 35.1 - 35. 1, Пусть при формировании микрокоманды имеет место микроприказ на выходе 35.3 и моментом окончания его выполнения является выполнение ждущего логического условия (Хз), В этом случае сигнал с выхода элемента И 19.2 группы 19 элементов И открывает по второму управляющему входу коммутатор 15 кодов условий. Код проверяемого условия (Хз) с регистра 8 проходит через коммутатор 15 кодов условий на дешифратор 18, Дешифратор 18 на соответствующем выходе формирует сигнал, который открывает по соответствующему управляющему входу коммутатор 16 условий, При этом проверяемое логическое условие Хз с входа 31 контроллера проходит через коммутатор 16 на выходе 27, Если микроприказ, поступающий на выход 35,5, не выполнялся, то Хз;-О. При этом сигнал на выходе 27 коммутатооа 16 отсутствует, очередной импульс последовательности Т 2 через элемент И 20,3 руппы не проходит и сигнал на выходе 35,3 контроллера не исче- .зает, 1 ак как сигнал на выходе элемента ИЛИ - Н Е 26 отсутствует, то очередной импульс последовательности Т 1 через элемент И 23 на регистр б адреса и триггер 10 блокировки не проходит, Контроллер остается в таком состоянии до момента окончания выполнения микроприказа, В момент окончания выполнейия микроприказа Хз изменяет свое назначение (Хз = 1) При этом появляется сигнал на выходе 27 коммутатора 16, При поступлении очередного импульса последовательности Т 2 на вь ходе элемента И 20.3 группь 1 появляется сигнал, По этому сигналу триггер регистра 7 микрокоманд, хранящий сигналвыполнявшегося микроприказа, устанавливается в нулевое состояние и сигнал на выходе 35.3 контроллера исчезает. Если в поле микроприказов есть еще сигналы, то на выходе одного из элементов И 19.4- 19.(1-1) группы 19 элементов И появляется сигнал микроприказа и на выходе элемента ИЛИ-НЕ 26 сигнал отсутствует, В процессе выполнения очередного микро- приказа с проверкой ждущего условия контроллер функционирует аналогично, описанному выше, Если же на выполнение очередного приказа требуется один такт работы контроллера, то в соответствующем поле регистра 8 должен храниться нулевой код, Этот код, пройдя через коммутатор 15 кодов условий на дешифратор10 15 20 микрокоманды) триггер 9 пуска и регистр 25 б адреса обнуляются и генератор 11 отключается,30 35 40 45 50 55 18, возбудит соответствующий выход, Сигнал с этого выхода пройдет через коммутатор 16 условий на выход 27. Далее контроллер будет функционировать аналогично, как и при выполнении микрокоманды типа МК - 2. После выполнения всех микроприказов микрокоманды МК - 3 на выходе элемента ИЛИ - НЕ 26 появляется сигнал. По очередному импульсу последовательности Т 1 в регистр б адреса заносится адрес очередной микрокоманды, триггер 10 блокировки устанавливается в единичное состояние и регистр 8 условий обнуляется. Из блока 1 памяти выбирается очередная микрокоманда, Далее контроллер функционирует в процессе ее выполнения аналогично описанному выше алгоритму,При считывании последней микрокоманды в процессе функционирования контроллера на выходе 33 блока 1 памяти появляется сигнал "Конец работь 1", При поступлении очередного импульса последовательности Т 2 (после окончания выполнения Формула изобретения Программируемый контроллер, содержащий блок памяти микрокоманд, регистры адреса и микрокоманд, генератор импульсов, коммутатор, мультиплексор, первую группу элементов И, элемент ИЛИ - НЕ, причем первая группа информационньх входов коммутатора является группой входов кодов операций контроллера, выходы коммутатора соединены с информационными входами регистра адреса, вь 1 ходы которого соединены с адресными входами блока памяти микрокоманд, выходы немодифицированных разрядов поля адреса которого соединены с второй группой информационных входов коммутатора, выход. модифицируемого разряда поля адреса блока памяти соединен со старшим информационным разрядом мультиплексора, выход которого соединен со старшим разрядом второй группы информационных входов коммутатора, выходы поля микрооперации блока памяти микрокоманд соединены с информационными входами регистра микрокоманд, группа информационных выходов регистра микрокоманд является группой микрооперационных выходов контроллера, первый управляющий выход "Конец команды" поля микроопераций соединен с первым прямым и вторым инверсными управляющими входами коммутатора, группа информационных входов мультиплексора является группой входов логиче 1642446 1010 ских условий контроллера, выход поля "Метка" блока памяти микрокоманд соединен с инверсным управляющим входом регистра микрокоманд, выходы поля управления регистра микрокоманд соединены с входами элемента ИЛИ - НЕ, 1-й выход поля управлений регистра микрокоманд, где = 2,п, соединен с прямым входом )-го элемента И первой группы, где)=1, (И), )-й выход поля управления регистра микрокоманд соединен с О+1)-м инверсным входом 0+1 - 1)-го элемента И первой группы, первый разряд выходов поля управления регистра мик рокоманд и выходы элементов И первой группы являются группой выходов микро- приказов контроллера, о т л и ч а ю щ и й - с я тем, что, с целью сокращения аппаратной избыточности контроллера, в него введены регистр условий, триггеры пуска и блокировки, коммутаторы кодов условий и условий, дешифратор, вторая и третья группы элементов И, первый, второй, третий и четвертый элементы И, причем выходы полей кодов условий и микроопераций блока памяти микрокоманд соединены с информационными входами регистра условий, группы информационных выходов которого соединены с соответствующими группами входов коммутатора кодов условий, группа выходов которого соединена с входами дешифратора, выходы которого соединены с соответствующими управляющими входами коммутатора условий, вь 1- ход которого соединен с первыми входами элементов И второй группы, выходы которых соединены с соответствующими входами вброса регистра мйкрокоманд, первый разряд выходов поля управления которого и выходы элементов И первой группы соединены с соответствующими входами управления коммутатора кодов условий и вторыми входами элементов И вто 15 20 25 30 35 40 рой группы, выходы поля кодов условий блока памяти микрокоманд соединены с соответствующими входами элементов И третьей группы, выходы которых соединены с адресными входами мультиплексора, управляющий выход "Конец работы" поля микроопераций блока памяти соединен с первым входом первого и инверсным входом второго элементов И, выход которого соединен с входом записи регистра адреса, входом установки триггера блокировки и прямым входом четвертого элемента И, выход которого соединен с входом сброса регистра условий, выход поля "Метка" блока памяти микрокоманд соединен с инверсными входами элементов И третьей группы, управляющим входом регистра условий и инверсным входом четвертого элемента И, выход элемента ИЛИ - НЕ соединен с вторыми входами первого и второго элементов И, вход установки триггера пуска является входом пуска контроллера, выход триггера пуска соединен с управляющим входом генератора, первый тактовый выход которого соединен с первым входом второо элемента И и третьим входом первого элемента И, выход которого соединен с входами сброса регистра адреса и триггера пуска, второй тактовый выход генератора соединен с третьими входами элементов И второй группы, первым входом третьего элемента И и синхровходом триггера блокировки, выход которого соединен с вторым входом третьего элемента И выход которого соединен с синхровходами регистров микрокоманд и условий, инверсный вход синхронной установки триггера блокировки в "0" соединенс общей шиной, входы выполнения микроопераций контроллера соединены с соответствующими информационными входами коммутатора условий, 16424461642446 ежнин дакто НТ СССР 1,У Ж каэ 114 ВНИИ Составитель О. ФомичевТехред М.Моргентал Корректор А. ОсауленТираж 489 Подписное осударственного комитета по изобретениям и открытиям п 113035, Москва, Ж, Раушская наб., 4/5

Смотреть

Заявка

4622527, 20.12.1988

ХАРЬКОВСКОЕ ВЫСШЕЕ ВОЕННОЕ КОМАНДНО-ИНЖЕНЕРНОЕ УЧИЛИЩЕ РАКЕТНЫХ ВОЙСК ИМ. МАРШАЛА СОВЕТСКОГО СОЮЗА КРЫЛОВА Н. И

БЛАГОДАРНЫЙ НИКОЛАЙ ПЕТРОВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, СКАПЕНКО АЛЕКСАНДР ВАСИЛЬЕВИЧ

МПК / Метки

МПК: G05B 19/18

Метки: контроллер, программируемый

Опубликовано: 15.04.1991

Код ссылки

<a href="https://patents.su/7-1642446-programmiruemyjj-kontroller.html" target="_blank" rel="follow" title="База патентов СССР">Программируемый контроллер</a>

Похожие патенты