Из газеты LPrint #23, Минск, 25.10.97


 
+----------------------------------------+
| ------------ Металлургия ------------- +
+----------------------------------------+
 
(C) Micruho-Maklaj     PHN (017) 223-24-15
 
   Привет  всем  пользователям  мощнейшего
компьютера  ZX-SPECTRUM.  Данная  статья в
основном посвящается счастливым владельцам
агрегата  под  названием "БАЛТИК", в ней я
попытаюсь   рассказать   вам   о  том  как
расширить память Вашего компа до
 
   512KB
 
   Итак,  прочитав заголовок вы загорелись
желанием   срочно   разогреть  паяльник  и
мгновенно  получить желаемый результат. Но
процесс  расширения  памяти  таит  в  себе
множество  подводных  камней.  Поэтому  не
будем   торопиться,   а   все  сделаем  по
порядку. Начнем:
   Первое   требование   предъявляемое   к
компьютеру  - он должен работать, второе -
требуется плата расширения памяти, а также
дополнительно  несколько микросхем, список
которых приведен ниже.
 
   1. Таблица необходимых "тараканов":
 +-------+--------------+-----------------------------------+
 |Количе-| Наименование |  Возможная замена                 |
 | ство  |              |  или модификации                  |
 +-------+--------------+-----------------------------------+
 |  1    | КР1533КП5    | КП7, КП10, КП15                   |
 |  1    | КР1533ТМ8    | ТМ9                               |
 | 16    | К565РУ7А     | РУ7Б, РУ7В, РУ8А, РУ8Б, РУ8В      |
 |  1    | К155РЕ3      | только для советских микросхем    |
 +-------+--------------+-----------------------------------+
 
   Микросхемы    памяти   могут   быть   и
импортные, типа 51256, 42256 и другие, при
этом не придется заменять РЕ3.
 
              Немного теории
 
   В   компьютере  применяются  микросхемы
динамической памяти К565РУ5. Для обращения
к ним требуется подача сигнала RAS, вместе
с  частью  адреса  (8 бит), а затем (после
некоторой  задержки) сигнала CAS, вместе с
другой  частью  адреса.  Таким образом для
доступа   к  микросхеме  адрес  необходимо
мультиплексировать.   В   компьютере   эту
функцию  осуществляют микросхемы DD14-DD17
(КР1533КП12),   которые  разделяют  адреса
пришедшие   от   контроллера   дисплея   и
микропроцессора     во     времени.    Всю
необходимую последовательность управляющих
сигналов   (управление   мультиплексорами,
разделение  обращения  между процессором и
контроллером     дисплея,     формирование
сигналов  RAS и CAS) формирует ПЗУ К155РЕ3
(та, которая с буквой "М" - DD26).
   Микросхемы   К565РУ7  -  имеют  емкость
256кбит, (К565РУ5 - только 64кбит) поэтому
у них появляется одна дополнительная ножка
для  ввода адреса - нога номер 1. Еще одно
отличие между этими микросхемами состоит в
том,  что  в  них  есть  разница в способе
ускоренной  адресации: В РУ5 - страничная,
а  в РУ7 - словная. Страничная адресация -
это  когда после подачи одной части адреса
и  сигнала  RAS,  можно  перебирать другую
часть адреса, сопровождая ее сигналом CAS.
Словная   адресация  отличается  тем,  что
после первой подачи сигнала CAS, можно еще
три  раза  подавать его не формируя сигнал
адреса - его сформирует внутренний счетчик
в  микросхеме.  Импортные  микросхемы типа
РУ7 обычно имеют страничную адресацию (как
РУ5).
   В  БАЛТИКЕ  применен  страничный способ
адресации  контроллера дисплея к памяти, в
результате  чего непосредственная работа с
микросхемами типа РУ7 невозможна.
   Микросхемы  динамической памяти требуют
