Мультимикроконтроллерная система

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении распределенных систем программного управления, а также подсистем логического управления многоуровневых АСУ. Техническим результатом изобретения является повышение быстродействия системы путем организации параллельного (одновременного) выполнения анализа и передачи групп управляющих сообщений, поступающих на различные входы каждого из ее модулей. Система содержит множество однотипных модулей, объединенных в матричную структуру. Блок анализа каждого модуля содержит три блока памяти сообщений, элемент И, два элемента ИЛИ и кросс-коммутатор, включающий генератор номера модуля, три схемы сравнения, три группы регистров, триггер управления, генератор тактовых импульсов, счетчик, дешифратор, регистр, три коммутатора, три группы элементов И-НЕ, две группы элементов И, два элемента И-ИЛИ, два триггера, блок элементов И, четыре элемента И, три элемента ИЛИ и одновибратор. 2 з.п. ф-лы, 2 табл., 9 ил.

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

Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, мультиплексоры адреса и логических условий, первый и второй регистры логических условий, регистр номера, первый и второй коммутаторы, первый и второй дешифраторы, шифратор, генератор тактовых импульсов, триггеры пуска и управления, демультиплексор, блок элементов ИЛИ, группу элементов ИЛИ, первый и второй элементы ИЛИ, первый и второй элементы И (а.с. 16477519 СССР G 05 B 19/18; опубл. 07.05.91, БИ N 17).

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

Наиболее близким к предлагаемому устройству по технической сущности является распределительная система для программного управления технологическими процессами, включающая m n каналов, каждый из которых содержит блок памяти программ, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, блок анализа, буферный запоминающий блок, блок синхронизации, первый и второй блоки элементов И, элемент И (а.с. 1605212 СССР G 05 B 19/18; опубл. 07.11.90, БИ N 41).

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

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

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

Сущность предлагаемого изобретения заключается в следующем.

Мультимикроконтроллерная система (ММКС) состоит из множества однотипных модулей, объединенных в матричную структуру. Модули системы выполнены в виде СБИС и имеют по два входных и два выходных информационных канала, предназначенных для подключения к другим аналогичным модулям и обмена управляющей информацией. Каждому модулю ММКС присваивается номер (идентификатор) i.j, определяющий его расположение в пределах матричной структуры (где i и j - соответственно номера строки и столбца структуры, содержащих данный модуль, "." - символ конструктивного объединения (конкатенации)).

Множество команд, образующих программы управления, реализуемые системой, включает команды двух типов: операционные (K1) и передачи управления (K2). Команды типа K1 предназначены непосредственно для управления соответствующим объектом (инициирования требуемых операций), а команды типа K2 введены для организации взаимодействия различных модулей при реализации сложных комплексов программ управления. Выполнение команд типа K2 сводится к формированию и выдаче сообщений, обеспечивающих инициацию участков программ, закрепленных за определенными модулями ММКС.

Передача сообщений осуществляется транзитным способом на основе принципа фиксированной маршрутизации. Маршрут (траектория) передачи определяется кодом приемника сообщения k.l, указываемым в его адресной части (где k и l - соответственно номера строки и столбца матричной структуры, содержащих модуль-приемник информации). Первоначально сообщение транслируется по строке матричной структуры (вправо) до совпадения номера столбца j очередного модуля с номером столбца приемника l, далее направление передачи сообщения меняется на ортогональное и оно перемещается по столбцу (вверх) до совпадения номера строки i очередного модуля с номером строки k приемника.

Каждый модуль ММКС осуществляет прием сообщений, поступающих от двух соседних модулей (слева и снизу), и в процессе реализации собственной программы также вырабатывает управляющие сообщения, адресованные другим модулям. Принимаемые и вырабатываемые сообщения включаются в различные входные очереди и в порядке поступления подвергаются анализу, в ходе которого определяются направления их дальнейшей передачи. Выбор направления передачи сообщений производится исходя из соотношения номера текущего модуля i.j с номером приемника сообщения k.l и состоит в формировании кода направления, определяющего выдачу сообщений на один из выходов модуля.

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

