/*************************************************************************************************************
  Copyright (C) 2016-2022 JSC "ICC Milandr" 

*************************************************************************************************************/

/*
 *
 *  Файл:      readme.txt
 *  Описание:  Описание примера MIL_STD_RemoteTerminal
 *
 *  История:
 *             05.10.22  - cоздан
 *
 */


/* Описание примера ----------------------------------------------------------------------------------------*/

В данном примере приведена настройка контроллер MIL_STD_1 в режиме ОУ с использование аппаратной поддержки 
ГОСТ 51765-2001. Функции, которые не выполняются аппаратно, в примере реализованы программным способом.
Частота CCLK = 192 МГц, чтобы частота SOC шины (192 / 2 = 96) была кратна 8 - требование контроллера MIL_STD.

Настройка проекта выполняется с помощью следующих макроопределений:
- USE_HARDWARE_ADDRESS: если раскомментировано, то адрес ОУ будет получен из PORTB[8:4], а флаги в ОС 
   (StatusWord) будут получены из PORTB[12:9];
   eсли закомментировано, то адрес ОУ берется из ADDR_OU, а флаги в ОС берутся из переменных:
   Trouble_OU_0, Trouble_user_2, Busy_User_3, s_request_8;
- __5559IN67: необходимо раскомментировать, если используется микросхема 5559ИН67Т;
- __5559IN13: необходимо раскомментировать, если используется микросхема 5559ИН13У1/2.

Назначение выводов при использовании USE_HARDWARE_ADDRESS:

Биты адреса ОУ:
PB[4] - адрес 0,
PB[5] - адрес 1,
PB[6] - адрес 2,
PB[7] - адрес 3,
PB[8] - адрес 4.

Бит четности адреса ОУ:
PB[13] - бит четности

Флаги в ОС (StatusWord):
PB[9]  - Абонент занят (Busy)
PB[10] - Неисправность ОУ (Terminal Flag)
PB[11] - Неисправность абонента (Subsystem Flag)
PB[12] - Запрос на обслуживание (Serice Request)
    
Обратите внимание, что при установленном бите RT_HW в регистре CONTROL (MIL1Cfg.RtHardwareSupport) включается 
аппаратная поддержка ГОСТ 51765-2001 для режима ОУ, при этом ситуации, связанные с формированием ОС, будут 
выполняться аппаратно, за исключением обработки "циклического подадреса, установки и сброса признаков абонент 
занят, неисправность абонента, неисправность ОУ, запрос на обслуживание, а также задание адреса ОУ и бита 
паритета посредством внешнего соединения".

Если контроллер интерфейса по ГОСТ 52070-2003 в режиме ОУ будет работать без использования аппаратной 
поддержки ГОСТ 51765-2001 (бит RT_HW установлен в 0), то в этом случае обработка команд управления и 
полное формирование ОС осуществляется программно.


/* Содержание каталога -------------------------------------------------------------------------------------*/

    - main.c               Основная программа
    - project.ldf          Файл сценария для компоновщика
    - session.lldbinit     Файл инициализации периферии до запуска отладки
    - .cproject, .project  Файлы конфигурации проекта


/* Аппаратная и программная среда --------------------------------------------------------------------------*/

    - Интегрированная среда разработки CM-LYNX.
    - Отладочная плата для процессора 1967ВН044.
    - Модуль МКИО на основе 5559ИН13У2.
    - Модуль МКИО на основе 5559ИН67Т.
    
    Модуль МКИО на основе 5559ИН13У2 или 5559ИН67Т необходимо подключить в разъёмы XS2.1-XS2.2 (MIL_STD_1).
    Для модуля отладочного вер. 2.31 и более необходимо установить джампер на разъём XP2.
    Для модуля отладочного вер. 2.3 и менее необходимо снять джампер с разъёма XP2.


/* Использование -------------------------------------------------------------------------------------------*/

Для запуска примера необходимо выполнить следующие действия:
    - Создать новое или открыть существующее рабочее пространство (Workspace).
    - Выполнить импорт проекта "MIL_STD_RemoteTerminal" в соответствии с 
      "ML_GUI_Руководство_пользователя_R_Vx", п. "Импорт существующего проекта".
    - Выполнить сборку проекта.
    - Создать конфигурацию отладки в соответствии с "ML_GUI_Руководство_пользователя_R_Vx", п. "Настройка 
      конфигурации и запуск отладки".
    - Запустить пример в режиме отладки.

Подробное описание библиотеки HAL с примерами использования функций приведено в каталоге по пути:
"CM-LYNX.x.yy.zz\toolchain\1967VN044\HAL\doc".
