
Монитор MIL-STD-1553B (ГОСТ 26765.52-87). v3.02. ЗАО 'ЭЛКУС', СПб, 1997-2006.
Работает с платами TX1/TE1, TX6/TE6, TA1.

Формат вызова: mt1553b.exe параметр1 [параметр2] ...

Параметры (в круглых скобках - значения по умолчанию):
? - эта справка;
tx/ta - задает тип устройства TX или TA (tx);
d<НомерПлаты(dec)> - задает номер платы PCI в компьютере, начиная с 1 (нет);
e<НомерУстройства(dec)> - задает номер устройства на плате PCI (e1);
p<АдресПорта(hex)> - задает базовый адрес платы ISA в компьютере (нет);
i<НомерПрерывания(dec)> - задает используемое прерывание ISA (нет);
n<ИмяФайла> - задает файл с результатами работы (nmonitor.dat);
l<ДлинаБуфера(dec)> - задает размер буфера сообщений программы (l1024);
f<СловоЗаписи(hex)> - включает режим предзаписи указанного слова во все
     ячейки памяти монитора (выкл);
t+ - включает программную регистрацию времени сообщений (выкл);
th<0-6> - включает аппаратную регистрацию времени сообщений (выкл);
b<+/-> - включает/выключает регистрацию групповых сообщений (b+);
ar<ДиапазонАдресовОУ(dec)> - задает диапазон адресов оконечных устройств,
     для которых производится регистрация сообщений; пример задания
     диапазона адресов: ar2,5-10,17,28-30 (ar0-30);
as<ДиапазонАдресовОУ(dec)> - задает диапазон адресов оконечных устройств,
     для которых выдается сигнал синхронизации; пример задания
     диапазона адресов: as2,5-10,17,28-30 (as0-30);
sp<НомерLPT(dec)> - задает номер порта LPT в режиме синхронизации (sp1);
sm<Маска(hex)> - задает маску паспорта сообщения при синхронизации (smFFFF);
sn<Min(hex)> - задает min паспорта сообщения при синхронизации (sn0000);
sx<Max(hex)> - задает max паспорта сообщения при синхронизации (sxFFFF);
o<ДиапазонАдресовДанных(hex)> - задает диапазон адресов данных в канале,
     которые должны отображаться на экране при мониторинге; пример
     задания диапазона: o0E21,5223-5226 (выкл);
m<b/r/m/s/bs/rs/ms> - задает режимы буферизации(b), регистрации(r),
     только мониторинга(m) и/или синхронизации(s) (mr).

Пример (ISA TX1-PC) : mt1553b p150 i11 ndata.sav l2000 fFFFF ar0-9,20-29
Пример (PCI TA1-PCI): mt1553b d1 ta th

Для плат с шиной ISA при запуске программы надо указывать адрес портов 
и прерывание, используемые платой (параметры p, i).

Для плат с шиной PCI при запуске программы надо указывать номер платы, 
начиная с 1 (параметр d). Если плата содержит несколько устройств
(например, TE1-PCI2), то также надо указывать номер устройства на плате 
(параметр e).

Для плат серии TA1 (TA1-PCI, TA1-104 и т.д.) при запуске надо задавать 
параметр ta.

Программа mt1553b.exe позволяет сохранить в текстовом файле для дальнейшего 
просмотра и анализа траффик в резервированной шине MIL-STD-1553B. Для
правильной работы программы на плате должен быть правильно установлен 
джампер, задающий использование или неиспользование аппаратного бита в 
системе (см. Техническое описание конкретной платы). 

Программа работает с платами ISA (TX1-PC, TX1-MP, TX1-104, TX1-B, TE1-PC,
TE1-IPI, TE1-MP, TE1-104, TX6-PC, TE6-PC, TA1-PC, TA1-104, TAM1) и платами
PCI (TE1-PCI, TE1-PCI2, TE1-CPCI-1, TE1-CPCI-2, TE6-PCI, TA1-PCI).

Программа может работать в режимах регистрации, буферизации, мониторинга и
синхронизации. 

В режиме регистрации программа одновременно ведет мониторинг канала и
записывает получаемые данные на диск. В этом режиме останов программы
происходит либо по переполнению буфера сообщений, расположенного в ОЗУ
платы, либо по нажатию клавиши. Программа постоянно переписывает информацию
из ОЗУ платы в ОЗУ компьютера, а из ОЗУ компьютера на диск. Поскольку запись
на диск ведется средствами ОС, возможны произвольные задержки в работе самой
программы, что при недостаточной производительности компьютера и/или
дисковой подсистемы может приводить к переполнению любого из буферов и либо 
останову, либо потере части сообщений. Максимальное число регистрируемых
сообщений определяется только размером свободного пространства на диске. 
Программа не проверяет при записи на диск наличие свободного пространства!
По умолчанию программа запускается в этом режиме.