Для реализации перечисленных возможностей блок анализа включает кросс-коммутатор.

Управляющие сообщения, поступающие по двум входным каналам от соседних модулей, а также формируемые текущим модулем, размещаются в трех соответствующих блоках памяти сообщений. Кросс-коммутатор производит считывание сообщений из указанных блоков в порядке поступления и осуществляет их одновременный анализ. Анализ поступивших сообщений включает два этапа.

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

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

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

Сущность изобретения поясняется чертежами, где на фиг. 1 изображена функциональная схема модуля мультимикроконтроллерной системы; на фиг. 2 - функциональная схема блока анализа; на фиг. 3 - функциональная схема кросс-коммутатора; на фиг. 4 - функциональная схема буферного запоминающего блока; на фиг. 5 - функциональная схема блока памяти сообщений; на фиг. 6 - функциональная схема блока синхронизации; на фиг. 7 - структурная схема мультимикроконтроллерной системы; на фиг. 8 представлены форматы команд, реализуемых системой; на фиг. 9 - временные диаграммы работы распределителей импульсов прототипа (фиг. 9а) и предлагаемого устройства (фиг. 9б).

Мультимикроконтроллерная система (ММКС) (фиг. 7) состоит из mn однотипных модулей (фиг. 1), объединенных в матричную структуру, где m - число строк, n - число столбцов, причем первый информационный вход (i.j)-го модуля, где подключен к второму информационному выходу (i.j-1)-го модуля, а первый информационный вход (i.1)-го модуля соединен с вторым информационным выходом (i.n)-го модуля, второй информационный вход (k<l)-го модуля, где подключен к первому информационному выходу (k+1. l)-го модуля, а второй информационный вход (m.l)-го модуля соединен с первым информационным выходом (1.l)-го модуля.

Каждый модуль ММКС реализуется в виде СБИС и содержит (фиг. 1) блок 1 памяти программ, блок 2 анализа, буферный запоминающий блок 3, регистр 4 команд, регистр 5 адреса, мультиплексор 6 логических условий, блок 7 синхронизации, коммутатор 8 адреса, блок 9 элементов запрета, блок 10 элементов И, элемент И 11, причем выход коммутатора 8 адреса подключен к информационному входу регистра 5 адреса, выход которого подключен к адресному входу блока 1 памяти программ, выход которого соединен с информационным входом регистра 4 команд, выходы 4.1 кода логического условия (ЛУ) и 4.2 модифицируемого разряда адреса (Ам) которого подключены соответственно к адресному и первому информационному входам мультиплексора 6 логических условий, второй информационный вход которого соединен с входом 17 логических условий модуля, а выход в объединении с выходом 4.3 немодифицируемой части адреса (Ан) регистра 4 команд подключен к первому информационному входу коммутатора 8 адреса, выход 4.4 операционного поля регистра 4 команд соединен с первыми входами блока 9 элементов запрета и блока 10 элементов И, выход блока 9 элементов запрета подключен к операционному выходу 18 модуля, выход блока 10 элементов И в объединении с выходом элемента И 11 подключен к первому входу блока 2 анализа, выход 4.5 метки передачи управления регистра 4 команд соединен с вторыми входами блока 9 элементов запрета и блока 10 элементов И и с первым входом элемента И 11, первый вход блока 7 синхронизации соединен с первым управляющим входом 19 модуля, выход 4.6 метки конца программы регистра 4 команд подключен к входу сдвига буферного запоминающего блока 3, к второму входу блока 7 синхронизации и к управляющим входам коммутатора 8 адреса, первый, второй и третий выходы блока 7 синхронизации соединены соответственно с входом синхронизации регистра 5 адреса, с входом синхронизации регистра 4 команд и с вторым входом элемента И 11, второй и третий входы блока 2 анализа подключены соответственно к первому 12 и второму 13 информационным входам модуля, управляющий выход блока 2 анализа соединен с управляющим входом буферного запоминающего блока 3, выходы блока 2 анализа с первого по третий подключены соответственно к первому информационному входу буферного запоминающего блока 3, к первому 14 и второму 15 информационным выходам модуля, второй информационный вход и информационный выход буферного запоминающего блока 3 соединены соответственно с входом 16 кода операции модуля и с вторым информационным входом коммутатора 8 адреса, управляющий выход буферного запоминающего блока 3 подключен к третьему входу блока 7 синхронизации, четвертый вход которого соединен со вторым 20 управляющим входом модуля.

Блок анализа (фиг. 2) предназначен для приема, временного хранения и определения направлений передачи поступающих сообщений, а также для передачи сообщений в выбранных направлениях и содержит первый 21, второй 22 и третий 23 блоки памяти сообщений (БПС), первый элемент ИЛИ 25, элемент И 26.2, причем информационные входы БПС 21, 22, 23 подключены соответственно к первому, второму и третьему входам блока анализа, выходы состояния БПС 21, 22, 23 соединены с соответствующими входами элемента ИЛИ 25, а также дополнительно введенные второй элемент ИЛИ 26.1 и кросс-коммутатор 24, причем выход элемента ИЛИ 25 соединен с управляющим входом кросс-коммутатора 24, управляющий выход которого подключен к управляющим входам БПС 21-23, информационные выходы которых соединены с первым, вторым и третьим информационными входами кросс-коммутатора 24 соответственно, старшие разряды первого информационного выхода кросс-коммутатора 24 соединены с первым выходом блока анализа и входами элемента ИЛИ 26.1, выход которого соединен с управляющим выходом блока анализа и первым входом элемента И 26.2, второй вход и выход которого подключены соответственно к младшему разряду первого информационного выхода кросс-коммутатора 24 и первому выходу блока анализа, второй и третий выходы которого соединены с вторым и третьим информационными выходами кросс-коммутатора 24 соответственно.

Кросс-коммутатор (фиг. 3) предназначен для анализа поступающих сообщений на предмет установления направления их дальнейшей передачи и для распределения потоков сообщений между различными выходными каналами в зависимости от результатов анализа и содержит генератор 27 номера модуля, первую 28, вторую 29 и третью 30 схемы сравнения, первую 31.1-31.3 (31), вторую 32.1-32.3 (32) и третью 33.1-33.3 (33) группы регистров, генератор 34 тактовых импульсов, триггер 35 управления, счетчик 36, дешифратор 37, регистр 38, первый 39, второй 40 и третий 41 коммутаторы, первую 42.1-42.3, вторую 43.1-43.3 и третью 44.1-44.3 группы элементов И-НЕ, группу элементов запрета 45.1-45.3, группу элементов И 46.1-46.3, первый 47 и второй 48 элементы И-ИЛИ, первый 49 и второй 50 триггеры, блок элементов И 51, первый элемент запрета 52, первый 53 и второй 54 элементы И, второй элемент запрета 55, третий 56, первый 57 и второй 58 элементы ИЛИ и одновибратор 59, причем входы генератора 27 номера модуля являются входами настройки модуля, а выход подключен к первым входам схем сравнения 28-30, вторые входы которых подключены соответственно к первому, второму и третьему информационным входам кросс-коммутатора, первый, второй и третий информационные входы кросс-коммутатора соединены соответственно с информационными входами регистров 31.1, 32.1, 33.1, регистров 31.2, 32.2, 33.2 и регистров 31.3, 32.3, 33.3, управляющий вход кросс-коммутатора подключен к инверсному входу элемента запрета 52 и к входу установки триггера 35 управления, прямой выход которого соединен с входом генератора 34 тактовых импульсов, выход которого подключен к счетному входу счетчика 36 и к управляющему входу (V) дешифратора 37, информационные входы с первого по третий которого соединены с соответствующими выходами счетчика 36, первый, второй и третий выходы схемы сравнения 28 подключены к входам разрешения (V) регистров 31.1, 32.1 и 33.1 соответственно, первый, второй и третий выходы схемы сравнения 29 подключены к входам разрешения (V) регистров 31.2, 32.2 и 33.2 соответственно, первый, второй и третий выходы схемы сравнения 30 подключены к входам разрешения регистров 31.3, 32.3 и 33.3 соответственно, прямые выходы регистров 31.1, 31.2, 31.3 подключены соответственно к третьему, второму и первому информационным входам коммутатора 39, выход которого соединен с первым информационным выходом кросс-коммутатора, прямые выходы регистров 32.1, 32.2, 32.3 подключены соответственно к третьему, второму и первому информационным входам коммутатора 40, выход которого соединен с вторым информационным выходом кросс-коммутатора, прямые выходы регистров 33.1, 33.2, 33.3 подключены соответственно к третьему, второму и первому информационным входам коммутатора 41, выход которого соединен с третьим информационным выходом кросс-коммутатора, инверсные выходы регистров 31.1-31.3, 32.1-32.3, 33.1-33.3 подключены соответственно к входам элементов И-НЕ 42.1-42.3, 43.1-43.3 и 44.1-44.3, выход элемента И-НЕ 42.1 соединен с третьим входом элемента И 46.1, с третьим, шестым и седьмым входами элемента И-ИЛИ 47, а также с третьим, пятым и восьмым входами элемента И-ИЛИ 48, выход элемента И-НЕ 42.2 соединен с прямым входом элемента запрета 45.1, с первым входом элемента И 46.1, с вторым, четвертым и девятым входами элемента И-ИЛИ 47, а также с вторым, шестым и седьмым входами элемента И-ИЛИ 48, выход элемента И-НЕ 42.3 соединен с инверсным входом элемента запрета 45.1, с вторым входом элемента И 46.1, с первым разрядом информационного входа регистра 38, с первым, пятым и восьмым входами элемента И-ИЛИ 47, а также с первым, четвертым и девятым входами элемента И-ИЛИ 48, выход элемента И-НЕ 43.1 соединен с третьим входом элемента И 46.2, с двенадцатым, пятнадцатым и шестнадцатым входами элемента И-ИЛИ 47, а также с двенадцатым, четырнадцатым и семнадцатым входами элемента И-ИЛИ 48, выход элемента И-НЕ 43.2 соединен с прямым входом элемента запрета 45.2, с первым входом элемента И 46.2, с одиннадцатым, тринадцатым и восемнадцатым входами элемента И-ИЛИ 47, а также с одиннадцатым, пятнадцатым и шестнадцатым входами элемента И-ИЛИ 48, выход элемента И-НЕ 43.3 соединен с инверсным входом элемента запрета 45.2, с вторым входом элемента И 46.2, с четвертым разрядом информационного входа регистра 38, с десятым, четырнадцатым и семнадцатым входами элемента И-ИЛИ 47, а также с десятым, тринадцатым и восемнадцатым входами элемента И-ИЛИ 48, выход элемента И-НЕ 44.1 соединен с третьим входом элемента И 46.3, с двадцать первым, двадцать четвертым и двадцать пятым входами элемента И-ИЛИ 47, а также с двадцать первым, двадцать третьим и двадцать шестым входами элемента И-ИЛИ 48, выход элемента И-НЕ 44.2 соединен с прямым входом элемента запрета 45.3, с первым входом элемента И 46.3, с двадцатым, двадцать вторым и двадцать седьмым входами элемента И-ИЛИ 47, а также с двадцатым, двадцать четвертым и двадцать пятым входами элемента И-ИЛИ 48, выход элемента И-НЕ 44.3 соединен с инверсным входом элемента запрета 45.3, с вторым входом элемента И 46.3, с седьмым разрядом информационного входа регистра 38, с девятнадцатым, двадцать третьим и двадцать шестым входами элемента И-ИЛИ 47, а также с девятнадцатым, двадцать вторым и двадцать седьмым входами элемента И-ИЛИ 48, первый выход дешифратора 37 подключен к входам синхронизации регистров 31.1-31.3, 32.1-32.3 и 33.1-33.3, а также к управляющему выходу кросс-коммутатора, второй выход дешифратора 37 подключен к первому входу элемента ИЛИ 57, а также к входам синхронизации триггеров 49 и 50, третий выход дешифратора 37 подключен к первому входу элемента И 53 и к первому входу элемента ИЛИ 58, выход которого соединен с вторым входом блока элементов И 51 и информационными выходами с первого по третий кросс-коммутатора, четвертый выход дешифратора 37 подключен к второму входу элемента ИЛИ 57, пятый выход дешифратора 37 подключен к первому входу элемента И 54 и к второму входу элемента ИЛИ 58, шестой выход дешифратора 37 подключен к третьему входу элемента ИЛИ 57, выход которого соединен с входом синхронизации регистра 38, седьмой выход дешифратора 37 подключен к третьему входу элемента ИЛИ 58, выходы элементов запрета 45.1-45.3 и элементов И 46.1-46.3 подключены соответственно к второму, пятому, восьмому, третьему, шестому и девятому разрядам информационного входа регистра 38, выходы с первого по девятый которого соединены с первом, вторым, третьим управляющими входами коммутатора 39, первым, вторым, третьим управляющими входами коммутатора 40, первым, вторым, третьим управляющими входами коммутатора 41 соответственно и с первым входом блока элементов И 51, разряды выхода которого с первого по девятый подключены к входам сброса регистров 31.3, 31.2, 31.1, 32.3, 32.2, 32.1, 33.3, 33.2 и 33.1 соответственно, выход элемента И-ИЛИ 48 подключены к информационному (D) входу триггера 49, а также к инверсному входу элемента запрета 55, второй вход которого соединен с выходом элемента И-ИЛИ 47, а выход подключен к информационному (D) входу триггера 50, прямые выходы триггеров 49 и 50 подключены соответственно к вторым входам элементов И 54 и 53, выходы элементов И 53 и 54 соединены соответственно с первым и вторым входами элемента ИЛИ 56, третий вход которого подключен к седьмому выходу дешифратора 37, выход элемента ИЛИ 56 соединен с входом одновибратора 59, выход которого подключен к входу установки (S) счетчика 36 и к прямому входу элемента запрета 52, выход которого подключен к входу сброса (R) триггера 35 управления.

