Lprint #23
24 октября 1997
  Железо  

┌----------------------------------------┐
│░░░░░░░░░░░░░ Металлургия ░░░░░░░░░░░░░░│
└----------------------------------------┘
                                          
(C) Micruho-Maklaj     PHN (017) 223-24-15
                                          
   Привет  всем  пользователям  мощнейшего
компьютера  ZX-SPECTRUM.  Данная  статья в
основном посвящается счастливым владельцам
агрегата  под  названием "БАЛТИК", в ней я
попытаюсь   рассказать   вам   о  том  как
расширить память Вашего компа до          
                                          
             ▄▄▄▄▄▄     ▄     ▄▄▄▄▄          /█                 
            │█────/   ▄▀█    └────/█         │█                 
            │█▄▄▄▄   └─/█         │█  /█     │█                 
            └────/█    │█       ▄▀▀   │█┌▄▀  │█▀▀▀▄             
                 │█    │█     ▄▀      │██    │█──/ █            
            /█▄▄▄▄▀   ▄▄█▄▄  │█▄▄▄▄█  │█ ▀▄  │█▄▄▄▀   ▄         
            └────/   └────/  └─────/  └─ └─  └───/   └─         
                                                                
   Итак,  прочитав заголовок вы загорелись
желанием   срочно   разогреть  паяльник  и
мгновенно  получить желаемый результат. Но
процесс  расширения  памяти  таит  в  себе
множество  подводных  камней.  Поэтому  не
будем   торопиться,   а   все  сделаем  по
порядку. Начнем:                          
   Первое   требование   предъявляемое   к
компьютеру  - он должен работать, второе -
требуется плата расширения памяти, а также
дополнительно  несколько микросхем, список
которых приведен ниже.                    
                                          
   1. Таблица необходимых "тараканов":    
 ╔═══════╤══════════════╤═══════════════════════════════════╗   
 ║Количе-│ Наименование │  Возможная замена                 ║   
 ║ ство  │              │  или модификации                  ║   
 ╠═══════╪══════════════╪═══════════════════════════════════╣   
 ║  1    │ КР15ЗЗКП5    │ КП7, КП10, КП15                   ║   
 ║  1    │ КР15ЗЗТМ8    │ ТМ9                               ║   
 ║ 16    │ К5б5РУ7А     │ РУ7Б, РУ7B, РУ8А, РУ8Б, РУ8B      ║   
 ║  1    │ К155PE3      │ только для советских микросхем    ║   
 ╚═══════╧══════════════╧═══════════════════════════════════╝   
                                                                
   Микросхемы    памяти   могут   быть   и
импортные, типа 51256, 42256 и другие, при
этом не придется заменять РЕЗ.            
                                          
              Немного теории              
                                          
   В   компьютере  применяются  микросхемы
динамической памяти К5б5РУ5. Для обращения
к ним требуется подача сигнала RAS, вместе
с  частью  адреса  (8 бит), а затем (после
некоторой  задержки) сигнала CAS, вместе с
другой  частью  адреса.  Таким образом для
доступа   к  микросхеме  адрес  необходимо
мультиплексировать.   В   компьютере   эту
функцию  осуществляют микросхемы DD14-DD17
(КР15ЗЗКП12),   которые  разделяют  адреса
пришедшие   от   контроллера   дисплея   и
микропроцессора     во     времени.    Всю
необходимую последовательность управляющих
сигналов   (управление   мультиплексорами,
разделение  обращения  между процессором и
контроллером     дисплея,     формирование
сигналов  RAS и CAS) формирует ПЗУ К155РЕЗ
(та, которая с буквой "М" - DD26).        
   Микросхемы   К5б5РУ7  -  имеют  емкость
25бкбит, (К5б5РУ5 - только бЧкбит) поэтому
у них появляется одна дополнительная ножка
для  ввода адреса - нога номер 1. Еще одно
отличие между этими микросхемами состоит в
том,  что  в  них  есть  разница в способе
ускоренной  адресации: В PYS - страничная,
а  в РУ7 - словная. Страничная адресация -
это  когда после подачи одной части адреса
и  сигнала  RAS,  можно  перебирать другую
часть адреса, сопровождая ее сигналом CAS.
Cловная   адресация  отличается  тем,  что
после первой подачи сигнала CAS, можно еще
три  раза  подавать его не формируя сигнал
адреса - его сформирует внутренний счетчик
в  микросхеме.  Импортные  микросхемы типа
РУ7 обычно имеют страничную адресацию (как
PYS).                                     
   В  БАЛТИКЕ  применен  страничный способ
адресации  контроллера дисплея к памяти, в
результате  чего непосредственная работа с
микросхемами типа РУ7 невозможна.         
   Микросхемы  динамической памяти требуют
регенерации,   то   есть  за  определенный
период  времени (для PYS - 4 мс, для РУ7 -
8  мс) требуется обратится ко всем строкам
микросхемы,  иначе содержимое памяти будет
утеряно.   В   БАЛТИКе   к  каждой  строке
микросхемы   за   время  построения  одной
строки  экрана  обращаются  два  раза. Это
позволило обеспечить регенерацию микросхем
типа РУ7.                                 
   Микросхема    К155РЕЗ    -   однократно
программируемое   запоминающее  устройство
емкостью   32   байта.   Элементом  памяти
является  пережигаемая  титан-вольфрамовая
перемычка.     Особенностью     микросхемы
является низкий коэффициент прожига - 30%,
поэтому  желательно приобретать не одну, а
три-четыре таких микросхемы одновременно. 
                                          
                Практика                  
                                          
   1) Проверка.                           
   После  покупки  микросхем их необходимо
ОБЯЗАТЕЛьНО  проверить.  Мало того, память
можно  проверять  только  в компьютее типа
"БАЛТИК"  !  Если микросхемы импортная, то
необходимо определить, какой тип адресации
в  ней  заложен.  Это делается на исправно
работающем     БАЛТИКе     -    микросхема
вставляется  в  панельку и ее первая ножка
заземляется.  Включите компьютер - если на
экране  видны тонкие вертикальные полоски,
которые  не удается убрать, хотя все тесты
показывают  исправность ОЗУ, то микросхема
имеет  словную  адресацию,  и вам придется
перешивать   К155РЕЗ.   Если   же  никаких
изменений  вы  не  увидели  -  вам  крупно
повезло    -    ничего    перешивать    не
потребуется.                              
                                          
   2) Смена микросхем.                    
   После проверки - запайка (правда, перед
этим  требуется  выпайка старых микросхем)
Добрый  совет: не пытайтесь выпаять старые
микросхемы  -  чревато  последствиями,  их
гораздо  проще  выкусить к чертям собачим.
Место   под   микросхемами   должно   быть
идеальным - без соплей и разрывов.        
   Тараканы памяти желательно сразу спаять
попарно,  так,  как  были спаяны PYS-ые на
плате - одна на одной (имеется в виду 128к
машины).  При  этом  также  как и раньше у
верхних  микросхем  отгибается  в  сторону
15-ая нога.                               
                                          
   2а)  Если  комп  -  128-ой,  а память -
импортная.                                
   В   этом  случае  память  можно  просто
запаять,  при  этом  соединив  вместе  все
первые   ноги  свежевпаянных  микросхем  и
припаяв их на землю. (Все остальное должно
быть  абсолютно также, как было раньше при
жизни   PYS-ых.)  Включив  агрегат  вы  не
должны   почувствовать   изменеий,   чтобы
получить    в   распоряжение   512   кило,
требуется припаять еще две микрушки, но об
этом ниже.                                
                                          
   2б)   Если   комп  -  48,  а  память  -
импортная.                                
   Если  же  вам  не повезло по жизни и вы
