Автомашинист. Возвращаем к жизни процессорный блок

в 8:05, , рубрики: 486, atmel, DiskOnChip, eeprom, epp, lpt, PC/104, rs-232, timeweb_пятничное, uart, ирпс, промышленный ПК, савпэ
Приветствую всех!

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

Автомашинист. Возвращаем к жизни процессорный блок - 1

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

О чём я?

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

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

Автомашинист. Возвращаем к жизни процессорный блок - 2

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

Автомашинист. Возвращаем к жизни процессорный блок - 3

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

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

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

Автомашинист. Возвращаем к жизни процессорный блок - 4

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

Автомашинист. Возвращаем к жизни процессорный блок - 5

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

Автомашинист. Возвращаем к жизни процессорный блок - 6

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

Автомашинист. Возвращаем к жизни процессорный блок - 7

Автомашинист. Возвращаем к жизни процессорный блок - 8

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

ПромПК

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

Автомашинист. Возвращаем к жизни процессорный блок - 9

Автомашинист. Возвращаем к жизни процессорный блок - 10

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

Автомашинист. Возвращаем к жизни процессорный блок - 11

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

Автомашинист. Возвращаем к жизни процессорный блок - 12

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

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

Дисплей

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

Автомашинист. Возвращаем к жизни процессорный блок - 13

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

Автомашинист. Возвращаем к жизни процессорный блок - 14

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

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

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

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

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

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

Автомашинист. Возвращаем к жизни процессорный блок - 15

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

Автомашинист. Возвращаем к жизни процессорный блок - 16

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

Автомашинист. Возвращаем к жизни процессорный блок - 17

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

Автомашинист. Возвращаем к жизни процессорный блок - 18

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

Клавиатура

Автомашинист. Возвращаем к жизни процессорный блок - 19

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

Автомашинист. Возвращаем к жизни процессорный блок - 20

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

Автомашинист. Возвращаем к жизни процессорный блок - 21

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

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

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

Автомашинист. Возвращаем к жизни процессорный блок - 22

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

Автомашинист. Возвращаем к жизни процессорный блок - 23

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

Автомашинист. Возвращаем к жизни процессорный блок - 24

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

Автомашинист. Возвращаем к жизни процессорный блок - 25

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

Автомашинист. Возвращаем к жизни процессорный блок - 26

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

Звук

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

Автомашинист. Возвращаем к жизни процессорный блок - 27

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

Автомашинист. Возвращаем к жизни процессорный блок - 28

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

Автомашинист. Возвращаем к жизни процессорный блок - 29

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

Автомашинист. Возвращаем к жизни процессорный блок - 30

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

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

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

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

Такие дела.


Автор: Лев

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js