Буферный запоминающий блок (БЗБ) (фиг. 4) предназначен для приема, временного хранения и выдачи управляющих сообщений в порядке их поступления и включает коммутатор 60, демультиплексор 61, группу регистров 62.1-62.N (где N - максимальная длина очереди сообщений), группу блоков элементов ИЛИ 63.1-63. N-1, первую 64.1-64.N и вторую 65.1-65.N группы элементов И, группу элементов ИЛИ 66.1-66. N, элемент ИЛИ 67, элемент И 68 и одновибратор 69, причем выход коммутатора 60 соединен с информационным входом демультиплексора 61, N-й выход которого подключен к информационному входу регистра 62.N, а выходы с первого по (N-1)-й соединены с вторыми входами блоков элементов ИЛИ 63.1-63.N-1 соответственно, первые входы которых подключены к прямым выходам регистров 62.2-62.N соответственно, а выходы соединены с информационными входами регистров 62.1-62.N-1 соответственно, инверсные выходы регистров 62.1-62. N подключены к входам элементов И 64.1-64.N соответственно, выходы которых соединены с адресным входом демультиплексора 61, с входами элемента И 68, а также с первыми входами элементов И 65.1-65.N соответственно, вторые входы которых подключены к выходу элемента ИЛИ 67, а выходы - к первым входам элементов ИЛИ 66.1-66.N соответственно, выходы которых соединены с входами синхронизации регистров 62.1-62.N соответственно, управляющий вход БЗБ подключен к управляющему входу коммутатора 60, первый информационный вход которого в объединении с первым входом элемента ИЛИ 67 подключен к первому информационному входу БЗБ, а второй информационный вход в объединении с вторым входом элемента ИЛИ 67 - к второму информационному входу БЗБ, вход сдвига которого соединен с входом одновибратора 69, выход которого подключен к вторым входам элементов ИЛИ 66.1-66.N, а также к управляющему входу демультиплексора 61, прямой выход регистра 62.1 и выход элемента И 68 подключены соответственно к информационному выходу и управляющему выходу БЗБ.

Блок памяти сообщений (БПС) (фиг. 5) аналогично БЗБ предназначен для приема, временного хранения и выдачи управляющих сообщений в порядке их поступления и содержит демультиплексор 70, регистры 71.7-71.L (где L - максимальная длина очереди сообщений), группу блоков элементов ИЛИ 72.1-72.L-1, первую 73.1-73.L и вторую 74.1-74.L группы элементов И, группу элементов ИЛИ 75.1-75.L, элемент И-НЕ 76, причем L-й выход демультиплексора 70 подключен к информационному входу регистра 71.L, выходы демультиплексора 70 с первого по (L-1)-й соединены с вторыми входами блоков элементов ИЛИ 72.1-72.L-1 соответственно, первые входы которых подключены соответственно к прямым выходам регистров 71.2-71. L, а выходы - к информационным входам регистров 71.1-71. L-1 соответственно, инверсные выходы регистров 71.1-71.L соединены с входами элементов И 73.1-73.L соответственно, выходы которых подключены к адресному входу демультиплексора 70, к входам элемента И-НЕ 76, а также к первым входам элементов И 74.1-74.L соответственно, выходы которых подключены к первым входам элементов ИЛИ 75.1-75.L соответственно, выходы которых соединены с входами синхронизации регистров 71.1-71. L соответственно, информационный вход БПС подключен к информационному входу демультиплексора 70, а прямой выход регистра 71.1 и выход элемента И-НЕ 76 подключены соответственно к информационному выходу БПС и выходу состояния БПС, управляющий вход которого дополнительно соединен с управляющим входом демультиплексора 70 и с вторым входами элементов ИЛИ 75.1-75.L, а вторые входы элементов И 74.1-74.L соединены с информационным входом блока памяти сообщений.

Блок синхронизации (фиг. 6) обеспечивает формирование трех непересекающихся во времени импульсных последовательностей, синхронизирующих работу модуля ММКС, и включает триггер 77 управления, генератор 78 импульсов, счетчик 79, дешифратор 80, элемент И 81 и элемент ИЛИ 82, причем первый вход блока синхронизации подключен к входу установки триггера 77 управления, прямой выход которого соединен с входом генератора 78 импульсов, выход которого подключен к входу счетчика 79 и к управляющему входу (V) дешифратора 80, информационные входы которого подключены к соответствующим выходам счетчика 79, а выходы с первого по третий соединены с соответствующими выходами блока синхронизации, второй и третий входы которого подключены к входам элемента И 81, выход которого соединен с первым входом элемента ИЛИ 82, второй вход которого подключен к четвертому входу блока синхронизации, а выход соединен с входом сброса триггера 77 управления.

Назначение основных элементов кросс-коммутатора (фиг. 3) состоит в следующем.

Генератор 27 номера модуля предназначен для формирования кода логического номера i.j, определяющего расположение соответствующего модуля в пределах матричной структуры ММКС.

