Pull to refresh
1956.22
Timeweb Cloud
То самое облако

Автомашинист. Навигатор для локомотива

Level of difficultyEasy
Reading time7 min
Views4.8K
Приветствую всех!
Все мы знаем, что во время движения поезда машинисту следует учитывать кучу параметров вроде профиля пути, временных ограничений скорости, опасных мест и тому подобного. И было бы странно, если бы до сих пор не была придумана система, позволяющая информировать его об этом. Как оказалось, такая штука действительно есть, и мне удалось заполучить на опыты один экземпляр.



Итак, сегодня поговорим про такую штуку как система информирования машиниста. Заодно запустим её, посмотрим на девайс в работе, а также узнаем, что ещё умеет этот блок. Как водится, будет много интересного.

Суть такова


Уже не раз упоминавшаяся мною система автоведения поездов не ограничилась в своём развитии на автоматическом управлении как таковом. Одним из дальнейших направлений стал электронный подсказчик для машиниста — этакий автомашинист без самого автомашиниста. Именно этим и является сегодняшний девайс — АСИМ-ЭММ, то есть автоматизированная система информирования машиниста с функцией электронного маршрута машиниста.



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

Обзор оборудования


Ну а пока что взглянем на доставшийся мне экземпляр. Эти блоки — уже не какое-то древнее старьё, появились они сравнительно недавно, и вот буквально сейчас начали списываться.



А вот и наш блок — БСГД-7. Спереди всё традиционно — экран, закрытый стеклом, и уже знакомый логотип.



Разъёмов, на удивление, немного. 2РМ18Б7Ш1В1 для связи с блоками и с шлюзом CAN системы КЛУБ-У, РС4ТВ для клавиатуры, FQ14-4ZK-8S для USB и FQ14-5ZK-8S для RS-232 и RS-485. Также видна парочка SMA для GSM и GPS.



С одного из боков щель считывателя смарт-карт и индикаторы питания, связи с сервером и приёма сигнала от спутников.

Внутренности


У меня нет ни малейшей документации на этот блок, поэтому для того, чтобы выяснить, как его запустить, его придётся разобрать.



Открутив кучу винтов, снимаем крышку. Внутри видим кучу пустого места и несколько плат.



Сердце БСГД-7 — процессорный модуль SK-iMX6S-SODIMM на базе ARM Cortex-A9 на один гигагерц.



Помимо самого процессора на борту у него 512 МБ DDR3 и 4 ГБ eMMC. Всякие интерфейсы типа UART, SPI, I2C и контроллера матрицы LVDS также в наличии.



Ещё из интересного — для этого процессорного модуля существует готовое решение доверенной загрузки от Aladdin. И, к слову, это не последнее упоминание криптографии в сегодняшней статье...



Но вернёмся к блоку. В углу расположилась плата считывателя смарт-карт. Сюда вставляется многофункциональная электронная карта РЖД (МЭК), предназначенная для идентификации машиниста и авторизации блока на сервере.



Модуль GPS и ГЛОНАСС.



А это 3G-модем EHS5-E от Cinterion. Также в углу платы виден производитель этого блока — некий «ТрансИнфоПроект».



Симка. Предназначена она исключительно для работы в корпоративных сетях РЖД, позвонить или выйти в «большой» интернет с ней нельзя.



Ещё одна крайне интересная составляющая блока — ионисторная батарея, позволяющая девайсу работать при непродолжительных перебоях питания. В отличие от аккумуляторов, суперконденсаторы очень надёжны, а также совершенно нечувствительны к полному разряду.



Ещё один ионистор притаился на основной плате.



К нижней части корпуса прикручен алюминиевый брусок — это нагреватель, защищающий девайс от глюков и конденсата в холодную погоду.



Вероятно, для этих же целей служит и мощный резистор, установленный на плате.



Разъёмы на крышке подключены к этакой кросс-плате.

Как работает АСИМ-ЭММ


В отличие от «традиционных» систем автоведения, где базы загружаются в депо, это устройство более продвинутое: оно позволяет получать эти сведения онлайн.



Система передаёт данные по шифрованному каналу (на БСГД установлен ViPNet) через обычный GSM-модуль с корпоративной симкой. Помимо данных о машинисте, карта которого вставлена в блок, система также передаёт сведения об потреблении каждой секции, скорости и ряде дискретных сигналов из системы управления, позволяя минимизировать пережог электроэнергии и построить оптимальный маршрут.



