Re: Разбор схемы семерки
Ты как бы ищешь подсказки или изображаешь Деда Мороза с загадками ? :))
Пряники будут ? :))
Персональный компьютер "Агат" - технические беседы (является частью agatcomp.su / agatcomp.ru) Как зарегистрироваться?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
ПЭВМ "Агат" 7-9: Форум → Ремонт → Разбор схемы семерки
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Ты как бы ищешь подсказки или изображаешь Деда Мороза с загадками ? :))
Пряники будут ? :))
Ну скучно же просто выложить картинку и написать: "тут сдохло вот то и вот это". Хотел предложить разминку для мозгов :)
Ну что, правильные ответы называть, или кто-то еще хочет поломать голову? :))
А мне кажется, что у РТшки прошивка слетела немного. У меня было зеркаленье вроде из-за этого...
Нет, в семерке РТшки используются только в знакогенераторе, в цепях формирования адреса никаких РТшек нет.
Если разминка для мозгов, то надо в динамике это видеть.
Хотя бы неторопливо курсор погонять по экрану, чтобы разглядеть, в каких позициях эти дубли вылазят.
А вообще, вот какая статистика интересная, пусть Wierzbowsky поправит, если я ошибусь:
когда у него плата сдохла, мы заменили где-то за полгода, по переписке, штуки 4-5 микрух.
Обменявшись, наверное, сотней осцилограм, которые он аккуратно снимал, а я разглядывал.
Боюсь, если начать такой же квест с твоей платой, то мы где-то в месяц будем разгадывать, что у тебя случилось и регулярно требовать новые данные - видео, замеры и т.д..
Первое: я вижу повтор звёздочек в середине экрана, наиболее вероятно, что это какая-то из адресных линий.
Либо запись в память идёт коряво, либо чтение из памяти. Пишет ЦП - у него своя шина адреса, читает ДК - у него своя шина адреса.
Даже если вычислить разряд, останется вопрос - кто из них ? Значит надо будет дополнительно пытаться читать из памяти данные и проверять, что ЦП их читает правильно (или неправильно).
Также я не вижу повтора других знаков, т.е. не похоже, что какая-то одна линия просто не работает, более вероятно, что она как-то зависит от состояния других линий. (получается, что в каждых $100 байт вместо адреса $20 выборка делается из адреса $00).
Например, что-то вроде: A5 утягивается в ноль если &(A4..A0) == 0. Верхний ключ в A5 отвалился и её подтягивает паразитными ёмкостями или индуктивностями?
Но может быть там ещё есть повторы, нули над звёздочками в центре экрана тоже дублируются ?
За линии отвечают, в первую очередь, какие-то из КП-шек, стоящие перед РУ. Более вероятно, что дело в них.
Но здесь могут быть виноваты и микры, стоящие перед КП-шками.
Третья зелёная звёздочка в первой строке (первая после слова "Агат") выглядит как три точки ?
Я не вполне уверен в чёткости фотографии.
Что будет если вместо звёздочек в центре вывести другие символы? Изменятся ли символы в начале строк ?
Второе, если звёзды справа - это новая 33я колонка (кстати, с подобным я ещё не сталкивался), то вопрос тот же: из какого знакоместа они берутся ? Память не добавилась, значит ДК просто откуда-то их зеркалит. Из нулевой колонки или центра ?
Похоже, это повтор нулевой колонки текущей строки. Замыканием адресных шин такой трюк не сделать, так что, боюсь, где-то проблема в контроллере ДК, в формировании адреса. Я мало копался в семёрках на этот счёт (да вот, странно, но семёрки в ДК почти не дохли при мне), так что дальше гадать не буду - надо погружаться в схему.
Возможно, этот повтор происходит из-за несрабатывания какой-то схемы блокировки луча.
Т.е. счётчик досчитал до 31й позиции, затем у него rollover в позицию 0, выход ДК должен бы заблокировать RGB, но
блокировка не происходит и мы наблюдаем лишнюю колонку. Возможен ли rollover счётчика здесь или он должен происходить в конце физической строки (т.е. одновременно со строчным СИ) - я не знаю.
В общем, долго это будет...
Так что давай ответы уже :)
На самом деле, все догадки правильные.
Итак. Первая битая микруха - это D75 (знакогенератор, латиница). Это видно по искаженным символам.
Вторая битая микруха - D63. На выходе 7 у нее вот такой классный фронт (это режим ГНР, в текстовом уже не стал снимать). И это явно из-за того, что верхний ключ отвалился, до высокого уровня ее подтягивает вход D6.
Интересно, что я сначала нашел этот глюк осциллографом, и большого значения не придал. Ну есть же вроде высокий уровень. А потом, когда заработала ячейка процессора, я увидел, как этот глюк выглядит на экране.
Происходит такой эффект: напряжение на выходе D63 в момент защелкивания адреса в буферный регистр находится на пороговом уровне и в регистр адреса, в зависимости от уровня шума попадает то 0, то 1. И символ в 16-й колонке читается то из своего адреса, то из начала строки. Поэтому одни строки рисуются от одного символа, а другие от другого. И все это случайно меняется, поэтому символы или мерцают или сквозь один просвечивает другой. Прикольно в общем.
Третья битая микруха - D46. Она отвечает за гашение изображения в текстовом режиме. Там ведь 224 пикселя всего и стандартный гасящий импульс для строки в 256 пикселей не годится. Поскольку микруха ничего не гасит, то эти лишние 32 пикселя становятся видны. А так как счетчик адреса продолжает считать, то после 32 символа выводится 1-й, 2-й и т.д.
Вопрос не для викторины. Какая в норме температура у микросхем РТ5 знакогенератора?
Битая D75 вроде несильно греется (если D95 отключить), а вот на D95 палец дольше нескольких секунд не удержишь. Это для нее нормально или стоит заменить?
По мультиметру она потребляет где-то 140 мА, что в пределах нормы, но мультиметр же усредняет. Возможно, в какие-то моменты жрет и больше.
Она настолько горячая, что у неё внизу иногда проглядывает металлическая пластина - видимо для распределения тепла по корпусу.
Вроде 2w по паспорту.
Мульт усредняет, но вот мне кажется, что в агате она постоянно работает (т.е. её не выключает схема никогда, да вроде бы РТ и не меняет потребления от сигналов на линиях CS).
Кстати, в эпловском Disk][ пзухи отключались по питанию, когда не использовались. Возняк заморочился и даже дискретные транзисторы под это дело воткнул.
Один знакомый, занимавшийся цифрой в 80-е годы, говорил мне, что это включение РТ-шек через ключ по питанию - вполне себе законный и практичный способ энергосбережения и снижения температуры.
Но в агате не стали так усложнять. Да, наверное, и смысла большого не было - РТ-хи не так уж часто отказывают, а для питальника эта мелочь незаметна.
Разобрался с нагревом РТ5. Одиночная РТ5 греется не сильно - это я заметил по контроллеру 840 К. И в семерке, хоть адрес меняется и более часто, D75 тоже чуть теплая. Но вот РТ5, напаянная вторым этажом, греется уже намного сильнее.
Думаю, тут дело в том, что тепло из микросхемы уходит не только через воздух, но и через ее выводы. Когда она нормально впаяна в плату, то через места пайки выводов, через дорожки заметная часть тепла уходит в плату. Но когда микросхема напаяна вторым этажом, то теплу приходится преодолевать намного большее расстояние. К тому же, тепло идет не к холодной плате, а к уже теплой микросхеме, и только потом к плате. Плюс еще подогрев корпуса снизу идет. В общем, решение не очень, потому что, по техническим условиям, у РТ5 максимальная рабочая температура 70 градусов.
----
Нашел тут другой прикол. Тыкнулся осциллографом в черно-белый выход и ничего не увидел. Стал смотреть на дорожки. И оказалось, что дорожка от эмиттера VT1 приходит аккурат на землю! А поскольку ЧБ выход у семерки выдает видеосигнал размахом 4 В, то ток базы VT1 при заземленном эмиттере получается несколько миллиампер, а ток эмиттера - уже несколько сотен. Так что, конечно, КТ-шка была дохлая (ограничительный резистор в коллекторе всего 10 Ом, так что ток там мог быть до пол-ампера).
Это что же, получается семерки выпускались со штатно вышедшим из строя VT1?
Не, тебя кто-то обманул
Или что-то
Там эмиттерный повторитель, в коллекторе, вроде, ом 10, а в эмиттере - 220. С эмиттера сигнал и снимается.
Так резистор в эмиттере есть. Только проводники разведены на плате так, что оба конца резистора соединены с землей.
Сфотографируй обе стороны платы в этом месте. Сравню со своей
У меня всё нормально звониться и работает, а семёрок у меня была не одна.
.....
мож там бага на плате, какую-то из дорог должны были перерезать на производстве ....
Плата уже вернулась владельцу, так что картинки не лучшего качества (вырезаны из более крупных). Вывод эмиттера я пометил буквой Э.
Дорожка от земли проходит под двумя резисторами и приходит к переходному отверстию. К этому же отверстию с обратной стороны идет перемычка от эмиттера. Скорее всего, дорожку должны были перерезать при производстве, но забыли. Хотя странно, что же, черно-белый выход не проверяли?
Похоже, промахнулись при перерезании дороги
До меня тут неожиданно дошло, что в разводке платы ошибок-то никаких нет. И дорожек резать не надо, и эти две МГТФ-ные перемычки вообще не нужны. Нужно было просто впаять еще один резистор.
Вот я нарисовал схему и на фотке показал, куда этот резистор ставится. И даже понятно, чего хотели добиться разработчики: ведь исходная схема выдает видеосигнал размахом 4 вольта на этот выход, а "Колокольчик" и МС-6105 ждут 1 вольт. То есть, нужен делитель. И все нужное для делителя на плате сделали и правильно развели!
Только почему-то сборщики продолжили собирать старый вариант схемы. Не могу понять почему. Может, изменение в плату внесли, а сборщикам инструкцию не написали. Или резисторов у них нужных не было. Или они уже так полюбили МГТФ, что не могли остановиться. С этой разводкой платы ведь можно и старую схему собрать: просто впаять ОДНУ перемычку вместо верхнего резистора делителя и ничего не резать.
Вот какие вещи всплывают....
Собирался написать более подробно про ремонт платы семерки. Собственно, ремонт был закончен еще в феврале, но до его описания руки не дошли, а несколько интересных моментов там было. Исправляюсь.
Плата была совершенно "мертвая". Это даже по температуре микросхем было заметно - почти все холодные. На RGB выходе все сигналы отсутствуют, процессор не стартует, писка при включении нет.
Потыкав осциллографом обнаружил, что работают только тактовые генераторы и пара триггеров. Чинить начал со стороны ДК. У первых же двух счетчиков, D47 и D48, при наличии тактовых импульсов на входе ничего не менялось на счетных выходах. Прикольно, что у них были одновременно активны выходы переноса и заёма. То есть, значение счетчика одновременно равно 0 и 15. Я назвал их счетчики Шрёдингера :) Ну что, съездил в магазин, купил 6 штук К555ИЕ7. Думал, с запасом :)
После их замены лучше не стало - D49 тоже не считал. Заменил его и выяснилось... что и D51 тоже не работает. На этот раз мне надоело менять счетчики по одному, и я попробовал соединять тактовые входы с землей и смотреть, будет состояние счетчика меняться или нет. D52 оказался вроде как живой. D60 проверить не удалось, так как у него на входе был 0, а замыкать землю с питанием не хотелось. Однако тактовые импульсы на D60 тоже не шли, хотя, при работающем D48, должны были. Причиной была дохлая D68, из-за неё же не было сигналов на управляющих входах РПД.
Одновременно заглянул в формирователь тактовой частоты ЦП и схему управления памятью и обнаружил, что сигналов RAS, CAS, 1 МГц и 2 МГц тоже нет, как и сигналов записи в буферные регистры. Здесь причиной была дохлая D20.
После замены счетчиков и инверторов появились ССИ и КСИ, но на выходах мультиплексоров D81, D82 железно висели нули, хотя в буферные регистры что-то писалось. В поисках их управлящих сигналов я набрёл на дохлую D57. Потом я заметил, что КСИ то есть, но почему-то частота у них 80 Гц. Оказалось, что D52 хоть и считает, но не с 0 до 15, а где-то с 0 до 8. Счётчик-диверсант. Пришлось и его поменять.
На этот момент плата смогла выдать на экране несколько горизонтальных полосок. Горизонтальных, потому что счетчик D60 все таки не работал и адреса не менял. Также, проверяя адресные мультиплексоры ОЗУ, обнаружил, что с одной из ног D13 идет средний уровень. После замены мультиплексора и последнего ИЕ7 появилось шахматное поле.
Нет, ну как вам такое? На плате сдохли все К555ИЕ7, все К155ЛН1 и все К155ЛА12 (хотя она там и одна)!
Ну ладно, ДК более-менее жив, можно ставить плату ЦП. Результат - на первой картинке. На экране точки внутри квадратиков перемещались, что-то вроде эффекта прокрутки. Прикинув, что после сброса ДК включает 0-ю страницу ГНР, а квадратики выводятся из адресов $100-$1FF, я сообразил, что это стек :) Видимо, процессор выполняет какой-то мусор вместо инструкций, пытается вызвать обработчик BRK и стек постоянно забивается. А судя по пропускам, какая-то адресная линия висит в нуле. Так и оказалось, часть выходов D9 и D11 на плате процессора выдавала нули.
После их замены... лучше не стало. Четыре анимированных квадратика слились в одну анимированную полосочку, причем эта анимация работала не каждый раз. Тут я призадумался. Видно, что процессор выполняет что-то не то, но почему? Битое ПЗУ? Битые шинные формирователи? Битые регистры данных на системной плате? Битое ОЗУ (без вызова подпрограмм Монитор даже пискнуть не сможет, а чтобы вернуться из подпрограммы нужно исправное ОЗУ)?
Основных вариантов было два: 1) выпаять ПЗУ Монитора и поставить отладочную прошивку; 2) не выпаивать ПЗУ, сделать пошагиватель и посмотреть, что происходит по тактам. Мне как-то оба варианта не улыбались, но тут я заметил, что подтягивающие резисторы на плате ЦП держат шину на промежуточном уровне. Поэтому, если процессор пишет на шину, то на ней четко 0 или +4 вольта, а если читает, то вот этот промежуточный уровень.
Короче, при внимательном просмотре выяснилось, что часть выходов у D13 и D14 в этот уровень не переходит никогда. После их замены Монитор, наконец-то, стартовал.
Правда, радость была недолгая, потому что стали видны 3 проблемы, про которые я писал раньше: битое ПЗУ латиницы, символов в строке больше 32 (нет гашения), в каждой строке символ из 1-й колонки повторяется в колонках 17 и 33. Кроме того, при попытке ввести тестовую программку для режима ГСР машина зависла.
За 33-ю колонку отвечала D46, за повторы - мультиплексор D63. Я надеялся, что замена D63 решит и проблему с подвисанием, потому что получалось, что при регенерации ОЗУ некоторые адреса выпадали и подвисания могли быть связаны с потерей значений в каких-то ячейках. Но не тут то было.
Вообще, очень удачно совпало, что тестовая программка начинается с адреса $4000. После ряда экспериментов выяснилось, что происходит "слипание" страниц $0000-$3FFF и $4000-$7FFF. То есть, пишем в данные в адрес $4027, а попадаем в рабочую ячейку Монитора по адресу $27. Проблема оказалась в том, что у регистра управления памятью D4 один из выходов выдавал средний уровень, а также в дохлой D5. То есть, процессор всегда работал с физическими адресами $4000-$7FFF.
Тут у меня мозги в конец закипели, потому что совершенно непонятно, как же я мог видеть эти "квадратики" стека при первом запуске. Ведь ДК от этой схемы не зависит, и после сброса всегда показывает данные из адресов $0000-$07FF. Процессор в эти адреса писать не мог, так откуда квадратики?
Судя по всему, дело было в среднем уровне на выходе D4. Видимо, в какие-то моменты напряжение на нем проседало ниже порога переключения и какие-то данные из процессора все же прорывались в диапазон адресов $0000-$07FF. Короче, мне тут сильно повезло, мог бы искать проблемы намного дольше :)
Напоследок я протестировал все что мог: 1) загрузил тест Сергея Фролова через магнитофонный порт (заодно и порт проверил); 2) проверил пульты (программка тут); 3) проверил прерывания (программка тут).
Последнее фото - больные зубы :) (ПЗУ с кириллицей я тоже поменял, нагрев мне его не понравился). Последней неисправной деталью оказался КТ315 в Ч/Б видеовыходе.
> Нет, ну как вам такое? На плате сдохли все К555ИЕ7, все К155ЛН1 и все К155ЛА12 (хотя она там и одна)!
В книгу рекордов :)
Чтобы отправить ответ, вы должны войти или зарегистрироваться
ПЭВМ "Агат" 7-9: Форум → Ремонт → Разбор схемы семерки
Форум работает на PunBB, при поддержке Informer Technologies, Inc