Регистры 31. t, 32.t, 33.t, t=1, 2, 3 предназначены для приема, временного размещения и выдачи сообщений, поступающих на различные входы кросс-коммутатора.

Схема сравнения 28 (29, 30) служит для формирования унитарного кода, определяющего направление передачи сообщений, поступающих с первого (второго, третьего) информационного входа кросс-коммутатора, и управляющего записью сообщений в регистры 31.1, 32.1, 33.1 (31.2, 32.2, 33.2; 31.3, 32.3, 33.3).

Элементы И-НЕ 42.1, 42.2 и 42.3 (43.1, 43.2 и 43.3; 44.1, 44.2 и 44.3) предназначены для формирования сигналов, характеризующих состояние регистров 31.1, 31.2 и 31.3 (32.1, 32.2 и 32.3; 33.1, 33.2 и 33.3) соответственно.

Коммутатор 39 (40, 41) служит для передачи сообщений с выходов регистров 31. t, (32.t, 33.t), t=1, 2, 3 на первый (второй, третий) информационный выход кросс-коммутатора в соответствии с кодом на его управляющих входах.

Элементы запрета 45.k, элементы И 46.k, k= 1, 2, 3, ИЛИ 57, регистр 38 и блок элементов И 51 предназначены для формирования и выдачи кода управления коммутаторами 39-41 и управления сбросом регистров 31.t, 32.t, 33.t, t=1, 2, 3.

Генератор 34 импульсов, триггер 35 управления, кольцевой счетчик 36, дешифратор 37, элемент И 52 и элемент ИЛИ 58 предназначены для синхронизации работы различных узлов кросс-коммутатора и передачи управляющих сообщений на выходы устройства.

Элементы И-ИЛИ 47,48 предназначены для формирования сигналов, характеризующих способ размещения групп поступающих сообщений в регистрах 31.t, 32. t, 33.t, t=1,2,3, и в объединении с триггерами 49, 50, элементами И 53, 54, запрета 55, ИЛИ 56 и одновибратором 59 служат для управления длительностью такта работы кросс-коммутатора.

Учитывая идентичность модулей, работу мультимикроконтроллерной системы рассмотрим на примере функционирования одного из модулей, например модуля с номером i.j.

Первоначально регистр 5 адреса и все разряды регистра 4 команд, за исключением разряда 4.6 метки конца программы, установленного в единичное состояние, находятся в состоянии логического нуля, а в ячейках блока 1 памяти программ с ненулевыми адресами размещаются команды участков программ, закрепленных за (i.j)-м модулем. Все регистры и триггеры, входящие в блоки 21-23 памяти сообщений, буферный запоминающий блок 3 и блок 7 синхронизации, также приведены в нулевое состояние, а счетчик 79 установлен в состояние "11" (цепи начальной установки на фиг. 1-6 для упрощения условно не показаны). Исходное состояние элементов кросс-коммутатора 24 (фиг. 2,3) рассматривается ниже.

Код операции (КОП), определяющий номер (тип) выполняемой операции и представляющий собой адрес первой команды соответствующей программы, формируется устройством управления верхнего уровня (УУВУ), в сопровождении импульса синхронизации подается на вход 16 кода операции модуля и поступает на второй информационный вход буферного запоминающего блока (БЗБ) 3 (фиг. 1,4). Далее КОП передается на второй информационный вход коммутатора 60 и, так как на его управляющем входе присутствует сигнал логического нуля, поступает на информационный вход демультиплексора 61. Так как все регистры 62.1-62.N установлены в нулевое состояние и на их инверсных выходах присутствуют единичные сигналы, на выходах элементов И 64.1-64.N также появляются сигналы логической единицы, которые, во-первых, обусловливают образование единичного сигнала на выходе элемента И 68, а во-вторых, поступают на адресный вход демультиплексора 61 и, так как на его управляющем входе присутствует сигнал логического нуля, обеспечивают передачу КОП с его информационного входа на первый выход. С первого выхода демультиплексора 61 КОП через блок элементов ИЛИ 63.1 поступает на информационный вход регистра 62.1.

