Black Crow
#01
01 июня 1998 |
|
Очумелые ручки - Открытые технологии: замена К565РУ5 на К555РУ7.
ОТКРЫТЫЕ ТЕХНОЛОГИИ ЗАМЕНА К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 Кб.!!!
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября