Приветствую всех!

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



Итак, в сегодняшней статье поговорим про устройство и работу блока ЦПИ (центрального процессора и индикации) от системы УСАВП/Л. Узнаем, что у него внутри, и вернём его к жизни. Традиционно будет много интересного.

О чём я?


Я уже писал про то, что это вообще за автомашинист и как он работает. Но в том посте я ограничился только подачей питания и просмотром меню, а ведь самое интересное — попробовать подключить блок коммутации и сопряжения (блок КС) и заставить систему работать уже полностью.
Но вот проблема — когда я подключил упомянутый модуль к моему блоку ЦПИ, не произошло ровным счётом ничего. Стало ясно, что нужен заведомо рабочий экземпляр, с которым уже можно будет проводить тесты. Разбирательства привели к появлению отдельного поста — про то, как устроен и работает основной блок УСАВП/Л.

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


Итак, в сегодняшней статье речь пойдёт о двух блоках.



Первый из них — с Московской железной дороги, уже фигурировавший в прошлом посте. Именно к нему я пытался подключить блок КС, но ничего не вышло.



Второй — с Октябрьской дороги. Блок в нерабочем состоянии, достался мне чисто на запчасти от товарища, который некогда работал на ЖД и ремонтировал эти системы. Состояние не лучшее, но комок ваты и немного изопропанола доводят его почти до идеала. По сути именно его мы сегодня и будем возвращать к жизни.

Разбираем ЦПИ


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



Снимем крышку. Компьютер на месте, но он в ужасном состоянии. Также кто-то уже успел поживиться разъёмами — РС7ТВ и тремя РС4ТВ.



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



Обратная сторона.



Индикаторный модуль. Это IEE 03602-124-09420. Аналогичные модули используются в кассовых аппаратах (к слову говоря, дисплеи покупателя — одно из основных направлений IEE), блоках ПРИЗ и ССЗН, а также в АСОТП «Игла».



ВЛИ отдельно. Несмотря на вдавленное зелёное стекло, индикатор оказался цел.

ПромПК


Посмотрим, что же там случилось с компьютером.



С обратной стороны вода попадала в значительно меньшей степени, но и тут ему досталось. В этом компьютере нет ни IDE, ни слота под CompactFlash, ни DiskOnChip, весь софт хранится на Flash AM29F016B-120EC (с наклейкой «Datalight»). По сути это просто чип памяти, подключенный к системной шине, часть адресного пространства которого выделена под расширение BIOS, позволяющее использовать этот чип как полноценный твердотельный диск.



Это промПК стандарта PC/104, работавший на чипе Am5x86. Эхх, крутой был экземпляр.



С лицевой стороны всё намного хуже.



Эта плата умудрилась собрать сразу два источника окислов: вначале она сгнила, будучи установленной в ЦПИ, затем уже в ходе лежания свой чёрный вклад внёс вытекший никелевый «бочонок смерти». И даже неосведомлённые в электронике определённо испытают большие сомнения, что это ещё когда-нибудь будет работать.

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

Дисплей


Компа пока нет, так что посмотрим, что там у нас с другими компонентами платы. Например, попробуем оживить дисплей.



Здесь используется модуль от Industrial Electronics Engineering (даташит на него есть тут), с довольно большим количеством интерфейсов: RS-232 (с уровнями +-12 В), HD44780, Intel (8041) и Motorola (6821), также у экрана есть режим самотестирования, включаемый перемычкой SFTST сзади. Также имеется вход аналоговой регулировки яркости и выход на пищалку (пищит при отправке кода символа BEL). В ЦПИ дисплей подключён по параллельной шине в режиме Intel.



Для проверки я подал на него пять вольт и попробовал послать что-то на него по последовательному интерфейсу. Экран работал, что не могло не радовать. И, по идее, можно было написать какой-нибудь свой софт, который бы имитировал работу САВПЭ, но я сторонник рабочих железок, а не программной их эмуляции, так что делать так мы не будем.

Немного про устройство ЦПИ


Отдельного упоминания заслуживает то, как вообще устроена эта железка.
Как уже упоминалось, состоит она из дисплея, компа и платы R-101, связывающей комп и всё остальное железо. Как можно видеть, на ней довольно много компонентов и она не так проста, как может показаться вначале.