Одновременно импульс синхронизации с второго информационного входа БЗБ поступает на второй вход элемента ИЛИ 67, проходит на его выход и через элементы И 65.1-65.N, на первых входах которых присутствуют единичные сигналы, а также элементы ИЛИ 66.1-66.N передается на входы синхронизации регистров 62.1-62. N. По переднему фронту данного импульса КОП фиксируется в регистре 62.1 и появляется на информационном выходе БЗБ; состояние остальных регистров не изменяется, так как на их информационных входах находятся нулевые коды. Так как КОП содержит по меньшей мере одну единицу, на выходе элемента И 64.1 образуется сигнал логического нуля, который блокирует элемент И 65.1, а также совместно с единичными сигналами с выходов элементов И 64.2-64.N поступает на адресный вход демультиплексора 61 и предопределяет запись очередного КОП или сообщения с первого информационного входа БЗБ в регистр 62.2. В дальнейшем запись сообщений в регистры БЗБ осуществляется аналогично.

Код 11...10 с выходов элементов И 64.1-64.N поступает на входы элемента И 68 и формирует на его выходе сигнал логического нуля. Данный сигнал передается на управляющий выход БЗБ и индицирует наличие поступивших сообщений или КОП. КОП с информационного выхода БЗБ поступает на второй информационный вход коммутатора 8 адреса (фиг. 1) и, так как на его управляющих входах присутствует единичный сигнал с выхода 4.6 метки конца программы регистра 4 команд, передается на информационный вход регистра 5 адреса.

Одновременно УУВУ вырабатывает импульс "Пуск", который подается на вход 19 модуля, поступает на первый вход блока 7 синхронизации (фиг. 6), передается на вход установки (S) триггера 77 и переключает его в единичное состояние. Единичный сигнал с прямого выхода триггера 77 включает генератор импульсов 78, на выходе которого начинается формирование импульсной последовательности T. Импульс T с выхода генератора 78 поступает на счетный вход счетчика 79 и управляющий вход (V) дешифратора 80 и обеспечивает переключение счетчика 79 (являющегося кольцевым с коэффициентом пересчета - 3) в следующее состояние. Сигналы, определяющие состояние счетчика 79, с его выходов подаются на соответствующие информационные входы дешифратора 80 и обеспечивают возбуждение единичного уровня сигнала на его соответствующем выходе. Длительность сигналов на выходах дешифратора 80 ограничивается временем наличия единичного уровня сигнала на его управляющем входе, т.е. длительностью импульса T на выходе генератора 78. Таким образом, на выходах дешифратора 80 (блока синхронизации) начинается формирование трех непересекающихся во времени импульсных последовательностей П1, П2 и П3, обеспечивающих синхронизацию работы различных узлов модуля.

По заднему фронту импульса П1 с первого выхода блока 7 синхронизации (фиг. 1) КОП, поступивший ранее на информационный вход регистра 5 адреса, фиксируется в регистре 5 и далее поступает на адресный вход блока 1 памяти программ, на выходе которого спустя некоторое время появляется первая команда программы, заданной кодом операции. По заднему фронту импульса П2 с второго выхода блока 7 синхронизации считанная команда заносится в регистр 4 команд. Дальнейший ход работы модуля определяется форматом считанной команды (фиг. 8).

Случай 1. Если считанная команда является операционной (фиг. 8а), то на выходе 4.5 метки передачи управления регистра 4 команд появляется нулевой сигнал, который поступает на второй вход блока элементов запрета 9 и обеспечивает передачу операционного поля команды с выхода 4.4 регистра 4 команд на операционный выход 18 модуля для управления соответствующим объектом. В то же время сигнал логического нуля с выхода 4.5 регистра 4 команд бл