Настоящее изобретение относится к сетям с распределенным интеллектом, конфигурации и управлению и ячейкам, применяемым для организации сетей, в основном к сетям, которые обеспечивают чувствительность к информации, связь и управление.
Известны устройства, которые в сетевой среде обеспечивают чувствительность, управление и коммуникационную связь. Из этих устройств возможно создать широкий спектр систем, к которому будут принадлежать как очень дорогие и сложные, так и весьма простые системы с зачатками интеллекта. Как станет ясно из дальнейшего текста, настоящее изобретение предоставляет возможности создания системы, обладающей достаточной степенью интеллекта и вычислительной мощности при незначительной стоимости.
Известная система "Х-10" позволяет учредить управляющую цепочку, например, между выключателем светильника и светильником. После включения выключателя светильника по силовым линиям передается кодовая последовательность на приемник, которым оснащен светильник. Кодовая последовательность передается дважды: один раз в истинной форме и второй раз в дополнительной форме. После приема кода приемником осуществляется его интерпретация, результат которой используется для управления светильником. Используются механические средства адресации, позволяющие передатчику выключателя связываться с необходимым приемником светильника. Как станет очевидно из дальнейшего текста, настоящее изобретение позволяет существенно повысить вычислительную мощность и гибкость известных систем.
Объектом настоящего изобретения является сеть, содержащая n ячеек, информационные и управляющие входы которых соединены соответственно через магистрали системной шины.
Совокупность интеллектуальных ячеек, каждая из которых содержит интегральную схему, обладающую процессором и блоком ввода/вывода, объединена в сеть. Каждая из программируемых ячеек в процессе своего создания получает уникальный собственный идентификационный номер (48 битов), который постоянно хранится в ячейке. Ячейки можно сопрягать с разнообразными средами, подобными силовым линиям, скрученной паре, радиочастоте, ультразвуку, оптическому коаксиалу и т.д. с целью создания сети.
Сеть согласно настоящему изобретению отличается тем, что в нее введено группирующее устройство для присвоения каждой ячейке номера группы и номера элемента группы и присвоения различных функций групповым номерам, информационные и управляющие входы/выходы группирующего устройства соединены соответственно через магистрали системной шины с входами/выходами ячеек, а каждая ячейка содержит процессор, блок ввода/вывода и блок памяти для хранения уникального идентификационного номера ячейки, информационные и управляющие входы/выходы которых соединены соответственно через магистрали локальной шины, при этом каждый блок памяти группы хранит программу выполнения общей задачи группы.
Как было упомянуто выше, сети отличаются друг от друга системными идентификационными номерами (1 р). Внутри каждой сети ячейки организуются в группы для исполнения конкретных функций, и каждой группе присваивается идентификационнный номер. Связь внутри сети осуществляется через посредство системных, групповых и ячейных идентификационных номеров. Некоторым ячейкам (дикторам) вменено в обязанность чувствовать, например, состояние выключателя, а другим ячейкам (слушателям) предписано осуществлять управление, например, лампой. Ячейки могут исполнять разнообразные задания, и одновременно каждая может принадлежать нескольким группам; например, некоторая ячейка в одной группе может действовать как повторитель, а в другой группе как слушатель. Готовые ячейки совершенно одинаковы, отличаясь исключительно своими идентификационными номерами (1 р); они программируются на исполнение конкретных заданий в конкретной группе или нескольких конкретных группах.
В предпочтительном варианте осуществления ячейка содержит мультипроцессор и несколько подблоков ввода/вывода, причем любой из процессоров может связываться с любым из блоков ввода/вывода. Это разрешает бесперебойное исполнение любой программы без прерываний, обусловливаемых сопряжением с блоком ввода/вывода. Блок ввода/вывода содержит программируемые аналогово-цифровой и цифро-аналоговый преобразователи, а также другие схемы для других режимов работы.
Сетевой протокол обеспечивает большую гибкость и, например, позволяет уже после установки ячеек на рабочее место образовывать из них группы и/или изменять составы групп. Как будет показано, интеллект сети распределен по совокупности ячеек. Вообще говоря, сеть незначительно нагружена, однако предусмотрены возможности возникновения соревнований (борьбы) и других обстоятельств. Связь между ячейками оптимизирована в основном путем осуществления функций, приписанных группам, вместо передачи данных, не относящихся к управляющей функции сети. По этой причине, как правило, пакеты, содержащие сообщения, весьма коротки, если сравнивать с пакетами, с которыми работают Ethernet, Arpa, Apple-Talk, X-25 и многие другие широкополосные и связные информационные системы.
Фиг. 1 представляет блок-схему, иллюстрирующую типичное приложение настоящего изобретения; фиг. 2 диаграмма, иллюстрирующая образование групп из ячеек; фиг. 3 диаграмма, аналогичная представленной на фиг. 2 и служащая другим примером способа образования групп из ячеек; фиг. 4 диаграмма, иллюстрирующая некоторую совокупность ячеек; эта диаграмма служит для описания формации групп ячеек, применяемой в настоящем изобретении; фиг. 5 схему, иллюстрирующая пакетный формат, применяемый в настоящем изобретении; фиг. 6 - схема, иллюстрирующую часть списка назначений, входящего в пакетный формат, представленный на фиг. 5; фиг. 7 блок-схема связной и управляющей ячейки; фиг. 8 блок-схема процесса, представленного на фиг. 7; фиг. 9 блок-схема группирующего устройства.
Когда сеть содержит некоторую совокупность интеллектуальных ячеек, обычно таковыми ячейками являются программируемые одночиповые устройства, обеспечивающие дистанционное управление, чувствительность и связь, которые, будучи объединены в сеть (через различные среды) с другими ячейками, совместно порождают распределенную чувствительность к информации, связь, управление сетевой конфигурации. Система содержит сеть из ячеек, организованных по принципу иерархии с учетом потребностей связи. Ячейки организованы в рабочие "группы", не учитывая сетевой иерархии. Обычно группы ячеек применяются для исполнения некоторой группой функции. Эта функция реализуется приписыванием заданий ячейкам, составляющим группы. Ячейки организуют связь, управляют и воспринимают информацию. Вообще говоря, каждая ячейка имеет уникальный идентификационной номер и выполняет задания по обработке информации, подобные ведению протокола двусторонней коммуникационной связи, вводу-выводу, пакетной обработке и аналоговому и цифровому считыванию и управлению. Вообще говоря, система, содержащая ячейки, отличается способностью хранить информацию о сетевой конфигурации, которая (т.е. информация) распределена по системе, и автоматически рассылает маршрутизированные сообщения между ячейками. Каждая система также обладает уникальным идентификационным номером (1 р), который в предпочтительном варианте осуществления изобретения состоит из 48 битов. Более того, она содержит гибко программируемые входные-выходные схемы, которые допускают цифровое программирование с целью конфигурации ячеек на конкретные чувствительность, связь, управление и ввод-вывод, а также на аналоговый ввод-вывод, связной ввод-вывод и конкретную битовую скорость передачи информации.
На фиг. 1 представлено одно из простых типовых применений настоящего изобретения в помещении. На фиг. 1 изображены выключатель 22 и управляемая им лампа 23.
Сеть 20 содержит ячейку 27, которая соединена с выключателем 22. Эта ячейка также соединена с приемопередатчиком 29, который осуществляет передачу и прием данных по магистралям 24 и 25. Питание на приемопередатчик и ячейку поступает от источника питания 30, который снимает мощность с магистралей, например силовых линий 24 и 25. Применительно к настоящему примеру силовыми линиями 24 и 25 могут быть жилы обычной бытовой проводки (например, 110 ВА переменного тока) и источником питания 30 может служить некоторый источник 5В постоянного тока. Предпочтительно, чтобы ячейка 27 представляла собой интегральную схему, которая подробно описана со ссылкам на фиг. 7. Приемопередатчиком 29 может быть любой из известных приборов для приема и передачи цифровых данных, который, как принято в настоящее время, не исполняет каких-либо операций по обработке передаваемых данных. Вся сеть 20 может быть настолько миниатюрной, что допускает свое размещение внутри обычной настенной коробки, в которую обычно заключают электрический выключатель.
Элемент сети 21 также может быть миниатюрным, чтобы быть размещенным внутри стандартного гнезда (патрона), и содержит источник питания 31 и приемопередатчик 33, которые могут быть идентичны в конструкторском смысле с источником питания 30 и приемопередатчика 29 соответственно. Эта ячейка 28 соединена с приемопередатчиком 29 и источником питания 30, а также с соленоидным силовым выключателей 32. Ячейка 28 может быть идентична ячейке 27 со всем, исключая программирование и идентификационный номер, о которых будет сказано ниже. Выходной сигнал ячейки 28 управляет соленоидом 32, что приводит к срабатыванию силового выключателя, который, в свою очередь, подключает лампу 23 к линиям 34 и 35. Ячейка 28, как в дальнейшем станет ясно, может создавать выходной цифровой или аналоговый сигнал, управляя им реостатом (не изображен) и чем-то подобным, в результате чего оказывается возможным уменьшить яркость лампы 23.
Разрыв 26 в силовых линиях 24 и 25 показывают, что силовые линии необязательно принадлежат той же самой магистрали, что и силовые линии 34 и 35. Как станет ясно, приемопередатчик необязательно непосредственно соединяется с приемопередатчиком 33; более того, соединение между этими приемопередатчиками может проходить через некоторую другую ячейку и приемопередатчик, который воспроизводит (ретранслирует) пакеты, пересылаемые между устройствами 20 и 21.
Как показано на фиг. 1, приемопередатчики 29 и 33 связываются по силовым линиям. Эти передатчики могут связываться друг с другом по многочисленным другим путям, проходящим через бесчисленное разнообразие сред, и с любой бодовой скоростью. Например, каждый из них может принимать радиочастотные или микроволновой частоты сигналы через антенны. Приемопередатчики могут быть подсоединены к коммуникационным линиям, подобным обычной скрученной паре, или волокнооптическому кабелю, и, таким образом, связываться друг с другом без использования силовых линий. Можно использовать другу связную среду между приемопередатчиками, подобную инфракрасному или ультразвуковому транслированию. Для силовых линий нормальной скоростью передачи считается 10К битов в секунду. Значительно более высокие скорости передачи допускают радиочастоты, инфракрасное излучение, скрученные пары, волоконно-оптические соединения и другие среды.
Ячейка 27 опознает размыкание и замыкание выключателя 22, затем подготавливает пакет, который включает в себя сообщение, которое инициирует состояние выключателя 22; этот пакет пересылается на ячейку 28 посредством приемопередатчика 29, линий 24 и 25, линий 34 и 35 и приемопередатчика 33. Ячейка 28 подтверждает прием сообщения путем возврата пакета на ячейку 27 и действует в соответствии с принятым сообщением, включая или выключая лампу 23, для чего приводит в действие соленоидный силовой выключатель 32.
Каждая ячейка обладает уникальным идентификационным кодом из 48 битов, который иногда называют адресом ячейки. В соответствии с настоящим изобретение каждая ячейка в процессе изготовления получает постоянный и уникальный идентификационный номер. (После изготовления ячейки этот номер нельзя изменить). Как должно быть ясно, при наличии 228 идентификационных номеров, на практике каждая из ячеек будет обладать уникальным идентификационным номером вне зависимости от того, каких размеров будет создана система или как много сетей надлежит соединить. Затем группирующее устройство считывает индивидуальные индентификационные номера ячеек и присваивает каждой ячейке системный идентификационный номер. К тому же группирующее устройство конфигурирует ячейки в группы для исполнения функций, касающихся групп.
В иллюстративных целях на фиг. 1 ячейка 27 помечена символом "А", который обозначает, что ее первичной функцией является "извещение", т.е. передача состояния выключателя 22 по сетевым связным линиям 24 и 25 и 34 и 35. С другой стороны, ячейка 28 помечена символом "L", поскольку ее первичной функцией, применительно к фиг. 1, является "слушание" сети и, в частности, сообщений от ячейки 27. На последующих фигурах символы "А" и "L" применяются, в частности, в связи с групповыми формациями из многочисленных ячеек для обозначения извещаемого (дикторского) устройства, подобного устройству 20, и слушающего устройства, подобного устройству 21. Для удобства изложения ячейки иногда будут определяться как принимающие или отправляющие данные, но без упоминания наличия в них приемопередатчиков. (В некоторых случаях приемопередатчиками могут служить некоторая пассивная цепь или фрагменты провода, которые соединяют ввод/вывод ячейки с линией. Как станет ясно из дальнейшего изложения, входная-выходная секция может создавать выходной сигнал, способный возбуждать скрученную пару или нечто подобное. Поэтому сами ячейки способны функционировать как приемопередатчики в некоторых средах.)
Ячейки 27 и 28, как ниже будет сказано, являются процессорами, обладающими мультипроцессорными атрибутами. Они могут быть запрограммированы как до, так и после установки на рабочее место для исполнения предписанной им функции, подобной функции слушателя или диктора, или для группового комбинирования.
Организация сети и соответствующие определения.
Определения.
Ячейка представляет собой интеллектуальный программируемый элемент или элементы, обеспечивающие дистанционное управление, чувствительность к информации и/или коммуникационные связи, который (т.е. элемент) после соединения с другими подобными элементами образует связную, управляющую и чувствительную к информации сеть или систему с распределенным интеллектом.
Вещатель является источником групповых сообщений.
Слушатель является потребителем (стоком) групповых сообщений. (В некоторых случаях вещатель может запрашивать информацию о состоянии от слушателя).
Повторитель представляет собой ячейку, которая в дополнение к другим функциям считывает пакеты с некоторой среды и повторно вещает их.
Группа совокупность ячеек, работающих совместно для исполнения некоторой функции (например, выключатель, управляющий набором ламп), иногда именуется "группой".
Как показано на фиг. 2, группа 37 имеет вещатель 37a, слушателей 37b и 37с, а также слушатель 40. Группа 38 включает в себя вещатель 38a, слушатели 38b и 38c, а также слушатель 40. Фиг. 2 иллюстрирует тот случай, когда одна и та же ячейка (ячейка 40) оказывается слушателем в двух группах. Если вещатель 37a обладает функцией лампового выключателя, он способен управлять лампами через посредство ячеек 37b, 37c и 40. Аналогично, выключатель, ассоциированный с вещателем 38a, способен управлять лампами через посредство ячеек 37с, 37b и 40.
На фиг. 3 группа 42 включает в себя вещатели 44, 45 и слушатели 46 и 47. Группа 43 совместно с группой 42 пользуется ячейкой 44; в то же время ячейка 44 является слушателем в группе 43. Группа 41 и группа 42 совместно пользуются ячейкой 47; ячейка 47 является вещателем в группе 41 и, например, способна вещать на слушателя 48 в группе 41. Ячейка 47 также работает как слушатель в группе 42. Одиночная ячейка, как показано, может быть вещателем в одной группе и слушателем в другой группе (ячейки запрограммированы на исполнение этих функций, как будет разъяснено ниже). Однако, как принято в настоящее время, одиночная ячейка не может вещать более чем для одной группы.
(В предпочтительном варианте осуществления изобретения каждая ячейка обладает тремя парами линий и одной селекторной линией. Каждая пара пользуется общим набором ресурсов. Применительно к некоторым функциям линиями можно пользоваться независимо, если потребности в общих ресурсах не влекут конфликт. Применительно к другим функциям линии используются парами. В приведенном примере пара проводов от ячейки 27 соединена с ламповым выключателем, а другая пара используется для связи с вещателем, которым является ячейка 27).
Группирующее устройство это устройство, которое управляет прокладкой маршрутов между ячейками, приписывает ячейки группам и присваивает функции групповым номерам.
Групповое образование.
1. Ячейки, приписанные группе устройством, осуществляющим группирование после установки на рабочее место, т.е. после монтажа.
Предположим, что некоторая совокупность ячеек, изображенных на фиг. 4, соединена так, что способны держать связь по силовым линиям здания, и составляют часть одного и того же канала. Далее предположим, что одна ячейка - вещатель 60 должна быть сгруппирована со слушателем 65. Линии между ячейками, подобные линии 59, показывают, какие ячейки способны непосредственно связываться друг с другом, как, для примера вещатель 60 и ячейка 61, которые могут сообщаться друг с другом. Ячейки 61, 62, 63, 64 и 66, конечно, могут быть вещателями или слушателями в других группах, но для иллюстративных целей на фиг. 5 они помечены символом "C". Поскольку вещатель 60 и ячейки 61, 62 и 63 связаны друг с другом, они входят в один и тот же подканал. Аналогично, ячейки 62, 64, 65 и 66 принадлежат другому подканалу. Однако важно отметить, что вещатель 60 и слушатель 65 принадлежат различным подканалам одного канала на фиг. 4 и что существует множество маршрутов, по которым некоторое сообщение может пройти от вещателя 60 на слушатель 65, как, например, через ячейки 61 и 64 или через ячейки 62 и 64.
Хотя все ячейки подсоединены к одной силовой системе здания, они могут и не иметь возможность прямой связи друг с другом. Например, вещатель 60 может входить в схему, которая соединена со слушателем 65 посредством длинной проводки, проходящей через все здание, и низкоимпедансным шинным стержнем на панели схемного прерывателя. Высокочастотное коммуникационное сообщение можно на этом пути ослабить настолько, чтобы предотвращалась прямая связь между ячейками, хотя эти ячейки могут быть расположены в непосредственной физической близости друг от друга.
Применительно к настоящему описанию предполагается, что каждая из ячеек может вещать без помех, порождаемых вещанием других ячеек. Это значит, что сообщения не вредят друг другу. В случае возникновения конфликта выполняются меры, предусмотренные протокольным разделом настоящей заявки.
В одном из вариантов осуществления изобретения группа из вещателя 60 и слушателя 65 образована с помощью группирующего устройства, представленного на фиг. 9. Обратите внимание, что перед образованием этой группы вещатель 60 и слушатель 65 являются обычными ячейками, специально не предназначенные быть слушателем и вещателем. Каждому группирующему устройству в процессе изготовления может быть присвоен системный идентификационный номер из 48 битов (в предпочтительном варианте осуществления изобретения длина идентификационного номера установлена равной 48 битам). Предпочтительный вариант осуществления изобретения также предполагает, что каждое группирующее устройство включается совместно с некоторой ячейкой. Идентификационный номер ячейки становится идентификационным номером системы. Это гарантирует, что каждая система обладает уникальным системным идентификационным номером. Например, каждое здание имеет свое собственное группирующее устройство и поэтому своим собственным системным идентификационным номером, который используется применительно к подсетям, имеющимся в здании. Этот системный идентификационный номер используется в пакетах ячеек, относящихся к этой подсети. В настоящем примере группирующее устройство может использовать идентификационные номера ячеек 60 и 65.
Ниже будут описаны разнообразные способы получения идентификационных номеров ячеек.
Группирующее устройство соединено с ячейкой 60 посредством одной из трех пар входных-выходных линий ячейки (или селекторной клеммы), и группирующее устройство считывает 48-битовый идентификационный номер 607 (В следующем разделе описаны разнообразные способы определения идентификационных номеров ячеек). Затем группирующее устройство генерирует случайное двоичное число, которое в предпочтительном варианте имеет длину 10 битов. Это число функционирует как идентификационный номер группы (который также называют иногда групповым адресом), причем в эту группу входят вещатель 60 и слушатель 65. Группирующее устройство сравнивает этот номер с другими групповыми идентификационными номерами, которые присвоены ранее, чтобы убедиться, что он не был ранее присвоен. Если такой групповой номер уже был присвоен, то он генерирует новое случайное число. (Кстати, одиночное группирующее устройство хранит все групповые идентификационные номера, присвоенные в пределах одиночного здания). Группирующее устройство программирует ячейку 60, превращая ее в вещателя.
Группирующее устройство может заставить вещатель 60 передать групповой номер в специальном пакете, который содержит требование ко всем ячейкам сети подтвердить сообщение, если они являются назначенными членами этой группы. Это другой способ проверки того, что групповой номер ранее не был использован.
После этого группирующее устройство устанавливает идентификационный номер ячейки 65. Это может быть выполнено путем соединения группирующего устройства непосредственно с ячейки 65 даже перед монтажом этой ячейки или другими способами, обсуждаемыми в следующем разделе. (Ячейке и группе можно присваивать названия в соответствии с ASC II (Американский стандартный код для информационного обмена); например, "лампа над крыльцом" (exterior porchlight) для ячейки и "наружные лампы" (exterior light) для группы. Этим обеспечивается выбор идентификационных номеров ячеек или групп путем обращения к имени по ASC II.
Затем группирующее устройство заставляет вещатель 60 передать пробный пакет. Пробный пакет содержит идентификационный номер ячейки 65. Пакет предписывает всем ячейкам, получившим этот пакет, ответить на него путем повторения и направить на ячейку 65 подтверждение о получении пакета. Каждая из ячеек, получившая пробный пакет, воспроизводит его и добавляет к нему свой собственный идентификационный номер. Каждая ячейка лишь однажды воспроизводит этот пакет.
Ячейка 65 принимает пробный пакет по многочисленным маршрутам, включающим в себя и те, которые на диаграмме кажутся наиболее короткими (через ячейку 62), и также более протяженные, например через ячейки 61 и 64. Предполагается, что в ячейку 65 первым прибудет пакет, следующий по наиболее короткому пути, и этот путь поэтому является предпочтительным. Ячейка 65 принимает пакет, который своим появлением означает, что пробный пакет был послан ячейкой 60, воспроизведен ячейкой 62 и направлен на ячейку 65 после этого первого пакета, ячейкой 65 игнорируются.
После этого ячейка 65 передает подтверждение обратно на вещатель 60. Этот пакет включает в себя маршрут пробного пакета (например, воспроизведенный ячейкой 62). Этот пакет предписывает ячейке 62 воспроизвести пакет для подтверждения его приема.
Когда вещатель 60 примет подтвержденный пакет для ячейки 65, он устанавливает, что ячейка 62 должна быть повторителем. Группирующее устройство заставляет вещатель 60 послать пакет о назначении повторителя, который содержит уникальный идентификационный номер ячейки 62, групповой номер и сообщение, которое информирует ячейку 62 о назначении ее на роль повторителя в этой группе. Это принуждает ячейку 62 воспроизводить все эти пакеты для группы, содержащей вещатели ячейки 60 и 65. От вещателя 60 под управлением группирующего устройства выходит другое сообщение, воспроизводимое повторно ячейкой 62, о назначении ячейки 65 слушателем, принуждая ее реагировать на сообщения, предназначенные для этой группы (ячейка 65 становится членом группы). Группирующее устройство присваивает членам членские номера, которые запоминаются ячейками-членами.
2. Ячейки, приписанные группе устройством, группирующим перед монтажом.
Имеется несколько типов устройств, группирующих перед монтажом на рабочее место. На фиг. 9, например, показано пригодное к использованию устройство. К одному типу относятся устройства, которыми пользуется изготовитель для предварительной приписки ячеек к различным группам. К другому типу группирующих перед монтажом устройств относятся те, которыми пользуются розничные продавцы для приписки ячеек к различным группам перед монтажом.
Группирующее устройство приписывает ячейку к группе и присваивает функции (или функцию) ячейкам этой группы. Группирующее устройство также может приписать ячейке системный идентификационный номер. Системный идентификационный номер, приписанный устройством, группирующим перед монтажом, не обязательно должен быть уникальным системным идентификационным номером. (Устройства, группирующие после монтажа, приписывают каждой системе уникальные системные идентификационные номера).
Один способ, которым можно пользоваться, имея группирующие перед монтажом устройства, для создания системного идентификационного номера, состоит в том, что выбирают системный идентификационный номер из некоторого интервала чисел разрядностью 48 битов, являющихся адресами и системными идентификационными номерами, который был специально выделен для использования в качестве области системных идентификационных номеров, присваиваемых перед монтажом. Точно так, как идентификационные номера ячеек в интервале от 1 до 1023 резервируются для использования в качестве групповых идентификационных номеров и групповых номеров, идентификационные номера ячеек в интервале от 1024 до 2047 можно зарезервировать для использования в качестве системных идентификационных номеров, присваиваемых перед монтажом.
Желательно, чтобы группирующие устройства и другие сетевые управленческие устройства были способны делать различие между системными идентификационными номерами, присваиваемыми до и после монтажа (ячейки). Поскольку системные идентификационные номера, присваиваемые перед монтажом, создаются путем копирования идентификационного номера ячейки, идентификационные номера ячеек, присваиваемые после монтажа, не должны выбираться из интервала, зарезервированного для системных идентификационных номеров, присваиваемых перед монтажом. По этой причине идентификационные номера из этого интервала не будут присваиваться ячейками в качестве идентификационного номеров ячеек.
Ячейки могут поступать в продажу, будучи заранее приписанными некоторой группе по заказу изготовителя. Группирующее перед монтажом устройство, используемое изготовителем, распределяет ячейки по группам, записывая соответствующие коды в постоянную память ячеек. Пользователь может установить подобный набор ячеек, и он будет работать без выполнения операции приписывания (номеров) группирующим после монтажа устройством при условии, что этот набор ячеек способен сообщаться по единственному подканалу.
Пользователь может приписывать ячейки некоторой группе в момент покупки ячеек или в любой другой момент до установки. Подобные ячейки, в противоположность к рассмотренному выше случаю, не группируются изготовителем и поэтому называются неприписанными ячейками. Неприписанные ячейки обладают одинаковым системным идентификационным номером, одним из тех системных идентификационных номеров, которые были зарезервированы для использования исключительно для неприписанных ячеек.
Пользователь приписывает набор ячеек к некоторой группе посредством группирующего перед монтажом устройства, которое может отличаться от группирующего перед монтажом устройства, применяемого изготовителем.
Обычно такое группирующее устройство работает с каждой ячейкой поодиночке. Оператор дает команду группирующему устройству создать новый групповой номер и новый системный номер, а затем поочередно каждая ячейка подсоединяется к группирующему устройству. Оператор подает команду группирующему устройству приписать ячейку группе, когда ячейка соединена с группирующим устройством. Группирующее устройство присваивает ячейкам одинаковые групповые и системные номера до момента, когда оператор подаст команду создать новые групповой и системные идентификационные номера.
Пользователь может установить такой набор ячеек, и этот набор будет работать без применения группирующего после монтажа устройства при условии, что набор этих ячеек способен будет общаться по единственному подканалу.
3. Послемонтажное группирование и самоприписывание неприписанных ячеек.
Неприписанные ячейки могут создать группу и самостоятельно приписаться к этой группе после завершения монтажа следующим образом.
Первая ячейка-вещатель, которая стимулируется через ее сенсорный вход (т. е. ламповый выключатель), управляет процессом образования группы. Она случайным образом выбирает системный идентификационный номер из интервала системных идентификационных номеров, которые предварительно были зарезервированы для использования группирующими перед монтажом устройствами. Она выбирает групповой идентификационный номер случайным образом. Затем она вещает групповой идентификационный номер в пакете, который содержит требование дать ответ тем ячейкам, которые являются членами этой группы. Если передающая ячейка получит какие-либо ответы, она выбирает случайным образом другой групповой номер. Ячейка продолжит этот процесс выбора случайного группового идентификационного номера и проверки его на текущее использование до того момента, когда обнаружит групповой идентификационный номер, который еще не применен в системе, в которой она работает.
Запрограммированная на заводе-изготовителе информация о конфигурации при умолчании идентифицирует функционально неприписанную ячейку как слушателя или вещателя. Если неприписанная ячейка является вещателем, она ожидает стимуляции своего чувствительного входа, и после его стимулирования эта ячейка передает пакет, адресованный некоторой группе.
Если неприписанная ячейка является слушателем, она после подачи питания ждет прихода пакета. Ячейка берет групповой идентификационный номер из поступившего первым пакета и тем самым приписывает себя к этой группе. Затем ячейка посылает ответ на ячейку-вещатель. Этот пакет не является лишь пакетом о подтверждении; это пакет, который идентифицирует ячейку как слушателя группы, и такой пакет обязывает вещателя дать подтверждение получения. Это гарантирует, что все идентифицирующие слушателей пакеты поступят на вещатель даже в случае возникновения конфликтных ситуаций в этом процессе.
Ячейка, передавшая извещение об образовании группы, создает список членов группы по мере поступления ответов. Затем она посылает пакет каждому слушателю, присваивая тем самым каждому слушателю групповой членский номер.
4. Неприписанные ячейки, присоединяющиеся к существующей группе после монтажа.
Неприписанные ячейки могут присоединяться к существующим системам и приписываться к группе точно таким же образом, как это описано выше в предыдущем разделе 3. Слушатель присоединяется к системе и группе точно таким же способом, какой описан в разделе 3 выше.
В приведенном выше примере вещатель ожидает стимуляции через свой чувствительный вход. Неприписанный вещатель ждет первой стимуляции своего чувствительного входа или поступление первого пакета. От того, какое из этих двух событий произойдет первым, зависит последующая цепочка действия ячейки-вещателя.
Если сначала произошла стимуляция ячейки, то ячейка управляет процессом образования группы, как это описано в вышеприведенном примере. Если сначала ячейка-вещатель получает групповой пакет, то она присоединяется к этой группе в качестве вещателя. После этого она передает пакет групповому вещателю, запрашивая информацию о конфигурации группы (размер группы, количество вещателя и т.д.) и присвоенном групповом членском номере.
Способы идентификации ячейки для группирования.
Чтобы группирующее устройство прошло все шаги, необходимые для образования группы или прибавления ячейки к группе, оно должно знать идентификационные номера ячеек, подлежащих присоединению к этой группе. Затем группирующее устройство использует эти идентификационные номера ячеек для адресации команд на эти ячейки в ходе процесса группирования. Способы, которые пользователь с группирующим устройством может применять для получения идентификационных номеров ячеек, перечислены ниже. Следует подчеркнуть, что способность группирующего устройства или другого управляющего устройства связываться с ячейкой в приведенном ниже примере может быть ограничена предохранительными процедурами, если их применять. Предохранительные процедуры, ограничения на связь и степень безопасности не являются существенными для настоящего изобретения. В нижеследующем примере предполагается, что предохранительные процедуры не имеют место. В частности, для группирующего устройства стала бы невозможной связь с установленными ячейками, если это группирующее устройство не получило системный ключ (системный идентификационный номер и дешифровальные ключи).
1. Непосредственное соединение с ячейкой.
Группирующее устройство может подсоединяться к входной-выходной линии ячейного пакета и затем посылать сообщение на ячейку, запрашивая ее идентификационный номер. Для определения идентификационного номера ячейки можно использовать физическое соединение как до, так и после монтажа ячейки. Можно применять известные способы (предохранитель или запрограммированная команда запрета), позволяющие пользователю запретить эту функцию в установленной ячейке, чтобы обеспечить безопасность системы.
2. Селекция ячейки с помощью специального контакта.
Пользователь может применить группирующее устройство или другое селектирующее устройство для физического выбора ячейки путем стимуляции входного контакта ячейки, которая специально предназначена для функции селекции. Группирующее устройство связывается с ячейкой по нормальным связным каналам и посылает сообщение, предписывающее всем селектированным ячейкам ответить передачей своего идентификационного номера. Только одна ячейка селектирована, поэтому только эта ячейка ответит на запрос. Физический выбор можно применять для опознания идентификационного номера ячейки до или после ее монтажа. И здесь следует сказать, что должно быть предусмотрено средство, позволяющее пользователю запретить это, чтобы обеспечить безопасность системы.
3. Опрос всех наименований предварительно сгруппированных ячеек.
В настоящем примере предполагается, что ячейкам предварительно были присвоены групповые и ячейные наименования в соответствии с ASCII. При этом способе группирующее устройство предлагает всем ячейкам системы сообщить свои групповые и ячейные наименования (наименование на ASCII). Пользователь просматривает перечень групповых наименований с помощью группирующего устройства. Пользователь выбирает наименование группы, которая, как ему кажется, содержит нужную ячейку. Группирующее устройство выводит на дисплей наименования всех ячеек, входящих в группу и предписанные им задания (вещатель, слушатель, повторитель). Пользователь выбирает наименование ячейки, под которым зарегистрирована нужная ячейка, как ему кажется.
Если выбранная ячейка является вещателем, группирующее устройство подсказывает пользователю о необходимости активизировать вещатель путем стимулирования его входа. Например, если ячейка закреплена на ламповом выключателе, пользователь включает и выключает выключатель. Ячейка посылает оповещающие пакеты группе. Группирующее устройство слушает коммуникационный канал и обнаруживает групповой и членский номера или другие коды, передаваемые активизированным вещателем.
Если выбранный пакет является слушателем, то группирующее устройство посылает пакеты на ячейку (применяя групповой и членский номера для адресации), предписывая ей переключить свой выход. Например, если ячейка управляла лампой, лампа станет мигать. Это позволит пользователю убедиться в том, что он правильно выбрал ячейку.
Группирующее устройство посылает пакет (применяя групповой и членский номера для адресации) на нужную ячейку, приказывая нужной ячейке ответить своим ячейным идентификационным номером. После этого группирующее устройство узнает идентификационный номер нужной ячейки и может продолжить процесс образования группы.
Опрос наименований применяется для установления идентификационного номера ячейки до или после монтажа этой ячейки.
4. Стимулирование группы.
Этот способ используется применительно к сети, в которой группам и ячейкам приписаны наименования в соответствии с ASC II. Пользователь приказывает группирующему устройству ждать появления следующего группового извещения. Затем пользователь стимулирует вещатель в интересующей его группе. Например, если вещателем является ламповый выключатель, то пользователь переключает выключатель. Группирующее устройство воспринимает известительный пакет и извлекает из него групповой идентификационный номер.
Пользователь может убедиться, что этот групповой идентификационный номер действительно относится к нужной группе путем принуждения группирующего устройства послать пакеты всем слушателям группы, приказывая им переключить свои выходы. Пользователь убеждается в том, что это нужная группа, наблюдая действия ячеек-слушателей (например, если группа состоит из управляющих освещением приборов, лампочка мигает).
После определения группового идентификационного номера группирующее устройство посылает пакет группе, которым предписывается каждой ячейке ответить посылкой своего наименования, и передача пакета продолжается до обнаружения интересующей ячейки. Пользователь устанавливает это наименование, и группирующее устройство, зная идентификационный номер этой ячейки, может продолжить процесс образования группы.
Если пользователь пожелает, проверка идентификационного номера ячейки может быть выполнена до возобновления процедуры группирования. Ниже приведена процедура, позволяющая проверить принадлежность данного идентификационного номера целевой ячейке.
Если выбранная ячейка является слушателем, группирующее устройство советует пользователю активизировать вещателя путем стимулирования его входа. Например, если ячейка закреплена на ламповом выключателе, пользователь включает и отключает выключатель. После этого группирующее устройство способно опознать групповой адрес и членский номер ячейки.
Если выбранная ячейка является слушателем, группирующее устройство посылает пакеты на ячейку (применяя групповой и членский номера для адресации), приказывая перебросить (переключить) свой выход. Например, если ячейка управляет лампой, лампа станет мигать. Это позволяет пользователю убедиться, что он выбрал правильную ячейку.
3. Стимулирование вещателя.
Этот способ применим в сети, в которой не применяются наименования в соответствии с ASCII для групп и ячеек, но произведено присвоение функций слушателя и вещателя. Группирующее устройство посылает пакет на все ячейки сети, приказывая каждому вещателю передать пакет, содержащий его идентификационный номер, после следующего стимулирования. Затем группирующее устройство подсказывает пользователю о необходимости стимулировать вещатель путем активации его чувствительного прибора; например, для вещателя лампового выключателя надо включить ламповый выключатель. Поскольку пользователь стимулирует только один вещатель, то группирующее устройство примет только один пакет с идентификационным номером ячейки.
Есть вероятность того, что одновременно произойдет стимуляция некоторой другой ячейки-вещателя. Возможно, что кто-то еще переключит ламповый выключатель или термодатчик обнаружит изменение температуры. Пользователь может убедиться, что принятый идентификационный номер действительно принадлежит интересующей его ячейке. Чтобы убедиться в правильности принадлежности идентификационного номера определенной ячейке, пользователь осуществляет вторично процесс стимулирования вещателя и убеждается в правильности путем тех же самым результатов.
3. Переключение слушателя.
Этот способ применим в сетях, в которых не производилось присвоение групповых или ячейных наименований. Группирующее устройство передает пакет, который предписывает всем ячейкам, являющимся слушателями, ответить посылкой собственных идентификационных номеров. Для группирующего устройства необходимо ограничение числа отвечающих ячеек, поэтому пакет содержит битовую маску для идентификационных номеров, которая ограничивает число отвечающих ячеек некоторым множеством по принадлежности допустимому множеству идентификационных номеров. Когда группирующее устройство закончит создание списка идентификационных номеров слушателей, оно позволяет пользователю переключить каждого из слушателей, что принуждает ячейку-слушателя включить и отключить свой выход. Пользователь продолжает работать по списку ячеек-слушателей до того момента, когда обнаружит, что интересующая его ячейка переключила свой выход. После этого пользователь определяет ячейку для группирующего устройства, и оно может продолжить операцию группирования.
Пакетный формат.
Каждый пакет, передаваемый ячейкой, содержит много полей. Например, на фиг. 5 представлен формат, применяемый для групповых извещений. Каждый пакет начинается с вступления (преамбулы), применяемой для синхронизации сходной схемы принимающих ячеек (битовая синхронизация). Вступительный ход, применяемый в предпочтительном варианте осуществления изобретения, описан в виде части комбинаторный кодов "три из шести". Флажковое поле из 6 битов начинает и завершает каждый из пакетов.
Как в настоящее время полагают предпочтительным, каждая из ячеек считывает пакет полностью, вычисляет для пакета код циклической избыточности (CRC), исключая поле конфликтного таймера и сравнивает результат с содержанием поля CRC принятого пакета. Арифметико-логическое устройство обладает аппаратной частью, вычисляющей CRC пакета, и CRC регистры 130 для хранения промежуточных результатов. Если CRC пакета нельзя проверить для входящего пакета, то этот пакет игнорируется. После вычисления циклического избыточного пакета он записывается в поле из 16 битов, а затем преобразуется в 24-битовые поля для передачи кодом "3 из 6" с применением способа шифрования. (Для создания в этом разделе компактного описания пакетных полей длина поля определяется перед способом кодирования с помощью комбинаторных кодов "3 из 6"). В предпочтительном варианте осуществления код циклической избыточности CRC определяется по стандартному алгоритму CCITT:
(X16 + X12 + X5+1)
Системный идентификационный номер занимает 32-битовое поле, что в настоящее время считается предпочтительным. Другие 16 битов из 48-битового системного идентификационного номера учитываются при вычислении CRC, но не передаются в качестве части пакета.
Поле адреса соединения содержит 48 битов. Когда в этом поле находятся одни нули, пакет интерпретируется как вещаемый на всю систему, который воспринимается и воздействует на все ячейки. Например, пробный пакет имеет в качестве адреса соединения нулевое поле. Групповые адреса содержатся внутри адреса соединения. В групповых адресах первые 38 заняты нулями, а остальные 10 битов содержат групповой адрес. (Упомянутые выше идентификационные номера ячеек, которые присваиваются на заводе-изготовителе в процессе изготовления ячеек, лежат в интервале от 1024 до 248, поскольку 210 адресов резервируются для групп).
В некоторых случаях адресом соединения является адрес индивидуальной ячейки. (Например, в случае, когда ячейке присваивается функция повторителя или слушателя).
Конфликтный таймер занимает 10-битовое поле, а также дополнительные 6 битов для поля CRC (или другой контрольной суммы), который применяется для проверки правильности 10 битов таймерного поля. Каждая ячейка, которая воспроизводит пакет, работает с содержимым этого поля, если ячейка должна выжидать момент передачи пакета. Если пакеты передаются другими ячейками, то некоторая ячейка должна выжидать момент для передачи своего пакета; длительность выжидания регистрируется уменьшением содержания поля таймера конфликта. Скорость, с которой осуществляется уменьшение содержания этого поля, может быть запрограммирована в ячейке, и эта скорость является функцией типа сети. Поле начинается с константы, которую можно определить в соответствии с типом сети. Каждая ячейка, воспроизводящая пакет, уменьшает число, находящееся в этом поле, во время приема пакета. Поэтому, если пакет воспроизводится четыре раза и если каждая из четырех участвующих ячеек ожидает момента начала передачи, число, записанное в поле конфликта, отражает сумму длительностей ожидания после вычитания из некоторой константы (например, одних единиц). Когда поле таймера конфликта становится нулевым, ячейка, ожидающая момент передачи, уничтожает пакет, а не передает его. Это предотвращает поступление устаревших пакетов и интерпретацию их в качестве нового пакета.
Как уже сказано, конфликтный таймер обладает своим собственным 6-битовым полем кода циклической избыточности. Если поле конфликтного таймера было бы включено в пакетный код циклической избыточности, то пакетный код циклической избыточности нельзя было бы вычислить до фактической передачи пакета. Это требовало бы множество вычислений в последние несколько микросекунд непосредственно перед передачей. Чтобы устранить это затруднение, для поля конфликтного таймера предусмотрено отдельное поле для кода циклической избыточности. Если правильность содержимого поля конфликтного таймера не может быть подтверждена его 6-битовым кодом циклической избыточности, пакет уничтожается.
Поле числа переходов регистрирует число переходов или ретрансляций, которым подвергается пакет перед достижением пункта своего назначения. Это 4-битовое поле начинается с числа, которое равно максимально допустимому числу ретрансляций для конкретного пакета, и уменьшается (на единицу) при воспроизведении пакета каждой ячейкой. Например, в пакете, созданном групповым вещателем, начальное число переходов равно максимальному числу ретрансляций, которые должен претерпевать этот пакет, чтобы достичь каждую из ячеек в группе. Когда это поле становится нулевым, этот пакет уничтожается, а не ретранслируется. В настоящее время в качестве предела переходов или ретрансляций принято число 16.
Поле управления соединением ведет протокол соединения и состоит из 8 битов. Это поле описано несколько ниже, причем с разъяснением нескольких аспектов протокола.
Поле "случайное/псевдослучайное" число состоит из 8 битов и содержит случайное число, которое создается для каждого пакета той ячейки, которая первой начинает передачу пакета. Это число не изменяется при повторении пакета. Это число применяется, что будет ниже разъяснено со ссылкой на фиг. 8, для ограничения повторных вещаний пробных пакетов; оно может быть также использовано в связи со способом шифрования, когда пакет целиком должен быть зашифрован.
Поле "управления сетью" из 4 битов указывает тип маршрута или тип пакета, например, управление сетью, групповое сообщение, пробное сообщение, т. д.
Поле адреса источника (переменного размера) содержит, например, идентификационный 48-битовый номер ячейки, породившей пакет. Для пробного пакета это поле содержит идентификационный номер вещателя. Для подтверждения это поле содержит идентификационный номер слушателя. Для пакета, адресованного группе, это поле содержит групповой членский номер ячейки-источника.
Перечень назначений описан со ссылками на фиг. 6.
Поле сообщения имеет переменную длину и содержит непосредственное сообщение, которое передается этим пакетом. Для пробного пакета это поле содержит маршрут; это означает, что каждая ячейка, воспроизводящая пакет, вносит свой идентификационный номер в это поле. После образования группы эти сообщения могут быть использованы, например, вещателем 60 для выдачи приказа слушателю 65 о включении лампы, т.п.
Шифровальное поле, когда используется, содержит 16 битов и служит для проверки истинности зашифрованного пакета; обычно эта часть пакета остается без изменений при воспроизведении пакета. Можно применять известные способы шифрования.
На фиг. 5 в скобках позицией 99 обозначена та часть пакета, которая остается неизменной при воспроизведении пакета. Эти поля используются для ограничения числа воспроизведений.
Поле "перечень пункта назначения" пакета, проиллюстрированного на фиг. 5, изображено на фиг. 6. Перечень пункта назначения начинается с 4-битового поля, которое указывает число членов группы, которые должны принять пакет с сообщением. Следовательно, пакет может быть направлен вплоть до 16 членов определенной группы. Номер каждого члена группы затем передается последующими 8-битовыми полями. Групповой номер, содержащийся в адресе соединения, и членский номер, содержащийся в перечне назначений, образуют адрес, применяемый для пересылки сообщений после образования группы. Если назначение является нулевым числом, то пакет адресуется всем членам группы. Для некоторых типов пакетов это поле содержит идентификационный номер принимающей ячейки.
Механизм, предотвращающий повторное вещание определенных пакетов.
Как сказано ранее, пробные пакеты каждой из ячеек воспроизводятся лишь однократно после первого вещания пакета. Специальный механизм, программно реализованный в каждой из ячеек, позволяет ячейкам опознавать пакеты, которые ими ранее воспроизводились.
Во-первых, следует вспомнить, что, когда какая-либо ячейка передает или ретранслирует пакет, она вычисляет код циклической избыточности пакета, который записывается в поле, предшествующее конечному флажку. Для пакетов, которые воспроизводятся, новый код циклической избыточности необходим, поскольку, по крайней мере, меняется содержимое счетчика переходов, что обязывает формировать новое содержимое поля кода циклической избыточности пакета. Это поле кода циклической избыточности отличается от поля кода циклической избыточности, о котором пойдет речь в следующем параграфе.
После приема каждого пакета, требующего воспроизведения, производится вычисление кода циклической избыточности повторителя для полей, простирающихся от "управления соединением" до конца перечня назначений, как иллюстрирует фиг. 5, где интервал отмечен позицией 99. Когда ячейка воспроизводит пакет, она запоминает 16-битовые результаты вычисления кода циклической избыточности повторителя в циркулярном списке, состоящем из таких же членов, если такого результата еще нет в этом списке. Однако пакет воспроизводится повторно лишь в том случае, если циркулярный список не содержит результатов вычислений кода циклической избыточности для поля 99.
Таким образом, когда оказывается принятым пакет, который требуется воспроизвести, вычисляется код циклической избыточности для поля 99.
Связная и управляющая ячейка
Общие сведения о ячейке.
Как показано на фиг. 7, каждая ячейка содержит мультипроцессор 100, блок ввода/вывода 107-110, блок памяти 115 и ассоциированные тактовые схемы, проиллюстрированные осциллятором 112 и тактовым генератором 111. Источник напряжения (источник питания) 116 предназначен для блока памяти 115. Эта ячейка строится на обычных интегральных схемах. Например, мультипроцессор 100 можно создать, применяя технологию вентильных матриц, подобную описанной в патенте США N 4642487. Предпочтительный вариант ячейки изготавливается согласно К-МОП (CMOS) технологии, которая обеспечивает изготовление полной ячейки, представленной на фиг. 7 на одной кремниевой подложке в виде интегральной схемы. (Мультипроцессор 100, фактически, представляет собой устройство, состоящее из четырех процессоров, однако, в тексте описания упоминается как одно целое).
Мультипроцессор 100 представляет собой магазинный процессор, обладающий четырьмя комплектами регистров 101, создающих сигналы на входах арифметико-логического устройства (АЛУ) 102. В предпочтительном варианте осуществления изобретения АЛУ 102 фактически состоит из двух отдельных АЛУ.
Блок памяти 115 обеспечивает хранение 64КВ информации в предпочтительном варианте воплощения, однако, названный объем не является критическим. Одна часть блока памяти хранит команды (коды ROM 115а, т.е. постоянного запоминающего устройства ПЗУ). Вторая часть памяти представляет собой оперативное запоминающее устройство ОЗУ (RAM) 115b, которое состоит из множества обычных статических запоминающих ячеек (но можно использовать и динамичные ячейки). Третья часть блока памяти представляет собой электрически программируемое постоянное запоминающее устройство ЭППЗУ (EEPROM) 115с. В предпочтительном варианте воплощения ЭППЗУ 115с построено на запоминающих устройствах с плавающими вентилями. Для программирования и стирания этих устройств требуется повышенное напряжение (в сравнении с нормальным рабочим напряжением). Это повышенное напряжение создает "встроенный в чип" источник напряжения 116. Все адресное пространство блока памяти 115 адресуемое через арифметико-логическое устройство АЛУ 102а, которое является одной из частей арифметико-логического устройства АЛУ 102.
Блок памяти ПЗУ 115а хранит процедуры, реализующие различные разделы протокола. Этот же блок памяти ПЗУ хранит процедуры, необходимые для программирования ЭППЗУ 115с. Прикладная программа для ячейки хранится в блоке памяти ПЗУ 115а, и, вообще говоря, является процедурой, которая действует как "машина состояний", приводимая в работу переменными, находящимися в ЭППЗУ 115с и ОЗУ 115b; ЗУ 115b хранит связные переменные и сообщения, переменные приложений и дискрипторы "машины состояний". Идентификационный номер ячейки, системный идентификационный номер и параметры связи и приложения (например, групповой номер, членский номер, назначение на исполнение роли вещателя/повторителя/слушателя) хранятся в ЭППЗУ 115с. Часть ЭППЗУ 115с, хранящая идентификационный номер ячейки, защищена от записывания, т.е. после записи в нее идентификационного номера ячейки эту часть памяти нельзя перепрограммировать.
Блок ввода/вывода ячейки состоит из четырех подблоков: 107, 108, 109 и 110. Три подблока 107, 108 и 109 имеют выводы 103, 104 105 соответственно для связи с сетью и/или управляющими и чувствительными проборами, соединенными с ячейкой. Подблок 110 имеет единственный селекторный вывод 106, который можно использовать для подачи команд считывания, подобных командам на определение идентификационного номера ячейки. В предпочтительном варианте подблок 110 в основном используется для тактирования и счета. Блок ввода/вывода является адресуемой для процессора через выделенное адресное пространство, и поэтому для процессора он оказывается областью памяти. Каждый подблок ввода/вывода может быть соединен с любым подпроцессором. Это свойство, опирающееся на мультипроцессорную архитектуру процессора 100, обеспечивает непрерывность работы процессора. Блок ввода/вывода может быть изготовлен из известных аппаратных средств.
Ячейка, изображенная на фиг. 7, также содержит осциллятор 112 и тактовый генератор 111, причем последний генерирует тактовые сигналы, в частности необходимые для поточной обработки информации. Предпочтительной считается работа с частотой 16 МГц, поскольку она обеспечивает командному циклу вторичную частоту 4 МГц. Другие известные линии, связанные с ячейкой по фиг. 7, не показаны (например, питающие линии).
Все элементы ячейки, представленной на фиг. 7 в предпочтительном варианте, собраны на одном полупроводниковом чипе.
Процессор.
Как показано на фиг. 7, процессор 100 предпочтительного варианта воплощения содержит в себе несколько регистров, которые связаны с двумя арифметико-логическими устройствами: адресным АЛУ и информационным АЛУ 102а и 102b соответственно. (Может быть применена какая-нибудь другая процессорная архитектура, подобная системе, базирующейся на регистрах, а также другие способы построения арифметико-логических и запоминающих устройств). Адресное арифметико-логическое устройство 102а обеспечивает адресацию памяти 115 и доступ к подблокам ввода/вывода. Информационное арифметико-логическое устройство 102b обеспечивает данными блок памяти и блок ввода/вывода. Выход блока памяти вобщем связан с регистрами процессора через регистр 146 и шину BUS D 223.
16-битовая адресная шина ABUS 220 обеспечивает один вход на адресное арифметико-логическое устройство ALU 102а. Базовые поинтерные регистры 118, регистры 119 исполнительных адресов и регистры поинтеров команд 120 соединены в этой шиной. (Справа под символами, обозначающими эти регистры, имеется стрелка с пометкой "х4". Это означает, что например, базовый поинтерный регистр в четыре раза вместительнее, в частности, что базовой поинтерный регистр содержит четыре 16-битовых регистра, по одному на каждый процессор. Это замечание так же справедливо для регистров исполнительных адресов и регистров поинтеров команд. Битовая шина BBUS 221 подает до 12 битов на вход адресного ALU 102а или 8 битов на вход информационного ALU 102b через регистр 142. Учетверенной емкости вершина магазинных регистров 122, регистров 122, регистры поинтеров магазинов 123, регистры поинтеров возврата 124 и командные регистры 125 соединены с шиной BBUS.
Шина CBUS 222 обеспечивает другой 8-битовой вход на ALU 102 через регистр 143. CBUS соединена с регистрами поинтеров команд 120, учетверенной емкости вершины магазинных регистров 122, четырьмя флажками переноса 129, учетверенной емкости регистрами 130 для кодов циклической избыточности и учетверенной емкости следующих регистров 131.
Шина памяти MBUS, соединенная с выходом памяти, может принимать данные с выхода арифметико-логического устройства ALU 102b через регистр 145b или от блока памяти или подблоков ввода/вывода 107-110. Эта шина через регистр 146 и шину DBUS 223 передает входные сигналы на регистры 118, 119, 120, 122, 123, 124, 125, 130, 131 и на "флажки переноса" 129.
Имеется 16-битовая магистраль 132, идущая от выхода адресного ALU 102a на регистры 120. ALU 102b включает в себя аппаратные средства для вычисления кода циклической избыточности. Эта аппаратурная часть непосредственно связана с регистрами 130 кодов циклической избыточности двухсторонними линиями 133. Вершина магазинных регистров 122 соединена со следующими регистрами 131 линиями 138. Эти линии позволяют перемещать содержимое регистра 122 в регистры 131 или содержимое регистра 131 переместить в регистры 122. Как принято в настоящее время, двухместный одновременный обмен данными между этими регистрами не осуществляется. Четыре бита данных с выхода памяти могут быть возвращены непосредственно либо на регистры поинтеров команд 120, либо на командные регистры 125 по линиям 139.
Магистраль поточной обработки (регистры 141, 142, 143, 145 и 146) информации и адресов между регистрами, арифметико-логическим устройством, памятью и соответственными шинами образует магистраль локальной шины.
Данные, находящиеся в любом одном регистре поинтеров магазина 123 или любом одном регистре поинтеров возврата 124, могут непосредственно увеличиваться или уменьшаться через схему 127.
Оба ALU 102a и 102b могут пропускать любой из входных сигналов на свои выходы, способны увеличивать и складывать свои входные сигналы. Помимо сложения ALU 102b выполняет вычитание, сдвиг, устанавливает флажки переноса 124 (когда это уместно), выполняет логические операции "И", "ИЛИ" и "Исключающее ИЛИ", а также арифметические операции в дополнительных числах. ALU 102b за один шаг может скомбинировать содержимые следующих регистров 131 и регистров цикликодов циклической избыточности 130 (через шины 222 и 133) и скомбинировать это с содержимым одной из вершин магазинных регистров 122, чтобы создать следующее число для вычисления кодов циклической избыточности. К тому же ALU 102b исполняет стандартный сдвиг и обеспечивает специальное разбиение, позволяющее сдвигать четыре младших или старших бита на месте более младшего или старшего разрядов соответственно. Дополнительно ALU 102b осуществляет шифрование и дешифрование "3 из 6".
В предпочтительном варианте воплощения, когда ячейка имеет вид одиночного полупроводникового чипа, на цоколе имеются контактные площадки для питания и заземления, а также для всех входных-выходных штырьков А и В и "только для считывания" штырька 106 (подблоки 107, 108, 109 и 110 на фиг. 7). Эти контактные площадки используются для закрепления штырьков основного недорогого корпуса чипа.
В дополнение к основным контактным площадкам в предпочтительном варианте осуществления предусматриваются соединения с шинами ADBUS 224 и MDBUS 225 (фиг. 8). Можно предусмотреть одну контактную площадку для управления, чтобы запрещать действие внутренней памяти. Активизация управляющего контакта запрещает действие внутренней памяти, и процессоры используют данные, поступающие по шинам ADBUS и MBUS. Это разрешает использование памяти, являющейся внешней по отношению к ячейке. Предполагается, что ячейка недорогого корпуса чипа может не иметь дополнительных контактных площадок, удобных для использования. Эти дополнительные контакты можно сделать доступными посредством контактов вафельного (пластинчатого) пробника или штырьков корпусов, которые оснащаются штырьками в количестве, превышающем минимальное число.
При изготовлении ячейки ее надо обработать инициализирующей программой. Во время работы вафельного пробника внешняя память применяется в нескольких целях, одной из которых является тестирование ячейки. Другое применение состоит в предоставлении программы, записывающей идентификационный номер ячейки в блоке памяти ЭППЗУ в процесс изготовления. В это же время можно добавить любые необходимые команды блока ЭППЗУ, которые будут обеспечивать начальную загрузку при каждом подключении ячейки к питанию во время эксплуатации. Инициализирующие программы и тест-программы хорошо известны специалистам в данной области.
Группирующее устройство.
Группирующее устройство может принимать разнообразные формы и может быть реализовано известными и имеющимися в продаже аппаратными средствами, подобными персональному компьютеру. Такие компьютеры легко запрограммировать для выполнения разнообразных функций, описанных в настоящей заявке и исполняемых группирующим устройством. Например, их можно запрограммировать на создание пакетов, необходимых для связи с ячейками для группирования. Другие функции, подобные генерированию случайного числа, используемого внутри пакетов, можно реализовать с помощью известных стандартных программ.
В качестве группирующего устройства можно использовать, например, компьютер Apple 11. 48-битовый системный идентификационный номер можно запомнить на диске; или можно предусмотреть карту с печатной платой для установки в один из пазов компьютера Apple 11; эта карта может содержать системный идентификационный номер, который взят из ячейки, подобной ячейке 232 на фиг. 9. При формировании групп присвоенные групповые номера, членские номера и т. п. можно хранить на диске или хранить в EEPROM на карте.
На фиг. 9 изображены элементы предпочтительного варианта осуществления группирующего устройства. Среди них есть центральное процессорное устройство ЦПУ 226, которым может быть любой известный микропроцессор, ЦПУ связан с памятью, которая может содержать ОЗУ 227, ПЗУ 228 и запоминающее устройство 229 для хранения системного идентификационного номера. Если применяется гибкий диск, системный идентификационный номер и программа (в противном случае хранящаяся в ПЗУ 228) запоминаются на диске, причем программа пересылается для исполнения на ОЗУ.
Дисплейное устройство 230, подобное обычному монитору, соединено с ЦПУ для создания пользователю возможности визуального наблюдения; например, дисплей можно применять для представления списков групп с их наименованиями в соответствии с ASC II. Клавиатура 231 применяется для ввода команд в ЦПУ.
Как показано на сопроводительной фиг. 9, ЦПУ соединено с ячейкой 232, при этом сама ячейка соединена с сетью через приемопередатчик 233. Ячейка 232 является частью группирующих устройств, и идентификационный номер ячейки используется группирующими устройствами в качестве системного идентификационного номера. Типовые сообщения, передаваемые компьютером на ячейку, например, сообщение о назначении ячейки-адресата на роль вещателя в означенной группе, создает группирующее устройство. Группирующее устройство может непосредственно связываться с ячейкой по одной из трех пар проводов, соединенных с входными-выходными подсекциями, или через селекторный вывод, который позволяет четвертой входной-выходной подсекции считывать сообщения из ЦПУ 226.
Входные-выходные регистры и совместное пользование ресурсами.
Каждый подблок ввода/вывода имеет несколько регистров, которые имеют двусторонние соединения с шиной MBUS. Эти регистры размещены в подблоках ввода/вывода 107, 108, 109 и 110 (фиг. 8). Для считывания и записывания в эти регистры процессорная программа должным образом конфигурирует подсистемы ввода/вывода. На фиг. 8 изображены четыре подблока ввода/вывода 107, 108, 109 и 110 и показаны соединения с восемью младшими битами MBUS и шестью младшими битами ADBUS. Два бита селектируют один из четырех устройств ввода/вывода, а остальные четыре бита дешифрируются для селектирования одного из управляющих вводом/выводом и статусных регистров этого блока.
Совместное пользование ресурсами.
В предпочтительном варианте осуществления имеется пять видов ресурсов, которыми совместно пользуются процессоры. Ими являются ЭППЗУ (электрически программируемое постоянное запоминающее устройство) и четыре подблока ввода/вывода. Для управления разделением ресурсов пользуются аппаратным "семафорным регистром" (SR) и пятью словами, хранящимися в ОЗУ (оперативное запоминающее устройство). Семафорный регистр 295 на фиг. 8 производит считывание и записывание бита О шины MBUS.
Каждое слово ОЗУ памяти содержит одно из состояний: "незанятый", "проц-р N 1", "проц-р N 2", "процес.-р N 3" и "проц-р N 4". Процессор может запросить ячейку ОЗУ перед присвоением ресурса с целью узнать, занят ли ресурс. Если ресурс не присвоен, то он может обратиться к регистру "семафор". (Альтернативно, процессор может пропустить первоначальный шаг запроса ОЗУ и проверить содержимое ячейки ОЗУ после обращения к регистру "семафор"). Если ресурс уже занят, процессор должен очистить регистр "семафор", занеся в него "О", и выждать некоторое время перед следующей попыткой. Если ресурс не занят, процессор присваивает ресурс путем замены состояния регистра ОЗУ с "незанятым" на "проц.-р N х" и затем занести в семафорный регистр "О". Когда процессор закончит работу с ресурсом, он заносит в ячейку ОЗУ признак "незанятый" (свободен).
Семафор представляет собой однобитовый аппаратный регистр. Во время третьей ФАЗЫ СВОЕГО ЦИКЛА, ЕСЛИ ЕСТЬ НАДОБНОСТЬ, каждый процессор может обратиться к семафорному регистру. Во временной последовательности это означает, что процессоры могут обращаться к семафору SR 295 один раз на одном из четырех последовательных циклов (например, фаз). Регистр SR 295 обычно содержит "О". Допустим, что процессоры N 1 и N 3 не запрашивают использование SR 295 и процессор N 2 обращаться к семафору SR. Если в начале цикла он получит "О", то тем самым узнает, что в текущий момент не производится присвоение или освобождение чего-либо, затем обратится к подходящей ячейке ОЗУ и, если в ней найдет признак "свободен" (незанятый), вставит в нее свой (процессорный) номер, тем самым присваивая ресурс, а потом "очистит" семафор засылкой "О". Если процессор обнаружит, что другой процессор пользуется общим ресурсом, он не вписывает "свой "проц.-р N" и очищает семафор SR установкой нуля. В таком случае он должен выждать время перед новой попыткой.
Некоторые операции, подобные операциям с участием ЭППЗУ, могут занимать много тактовых циклов, поэтому процессору приходится присвоить регистр ОЗУ, но освободить SR 295 на время использования общего ресурса. Когда процессор закончит свою операцию с участием присвоенной ОЗУ ячейки, он вновь и вновь обращается к SR (семафору), пока не обнаружит "О". Затем он заносит в ОЗУ ячейку "свободен" и "очищает" SR 295 засылкой "О". Всякий раз, когда процессор обращается к SR 295 и обнаруживает "1", он оставляет неизменным "единичное" состояние SR 295 и выжидает некоторое время перед новой попыткой.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПОВТОРНОГО ВЫБОРА СОТОВОЙ ЯЧЕЙКИ, СЕТЕВОЙ УЗЕЛ И АБОНЕНТСКИЙ ТЕРМИНАЛ | 1999 |
|
RU2232470C2 |
ПАРАЛЛЕЛЬНАЯ ПРОЦЕССОРНАЯ СИСТЕМА | 1991 |
|
RU2084953C1 |
ПИЛОТ-СИГНАЛЫ ОБНАРУЖЕНИЯ ДЛЯ БЕСПРОВОДНЫХ СИСТЕМ СВЯЗИ | 2007 |
|
RU2419204C2 |
СОТОВАЯ СИСТЕМА СВЯЗИ | 1991 |
|
RU2100904C1 |
УПРАВЛЕНИЕ СКОРОСТЬЮ, С КОТОРОЙ ОБРАБАТЫВАЮТСЯ ЗАПРОСЫ НА ПРЕРЫВАНИЕ, ФОРМИРУЕМЫЕ АДАПТЕРАМИ | 2010 |
|
RU2526287C2 |
СПОСОБЫ И УСТРОЙСТВА, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ГИБКОГО ПЕРЕКЛЮЧЕНИЯ КАНАЛОВ В СЕТИ СВЯЗИ МНОЖЕСТВЕННОГО ДОСТУПА | 2005 |
|
RU2378771C2 |
УПРАВЛЕНИЕ РЕСУРСАМИ VoIP-ГРУППЫ | 2007 |
|
RU2443064C2 |
ОПЕРАЦИОННОЕ УСТРОЙСТВО ДЛЯ ПРОЦЕССОРА С АССОЦИАТИВНОЙ МАТРИЦЕЙ ОДНОРОДНОЙ СТРУКТУРЫ | 1984 |
|
RU2087031C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ СООБЩЕНИЙ ПОРТАТИВНЫМ СРЕДСТВАМ СВЯЗИ В СИСТЕМЕ РАДИОСВЯЗИ | 1994 |
|
RU2111628C1 |
СПОСОБ ПЕРЕКЛЮЧЕНИЯ СОСТОЯНИЯ, СЕТЕВОЕ УСТРОЙСТВО И ТЕРМИНАЛЬНОЕ УСТРОЙСТВО | 2017 |
|
RU2742948C1 |
Изобретение относится к сетям, которые обеспечивают чувствительность, связи и управление. Целью изобретения является создание сети, обладающей достаточной степенью разумности и вычислительной мощности. Поставленная цель достигается тем, что сеть содержит n ячеек, соединенных друг с другом через системную шину, и группирующее устройство для присвоения каждой ячейке номера группы и номера элемента группы и присвоения различных функций групповым номерам, а каждая ячейка содержит процессор, блок ввода/вывода и блок памяти, соединенные через локальную шину. 9 ил.
Сеть для обеспечения чувствительности, двусторонней связи и управления, содержащая n ячеек, информационные и управляющие входы-выходы которых соединены соответственно через магистрали системной шины, отличающаяся тем, что в нее введено группирующее устройство для присвоения каждой ячейке номера группы и номера элемента группы и присвоения различных функций групповым номерам, информационные и управляющие входы-выходы группирующего устройства соединены соответственно через магистрали системной шины с входами-выходами ячеек, а каждая ячейка содержит процессор, блок ввода-вывода и блок памяти для хранения уникального идентификационного номера ячейки, информационные и управляющие входы-выходы которых соединены соответственно через магистрали локальной шины, при этом каждый блок памяти группы хранит программу выполнения общей задачи группы.
Устройство для выпрямления опрокинувшихся на бок и затонувших у берега судов | 1922 |
|
SU85A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Патент ЕПВ N 0226096, кл G 06 F 15/16, 1987. |
Авторы
Даты
1997-09-20—Публикация
1988-07-14—Подача