тор 2, содержащий входы 2.1, 2.2 подключения кварцевого резонатора, вход 2.3 синхронизации, выходы первой 2.4 и второй 2.5 фаз, выход сброса 2.6, выход готовности 2.7, выход синхронизации 2.8; системный конт- роллер 3, содержащий выходы/входы данных 3.1, являющиеся шиной данных системы, выходы управления 3.2, являющиеся шиной управления системы; буфер адреса 4, содержащий выходы 4.1, являющиеся шиной адреса системы; дешифратор 5 адреса памяти, содержащий выход 5.1 подключения постоянной памяти и выход 5.2 подключения оперативной памяти; блок 6 постоянной памяти констант, блок 7 оперативной памяти программ и дан- ных.шинный формирователь 8, дешифратор 9 адресов устройств ввода/вывода, содержащий группу выходов 9.1, выходы 9,2, 9.3, 9.4; шинные формирователи 10 ввода/выво- да, пять элементов ИЛИ 11-15, два элемента И 16-17, генератор захвата 18, регистр кода 19, три счетчика 20, 21, 22, триггер 23, шинный формирователь 24, блок 25 логического расширителя, содержащий (фиг.2) вход разрешения 25.1, входы/выходы данных 25.2, вход 25.3 управления вводом, вход 25.4 управления выводом, группу входов 25.5, вход сброса 25.6, первый вход синхронизации 25.7, второй вход синхронизации 25.8; регистр результата 26, группу рэгист- ров настройки 27.1, 27.2, 27,3, три элемента И 28, 29, 30, группу элементов И 31.1-31.п, где п - разрядность обрабатываемых логи- ческих условий, группу элементов сложения по модулю два 32.1-32.П, групповой мультиплексор 33, два элемента ИЛИ 34, 35. шинный формирователь 36, одновибратор 37, регистр 38 внутренних логических условий
вход сброса 39, вход готовности 40, вход 41 запроса прерывания, выход 42 разрешения прерывания, выход ожидания 43, информационные входы 44, информационные выходы 45, группу входов 46.1-46. внешних логических условий.
блок управления предназначен для управления системой с целью решения вычислительных задач.
Системный контроллер 3 предназначен для формирования шины управления системы и для организации двунаправленной передачи данных по шине данных.
Шинные формирователи 8, 10, 24, 36 предназначены для усиления информаци- онных сигналов по шинам, для организации двунаправленной передачи данных, для отключения от информационных шин по входам/выходам.
Буфер адреса 4 предназначен для увеличений нагрузочной способности шины адреса 4.1 и для перевода ее в высокоимпе - дансное состояние по сигналу Подтверждение захвата на выходах управления 1.3, который снимает разрешающий уровень сигнала со входов Е1, Е2.
Шинный формирователь 8 блока оперативной памяти предназначен для увеличения нагрузочной способности шины данных 3.1 и организации подключения памяти к шине данных 3.1 в зависимости от разрешающих сигналов в следующих режимах: а) чтение памяти . Выходные сигналы данных блока оперативной памяти поступают на входы шинного формирователя и с его входов/выходов на шину данных; б) запись в память , . Информация поступаете шины данных на входы/выходы шинного формирователя и с его выходов на входы данных оперативной памяти 6; в) во всех остальных случаях входы/выходы шинного формирователя 8 блока оперативной памяти находятся в высокоимпедансном состоянии и не влияют на шину данных (.
Шинные формирователи 10 ввода/вывода предназначены для увеличения нагрузочной способности шины данных и для а) ввода информации с информационных входов 44 системы б) вывода информации на информационные выходы 45 системы Е1 1, в) во всех остальных случаях входы/выходы шинных формирователей находятся в высокоимпедансном состоянии .
Шинный формирователь 24 предназначен для увеличения нагрузочной способности шины адреса и для подключения выходных сигналов счетчиков 20. 21 к шине адреса 4.1 в режиме прямого доступа в память по разрешающему сигналу подтверждения захвата. В остальных случаях выходы шинного формирователя 24 находятся в высокоимпедансном состоянии и сигналы на выходе счетчиков не влияют на шину адреса.
Дешифратор 5 адреса памяти предназначен для дешифрации по разрешающему сигналу с выхода элемента ИЛИ 11 информации на шине адреса 4,1 для подключения постоянной памяти б (выходом 5.1),либо оперативной памяти 7 (выходом 5.2).
Блок 6 постоянной памяти программ предназначен для хранения неразрушаемых при выключении питания программ и данных, в том числе программ настройки блока 25 логического расширителя, счетчиков 20-22, регистра 19 и триггера 23, а также констант для вычисления систем булевых функций в блоке логического расширителя.
Данные и программы считываются из блока 6 в режиме чтения памяти (при активировании входов разрешения выходами элементов ИЛИ 13, 14) либо в режиме прямого доступа в память.
Блок 7 оперативной памяти предназначен для хранения программ, данных, а также для реализации стэка только во время работы системы.
Режим работы определяется сигналами разрешения и записи: , - запись; , - чтение; - хранение.
Дешифратор 9 устройств ввода/вывода предназначен для дешифрации адреса устройств ввода/вывода (выходы 9.1), для записи информации в счетчик 20 (выход 9.3), в триггер 23 (9.4), в блок логического расширителя (9.2). причем его вход разрешения активируется выходом элемента ИЛИ 12.
Первый элемент ИЛИ И предназначен для управления дешифратором 5 адреса памяти, если на шине управления 3.2 системы имеется один из сигналов: Чтение в память, Запись в память
Второй элемент ИЛИ 12 предназначен для управления дешифратором 9 устройств ввода/вывода, если на шиче управления 3.2 системы имеется один из сигналов Ввод из устройства ввода, Вывод в устройство вывода.
Третий элемент ИЛИ 13 предназначен для управления первым входом разрешения постоянной памяти 6 при активировании выхода 5.1 дешифратора 5, либо при активировании выхода элемента И 16.
Четвертый элемент ИЛИ 14 предназначен для управления вторым входом разрешения постоянной памяти 6 при активировании разряда Прием выходов управления 1.3 микропроцессора 1 либо выхода элемента И 16.
Пятый элемент ИЛИ 15 предназначен для обнуления триггера 23. счетчиков 20, 21 и регистра 19 либо сигналом системного сброса с выхода 2.6 тактового генератора 2, либо сигналом с выхода элемента И 17.
Первый элемент И 16 предназначен для управления генератором и элементами ИЛИ 13, 14 в том случае, если установлен триггер 23, а на выходах управления 1.3 микропроцессора 1 имеется сигнал Подтверждение захвата.
Второй элемент И 17 предназначен для управления сбросом триггера 23, счетчиков 20, 21, регистра 19 по импульсу на выходе 18.3 генератора 18, если активирован выход 22.2 счетчика 22.
Генератор захвата 18 предназначен для синхронизации считывания констант из постоянной памяти 6 в режиме захвата, для синхронизации вычисления значения конъюнкции после считывания соответствующих ей трех констант, а также для контроля окончания массива констант.
Генератор захвата 18 может быть реализован, например, на трех инверторах, рези- сторе, конденсаторе и элементах задержки, по каждому такту формирующих три последовательных импульса чтения (18.1), затем импульс вычислений (18.2), затем импульс контроля окончания массива (18.3).
0 Регистр 19 предназначен для приема с выходов счетчика 22 информации по сигналу 9.3 дешифратора 9. В регистре 19 в процессе захвата хранится код номера обрабатываемых логических условий (46.15 46.I, или внутренние логические условия), а также код текущего состояния для данного обрабатываемого автомата.
Первый счетчик 20 предназначен для приема с шины данных 3.1 системы инфор0 мации настройки по сигналу 9.3 дешифратора 9.
В первом счетчике 20 в процессе захвата хранится и инкрементируется младшая половина адреса 20.1 считываемого в блок 25
5 массива констант. Счетчик 20 увеличивает содержимое на единицу (инкрементирует) по заднему фронту импульса 18.1 генератора 18. При обнулении счетчика 20 он формирует импульс переполнения на выходе 20.2.
0 Второй счетчик 21 предназначен для приема с выходов первого счетчика 20 информации настройки по сигналу 9.3 дешифратора 9.
Во втором счетчике 21 в процессе захва5 та хранится старшая подовина адреса массива констант. Счетчик 21 увеличивает свое содержимое на единицу по импульсу переполнения 20.2 счетчика 20.
Третий счетчик 22 предназначен для
0 приема с выходов счетчика 21 информации настройки. В нем хранится код длины массива констант. Третий счетчик 22 уменьшает свое содержимое на единицу (декременти- руется) по заднему фронту импульсов 18.1
5 генератора 18.
При обнулении счетчика 22 активируется его выход 22.2. После начальной загрузки (настройки) выход 22.2 обнулен.
Триггер 23 предназначен для иницииро0 вания захвата путем записи в него логической единицы по его информационному выходу сигналом на выходе 9.4 дешифратора 9.
Блок 25 логического расширителя
5 (фиг.2) предназначен для вычисления значения булевых функций, описывающих конечный автомат, подлежащий реализации, по константам, считываемым из постоянной памяти 6 по входам/выходам 25.2 импульсами 25.7.
Вычисление производится по синхроимпульсу 25.8. Вычисление в блоке 25 производится от аргументов логических условий 46.1-46.1 или внутренних логических условий, выводимых по входам/выхо- дам 25.2 (25., 25.) при настройке, и аргументов кода текущего внутреннего состояния, являющихся частью входов 25.5. Другая часть входов 25.5 кодирует номер обрабатываемой группы логических уело- вий 46.1-46.1 или внутренних.
Результат из блока 25 считывается по входам/выходам 25.2 (25,, 25.).
Регистр результата 26 предназначен для установки его разрядов активированны- ми разрядами выходов регистра 27.1 по переднему фронту импульса на выходе элемента И 30,
В процессе вычислений однажды установленный разряд регистра 26 остается та- ковым до окончания вычислений - до обнуления с выхода элемента ИЛИ 35. Установленные разряды регистра 25 соответствуют единичным значениям реализуемой системы булевых функций,
Группа регистров настройки 27.1-27.3 предназначена для приема со входов/выходов 25.2 блока 25 по синхроимпульсам 25.7 трех констант, причем (ХО, XD, Z соответствуют О, Т, М), после их считывания в регист- ре 27.1 хранится константа Z - значения булевых функций, соответствующих данной конъюнкции, если она равна 1; в регистре 27.2 - константа XD -дополнительная, имеющая единицы в разрядах неинвертирован- ных переменных и нули в остальных; в регистре 27.3 - константа ХО основная - существенных переменных, имеющая единицы в разрядах существенных переменных и нули в остальных.
Первый элемент И 28 блока логического расширителя предназначен для синхронизации записи в его регистр 38, если активированы входы 25.4 и 25.1 блока 25.
Второй элемент И 29 блока логического расширителя предназначен для управления одновибратором 37 по окончании чтения результата из блока 26, если активированы входы 25.3 и 25.1 блока 25.
Третий элемент И 30 блока логического расширителя предназначен для управления записью в регистр результата 26 по импульсу 25.8 в том случае, если обнулен выход элемента ИЛИ 34,
Группа элементов И 31.1-31.п предназ- начена для формирования информации в разрядах логических условий (в конкатенации с кодом текущего состояния элементов памяти 25.5.2) на выходе мультиплексора 33, являющихся несущественными и имеющих нули в соответствующих разрядах маски (константы) ХО, хранящейся в регистре 27.3.
Группа элементов сложения 32.1-32.2 по модулю два предназначена для формирования вектора совпадения. Если значения существенных логических условий (в конкатенации с кодом текущего внутреннего состояния), выделенные на группе элементов И 31.1-31.п, совпадают с соответствующими разрядами маски константы XD, хранящейся в регистре 27.2, то в соответствующем разряде на выходе соответствующего элемента сложения по модулю два группы элементов 32.1-32.п устанавливается ноль. При несовпадении устанавливается логическая единица.
Мультиплексор 33 предназначен для подключения к группе элементов И 31.1- 31.п одной из групп логических условий 46.1-46.п или с выходов регистра 38 в соответствии с кодом на входах 25.5.1.
Первый элемент ИЛИ 34 блока логического расширителя предназначен для формирования значения конъюнкции. Если на выходах группы 32.1-32.п логические нули, то и на выходе элемента ИЛИ 34 логический ноль, означающий, что конъюнкция равна единице (совпадение по всем разрядам с маской XD).
Второй элемент ИЛИ 36 блока логического расширителя предназначен для обнуления регистра 26 либо сигналом сброса 25,6, либо импульсом одновибратора 37.
Шинный формирователь 35 блока логического расширителя предназначен для обеспечения двунаправленной передачи информации со входов/выходов 25.2. При , информация с входов/выходов 25.2 передается в регистр 38, при , Е - с выходов регистров 26 на входы/выходы 25.2, при выходы шинного формирователя 36 находятся в высокоимпедансном состоянии.
Одновибратор 37 предназначен для обнуления регистра 26 через элемент ИЛИ 35 импульсом, сформированным по заднему фронту импульса на выходе элемента И 29. Одновибратор 37 может быть реализован, например, на стандартной микросхеме 155АГ1.
Регистр 38 внутренних логических условий предназначен для приема информации с выходов шинного формирователя 36 по переднему фронту импульса на выходе элемента И 28 информации внутренних логических условий и хранения ее в процессе вычислений.
Вход сброса 39 предназначен для приема внешнего сигнала сброса..
Вход готовности 40 предназначен для приема внешнего сигнала готовности. Вход запроса, прерывания 41 предназначен для приема сигнала запроса прерывания. Выход 42 разрешения прерывания предназна- чен для выдачи сигнала разрешения прерывания на внешнее оборудование. Выход 43 ожидания поедназначен для выдачи сигнала ожидания на внешнее оборудование. Информационные входы 44 предназна- чены для приема внешних сигналов состояния технологического оборудования. Информационные выходы 45 предназначены для выдачи сигналов управления исполнительными органами технологического оборудования.
1-групп внешних логических условий 46.1-46,1 предназначены для приема дискретных сигналов состояния внешнего оборудования, которые обрабатываются в блоке 25 логического расширителя в процессе введенной дисциплины.
Система программного управления технологическим оборудованием работает следующим образом.
а) О б ы ч н ы и режим работы. Тактовый генератор 2 генерирует две неперекрывающиеся тактовые последовательности, которые с его выходов 2.4,2.5 подаются на входы 1.4, 1.5 микропроцессо- ра 1. Стабильность тактовых последовательностей обеспечивается подключением ко входам 2.1,2.2 кварцевого резонатора. Микропроцессор 1 начинает генерировать выходные сигналы в следующие моменты 1) после подачи сигнала Сброс на его вход 1.6, причем предварительно внешний сигнал Сброс поступает на вход 39 системы, а с его выхода 2.6 - на соответствующий вход микропроцессора 1, 2) после установления уровня логической 1 на входе 40Тотов- ность системы, причем с выхода 2.7 тактового генератора 2 сигнал готовности поступает на вход 1.7 микропроцессора 1. Если же на входе 40 тактового генератора 2 установлен сигнал логического О, то на выходе 43 Ожидание системы устанавливается сигнал лог. 1. Блок управления выдает слово состояния на выходы данных 1.2 по синхросигналу на выходе 1.8, который поступает на вход 2.3 тактового генератора 2 и с выхода 2. 8 тактового генератора 2 стробированный сигнал синхронизации поступает на вход синхронизации системного контроллера 3, который работает по слову состояния и информации на выходах управления 1.3. Блок управления формирует шину управления 3.2 системы. Системный контроллер 3 также формирует шину данных 3.1 системы и обеспечивает двунаправленную
передачу данных по ней. Шину адреса 4.1 системы по адресным сигналам 1.1 микропроцессора 1 формирует буфер адреса 4. Блок управления считывает и выполняет программу, записанную в постоянной памяти 6 или в оперативной памяти 7, при этом дешифратор адреса памяти 5 дешифрирует адрес, выставленный на шине адреса 4.1 системы, если на шине управления 3.2 выставлен один из сигналов Чтение памяти, Запись в память. При этом элемент ИЛИ 11 подает на его разрешающий вход сигнал, и активные уровни сигналов 5.1, 5.2 на выходе дешифратора адреса 5 подключают соответственно либо постоянную память 6 через элемент ИЛИ 14 по первому входу разрешения, либо оперативную память 7 по первому входу разрешения. Для подключения постоянной памяти 6 на ее второй разрешающий вход должен через элемент ИЛ И 13 поступить активный уровень сигнала Прием с выходов управпения 1.3 микропроцессора 1. Тогда выходы постоянной памяти 6 подключаются к шине данных 3.1 и данные считываются в микропроцессор 1 в соответствии с адресом, выставленным на шине адреса 4.1 системы. Для считывания данных из оперативной памяти 7 на ее втором входе записи, который подключен к разряду шины управления 3.2 Запись в память, должен быть сигнал логического О, шинный формирователь 8 памяти по первому и второму разрешающим входам переводится в режим вывода. Данные считываются из оперативной памяти 7 в соответствии с адресными сигналами на адресных входах: с выходов оперативной памяти 7 через шинный формирователь памяти 8 ка шину данных 3.1.
Микропроцессор 1 может записывать данные в оперативную память 7, при этом шинный формирователь 8 памяти переводится в режим ввода данных по второму разрешающему входу, оперативная память 7 переводится в режим записи по второму разрешающему входу и данные с шины данных 3.1, с выхода шинного формирователя 8 поступают на входы данных оперативной памяти 7.
Система вводит данные со своих информационных входов 44 или выводит данные на свои информационные выходы 45. Дешифратор 9 устройств ввода/вывода дешифрирует адрес, выставленный на шине адреса 4.1, если на шине управления 3.2 имеется один из активных уровней сигналов Ввод из устройства ввода, Вывод в устройство вывода, при этом активный уровень сигнала с выхода элемента ИЛИ 12 Јюдается на вход разрешения дешифратора
9. Выходные сигналы 9.1 дешифратора 9 подключают соответствующий шинный формирователь 10 ввода/вывода по первому входу разрешения, второй вход разрешения шинных формирователей 10 переводит их либо в режим ввода, либо в режим вывода. В режиме ввода данные с информационных входов 44 поступают на входы соответствующего шинного формирователя 10, а с его входов/выходов-на шину данных 3.1 системы. В режиме вывода данные с шины данных 3.1 поступают на входы/выходы соответствующего шинного формирователя 10, а с его выходов - на информационные выходы 45 системы.
Микропроцессор 1 можно перевести в режим прерывания подачей сигнала 1 на вход 41, при этом, если прерывания разрешены, формируется сигнал Подтверждение прерывания на выходе 42, Однако данный режим в предлагаемой системе не используется.
б) Реализация конечного а в т о м а т а. В этом режиме микропроцессор 1 подготавливает операции прямого доступа в память. Он обращается к счетчикам 20-22 и регистру 19 как к порту вывода, имеющему фиксированный адрес (см. фиг. 1,3). При этом возбуждается выход 9.3 дешифратора 9 и с шины данных 3.1 в счет- -чик 20 по его информационным входам заносится первое слово настройки. Тот же сигнал синхронизации поступает и на счетчики 21, 22 и регистр 19, но так как предварительно проведено обнуление выходом 2.6 тактового генератора 2, то в счетчики 21, 22 и регистр 19 занесется нулевая информация. Далее по адресу порта, возбуждающему выход 9.3 дешифратора 9, с шины данных в счетчик 20 запишется второе слово настройки, а в счетчик 21 из счетчика 20 занесется первое слово настройки. В счетчик 22 и регистр 19 вновь занесется нулевая информация. Далее аналогично описанному в счетчик 20 запишется третье слово настройки, в счетчик 21 - второе, в счетчик 20 - первое. И, наконец, по четвертому обращению в регистре 19 окажется первое слово настройки, в счетчике 22 - второе, в счетчике 21 - третье, в счетчике 20 - четвертое. В регистре 19 первое слово настройки представляет собой конкатенцию кода номера обрабатываемых логических условий (ЛУ на фиг.З) и текущего внутреннего состояния конечного автомата (Y(t) на фиг.З). В счетчике 22 второе слово представляет собой длину массива констант, с помощью которого вычисляется система булевых функций, описывающих конечный автомат. В счетчике 21 третье слово представляет собой код старшей половины адреса обрабатываемого
массива констант. В счетчике 20 четвертое слово настройки предоставляет собой младшую половину адреса обрабатываемого массива констант.
Далее микропроцессор 1 при необходимости обработать внутренние логические условия (ЛУ на фиг.З) выводит их по шине данных 3.1 в блок 25 логического расширителя через его входы/выходы 25.2. При этом
0 происходит обращение к блоку 25 логического расширителя как к порту вывода с фиксированным адресом и возбуждается выход 9.2 дешифратора 9, возбуждающий вход 25.1 блока 25. Возбуждается также его
5 вход 25.4 (фиг. 1,3).
Микропроцессор 1 инициирует прямой догтуп в память командой вывода логической единицы с разряда шины данных 3.1 по адресу триггера 23 (фиг.З). При этом возбуж0 дается выход 9,4 дешифратора 9, синхронизирующий триггер 23. Выход триггера 23 активирует вход 1.9 захвата микропроцессора 1, который он анализирует после выполнения вывода. Поэтому микропроцессор
5 1 перходит в режим захвата, переводя свои выходы адреса 1.1 и выход данных 1.2 в высокоимпендансное состояние и формируя на разряде Подтверждение захвата выходов управления 1.3 логическую едини0 цу. В связи с этим снимается разрешающий сигнал с буфера адреса 4 и шина адреса 4.1 системы также переводится в высокоимпе- дансное состояние (фиг. 1,4). Сигнал Подтверждение захвата поступает и на
5 системный контроллер 3, поэтому его выходы/входы - шина данных 3.1 и выходы управления - шина управления 3.2 переводится в высокоимпедансное состояние. Шины системы свободны для прямого
0 доступа в память, а микропроцессор 1 приостанавливает внутренние операции выпол- нения команды и переходит в цикл ожидания при захвате. Начинается прямой доступ в память на время считывания кон5 стант в блок 25 логического расширителя и производство вычислений, т.е. монопольный доступ в память.
Так как микропроцессор 1 сформировал сигнал Подтверждение захвата на выхо0 дах 1.3 управления и триггер 23 установлен, то запускается генератор захвата 18, который формирует импульсы на выходах в такой последовательности: три импульса чтения на выходе 18,1, затем импульс стро5 бирования результата вычислений на выходе 18.2, затем импульс проверки окончания массива на выходе 18.3, затем снова три импульса чтения на выходе 18.1 и т.д. По окончании вычислений, если выход 22.2 ну- левого состояния счетчика 22 активирован,
то через элементы И 17, ИЛИ 15 обнуляется триггер 23 и генератор 18 останавливается, не успев сформировать очередные импульсы чтения. При первоначальной записи информации в счетчик 22 активный уровень с выхода 22.2 снимается. При активировании разряда Подтверждение захвата выходов управления 1.3 микропроцессора 1 шинный формирователь 15 подключает к шине адреса 4.1 выходы счетчиков 20, 21 (соответственно к младшим половинам шины адреса 411
С каждым импульсом на выходе 18.1 генератора по переднему его фронту соответствующая константа из постоянной памяти 6, так как оба ее входа разрешения активированы выходом элемента И 16 через элементы ИЛИ 13, 14, записывается в блок 25 логического расширителя по его входам/выходам данных 25.2. Задним фронтом импульса чтения 18.1 изменяется состояние счетчика 20 по его счетному входу, выходы счетчиков 20, 21 адресуют по шине адреса 4.1 (адреса 0, 1,2, ... Ak-a, Ak-1, Ak на фиг.4) очередную константу (DiD2D3...Dk-2,Dk-i,Dk на фиг.4), которая будет записана в блок 24 передним фронтом следующего импульса чтения 18.1. Вначале, когда происходит подключение выходов шинного формирователя 15, адресуется начальная ячейка памяти (О на фиг.З), константы из которой запишутся в блок 25 через некоторое время, необходимое для включения генератора 18 и формирования первого импульса чтения. При этом входы разрешения постоянной памяти 6 постоянно активированы выходом элемента И 16 через элементы ИЛИ 13, 14.
При переполнении счетчика 20 его выход 20.2 активирует счетный вход счетчика 21. Таким образом, в блок 25 считываются три константы из последовательных ячеек памяти. Затем генератор 18 формирует импульс на выходе 18.2, по которому в блоке 25 производится вычисление по первым трем константам. Затем генератор 18 проверяет окончание массива констант, формируя импульс на выходе 18.3. Если массив не закончен, то формируются очередные три импульса чтения и т.д. Если массив закончен, то обнуляется триггер 23, как было описано ранее, снимается сигнал захвата со входа 1.9 микропроцессора 1 и сигнал чтения с постоянной памяти 6.
Микропроцессор 1 возвращается к прерванной циклом ожидания при захвате команде, формирует шины адреса 4.1, данных 3.1 и управления 3.2 и выполняет ввод из блока логического расширителя результата вычислений (фиг.1,4). При этом активируется выход 9.2 дешифратора 9 и вход 25,1
блока 25. Результат вычислений в режиме захвата с выходов/входов 25,2 блока 25 вводится в микропроцессор и в дальнейшем используется программно. 5При записи информации в блок 25 логического расширителя (см. фиг.2,5) информация констант с его входов поступает на информационные входы регистра 27.1. Регистры 27,1, 27.2, 27.3 включены каскадно с
0 общей синхронизацией. Поэтому перемещение информации констант ХО (основной), XD (дополнительной), (выходов) (фиг.5), соответствующих константам D, Т, М, аналогично описанному для случая записи в
5 счетчики 20, 21, 22 и триггер 19, т.е. за три импульса чтения по входу синхронизации 25.7, в регистрах 27.1-27.3 окажется информация соответствующих констант Z, XD, ХО (фиг.2,5).
0 На выходе группового демультиплексо- ра 33 будет установлена информация логических условий, в зависимости от номера на разрядах 25.5.2 входов 25.5 это будут или внутренние логические условия, записан5 ные в регистр 38 при настройке, или одна из групп логических нулей 46.1-46.1. Запись внутренних логических условий происходит в регистр 38 с выходов шинного формирователя 36, кода на входах/выходах данных
0 25.2 установлена необходимая информация и активированы входы 25.1, 25.3 блока 25 При этом происходит передача информации на выходы шинного формирователя 36 и запись ее в регистр 38 по стробу, формиру5 емому элементом И 28.
Вторая часть 25.5.2 входов 25.5 блока 25 представляет собой код текущего внутреннего состояния реализуемого автомата. Конкатенация анализируемых логических
0 условий и текущего внутреннего состояния поступает на вторые входы элементов И группы 31.1-31.п на выходах которой формируется код, имеющий нули в разрядах несущественных для данного автомата пе5 ременных, и любая информация в других разрядах (происходит маскирование логических условий маской ХО, записанной в регистре 27.3 - эквивалентно команде ANDM). Этот код поступает на вторые входы
0 элементов сложения по модулю два 32.1- 32.п (п -разрядность полного слова логических условий). На выходах элементов 32.1-32.п формируются единицы в позициях, соответствующих разрядом полного сло5 ва логических условий, в которых значение переменной не совпадает с заданным словом -- маской XR (эквивалентно команде XRA), т.е. если на выходе элемента ИЛИ 34 логическая единица (фиг.5 для XOi.XDi. Zi), это означает, что вычисляемая конъюнкция
1 (произошло несовпадение хотя бы в одном из существенных разрядов логических условий и маски XD, записанной в регистре 27.2). Поэтому поступающий импульс 25.8 не пройдет через элемент И 30 на вход синхронизации регистра результата 26.
Если же на выходе элемента ИЛИ 34 к моменту поступления импульса 25.8 окажется логический О (конъюнкция равна 1), то по стробу на выходе элемента И 30 в регистре 26 из регистра 27.1 запишется соответствующее значение результата - булевых функций, в которые входит данная конъюнкция (Zi на фиг.5). Если и другая j-я конъюнкция равна единице (ей соответствуют константы XOj, XDj, Zj), то произойдет очередная запись результата в регистр 26 (Zj на фиг.5). Так как регистр 26 - синхронный с S-входами, то запись производится с накоплением - однажды установленный разряд не изменяет своего состояния до обнуления регистра 26 (ZJyZI на фиг.5), т.е. в регистре 26 формируется логическая сумма констант выходов - значение булевых функций, описывающих реализуемый конечный автомат.
После завершения вычислений в режиме прямого доступа в память, как было описано, происходит ввод результата в микропроцессор 1.
Активируется вход 25.3 и 25.1 блока 24. Шинный формирователь 36 подключается соответственно к выходам/входам 25.2 (шины данных) в режиме передачи информации с выходов регистра 26 на выходы/входы 25.2. Результат вычислений вводится в микропроцессор 1.
По заднему фронту импульса на выходе элемента И 29 после операции ввода срабатывает одновибратор 37, который через элемент ИЛИ 35 обнуляет регистр результата 26. Блок логического расширителя готов к последующим вычислениям. Первоначальный сброс регистра 26 осуществляется по входу сброса 25.6 через элемент ИЛИ 35.
Микропроцессор 1 (фиг.1) использует результат вычислений программно. При реализации комбинационного автомата значение булевых функций может непосредственно выводиться на технологическое оборудование по выходам 45.
При реализации последовательного автомата программно выделяется код последующего состояния автомата, которое записывается в- некоторую ячейку памяти, его хранящую, а затем выделяется собственно значение выходных сигналов и может также выводиться на технологическое оборудование.
Если обрабатываются внутренние логические условия (в частности, это может быть
информация с информационных входов 44 системы, предварительно обработанные в микропроцессоре 1), то результат также используется программно - для реализации других алгоритмов (в частности, также могут в дальнейшем формироваться и выводиться управляющие воздействия).
Рассмотрим пример конкретного выполнения предлагаемой системы программ- ного управления на основе микропроцессора 580.
Пусть необходимо формировать автоматные отображения в соответствии с системой булевых функций, описывающих последовательный автомат: Yi(t+1) ХОзХз vXiX2V2(t), Y2(t+1) X3vXoYi(t), Zi XoX3vXiY2(t)Yi(t), Х2 Y2(t).
Получим соответствующие константы ХО, XD. Z.
Допустим, что эта таблица констант записана с начальным адресом 0032008. Исходное состояние Y2(t)Yi(t) равно 012 (0018). Длина массива 18 (100102 022в). Номер логических условий - 2 (002в). так как мультиплексор 33 (фиг.2) передает информацию со входа, номер которого установлен на его адресных входах; при нулевой информации информация передается с выходов регистра 25. Поэтому конкатенация 25.5.1//25.5.2 (фиг.2) . Таким образом, распределенйеУин | 6рмации в счетчиках 20- 22, регистре 19 (фиг.1) после настройки бу- дет соответственно: 200е; ООЗв; 022s; 011а. Допустим, что логические условия ХзХ2Х1Хо, поступающие со входов 46.2 (не указаны на фиг.2) 10002 010e. Очевидно, что с учетом исходного состояния Y2(t)Yi(t) 012 все фун- кции после вычисления равны единице. Действительно, например, после обработки конъюнкции ХоХз 1),X3X2XiXo 0108 ХО011в
А|ЩГ
2LA0108
XDi 0108
В0008 КОНЬЮКЦИЯ %Уз 1
Поэтому в регистр 26 (фиг,2) запишется Zi 005,
Аналогично Хз 1, т.е. в регистре 26 будет Zi vZs 015e.
Аналогично Y2(t) 1, т.е. в регистре 26 будет Zi vZz vZe 005ev0108v 002g 017S , т.е. все четыре функции 1(017$ 00001111 0000Y2(t+1)Yi(t+1)Z2Zi).
Этот результат вводится в микропроцессор 1 (фиг.1). Он программно выделяет
значение Z2Zi маской 003в и выводит на Информационные выходы 45. .Затем программно выделяется значение Y2(t+1)Yi(t+1) маской 014 и записывается в ячейку памяти состояний (например, с символическим именем РАМ), затем выполняется дальнейшая программа.
При необходимости очередного цикла вычислений система работает аналогично: т.е. выводится информация в счетчики 20- 22 и регистр 19. Если необходимо обработать ту же систему функций, изменяется только информация в регистре 19 (в разрядах, касающихся нового внутреннего состояния). При необходимости вычисления другой системы функций (реализация другого конечного автомата) система работает аналогично.
Программа вывода информации в счетчики 20, 21, 22, регистр 19 и вычислений имеет вид:
SMACH:LXIH,TAGL: подготовка к чтению первого слова настройки
LDA RAM: считать код внутреннего состояния Y2(t)Yi(t)
ОНА М: получить конкатенацию номера логических условий и Y2(t)Yi(t)
OUT PORT 7: вывести в счетчик 20
INX Н: подготовка к чтению второго слова настройки
MVl A, M: считать второе слово настройки
OUT PORT 7: вывести второе слово настройки в счетчик 20
INX H: подготовка к-чтению третьего слова настройки
OUT PORT 7: вывести второе слово настройки в счетчик 20
INX H: подготовка к чтению четвертого слова настройки
OUT PORT 7: вывод четвертого слова настройки
MVTA ,601: подготовка к выводу 1 в триггер 23
OUT PORT 6: установить триггер 23 Ожидание при захвате
IN PORT 5: ввод результата из блока 24
MOV В,А; временно хранить результат в В
ANIA, выделить Z2Zi
OUT PORT 4: вывод Z2Zi на выходы 44
MOV А,В: результат в А
ANI А, 014: получить Y2(t+1)Yi(t+1)
RAR: сдвиг вправо
RAR:сдвиг вправо
STA РАМ: записать сдвинутое Y2(t+1)Yi(t+1) в ячейку РАМ
JMPADR: переход в основную программу
Для вычисления другой системы функций используется аналогичная программа с другими значениями TABL (другие слова настройки), другим значением РАМ (номер
ячейки памяти), с другим значением порта вывода на выходы 44, с другими масками выделения Z и Y(t),
Оценим технико-экономическую эффек- тивность предлагаемой системы программного управления технологическим оборудованием.
Ее можно оценить, во-первых, величиной относительного сокращения объема па0 мяти. Технические средства прототипа ориентированы в основном на многоальтернативное ветвление с целью реализации комбинационного автомата. Для этого тре буется П0 2 ячеек памяти, без учета до5 полнительного программного обрамления при допущении достаточности разрядности шины данных для представления выходных сигналов. В данной системе за счет дисциплины аппаратной реализации конечного ав0 томата в данном случае требуется массив констант длиной 3 а, где а - количество конъюнкций в минимизированной системе булевых функций при условии, что не больше разрядности шины данных. Учитывая
5 счетчики 20-22 как три ячейки памяти, а также группу регистров 27.1-27.3, объем памяти предлагаемой системы, реализующей то же автоматное отображение, равен Щ 3 а + 6 (разрядность п не превышает раз0 рядность шины данных системы), Поэтому относительное сокращение затрат памяти в этом случае
П1 За + 6
Система эффективна при n intlog2 (3х х« + 6), где int - ближайшее большее целое число. Это особенно справедливо при больших п, так как в реальных системах управления технологическими процессами с большим числом параметров 2 больше числа конъюнкций а, т.е. 2 а . При п 8, а&4.
Если п больше разрядности шины данных, которую обозначим г, то в предлагаемом устройстве требуется примерно
ЗМ а ячеек (без учета регистров и счетчиков, разрядность группы регистров на- 0 стройки увеличивается также в раз), где
- округление до ближайшего большего целого числа.
Таким образом, объем памяти данного устройства, требуемый для реализации ав- томата, не зависит по показательной функции от величины п.
В данной системе принципиально возможна реализация автомата по логическим условиям, разрядность которых равна разрядности шины адреса при допущении достаточности разрядности шины данных для представления выходных сигналов и равенстве этой разрядности разрядности ши- ны адреса.
Кроме того, в данной системе в отличие от прототипа возможна и реализация автомата, зависящего от логических условий, количество которых намного превышает разрядность шины адреса при условии соответствующей программно-аппаратной декомпозиции логических функций с многократными вычислениями в блоке логического расширителя. Это существенно при реализации последовательного автомата, учитывающего предысторию технологического процесса, что более распространено в практике.
В системе возможна реализация автомата, зависящего от логичесчких условий, сформированных самой системой в результате внутренних операций, а также реализации нескольких автоматов, зависящих от различных логических условий.
Формула изобретения
Система программного управления технологическими процессами, содержащая блок управления, тактовый генератор, системный контроллер, дешифратор адреса памяти, блок оперативной памяти программ и данных, блок постоянной памяти констант, буфер адреса, шинный формирователь блока оперативной памяти программ и данных, дешифратор адреса устройств ввода-вывода, шинные формирователи устройств ввода/вывода, три элемента ИЛИ, два элемента И, триггер, регистр кода текущего состояния и шинный формирователь шины адреса, причем первый и второй входы тактового генератора подключены к кварцевому резонатору, второй и третий входы тактового генератора являются входами Сброс и Готовность системы соответственно, четвертый вход тактового генератора подключен к выходу синхронизации блока управления, первый и второй выходы тактового генератора подключены к первому и второму тактовым входам блока управления соответственно, третий и четвертый выходы тактового генератора подключены ко входам сброса и готовности блока управления соответственно, пятый выход-ко входу синхронизации системного контроллера, к входам/выходам данных которого подключены выходы/входы данных блока управления, к группе входов управления системного контроллера подключена группа выходов управления блока управления выходы/входы данных системного контроллера являются шиной данных системы, группа выходов управления системного контроллера является шиной управления системы, входы/выходы блока постоянной памяти констант, шинного формирователя блока оперативной памя- 5 ти программ и данных и шинных формирователей устройств ввода/вывода подключены к шине данных системы, первый вход разрешения шинного формирователя блока оперативной программ и данных 10 подключен к выходу дешифратора адреса памяти и ко входу разрешения блока оперативной памяти программ и данных, второй вход разрешения шинного формирователя блока оперативной памяти подключен к раз- 15 ряду Прием группы выходов управления блока управления, вход разрешения дешиф- рат -pa адреса памяти подключен к выходу первого элемента ИЛИ, первый и второй входы которого подключены к разрядам 0 Чтение памяти, Запись в память шины управления соответственно, группа выходов шинного формирователя блока оперативной памяти программы и данных подключена к группе входов данных блока
5 оперативной памяти программы и данных, разрядные выходы которого подключены к группе входов шинного формирователя блока оперативной памяти, вход записи блока оперативной памяти программ и данных
0 подключен к разряду Запись в память шины управления, вход разрешения дешифратора адресов устройств ввода/вывода подключен к выходу второго элемента ИЛИ, первый и второй входы которого подключе5 ны к разрядам Ввод из устройства ввода, Вывод в устройство вывода шины управления соответственно, группа выходов дешифратора адресов устройств ввода/вывода подключена к первым входам
0 разрешения шинных формирователей устройств ввода/вывода, вторые входы разрешения которых подключены к разряду Ввод из устройства ввода шины управления, входы шинных формирователей уст5 ройств ввода/вывода являются информационными входами системы, группа выходов шинных формирователей устройств ввода/вывода является группой информационных выходов системы, группа
0 выходов шинного формирователя подключена к шине данных системы, отличающаяся тем, что, с целью сокращения объема памяти и расширения области применения, дополнительно введены генератор захвата,
5 Два элемента ИЛИ, три счетчика импульсов и блок логического расширителя, содержащий одновибратор, регистр результата, группу регистров настройки, три элемента И, группу элементов И, группу элементов сложения по модулю два, группрвой мультиплексор, два элемента ИЛИ, шинный формирователь, одновибратор и регистр внутренних логических условий, причем адресные выходы блока управления подключены ко входам буфера адреса, входы разрешения которого подключены к разряду Подтверждение захвата группы выходов управления блока управления, разрядные выходы буфера адреса являются шиной адреса системы, к которой подключе- ны группы адресных входов блоков постоянной памяти констант и оперативной памяти программ и данных и группы информационных входов дешифратора адреса памяти и адреса устройств ввода/вывода, первый вход разрешения блока постоянной памяти констант подключен к выходу четвертого элемента ИЛИ, первый вход которого подключен к первому выходу дешифратора адреса памяти, а второй вход подключен к выходу первого элемента И, второй вход разрешения блока постоянной памяти констант подключен к выходу третьего элемента ИЛИ, первый вход которого подключен к разряду Прием группы выходов управле- ния блока управления, второй вход подключен ко второму входу четвертого элемента ИЛИ, разряд Подтверждение захвата группы выходов управления блока управления подключен ко входу разрешения шин- ного формирователя и к первому входу первого элемента И, второй вход которого подключен к выходу триггера и входу захвата блока управления, выход пятого элемента ИЛИ подключен ко входам сброса первого и второго счетчиков импульсов, регистра кода текущего состояния и триггера, первый вход пятого элемента ИЛИ подключен к выходу сброса тактового генератора, а второй его вход подключен к выходу второго эле- мента И, выход первого элемента И подключен ко входу тактового генератора, вход данных триггера подключен к разряду шины данных системы, вход синхронизации триггера подключен к третьему выходу дешиф- ратора адресов устройств ввода/вывода, второй выход которого подключен ко входам синхронизации первого, второго и третьего счетчиков импульсов и регистра кода, группа информационных входов первого счетчика импульсов подключена к шине данных системы, группа информационных выходов первого счетчика импульсов подключена к группе информационных входов второго счетчика импульсов и к первой группе информационных входов шинного формирователя шины адреса, информационные выходы второго счетчика импульсов подключены к группе информационных входов третьего счетчика импульсов и ко второй
группе информационных входов шинного формирователя шины адреса, разрядные выходы третьего счетчика импульсов подключены к группе информационных входов регистра кода текущего состояния, разрядные выходы которого подключены к группе информационных входов блока логического расширителя, счетный вход первого счетчика импульсов подключен к первому выходу генератора захвата, вычитающему входу третьего счетчика импульсов и к первому входу синхронизации блока логического расширителя, выход переполнения первого счетчика импульсов подключен к счетному входу второго счетчика импульсов, второй выход генератора захвата подключен ко второму входу синхронизации блока логического расширителя, третий выход генератора захвата подключен к первому входу второго элемента И, второй вход которого подключен к выходу переполнения третьего счетчика импульсов, выход сброса генератора подключен ко входу сброса блока логиче- ского расширителя, первый выход дешифратора адресов устройств ввода/вывода подключен ко входу разрешения блока логического расширителя, а шина данных системы подключена к входам/выходам данных, разряд шины управления Ввод из устройства ввода подключен ко входу управления вводом блока логического расширителя, разряд шины управления системы Вывод в устройство вывода подключен ко входу управления выводом блока логического расширителя, группа входов внешних логических условий системы подключена к второй и последующим соответственно группам входов логических условий блока логического расширителя.вход разрешения которого подключен к первому входу разрешения шинного формирователя блока логического расширителя, к первому входу третьего элемента И блока логического расширителя и к первому входу четвертого элемента И блока логического расширителя, шина данных системы подключена ко входам/выходам группы входов данных блока логического расширителя, которая подключена ко входам/выходам шинного формирователя блока логического расширителя и к группе информационных входов первого регистра регистров настройки группы, вход управления вводом блока логического расширителя подключен ко второму входу разрешения шинного формирователя блока логического расширителя и к первому входу четвертого элемента И блока логического расширителя, вход управления выводом блока логического расширителя подключен ко второму входу третьего элемента И блока
логического расширителя, группы входов внешних логических условий которого подключены ко второй и последующим соответствующим группам выходов группового мультиплексора, первая группа входов ко- торого подключена к выходам регистра внутренних логических условий, группа информационных входов регистра внутренних логических условий подключена к группе выходов шинного формирователя блока ло- гического расширителя, а его вход синхронизации подключен к выходу третьего элемента И блока логического расширителя, выход четвертого элемента И блока логического расширителя подключен ко входу од- новибратора, выход которого подключен к первому входу четвертого элемента ИЛИ блока логического расширителя, выход которого подключен ко входу сброса регистра результата, разрядные выходы которого подключены к соответствующей группе входов шинного формирователя блока логического расширителя, группа входов установки регистра результата подключена к группе выходов первого регистра группы регистров настройки, вход синхронизации регистра результата подключен к выходу пятого элемента И блока логического расширителя, второй инверсный вход которого подключен к выходу пятого элемента ИЛИ
блока логического расширителя, группа выходов третьего регистра группы регистров настройки подключена к группе первых входов соответствующих элементов И группы элементов И, группа вторых входов которых подключена к группе выходов группового мультиплексора, выходы группы элементов И подключены к первой группе входов группы элементов сложения по модулю 2, вторая группа входов которой подключена к группе выходов второго регистра группы регистров настройки, выходы группы элементов сложения по модулю 2 подключены к группе входов пятого элемента ИЛИ блока логического расширителя, а адресные входы группового мультиплексора и группа первых входов блока элементов И соединена с группой информационных входов блока логического расширителя, первый вход синхронизации которого соединен с входом синхронизации группы регистров настройки, второй вход синхронизации - с первым входом пятого элемента И блока логического расширителя, вход сброса - со вторым входом четвертого элемента ИЛИ, вход разрешения - с первым входом разрешения шинного формирователя, с первым входом третьего элемента И и с вторым входом четвертого элемента И.
название | год | авторы | номер документа |
---|---|---|---|
Система программного управления технологическими процессами | 1989 |
|
SU1688229A1 |
Устройство для программного управления технологическим оборудованием | 1989 |
|
SU1714575A1 |
Устройство прерываний микропроцессорной системы | 1988 |
|
SU1621030A1 |
Микропрограммный процессор | 1982 |
|
SU1070557A1 |
Микропроцессорная система для программного управления технологическим оборудованием | 1988 |
|
SU1525678A1 |
СИСТЕМА ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМ ОБОРУДОВАНИЕМ | 1993 |
|
RU2072546C1 |
УСТРОЙСТВО УПРАВЛЕНИЯ ПАМЯТЬЮ | 1993 |
|
RU2037874C1 |
Микропрограммное устройство для ввода-вывода информации | 1983 |
|
SU1144099A1 |
Микропроцессорная система для программного управления технологическими процессами | 1987 |
|
SU1418653A1 |
СИСТЕМА ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКИМ ОБОРУДОВАНИЕМ | 2000 |
|
RU2189623C2 |
Изобретение относится к системам программного управления и может быть использовано в автоматизированных системах для управления технологическим оборудованием, станкам с ЧПУ, роботами, манипуляторами ГСП. Целью изобретения является сокращение объема памяти и расширение области применения системы за счет аппаратной реализации конечного автомата в процессе прямого доступа в память системы. Система программного управлеИзобретение относится к системам программного управления и может быть использовано в автоматизированных системах для управления технологическим оборудованием, станками с ЧПУ, роботами, манипуляторами ГПС и т.д. Целью изобретения является сокращение объема памяти и расширение области применения. На фиг.1 изображена функциональная схема предлагаемой системы программного управления; на фиг.2 - функциональная схема блока логического расширителя; на фиг.З - временная диаграмма настройки системы ния технологическими процессами содержит блок управления, тактовый генератор, системный контроллер, буфер адреса, дешифратор адреса памяти, блок постоянной памяти констант, блок оперативной памяти программ и данных, шинный формирователь блока оперативной памяти, дешифратор адресов устройств ввода/вывода, шинные формирователи устройства ввода/вывода, пять элементов ИЛИ, два элемента И, генератор захвата, регистр, три счетчика импульсов, триггер, шинный формирователь, блок логического расширителя, в состав к-рого входят регистр результата, группа регистров настройки, три элемента И, группа элементов И. группу элементов сложения по модулю 2, групповой мультиплексор, два элемента ИЛИ, шинный формирователь, одновибратор, регистр внутренних логических условий. Новым в системе программного управления является введение первого, второго, третьего счетчиков импульсов, генератора захвата, блока логического расширителя, пятого элемента ИЛИ и их связей 5 ил для аппаратной реализации конечного автомата; на фиг.4 - временная диаграмма инициирования прямого доступа в память и выхода из нее; на фиг,5 - временная диаграмма работы блока логического расширителя. Система программного управления технологическими процессами содержит блок управления,выполненный на микропроцессоре 1 и содержащий выходы адреса 1.1, входы/выходы данных 1.2, выходы управления 1.3, тактовые входы первой 1.4 и второй 1.5 фаз. вход сброса 1.6, вход готовности 1.7, выход синхронизации 1.8; тактовый генерасо с о 00 ю ю vj
xor
XD,
0 9 0 0
0 0
2xAVfc)
Y (t) V
0 0 0 1001
000-0040
0 0 0 0000
0 0 1 0002
ts.e
Фиг. 7
Фиг. 2
Фиг Л
Фиг. 5
Устройство для программного управления | 1986 |
|
SU1423981A1 |
Кипятильник для воды | 1921 |
|
SU5A1 |
Кипятильник для воды | 1921 |
|
SU5A1 |
Авторы
Даты
1991-09-30—Публикация
1989-05-24—Подача