В отличие от УСАВП, АСИМ устроена куда проще, поскольку никакими цепями поезда не управляет. Помимо БСГД-7 в ней также содержится БПЛК (блок питания локомотивный), БДВ (блок дискретного ввода), СЭППТ (счётчик электроэнергии). Все блоки связаны между собой шиной CAN.



А вот это БС-СН и кассета регистрации. Точно такие же блоки используются в системах БЛОК и КИО-САУТ.



Кадр с этого экрана. Серые прямоугольники — ограничения скорости. Белая кривая — график изменения фактической скорости, также видны обозначения пикетов и светофоры. В нижней часть профиль пути с графиком перепадов высот и отметками путевых объектов (переезды, газопроводы, мосты, тоннели, места пробы тормозов...), ещё ниже — текущая скорость, количество впереди свободных блок-участков (зелёные квадратики), координата, ускорение и прочие параметры.

МЭК


Упомянутая карта машиниста тоже не так уж и проста.



На ней находится контейнер ключа электронной подписи (КриптоПро). Таким образом, воткнув свою карточку, машинист гарантирует, что за управлением находится именно он, а значит, отвечать за косяки будет тоже он.



При помощи этой же карты машинисты регистрируются перед поездкой и после неё (также считывая на этом терминале кассеты регистрации).



Такими картами снабжаются все работники РЖД. В частности, именно её мы могли видеть в некогда нашумевшем посте про РЖДфон.

Первый запуск


С работой более-менее разобрались. Самое время глянуть, что умеет мой блок. Как вы уже поняли, штука эта совершенно отличается от ранее рассмотренных экземпляров, тем и интереснее её оживить. Первым делом определимся с распиновкой:

  1. CANH
  2. CANL
  3. 48 В (+)
  4. 48 В (-)
  5. Ничего
  6. Ничего
  7. Ничего

Для CAN1 и CAN2 распиновка одинаковая, отличаются только каналы CAN.



Подаём питание. Загорается подсветка экрана, из динамика слышится тихое шипение. Где-то через полминуты на дисплее появляется пингвинчик.



Ещё через минуту блок наконец загружается, показав нам пустой график. Слева видна шкала рекомендуемой скорости, по горизонтали должна быть ордината.



В углу значки состояния: уровень сотового сигнала, связь с сервером, наличие симки.



На этом возможности, похоже, кончились: больше ни в какое меню кроме этого попасть не удалось. В чём же дело? Давайте разбираться…

Карта машиниста


Первым предположением было то, что без карты машиниста девайс не пускает в меню.



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



Несколько дней ожидания, и в моих руках сразу две карточки, судя по всему, где-то списанные. Понятное дело, что сейчас они уже недействительны (возможно, те, кому они выдавались, уже даже не работают в РЖД), но для наших целей сгодятся.



Из интересного — на просвет в ней видна какая-то антенна (а также над надписью «многофункциональная» явно находится ещё один какой-то чип), однако ни одна карточка ни в одном диапазоне RFID не прочиталась. То ли она сдохла, то ли была деактивирована при выводе из работы, то ли бесконтактная идентификация в ней и не была задействована.



Увы, на блок эти карты не произвели ни малейшего впечатления. Хотя считыватель в БСГД работает (проверял вставкой первой попавшейся смарт-карты), на карту машиниста реакции нет. Сам чип в ней также исправен, что было проверено обычным USB-считывателем.

Загрузчик


Но пока что отложим тему попадания в меню и посмотрим на RS-232.



В найденной документации этот порт обозначался как диагностический, отчего у меня была надежда, что на нём есть консоль.



Как оказалось, ответные части этих разъёмов весьма редкие — либо большими партиями, либо только для юридических лиц, либо на вторичке по весьма конской цене.



Не стал покупать этот разъём ради разового опыта, а просто взял залуженный МГТФ и воткнул его в контакты. Распиновка разъёма оказалась такая:

  1. TX
  2. RX
  3. RS-485
  4. Земля
  5. RS-485

