
                          Описание программы tmk.exe.

        Программа tmk.exe предназначена для работы с платами стандарта
MIL-STD-1553B (ГОСТ 26765.52-87) производства ЗАО "Элкус". Программа для 
обращений к аппаратуре плат использует драйвер (библиотеку функций) tmkll4.
Текущей версией программы поддерживается работа с платами ТМК-400, МТМК-400
(ТМК-MP), РТМК-400, TX1-PC, TX1-MP, TX1-104, TX1-B, TA1-PC, TA1-104, TAM1,
TE1-PCI, TE1-PCI2, TA1-PCI и их модификациями.

        Программа позволяет управлять от одной до четырех плат и при этом
отображать текущее состояние до двух выбранных плат. Для задания конфигурации 
плат в компьютере используется текстовый файл tmk.cfg, который должен
находиться в одной директории с tmk.exe. Пример файла конфигурации для двух
плат (ТМК-400 и TX1-PC):

0 TMK400 120 130 IRQ10
1 TMKX 160 IRQ11
*Дальше идут строки комментария

        Строки задания конфигурации должны располагаться в самом начале файла, 
файл анализируется до первой встреченной строки, начинающейся символом '*', 
или до конца файла. Строка конфигурации состоит из:
 - номера платы (от 0 до 3);
 - символьного имени типа платы из латинских прописных букв (для плат
ТМК-400 имя типа TMK400, для плат МТМК-400 имя типа TMKMPC, для плат РТМК-400
имя типа RTMK400, для всех ISA плат семейства TX, TE (TX1-PC, TX1-MP, TE6-PC
и т.д.) имя типа TMKX, для всех PCI плат семейства TX, TE (TE1-PCI, TE1-PCI2)
имя типа TMKXI, хотя существует возможность конфигурирования этих плат как
плат TMKX, для всех ISA плат семейства TA (TA1-PC, TA1-104, TAM1) имя типа TA,
для всех PCI плат семейства TA (TA1-PCI) имя типа TAI);
 - ISA адресов (шестнадцатеричных) одного или двух используемых блоков
регистров платы в адресном пространстве ввода/вывода компьютера (типы плат
TMK400 используют два блока адресов (задаваемых двумя полями джамперов выбора
адреса), а типы плат TMKMPC, RTMK400, TMKX, TA используют один блок адресов
(задаваемый одним полем джамперов выбора адреса));
 - PCI номеров (шестнадцатеричных) плат в слотах PCI (начиная с 1), а также 
номеров устройств на плате (начиная с 1), если плата содержит более одного 
устройства;
 - ISA номера (десятичного) одного используемого платой прерываний, при
задании номера линии прерывания используется префикс IRQ.

        Примеры строк задания конфигурации плат каждого типа:
0 TMK400 120 130 IRQ10 * плата ТМК-400 с адресами 120h, 130h и irq10
0 TMKMPC 120 IRQ5      * плата МТМК-400 с адресом 120h и irq5
0 RTMK400 120 IRQ10    * плата РТМК-400 с адресом 120h и irq10
0 TMKX 150 IRQ10       * плата TX1-PC с адресом 150h и irq10
0 TMKXI 1              * плата TE1-PCI, первая плата
0 TMKXI 2 1            * плата TE1-PCI2, первое устройство на второй плате
0 TA 140 IRQ10         * плата TA1-PC с адресом 140h и irq10
0 TAI 1                * плата TA1-PCI, первая плата

        Если в файле tmk.cfg задана только одна плата, то программа tmk.exe 
запускается в режиме одного окна, в котором и отображается состояние этой 
платы. Если в файле tmk.cfg заданы две, три или четыре платы, то программа 
запускается в двухоконном режиме. При этом, каждое их двух окон может быть
настроено на отображение состояния любой из заданных плат. Одно из двух окон 
в этом случае является текущим и индицируется двойной рамкой повышенной
яркости.

        Переключение между окнами (смена текущего окна) производится клавишами 
TAB или F4.

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

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

        Общие команды:
 - (TAB, F4) - переключение окон;
 - (стрелка вверх) - предыдущая команда;
 - WIN num_D - переключение на окно с номером num_D;
 - F (F9) - включение/выключение цветового выделения двоичных полей;
 - Q (F10) - выход из программы;
 - R< filename - запуск командного файла filename;
 - C count_D - задание числа повторов count_D командного файла;
 - AVT 0/1 - включает/отключает ожидание нажатия клавиши при выводе на экран.

        Общие команды для использования в командных файлах:
 - P pause_D - пауза, формируемая пустым циклом длиной pause_D;
 - P - пауза до нажатия клавиши;
 - STOP? - останов командного файла при наличии ошибок в статистике;
 - ;text - вывод комментария text на экран (в нижнюю строку);
 - #text - пропуск строки с комментарием text.

        Команды выбора режима окна:
 - TMK num_D - выбор платы, отображаемой в окне;
 - (F3) - переключение режима КК/ОУ;
 - MBC - включение режима КК;
 - MRT - включение режима ОУ;

        Команды окна КК:
 - H (F1) - вывод экрана списка команд для режима КК;
 - I (F8) - сброс (инициализация) КК;
 - T - тест всей памяти платы в режиме КК;
 - (Enter) - обновление отображения буфера;
 - (PgUp, PgDn) - последовательный перебор баз;
 - SB base_H - выбор текущей базы;
 - (F2) - интерактивное редактирование буфера;
 - BE addr_D data_H - запись слова data_H по адресу addr_D в буфере;
 - BC - заполнение буфера нулями;
 - BF start_D end_D data_H - запись слова data_H по адресам с start_D по end_D
   в буфере;
 - SC code_B - задание кода управления, определяющего формат передачи:
   0000 - передача данных КК->ОУ,
   1000 - передача данных КК->ОУ в групповом режиме,
   0001 - передача данных ОУ->КК,
   0010 - передача данных ОУ->ОУ,
   0010 - передача данных ОУ->ОУ в групповом режиме,
   0011 - команда режима управления формата КС - ОС,
   1011 - команда режима управления формата КС в групповом режиме,
   0100 - команда режима управления формата КС+ИС - ОС,
   1100 - команда режима управления формата КС+ИС в групповом режиме,
   0101 - команда режима управления формата КС - ОС+ИС;
 - R filename - чтение буфера и кода управления из файла filename;
 - W filename - запись буфера и кода управления в файл filename;
 - SN bus_D - выбор основной (bus_D = 1) или резервной (bus_D = 2) ЛПИ;
 - G (F6) - однократный старт сообщения из буфера в соответствии с заданным
   кодом управления по заданной ЛПИ;
 - GL (F7) - циклический старт сообщения из буфера в соответствии с заданным
   кодом управления по заданной ЛПИ (останов по PrtScr);
 - GL count_D - циклический старт сообщения count_D раз из буфера в
   соответствии с заданным кодом управления по заданной ЛПИ;
 - SP pause_D - задание паузы pause_D в микросекундах между сообщениями при
   циклическом старте;
 - STC - очистка статистики стартов;
 - STO - вывод статистики стартов;
 - STBO - вывод статистики стартов, закончившихся с исключительной ситуацией.

        Команды окна ОУ:
 - H (F1) - вывод экрана списка команд для режима ОУ;
 - I (F8) - сброс (инициализация) ОУ;
 - T - тест всей памяти платы в режиме ОУ;
 - PG page_D - выбор текущей страницы памяти;
 - SPG page_D - выбор текущей страницы ПЭВМ;
 - CPG page_D - выбор текущей страницы МК;
 - (Enter) - обновление отображения буфера;
 - (PgUp, PgDn) - последовательный перебор подадресов;
 - (Gray +) - переключение подадресов приема/передачи;
 - SR subadr_H - выбор текущего подадреса приема;
 - ST subadr_H - выбор текущего подадреса передачи;
 - (F2) - интерактивное редактирование буфера;
 - BE addr_D data_H - запись слова data_H по адресу addr_D в буфере;
 - BC - заполнение буфера нулями;
 - BF start_D end_D data_H - запись слова data_H по адресам с start_D по end_D
   в буфере;
 - R filename - чтение буфера из файла filename;
 - W filename - запись буфера в файл filename;
 - SAT addr_D - задание адреса ОУ в канале;
 - HBIT 0/1 - выключение/включение режима использования аппаратного бита;
 - FLAG 0/1 - выключение/включение режима работы с флагами подадресов;
 - BCST 0/1 - выключение/включение режима приема групповых команд;
 - DTBL 0/1 - выключение/включение блокировки прерываний по командам
   приема/передачи данных;
 - SMR (F7)- блокировка текущего подадреса (в режиме без флагов);
 - CMR - разблокировка текущего подадреса (в режиме без флагов);
 - SW code_B - задание значений всех битов ответного слова;
 - SBS - установка бита BUSY (Занято) ответного слова;
 - CBS - сброс бита BUSY (Занято) ответного слова;
 - SSR - установка бита SSRQ (Запрос обслуживания подсистемы) ответного слова;
 - CSR - сброс бита SSRQ (Запрос обслуживания подсистемы) ответного слова;
 - STF - установка бита RTFL (Неисправность терминала) ответного слова;
 - CTF - сброс бита RTFL (Неисправность терминала) ответного слова;
 - SSF - установка бита SSFL (Неисправность подсистемы) ответного слова;
 - CSF - сброс бита SSFL (Неисправность подсистемы) ответного слова;
 - SDN - разрешение установки бита DNBA (Принято управление) ответного слова;
 - CDN - запрет установки бита DNBA (Принято управление) ответного слова;
 - RSW (F6) - чтение регистра состояния ОУ;

        Команды двух окон (должны быть два окна - КК и ОУ):
 - ATBC - тест контроллера канала по текущей ЛПИ;
 - ATRT - тест оконечного устройства по текущей ЛПИ;
 - RATBC - тест контроллера канала по обоим ЛПИ;
 - RATRT - тест оконечного устройства по обоим ЛПИ (не для типа RTMK400!);
 - ATS - тест статистики обменов КК/ОУ;
 - SL count_D - задание длины тестов статистики обменов;
 - ERR 0/count_D - отключение/задание числа ошибок для останова тестов
   статистики.

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