суббота, 9 февраля 2013 г.

проблема с вводом данных в системе "орион

У меня была заводская версия Ориона, в корпусе УКНЦ: Т.к. компьютер был заводской, печатная плата отличалась от журнального варианта, и были некоторые отличия в схеме, что не облегчало задачу. Также на проводах (в левой части платы) висел счетчик К155ИЕ5 конечно я понятия не имел, зачем он там висит, еще одна загадка. По советам заменил советские керамические конденсаторы на новые. Блок питания был больным местом Ориона (и у меня выдавал неправильные напряжения) его я полностью заменил на новые импульсные. Орион требовал напряжения +5, +12 и -5В (вернее, эти напряжения требовал процессор КР580ВМ80А, всему остальному достаточно было +5). Но компьютер не заработал: двухфазный синхросигнал на процессор приходил, видно было что на шине адреса и данных что-то происходит, но компьютер не работал, на экране был мусор без признаков сознательной деятельности. Первой моей мыслью было то, что за 20 лет испортилось содержимое Монитора (защитное окошко не было заклеено изолентой) заказал , слил прошивку и к моему сожалению она совпала до байта с журналом. Печаль. Идей не было никаких. Я знал, что если с -5 и 12В напряжениями есть проблемы процессор может сгореть. Поэтому заменил процессор и шинный формирователь на шине данных но это не дало никакого результата. Сигналы RAS и CAS похожи на правду (т.к. это наиболее высокочастотные сигналы с ними также бывают проблемы). Заметил, что один из битов шины данных всегда 1. Оказалось, я случайно закоротил его на +5В когда перепаивал конденсаторы. Только сейчас я начал понимать, зачем на печатных платах паяльная маска Тест памяти заработал, но очень странно, после тестирования первой страницы памяти снова тестировал первую, а не вторую. Подозрения пало на регистр текущей страницы памяти (порт 0F900H) или не проходит запись, или потом это значение не переключает страницу. Для того, чтобы легче было дебажить написал программу вместо Монитора, которая постоянно переключает страницу памяти. Достал из Ориона старую EEPROM КС573РФ2, и начал стирать Через пол часа под кварцевой лампой прошивка все еще совпадала байт в байт (более современные EEPROM 27512 стирались за 35-45 секунд) Только через час прожарки микросхема была чистой. Но при попытке её записать меня постигла былинная неудача, как оказалось, программатор может выдавать напряжение программирования не выше 21В, а КС573РФ2 требует 26. Можно было конечно хакать программатор, но я решил припаять более современную флешку с электрическим стиранием расположение выводов конечно не совпадало, и припаивать пришлось на проводах («многоэтажная» печатная плата не влезала по высоте). Переключатели позволяют выбирать один из нескольких залитых Мониторов, и припаяны к первым неисполь

Процессор КР580ВМ80А имеет 16-и битную шину адреса, и соответственно может адресовать только 64кб памяти, порт переключения страниц позволяет процессору выбирать текущую страницу памяти. Но если мы переключаем страницу и программа будет выполнятся из другой страницы по тому же адресу! Т.к. в таких условиях работать сложно, обычно всю работу с дополнительными страницами делает монитор (т.к. он «виден в памяти» на всех страницах), но это конечно не слишком быстро. Вывод графики реализован следующим образом: двоичные счетчики постоянно перебирают текущий адрес видеопамяти. Мультиплексоры могут подключать к адресным выводам памяти то адресную шину процессора (когда ему это надо), то адрес перебираемый счетчиками. Каждый адрес видеопамяти читается 2 раза, но если был конфликт с процессором, то прочитанное значение не сохраняется (т.е. один раз из двух конфликта гарантировано не будет, т.к. процессор относительно редко обращается к памяти). Видео-память читается одновременно из обоих страниц, и прочитанные 16 бит затем попадают в сдвиговые регистры (параллельная загрузка последовательный вывод), на основе выхода которых и формируется видео-сигнал. В монохромном режиме вторая страница памяти не используется, а вот в цветном приходится писать и во вторую страницу. А это как мы помним медленно, т.к. возможно только через вызов подпрограмм монитора. Тут и находится основной недостаток Ориона скорость вывода текста очень низкая (около секунды на страницу текста в цветном режиме), особенно по сравнению с Радио-86РК.

0F400H порт клавиатуры 0F500H порт пользователя 1 0F600H порт пользователя 2 0F700H порт платы расширения 0F800H управление графическим режимом (только для записи) 0F900H переключение страниц памяти (только для записи) 0FA00H переключение адреса экранной области памяти (только для записи) 0FB00H системный порт 4 (только для записи, не используется)

Сердце компьютера процессор КР580ВМ80А, аналог Intel 8080. Для упрощения конструкции слово состояния процессора не захватывалось (там процессор «говорит» когда пишет в стек, читает или пишет в порты ввода/вывода). Также отсутствует контроллер прерываний. В самых верхних адресах находится ППЗУ Монитор-а (BIOS). Он сделан интересно все его функции вызываются через таблицу в самых верхних адресах памяти, которые просто выполняют безусловный переход на место фактической реализации функции, таким образом при изменении реализаций функций адреса вызова остаются прежними, и остается возможность их добавления (таблица растет «вниз»). Порты ввода вывода были отображены на память, т.е. если при декодировании адреса мы видели что адрес=адресу порта, то происходила запись в регистр порта. Адреса портов находились в области Монитора, куда все равно записывать нельзя. Порты были сделающие:

Исторически, первым массовым радиолюбительским компьютером был , требовавший для построения всего 29 микросхем. Его существенным ограничением был то, что он поддерживал только текстовый режим. был логическим продолжением также ориентирован на сборку радиолюбителями, имел больше памяти (128кб против 16) и поддерживал графический режим: 384 ‡ 256 (в режиме 2 цвета, 4 цвета, и 2 цвета из палитры 16 цветов на каждые 8 пикселей). Ориентировочный размер популяции Орион-ов в период его пика популярности около 30-40 тыс. компьютеров. Орион появился у меня в 94-м году, и именно на Орионе я писал свои первые программы. К моменту приобретения первой PC-шки в 97-м Орион начал глючить все забористее (не грузился с первого раза, приходилось много раз перезагружать…) и под конец перестал работать совсем. Отремонтировать я его тогда не мог, и все эти годы он пролежал без движения, но не забытым. Этим летом я наконец решил попробовать его отремонтировать что из этого получилось (а также обзор архитектуры и некоторых программных особенностей) под катом.

Опубликовано автором

Орион-128: радиолюбительский компьютер

Навигация по записям

Ещё одна копия хабора

Орион-128: радиолюбительский компьютер | SavePearlHarbor

Комментариев нет:

Отправить комментарий