Микропрограммное устройство управления

Реферат

 

Изобретение относится к области автоматики и вычислительной техники и может быть использовано при создании программируемых контроллеров, автоматизированных систем управления технологическим оборудованием и управляющих автоматов. Устройство содержит формирователь 1 кода адреса, осуществляющего выборку адресов блока 3 памяти микрокоманд, программируемый таймер 2, который совместно с коммутатором 5, элементом И 6, D - триггером 7 и ключом 10 обеспечивает перестройку частоты опроса блока 3 памяти, регистр 12, блок 13 согласования и исполнительные механизмы 14-1...14-n. Загрузка блока 3 памяти новыми данными и контроль достоверности их записи осуществляется с помощью ЭВМ 15, выходами подключенная к соответствующим входам устройства. Вывод командной информации из блока 3 памяти производится двумя байтами, первый из которых запоминается регистром 12, а второй транслируется в блок 13 согласования непосредственно с внутренней шины данных Dвн, которая посредством блока ключей 4 на время работы устройства отсоединяется от ЭВМ 15. D-триггер 8 предназначен для передачи в ЭВМ сигнала окончания микропрограммы. Устройство обеспечивает оперативную перестройку микропрограмм управления исполнительными механизмами 14-1...14-n как за счет изменения содержимого блока 3 памяти микрокоманд с последующим контролем достоверности ввода в него новых данных, так и перепрограммирования таймера 2. 1 з.п. ф-лы, 1 табл., 4 ил.

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

Известен микропрограммный "релейный" автомат (Микропроцессорные средства и системы, N1, 1986, с. 78, рис. 8), содержащий генератор тактовых импульсов, микропрограммный счетчик, элемент И, приоритетный шифратор команд, буферный регистр и программируемое постоянное запоминающее устройство (ППЗУ), выходами подключенное к исполнительным устройствам. К недостатку данного автомата следует отнести необходимость использования ППЗУ с большим объемом памяти для запоминания всех необходимых программ управления исполнительными устройствами и сложность его программирования, что ограничивает область применения этого автомата.

Известно микропрограммное устройство управления по а.с. N 1451692 от 05.02.87, кл. G 06 F 9/22, содержащее задающий генератор, триггер, счетный триггер, блоки постоянной и оперативной памяти и буферный регистр. Это устройство может быть использовано в системах автоматизированного управления, в том числе с длительными программными циклами, однако оно не раскрывает возможности оперативной перестройки рабочих программ управления и контроля правильности их загрузки в блоки памяти, что ограничивает область применения данного устройства и является его недостатком.

Наиболее близким по технической сущности к предлагаемому является микропрограммное устройство управления по а.с. N 1524049 от 8.10.87, кл. G 06 F 9/22, взятое за прототип и содержащее блок местного управления, блок памяти микрокоманд, коммутатор адреса, коммутатор условий и регистр микрокоманд, при этом входы логических условий устройства соединены с информационными входами коммутатора условий, управляющий вход которого соединен с выходом кода логических условий регистр микрокоманд, другой выход которого соединен с первым информационным входом коммутатора адреса, второй информационный вход которого соединен с выходом поля старших разрядов адреса регистра микрокоманд, информационный вход которого соединен с выходом полей адреса и микроопераций блока памяти микрокоманд, выход коммутатора условий соединен с первым входом задания режима блока местного управления, первый выход которого соединен с синхровходом регистра микрокоманд, выход поля микроопераций которого является выходом устройства, выход поля младших разрядов адреса регистра микрокоманд соединен с входом младших разрядов адреса блока памяти микрокоманд, выход признака условного перехода которого соединен со вторым входом задания режима блока управления, второй выход которого соединен с управляющим входом коммутатора адреса, выход которого соединен с входом старших разрядов адреса блока памяти микрокоманд, вход начальной установки устройства соединен с одноименными входами блока управления и регистра микрокоманд.

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

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

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

На фиг. 1 приведена функциональная электрическая схема устройства, на фиг. 2 схема блока согласования, на фиг. 3 схема ЭВМ с отображением тех ее основных элементов, которые необходимы для пояснения принципа действия устройства, на фиг. 4 временная диаграмма формирования i-той микрокоманды. Прилагаемая таблица содержит перечень команд и операций, инициируемых ЭВМ при загрузке элементов памяти устройства.

Устройство содержит (фиг. 1) формирователь 1 кода адреса, 3-х канальный программируемый таймер 2, блок 3 памяти микрокоманд, блок 4 ключей, коммутатор 5, элемент И 6, D-триггеры 7, 8, элемент ИЛИ 9, ключи 10 и 11, регистр 12, блок 13 согласования и исполнительные механизмы 14-1.14-n. Поз. 15 на схеме фиг. 1 обозначена ЭВМ, выходами соединенная с соответствующими входами устройства, а одним из своих входов (обозначен индексом ТС) с его выходом окончания микропрограммы.

Формирователь 1 кода адреса может иметь несколько вариантов исполнения. Например, он может быть выполнен на базе многоканального контроллера прямого доступа к памяти либо по схеме, указанной на фиг. 1. В этом случае он содержит два счетчика импульсов 16 и 17, коммутатор 18, элемент ИЛИ 19, регистр 20, преобразователь 21 кодов (ПЗУ) элементы И 22, 23, D-триггер 24 и генератор 25 тактовых импульсов.

Схема блока 13 согласования определяется типом и количеством исполнительных механизмов, управляемых с помощью рассматриваемого устройства. Например, для исполнительных элементов, выполненных в виде катушек индуктивности, в частности электропневмоклапанов, блок 13, включает (фиг. 2) дешифратор 26, триггеры 27-1. 27-n управления по числу исполнительных механизмов и ключи 28-1.28-n.

В состав ЭВМ 15 входят (фиг. 3) микропроцессор 29, блок 30 постоянной памяти, дешифратор 31 кода адреса, одноразрядный буфер 32 и элемент ИЛИ-НЕ 33, причем микропроцессор 29 в упрощенном виде содержит арифметическо-логическое устройство 34, аккумулятор 35, устройство управления 36, дешифратор 37 кода операций, регистр 38 команд, регистры 39 общего назначения (B, C, D, E, H, L), регистр 40 адреса, буфер 41 данных, генератор 42 тактовых импульсов, внутреннюю шину 43 данных и шину 44 адреса. Выход одноразрядного буфера 32 подключен к младшему разряду DO шины данных 43.

Дешифратор 31 предназначен для формирования команд обращения микропроцессора 29 к внешним устройствам, к которым в данном случае относятся блок 30 постоянной памяти, одноразрядный буфер 32 и часть схемных элементов устройства (формирователь 1 кода адреса, программируемый таймер 2 и D-триггер 8). На вход этого дешифратора подключены старшие разряды шины 44 адреса, например, A15, A14 и A13.

Предполагается, что командное слово, содержащее служебную и управляющую информацию, имеет 16-ти разрядную структуру и выводится из блока 3 памяти двумя байтами. Первый из них запоминается регистром 12, а второй поступает в блок 13 согласования непосредственно с шины данных Dвн. При этом один из разрядов командного слова, например Q0, предназначен для управления коммутатором 5, второй (Q1) для запуска 3-го канала программируемого таймера 2 и разряд Q2 для выдачи сигнала об окончании микропрограммы.

Блок 3 имеет несколько разделов памяти, в каждый из которых записывается самостоятельная микропрограмма. Необходимый в данный момент раздел памяти выбирается кодом начального адреса, считываемым из ЭВМ 15 в регистр 20. Первый раздел имеет нулевой начальный адрес.

Устройство работает следующим образом.

В исходном состоянии D-триггеры 7, 8, 24 и счетчики 16, 17 обнулены. Ключи 10, 11 закрыты. На прямом выходе D-триггера 8 сформирован сигнал низкого уровня, который удерживает ключи 4 в замкнутом состоянии, а коммутатор 18 формирователя 1 в положении, разрешающем прохождение импульсных сигналов с выхода ЭВМ 15. Элементы И 6, 23 закрыты. Коммутатор 5 установлен в положении, в котором его выход оказывается подключенным к выходу ОИТО 1-го канала таймера 2. В блок 21 записана программа преобразования входных сигналов, реализующая циклограмму фиг. 4. Триггеры 27-1.27-n блока 13 согласования обнулены, ключи 28 разомкнуты, исполнительные механизмы 14-1.14-n обесточены.

Предварительно программируют таймер 2, при этом предполагается, что его первые два канала будут работать в режиме деления тактовой частоты ft, поступающей на вход синхроимпульсов устройства, а третий канал будет формировать отрицательный импульс напряжения длительностью = Tcqз где Tс период тактовых сигналов, q3 число, загружаемое в счетчик этого канала. Для выполнения операции программирования микропроцессор 29 получает на регистровую пару DE код начального адреса блока 30, начиная с которого в его ячейках памяти хранятся данные, касающиеся настройки таймера 2, а на регистр H код старшей части адреса обращения к выходу ЭВМ 15 (разряды A15, A14 и A13). Затем микропроцессор считывает в регистр B содержимое первой ячейки выбранного массива памяти блока 30 (команды 3 и 4 таблицы 1), на базе которого он организует программный счетчик окончания загрузки таймера 2 и инициирует саму программу ввода в него необходимой информации, состоящей из шести циклов, каждый из которых предусматривает (команды 5.11 таблицы 1): запись в регистр L (разряды A0 и A1 шипы 44) кода регистровой памяти таймера 2, по которому в него будет передан очередной байт служебной информации; вывод из блока 30 байта служебной информации и пересылка его в таймер 2 командой MOVMA; увеличение содержимого регистровой пары DE для выборки адресов блока 30; декрементирование содержимого регистра B и сравнение его оставшейся части с нулевой уставкой.

Первые 3 цикла предназначены для записи в таймер 2 кодов режима работы каждого из его каналов, один цикл для ввода числа q3 и остальные два цикла для записи данных, относящихся к коэффициентам q1, q2 деления частоты 1-го и 2-го каналов. По их окончанию (содержимое регистра B становится равным нулю) микропроцессор 29 приступает к загрузке блока памяти 3. Для этого оно переписывает в регистр H код старшей части адреса обращения к выходу ЭВМ 15 и считывает в регистр 20 код начального адреса загружаемого раздела памяти блока 3 (команды 12, 13 и 14 таблицы). Затем он на базе регистров BC организует программный счетчик окончания этой операции (команды 16, 17) и запускает саму программу загрузки, которая заключается в циклическом считывании содержимого блока 30 на шину данных 43 и записи выводимой информации в блок 3 по адресам, устанавливаемым счетчиком импульсов 17. Причем последний переключается командами , поступающими на его счетный вход через коммутатор 18. При записи в регистр 20 очередного кода начального адреса счетчик 17 возвращается в исходное состояние.

По окончании загрузки блока 3 ЭВМ 15 переводится в режим контроля записанной информации. Для этого она считывает на шину 43 содержимое блока 3 и сравнивает его с данными, хранящимися в ПЗУ 30. Если они полностью совпадают, то подготовка устройства к работе считается законченной.

Запуск необходимой в данный момент времени микропрограммы управления осуществляется от ЭВМ 15 после записи в регистр 20 кода начального адреса соответствующего раздела памяти блока 3 подачей команды . При этом D-триггер 8 переводится в единичное состояние и на его прямом выходе формируется сигнал высокого уровня, организуя следующие переключения схемных элементов устройства: ключи 4 закрываются, отсоединяя шину данных ЭВМ 15 от информационного входа-выхода блока 3; коммутатор 18 подсоединяет c-вход счетчика 17 к выходу Q1 преобразователя кодов 21; элемент И 6 подготавливается к открытию (на его 2-ой и 3-ий входы поступают единичные сигналы); запускаются в работу 1-ый и 2-ой каналы программируемого таймера 2, которые начинают формировать синхроимпульсы с частотой f1 и f2 (f1=fт/q1 и f2= fт/q2).

Импульсные сигналы с выхода ОИТО таймера 2 через коммутатор 5 и элемент И 6 начинают поступать в формирователь 1, где они адресуется на синхронизирующий вход D-триггера 24. По заднему фронту каждого из этих импульсов D-триггер 24 переводится в единичное состояние и открывает элемент И 23, задействуя в работу счетчик 16. Последний считывает содержимое преобразователя кодов 21, формируя на его выходах серию импульсных сигналов (фиг. 4), обеспечивающих вывод из блока 3 одной управляющий команды и пересылку ее в блок 13 согласования. При этом первый байт выводимой информации запоминается регистром 11, а второй байт поступает в блок 13 непосредственно с шины данных Dвн. Последний импульс, возбуждаемый на выход Q5 преобразователя 21, предназначен для переключения в исходное состояние счетчика 16 и D-триггера 24. При поступлении в схему следующего отрицательного импульса напряжения с выхода элемента И 6 цикл формирования этих сигналов повторяется.

Каждая управляющая команда представляет собой двоичный либо десятичный код, обозначающий порядковый номер исполнительного механизма, состояние которого необходимо изменить, и признак ее исполнения (логическая "1" в старшем разряде Q15 указывает на признак Включено, а "0" Выключено). Время ti реализации i-той команды определяется показаниями счетчика 16, а именно: где T1 период следования частотных сигналов f1; Nj содержимое счетчика 17 на момент реализации команды (порядковый номер ячейки памяти блока 3, из которой считана 2-ая часть i-той команды); T время задержки формирования i-той команды (см. фиг. 4).

Командная информация следует на входы дешифратора 26 блока 13, где она преобразуется в импульсный сигнал, возбуждаемый на одном из его выходов (в момент поступления синхроимпульса с выхода Q4 блока 21). Если управляющие команды предназначены, например, для последовательного включения исполнительных механизмов 14-1, 14-2.14-n, то импульсные сигналы поочередно возбуждаются на выходах 1-1, 2-1, 3-1 и т.д. дешифратора 26, переключая в единичное состояние триггеры управления 27-1, 27-2.27-n. При этом открываются ключи 28-1. 28-n и обмотки управления исполнительных механизмов 14-1.14-n подсоединяются к питающей шине UY. Если выводимая из блока 3 серия управляющих команд предназначена для выключения каких-либо исполнительных механизмов, то импульсные сигналы возбуждаются на выходах 1-2, 2-2, 3-2 и т.д. дешифратора 26, обеспечивая соответствующие триггеры управления 27 и ключи 28.

Если дискретность выдачи управляющих воздействий увеличивается, то с целью более рационального использования объема памяти блока 3, частоту заполнения счетчика 17 следует уменьшить. Это достигается включением в работу 2-го канала программируемого таймера 2, а именно: в младший разряд Q0 командного слова записывают единичные сигналы, по которым D-триггер 7 переводится и далее удерживается в единичном состоянии, подсоединяя к первому входу элемента И 6 (с помощью коммутатора 5) выход ОИТ 1 таймера 2. На этом участке техпроцесса текущее время реализации команд определяется по следующему соотношению: где N1 показания счетчика 17 в момент переключения частот f1 и f2.

Единичный сигнал в разряд Q0 вводится на все время формирования частоты f2.

Паузы в формировании управляющих воздействий организуются записью единичных сигналов в разряд Q1 командного кода. В этом случае при формировании импульсного сигнала на последнем выходе преобразователя 21 замыкается ключ 10 и запускается 3-ий канал таймера 2. На его выходе ОИТ2 устанавливается сигнал низкого уровня, который закрывает элемент И 6 и заполнение счетчиков 16, 17 прекращается. Через интервал времени, равный , на выходе ОИТ 2 вновь появляется сигнал высокого уровня и элемент И 6 разблокируется. С учетом вводимых пауз текущее время реализации управляющих команд увеличивается на величину, равную произведению d, где d количество пауз.

Окончание микропрограммы обозначается единичным сигналом в разряде Q2. Через ключ 11 он транслируется на синхронизирующий вход D-триггера 8 и возвращает его в исходное состояние. Ключи 4 и коммутатор 18 переключают устройство в режим приема информации от ЭВМ 15. Одновременно на инверсном выходе D-триггера 8 появляется единичный сигнал, который адресуется на информационный вход одноразового буфера 32 ЭВМ 15. При опросе последнего единичный сигнал считывается в младший разряд D0 шины 43 данных, являясь для микропроцессора 29 однозначным признаком перехода к новой микропрограмме. Она запускается аналогично описанному выше, при этом в момент записи в регистр 20 нового кода начального адреса производится обнуление счетчика 17.

При необходимости в соответствующие разделы памяти блока 3 могут быть записаны новые микропрограммы управления исполнительными механизмами 14-1. 14-n, заранее подготовленные и хранящиеся в блоке постоянной памяти 30. Операция ввода новых данных в блок 3 выполняется после обнуления D-триггера 8 в последовательности, указанной в таблице (команды 12.23).

Таким образом, предлагаемое устройство позволяет оперативно перестраивать микропрограммы управления рабочим объектом, во-первых, за счет изменения содержимого блока 3 памяти с последующим контролем достоверности ввода в него новых данных, и во-вторых, перепрограммирования таймера 2, т.е. выбора новых рабочих частот f1 и f2 и временных интервалов t. Эти технические усовершенствования улучшают эксплуатационные характеристики устройства и расширяют область его применения.

Следует отметить, что во время работы устройства в режиме управления, ЭВМ 15 может быть загружена решением других задач, т.к. с помощью блока ключей 4 и элемента ИЛИ 9 она отключена от его внутренней шины данных Dвн и входа управления записью.

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

Формула изобретения

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

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5