В режиме буферизации программа сначала заполняет полностью буфер в памяти 
ПК, а потом записывает его целиком на диск. Так как программа не выполняет 
дисковые операции в момент активной работы с каналом, потери сообщений и
останов по причине переполнения буфера в ОЗУ платы практически исключены, 
но максимальное число регистрируемых сообщений определяется длиной буфера 
в ОЗУ ПК и составляет примерно 6000 сообщений (буфер размещается только в 
младших 640К памяти). Останов программы в этом случае происходит по
заполнению этого буфера или по нажатию клавиши. Ограничением на число
регистрируемых сообщений также служит и размер свободного пространства на
диске. Программа не проверяет при записи на диск наличие свободного
пространства!

В режиме мониторинга программа отображает на экране данные, заданные
параметром o.

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

Результирующий Файл имеет имя monitor.dat, это имя можно изменить с помощью 
параметра n.

Параметр l задает размер буфера в ОЗУ ПК.

Поскольку аппаратура плат TX не позволяет определить реально принятое число 
слов в сообщении, размер принятого сообщения определяется на основе анализа
командного слова сообщения. Если сообщение принято с ошибкой, отображенное 
число слов в файле результата может не соответствовать реальному. Для 
уменьшения такой неопределенности можно пользоваться режимом предзаписи 
слова во все ячейки ОЗУ платы (параметр f). В этом случае реально принятые 
слова заменят заданное слово предзаписи, если же какие-то слова не были 
получены, на их месте отобразится слово предзаписи. Понятно, что выбирать 
это слово надо таким образом, чтобы оно не совпало со словами в сообщениях.
Включение данного режима уменьшает скорость работы программы.

Аппаратура плат TX не содержит средств регистрации времени получения
сообщений. С помощью параметра t можно включить программный алгоритм
определения времени. Включение данного режима уменьшает скорость работы
программы. Сам алгоритм имеет несколько ограничений. Регистрация времени
происходит в момент получения программой прерывания. Если по какой-либо
причине (например, работа с диском) произошла задержка получения прерывания
- время будет искажено на величину этой задержки. Если же произойдет
пропуск прерывания (два или несколько сообщений будут зарегистрированы по
прерыванию от последнего из них) - для сообщений с пропущенным прерыванием
будет отображено нулевое время относительно предыдущего сообщения. Алгоритм
обеспечивает правильное определение времени только при прямом доступе к
аппаратуре ПК (в DOS). При работе в Windows алгоритм определяет (по крайней
мере, пытается определить) правильное время, если сообщения идут с паузой не
более 27.5 мс. Если это не так - возможны искажения времени на +-27.5 мс или
на +-55 мс.

Для плат TA можно включить аппаратный таймер для регистрации времени прихода
сообщений с помощью ключа th. При этом, также как и в случае с программным
таймером, регистрируется время окончания сообщений. Ключ th включает таймер 
с микросекундной точностью и отображение времени в микросекундах. Ключи с
th0 по th6 включают таймер с делителем на 2**N (N=0..6, th0 - микросекундная
точность) и отображением времени в миллисекундах.

     Представление результирующего файла программы монитора mt1553b.exe.

Все сообщения регистрируются в порядке их поступления из канала. Каждое
сообщение имеет свой порядковый номер N(dec). В прямоугольниках показаны
источник и приемник сообщения - контроллер канала (КК) или оконечное
устройство (ОУ) со своим адресом (dec). Стрелка указывает на направление
передачи информационных слов (слов данных) или команды управления. Над
стрелкой показан активная линия А или В, под стрелкой выводится количество
информационных слов (ИС). Команды управления справа от прямоугольников
расшифровываются по их названию и в рамке ОУ отмечаются комментарием
"режим". Для команд обмена данными в рамке ОУ указан подадрес (dec)
приема/передачи ИС. Групповые комады отмечаются комментарием "Всем ОУ" на
правой рамке.

Если сообщение достоверно и в ответном слове не установлен ни один
бит, то со следующей строки выводятся командные (КС), ответные (ОС) и
информационные (ИС) слова в порядке их прохождения по каналу. В противном
случае сначала дается конкретное предупреждение об ошибке или установке
бита в ОС.

КС, ОС и ИС представлены в (hex) формате, кроме того КС и ОС раскрыты
по полям в виде:
     КС:  [адрес ОУ(dec)]-[T/R(bin)]-[подадрес(dec)]-[число слов(dec)]
       T - бит прием/передача = 1,  R - бит прием/передача = 0
     ОС:  [адрес ОУ(dec)]-ME-0-SR-000-BC-BS-SF-DN-TF
       TF - бит "Неисправность ОУ"
       DN - бит "Принято управление интерфейсом"
       SF - бит "Неисправность абонента"
       BS - бит "Абонент занят"
       BC - бит "Принята групповая команда"
       000- резервные биты
       SR - бит "Запрос на обслуживание"
       ME - бит "Ошибка в сообщении"

Пример результирующего файла на 20 сообщений:

   1: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Разблокировать передатчик
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E5    10-T-31-05
      ОС: 5001    10-0-0-0-000-0-0-0-0-TF

   2: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Блокировать бит неисправности ОУ
      ╚═══════╝         ╚═══════╝

      КС: 57E6    10-T-31-06
      ОС: 5000    10-0-0-0-000-0-0-0-0-0

   3: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Разблокировать бит неисправности ОУ
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E7    10-T-31-07
      ОС: 5001    10-0-0-0-000-0-0-0-0-TF

   4: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Синхронизация
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E1    10-T-31-01
      ОС: 5004    10-0-0-0-000-0-0-SF-0-0

   5: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Блокировать передатчик
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E4    10-T-31-04
      ОС: 5008    10-0-0-0-000-0-BS-0-0-0

   6: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║<────────║ режим ║  Передать векторное слово
      ╚═══════╝  1 слово╚═══════╝
Установлен бит в ОС.
      КС: 57F0    10-T-31-16
      ОС: 5100    10-0-0-SR-000-0-0-0-0-0
      ИС: BABA

   7: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Принять управление интерфейсом
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E0    10-T-31-00
      ОС: 5002    10-0-0-0-000-0-0-0-DN-0

   8: ╔═══КК══╗ линия A ╔Всем ОУ╗
      ║       ║────────>║ режим ║  Установить исходное состояние ОУ
      ╚═══════╝         ╚═══════╝

      КС: FFE8    31-T-31-08

   9: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Передать ответное слово
      ╚═══════╝         ╚═══════╝
Установлен бит в ОС.
      КС: 57E2    10-T-31-02
      ОС: 5010    10-0-0-0-000-BC-0-0-0-0

  10: ╔═══КК══╗ линия A ╔═ОУ 00═╗
      ║       ║────────>║ режим ║  Начать самоконтроль ОУ
      ╚═══════╝         ╚═══════╝
Нет ответного слова (Ошибка паузы перед ОС).
      КС: 07E3    00-T-31-03
      ОС: ----

  11: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║<────────║ режим ║  Передать слово встроенного контроля
      ╚═══════╝  1 слово╚═══════╝

      КС: 57F3    10-T-31-19
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: DEFA

  12: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║<────────║ режим ║  Передать последнюю команду
      ╚═══════╝  1 слово╚═══════╝

      КС: 57F2    10-T-31-18
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: 57F3

  13: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║ режим ║  Нелегальная команда
      ╚═══════╝         ╚═══════╝
Ошибка в КС1.
Установлен бит в ОС.
      КС: 53E1    10-R-31-01
      ОС: 5400    10-ME-0-0-000-0-0-0-0-0

  14: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║────────>║падр 17║
      ╚═══════╝ 32 слова╚═══════╝

      КС: 5220    10-R-17-00
      ИС: 0000 0001 0002 0004 0008 0010 0020 0040 0080 0100
          0200 0400 0800 1000 2000 4000 8000 1111 2222 3333
          4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD
          EEEE FFFF
      ОС: 5000    10-0-0-0-000-0-0-0-0-0

  15: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║<────────║падр 17║
      ╚═══════╝ 29 слов ╚═══════╝

      КС: 563D    10-T-17-29
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010
          0011 0012 0013 0014 0015 0016 0017 0018 0019 0020
          0021 0022 0023 0024 0025 0026 0027 0028 0029

  16: ╔═══КК══╗ линия A ╔═ОУ 01═╗
      ║       ║────────>║ режим ║  Синхронизация с ИС
      ╚═══════╝  1 слово╚═══════╝
Установлен бит в ОС.
      КС: 0BF1    01-R-31-17
      ИС: 000B
      ОС: 0905    01-0-0-SR-000-0-0-SF-0-TF

  17: ╔═ОУ 10═╗ линия A ╔═ОУ 01═╗
      ║падр 20║────────>║падр 18║
      ╚═══════╝  5 слов ╚═══════╝
Установлен бит в ОС.
      КС: 0A45    01-R-18-05
      КС: 5685    10-T-20-05
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: 1111 2222 3333 4444 5555
      ОС: 0905    01-0-0-SR-000-0-0-SF-0-TF

  18: ╔═ОУ 10═╗ линия A ╔Всем ОУ╗
      ║падр 17║────────>║падр 17║
      ╚═══════╝  2 слова╚═══════╝

      КС: FA22    31-R-17-02
      КС: 5622    10-T-17-02
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: 0001 0002

  19: ╔═ОУ 10═╗ линия A ╔Всем ОУ╗
      ║падр 17║────────>║падр 17║
      ╚═══════╝  2 слова╚═══════╝
Несовпадение полей числа слов в двух КС.
      КС: FA23    31-R-17-03
      КС: 5622    10-T-17-02
      ОС: 5000    10-0-0-0-000-0-0-0-0-0
      ИС: 0001 0002

  20: ╔═══КК══╗ линия A ╔═ОУ 10═╗
      ║       ║<────────║падр 17║
      ╚═══════╝  1 слово╚═══════╝
Нет ответного слова (Ошибка паузы перед ОС).
      КС: 5621    10-T-17-01
      ОС: ----
      ИС: Недостоверны.


(c) ЗАО "Электронная компания ЭЛКУС", 2006.
