jcxz 226 17 мая Опубликовано 17 мая · Жалоба 1 час назад, khach сказал: Но к сожалению там чистая эмуляция без возможности отладки. У КР580ИК80 все сигналы/шины торчат наружу. Память - тоже снаружи. Также имеются подробные описания диаграмм работы всех этих шин/сигналов. А значит вполне возможно взять любой МК, подключиться им к шинам/сигналам КР580ИК80 и написать программу на МК, которая будет анализировать передаваемые по шинам данные, выдавать управляющие сигналы (HALT и т.п.) на КР580ИК80. И реализовать все необходимые функции отладочного эмулятора: Просмотр содержимого регистров/памяти (по захваченным и сохранённым с шин данным), breakpoint-ы (анализируя адрес выбираемой из памяти команды и остановку в нужный момент) и т.д. Т.е. - сваять собственный J-Link для КР580ИК80. Если знакомый хоть немного умеет программировать микроконтроллеры (а он должен это уметь), то такое сделать несложно. Да даже на абдурине можно слепить. Если конечно овчинка стоит выделки..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 75 17 мая Опубликовано 17 мая · Жалоба В 17.05.2024 в 17:43, khach сказал: Кто-нибудь знает современный аппаратный отладчик КР580ИК80 (I8080)? Знакомый мучается с ремонтом древней советской измериловки и что то сбоит в цифровой части процессора. Если по-простому, то пишется банальная программка на 10 строк для опроса/проверки необходимого узла, подключается обычный лог-анализатор(лучше на 16 каналов) и изучается лог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 40 17 мая Опубликовано 17 мая · Жалоба 10 минут назад, HardEgor сказал: Если по-простому, то пишется банальная программка на 10 строк для опроса/проверки необходимого узла, подключается обычный лог-анализатор(лучше на 16 каналов) и изучается лог. А куда программу пихать? Там вообще то однократные PROM типа RT использованы. Лог это хорошо, но только в системе еще и прерывания есть, а они были у I8080 очень хитро реализованы как на современное время, когда опкоды на шину данных выдвавал контроллер прерываний. Вот даже выловить такое логическим анализатором не получалось нормально- ножек тупо не хватало. 8бит данные, 16- адрес, стробы записи-чтения отдельно для памяти, отдельно для портов вовда-вывода, прерывания итд. Ног ЛА не хватало за всем следить да и триггера на события не все получалось программировать. Вот нашел такой аппаратный отладчик http://tauntek.com/8080-In-Circuit-Emulator.htm Кто нибудь с таким дело имел? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 75 17 мая Опубликовано 17 мая · Жалоба В 17.05.2024 в 20:02, khach сказал: А куда программу пихать? Там вообще то однократные PROM типа RT использованы. Как обычно - ноги CS отсоединить от PROM, сверху напаять панельку и в неё вставить flash или UVPROM. А можно и вообще всё вычитать и перепаять. В 17.05.2024 в 20:02, khach сказал: Ног ЛА не хватало за всем следить да и триггера на события не все получалось программировать. Обычно не всё адресное пространство использовалось, так что старшие адреса можно не подключать. А можно действовать в лоб - дизассемблировать программу и тогда можно осмысленно отлаживать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.V.Avtomat 22 19 мая Опубликовано 19 мая · Жалоба Да там, как я понял, ни эмулятор PROM, ни эмулятор 8080 ничем не поможет, раз измерительная техника раньше работала, а сейчас - не работает. Уверен, что нужна замена микросхем, если вообще это поможет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 40 19 мая Опубликовано 19 мая · Жалоба Так надо же понять, что менять. Замена всего по очереди с тем качеством плат- прямая дорога в мусорку. Причина обычно более менее простая- или микросхема подохла от времени, или обрыв дорожки. Но вот найти где неисправность- проблема. Вот недавно было- обрыв адресной линии, притом не по всей длине шины- ПЗУ читается правильно, а ОЗУ- происходит заворот адресации по одной из адресных линий. Поди поймай это дело. Внутренний тест ОЗУ проходит, т.к был написан по принципу 00-FF, а не псевдослучйная последовательность как в современных тестах. Понятное дело, что прошивку слили, отдизасмили, потом долго ловили где она слетает. Эмулятор программный тут полностью бесполезен, помог бы аппаратный, тот что буржуи ICE (in circuit emulator) называют. Но его небыло и долбались логическим анализатором и осциллографом цифровым. Вторая ситуация- в системе таймер типа ВИ53- одна линия данных отвалилась. Т.е в микросхему пишется не то что надо, а чтения для проверки не предусмотрено. Логика работы прибора полностью нарушена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.V.Avtomat 22 19 мая Опубликовано 19 мая · Жалоба Хорошо, низкое качество и плохое состояние плат мешают замене. А эмулятор тогда куда и как втыкать? А если процессор и память на колодках, то что мешает замене? Да и проблема замены DIP сильно преувеличена. Старые микросхемы можно аккуратно отрезать в местах выхода выводов из корпуса микросхемы. Зачем припаять новую микросхему к торчащим из платы выводам. А для диагностики обрывов эмулятор вообще не нужен, нужны схема и мультиметр, не мне Вас учить. Вот если память начала слетать постепенно, тогда эмулятор может помочь, не спорю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 40 19 мая Опубликовано 19 мая · Жалоба 12 минут назад, A.V.Avtomat сказал: А если процессор и память на колодках, то что мешает замене? Процессор если в DIP то выпаивать, искать метрическую колодку, что уже не так и легко, и вставлять туда эмулятор. А если такой? Память ПЗУ в виде платы с РТ-шками планарными- туда ничего нового не вставить. Только полная замена платы на плату с DIP пзу-хой типа 2764 быстрой. Но это уже модификация прибора. Прозвонка не всегда помогает- бывает что от дохлой микросхемы появляется левая подтяжка логического уровня, она видна только осциллографом. Несколько раз такое наблюдал- на шине данных один из битов подтянут веерх по уровню и логического нуля нормального нет. При этом часть источников данных шину "прожимают" до логического нуля, а часть не могут, т.к нагрузочная способность выводов низкая и буфера типа ИР82 нет. Вообще надо отдельную тему по ремонту ретро создавать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 226 19 мая Опубликовано 19 мая · Жалоба 1 час назад, A.V.Avtomat сказал: А эмулятор тогда куда и как втыкать? Никаких "эмуляторов" никуда втыкать не надо. Я выше уже писал как можно сделать. Нужно только прочитать описание работы КР580ВМ80А. Обнаружить в описании сигналы HLD, RDY, HLDA, WAIT. Почитать как они работают. Далее можно с помощью этих сигналов останавливать CPU на нужном адресе памяти и с помощью них же шагать по командам. Т.е. - достаточно будем поднять пару ножек CPU (или перерезать пару дорожек), чтобы врезаться в эти цепи. Например здесь достаточно подробно описан КР580ВМ80А: https://elancev.narod.ru/texno/bm80/bm80.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 40 19 мая Опубликовано 19 мая · Жалоба Шагать то можно, а вот брейкпоинты как ставить? Особенно если брейкпоинт на ввод-вывод в порт нужен. Или за указателем стека следить? Дамп память снять? Иногда это решалось программой монитора, но ее не всегда можно воткнуть в адресное пространство. У буржуев такое встречал- монитор отдельной еепроминой, контроллер прерываний имел ножку куда можно было подать сигнал от компаратора событий брекпоинта и управление улетало в монитор. Но это только один раз такая продуманная конструкция попалась, и то она была уже на 8085 проц ( 85 не 86!) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 226 19 мая Опубликовано 19 мая · Жалоба 1 час назад, khach сказал: Шагать то можно, а вот брейкпоинты как ставить? Особенно если брейкпоинт на ввод-вывод в порт нужен. Точно также - анализируя сигналы шин. Я выше уже писал: В 17.05.2024 в 15:24, jcxz сказал: И реализовать все необходимые функции отладочного эмулятора: Просмотр содержимого регистров/памяти (по захваченным и сохранённым с шин данным), breakpoint-ы (анализируя адрес выбираемой из памяти команды и остановку в нужный момент) и т.д. КР580ВМ80 - это не МК, у него все шины торчат наружу. Можно легко детектировать моменты чтения команд из памяти и адреса, по которым они выполняются. И останавливать в нужный момент (HLD или RDY). Простой схемой из нескольких логических элементов. Также легко можно реализовать бряк по обращению к данным по какому-либо адресу. 1 час назад, khach сказал: Или за указателем стека следить? Дамп память снять? Смотреть регистры CPU или содержимое памяти конечно сложнее. Тут без программы не обойтись. Написать программу на каком-нибудь ARM-е, подключив его к шинам КР580ВМ80 и следить за потоком команд, эмулируя внутри ход выполнения программы. Тогда, при остановке на бряке, внутри ARM-а будет всё содержимое ОЗУ и регистров КР580ВМ80. Но вот просто остановить на каком-то адресе - достаточно простой схемки из нескольких логических элементов. PS: Когда-то в середине 90-хх, будучи студиоузом, я придумал и спаял RAM-диск (на 256КБ) для своего тогдашнего домашнего компа на КР580ВМ80. "Контроллер" этого диска был построен на всего 4 или 5 простых логических ИС (логика, триггеры, 8-разрядный регистр вроде был). Он был подключен к шинам КР580ВМ80, перехватывал команды, выбираемые процессором из ОЗУ и, обнаружив определённый код команды (один из неиспользуемых кодов команд), переключал обращение к штатному ОЗУ компа на обращение к моему диску. Таким образом, чтобы прочитать или записать байт на этот диск, нужно было выполнить любую команду с операндом M, перед которой поставить этот код неиспользуемой команды. Помню, что встроить этот контроллер в шину КР580ВМ80 было несложно. Даже для студента всего недолго знакомого с электроникой. Почти все нужные сигналы там уже были. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darmok 2 17 июля Опубликовано 17 июля · Жалоба Наконец закончил сельхоз и строительные работы на даче, и нашлось время для продолжения разработки схемы энкодера колеса мыши. Выражаю огромную благодарность khach за то, что он не поленился отсканировать часть схемы анализатора спектра. Идея, заложенная в ней, и позволила мне разработать более простое решение. Всего два корпуса жесткой логики, проще, пожалуй, уже и не получится. Пока у меня нет возможности отмакетировать решение, но в симуляторе все работает как надо. Нет ложных срабатываний при смене направления вращения, выдается импульс каждый “щелчок” колеса. Длительность выходных импульсов задается С4,R6 (C5,R7). Привожу схему, может быть, кому-нибудь пригодится. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.V.Avtomat 22 17 июля Опубликовано 17 июля · Жалоба 47 минут назад, Darmok сказал: Привожу схему, может быть, кому-нибудь пригодится. Ну, это вряд-ли Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darmok 2 17 июля Опубликовано 17 июля · Жалоба В любой профессии есть как искусные мастера, так и профессиональные ремесленники. Я и сам когда-то был таким ремесленником. Разрабатывал схемы по известным шаблонам, не отступал от рекомендаций в даташитах и руководствах, использовал чужие проверенные временем решения, в общем, не хотел рисковать и брать на себя ответственность. У меня всегда вызывали восхищение те, кто мог придумывать что-то новое, ранее не известное, в том числе и в области схемных решений, то есть Мастера своего дела. Именно они двигают профессию вперед, обрастая учениками и последователями. Всегда жалел, что сам к этому мало способен. К чему это я? А ни к чему, просто так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 17 июля Опубликовано 17 июля · Жалоба Найдите журналы"Радио" за 83-й (кажется) год - там публиковался комп "Микро-80" на ИК80. В одной из статей была отладочная панель для него. Всё конено не надо, но ту часть схемы, что для пошаговой отладки, можно взять оттуда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться