Найти в Дзене

Орион-128. Тестер для КР580ВН59.

Всех приветствую! В воздухе давно витает тема подключения к компьютеру микросхемы внешних прерываний КР580ВН59. И вот, наконец, свершилось! Наперёд сразу скажу, что я не знаю, как эта микросхема работает в таких компьютерах, как "Корвет" или "Океан", но она преподнесла мне некоторые сюрпризы, о которых я даже не мог догадываться, изучая документацию. А именно, какие манипуляции необходимо провести, чтобы всё правильно работало. Но об этом чуть позже. Ранее уже предпринимались неоднократные попытки собрать различные по схемотехнике контроллеры прерываний на базе этой микросхемы и подключение их к Ориону, но они не увенчались успехом. После третьей неудавшейся попытки было решено собрать что-то наподобие стенда для запуска, отладки и тестирования микросхемы КР580ВН59, чтобы пощупать микросхему, как говорится, "за всякое". Была разработана следующая схема, которая эмулирует работу микропроцессорной системы: Подключается данное устройство к порту пользователя /F600. Триггер ТМ2 управляет э

Всех приветствую!

В воздухе давно витает тема подключения к компьютеру микросхемы внешних прерываний КР580ВН59. И вот, наконец, свершилось!

Наперёд сразу скажу, что я не знаю, как эта микросхема работает в таких компьютерах, как "Корвет" или "Океан", но она преподнесла мне некоторые сюрпризы, о которых я даже не мог догадываться, изучая документацию. А именно, какие манипуляции необходимо провести, чтобы всё правильно работало. Но об этом чуть позже.

Ранее уже предпринимались неоднократные попытки собрать различные по схемотехнике контроллеры прерываний на базе этой микросхемы и подключение их к Ориону, но они не увенчались успехом. После третьей неудавшейся попытки было решено собрать что-то наподобие стенда для запуска, отладки и тестирования микросхемы КР580ВН59, чтобы пощупать микросхему, как говорится, "за всякое".

Была разработана следующая схема, которая эмулирует работу микропроцессорной системы:

Подключается данное устройство к порту пользователя /F600.

Триггер ТМ2 управляет электронным ключом LM2941 для подачи питания на КР580ВН59.
Триггер ТМ8 управляет работой микросхемы КР580ВН59 и также, как и триггер ТМ2, является ячейкой памяти для запоминания режимов работы.
Дело в том, что порт DD55 КР580ВВ55 в процессе работа перепрограммируется. А одной из особенностей этого является то, что значения уровней на каналах АВС сбрасываются в 0, а этого никак допускать нельзя.
Дешифратор ИД7 управляет выбором номера прерывания, а инвертирующий шинный формирователь ВА87 посылает на входы КР580ВН59 уровни логических 0, т.к. прерывания на ВН59 должны иметь высокие логические уровни.
Резистор R3 защищает выход порта С8 от случая, когда при подключении тестера к порту порт может быть настроен на выход и возникнет коллизия с выходом INT микросхемы КР580ВН59.
Резистор R2 обеспечивает уровень лог.0 для того, что при запуске управляющей программы без микросхемы КР580ВН59, программа могла корректно завершить свою работу по таймауту.

-2

Теперь об особенностях работы КР580ВН59.
Мы все привыкли, что работа с прерываниями выглядит следующим образом: от дочернего устройства подаётся импульс (как правило, низкого уровня) и это устройство продолжает работать дальше, ожидая команд от хоста либо просто продолжает подавать через какие-то промежутки времени свои импульсы. А в это время головное устройство по прерываниям обрабатывает некий код. С КР580ВН59 это не так. Здесь нужно, чтобы прерывание длилось всё время его обработки хостом и по окончании хост выдал команду окончания обработки прерывания и только после этого сигнал прерывания снимался со входа КР580ВН59, т.е. возвращался от высокого уровня к низкому.
Вот этот момент и позволил выяснить данный тестер.

Что характерно, то в описании была дана диаграмма работы, но в ней подача прерывания изображена неверно. Обратите внимание на импульс прерывания:

-3

А вот как должно быть на самом деле. Импульс прерывания снимается после окончания всего цикла обработки прерывания:

-4

В результате была написана небольшая тест-программа, позволяющая проверить работоспособность микросхемы КР580ВН59. Тест работает в не маскируемом режиме и в так называемом режиме фиксированного приоритета, где IRQ7 - низший приоритет, а IRQ0 - высший. Естественно, порядок приоритетов можно менять в любой момент времени, как угодно программисту.

Результат работы теста с исправной микросхемой выглядит так:

-5

Результаты теста, когда микросхема отсутствует либо может быть бракованая:

-6

Здесь программа ждёт ответа от КР580ВН59 и если не дожидается, то выдаёт ошибку, сообщая в ней что ожидался сигнал INT с уровнем лог.1, а получен с уровнем лог.0 и дальнейшее тестирование микросхемы считается не целесообразным.

По ссылке можно скачать схему в формате PDF и программу тестирования с исходным текстом https://disk.yandex.ru/d/zQkZ-ZNy0zgHuA

До новых встреч!