Оживляем автоинформатор из подмосковного автобуса

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

lgc6e7c-qjv9uobsc8d6jx5xp6a.jpeg

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

Суть такова


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

Что это за железка?


nqvdmsgyenplzg1yeq75vnhbxgg.jpeg

Многие из нас вспомнят автобусы ЛиАЗ-5256 с характерного вида оранжевым табло. В них-то и стоял предмет нашего обзора — информатор МС6610, он же «Селена». Девайс этот стал по сути первым российским автоинформатором для использования на транспорте. До этого, конечно, была и всякая экзотика типа экземпляров, работающих в метро, но в широком использовании их не было. Наш же экземпляр в двухтысячные годы можно было встретить практически в каждом городе, а во многих местах они работают до сих пор.

0mjwx_6evybh4wtettddndyrumg.jpeg

dabme71hufu5g-tefcy70mgvn_k.jpeg

82lc7g3na4p5lvfaeor7w5dfipa.jpeg

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

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


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

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

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

b1decgc7hjdm2g6qddg7k55vcxo.jpeg

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

xnn7m7bwafnix4rlwitxerrhvpy.jpeg

Сверху ничего интересного.

xaw3lbrxqowr6-8bzl6suoxirva.jpeg

С обратной стороны разъёмы — DB9F для подключения табло и 2РМ14Б4Г1А1В для питания и динамика. 2РМ явно новодельный — изолятор нетипичного синего цвета, на корпусе никакой маркировки.

s9x86kjpp1fqwflnh47q2biihjq.jpeg

Ответная часть разъёма.

hw6owt1nyiaxana9va2vk6xy3l4.jpeg

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

cu8t20usrbk1f1pkgckjtwqg5pa.jpeg

Верхняя плата — блок питания (МПИ), преобразующий 24 В бортовой сети в 12 и 5 В для работы устройства. На ней нет конденсатора и ещё одного элемента в корпусе TO-220 (позже выяснится, что это линейный стабилизатор 7805), диод с одним откушенным выводом пробит. Преобразователь на 12 В импульсный, собран на популярном чипе LM2576T-ADJ. К нему же подключена характерная для отечественной электроники катушка с броневым сердечником.

y81wxb01npgpjkxohfychbn3_ck.jpeg

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

fwge7f1tbotfujdihjlhhhemiou.jpeg

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

jqnysvsvv4-mo9k7dijqzt7x-6q.jpeg

Обрезанные жгуты проводов.

Документация


Я стал искать на этот прибор какую-то информацию и нашёл официальный сайт, где были выложены не только инструкции, но и схемы и ремонтная документация. Самое неожиданное — среди всего прочего лежала ещё и прошивка микроконтроллера! Таким образом, по материалам сайта можно было создать полный функциональный аналог данного агрегата, не было там только чертежей корпуса и разводки печатных плат. Ремонтопригодность максимальная из возможных, со всеми этими материалами девайс можно поднять даже после прямого подключения в розетку, надо лишь иметь компоненты на замену и программатор (в архиве с прошивкой даже были указаны фьюзы для двух разных программ).

g-cywxtacax5n4hkmfuj8vnle0u.png


А вот и тот самый чип конвертера на сборочном чертеже.

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


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

Дальше была очередь дисплея. Немного подумав, я заменил его позеленевший шлейф на пучок МГТФ и припаял провода на законное место. Но после попытки запуска БП ушёл в защиту.

m0ij7x1lokdyophbmuuykscfewu.png


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

s4wzqvdkvwvg2mi7ohrrl146qjw.jpeg

Оно живое, оно работает! Но провода от экрана отпаяли явно неспроста, вторая строка показывает лишь полосы. Дисплей однозначно надо менять.

vl4zwqmaydui0evtgwta10jrace.jpeg

А вот и девайс с новым ЖКИ.

e1ukmamnymrhv8qdwul015ot-se.jpeg

Передняя панель после этого приняла вот такой вид. Попутно заменил кнопку (которая не щёлкала) и поставил две отсутствующих.

ППК


Девайс запускался, но не хватало одной важной его части — модуля ППК, то есть ПЗУ с остановками.

5-lzfmz9qfo8kmtdow_6ir8cemo.png

В отличие от информатора МС6610.03, где применяется карта памяти типа SD, тут используется специальный блок, подключаемый к разъёму DB25 на передней панели. Найти оригинальный такой экземпляр мне не удалось, поэтому будем собирать его сами.

ois32umf7rrjxucsv8c2tn1cxx4.png

А вот и схема модуля из документации. Состоит он из двух чипов — SPI Flash, на которой хранятся остановки, и I2C EEPROM, куда записывается протокол движения (время проезда каждой остановки для обеспечения контроля соблюдения расписания). Также имеется двухцветный светодиод — зелёный горит при чтении, красный — при записи.

ubphl5sn1zrfqijvsdgzm6ewmsu.png

Эти блоки выпускались разного объёма, отчего флешки там стояли разные. А вот микросхема EEPROM везде одна и та же — это AT24C16.

nehyoasfmhryowq9kjnoippscvi.png

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

uxtdub-qgs7kkj-6tanprxjnba4.jpeg

После получасовой пайки навесным монтажом кустарный ППК был готов. Вообще, позже не раз пожалел, что устроил горгону Медузу из МГТФ вместо того, чтобы вытравить полноценную плату. Так или иначе, модуль был собран, так что самое время проверять.

Итак, оно не работает


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

sgta_48ffcxj_7kdcz4qyeevs1a.jpeg

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

n2p2qo8mzj0xyggwsdtjdnqhcqy.png

Схема шнура заботливо приложена в конце руководства по эксплуатации. RX и TX выведены на неиспользуемые для передачи аудиосигнала контакты разъёма DIN-7, к которому подключается тангента.

cj2wf7tso6sg82-ilij8ysd2b_4.jpeg

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

mquqvpbip5f6qhclu9fzierm3cs.jpeg

Она работает только с обычным COM-портом, поэтому необходимо либо использовать компьютер, где он есть, либо (при использовании адаптера) переназначить номер порта на COM1 или COM2.

xejfvrbjoxccwjuykecdtvewyw0.jpeg

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

Чтобы выяснить, на какой скорости работает мой экземпляр, я открыл Device Monitoring Studio и попробовал жмякнуть какую-нибудь из кнопок для взаимодействия с информатором. Как удалось выяснить, первой следует посылка из двух байт — 04h 01h, на которую аппарат отвечает 20h. Это своеобразный ping, проверка того, что информатор подключен и находится в режиме обмена данными. Далее мне осталось только подключить прибор к компьютеру и попробовать послать эти байты на разных скоростях. Таким образом было выяснено, что скорость моего информатора — 9600 бод.

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

Как работает ППК


Самое время разобраться, как устроен и как работает этот модуль.

9c-rbdcaeiamc1qpiin_fan0iic.png

Контроль присутствия ППК контролируется замыканием двух пар выводов разъёма XP7 (14 и 15, 24 и 25). Эти перемычки выполнены в виде капель припоя на выводах разъёма. Сигнал наличия модуля памяти в разъёме поступает на ножку PD3 микроконтроллера. Шины I2C и SPI подключены не напрямую, а через буферы, в качестве которых тут используются двунаправленные ключи 4066. При обнаружении вставленного модуля МК открывает транзистор VT2, который подаёт питание на ППК и разрешает прохождение данных. Также его можно открыть извне, подав высокий уровень на контакт PROG разъёма XP7. Это позволяет, например, прошивать микроконтроллер без разборки устройства. Считанные данные после обработки их контроллером подаются на ЦАП КР572ПА1А, выход которого соединён с ФНЧ и усилителем.

Проверка показала, что микросхемы, равно как и выводы контроллера, исправны. Стало ясно: похоже, дело в модуле.

Не все чипы памяти одинаково полезны


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

k-svbx5wccuvsir_uughsz7x-o8.jpeg

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

Подумав, что дело в неподходящей или сдохшей при пайке SPI Flash, я отпаял её, но результат был тем же. Вернув её на место и убрав на этот раз EEPROM, я таки добился нормальной работы.
Из своих опытов с домофонами я привык, что такая память обычно взаимозаменяема — можно поставить любую другую, лишь бы не меньше по объёму. Но этот же девайс хотел исключительно 24C16, а при установке какой-то другой вис при инициализации модуля памяти. В принципе, EEPROM можно и вовсе не ставить, устройство нормально воспроизводит звук и без неё.

МПИ


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

v3kd9lmw9fl1xqy7p95xjiopjzy.jpeg

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

Маршруты


oczl9dvwyyrszf_axydgnfpwrc0.jpeg

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

pp3cobur0tpfoc9s1gtfkkrrls8.jpeg

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

qz8qgkag0grijhc2blhhavt9t1c.jpeg

А вот настройка одиночного маршрута.

brz6aul6qywyg1laiw_6aperpqg.jpeg

Для каждого из них можно задать свой шаблон, по которому будут воспроизводиться записи.

voem8vic5roppqiwzxyk5fypl1y.jpeg

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

zhn0ws05cxnu-jryy_cnz9j5sg0.jpeg

У меня нет записей для маршрутов Челябинска, поэтому для примера я залил свои.

3gis_ppziqmf_enb6h5y6lf0d7g.jpeg

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

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

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


По нынешним меркам аппарат уже достаточно устарел — уже давно есть модели, использующие карты памяти вместо редких и нестандартных модулей ППК, поддерживающие автоматическое объявление остановок через GPS/ГЛОНАСС и умеющие ещё многое, так что девайс этот подойдёт скорее для коллекции. Впрочем, экземпляр всё ещё работает и нормально выполняет свою основную функцию — объявлять остановки в транспорте.
Такие дела.

Курьёзный момент при написании этой статьи

Почти за неделю до планируемого выхода произошёл производственный момент — неловким нажатием Ctrl+Enter я случайно выкатил пост без единой картинки и без части текста. Бета-версия зародыш статьи был немедленно был убран в черновики, но, возможно, те, кто был на меня подписан, успели узнать, о чём будет предстоящий материал. Хех.


Возможно, захочется почитать и это:
b5pjofdoxth14ro-rjsrn7sbmiy.png

© Habrahabr.ru