были  обладателем  48-ой  машины, а память
также  удалось  приобрести  импортную,  то
сначала  поступайте  так,  как  написано в
инструкции  по расширению до 128к. Но есть
одно отличие - 1-ые ноги РУ7-ых необходимо
соединить  вместе и заземлить. После этого
ваш комп должен заработать как обычный 128
агрегат.  Если  он  не  заработал - то это
ошибка при расширении до 128, и я здесь не
причем.                                   
   Совет при расширении: обычно комп сразу
не   запускается   (независимо   от   типа
применненных    микросхем    памяти).    В
инструкциях  по расширению обычно советуют
задерживать  сигналы  /RAS  или  /CAS  при
помощи конденсаторов, этот метод обычно не
дает   желаемых   результатов.   Я  трижды
обходил  это  так:  сигнал  /RAS  подается
прямо  с  9-ой  ноги  К155РЕЗ, (с ЛПS-ой -
отрезается),   а   сигнал  /CAS  ничем  не
задерживается,   метод   дает   прекрасные
результаты.                               
                                          
   2в) Для тех, кому не повезло с памятью 
   (т.е. микросхемы -советские).          
   В  этом  случае,  вам придется перешить
К155РЕЗ.  Вам  относительно  повезло, если
эта   микросхема  находится  на  панельке,
иначе ее придется выпаять.                
   Совет:  если  хотите выпаять микросхему
не  повредив ее за 20 секунд, то есть один
кошмарный  на  первый  взгляд,  но отлично
рааботающий  способ, который заключается в
следующем:  берете  зажигалку, выставляете
на   ней   пламя  побольше,  и  равномерно
поджаривая    плату    снизу,   выпаиваете
необходимую   микросхему.   Таким  образом
удавалось выпаять процессор и BBSS - и все
это    оставалось   живым.   После   такой
"выпайки"   требуется   только   аккуратно
почистить  плату  от слоя копоти. Есть еще
один   метод   выпайки  микросхем  без  их
повреждения:    требуется   очень   мощный
паяльник  - 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  ADO      ~~~~~~~~~~~_____/~~~~~~~~~~~~~~~~~~~~~~~~~~__/   
        : : : : : : : : : : : : : : : : : 
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  ADO      ~~~~~~~~~~~_____/~~~~~~~~~~~__/~~~~~~~~~~~__/   
        : : : : : : : : : : : : : : : : : 
D3  ADT      __________________________/~~~~~~~~~~~~~~______   
        : : : : : : : : : : : : : : : : : 
D4  CAS      __/~~~~~~~~~~~_____/~~~~~________/~~~~~______   
__  ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :   
D4  CAS      ~~___________/~~~~~_____/~~~~~~~~_____/~~~~~~   
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :   
D5  WRE      ~~_____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :   
D6  DAT      ~~____________________/~~~~~~~~~~~~~~~~~~~~~~~~   
    ___     :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :  :   
D7  RAS      ________/~~~~~~~~________/~~~~~________/~~~~~   
                                                                
   ВНИМАНИЕ!  Сигнал CAS в ПЗУ должен быть
инвертирован  (то  есть  быть прямым на ее
выходе).                                  
   В  новой  прошивке страничная адресация