Полярность RS-485 определять не стал — сейчас этот интерфейс нас так сильно не интересует.
Подключил переходник на RS-232 (Moxa UPort, как и было сказано в инструкции по прошивке), открыл PuTTY на скорости 115200 бод и запустил блок. Через несколько секунд в терминале появилось примерно следующее:

U-Boot 2014.04 (May 18 2018 - 12:44:13)

CPU:   Freescale i.MX6SOLO rev1.1 at 792 MHz
CPU:   Temperature 31 C, calibration data: 0x5ca54169
Reset cause: POR
Board: SK-iMX6-SODIMM
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Net:   FEC
Normal Boot

4519872 bytes read in 344 ms (12.5 MiB/s)
45868 bytes read in 134 ms (334 KiB/s)
7696974 bytes read in 495 ms (14.8 MiB/s)
Kernel image @ 0x12000000 [ 0x000000 - 0x44f7c0 ]
## Loading init Ramdisk from Legacy Image at 12900000 ...
   Image Name:   Root file system
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    7696910 Bytes = 7.3 MiB
   Load Address: 12900000
   Entry Point:  12900000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 12800000
   Booting using the fdt blob at 0x12800000
   Using Device Tree in place at 12800000, end 1280e32b

Starting kernel ...

В самом деле, логи загрузки тут есть. Полный текст приводить тут не буду ввиду его размера, хотя и кое-что интересное там есть.
А вот командной строки, к сожалению, на этом порту не оказалось: ни простой, ни запароленной. Зайти в консоль u-boot также не вышло. Так что, похоже, самым простым способом добыть этот софт будет прочитать NAND.

Клавиатура


Как оказалось, причина того, что мне не удавалось зайти ни в одно меню, была достаточно банальной. Девайс просто требовал другую клавиатуру, обычная от УСАВП или САВПЭ не подходила.

Оригинального пульта у меня нет, поэтому будем выкручиваться. После прозвонки выясняем распиновку разъёма USB:

  1. Ничего
  2. D-
  3. D+
  4. Земля

Линию питания по неведомым мне причинам зажилили. Поэтому для тестов взял сгоревшую плату от энергобанка, где уже были разъёмы USB-A и microUSB. Линии данных пускаем на БСГД, питание берём от внешнего microUSB. К моему удивлению, фокус сработал и клавиатура определилась.

Меню




Жмякаем Esc и попадаем на главный экран.



Первый пункт — выбор участка, по которому будет следовать поезд.



И вот блок готов к движению. На экране отображается профиль пути, светофоры, ограничение скорости, опасные места.



Следующий пункт меню — электросчётчики. Так как этот блок не подключён, отображается только значение потреблённой электроэнергии.



Системные настройки.



А вот самое интересное — АСИМ.



Расписание движения, запрашиваемое с сервера.



Список вагонов поезда. В отличие от УСАВП, где указывается только их число, тут можно увидеть массу каждого из них, тип и код.



Таблица временных ограничений. Такое же меню есть и на УСАВП, только здесь оно заполняется автоматически, а не вручную.



Так же с сервера загружается и информация о поезде.



Диагностика.



Несмотря на то, что ни одного блока не подключено, девайс всё равно работает и пускает в меню.

БЛК-2


Кое-что интересное подсказал пункт меню «Информация».



Как оказалось, разработчик этого софта — не АВП-Технологии, а некое НПО СВЛ (Системы взаимодействия с локомотивом).



В числе их продукции есть некий БЛК-2, вероятно, идентичный по начинке нашему БСГД-7. Серверная часть этой системы имеет название СВЛ ТР.

Что же в итоге?


Вот таким интересным прибором оказался этот блок АСИМ. Наконец удалось пощупать более-менее новый экземпляр, где уже отказались от прожорливого и дорогого промПК и перешли на процессорный модуль с Linux на борту. Конечно, было бы интересно заставить его отображать, например, какие-то данные из симулятора, но ввиду использования шифрованного канала сделать это будет очень непросто.
Такие дела.

Другие мои посты про блоки системы «автомашинист»






Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале



Перед оплатой в разделе «Бонусы и промокоды» в панели управления активируйте промокод и получите кэшбэк на баланс.
Tags:
Hubs:
Total votes 41: ↑41 and ↓0+52
Comments9

Articles

Information

Website
timeweb.cloud
Registered
Founded
Employees
201–500 employees
Location
Россия
Representative
Timeweb Cloud