регенерации,   то   есть  за  определенный
период  времени (для РУ5 - 4 мс, для РУ7 -
8  мс) требуется обратится ко всем строкам
микросхемы,  иначе содержимое памяти будет
утеряно.   В   БАЛТИКе   к  каждой  строке
микросхемы   за   время  построения  одной
строки  экрана  обращаются  два  раза. Это
позволило обеспечить регенерацию микросхем
типа РУ7.
   Микросхема    К155РЕ3    -   однократно
программируемое   запоминающее  устройство
емкостью   32   байта.   Элементом  памяти
является  пережигаемая  титан-вольфрамовая
перемычка.     Особенностью     микросхемы
является низкий коэффициент прожига - 30%,
поэтому  желательно приобретать не одну, а
три-четыре таких микросхемы одновременно.
 
                Практика
 
   1) Проверка.
   После  покупки  микросхем их необходимо
ОБЯЗАТЕЛЬНО  проверить.  Мало того, память
можно  проверять  только  в компьютее типа
"БАЛТИК"  !  Если микросхемы импортная, то
необходимо определить, какой тип адресации
в  ней  заложен.  Это делается на исправно
работающем     БАЛТИКе     -    микросхема
вставляется  в  панельку и ее первая ножка
заземляется.  Включите компьютер - если на
экране  видны тонкие вертикальные полоски,
которые  не удается убрать, хотя все тесты
показывают  исправность ОЗУ, то микросхема
имеет  словную  адресацию,  и вам придется
перешивать   К155РЕ3.   Если   же  никаких
изменений  вы  не  увидели  -  вам  крупно
повезло    -    ничего    перешивать    не
потребуется.
 
   2) Смена микросхем.
   После проверки - запайка (правда, перед
этим  требуется  выпайка старых микросхем)
Добрый  совет: не пытайтесь выпаять старые
микросхемы  -  чревато  последствиями,  их
гораздо  проще  выкусить к чертям собачим.
Место   под   микросхемами   должно   быть
идеальным - без соплей и разрывов.
   Тараканы памяти желательно сразу спаять
попарно,  так,  как  были спаяны РУ5-ые на
плате - одна на одной (имеется в виду 128к
машины).  При  этом  также  как и раньше у
верхних  микросхем  отгибается  в  сторону
15-ая нога.
 
   2а)  Если  комп  -  128-ой,  а память -
импортная.
   В   этом  случае  память  можно  просто
запаять,  при  этом  соединив  вместе  все
первые   ноги  свежевпаянных  микросхем  и
припаяв их на землю. (Все остальное должно
быть  абсолютно также, как было раньше при
жизни   РУ5-ых.)  Включив  агрегат  вы  не
должны   почувствовать   изменеий,   чтобы
получить    в   распоряжение   512   кило,
требуется припаять еще две микрушки, но об
этом ниже.
 
   2б)   Если   комп  -  48,  а  память  -
импортная.
   Если  же  вам  не повезло по жизни и вы
были  обладателем  48-ой  машины, а память
также  удалось  приобрести  импортную,  то
сначала  поступайте  так,  как  написано в
инструкции  по расширению до 128к. Но есть
одно отличие - 1-ые ноги РУ7-ых необходимо
соединить  вместе и заземлить. После этого
ваш комп должен заработать как обычный 128
агрегат.  Если  он  не  заработал - то это
ошибка при расширении до 128, и я здесь не
причем.
   Совет при расширении: обычно комп сразу
не   запускается   (независимо   от   типа
применненных    микросхем    памяти).    В
инструкциях  по расширению обычно советуют
задерживать  сигналы  /RAS  или  /CAS  при
помощи конденсаторов, этот метод обычно не
дает   желаемых   результатов.   Я  трижды
обходил  это  так:  сигнал  /RAS  подается
прямо  с  9-ой  ноги  К155РЕ3, (с ЛП5-ой -
отрезается),   а   сигнал  /CAS  ничем  не
задерживается,   метод   дает   прекрасные
результаты.
 
   2в) Для тех, кому не повезло с памятью
   (т.е. микросхемы -советские).
   В  этом  случае,  вам придется перешить
