ОТКРЫТЫЕ ТЕХНОЛОГИИ
ЗАМЕНА К5б5РУ5 НА К5б5РУ7.
(C) 1998 Master, VALEX, MAX
---------------------------------------------------------------
1.Вступление.
Данная статья расчитана на более-менее
знающую публику, которая умеет держать па-
яльник в руках и для которых схема компью-
тера не является темным лесом. Мы попыта-
емся сделать детальный анализ технологии
замены рушек для увеличения объема памяти
компьютера. Этот путь мы прошли сами пол-
тора года назад без посторонней помощи.
Когда мы столкнулись с этой проблемой, то
обнаружили, что справочной информации или
нет вообще, или очень мало и без деталей.
Поэтому решено поделиться знаниями с широ-
кой общественностью. Но статья не претен-
дует на роль справочного материала, поэто-
му за замеченные неточности просьба строго
не винить. В этой статье мы попробуем дос-
тучаться до провинции - ведь там компьюте-
ров в расширением до 512 килобайт практи-
чески нет. На наш взгляд расширение обыч-
ного 48/128`килобайтного компьютера до
512Кб наиболее прост и логичен ввиду деши-
визны и простоты доработки. Порты, по ко-
торым производится расширение памяти до
512Кб, значения не имеют, хотя наиболее
логичным и самым доступным является стан-
дартный спектрумовский порт 32765 (#7FFD)
по шестому и седьмому биту, которые в
стандартном 128`килобайтном Спектруме не
используются. Именно такое расширение до
512Кб позволит избежать добавления в схему
лишних микросхем. Тем более, что все-равно
прийдется реализовать этот порт, если пе-
ределывать 48`килобайтную машину. Прог-
раммная поддержка на 512-е расширение уже
давно существует и продолжает произво-
диться. Политика журнала направлена на
поддержку именно этого стандарта, но как
все сделать у себя - решать вам на свое
усмотрение. Еще во времена СССР было раз-
работано великое множество спектрумсовмес-
тимых компьютеров, которые имели большие
схематические и ПЗУ`шные различия между
собой. Чтобы никого не "обидеть", мы реши-
ли не "привязываться" к какой-то опреде-
ленной схеме компьютера, а изложить все в
общих чертах.
2.Динамическое ОЗУ на К5б5РУ5/РУ7.
В ZX-Spectrum применяется динамическое
ОЗУ в виде линейки микросхем из восьми
штук для 48`килобайтного компьютера и
шестнадцати штук для 128`килобайтного со-
ответственно. Они представляют из себя
конденсатор в прямоугольной упаковке с
кучкой ножек. В них хранится информация,
представляемая как наличие или отсутствие
заряда. Для стабильной работы рушек необ-
ходимо делать подзарядку, называемой реге-
нерацией. Что такое регенерация и зачем
она нужна? Поскольку время сохранения за-
ряда конденсатора ограничено, то необходи-
мо периодическое восстановление заряда.
Этот процесс называется регенерацией, а
период восстановления данных - циклом ре-
генерации. В таблице приведены временные
данные регенерации для разных рушек.
3.Структура микросхемы К5б5РУ5.
Емкость микросхемы 64 Кбит, т.е. 65536
ячеек памяти, которые вуполнены на крис-
талле в виде матрицы 256х256 точек. Для
уменьшения количества адресных входов мик-
росхемы адрес ячейки вводится по частям -
сначала восьмиразрядный адрес строки запи-
сывается по отрицательному фронту сигнала
RAS, а затем восьмиразрядный адрес столбца
по отрицательному фронту сигнала CAS в де-
шифраторы строки и столбца соответственно
из мультиплексорного регистра адреса. Де-
тально это будет рассмотрено ниже. Всвязи
с такой особенностью работы микросхема ОЗУ
имеет всего восемь адресных линий.
*** - Регенерацию по этой ноге можно не
производить.
Матрица микросхемы разделена на две
части, между половинками стоят усилители.
Так что каждый столбец состоит из двух
секций, подключенных к разным плечам уси-
лителя.
3.Принцип регенерации К5б5РУ5.
Цикл регенерации основывается на обра-
щении к ячейке памяти с периодом меньшим
или равным Трег, при этом востанавливается
заряд емкости в запоминающем элементе.
Микросхема построена таким образом, что
при обращении к любой ячейке строки реге-
нерируются все ячейки этой строки. При
каждом обращении к матрице для считывания
информации автоматически осуществляется
регенерация информации во всех ячейках па-
мяти, принадлежащих выбранной строке. Это
называется автоматической регенерацией.
Поэтому для произведения регенерации всей
микросхемы нужно в течении цикла регенера-
ции "перебирать" все строки матрицы, т.е.
обратиться ко всем строкам матрицы. Если
обращение к разным строкам матрицы проис-
ходит с различными по длительности интер-
валами времени, то на автоматическую реге-
нерацию полагаться нельзя и поэтому прибе-
гают к принудительной регенерации. Сущ-
ность такого вида регенерации мы рассмат-
ривать не будем ввиду полной непригодности
для Спектрума.
Р.S. Заначка из бочки: всвязи с двухсекци-
онной структурой микросхемы не обязательно
производить регенерацию по всем строкам
матрицы (две секции регенерируются однов-
ременно), поэтому достаточно в цикле реге-
нерации перебирать первые 128 строк матри-
цы. Схематически это выглядит так: по пос-
ледней адресной ноге регенерацию можно не
производить. A7 9 нога рушки. Если попута-
ешь ногу, тогда потеряешь регенерацию па-
мяти и можешь записываться в клуб любите-
лей цветных квадратиков.
4. Отличия К5б5РУ7 от К5б5РУ5.
Емкость микросхемы 256 Кбит - 262144
ячеек памяти, которые выполнены на крис-
талле в виде матрицы 512х512 ячеек, что в
четыре раза превышает емкость PYS. Поэтому
задействована раннее не использованная
первая ножка микросхемы под дополнительный
адрес А8. В остальном микросхемы полностью
идентичны, что позволяет наращивать ОЗУ
компьютера без глобальных переразводок
схемы.
*** - Регенерацию по этой ноге можно не
производить.
5. Принцип регенерации ОЗУ Спектрума.
Для того, чтобы объяснить регенерацию в
компьютере, нам прийдется рассмотреть не-
которые вещи, которые напрямую касаются
устройства самого компьютера. По некоторым
непровереным сведениям известно, что на
первых компьютерах, которые делал Клайв
Синклер, регенерация делалась при помощи
регистра R микропроцессора Z80. На оте-
чественных спектрумклонах сделано все по
другому. Эта почетная миссия возложена на
плечи видеоконтроллера. Почему именно он?
При возобновлении экрана с периодом 20 мс
видеоконтроллер считывает информацию эк-
ранной области с адресов #4000...#SAFF. А
для осуществления регенерации нам надо ре-
гулярно что-то считывать с линеек ОЗУ для
восстановления заряда. Как можно упустить
такой шанс для "подвески" регенерации? Ка-
ким образом это сделано - рассмотрим ниже.
Как уже говорилось раннее, нам необхо-
димо переделать регенерацию микросхем РУ7.
Для того, чтобы это сделать, надо найти
того, кто ее делает. Этим занимаются
мультиплексоры адреса. Возьми схему своего
компьютера и найди линейку PYS-ых. По ад-
ресной шине этих рушек (A0-A7) ты прийдешь
к выходам мультиплексоров. Обычно это КП11
или КП12. Мультиплексоры занимаются двумя
важными задачами:
1. Переключение адресных линий рушек
для поочередного доступа процессора или
видеоконтроллера, а точнее - его счетчи-
кам. При работе счетчиков видеоконтроллера
получается адрес ячейки памяти экранной
области. После получения доступа к ОЗУ ви-
деоконтроллер считывает значение по ука-
занному адресу и таким образом мы видим
точку на экране.
2. Делит шестнадцатиразрядные адреса
процессора и видеоконтроллера на две части
по восемь разрядов. Одна "половинка" пол-
ного адреса записывается в регистр строки
PYS по отрицательному фронту сигнала -RAS,
а вторая - в регистр столбца PYS по отри-
цательному фронту сигнала -CAS. Таким об-
разом в рушках получается полный адрес
ячейки памяти.
- А шо заставляет их клацать?- спросит
рядовой пользователь. Работой мультиплек-
соров управляют два сигнала. Первый (назо-
вем его Н1) занимается тем, что описано в
первом пункте, а второй - соответственно
второму пункту. Второй сигнал обычно RAS
или его производная. Смотри на своей схе-
ме. Здесь надо упомянуть различия в схемах
отечественных спектрумклонов. Имеется вви-
ду разные "полярности" управляющих сигна-
лов. В одних машинах управляющий ноль, в
других - единица. Поэтому сигнал Н1 может
быть активен нулем или единицей. Опять-та-
ки смотри на схеме. В этой статье, дабы
самим не путаться и вам голову не моро-
чить, сделаем так: активен - единица, пас-
сивен - ноль. Исходя из этого - сигнал
Н1=0, доступ к ОЗУ имеет процессор, Н1=1 -
доступ открыт для видеоконтроллера. Второй
сигнал RAS=1 (активный) выставит для рушек
так называемую строку. Если RAS в нулю -
получается колонка.
При разных комбинациях управляющих сиг-
налов (00,01,10,11) на адресные ноги рушек
комутируются соответственно четыре сигна-
ла. Из них два сигнала - с процессора, два
сигнала - с видеоконтроллера. Для облегче-
ния анализа конкретной схемы мультиплек-
сорного блока желательно все результаты
исследования свести в подобную этой табли-
цу:
* - дополнительная адресная нога РУ7.
Здесь следует специально оговорить тре-
тий сигнал, который "попал" в таблицу. Это
сигнал Н2. При "рисовании" изображения на
экране монитора видеоконтроллер поочередно
выбирает из ОЗУ пиксельные значения (бай-
ты) и атрибутные. "Регулировкой" этой оче-
редности занимается вышеуказанный сигнал.
Это так называемая временная диаграмма
доступа к ОЗУ. Циклически повторяются так-
ты с первого по четвертый. Короче, сигнал
Н1 занимается переключением "процессор -
видеоконтроллер", а сигнал Н2 отвечает за
переключения "пиксель - атрибут" во время
работы видеоконтроллера. Но! Во время ра-
боты каждого из тактов мультиплексируется
адрес доступа к ОЗУ при помощи сигнала
RAS. Таким образом имеем "строка - стол-
бец" (смотри устройство рушек).
Теперь подвяжем все вышесказанное к
таблице, а именно - где и кто в какой ко-
лонке делает регенерацию?
1. Мы выяснили, что регенерацию делает
видеоконтроллер, т.е. сигнал Н1=1.
2. Условимся, что регенерацию произво-
дим при чтении видеоконтроллером пикселей
экранной памяти компьютера, который стоит
на вашем столе и хочет стать 512-кило-
байтным гробом, т.е. сигнал Н2=0. Почему
именно пиксельную часть экрана? А так на-
дежнее получается, т.к. в атрибутную часть
чтения можно "не вложиться" по времени.
3. Следует помнить, что регенерация на
рушках происходит по строкам, т.е. RAS=1.
На "пересечении" всех трех условий по-
лучаем колонку, по которой происходит ре-
генерация. Теперь обрати внимание на на
выделеную область в таблице сигналов. Это
и есть нужная нам комбинация. В ней все
сигналы должны быть импульсные. Обусловле-
но это необходимостью все-же перевключать
строки, которые мы пытаемся регенириро-
вать. И еще - период повторения этих сиг-
налов не должен превышать период регенера-
ции микросхемы памяти (см. Трег). Весь
сыр-бор заключен в одной маленькой особен-
ности - если "тащишь" какой-то сигнал из
связки по причине того, что нас она не
устраивает, то надо тянуть и его "сладкую
парочку". Например, если мы меняем А0 и
A8, то нам прийдется разменять Н3, V0 и
V6. Если возникают сложности в схемотехни-
ке, тогда пробуйте взять комбинацию попро-
ще. Все зависит от конкретной схемы
компьютера, поэтому прямые "наводки" да-
вать нецелесообразно. Схемотехнически дан-
ный перевод осуществляется подпаиванием к
мультиплексору (КП12) на плате расширения
ОЗУ до 512Kb от адреса A8.
Для осуществления регенерации на допол-
нительной ноге РУ7 требуется перенести три
сигнала (например, A8,V0,V6), которые нам
подходят из правой части таблицы в графу
для "лишней" ножки РУ7-ых в левой нижней
части таблицы. Но тогда возникает новая
проблема. на плате разширения у нас КП12 и
ее управление осуществляется сигналами RAS
и Н1, а как же быть с Н2 и куда припаивать
сигналы V0, V6, когда сигнал Н1 будет в
единице? Давайте попробуем разобраться в
этой ситуации. Есть два пути решения, а
какой выбрать - смотрите на конкретной ма-
шине и в конкретной ситуации.
Первое решение: через дополнительные
элементы логики. Когда будет выбран видео-
контроллер по Н1=1 нам нужно посредством
сигнала Н2 комутировать V0 или V6 дабы на
экране мы могли видеть пиксель и атрибут.
Второе решение: это через дополни-
тельные размены (перекроссировки) в табли-
це тобиш в схеме компьютера. Например
возьмем тот же сигнал V0, а также мы дого-
ворились, что и сигналы A8 и V6. Сталкива-
емся с той же проблемой. Но в левой колон-
ке есть сигналы, которые одинаковы при лю-
бом состоянии Н2. Значит на место A8 в
таблицу заносим любой "двойной сигнал" (о-
динаковые при разных состояния Н2), а на
освободившееся место переносим "тройной"
сигнал (A8,V0, V6) из правой таблицы. Те-
перь получается, что на схему доработки
заносим, например, A7 и V5. В правую поло-
вину добавим новые сигналы из схемы дора-
ботки A16 и A17, а в колонках Н2=0 и Н2=1
запишем "0" напротив этих сигналов. Теперь
остается все изменениа перенести в схему
компьютера.
Я лично (VALEX) хочу сказать, что в
обоих случаях есть свои недостатки. Вам
нужно хорошо знать схему своего любимого и
уважаемого "speccy" или прибегнуть к вари-
анту: отнести свое дитя к знающему, но не
настолько любимому (а может и не любимому)
специалисту.
Ребята, давайте жить ... на 512 Кб.!!!
Other articles: