Назначение: Центральный процессор для управления системой Ursalog-5022. На борту имеет Z80 CPU, Z80 CTC, Z80 PIO, 3кБ ПЗУ (К573РФ1) и 1 Кб ОЗУ.
Тактовый генератор: При проверке на кварце должен быть чёткий пилообразный сигнал. Если его нет, значит надо проверить конденсатор C8. По замерам он обычно показывает 100..120 пФ, без утечек. Можно ставить 180 пФ. Вроде работает. Для разрыва CLK сигнала на плате есть перемычка X6-X7. Её можно использовать для поиска дальнейших неисправностей.
Схема тактового генератора ZRE
zre_clk.jpg
Логический анализатор: В принципе я опробовал этот способ диагностики. Однако он не настолько эффективен как ожидалось. На одной из плат анализ показывает что код читается корректно, данные передаются верно, но при этом на тестовом стенде плата не работает. Более менее прогресс ремонта прилично сдвинулся после замены К589ИР12, отвечающую за передачу управляющих сигналов (MREQ, IORQ, etc). Хотя явных намёков на неисправность нет. Все сигналы пробрасываются точно. Сейчас плата запускается на стенде в минимальной конфигурации (положение RETT на TAV). Но отказывается запускаться в рабочем режиме (LAUF).
Пример с неисправным ZRE
zre_b1.jpg
Пример с исправным ZRE
zre_g1.jpg
Здесь как минимум видно что на исправной плате гораздо меньше помех по шине данных. Микросхемы АП16 при этом уже заменены.
Рабочая плата. Общий вид.
zre_g2.jpg
На неисправной плате как минимум шины D5 и D7 засраны по полной.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ремонт очередной платы с глюками: Вылет платы в ошибку наблюдался примерно через 4 минуты после включения. Согласно документации это было ER, где E - Это ошибка обработки системы, а R - это организация вызова. Далее идёт код TB (где) и потом код TC (когда).
Прелесть системы в том что индикация ошибок всё же есть. Мудрёная, сложная. Но проблема в том что если плата неисправна то это делает индикацию бесполезной.
В подобных случаях надо обращать внимание на всё. И начнём с контрольных сумм. Вводим команду CC и листаем. На первый взгляд всё отлично, везде где установлены ПЗУ, контрольная сумма читается как надо. Но удалось обнаружить что где ПЗУ не установлено, то вместо значения 77EB, читается F789. Довольно знакомое число и я его точно где-то видел. Это надо проверить. Очевидно что вместо байта 0xFF читается всё что угодно, но не 0xFF.
Воспользуемся джавой и напишем небольшую программу.
Скриншот с программой
crc16.jpg
Довольно быстро удалось выяснить что с чистой ПЗУ читалось значение 0x7F. Проще говоря проблема при чтении DATA7 на шине данных. Выкусываем микросхему, чистим и припаиваем новую К589АП16. После этого чтение контрольных сумм работало как часы.
Но проблемы на этом не кончились. Всё ещё наблюдались ошибки с организацией вызова. А это уже сложнее, поскольку я понятия не имею что это такое. Однако вернёмся к тому что ошибки лезут не сразу, а только тогда, когда плата немного поработает и микросхемы нагреются. Берём балон с FREEZER (средство для охлаждения) и начинаем искать. И где-то через пару часов поисков, удалось найти что возможная проблема в К589АП16, которые стоят перед Z80CTC по шине данных. Меняем на новые. После этого проблема ушла.
У вас нет необходимых прав для просмотра вложений в этом сообщении.