К155РЕ3.  Вам  относительно  повезло, если
эта   микросхема  находится  на  панельке,
иначе ее придется выпаять.
   Совет:  если  хотите выпаять микросхему
не  повредив ее за 20 секунд, то есть один
кошмарный  на  первый  взгляд,  но отлично
рааботающий  способ, который заключается в
следующем:  берете  зажигалку, выставляете
на   ней   пламя  побольше,  и  равномерно
поджаривая    плату    снизу,   выпаиваете
необходимую   микросхему.   Таким  образом
удавалось выпаять процессор и ВВ55 - и все
это    оставалось   живым.   После   такой
"выпайки"   требуется   только   аккуратно
почистить  плату  от слоя копоти. Есть еще
один   метод   выпайки  микросхем  без  их
повреждения:    требуется   очень   мощный
паяльник  - 100 ватт. Таким паяльником (он
должен  быть  с широким жалом) можно сразу
отпаять целый ряд ножек.
   После  того, как с платы удалена старая
ПЗУшка,  вам  необходиммо  прошить  новую.
Наилучший  вариант  -  вам  удалось  найти
хороший    программатор,    или   хорошего
человека  с  таким программатором. Но если
такой   вариант  невозможен,  то  придется
прошить  РЕшку  самому  (я  именно  так  и
поступал,   тем   более,   что  простейший
вариант  программатора  на  основе другого
"БАЛТИКА"  мне  удалось  собрать за час, и
примерно  за  2  часа я написал простейшую
программу поддержки этого программатора).
   Для   желающих   собрать   программатор
самостоятельно привожу необходимые данные:
для пережигания перемычки требуется подать
на  вход  /CS сигнал высокого уровня. А на
программируемую   ножку   через   резистор
сопротивлением  390  Ом  подается  импульс
напряжения    +10   вольт,   длительностью
50..100  миллисекунд. Если же перемычка не
перегорела,    то    допустимо    повысить
программирующее  напряжение  до  14 вольт.
Одновременно  с  прожигающим импульсом, на
вывод  питания подается повышенное (10..14
вольт) напряжение.
 
   Ну а теперь приведу всяческие прошивки:
 
        Так было в старой ПЗУ:
 
   адрес      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
   данные    05 15 35 B5 B2 A2 26 76 76 6E 6E 7E 7E FE E6 E1
    ____    :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D0  WAIT     ~~~~~~~~~~~\________________________________/~~~
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D1  AD1      ___________/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\___
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D2  AD0      ~~~~~~~~~~~\_____/~~~~~~~~~~~~~~~~~~~~~~~~~~\__/
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D3  ADT      __________________________/~~~~~~~~~~~~~~\______
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D4  CAS      __/~~~~~~~~~~~\_____/~~~~~\_____/~~~~~~~~\______
__  ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D4  CAS      ~~\___________/~~~~~\_____/~~~~~\________/~~~~~~
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D5  WRE      _____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D6  DAT      ____________________/~~~~~~~~~~~~~~~~~~~~~~~~~~\
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D7  RAS      ________/~~~~~~~~\____________________/~~~~~~~~\
 
   Как  видно  из рисунка, в прошивке есть
место,  где  после  подачи  сигнала  /RAS,
дважды  подается  сигнал  /CAS,  при  этом
изменяется адрес обращения к ОЗУ: сигналом
ADT, то есть происходит поочередный доступ
к  атрибутам  и к экрану. Вот именно из-за
этого   места   и   отказываются  работать
РУ7-ые.
 
       А так должно быть в новой:
 
   адрес      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
   данные    65 15 15 B5 B1 A2 26 36 76 EE EA 6E 7E 7E E6 E2
    ____    :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D0  WAIT     ~~~~~~~~~~~~~~\________________________________/
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D1  AD1      ______________/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D2  AD0      ~~~~~~~~~~~\_____/~~~~~~~~~~~\__/~~~~~~~~~~~\__/
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D3  ADT      __________________________/~~~~~~~~~~~~~~\______
            :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D4  CAS      __/~~~~~~~~~~~\_____/~~~~~\________/~~~~~\______
