Изобретение относится к вычисли- .гельной технике, предназначено для построения программируемых контроллеров (ПК) и является усовершенствова- нием изобретения по авт.св. № 1453404.
Целью изобретения является повыше-п вне быстродействия.
На фиг. 1 представлена функциональная схема ПК; на фиг.2-5 - схема блока обработки логических условий; на фиг. 6 - временные диаграммы цикла передачи информации в .каналы вывода; на фиг.. 7 - временные диаграммы цикла приема информации с каналов ввода; на фиг.8 - временные диаграммы работы узлов блока обработки логических условий и контроллера; на фи г. 9 - структура рабочей программы (РП), обрабатываемой контроллером; на фиг. 10 - алгоритм обработки РП.
Программируемый контроллер содержит ; (фиг. 1) операционный блок 1, блок 2 па- мяти рабочей программы, блок 3 памяти состояний, первый 4-1 и второй 4-2 блоки памяти управляющих программ, блок 5 обработки логических условий, генера- тор 6 импульсов, формирователь 7 сбро- ;са, триггеры 8 и 9 RS-типа, двоич- ; ;ный счетчик 10, дешифратор 11, ком- :мутатор 12, элементы И 13-15 и элементы ИЛИ 16 и 17.
Генератор 6 импульсов имеет выхо-. ды 18 FO. .19 F1 и 20 F2, при этом выход 18 FO подключен к входу 18 синхронизации блока 5,, выход 19 - к первому тактовому входу операционного, блока 1, выход 20 - к второму тактовому входу операционного блока 1 и к входу 20 синхронизации блока 5. Операционный блок 1 имеет выход 21 призел
о
00 00
J
N3
нака считывания DB, выход 22 признака записи WR, выход 23 начала цикла SYNC .двунаправленные выводы, подключенные к 8-разрядной шине 24 данных DO-D7, адресные выходы 25 АО-Л15. вхо готовности, связанный с инверсным выходом триггера 8, и вход сброса, связанный с выходом элемента ИЛИ 16, Адресные выходы АО-А7 операционного бло ка 1 и выходы А8-А15 коммутатора 12 подключены к шине 26 адреса АО-А15, которая связана с адресными входами блока 2 памяти рабочей программы, с адресными входами блока 3 памяти сое- тояний, с адресными входами перво- го 4-1 и второго 4-2 блоков памяти управляющих программ, а также с адресными входами А8-А15 дешифратора 11 Кроме того, адресные выходы АО, - А8-А13 операционного блока 1 подключены к входам 27 блока 5, а адресные выходы А8-А15 - к первой группе информационных входов коммутатора 12, вторая группа информационных входов ко- торого связана с входом фиксированного кода старших разрядов адреса, т.е. с цепями источника питания контроллера, при этом шестой вход этой
группы подключен к +
35
40
тальные - к входу логического О контроллера.
Выход 21 ЛВ операционного блока 1 подключен к счетному входу счетчика 10, входам считывания блоков 2 иЗ и входу 21 блока 5. Выход 22 IfR операционного блока 1 подключен к входу записи блока 3 и к входу 22 блока 5,. Выход 23 SYNC операционного блока 1 подключен к входу 23 блока 5,
Выход R формирователя 7 сброса подключен к первому входу элемента ИЛИ 16j к входу 28 сброса блока 5, к входу 28 сброса счетчика 10 и к R - входу триггера 9, Второй вход элемента 11ПИ 16 подключен к выходу 29 сброса блока 5.
Блок 5 имеет выход 30 переключения связанный с управляющим входом коммутатора 12, инверсный выход 31 строби- рования (STB) I связанный с S-входом триггера 8, выход 32 готовности (ГТ) связанный с R-входом триггера 8, выход 33 выборки ввода-вывода (ВВР В/В) выход 34 вывода и выход 35 ввода.
Блок 5 имеет двунаправленные вхо-; ды-выходы 36, связанные с шиной 24, и двунаправленные входы-выходы 37, связанные с шиной 38 ЛВО-1 В7. При зтом шина 24 связана с информацион45
55
Q 5 0 5
0
5
0
5
5
ными выходами блоков 4-1 и 4-2, а шина 38 - с информационными входами-выходами блока 3 и информационными выходами блока 2,
Первьй и второй выходы двоичного счетчика 10 связаны через элемент И 12 с S-входом триггера 9, прямой выход которого связан с первым входом элемента И 14. а инверсный выход - с первым входом элемента И 15. Вторые входы элементов И 14 и 15 Подключены к первому выходу дешифратора 11, второй выход которого связан с первым входом элемента ИЛИ 17. Второй вход элемента ИЛИ 1 7 связан с выходом элемента И 15. Выход элемента И 1 4 подключен к - входу считывания 4-1 , выход элемента ИЛИ 17 - к входу считывания блока 4-2. Третий выход дешифратора 11 связан с входом ;выборки/блока 3, а четвертьй выход - с входом выборки блока 2.
Операционный блок 1 представляет собой микропроцессор .и может быть выполнен на микросхеме КР580ИК80А, ко-: торая имеет двунаправленную 8-разрядную шину данных и 16-разрядную шину адреса,
, Коммутатор 12 представляет собой два шинных формиро вателя, например, на микросхемах типа К589ИР12.
Генератор 6 импульсов состоит из кварцевого генератора и делителя частоты и обеспечивает формирование им-, пульсов FO частотой 5 МГц и длительностью 100 НС и импульсов F1 и F2 частотой 1 МГц, сдвинутых относительно друг друга (фиг.З).
Формирователь 7 сброса представля- .ет собой одновибратор, формирующий импульс R при включении питания.
Двоичный счетчик 10 имеет инверсный счетный вход, поэтому информация на его выходах появляется по заднему фронту счетного импульса.
Дешифратор 11 имеет четыре выхода, при этом на -выходах образуются сигналы, когда на шине 26 появляются следующие адреса:
0000 - - для первого выхода;
1000 - 1FFF,g - для второго выхода;
2000 - - для-третьего вьжода;
2100 - 3FFF,g - для четвертого выхода.
В блоке 2 памяти хранятся инструкции РП, последовательность которых воспроизводит ступенчатую электрическую схему управляемого объекта. Каждая инструкция .занимает объем два1 байта в блоке 2, Блок 2 представляет
515098876
собой перепрограммируемое постоян- входами соответствующих элементов ное запоминающее устройство (ППЗУ) И-НЕ ,I
и содержит ряд микросхем памяти типа Входы 97 кода команды связаны це- К573РФ5. Рабочая программа в микрос- . пью АО с первым входом элементна И 55. хемы памяти записывается с помощью 5 цепями А8-А10 - с информационными отдельных средств, которые не входят входами дешифратора 42, цепями А11- в контроллер. Блок 2 адресуется one- А13 - с информационными входами де- рацирнным блоком 1, когда на шине 26 шифратора 40. цепями А8-А10 - с инфор- формируется адрес 2100,g- . Q мационными входами дешифраторов 92
В блоке 3 памяти имеется область, и 93 и с управляющими входами мульти- в которой хранятся биты состояний плексора 82.
каналов вывода, другая область, вСинхровход 98 ДВ связан с первыми
которой хранятся биты состояний кана- входами элементов ИЛИ-НЕ 46, И 54, лов ввода, и третья область, которая И 56-,вторым входом элемента И 55 и используется операционным блоком 1 первым синхровходом узла 81. для своих нужд, например для хране- Синхровход 99 WR связан с вторым кия результатов диагностики и тести- входом элемента ИЛИ-НЕ 46 с первым рования контроллера. Блок 2 представ- входом элемента Н 57. ляет собой оперативное запоминающее 20 Синхровход 100FO связан с тактовым устройство и адресуется операционным входом формирователя 21. Синхровходы блоком 1, когда на шине 26 формирует- lOISYNC и 102F 2 связаны соответствен- ся адрес 2000,g- 20 FF..но с прямым и инверсным входами элеВ блоках 4-1 и 4-2 памяти хранят- И-НЕ 52.
ся команды операционного блока 1, об- 25 g Q R установки связан с R- разующие алгоритм работы контроллера. входом (входом установки в ноль) триг- Каждый блок имеет объем 4 К байт.. гера 43 и R-входом регистра 39. Елок 4-1 выбирается адресами 0000 - Выход элемента ИЛИ-НЕ 46 связан с OFFF{6 блок 4-2 - адресами ЮОО,- С-входом триггера 43, информационный 1FFF ,g. Данные блоки представляют 30 вход которого связан с шиной нулево- собой постоянные запоминающие устрой- го потенциала, а S-вход (вход установ- ства (ПЗУ).ки в единицу) - с синхровходом регистБлок 5 содержит регистр 39, дешиф- ра 39, с выходом -злеме гга И-НЕ 52; раторы 40-42, триггеры 43-45. элемент и с синхровходом 104 STB. Выход ИШ1-НЕ 46, элементы ИЛИ 47-51, эле- 35 триггера 43 связан со стробиру- мент И-НЕ 52, элементы И 53-58, фор- ющим входом дешифратора 40, выходы мирователь 59 импульсов, одновибратор которого связаны цепью 105(НЬ) - с 60, элемент НЕ 61, триггеры 62-65. первыми входами элемента ..ИЛИ 49. и элемент И-НЕ 66, элементы И 67-78, эле- сумматора 83, цепью 106 (-;И) - с менты ИЛИ 79 и 80, узел 81 двунаправ- 40 вторым входом элемента ИЛИ 49, цепью ленной передачи данных, мультиплексор ( -0-) - с первыми входами элементов 82, сумматор 83 по модулю два, элемен- ШИ 50, И 84 и И 87. цепью 108 (-0-) ты И 84-89, элементы -ШИ 90 и 91, де- с вторым входом элемента ИЛИ 50 и с .шефраторы 92 и 93, две группы из вось- первыми входами элементов И 86 и ми элементов И-НЕ и . 45 И 89, цепью 109 (-0-) - с третьим
Информационные входы 96 связаны в входом элемента ИЛИ 50 и с первым вхо- блоке управления цепью DO (нулевым дом элемента И 85, цепью 110 (-J2f-) - разрядом) с первым информационным.вхо- с четвертым входом элемента 11ПИ 50 и дом дешифратора 41, цепью D1 - с пер- с первым входом элемента И 88, цепью вым информационным входом регистра 39 50 111 - с вторым входом элемента И 54 и с- ВТОРЫМ информационным входом де- и с выходом разрешения обменом, шифратора 41, цепью Д2 - с вторым ин- Выход элемента И 54 связан со стро- фомационным входом регистра 39 и с бирующим входом дешефратора 42, пер- первым инверсным входом элемента И 53, вый и второй выходы которого связаны цепями B3-2J5 - с другими инверсными 55 соответственно с S - и R - входами входами элемента И 53, цепями U6 i триггера 44, третий выход связан це- и -Л - с прямыми входами элемента И пью 112 с первым входом элемейта 53. Кроме того, информационные входы- -ИЛИ 80. Выход триггера 44 связан с пер- 96 связаны цепями ЛО-В7 с первыми вым входом элемента И 58.
Первый выход регистра 39 N0 свя- зан цепью 113 с вторым синхровходом узла 81, второй выход STACK - с третьим входом элемента И 55,.Выход эле- мента И 53 связан с третьим информационным входом дещифратора Д1, стробиру- ющий вход которого связан с выходом элемента И 55 и цепью 114 С1 - с первыми входами элементов И 69 и 70. Вы- од элемента ИЛИ 49 связан с ВТОРЫМ входом элемента И 56 и с первым входом элемента ИЛИ 51. Выход элемента ИЛИ 50 связан с вторыми входами элементов И 57 и ИЛИ 51. Выход элемента И.ПИ 51 связан с выходом 115 управления модификацией адреса. Первый выход дешифратора 41 связан с первым входом элемента ИЛИ 47, второй выход - с вторым входом элемента ИЛИ 47 и цепью 116 Начало ветви (НВТ) с первыми входами элементов И-НЕ 66, И 71-76. третий выход - с третьим входом элемента ИЛИ 47 и цепью 1-17 - Конец ветвей (КВТ)
с первыми входами элементов И 77 и 25 связан с С-входом триггера 62.
30
35
40
Выход элемента И 56 связан с вторым входом элемента И 58 , с R-входом триггера 45, с первым входом элемента ИЛИ 48 и цепью 118 С2 - с первым входом элемента И 68. Выход элемента И57 связан с четвертым входом элемента Е1Ш 47 и цепью 119 С4 - с первым входом элемента И 72, Выход элемента ИЛИ 47 связан с вторым входом элемента ИЛИ 48 и с инверсным входом одно- вибратора 60, выход которого связан с выходом 120 сброса. Выход элемента ИЛИ 48 связан с входом.запуска формирователя 59 частоты импульсов, первый выход которого связан цепью 121 ТЗ с вторыми входами элементов И 68 и 69, второй выход - цепью 122 Т4 с вторыми входами элементов И 70 и 72 и через элемент НЕ 61 с С-входом триггера 45. Выход элемента И 58 связан с пятым входом элемента ШИ 47, шес- .той- вход которого связан с выходом триггера 45, Информационный вход триггера 45 связан цепью 123 с выходом триггера 62, с информационным входом триггера 64, с первым входом элемента ИЛИ 79, с вторыми входами элементов И 84, 85, 88 и 89, а также с вторыми инверсными входами элементов И 86 и 87.
Первый вход элемента И 67 связан цепью 124 с выходом сумматора 83, вто- «рой вход - с вьпсодом элемента И 68, а выход - с R, -входом триггера 62.
Выход элемента И 76 связан с С-входом триггера 65. второй R-вход которого связан с выходом элемента И 77 информационный вход - с выходом элемента ИЛИ 79, а выход - с вторым вхо дом элемента ИЛИ 79 и с третьим входом элемента И 78, при этом выход последнего связан с вторым S-входом триггера 62.
Выходы элементов И 84 - 86 связаны через элемент ИЛИ 90 со строби- рующим входом дешифратора 93, выходы элементов И 87-89 связаны через элемент ИЛИ 91 со стробирующим входом дешифратора 92. Восемь инверсных выходов дешифратора 92 связаны с соответствующими вторыми входами группы элементов И-НЕ 94,-94g, выхода которых связаны с соответствующими первыми-входами группы элементов И-Н , вторые входы которых связан с соответствующими инверсными выхода ми дешифратора 93, а выходы - с инфо мационными входами узла 81. Информационные входы-выходы узла 81 связаны 50 с информационными входами-выходами .1 DBO-IIB7, а информационные выходы узла 81 связаны с информационными входами 96 230- Н7 и с информационными вх дами мультиплексора 82, выход которо го связан с вторым входом сумматора
Кроме того, блок 5 содержит элементы И 126-128 и одновибраторы 129 и 130.
55
98878
Выход элемента И 69 связан с вторыми входами элементов И 71, 76 и 78. выход элемента И 70 связан с вторыми входами элементов И-НЕ 66, И 75 и 77. выход элемента И-НЕ 66 связан с С-входом триггера 63., информационный вход которого связан с его инверсным выходом, с первым входом элемента И 73 и с третьим входом элемента И 71, Прямой выход триггера 63 связан с третьими входами элементов И 75 и 76, а R-вход - с R-входом триггера 64, первым R-входом тригге0
5
0
ра 65, первым S-входом триггера 62 и выходом элемента ИЛИ 80, второй . вход которого связан с выходом элемента И 73, а второй вход последнего- с выходом элемента И 72.
Выход элемента И 71 связан с С-входом триггера 64, выход которого связан с вторым входом элемента И 74, а выход последнего - с информационным входом триггера 62. Выход элемента
5 связан с С-входом триггера 62.
0
5
0
Выход элемента И 76 связан с С-входом триггера 65. второй R-вход которого связан с выходом элемента И 77, информационный вход - с выходом элемента ИЛИ 79, а выход - с вторым входом элемента ИЛИ 79 и с третьим входом элемента И 78, при этом выход последнего связан с вторым S-входом триггера 62.
Выходы элементов И 84 - 86 связаны через элемент ИЛИ 90 со строби- рующим входом дешифратора 93, выходы элементов И 87-89 связаны через элемент ИЛИ 91 со стробирующим входом дешифратора 92. Восемь инверсных выходов дешифратора 92 связаны с соответствующими вторыми входами группы элементов И-НЕ 94,-94g, выхода которых связаны с соответствующими первыми-входами группы элементов И-НЕ , вторые входы которых связаны с соответствующими инверсными выходами дешифратора 93, а выходы - с информационными входами узла 81. Информационные входы-выходы узла 81 связаны 50 с информационными входами-выходами .125 DBO-IIB7, а информационные выходы узла 81 связаны с информационными входами 96 230- Н7 и с информационными входами мультиплексора 82, выход которого связан с вторым входом сумматора 83.
Кроме того, блок 5 содержит элементы И 126-128 и одновибраторы 129 и 130.
55
Операционный блок представлеяет со бой микросхему КР580ИК80Л, которая .имеет двунаправленную 8-разрядную шину данных, 16-разрядную шину адреса.
Коммутатор представляет собой два шинных формирователя, например, на микросхемах типа К589ИР12.
Синхроимпульсы О по цепи 100 обеспечивают работу блока 5, а именно образование на выходе формирователя 59 двух импульсов ТЗ и ТА длительность по 100 НС(временная диаграмма работы формирователя 59, на фиг.2).
Синхроимпульсы F 1 и F2 обеспечивают синхронизацию работы операционного блока 1. Кроме того, синхроимпульсы 2 обеспечивают совместно с синхроимпульсами SYNC образование на выходе элемента И-НЕ 52 синхроимпульсов STB.
Синхроимпульсы ЛВ по цепи 98 формируются блоком 1 при считывании информации с шины 24 50-1)7 в блок 1 и активизируют работу узлов для выдачи информации в блок 1.
Синхроимпульсы WR по цепи 99 формируются блоком 1 при вьщаче информации с блока 1 в гаину 24 по цепи 106 и активизируют работу узлов устройства.
Синхроимпульсы SYNC по цепи 101 формируются блоком 1 всякий раз, когда начинается машинньш цикл обработки команды в блоке 1 (фиг,8). Синхроимпульсы SYNC обеспечивают синхронную работу блока 5 с выполнением команд в блоке 1.
Сигнал R по цепи 103 формируется при включении питания и .обеспечивает установку узлов контроллера в исходное состояние.
Сигнал сброса по цепи 120 образуется в блоке 5 по завершении обработки Ю1СТРУКЦИЙ ВХОД, ВЫХОД, ВЕТВЬ. Данный сигнал обеспечивает ускоренный переход блока 1 на обработку следующей инструкции рабочей программы(РП), минуя выход из обработки через подпрограмму перехода.
На выходе 115 блока 5 образуется сигнал управления модификаций адреса, обеспечивающий переключение входов коммутатора 12, что позволяет блоку 1 адресоваться к блоку памяти, если сигнал имеет состояние лог 1, или адресоваться к блоку 2 или 4 памяти, если сигнал имеет состояние лог.О, Синхроимпульсы STB на выходе 31 блока 5 синхронизируют начало работы.
0
5
0
5
0
5
0
5
0
5
а также процесс установки блока 1 в - режим ожидания и выход из него.
Контроллер работает следующим образом.
После включения питан ия формирова- тель 7 формирует импульс R. устанавливающий триггеры 43, 63-65, 9, счетчик 10, регистр 39 и блок 1 в состояние лог. О, При этом в цепи 30 устаг навливается сигнал лог. О.и коммутатор 12 находится в исходном состоянии. На выходе элемента И 56 лог.О, поэтому триггер 45 находится в состоянии лог. О. В цепи 32 лог.О, поэтому на инверсном выходе триггера 8 лог.1, чем обеспечивается разрешение работы блоку 1. Последний формирует на своих адресных выходах код 0000. Данный код передается по шине 26 в дешифратор 11, на первом выходе которого образуется сигнал лог.1. Данный сигнал проходит через открытый триггером 9 элемент И 15, элемент lUlH 17 на вход считывания блока 4-2 памяти. Вследствие этого из первой ячейки блока 4-2 считывается первый байт команды, который поступает по шине 24 в блок 1. Блок 1 также формирует сигнал ОВ, который по цепи 21 поступает на счетный вход счетчика 10. Далее блок 1 формирует адреса 0001,- и 0002,и аналогичным образом считывает два следующих байта команды из блока 4-2. При этом после третьего импульса ИВ на первом и втором выходах счетчика 10 образуется лог 1, благодаря чему на выходе элемента И 13 лог .1 и триггер 9 устанавливается в состояние лог.1. Посредством этого элемент И 15 закрывается, а открывается элемент И 14.
Первой командой, считанной в блок 1 из блока 4-2, является трехбайтовая команда JMP АДК(безусловный п ереход по адресу, указанному в команде), посредством которой блок 1 переходит на подпрограмму очистки блока 3 памяти состояний. В начале выполнения каждой- команды блок 1 на своих информацион- ньЕх выходах устанавливает код слова состояния блока 1 и формирует импульс SYNC в цепи 23. Под действием импульсов SYNC и F2 на выходе элемента И- -НЕ 52 образуется STB, который посту- пате на ,С-вход регистра 39 и в последний записьюаются два первых разряда кода слова состояния блока 1. Когда блок 1 для очистки ячеек блока 3 в шине 26 выставляет адрес 2000,-20 FF,
10
П1509887
а в шине 24 выставляет код 00 и формирует сигнал WR в цепи 22, то на первом выходе регистра 39 сигнал WO (лог,1) и код 00 передается из ши-- ны 24 через входы 96 блока 5, группы элементов И-НЕ 94 и 95 на информационные входы узла 81, Посредством сигналов WO (лог. Ч) и JJB (лог. О) узел 81 передает код 00 на входы-выходы 37 ДЗО-М7. Код 00(6 поступает через шину 38 в блок 3 и под действием сигнала WR по цепи 22 записывается в соответствующую ячейку.
После очистки блока 3 памяти состо-| яний блок 1 переходит на подпрограмму тестирования блока 2 памяти РП на несуществующие инструкции. При этом блок 1 в шину 26 выставляет адрес 3FFFfg и формирует сигнал ДВ ,р в цепи 21, посредством чего с блока 2 в шину 38 поступает байт считываемой информации. Данный байт поступает на входы 125 блока 5. Посредством сигналов WO (лог.О) и ЛВ (лог. Ч) узел 5 81 передает считанный байт с входов 125 на свои выходы 36 DO-J}7. Таким образом, данный байт поступает в шину 24 и далее в блок 1. При поступлении в блок 1 двухбайтовой инструкции РП она сравнивается с инструкция12
STB триггер 43 устанавливается с сос тояние лог .1 и активизирует дешифратор 40. Посредством кода 111 в ши нах А11-А13 на выходе 111 дешифратора 40 образуется сигнал лог. , тогда посредством кода 111 в шинах А8-А10 на выходе элемента И 126 обра зуется сигнал ВБР В/Б (фиг.5), котойи, существующими в контроллере и хра - нящимися в блоке 2 памяти.
Далее блок 1 выполняет подпрограмму; обработки контрольной (тестовой) РП,: а затем подпрограмму обмена информацией с каналами ввода-вывода, причем сначала осуществляется- передача информации (в первом цикле обмена такой информацией являются коды ) из области состояний каналов вывода блока 3 в каналы вывода контроллера, а затем прием информации с каналов ввода контроллера и запись ее в область состояний каналов ввода блока 3.
Каналы ввода-вывода подключаются к шинам 26 и 24 соответственно своими адресными и информационными, ми.
рый активизирует работу каналов выво да и запускает одновибратор 129. На выходе одновибратора 129 образуется импульс.О, который обеспечивает за пуск одновибратора 130 (фиг.6).Также г блок 1 на шине 24 выставляет код передаваемого байта состояний каналов - вывода и формирует сигнал WR в цепи 22. При срабатывании одновибратора 130 на его выходе образуется сигнал ГТ (лог.1). При этом элемен И 127 остается закрытым посредством .лог.О с выхода одновибратора 129. А сигнал ГТ (лог.1) поступает на R-вход триггера 8, вследствие чег.о триггер 8 устанавливается в состоя- ние лог., 1 посредством сигнала STB, приходящего на его S-вход.. На инверсном выходе триггера 8 образуется сигнал лог.О и блок 1 устанавливается в режим ожидания. Такая задержка работы блока 1 необходима для устойчивой передачи информации по шине 24 в удаленные от контроллера выводы. Процесс ожидания определяется временем работы одновибрато- 35 ра 130. Через интервал примерно 6 мкс на выходе одновибратора 129 образует ся лог. 1, посредством чего на выходе элемента И 127 образуется им- - пульс, поступающий на выход 34, тогда через интервал примерно 8 мкс с ; момента срабатывания одновибраторов 129 и 130 на выходе одновибратора 13
30
40
45
образуется лог.О, вследствие чего на инверсном выходе триггера 8 образуется сигнал лог. Ч, разрешающий продолжение работы блоку 1. По заднему фронту сигнала V/R через элемент ИЛИ-НЕ 46 триггер 43 устанавливается в состояние лог. О, закрывается дешифПередача информации в каналы выво- ратор 40 и снимается сигнал ВБР В/Б.
7
12
STB триггер 43 устанавливается с состояние лог .1 и активизирует дешифратор 40. Посредством кода 111 в шинах А11-А13 на выходе 111 дешифратора 40 образуется сигнал лог. , тогда посредством кода 111 в шинах А8-А10 на выходе элемента И 126 образуется сигнал ВБР В/Б (фиг.5), кото
рый активизирует работу каналов вывода и запускает одновибратор 129. На выходе одновибратора 129 образуется импульс.О, который обеспечивает запуск одновибратора 130 (фиг.6).Также блок 1 на шине 24 выставляет код передаваемого байта состояний каналов - вывода и формирует сигнал WR в цепи 22. При срабатывании одновибратора 130 на его выходе образуется сигнал ГТ (лог.1). При этом элемент И 127 остается закрытым посредством .лог.О с выхода одновибратора 129. А сигнал ГТ (лог.1) поступает на R-вход триггера 8, вследствие чег.о триггер 8 устанавливается в состоя- ние лог., 1 посредством сигнала STB, приходящего на его S-вход.. На инверсном выходе триггера 8 образуется сигнал лог.О и блок 1 устанавливается в режим ожидания. Такая задержка работы блока 1 необходима для устойчивой передачи информации по шине 24 в удаленные от контроллера выводы. Процесс ожидания определяется временем работы одновибрато- ра 130. Через интервал примерно 6 мкс на выходе одновибратора 129 образуется лог. 1, посредством чего на выходе элемента И 127 образуется им- - пульс, поступающий на выход 34, тог да через интервал примерно 8 мкс с ; момента срабатывания одновибраторов 129 и 130 на выходе одновибратора 130
образуется лог.О, вследствие чего на инверсном выходе триггера 8 образуется сигнал лог. Ч, разрешающий продолжение работы блоку 1. По заднему фронту сигнала V/R через элемент ИЛИ-НЕ 46 триггер 43 устанавливается в состояние лог. О, закрывается дешифратор 40 и снимается сигнал ВБР В/Б.
название | год | авторы | номер документа |
---|---|---|---|
Программируемый контроллер | 1984 |
|
SU1453404A1 |
Устройство для отладки программно-аппаратных блоков | 1986 |
|
SU1425683A1 |
Однобитовый процессор программируемого контроллера | 1986 |
|
SU1476464A1 |
Устройство для контроля программ | 1987 |
|
SU1418720A1 |
Устройство для сопряжения ЭВМ с объектами управления | 1986 |
|
SU1401469A1 |
Устройство для сбора данных о работе ЭВМ | 1982 |
|
SU1121679A1 |
Устройство для отладки программно-аппаратных блоков | 1986 |
|
SU1363219A1 |
Устройство для обмена информацией | 1982 |
|
SU1084776A1 |
Цифровой измеритель угловой скорости | 1985 |
|
SU1275292A1 |
Устройство для записи информации в оперативную память | 1990 |
|
SU1751811A1 |
Изобретение предназначено для построения программируемых контроллеров. Целью изобретения является повышение быстродействия. Контроллер содержит операционный блок, блок памяти рабочей программы, блок памяти состояний, два блока памяти управляющих программ, блок обработки логических условий, генератор импульсов, формирователь сброса, два триггера, счетчик, дешифратор, коммутатор, три элемента И и два элемента ИЛИ. В блок обработки логических условий введены дешифратор, два триггера, два элемента И, элемент ИЛИ и элемент НЕ. 10 ил., 2 табл.
да осуществляется следующим образом. Блок 1 считывает из соответствующей области блока 3 первый байт состояний каналов вывода, затем на своих адресных шинах 25 выставляет адрес первых восьми каналов вывода, при этом в шинах А8-А13 формирует код 1111112- Под действием сигнала
Затем в каналы вывода передается следующий байт информации и т.д.
Прием информации с каналов ввода осуществляется аналогичным образом, при этом посредством сигнала ДБ на выходе элементта И 128 образуется сигнал ВБОД.
13
После завершения подпрограммы обмена информацией с каналами блок 1 перехбдит на обработку РП. РП строится из последовательности инструкций.
В табл. 1 представлены основные инструкции, обрабатываемые контроллером.
Обработка РП осуществляется двумя этапами, iля этого РП строится из двух частей: М секций программ независимых параллельных процессов, обрабатываемых пошагово, и сканирующей программы, обрабатываемой последовательно от первой инструкции до последней (фиг. 9). Сначала осуществляется обработка инструкций в пошаговых сек- .циях, а затем в сканирующей секции. При этом в каждой пошаговой секции инструкции образуют пошаговую программу, в которой переход на обработку последующей инструкции зависит от результата обработки инструкции группы ВХОД. Если результат обработки инструкции группы ВХОД не может обеспечить (фиг.9, ячейка 1-3) изменение сос- тояния элемента,соответствующего ин-; струкции группы ВЫХОД, расположенной дальше в пошаговой секции (с.фиг.9, ячейка 1-5), то нет необходимости обрабатывать последующие инструкции в данной пошаговой секции (ячейки 1-4 - 1-6), так как состояние исполнительных механизмов управляемого объекта, запрограммированное в данной пошаговой секции, не изменяется. В этом слуггае происходит запоминание адреса обрабатываемой инструкции в данной пошаговой секции (адрес ячейки 1-3 в цикле 1) и переход на обработку инструкций в последующей пошаговой секции. Затем может аналогичным образом произойти переход на обработку инст- рукций последующей пошаговой секции и т.д. до М-й пошаговой секции. При этом всякий раз запоминается адрес инструкции группы ВХОД, с которой произошел переход на обработку инструкций в последующую пошаговую секцию.
После обработки инструкций в М-й пошаговой секции осуществляется переход на обработку РП в сканирующей секции - всех инструкций подряд до инструкции Конец программы. После этого осуществляется обмен информацией с каналами ввода-вывода и переход в первую пошаговую секцию на обработку той инструкции, адрес который был запомнен в предыдущий цикл обработки
Ч 09887 4
(в ячейку 1-3 в цикле 2). Таким обра-;, зом, происходит проскакивание по всем пошаговым секциям, чем обеспечивается пропуск отдельных частей РП, обработка которых не изменила бы состояния управляемого обьекта. При этом, ейли в какой-то пошаговой секции процесс обработки дойдет до инструкции
.Q Конец программы (ячейка П-4 в цикле 2), то в следующий цикл процесс обработки вернется на начало программы данной пошаговой секции (ячейка П-1 в цикле 3).
jr Вйлее подробно процесс обработки
РП осуществляется следующим образом.
Сначала блок 1 программно устанавливает блок 5 в исходное состояние (лог.1) и задает режим пошаговой -Q обработки РП (фиг.10, блок 119). Для этого блок 5 в соответствии с программой Б блоке 4 формирует код 111010 на щинах 97 А8-А13, посредством чего на выходе 111 дешифратора 40 образу- 25 ется сигнал лог.I, а с появлением сигнала UB в цепи 98 открывается элемент И 54, активизируется дешифратор 42 и на его выходе 112 образуется сигнал лог.1, при этом триггеры 63 65 устанавливаются в состояние лог.О ,
а триггер 62 - в состояние лог. 1. По завершении сигнала ЛВ на выходе элемента ИЛИ-НЕ 46 образуется сигнал лог.1, чем обеспечивается установка триггера 43 в состояние лог.О
35 и блокировка дешифраторов 40 и 42. I
После, этого блок 1 программно на шине 97 формирует код 111001,2, вследствие чего на втором выходе дешифра-
тора 42 образуется сигнал лог.1 и
триггер 44 устанавливается в состояние лог.О. Происходит установка блока 5 в режим пошаговой обработки РП. При этом элемент И 58 оказывается закрытым. Далее блок 1 программно в соответствующую область блока 3 памяти записывает начальные адреса каждой пошаго-- вой секции (фиг. 10), а затем перепи- сывает начальный адрес первой пошаго-.
50 вой секции из блока 3 в свой стековый регистр. В самом начале обработки РП р стековый регистр записывается код , соответствующий начальному адресу РП в блоке 2 памяти. Затем по
55 мере обработки инструкций в пошаговых секциях в соответствующих пошаговым секциям ячейках блока 3 памяти изменяются коды адресов.
В табл. 2 приведено изменение адресов четырех пошаговых секций объемом по 100 инструкций каждая при обработке инструкций в соответствии с фиг. 9.
Обработка инструкций РП занимает разное время в зависимости от группы инструкций.
Инструкция группы ВХОД обрабаты- вается за две команды: POP Н (считывание инструкций по адресу, указанному .стековым регистром, и загрузка ее во внутренние Н, L-регистры блока 1; MOV ЕМ (считывание байта из блока 3 памяти по адресу, указанному в L - регистре, и загрузка байта во внутренний А-регистр блока 1), если результат обработки может обеспечить изменение состояния элемента группы ВЫ- ХОД, расположенного дальше в пошаговой секции.
Команда POP Н занимает три первых байта в ячейках блока 4-1 памяти. Считываемая из блока 2 памяти инструкция группы ВХОД поступает через блок 5 в блок 1 .При выполнении команды МО ЕМ блок 1 устанавливает на своих адресных выходах код данной инструкции с Н,Ъ-реги- стров и формирует сигнал ЛВ. Посредством кода на шине 97 в бло- ке 1 осу1чествляется дешифрация кода инструкции, при этом на выходе 105 или 106 дешифратора 42 образуется сигнал лог. Ч, благодаря чему на выходе ИЛИ 51 образуется сигнал лог..1 и, таким образом, коммутатор 1-2 отключает от шины 26 адресные выходы А8- А15 блока 1 и лодключает к шинам А8- А15 первую группу своих входов. Вследствие этого происходит модификация адреса и в шину 26 поступает код 20NN,g, где NN - код в шинах АО-А7, соответствующий адресу байта в блоке 3 памя- ти состояний. Тогда происходит считывание из блока 3 байта, в котором находится бит состояния канала ввода, указанный в данной инструкции РП. Считанный байт поступает через блок 5 в блок 1. Так как на адресных входах 97 А8-А10 блока 5 установлен код, cor ответствующий адресу бита в считанном из блока 3 байте , то в блоке 5 происходит анализ состояния данного бита, т.е. анализ состояния канала ввода, и в зависимости от функции инструкции группы ВХОД производится соответствующая обработка инструкции и запоминани результата обработки, при этом необходимая информация образуется на выходе сумматора 83 по модулю два, а результат запоминается в триггере 62 (в данном случае триггер 62 будет в состояНИИ лог. Ч). При обработке инструкции группы ВХОД образуются .сигналы С2, ТЗ и Т4 (фиг.1), которые поступают в блок 5. По завершении обработки инструкции по заднему фронту импульса Т4 устанавливается в состояние лог. Ч триггер 45, на его выходе образуется сигнал лог.1, благодаря чему срабатывает формирователь 60 и формируется импульс сброса блока 1. При этом блок 1 устанавливается в состояние лог.О, затем устанавливает на своих адресных выходах код 0000,g и происходит обраш,ение к первым ячейкам блока 4-1, в которых записана команда POP Н, которая обуславливает считывание следующей инструкции РП. Триггер 45 устанавливает- ся в состояние лог. О по R - входу Если результат обработки инструкции rpyrftibi ВХОД не может обеспечить изменение состояние соответствующего элемента группы ВЫХОД, то в блоке 5 не произойдет формирование импульса сброса на выходе 120, так как разуль- тат обработки инструкции обеспечил установку триггера 62 в состояние лог,О и триггер 45 не установится в состояние лог. Ч ввиду лог.О на его информационном входе. Тогда блок 1 считывает из блока 4-1 памяти следующие команды: MOVME - запись байта в блок 3 памяти
состояний по адресу, указанному в Ъ регистре;
MOVEL - запись содержимого Ь регист- ра в Е-регистр;
MOVAH - запись содержимого Н-регист- ра в А-регистр;
PLC - сдвиг влево на один разряд; MOVLA - запись содержимого А-регистр в L-регистр;
MVI НОО - запись нулей в Н-регистр PCHL -: загрузка программного счетчик содержимым Н,Ъ-регистров; 0034jjMP безусловный переход н-а обработку инструкции Конец программы i NOP - нет операции;
00383 JMP - безусловный переход на выход из тестовой программы;
00903 J МР - безусловньш переход на подпрограмму выхода из пошаговой секции для инструкции -i ХХХО;
00941 МР - то же, для инструкцийНН XXXI и 41- ХХХ2; 0097 NOP;
00983 JMP - то же , для инструкций 4h ХХХЗ и 41- ХХХ4;
р09СЗлМР - то же, для инструкций-th ХХХ5 и Ч(- ХХХ6;
ООАОЗЖР - тоже, лля инструкций Н1- ХХХ7 и-fl XXXO;
- то же, для инструкций- И- XXXI ХХХ2; OOA73NOP;
- то же, для инструкций- ХХХЗ H-lf ХХХ4; COOABlNOP;
| ООАС1ЖР - то же, для инструкций- ХХХ5 и - ХХХ6;
- то же, для инструкции-J - ХХХ7,
где в ... даны адреса блбка 4-2, XXX - адрес байта в блоке 3 памяти состояний.
Выполнение всех этих команд не изменяет состояния блока 5. При перехо- о 107-110 дешифратора 40 и сигнала
де на команду JMP, которая находится в ячейках блока 4-1 по адресам , - ООВО,ь , блок 1 переходит на подпрограмму запоминания адреса данной инструкции группы ВХОД, что осуществляется записью адреса в соответствующую ячейку блока 3 памяти (табл.2).
Затем блок 1 программно устанавливает блок 5 в исходное .состояние и анализирует, является ли данная пошаговая секция последней в РП. Если данная пошаговая секция не является последней, то блок 1 считывает в свой .стековый регистр из соответствующей ячейки блока 3 памЯти адрес инструкции следующей пошаговой секции,который он запомнила предьщущий цикл обработки.
Если обрабатываемая пошаговая секция является последней в РП, то блок 1 программно устанавливает блок 1 в режим сканирующей обработки.рабочей программы и.записьшает в свой стековый регистр адрес первой инструкции сканирующей программы. Установка бло.- ка 1 в режим сканирующей обработки РП осуществляется посредством кода 111000, формируемого блоком 1 на ши- ,нах 97 А8-А13, посредством которого Ма первом выходе дешифратора 42 об40
результата с выхода 123 триггера 62 появляется сигнал лог.1 на выходе элемента ИПИ 90 (в случае установки бита в состояние лог. 1) или на выходе элемента ИЛИ 91 (в случае установки бита в состояние лог. О) . Данный сигн-ал лог. М активизирует работу одного из дешифраторов 92 или 93. Когда передаваемый из блока 1 в блок 3 байт состояния каналов вывода поступает с шины 96 в шину 125 через группы э лементов И-НЕ 94 и 95, то посредством работы дешифратора 93 происходит установка необходимого бита в состояние лог.1, или посредством работы дешифратора 92 происходит установка данного бита в состояние лог.О.При обработке инструкции группы ВЫХО.Д на , на выхо.це элемента И 57 формируется сигнал С4, также образуются импульсы ТЗ .и Т4,- а по заднему фронту сигнала С4 срабатывает формирователь 60 и происходит сброс блока 1.-
Обработка инструкций группы ВЕТВЬ осуществляется за одну команду POP Н. При выполнении команды POP Н в разряде S2 слова состояния блока 1 лог. Ч поэтому с выхода регистра 39 на вход элемента И 55 поступит сигнал STACK
45
50
55
0
разуется сигнал лог. 1, устанавливающий триггер 44 в состояние лог.1, при этом открывается элемент И 58. В сканирующей программе обработки инструкций группы ВХОД осущ« ствляется всегда за две команды POP Н и MOVEM. Обработка инструкций группы ВЫХОД осуществляется за три команды POP Н, MOVEM и MOVME как в пошаговых, так и в сканирующей программах. Аналогичным образом, из блока 2 памяти РП считывается инструкция, из блока 3 памяти состояний считьшается байт, со- 5 держащий бит состояния канала вывода, соответствующего инструкции. А далее при выполнении команды MOVME ранее считанный блоком 1 байт переписывает- ся через блок 5 обратно в блок 3. При этом в зависимости от результата, накопленного в блоке 5 при обработке предшествующих инструкций данной логической цепи, происходит при необходимости изменение данного бита (установка его в состояние лог.1
0
5
или в лог.о) в байте, пересылаемого через блок 5. При этом блок 1 формирует сигнал WR в цепи 22. Посредством сигнала лог.1 на одном из выхоо 107-110 дешифратора 40 и сигнала
0
результата с выхода 123 триггера 62 появляется сигнал лог.1 на выходе элемента ИПИ 90 (в случае установки бита в состояние лог. 1) или на выходе элемента ИЛИ 91 (в случае установки бита в состояние лог. О) . Данный сигн-ал лог. М активизирует работу одного из дешифраторов 92 или 93. Когда передаваемый из блока 1 в блок 3 байт состояния каналов вывода поступает с шины 96 в шину 125 через группы э лементов И-НЕ 94 и 95, то посредством работы дешифратора 93 происходит установка необходимого бита в состояние лог.1, или посредством работы дешифратора 92 происходит установка данного бита в состояние лог.О.При обработке инструкции группы ВЫХО.Д на , на выхо.це элемента И 57 формируется сигнал С4, также образуются импульсы ТЗ .и Т4,- а по заднему фронту сигнала С4 срабатывает формирователь 60 и происходит сброс блока 1.- .
Обработка инструкций группы ВЕТВЬ осуществляется за одну команду POP Н. При выполнении команды POP Н в разряде S2 слова состояния блока 1 лог. Ч, поэтому с выхода регистра 39 на вход элемента И 55 поступит сигнал STACK
5
0
5
(лог.1). При считывании старшего, байта инструкции РП из блока 2 памяти разряд АО имеет лог. 1, поэтому открывается элемент И 55 и активизируется работа дешифратора 41, при этом на одном из его выходов образуется сигнал лог. Ч, соответствующий обрабатываемой инструкции группы ВЕТВЬ. По заднему фронту сигнала CI срабатывает формирователь 6Q. и происходит сброс блока 1.
Выход на обработку инструкций группы ПЕРЕХОД осуществляется программно: POP Н; PLC; 0034l JMP; MOV ЕМ; MOVLA; 0037 NOP; MOV ME; MVI НОО; to038 JMP. MOV EL; PCHL; MOV AH;
При обработке инструкции Конец . программы в пошаговой секции блок 1 в соответствующую данной пошаговой секции ячейку блока 3 записывает начальны адрес данной пошаговой секции.
При обработке инструкции Конец программы в сканирующей секции блок 1 переходит на подпрограмму обмена информацией с каналами ввода вывода.
Далее процесс обработки РП повто- ряется.
Формула изобретения
Программируемый контроллер по авт. св. W 1А53404, отличающий- с я тем, что, с целью повьшения быстродействия, блок обработки логических
.
о
5
условий дополнительно содержит пятый дешифратор., шестой и седьмой триггеры,, двадцать шестой и двадцать седьмой элементы И, девятый элемент ИЛИ и элемент НЕ,причем информационный вход пятого дешифратора подключен к седьмому входу блока обработки .логических условий, стробирующий вход пятого дешифратора соединен с выходом двадцать шестого элемента И, первый и второй входа которого соединены соответственно с седьмым выходом второго дешифратора и четвертым входом блока обработки логических условий, первый, второй и третий выходы пятого дешифратора соединены соответственно р входами установки в О и 1 шестого триггера и с первым входом первого элемента ЮТИ, выход шестого триггера соединен с первым входом двадцать седьмого элемента И, второй вход которого соединен с выходом пятого элемента И, первым входом девятого элемента ИЛИ и входом установки в О седьмого триггера, синхровход которого соединен с выходом элемента НЕ, вход которого соединен с вторым выходом формирователя импульсов, информационный вход которого соединен с выходом девятого элемента ИЛИ. второй вход которого соединен с выходом шестого элемента ИЛИ, первый и шесто й входы которого соединены соответственно с выходами двадцать седьмого элемента И и выходом седьмого триггера, информационный вход которого соединен с выходом второго триггера.
23
1509887
FO
18
I
ГТГ Pf
24 Таблица 2
Фыд.
фие.5
39 tvRi
jjГ
L 1
8
J3
С
Начало
Задание однобатобопу процессору ретапа по- шаговоа оВраб.отки. РП и устанобка его в исходное состояние
1
Запись 6 6/10к 3 на- ча/1ьных адресоб поша- годш секций
Запись, б шекооыйре- sucmp из ff/iojfa J адреса последующ ей ячейки, пошаговой секции.
Считыбание инструкции РП и ее обработка
Нет
Анализ резу/1ыпата б 6/1оке 5
Нет
Декрепент. стекового регистра
J
Г
( Выход J
Составитель Ю.Ланцов Техред А.Кравчук;
Тираж 668
,Нет.
Злепент ча-
Запись б 6/IOK 3 Hat/a/fb- ного адреса данной пошагодой секции
Запись б 6/IOK3 из сте- кодого регистра адреса инструкции с 3/iefi6HfflOfl HI- t-)
Устанобка В/10ка 5 б исходное состояние
1
/1нализ номера пошаговой секции
Нет
да
Задание В/10ку 5 режи- па сканирующей, обработки
Запись б стекодый регистр начального адреса сканирующей про- epafifibi
С итыдание инструкции РП и ее обработка
Нет
Д&крепент стекобого регистра
J 4 ui,f(7
Корректор Э.Лончакова Подписное
Патент США № 4172289, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Программируемый контроллер | 1984 |
|
SU1453404A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Видоизменение прибора для получения стереоскопических впечатлений от двух изображений различного масштаба | 1919 |
|
SU54A1 |
Авторы
Даты
1989-09-23—Публикация
1985-01-02—Подача