РАСШИРИТЕЛЬ ИНТЕРФЕЙСА "КАНАЛ ОБЩЕГО ПОЛЬЗОВАНИЯ"
COMMON USER CHANNEL INTERFACE EXPANDER

Изобретение относится к области контрольно-измерительной техники и может быть использовано при создании различных автоматизированных измерительных систем (АИС), использующих интерфейс "Канал общего пользования" (КОП) для объединения в систему электронных измерительных устройств.
Интерфейс КОП представляет собой систему из 16 двунаправленных линий связи. Интерфейс обеспечивает подключение одновременно до 15 устройств, при этом общая протяженность магистрали КОП не должна превышать 20 м, а длина кабеля между соседними устройствами - 2 м. В то же время общее число адресов абонентов КОП составляет от 31 при однобайтовой адресации до 961 при двухбайтовой адресации. Основные требования к обмену цифровой информацией по интерфейсу КОП приведены в ГОСТ 26.003-80 "Система интерфейса для измерительных устройств с байт-последовательным, бит-параллельным обменом информацией" [1]. Зарубежными аналогами интерфейса КОП являются: IEEE - 488 (ANSI/IEEE Standard 488-1975, ANSI/IEEE Standard 488.1-1987 (США), HP-IB (фирмы Hewlett Packard (США), МЭК 625.1, GP - IB.
В ряде АИС необходимо объединять в единую систему более 15 модулей, в том числе модулей, расположенных на значительном удалении друг от друга. Таким образом, в связи с ограничениями по физической длине и нагрузочной способности интерфейса КОП возникает необходимость применения в АИС специальных устройств - расширителей интерфейса (РИ), соединяющих соседние магистрали КОП непосредственно или через канал передачи информации при расположении магистралей КОП на удалении друг от друга. В последнем случае необходимое соединение обеспечивает пара расширителей.
Требования, которым должен соответствовать идеальный расширитель интерфейса КОП (IEEE 488), приведены в статье авторов C.SaGomes, Т.Shen. "Extending the IEEE 488 Bus", размещенной на сайте National Instruments Corporation в документе http://www.ni.com/pdf/manuals/320911b.pdf [2].
Основные требования следующие:
- Программная прозрачность. РИ должен быть прозрачным по отношению к программному обеспечению (ПО). Включение РИ в систему или исключение из нее не должно приводить к необходимости изменения ПО, т.е. соединяемые через РИ магистрали КОП должны функционировать как одна логическая магистраль;
- Легкость изменения топологии интерфейса. РИ должен обеспечивать возможность подключения любых абонентов интерфейса, контроллеров, приемников и источников данных, с любой из сторон РИ без ограничения их адресов, а также возможность добавления и удаления тех или иных абонентов интерфейса без необходимости изменения адресов других абонентов;
- Быстродействие. РИ не должен ухудшать быстродействие интерфейса;
- Каскадирование. РИ должен обеспечивать возможность последовательного соединения нескольких РИ.
Устройства, объединяемые системой интерфейса, могу выполнять одну или одновременно несколько следующих интерфейсных функций:
- функцию контроллера (управляющего устройства);
- функцию источника данных;
- функцию приемника данных.
При этом только одно из устройств, способных исполнять функцию контроллера, может быть контроллером системы и только одно из них в один и тот же момент времени может быть действующим контроллером.
Также, в один и тот же момент времени только одно из устройств, способных выполнять функцию источника данных, может быть адресовано на "передачу".
Действующий контроллер может находиться в состоянии "контроллер системы активен" (СКАК) и в других состояниях.
В каждый момент времени устройство, выполняющее ту или иную интерфейсную функцию, является источником и (или) приемником интерфейсных сигналов.
Контроллер системы:
- выдает сигнал "очистить интерфейс" (ОИ);
- выдает сигнал "дистанционное управление" (ДУ).
Действующий контроллер в состоянии СКАК (активный контроллер):
- выдает сигнал "управление" (УП);
- выдает сигнал "конец передачи" (КП) в режиме контроллера "параллельный опрос " (СКПР);
- выдает байт интерфейсного сообщения по "линям данных" (ЛД0 - ЛД7);
- выдает сигнал "сопровождения данных" (СД) при передаче байта интерфейсного сообщения;
- принимает сигналы "готов к приему" (ГП) и "данные приняты" (ДП);
- принимает сообщение "реакция на параллельный опрос" (РПО), поступающее по ЛД0 - ЛД7 в режиме параллельного опроса;
Действующий контроллер при передаче байта сообщения устройств:
- выдает сигнал СД и байт сообщения по ЛД0 - ЛД7;
- принимает сигналы ГП и ДП.
Действующий контроллер при приеме байта сообщения устройств:
- принимает сигнал СД и байт сообщения с ЛД0 - ЛД7;
- выдает сигналы ГП и ДП.
Действующий контроллер во всех состояниях:
- принимает сигнал "запрос обслуживания" (ЗО);
- принимает сигналы ОИ и ДУ.
Источник данных:
- выдает байт сообщения устройств или бит реакции на параллельный опрос по ЛД0 - ЛД7;
- выдает сигнал СД при передаче байта сообщения устройства;
- выдает сигнал КП при передаче последнего байта сообщения;
- принимает сигналы ГП и ДП;
- принимает сигнал КП в режиме параллельного опроса;
- принимает сигналы ОИ, ДУ и УП.
Приемник данных:
- выдает сигналы ГП и ДП;
- принимает байт сообщения с ЛДО - ЛД7;
- принимает сигнал СД при приеме байта сообщения;
- принимает сигнал КП при приеме последнего байта сообщения;
- принимает сигналы ОИ, ДУ и УП.
Таким образом, для передачи интерфейсных сигналов между первой, основной магистралью КОП (КОП1) и второй, дополнительной магистралью КОП (КОП2) в нужном направлении необходимо и достаточно в каждый момент времени знать расположение относительно расширителя: системного контроллера, действующего (активного) контроллера и адресованного на передачу источника данных.
Известен "Метод увеличения протяженности магистрали интерфейса КОП", предложенный авторами Разенковым С.Л. и Тимофеевым Е.Ю. в одноименной статье в журнале «Микропроцессорные средства и системы» №2, 1990 [3], а также изложенный авторами Строителевым В.Н., Тетюевым А.Б. и Тимофеевым Е.Ю. в статье "Особенности использования приборного интерфейса в автоматизированных измерительных системах", опубликованной в межотраслевом научно-техническом сборнике «КОНТРОЛЬ и ДИАГНОСТИКА» серии «ТЕХНИКА, ЭКОНОМИКА, ИНФОРМАЦИЯ.» Москва, 1987 [4].
Недостатком предложенного решения является требование обязательной передачи адресов приборов источников данных (ПИ) или приборов приемников данных, расположенных в дополнительной магистрали КОП2, в последнюю очередь [3], что нарушает принцип программной прозрачности РИ и ограничивает возможность изменения топологии интерфейса, так как при перемещении устройств из одной магистрали КОП в другую необходимо вносить соответствующие изменения в адреса устройств и (или) в порядок их передачи. Данное ограничение исключает возможность прямого обмена данными между источником и приемником(и) данных, расположенными в разных дополнительных магистралях КОП.
Кроме того, требование обязательного использования для устройств, расположенных в дополнительной магистрали, двухбайтовой адресации с единым первичным адресом не позволяет подключать к КОП2 устройства с другим первичным или однобайтовым адресом и не обеспечивает последовательного включения РИ, что соответственно ограничивает количество устройств, объединяемых интерфейсом 196 [4].
В свою очередь, жесткая фиксация направления передачи сигналов ОИ, ДУ, УП и ЗО исключает возможность подключения к КОП2 устройств, способных выполнять функции контроллера.
Известны расширители интерфейса КОП (IEEE-488) GPIB - 100A, GPIB - 110, GPIB - 120А, GPIB - 130, GPIB - 140 и GPIB - 140А фирмы National Instruments Corporation (США), техническое описание которых размещено на сайте National Instruments Corporation на странице http://www.ni.com/pdf/ manuals [5], в документах, одноименных с наименованием расширителей.
В данных расширителях расположение контроллера системы определяют по направлению прихода сигнала ОИ, расположение действующего (активного) контроллера по направлению прихода сигнала УП, расположение активного источника данных по направлению прихода сигнала СД. Направление передачи остальных сигналов интерфейса определяют в соответствии с расположением указанных устройств относительно РИ и текущим состоянием интерфейса.
Наиболее близким по технической сущности к предлагаемому устройству является расширитель GPIB - 100А, содержащий приемопередатчики магистрали КОП, блок определения расположения контроллера системы, блок определения расположения активного контроллера, блок определения начала квитирования и контроля квитирования, блок контроля параллельного опроса, блок определения направления передачи данных, мультиплексор данных и приемопередатчики канала передачи информации (интерфейс RS - 422), которые в модификациях расширителя (GPIB - 110, GPIB - 120А, GPIB - 130, GPIB - 140 и GPIB - 140А) заменены приемопередатчиками второй магистрали КОП или приемопередатчиками соответствующего канала связи [5].
1
Недостатком этих РИ является то, что после "адресации на передачу" каждого нового ПИ трансляция байта данных в необходимом направлении возможна только после определения направления на активный ПИ, т.е. только после прихода от него сигнала СД, а так как ПИ выдает сигнал СД относительно начала передачи байта, с задержкой (T) [1], необходимой для установления сигналов в линиях данных (ЛДО - ЛД7), то, как отмечено в [5], для восстановления требуемых временных соотношений между сигналом СД и байтом данных в смежной магистрали трансляция первого сигнала СД задерживается расширителем дополнительно не менее чем на 2,0 мкс.
При поступлении от того же ПИ следующих байтов данных эта дополнительная задержка СД из цикла обмена исключается, т.к. направление на активный ПИ расширителем уже определено, и трансляция байтов данных в необходимом направлении выполняется с исходными временными соотношениями между сигналом СД и байтом данных.
В наибольшей степени дополнительная задержка сигнала СД снижает скорость передачи данных по интерфейсу при передаче коротких сообщений и частой смене ПИ, например, при последовательном опросе контроллером состояний устройств. Кроме того, при каскадном соединении РИ данная задержка обмена соответственно возрастает.
Целью изобретения является повышение скорости передачи байтов данных между магистралями интерфейса КОП при выполнении основных требований, предъявляемых к расширителям интерфейса.
Для достижения указанного технического результата в расширитель интерфейса КОП, содержащий: последовательно соединенные приемопередатчики (ПП) первой и второй магистралей КОП (КОП1 и КОП2), блок определения расположения контроллера системы, блок определения расположения активного контроллера и блок определения направления передачи данных, каждый из которых соединен с приемопередатчиками КОП1 и КОП2 информационными и управляющими сигналами, в блок определения направления передачи данных введены:
наборное поле тридцатиодноразрядного двоичного кода, где номер каждого разряда кода с 0 по 30 соответствует первичному адресу абонента КОП, а логическое состояние этого разряда указывает на то, в какой магистрали КОП1 или КОП2 расположен данный абонент КОП;
селектор-мультиплексор, коммутирующий один из 32 мультиплексируемых входов на один выход в соответствии с пятиразрядным двоичным кодом на его адресных входах;
D-триггер, запоминающий в какой магистрали КОП1 или КОП2 расположен адресованный на передачу абонент КОП;
логические элементы 4И, 2И-2И-2ИЛИ и 2И-ЗИ-ЗИ-ЗИЛИ, обеспечивающие формирование управляющих сигналов для приемопередатчиков, выполняющих трансляцию сигналов ЛДО - ЛД7, СД, КП, ГП и ДП, между сопрягаемыми магистралями.
При этом в блок определения направления передачи данных с блоков определения расположения контроллера системы и определения расположения активного контроллера дополнительно введены необходимые управляющие сигналы, а с приемопередатчиков КОП1 и КОП2 - необходимые информационные сигналы.
На фиг.1 и 2 представлена функциональная схема устройства.
На фиг.1 изображены:
1 - приемопередатчики первой магистрали КОП (ПП КОП1);
2 - приемопередатчики второй магистрали КОП (ПП КОП2);
3 - блок определения расположения контроллера системы;
4 - блок определения расположения активного контроллера;
5 - блок определения направления передачи данных;
6-15 - входы и выходы блока определения направления передачи данных, подключенные следующим образом:
вход 6 - к выходу приемника сигнала УП с магистрали КОП1;
вход 7 - к выходу блока 4, указывающему, что активный контроллер расположен в магистрали КОП2;
выход 8 - к управляющим входам передатчиков сигналов ЛД0 - ЛД7 и СД магистрали КОП1 и к управляющим входам передатчиков сигналов ГП и ДП магистрали КОП2;
выход 9 - к управляющему входу передатчика сигнала КП магистрали КОП1;
входы 10 - к выходам приемников сигналов ЛД0 - ЛД7 с магистрали КОП1;
вход 11 - к выходу приемника сигнала СД с магистрали КОП1;
вход 12 - к выходу приемника сигнала КП с магистрали КОП1;
вход 13 - к выходу блока 4, указывающему, что активный контроллер расположен в магистрали КОП1;
выход 14 - к управляющим входам передатчиков сигналов ЛДО - ЛД7 и СД магистрали КОП2 и к управляющим входам передатчиков сигналов ГП и ДП магистрали КОП1;
выход 15 - к управляющему входу передатчика сигнала КП магистрали КОП2;
КОП1 - группа линий первой магистрали интерфейса КОП;
КОП2 - группа линий второй магистрали интерфейса КОП;
ОИ, ДУ, УП, ЗО, КП - линии шины управления интерфейса КОП, где:
ОИ - линия "очистить интерфейс";
ДУ - линия "дистанционное управление";
УП - линия "управление";
ЗО - линия "запрос на обслуживание";
КП - линия "конец передачи";
ЛДО - ЛД7 - линии шины данных интерфейса КОП с 0 по 7 разряд соответственно;
СД, ДП, ГП - линии шины синхронизации интерфейса КОП, где:
СД - линия "сопровождение данных",
ДП - линия "данные приняты",
ГП - линия "готов к приему".
На фиг.2 изображены узлы, входящие в блок определения направления передачи данных, где:
16 - наборное поле, задающее расположение абонентов КОП относительно расширителя интерфейса;
17 - селектор-мультиплексор адресов абонентов КОП;
18 - логический элемент 2И-2И-2ИЛИ;
19 - логический элемент 4И;
20 - D-триггер фиксации расположения абонента КОП, адресованного на передачу;
21 - логический элемент 2И-3И-3И-3ИЛИ.
Расширитель интерфейса КОП работает следующим образом.
Блок 1 - блок приемопередатчиков КОП1 и блок 2 - блок приемопередатчиков КОП2 обеспечивают передачу двунаправленных сигналов КОП в необходимом направлении, в соответствии с управляющими сигналами, поступающими с блоков 3, 4 и 5.
Блок 3 определения расположения контроллера системы по направлению прихода сигнала ОИ из магистрали КОП1 или КОП2 определяет расположение системного контроллера, запоминает направление на него и разрешает передачу сигналов ОИ и ДУ в направлении от системного контроллера.
Блок 4 определения расположения активного контроллера по направлению прихода сигнала УП из магистрали КОП1 или КОП2 определяет расположение активного контроллера, запоминает направление на него и разрешает передачу сигнала УП в направлении от активного контроллера и сигнала ЗО в направлении на активный контроллер.
Блок 5 определения направления передачи данных разрешает передачу интерфейсных сообщений или сообщений устройств, поступающих по шине данных (ЛД0 - ЛД7) и сигналов СД и КП, в направлении от источника данных, а сигналов ГП и ДП в направлении на источник данных и работает в трех режимах:
в режиме передачи интерфейсных сообщений (команд или адресов), признаком чего является наличие сигнала УП и отсутствие сигнала КП;
в режиме параллельного опроса, признаком чего является наличие сигнала УП и сигнала КП;
в режиме передачи сообщений устройств (данных или сообщений о состоянии), признаком чего является отсутствие сигнала УП.
В режиме передачи интерфейсных сообщений блок 5 разрешает передачу сигналов ЛД0 - ЛД7, СД и КП из магистрали размещения активного контроллера в сопряженную магистраль и передачу сигналов ГП и ДП в противоположном направлении. В этом режиме на блок 5 поступает сигнал 6 с выхода приемника сигнала УП блока приемопередатчиков КОП1 и один из управляющих сигналов 7 или 13 с блока 4, указывающие на расположение активного контроллера относительно устройства передачи данных. Сигнал 7 указывает, что контроллер расположен в КОП2, а сигнал 13 указывает на расположение контроллера в КОП1.
Сигнал 6 поступает на первый вход первой группы входов логического элемента 18 (2И-2И-2ИЛИ) и, если на второй вход первой группы входов элемента 18 поступает сигнал 13, то управляющий сигнал 15, выдаваемый с прямого выхода элемента 18, разрешает передачу сигнала КП из КОП1 в КОП2. Если, при наличии сигнала 6, сигнал 13 отсутствует, то управляющий сигнал 9, выдаваемый с инверсного выхода элемента 18, разрешает передачу сигнала КП из КОП2 в КОП1.
Сигнал 6 поступает так же на второй вход третьей группы входов логического элемента 21 (2И-3И-3И-3ИЛИ) и, если на первый вход третьей группы входов элемента 21 поступает сигнал 13, а т.к. в данном режиме сигнал 12 отсутствует, то управляющий сигнал 14, выдаваемый с прямого выхода элемента 21, разрешает передачу сигналов ЛД0 - ЛД7, СД из КОП1 в КОП2, а сигналов ДП и ГП в противоположном направлении. Если, при тех же условиях, сигнал 13 отсутствует, то управляющий сигнал 8, выдаваемый с инверсного выхода элемента 21, разрешает передачу сигналов ЛД0 - ЛД7, СД из КОП2 в КОП1, а сигналов ГП и ДП в противоположном направлении.
В режиме параллельного опроса блок 5 разрешает передачу сигнала КП из магистрали размещения активного контроллера в сопряженную магистраль, а сигналов ЛД0 - ЛД7 в противоположном направлении. В этом режиме на блок 5 поступает сигнал 6 с выхода приемника сигнала УП, сигнал 12 с выхода приемника сигнала КП блока приемопередатчиков КОП1 и один из управляющих сигналов 7 или 13 с блока 4 в соответствии с расположением контроллера.
Сигналы 6 и 12 поступают соответственно на второй и третий входы второй группы входов элемента 21 и, если на первый вход третьей группы входов элемента 21 поступает сигнал 7, то управляющий сигнал 14, выдаваемый с прямого выхода элемента 21, разрешает передачу сигналов ЛД0 - ЛД7 из КОП1 в КОП2. Если, при тех же условиях, сигнал 7 отсутствует, то управляющий сигнал 8, выдаваемый с инверсного выхода элемента 21, разрешает передачу сигналов ЛД0 - ЛД7 из КОП2 в КОП1.
В режиме параллельного опроса сигнал КП транслируется так же, как и в режиме передачи интерфейсных сообщений, а направление передачи сигналов СД, ГП и ДП не имеет значения, т.к. в этом режиме данные сигналы не используются.
В режиме передачи сообщений устройств блок 5 разрешает передачу сигналов ЛД0 - ЛД7, СД и КП из магистрали размещения прибора источника сообщения в сопряженную магистраль и передачу сигналов ГП и ДП в противоположном направлении.
Переходу КОП в данный режим обязательно предшествует адресация на передачу одного из абонентов КОП, за исключением тех случаев, когда сообщения устройств передает сам контроллер.
При передаче по КОП адреса источника данных в блоке 5 выполняются следующие действия.
Наборное поле 16, выполненное на переключателях, джамперах или монтажных перемычках, формирует тридцатиодноразрядный двоичный код, где номер каждого разряда кода с 0 по 30 соответствует первичному адресу абонента КОП, а логическое состояние этого разряда указывает на то, в какой магистрали КОП1 или КОП2 расположен абонент с данным первичным или однобайтовым адресом. На представленной на фиг.2 схеме разряды кода, соответствующие адресам абонентов, расположенным в КОП1, поступают с наборным уровнем логического «0», остальные разряды - уровнем логической «1». Двоичный код с наборного поля поступает на одноименные, с 0 по 30, мультиплексируемые входы селектора-мультиплексора 17.
Адресные входы селектора-мультиплексора подключены поразрядно, в соответствии с номером входа к сигналам ЛД0 - ЛД4, поступающим по шине 10 с одноименных выходов приемников шины данных. Сигналы ЛД6 и ЛД5, поступающие по шине 10, подключены соответственно к прямому и инверсному входу элемента 19 (4И). К двум другим прямым входам элемента 4И соответственно подключены сигнал 11 с выхода приемника сигнала СД и сигнал 6 с выхода приемника сигнала УП.
Селектор-мультиплексор в соответствии с пятиразрядным двоичным кодом на его адресных входах, разрешает прохождение одного из входных мультиплексируемых сигналов на инверсный выход, подключенный к входу данных D-триггера 20. При передаче по КОП первичного адреса источника данных, признаком которого является наличие логической «1» в ЛД6, логического «0» в ЛД5 и наличие сигнала УП, с элемента 19 по приходу сигнала СД выдается сигнал на тактовый вход D-триггера.
По тактовому сигналу D-триггер устанавливается в положение в соответствии с сигналом на входе данных, тем самым запоминая направление на адресуемый источник данных. Выход D-триггера подключен к первому входу второй группы входов элемента 18 и первому входу первой группы входов элемента 21.
При переходе КОП в режим передачи сообщений устройств, т.е. сразу после снятия сигнала УП, элементы 18 и 21 выдают управляющие сигналы 8 и 9 или 14 и 15 в зависимости от логического состояния сигнала с D-триггера, а именно, если сигнал с D-триггера равен логической «1», то управляющие сигналы 14 и 15 разрешают трансляцию сигналов ЛД0 - ЛД7, КП, СД из КОП1 в КОП2 и соответственно сигналов ГП, ДП из КОП2 в КОП1. Если же сигнал с D-триггера равен логическому «0», то управляющие сигналы 8 и 9 разрешают трансляцию сигналов ЛД0 - ЛД7, КП, СД из КОП2 в КОП1 и соответственно сигналов ГП, ДП из КОП1 в КОП2.
При переходе КОП в режим передачи интерфейсных сообщений и передаче по КОП интерфейсной команды "не передавать" (НПД) в блоке 5 выполняются следующие действия: код команды НПД, содержащий логические «1» в пяти младших разрядах, разрешает прохождение сигнала с 31 входа селектора-мультиплексора на его инверсный выход, а т.к. на 31 вход селектора-мультиплексора поступает управляющий сигнал с блока 4, логическое состояние которого соответствует расположению активного контроллера, то по тактовому сигналу с элемента 19, формируемому так же как и при передаче по КОП первичного адреса источника данных, D-триггер устанавливается в логическое состояние в соответствии с расположением активного контроллера и при последующем переходе КОП в режим передачи сообщений устройств обеспечивает трансляцию сигналов ЛД0 - ЛД7, КП, СД в направлении от активного (действующего) контроллера и сигналов ГП, ДП в направлении на него.
Информационные сигналы УП, КП, СД, ЛД0 - ЛД6, поступающие на блок определения направления передачи данных с приемников КОП1, могут быть заменены в любом сочетании на одноименные сигналы с приемников КОП2, при этом логика функционирования блока определения направления передачи данных не изменится.
Для соединения магистралей КОП, расположенных на удалении друг от друга, приемопередатчики КОП1 или КОП2 могут быть заменены на приемопередатчики соответствующего канала передачи информации (КПИ). В данном случае необходимое соединение по КПИ обеспечивает пара расширителей, при этом логика функционирования каждого из расширителей также не изменится.