__  ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D4  CAS      ~~\___________/~~~~~\_____/~~~~~~~~\_____/~~~~~~
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D5  WRE      ~~\_____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D6  DAT      ~~\____________________/~~~~~~~~~~~~~~~~~~~~~~~~
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :
D7  RAS      ________/~~~~~~~~\________/~~~~~\________/~~~~~\
 
   ВНИМАНИЕ!  Сигнал CAS в ПЗУ должен быть
инвертирован  (то  есть  быть прямым на ее
выходе).
   В  новой  прошивке страничная адресация
заменена  двойным  обращением  к  ОЗУ.  По
идее,  эта  прошивка должна работать, но у
меня  лично  сильно  глючила память, и мне
пришлось   поступать   следующим  образом:
сигнал   /RAS   я  как  и  прежде  подавал
напрямую  от  ПЗУ, а чтобы получить сигнал
/CAS  я  брал сигнал /RAS и задерживал его
той микросхемой, через которую он проходит
(то есть через ЛП5). Возможно, у кого-либо
будет точно также.
 
   Теперь приведу конкретную схему:
   А теперь пояснения к схеме:
   Подключемие мультиплексора соответсвует
микросхемам   КП7   и  КП15.  КП5  и  КП10
отличаются   несущественно.   А   триггеры
вообще,   как   видно  из  рисунка,  можно
ставить  хоть ТМ2-ые. Разводку не привожу,
поскольку такой наворот, как расширение до
512к   чайник   производить  не  будет,  а
шарящие  люди  сами найдут всю необходимую
информацию.
 
   Привожу описание сигналов по схеме:
   AD0  и  AD1  -  берутся с К155РЕ3 (М) (
ноги  3  и  2 соответственно). Эти сигналы
коммутируют  всю эту хрень, чтобы получить
на выходе необходимую последовательность.
   BANK_REQ  -  необходимо  брать  с платы
расширения,    он   вырабатывается   когда
процессор  обращается  к  адресу  выше чем
#C000  (то  есть  при  обращении  в  любую
страницу  доплнительной памяти этот сигнал
переходит в ноль). На плате расширения уже
стоит   необходимый   логический  элемент,
который  и вырабатывает данный сигнал, его
вам  придется  поискать  самим,  поскольку
схемы расширения имеют различия.
   15625 Hz - берется с DD22 нога 13 - это
КР1533ИЕ10,   этим  сигналом  производится
регенерация дополнительной памяти.
   DATA6  и  DATA7 - сигналы с шины данных
процессора.
   RESET  -  какой-то  никому  не понятный
сигнал...
   #7FFD STROBE - сигнал обращения к порту
#7FFD,   снимается   с  платы  расширения.
Обычно  его  можно  получить  на  тактовом
входе  регистра, который отвечает за банки
памяти в 128-ой машине.
   Переключатель   SA1   -   переключатель
режима 128-512к
   А9 - сигнал, ради которого, собственно,
и собиралась вся эта схема - его подают на
1-ые  ноги  ваших  РУ7-ых. (Предварительно
оторвав их от земли.)
 
   Вааще-то  в данных момент, (только если
все  спаяно без соплей и глюков), ваш комп
должен    работать    со    всеми    512-ю
килограммами   своей   необъятной  памяти.
Включите   его   и   проверьте   это:  как
говорится, при исправных деталях правильно
собранное   устройство  начинает  работать
сразу.
   Если   комп   заработал,  а  все  проги
определяют,  что у вас туча памяти, то для
дальнейшей    безсбойной   работы   вашего
агрегата, вам надо открыть окно, выглянуть
на улицу и со всей мочи гаркнуть:
 
      "BALTIC  RUUUUUULEZZZZZ  !!!"
 
                                  24.10.97