заменена  двойным  обращением  к  ОЗУ.  По
идее,  эта  прошивка должна работать, но у
меня  лично  сильно  глючила память, и мне
пришлось   поступать   следующим  образом:
сигнал   /RAS   я  как  и  прежде  подавал
напрямую  от  ПЗУ, а чтобы получить сигнал
/CAS  я  брал сигнал /RAS и задерживал его
той микросхемой, через которую он проходит
(то есть через ЛПS). Возможно, у кого-либо
будет точно также.                        
                                          
   Теперь приведу конкретную схему:       
                                          
        +5U                                                     
         │ R1 4.7k                     ┌────┬────────┐          
 "128"   █        ADO (DD 26.3) >──────┤ A0 │        │          
         │        AD1 (DD 26.2) >──────┤ A1 │   MS   │          
    SA1 ───────────────────────────────┤ A2 │        │          
         │                             ├────┤        │          
 "512"   └─< BAUK_REQ    BIT6 <────────┤ D0 │        │          
                         BIT7 <────────┤ D1 │        │          
                              ┌────────┤ D2 │        │          
                              │  ┌──┬──┤ D3 │        │          
                              │ ─┴─ ├──┤ D4 │        │          
                              │     └──┤ D5 │      Q ├──> A9    
   15625 Hz  (DD 22.13) >─────┴────────┤ D6 │        │          
                                    ┌──┤ D7 │        │          
                                    │  ├────┤        │          
                                 ┌──┴──0 E  │        │          
                                ─┴─    └────┴────────┘          
                                                                
                 ┌───────┬─────────┬────┐                       
    DATA 7  >────┤ D0    │         │ Q0 ├───> BIT6              
    DATA 6  >────┤ D1    │   Т     │ Q1 ├───> BIT7              
                 ├───────┤         │    │                       
     _____       │ _____ │         │    │                       
     RESET  >────0 RESET │         │    │                       
7FFD STROBE >────/  C    │         │    │                       
                 └───────┴─────────┴────┘                       
                                                                
   А теперь пояснения к схеме:            
   Подключемие мультиплексора соответсвует
микросхемам   КП7   и  КП15.  КПS  и  КП10
отличаются   несущественно.   А   триггеры
вообще,   как   видно  из  рисунка,  можно
ставить  хоть ТМ2-ые. Разводку не привожу,
поскольку такой наворот, как расширение до
512к   чайник   производить  не  будет,  а
шарящие  люди  сами найдут всю необходимую
информацию.                               
                                          
   Привожу описание сигналов по схеме:    
   ADO  и  AD1  -  берутся с К155РЕЗ (М) (
ноги  3  и  2 соответственно). Эти сигналы
коммутируют  всю эту хрень, чтобы получить
на выходе необходимую последовательность. 
   BANK_REQ  -  необходимо  брать  с платы
расширения,    он   вырабатывается   когда
процессор  обращается  к  адресу  выше чем
#C000  (то  есть  при  обращении  в  любую
страницу  доплнительной памяти этот сигнал
переходит в ноль). На плате расширения уже
стоит   необходимый   логический  элемент,
который  и вырабатывает данный сигнал, его
вам  придется  поискать  самим,  поскольку
схемы расширения имеют различия.          
   15625 Hz - берется с DD22 нога 13 - это
КР15ЗЗИЕ10,   этим  сигналом  производится
регенерация дополнительной памяти.        
   DATAб  и  DATA7 - сигналы с шины данных
процессора.                               
   RESET  -  какой-то  никому  не понятный
сигнал...                                 
   #7FFD STROBE - сигнал обращения к порту
#7FFD,   снимается   с  платы  расширения.
Обычно  его  можно  получить  на  тактовом
входе  регистра, который отвечает за банки
памяти в 128-ой машине.                   
   Переключатель   SA1   -   переключатель
режима 128-512к                           
   А9 - сигнал, ради которого, собственно,
и собиралась вся эта схема - его подают на
1-ые  ноги  ваших  РУ7-ых. (Предварительно
оторвав их от земли.)                     
                                          
   Вааще-то  в данных момент, (только если
все  спаяно без соплей и глюков), ваш комп
должен    работать    со    всеми    512-ю
килограммами   своей   необъятной  памяти.
Включите   его   и   проверьте   это:  как
говорится, при исправных деталях правильно
собранное   устройство  начинает  работать
сразу.                                    
   Если   комп   заработал,  а  все  проги
определяют,  что у вас туча памяти, то для
дальнейшей    безсбойной   работы   вашего
агрегата, вам надо открыть окно, выглянуть
на улицу и со всей мочи гаркнуть:         
                                          
      "BALTIC  RUUUUUULEZZZZZ  !!!"       
                                          
                                  24.10.97
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          
                                          



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Review - Overview of electronic publications.
Urgent Room - sell new versions of CI-DOS'A.
Advertising - Advertising and announcements.

В этот день...   21 November