Автомашинист. Intel Atom водит поезда
Приветствую всех!
Нетрудно догадаться, что, как и прочие приборы, использующиеся на наших поездах, система автоведения не остановилась на форм-факторе «коробочка с люминесцентным индикатором». В новых версиях использовалось более мощное железо и более интересная периферия. Мне всегда хотелось заполучить на опыты и такой блок. И вот мне удалось это сделать, так что самое время посмотреть, как он устроен и чем отличается от предшественников.
Итак, в сегодняшней статье поговорим про устройства автоведения ещё более поздних версий, нежели я показывал ранее. Узнаем, что у них внутри и на какой операционной системе они работают. Традиционно будет много интересного.
❯ Суть такова
Где-то лет десять назад уже выработавшие свой ресурс комплекты систем автоведения стали заменяться на новые.
Отличий от предыдущих версий в них было много, например, скорость теперь получалась не от собственного датчика пути и скорости, а от системы безопасности КЛУБ-У (на фото её блок индикации) через шлюз CAN. Вместо блока коммутации и сопряжения (КС) появились отдельные модули, управляемые через общую шину CAN по протоколу CANOpen. Такая система называлась КАУД (комплекс автоматического управления и диагностики).
Вот блок индикации такой системы в кабине ЧС8. По виду он очень похож на два обычных ЦПИ, составленных вместе, однако внутри это совершенно иная система, полностью отличная от САВПЭ-ЛМ или старых УСАВПП.
Комплект такой аппаратуры для электровоза ЧС200.
А вот блок модификации для грузовых поездов.
Ещё позднее появились блоки с полноценными ЖК-мониторами (они же БСГД, блок системный с графическим дисплеем). Вот, например, такой экземпляр в кабине ЭТ2…
Похожий с виду, но несколько отличающийся по начинке монитор в кабине ЧС7.
В ещё более поздних версиях, устанавливаемых на электровозы, отдельного монитора и вовсе нет: всё выводится на экран МСУД (микропроцессорной системы управления и диагностики).
❯ Обзор оборудования
Блок с двумя ВЛИ достать пока что не вышло. Впрочем, как мне уже поведали имевшие в этом опыт товарищи, без оставшихся модулей он по сути бесполезен, при запуске выдаётся лишь ошибка. Но удалось достать БСГД (снятый с вагона, отправленного на металлолом), о котором сегодня и поговорим.
А вот и наш девайс. Этот монитор предназначен для установки на электропоезда. Удивительно, но даже на сайте АВП-Технологии нет никакого руководства для данной системы. Ну что же, восполним это упущение.
С обратной стороны куча разъёмов — USB, Ethernet, последовательный порт, шлюз CAN, блок коммутации и сопряжения, клавиатура, питание, вагонный динамик. На нижней части виден тумблер «Выходные цепи», переключающий систему между автоведением и подсказчиком. Отсутствующая пломба намекает на то, что внутрь до меня уже заглядывали.
Сбоку три светодиода, названия которых говорят сами за себя.
Клавиатура. Она в точности такая же, как от системы УСАВПП (также такие используются с САВПЭ, разница только в подписях клавиш, скан-коды те же). Ради интереса я подключил её к своему блоку САВПЭ, и она заработала.
Если на этой табличке что-то и было, то сейчас оно уже давно стёрлось…
Внутри тоже ничего принципиально нового.
Вообще, на поздних блоках ставят плёночные клавиатуры, но у меня такой нет.
❯ Внутренности
У меня нет никакой информации об этом блоке, поэтому, чтобы его запустить, его придётся разобрать.
Откручиваем винтики, отсоединяем кучу разъёмов и снимаем крышку. Внутри нас ждёт единственная плата, на которую насажен промПК в лице модуля производства Kontron. Рядом видна батарейка, на удивление, всё ещё живая. Рядом с ней разъёмы LVDS и инвертора матрицы. Слева внизу выходной звуковой трансформатор и микрофон. Батарея конденсаторов и интегральные стабилизаторы для питания системы. Также виден нераспаянный разъём USB (видимо, ставился на тестовые версии платы), рядом кнопка Reset.
![svemahsrq3plgnfn1njbnuznqgw.png](https://habrastorage.org/r/w1560/webt/sv/em/ah/svemahsrq3plgnfn1njbnuznqgw.png)
Процессорный модуль я снимать не стал. Стоит здесь вот такая плата — COMe-cXLi2.
![8r8vuvujlmoqxvjkzkml-uqh6zy.png](https://habrastorage.org/r/w1560/webt/8r/8v/uv/8r8vuvujlmoqxvjkzkml-uqh6zy.png)
А вот те самые разъёмы, связывающие комп с основной платой.
С обратной стороны крышки только разъёмы, динамик, тумблер и светодиоды. Особый антураж добавляют жгуты МГТФ, обжатые в китайские пластмассовые разъёмы.
А вот Ethernet подключен отрезком обычного сетевого кабеля.
❯ Блок питания
В отличие от ЦПИ, получающего питание от блока коммутации и сопряжения, монитор для своей работы хочет 48 В. И тут у меня встал вопрос его запуска — блока питания такой мощности у меня нет. Китайский DC-DC с его жалкими 0,2 А на эту роль, очевидно, тоже не подходит, а 75 В от выпрямителя подавать было страшновато.
Поэтому, недолго думая, я решил закрыть все свои потребности в запуске железнодорожной электроники и купил вот такой БП. Экземпляры от PoE-свитчей доверия не внушали, так что выбор был сделан в пользу вот такой коробочки от Meanwell.
Разумеется, блок питания я тоже разобрал. Не то чтобы я не доверяю этой фирме, просто было интересно, что там внутри.
Верхняя плата — входной фильтр, а также клеммы для подключения кабелей.
На нижней плате расположилась электроника абсолютно типичного импульсного БП. Его схемотехнику подробно рассматривать не будем — всё же пост про автоведение, а не про блоки питания. Но свои честные 1,6 А он выдаёт, и это главное.
❯ Первый запуск
Как удалось выяснить, блок получает питание через разъём CAN1. Третий его контакт — +48 В, четвёртый — земля. Подаём питание — ничего не происходит.
Разбираем блок и обнаруживаем, что предохранитель почему-то сгорел. Замерив сопротивление, коротких замыканий я нигде не нашёл, так что было решено просто заменить предохранитель и попробовать включить снова. После подачи питания послышалось «Бдыщщ!», после чего в комнате почувствовался характерный запах. Проверка показала, что взорвался защитный TVS-диод внутри монитора, также поплавился припаянный мною провод от разъёма (видимо, от короткого замыкания, которое перед бабахом устроил диод). То ли этот диод был пробит, а я того не заметил, то ли при включении случился бросок напряжения, от которого он вышел из строя. Больше никаких косяков замечено не было, тщательная проверка всех сопротивлений по питанию ничего не выявила, так что меняем диод на новый, ставим свежий предохранитель взамен опять вылетевшего и пробуем снова.
Включаю, слышится щелчок, экран загорается, и девайс начинает загружаться. Успешно? Наверное. Но радость была недолгой, после некоторого времени работы внутри что-то хрустнуло, блок сказал «Спасибо, но дальше давайте без меня», попрощался с нами, и экран погас. Грустно, ведь я не успел не то что поиграться, а даже сфотографировать рабочий аппарат для статьи. Но делать нечего, придётся опять разбирать и разбираться.
Внимание привлекает вот эта цепь. На стабилизатор LM2591HVT приходит напряжение питания после входного фильтра, на выходе мы получаем 12 вольт. Эти чипы (особенно вот такая «высоковольтная» модификация) мрут сами по себе довольно редко, чаще всего всему виной перегрузка или превышение напряжения. Этот случай не исключение, стабилизатор живой. Со вторым же, расположенным в другой части платы, история интереснее: на выходе почему-то один вольт вместо ожидавшихся пяти. Но проблема в том, что со входом тоже что-то не так, так что время возвращаться к цепи на фото. Рядом с уже рассмотренным стабилизатором расположен транзистор MJE2955T, оказавшийся пробитым (если что, одну ногу откусил уже я, когда проверял, что дело действительно в нём, а не в других цепях).
![6n9g-uwhk2xero3nx7dublw4xwe.png](https://habrastorage.org/r/w1560/webt/6n/9g/-u/6n9g-uwhk2xero3nx7dublw4xwe.png)
Он находится в цепи совершенно типичного линейного стабилизатора на базе регулируемого стабилитрона TL431 (на схеме на картинке используется NPN-транзистор вместо PNP, однако разница минимальная). Транзистор я заменил, однако после замены блок не ожил, стало быть, TL-ка тоже пострадала. Проверяем её и убеждаемся, что она действительно сдохла. Тут, конечно, могло быть описание того, как я не нашёл такую деталь у себя и вместо этого бахнул экземпляр в корпусе TO-92 на проводочках, но оказалось, что такое исполнение было в наличии в магазине радиодеталей неподалёку от дома, так что микросхема на замену была незамедлительно куплена. Дальше всё просто: сдуваем феном чип, садим на его место новый, пробуем подавать питание. Не работает.
Странно. Попытка подать питание напрямую на ножку входа стабилизатора не увенчалась успехом: на выходе всё равно был ноль. Видимо, в схеме был учтён power-up sequence и 5 В при отсутствии 24 В и 12 В не поднималось. Поэтому придётся разбираться дальше. Двенадцативольтовый стабилизатор получает питание напрямую от входного фильтра, тогда как двадцатичетырёхвольтовый — через диод. Также диод можно заметить и слева от двенадцативольтового стабилизатора, но стоит он на выходе, а не на входе, и за формирование напряжений 24 В и 5 В, очевидно, не отвечает. Проверка второго диода показала, что он исправен. От него питающее напряжение в 48 В через токоизмерительный резистор поступает на эмиттер того самого PNP-транзистора, который мы уже поменяли. Засада заключалась в токоизмерительном резисторе, точнее, в сборке из шести чип-резисторов по 0,1 Ом каждый.
Проверка мультиметром показала, что из шести штук вылетели четыре. Что характерно, никаких внешних изменений с ними не случилось, просто сопротивление неожиданно скакнуло с долей ома до килоом. Отсюда ясно странное поведение блока: токоизмерительный резистор превратился в токоограничительный, отчего при малейшей нагрузке напряжение проседало, не давая преобразователю запуститься. В целом непонятно, как вообще работает эта схема, если максимальное напряжение между анодом и катодом TL431 равно 36 В, а никак не 48. Ну что же, после нескольких дней усиленных ковыряний проблема была наконец решена. Что стало причиной такого бабаха, мне неведомо, но предположу, что случилось примерно следующее. При работе блока по неведомым мне причинам (то ли не справилась TL-ка, то ли что) транзистор в цепи двадцатичетырёхвольтового стабилизатора не выдержал (возможно, пробило TL-ку, отчего через базу прошёл чрезмерный ток). Ток потребления резко возрос, отчего вылетела сборка токоизмерительных резисторов, а заодно и предохранитель, традиционно сгоревший уже тогда, когда всё сдохло.
❯ Что же оно может?
Подаём питание. Если всё нормально, блок успешно запустится.
Ну, а на экране появится знакомая заставка BIOS.
Ну, а дальше начнёт загружаться… кто бы мог подумать, FreeDOS. Вообще, я думал, что из-под DOS запускается загрузчик некой RTOS, но мы это ещё проверим.
И после этого система перейдёт в рабочий режим.
Если жмякнуть на клавиатуре F, откроется график ограничений скорости.
А если M, то окно редактирования поездных характеристик.
Поскольку блок имеет полноценный монитор вместо текстового экрана, экранов настройки параметров куда меньше. Но суть их осталась всё той же. Ещё из примечательного — крайне контринтуитивное управление: стрелка вниз — сохранение предыдущего параметра и переход к следующему, а стрелка вверх в любом меню открывает таблицу временных ограничений. Прямо как в Telegram, где стрелка вниз проматывает список сообщений, а стрелка вверх открывает редактирование последнего сообщения. То есть, чтобы отредактировать параметр, расположенный в начале списка, надо либо удалить все предыдущие значения, скорректировать нужное, а затем ввести заново удалённое, либо закрыть меню, открыть его снова и выбрать нужный пункт.
❯ Тестирование системы
Для того, чтобы перейти в тестовый режим, нужно зажать на клавиатуре #, после чего жмякнуть F. После этого на экране отобразится примерно следующее:
Здесь можно выбрать один из трёх параметров.
Контроль платы дискретного ввода-вывода.
А тут — контроль аналоговых входов, а также обмена данными.
Данные регистратора параметров движения и автоведения. Про то, что это за регистратор и как он работает, поговорим как-нибудь потом.
❯ Про КАУД и это всё
Несмотря на то, что данный девайс поддерживает работу с CAN, для чего у него есть отдельная шина для подключения модулей, а также тумблер «Выходные цепи» и соответствующие индикаторы, экземпляры, использующиеся на электропоездах работали совместно с блоками КС, подключавшимся к основному блоку по обычной токовой петле. Модули, использующие CAN, в данной версии не применялись. То же самое было и в мониторе от ЧС7, который мне мельком довелось увидеть. Судя по всему, идея сделать все блоки отдельными устройствами и повесить их на общую шину оказалась не слишком удачной.
Как удалось выяснить, протокол, по которому работает блок КС, частично совместим с тем, что используется в предыдущей версии. Поэтому на этот блок также удалось вывести скорость и показания АЛСН. О том, как же это делается, поговорим уже в посте про блок коммутации и сопряжения, где будет фигурировать как этот блок, так и ЦПИ.
❯ BIOS
Теперь попробуем взглянуть на это устройство на чуть более низком уровне.
Если подключить USB-клавиатуру, то можно даже зайти в BIOS и увидеть более подробные характеристики устройства: процессор Intel Atom Z520 с частотой 1,33 ГГц, гигабайт ОЗУ (часть которого отщипывается под видеопамять), Flash-диск на четыре гига.
Если жмякнуть F5 в процессе загрузки, то DOS пропустит выполнение AUTOEXEC.BAT, и мы сможем попасть в командную строку. Набираем dir и видим, что софт написан для чистого DOS: здесь абсолютно те же файлы, что мы видели для САВПЭ-М, просто на этот раз софт адаптирован для БСГД. Файлы RTM.EXE и DPMI16BI.OVL сходу дают понять, что софт, как и предыдущие версии, написан на самом обычном Турбо-Паскале. Вообще, было бы интересно попробовать добыть софт от БСГД, устанавливающихся на электровозы и тепловозы, но пока что сделать это у меня не вышло.
❯ Добываем софт
Само собой, мне стало интересно:, а что если скопировать софт и попробовать запустить его на обычном ПК? Именно этим мы сейчас и займёмся.
Идём на old-dos.ru и качаем Norton Ghost, а также Ghost Explorer. Далее нам понадобится флешка и USB-хаб. В хаб втыкаем флешку и клавиатуру, а сам хаб подключаем к разъёму USB на обратной стороне БСГД. Загружаемся в DOS с нажатой клавишей F5, переходим на диск D (благо в той версии FreeDOS, что стоит тут, есть поддержка USB Mass Storage) и запускаем Ghost.
Отлично.
Выбираем дамп диска.
А вот и наши диски: Flash-диск на четыре гигабайта и флешка на восемь.
Указываем имя образа.
И после этого запускаем дамп. Пока что всё успешно.
При помощи Ghost Explorer извлекаем все файлы. Копируем их на виртуальную машину и пробуем запускать.
![5u-qw6nckivxzuijgtrypytd9js.png](https://habrastorage.org/r/w1560/webt/5u/-q/w6/5u-qw6nckivxzuijgtrypytd9js.png)
Но, увы, при попытке заставить это работать на DOSBox софт выдал ошибку. Странно, но ладно.
Но это DOSBox. А что насчёт VMWare?
Подкручиванием настроек исправить ошибку не вышло, поэтому запускаем Virtualbox и развёртываем образ там.
Что-то странное. Понять, что за косяк с цветами, так и не удалось.
Но, потыкав клавиши, удалось даже зайти в меню.
Само собой, там, где софт связывается с железом блока, отображается полная отсебятина.
❯ Что там с автоведением?
Если ввести поездные характеристики и нажать «Пуск», то девайс предложит запустить режим ведения.
Но после этого ожидаемо выдаст ошибку связи. В этом он отличается от блока ЦПИ, пытающегося запустить режим ведения несмотря ни на что.
❯ Вот как-то так
Как оказалось, новая версия (УСАВП/М) не слишком далеко ушла от предыдущих: очень похожий на предыдущие версии софт, схожий протокол работы с блоком КС.
В следующем посте мы запустим этот блок коммутации и наконец-то заставим ЦПИ и БСГД выводить скорость и другие значения.
Такие дела.
Другие мои посты про блоки системы «автомашинист»
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