В основе ЦПИ лежит некий промышленный компьютер (от Fastwel, Octagon, Advantech или какой-нибудь другой). Плата R-101 имеет крепёжные отверстия под формат PC/104 или MicroPC, так что установить можно практически любой модуль. А простенький софт под DOS практически не накладывает ограничений на то, железку какой мощности использовать. От этой платы комп получает питание, а также взаимодействует с ней через порты COM и LPT. Первый последовательный порт выведен на разъём РС4ТВ сзади и служит для связи с регистратором параметров движения и автоведения (РПДА), второй — на боковую стенку ЦПИ и предназначен для обновления данных. Вся остальная периферия взаимодействует с компьютером через обычный LPT-порт в режиме EPP. Ей являются следующие компоненты системы, повешенные на одну общую шину:

  • Дисплей.
  • МК AT90S2313, обеспечивающий сопряжение компа и блока КС. Он обрабатывает данные, посылаемые компьютером, формирует управляющие пакеты и отправляет их по линии ИРПС в блок коммутации.
  • Цифровой сигнальный процессор (ADSP-2186 от Analog Devices). Он оснащён своей собственной памятью, в которой лежит его прошивка, а также непосредственно сами записи остановок, которые в нужный момент вызываются управляющим компом.
  • NVRAM, служащая для хранения параметров и питающаяся от батарейки промПК. Именно поэтому при запуске с дохлой батарейкой выводится «Нет файла параметров».

Такая система сильно упрощает софт на компьютере — нет необходимости самому формировать пакеты, отправлять их и следить за поступающими байтами. Достаточно просто послать команду контроллеру, а потом в удобное время забрать результат, не боясь, что данные из буфера потеряются.



Как же вообще происходит опрос четырёх компонентов? Как известно, единовременно обращаться к двум устройствам на LPT нельзя. Те, кто застал эпоху Covox, наверняка знают, что если отправить документ на печать, не выключив звук, то из колонок послышится адовый скример. Здесь проблема была решена довольно простым образом. Как можно видеть, помимо строба у параллельного порта есть ещё несколько выводов, которыми можно управлять извне: Autofeed, Select и Init. Эти выводы подключены к мультиплексору, позволяющему выбирать, куда подавать сигнал записи.



А вот начинка второго имеющегося у меня ЦПИ. Судя по неаккуратно уложенным шлейфам, внутри явно кто-то ковырялся…



Вот эта плата — шлюз CAN, предназначенный для подключения к системе КЛУБ-У. От неё поздняя версия могла получать данные вроде сигналов АЛСН.



На плате ЦПИ при этом есть нераспаянное место под второй драйвер RS-232, что позволяло реализовать второй последовательный порт, если это было нужно.

Клавиатура




А вот ещё одна железка — клавиатура от САВПЭ, переделанная этим же товарищем в пульт для какого-то станка.



Увы, штатный МК был выпаян, так что для того, чтобы вновь заставить её работать с ЦПИ, придётся либо найти штатный и залить туда его прошивку, либо переписать софт для этого.



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

Что же там с компьютером?


Для проверки я подключил к плате R-101 комп от заведомо рабочего ЦПИ. Железка успешно заработала, а на экране появилось уже знакомое «Нет файла параметров». Отлично, значит, мы на верном пути, а сама плата живее всех живых.



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



В качестве кандидата на установку был взят вот такой вот промПК на базе 486DX2. Для таких целей он подойдёт как раз.
Далее берём уже знакомый по прошлому посту переходник для DiskOnChip и при помощи всё того же Norton Ghost раскатываем на чип образ с DOS и софтом.



На плате тоже есть Flash-диск, так что, чтобы не «замуровывать» ценный DOC внутри ЦПИ, решил закинуть всё на него. Но есть нюанс: у платы нет ни видеокарты, ни контроллера HDD. Поэтому решил закинуть софт на DOC, а видяху подключить внешнюю, для чего у меня как раз был заготовлен переходник. Многие видеокарты умеют работать в режиме ISA 8-bit, поэтому отсутствие «полноразмерного» слота проблем не вызывает.



Проблемы появились оттуда, откуда их никто не ждал: промПК оказался дохлым. Поэтому из щедрых закромов Родины был извлечён ещё один экземпляр, от Advantech.



Немного пайки шлейфов, и комп был успешно запихнут внутри ЦПИ. Вставляем Compact Flash с софтом, запускаем — работает!

Звук


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



Я уже хотел искать подходящий на замену, но в итоге выпаял его из дохлой платы от ещё одного ЦПИ.



А вот и деталь на замену. Запаиваем её в плату, и можно проверять.



Если при загрузке жмякнуть «Тест» и выбрать пункт меню «Звук», то можно проверить воспроизведение всех записанных в память сообщений.



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

Вот как-то так


Вот так вот блоков ЦПИ от данной системы у меня стало два, оба из них отлично работают. И, как оказалось, это устройство внутри куда сложнее, чем можно подумать.

Теперь, когда на руках есть заведомо рабочий девайс, можно пробовать подключать блок коммутации и сопряжения, чтобы наконец-то увидеть на экране скорость и услышать все объявления, какими они должны быть. Но это уже тема для следующего поста.

Такие дела.



Возможно, захочется почитать и это:

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

Комментарии (24)


  1. dlinyj
    21.06.2024 08:22
    +1

    С обратной стороны вода попадала в значительно меньшей степени, но и тут ему досталось. В этом компьютере нет ни IDE, ни слота под CompactFlash, ни DiskOnChip, весь софт хранится на Flash AM29F016B-120EC (с наклейкой «Datalight»). По сути это просто чип памяти, подключенный к системной шине, часть адресного пространства которого выделена под расширение BIOS, позволяющее использовать этот чип как полноценный твердотельный диск.

    Спасибо большое за ссылку на мою публикацию, очень приятно! По настоящему интересно выдрать прошивку из этой флешки.

    Однако, как я понимаю, форм-фактор её такой, что не так-то уж и просто это будет сделать. Проще всего будет развести плату и запаять её. Возможно её прям можно вставить вместо платы-переходника DОС. Но надо посмотреть по коду смещения, по какому реальному адресу она должна быть.


    1. MaFrance351 Автор
      21.06.2024 08:22

      Тоже думал попробовать спаять переходник. Так как у меня пока что нет ни другого промПК, куда можно подкинуть этот чип, ни программатора, который может их читать ("народный" TL866 эти серии не берёт). И не менее значимым вопросом остаётся то, как выпаять чип, не обломав при этом ноги, которые наверняка подгнили. Вполне возможно, что без манипуляций с напильником и пайкой проводочков не обойтись будет.

      Я так понял, этот Flash-диск - не какой-то SSD или eMMC, а по сути тот же DOC.


      1. dlinyj
        21.06.2024 08:22

        Тоже думал попробовать спаять переходник.

        Я думаю просто в DIP перевести, судя по сигналам можно сделать просто для чтения на ISA или как другая флешка.

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

        Промывка кислотой, затем много флюса и фен. Ну в целом, при наличии микроскопа восстановить ногу проблемы не будет.

        В любом случае, это стоит рассматривать как полезный опыт.


        1. MaFrance351 Автор
          21.06.2024 08:22
          +1

          Видел макетки специально для SMDшных корпусов. Можно попробовать выпаять и насадить на такую. Ноги предварительно пропаять свинцовые припоем, чтобы плавился легче.


          1. dlinyj
            21.06.2024 08:22

            Мне прям интересно взглянуть как же там всё это сделали. ИМХО, просто из-за отсутствия опыта страшно. Я бы поигрался для начала со старыми SSD, флешками и прочими платками с подобными микрухами.


            1. MaFrance351 Автор
              21.06.2024 08:22

              Кстати, по идее, считать прошивку можно при помощи МК. Там же ничего особенного в чипе нет, просто параллельная Flash. А уже дальше либо загрузить в QEMU, либо ковырять в HEX.


              1. dlinyj
                21.06.2024 08:22

                Можно, но там надо программу писать, а лень :)


                1. MaFrance351 Автор
                  21.06.2024 08:22
                  +1

                  Это да. Но точно дешевле программатора под это всё, да.


          1. Nick0las
            21.06.2024 08:22

            А там от рождения разве не свинцовый припой?


            1. MaFrance351 Автор
              21.06.2024 08:22

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


      1. Nick0las
        21.06.2024 08:22

        Выпаять чип не так сложно. Можно подобрать иглу от шприца по диаметру ног, оккуратно обрезать без скоса (по сути процарапать и отломать), чтобы получилась трубочка обрезанная под 90 градусов. Дальше греть припой и надевать на ногу трубочку из иглы. Второй вариант - разломать плату, вдоль ног чтобы осовбодить трубочки металлизации, затем выковырять их и снять паяльником по одной. А еслиноги на плате сильно сгнили то можно вообще выкусить и заново нарастить ноги. Все три варианта я в свое время опробовал.


        1. MaFrance351 Автор
          21.06.2024 08:22

          К счастью, с этим чипом повезло больше, он SMDшный. Так что просто пропаиваем ноги, льём флюс и сдуваем феном.


  1. viktor110668
    21.06.2024 08:22
    +1

    здравствуйте, подскажите где можно скачать схемы блоков савпэ , а в частности усавп-л блок кс и сам блок автомашинист?


    1. MaFrance351 Автор
      21.06.2024 08:22
      +2

      Приветствую. Увы, у меня их нет, равно как и у тех, у кого я раздобыл блок.


    1. nefone
      21.06.2024 08:22

      где можно скачать схемы блоков савпэ , а в частности усавп-л блок кс и сам блок автомашинист

      Скорее всего это коммерческая тайна. А схемы подключения и связи разных блоков были у меня на листах А2, но все раздал


      1. MaFrance351 Автор
        21.06.2024 08:22

        Они были у тех, кто занимался ремонтом и обслуживанием этих блоков, поставлялись просто как документация к ним. Прошивки контроллеров там тоже не защищены от чтения. Вот исходники прошивок, протокол связи между КСом и ЦПИ - это да...

        У того товарища, с кем я общался, они давно были, сейчас - увы.


  1. vladkorotnev
    21.06.2024 08:22
    +1

    А запись звука будет? :-)


    1. MaFrance351 Автор
      21.06.2024 08:22
      +1

      Будет, когда расскажу про то, как заставить его скорость отображать. Без движения он особо ничего не говорит.


  1. nefone
    21.06.2024 08:22

    Пользовался им, когда работал машинистом электрички


    1. MaFrance351 Автор
      21.06.2024 08:22

      О. Именно версией как у меня?

      (хотя по использованию отличия между Л, М и ЛМ минимальны...)


      1. nefone
        21.06.2024 08:22
        +1

        Именно такой, но это только часть из большого комплекса автоведения, в поезде под это оборудование выделено половина шкафа в кабине. И застал новые версии с ЖК дисплеем.


        1. MaFrance351 Автор
          21.06.2024 08:22

          Блок коммутации и сопряжения у меня тоже есть. И про него тоже будет пост (как заставить блок выводить скорость и сигналы светофора).

          Экземпляры с ЖК-дисплеем знаю. Внутри там промПК Kontron на процессоре Intel Atom и софт, который загружается из-под FreeDOS.


          1. nefone
            21.06.2024 08:22

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

            Сигналы светофора получал из дешифратора, который на основе кодов АЛСН получаемых с помощью приемных катушек от рельс выводит сигнал светофора.


            1. MaFrance351 Автор
              21.06.2024 08:22

              В новых системах скорость и АЛСН считываются через шлюз CAN из системы КЛУБ. Раньше в блоке КС были четыре дискретных входа для четырёх кодов (белый, красно-жёлтый, жёлтый и зелёный, красный не мониторился), которые поступали из уже установленной системы АЛСН. Но потом связка АЛСН+3СЛ-2М ушла в историю, и система стала пользоваться данными КЛУБика. Для чего (даже в моём блоке эта плата есть) и добавили адаптер для CAN.

              на основе пройденного расстояния (по заранее загруженному в ПЗУ расписанию) происходит объявление остановок и дополнительной речевой информации

              Там ещё после каждого участка надо жмякать на пульте кнопку ДОП, чтобы не накапливалась ошибка измерения и координата не уплывала.