Deja Vu
#09
13 ноября 1999 |
|
Капля припоя - схема программатора для микросхем постоянных запоминающих устройств (ПЗУ).
(C) Unknown __________________________________________ Постоянные запоминающие устройства(ПЗУ) широко применяются во всех областях элек- тронной техники - для хранения программ, дешифрации и кодирования программ и т. п. Большой интерес вызывает использование ре- программируемых ПЗУ - РПЗУ с УФстиранием, так как Вы можете многократно перезаписы- вать содержащуюся в них информацию, даже в домашних условиях. Для стирания информации из таких ПЗУ,Вам понадобится источник уль- трафиолетового излучения. Хорошие резуль- таты можно получить используя, например, бытовой косметический прибор "ФОТОН", или кварцевую лампу для загара "ФОТОН" стирает информацию ПЗУ за 15-20 минут, при рас- стоянии до микросхомы 1-2 см. Для программирования РПЗУ необходим программатор - специальное устройство, ко- торое может быть выполнено в виде самосто- ятельного прибора, или в виде приставки к компьютеру. Предлагаемая Вашему вниманию схема программатора - это приставка к ком- пьютеру "СПЕКТРУМ", которая предназначена для программирования наиболее широко при- меняемых РПЗУ емкостью от 2-х до 32-х ки- лобайт, как отечественного, так и зарубеж- ного производства. Это микросхемы: К573РФ2, К573РФ5, К573РФ4,К573РФ6,К573РФ8, 2716, 2764, 27128, 27256. Цоколевка микросхем РПЗУ приведена в таблице 3,а в таблице 4 указаны сигналы на выводах микросхем в различных режимах ра- ботах. Таблица 3. _______________________32К Х 8________________________ | _________________16К Х 8__________________ | | | ____________8К Х 8____________ | | | | | ______2К Х 8______ | | | ___|_____|_____|___ | ____________ | ___|_____|_____|___ | Vpp | Vpp | Vpp | | |1 |__| 28| | | Vcc | Vcc | Vcc | | A12 | A12 | A12 |__|__ |2-------27| __|__| PGM | PGM | A14 | | A7 | A7 | A7 | A7 | |3(1)(24)26| | Vcc| -- | A13 | A13 | | A6 | A6 | A6 | A6 | |4 25| | A8 | A8 | A8 | A8 | | A5 | A5 | A5 | A5 | |5 24| | A9 | A9 | A9 | A9 | | A4 | A4 | A4 | A4 | |6 23| | Vpp| A11 | A11 | A11 | | A3 | A3 | A3 | A3 | |7 22| | OE | OE | OE | OE | | A2 | A2 | A2 | A2 | |8 21| | A10| A10 | A10 | A10 | | A1 | A1 | A1 | A1 | |9 20| | CS | CS | CS | CS | | A0 | A0 | A0 | A0 | |10 19| | D7 | D7 | D7 | D7 | | D0 | D0 | DO | DO | |11 18| | D6 | D6 | D6 | D6 | | D1 | D1 | D1 | D1 | |12 17| | D5 | D5 | D5 | D5 | | D2 | D2 | D2 | D2 | |13 16| | D4 | D4 | D4 | D4 | | Gnd | Gnd | Gnd | Gnd| |14(12) 15| | D3 | D3 | D3 | D3 | |_____|_____|_____|____| |__________| |____|_____|_____|_____| Схема программатора выполнена на прог- раммируемрм интерфейсном адаптере: КР580ВВ55А. Три 8-ми разрядных порта ПИА с адресами 1F, 3F, 5F (HEX) используются для ввода/ вывода данных и формирования адреса ПЗУ. Сигналы управления ПЗУ - CS, OE, PGM фор- мируются с помощью дополнительного регист- ра К155ИР1 с адресом EF(HEX). Адрес регис- тра управления ПИА - 7F(HEX). Разряды или адреса данных, и сигналы управления ПЗУ подключены к 28-ми полюсному разъему (па- нельки, сокету), обеспечивающему надежный контакт с выводами вставляемой в нее мик- росхемы. Таблица 4 _______________________________________________________________ |___2К_Х_8____|___8К_Х_8____|___16К_Х_8___|___32К_Х_8___|Номер | |Чтение|Запись|Чтение|Запись|Чтение|Запись|Чтение|Запись|вывода| | ---- | ---- | +5В | Vpp | +5B | Vpp | +5B | Vpp | 1 | | 0 | _||_ | 0 | 0 | 0 | 0 | 0 | 0 |20(18)| | 0 | 1 | 0 | 1 | 0 | 1 | 0 | _||_ |22(20)| | +5B | Vpp | A11 | A11 | A11 | A11 | A11 | A11 |23(21)| | +5B | +5B | --- | --- | A13 | A13 | A13 | A13 |26(24)| | --- | --- | 1 | "||" | 1 | "||" | A14 | A14 | 27 | |______|______|______|______|______|______|______|______|______| Vpp - напряжение программирования, оп- ределяется фирмой изготовителем микросхе- мы. Иногда Vpp указываются на корпусе мик- росхемы, например PGM 12,5B. Коммутация адресов и сигналов управле- ния для различных типов ПЗУ осуществляется с помощью переключателя П2. М/с К573РФ2, РФ5 и 2716 имеют 24 вывода и вставляются в разъем со смещением (см.таблицу 3). Это же можно решить другим образом -установить на плате программатора три типа разъемов под микросхемы и соответственно скоммутировать их. В этом случае переключатель П2 не ну- жен. В качестве разъемов под ПЗУ можно ис- пользовать самодельные, изготовленные из разъемов типа СНП. Микросхему ПЗУ можно вставлять в разъем и вынимать из него только при среднем положении переключателя П1. В этом положении на разъем не подаются питающие напряжения. Два других положения переключателя П1 служат для выбора режима - чтение или запись (программирование). Программа обслуживания программатора состоит из части, написанной на языке бей- сик и из 463 байтов машинных кодов. Прог- рамма на бейсике поддерживает интерактив- ный режим обмена с помощью нескольких ме- ню. В блоке машинных кодов содержатся под- программы: чтение, запись и тестирование. Эти программы необходимо занести в память компьютера и сохранить. После загрузки программы на экране поя- вляется надпись - "Load MONITOR (Y/N)?". Нужно ответить Y, если вы используете про- грамму МОНИТОР. После ввода Y и Enter ком- пьютер будет готов к загрузке МОНИТОРа. Если Вы введете N и Enter, то Вы сразу пе- рейдете к началу работы программы. На эк- ране - "Programming 2716,2764,27128,27256" и меню - "Read or Wnle or Test or Verify" - включите режим CAPS LOCK и введите сим- вол выбранного вами режима: - R - режим чтения из ПЗУ в память компь- ютера; - W - режим программирования ПЗУ информа- цией из памяти компьютера; - Т - режим проверки "чистоты" ПЗУ. "Чис- тая" ПЗУ содержит по всем адресам байт FF(HEX); - V - режим сравнения содержимого ПЗУ с содержимым памяти компьютера. Область памяти компьютера отведенная для всех режимов работы программатора за- нимает 32К, с адреса 8000 (HEX) по FFFF (HEX). Если Вы используете при работе с программатором МОНИТОР, то рабочая область памяти сокращается на "верхних" 4,5 КБ, т. е. 8000 - ЕЕ6А. После выбора режима,например,W и Enter, Вам необходимо выбрать тип микросхемы. Введите: - 1 - для работы с микросхемами 2716 и К537РФ2, К537РФ5; - 2 - для работы с микросхемами 2764 и К537РФ4; - 3 - для работы с микросхемами 27128 и К537РФ6; - 4 - для работы с микросхемами 27256 и К537РФ8. Положение переключателя П2 должно соот- ветствовать выбору типа микросхемы. Затем Вам необходимо выбрать начальный и конеч- ный адреса программируемой микросхемы. Ад- рес вводится в шестнадцатеричном виде 4-мя символами, т.е. два байта, например, 01FF. Аналогично вводится начальный адрес рабо- чей области компьютера (RAM addres ....), в которой расположена информация для прог- раммирования. На вопрос: "Correct (Y/N) ?" Вы отвечаете Y, Enter, если набранная Вами информация не требует корректировки,в про- тивном случае - N. Затем на экране появля- ется надпись "Insert chip - Ready? - Press any key". Теперь Вам необходимо вставить в разъем микросхему ПЗУ, переключатель П1 установить в позицию "PGM" и нажать любую кнопку для начала программирования. Ход процесса графически отображается на экра- не. В случае ошибки при программировании на экране появляются ошибочные данные и адрес. Другие режимы выполняются аналогич- но. Если Вы используете программатор для записи в ПЗУ самостоятельно составленных программ в машинных кодах, то большую по- мощь в этом Вам окажет "МОНИТОР" - прик- ладная программа, позволяющая заниматься программированием, отладкой и дизасембли- рованием программ в машинных кодах. P R O G R A M M 5 GO TO 10 CLEAR 31999: LOAD " "CODE: INPUT " Load MONITOR (Y/N) ?";M$:IF M$="N" THEN GO TO 30 20 IF M$="Y" THEN LOAD " "CODE 30 CLS:PRINT AT 0,10:"PROGRAMMING" 50 PRINT AT 2,5;"2716,1764,27128,27256" 60 INPUT "Read or Write or Test or Verify";Q$ 70 IF Q$="R" THEN PRINT AT 5,8;" READ ": GO TO 120 80 IF Q$="W" THEN PRINT AT 5,8;" WRITE": GO TO 120 90 IF Q$="T" THEN PRINT AT 5,8;" TEST ": GO TO 120 100 IF Q$="V" THEN PRINT AT 5,8;"VERIFY": GO TO 120 110 GO TO 60 120 INPUT " INPUT 1-2716, 2-2764, 3-27128, 4-27256";Q 130 IF Q=1 THEN PRINT AT 5,17;"2716": GO SUB 3500: GO TO 180 140 IF Q=2 THEN PRINT AT 5,17;"2764": GO SUB 3600: GO TO 180 150 IF Q=3 THEN PRINT AT 5,17;"27128": GO SUB 3600: GO TO 180 160 IF Q=4 THEN PRINT AT 5,17;"27256": GO SUB 3700: GO TO 180 170 GO TO 120 180 PRINT AT 8,1;ROM addres from ";:DIM W$(4):INPUT W$: GO SUB 5000: GO SUB 6000 190 POKE 32117,R: POKE 32190,R: POKE 32314,R 200 POKE 32118,E: POKE 32191,E: POKE 32315,E 250 GO SUB 7000: PRINT I$ 260 PRINT AT 8,22;"to";:DIM W$(4): INPUT W$: GO SUB 5000: GO SUB 6000 270 POKE 32120,R: POKE 32193,R: POKE 32317,R 280 POKE 32121,E: POKE 32194,E: POKE 32318,E 330 GO SUB 7000: PRINT I$ 335 IF Q$="T" THEN GO TO 420 340 PRINT AT 10,1;"RAM adress irom ";:DIM W$(4): INPUT W$: GO SUB 5000: GO SUB 6000 350 POKE 32123,R: POKE 32196,R: POKE 32334,R 360 POKE 32124,E: POKE 32197,E: POKE 32335,E 410 GO SUB 7000: PRINT I$ 420 INPUT " CORRECT (Y/N) ? ";P$ 430 IF P$="N" THEN GO TO 30 440 IF P$="Y" THEN PRINT AT 14,10;"Insert chip READY ? Press any key":PAUSE 0: GO TO 460 450 GO TO 420 460 IF Q$="R" THEN GO TO 1000 470 IF Q$="W" THEN GO TO 1500 480 IF Q$="T" THEN GO TO 2000 490 IF Q$="V" THEN GO TO 2500 1000 POKE 32009,119: RANDOMIZE USR 32112 1020 PRINT FLASH 1;AT 21,15;"END":PRINT " For continue press any key":PAUSE 0:GO TO 30 1500 RANDOMIZE USR 32304 1510 IF PEEK 32463=255 THEN PRINT FLASH 1;AT 21,15;"END": PRINT "For continue press any key":PAUSE 0:GO TO 30 1520 PRINT AT 18,1;"ROM adress ":LET U=PEEK 32394+256*PEEK 32395: GO SUB 7010:PRINT AT 18,13;I$ 1530 PRINT AT 18,20;"ROM data ":LET D=PEEK 32095:GO SUB 7500: PRINT AT 18,30;S$ 1540 PRINT AT 19,1;"RAM adress ":LET U=PEEK 32400+256*PEEK 32401:GO SUB 7010: PRINT AT 19,13;I$ 1550 PRINT AT 19,20;"RAM data ":LET D=PEEK (PEEK 32400+256 *PEEK 32401):GO SUB 7500:PRINT AT 19,30;S$ 1560 INPUT " Continue (Y/N) ? ";G$ 1570 IF G$="N" THEN GO TO 30 1580 IF G$="Y" THEN RANDOMIZE USR 32384: GO TO 1510 2000 POKE 32009,0: POKE 32210,254: POKE 32211,255 2030 RANDOMIZE USR 32176 2040 IF PEEK 32303=255 THEN PRINT FLASH 1;AT 21,15;"END": PRINT For continue press any key": PAUSE 0:GO TO 30 2050 PRINT AT 18,1;ROM adress ": LET U=PEEK 32249+256*PEEK 32250: GO SUB 7010:PRINT AT 18,13;I$ 2060 PRINT AT 18,20;"ROM data ":LET D=PEEK 32015:GO SUB 7500: PRINT AT 18,30;S$ 2070 INFUT " Continue (Y/N) ? ";H$ 2080 IF H$="Y" THEN RANDOMIZE USR 32240: GO TO 2040 2090 IF H$="N" THEN GO TO 30 2100 GO TO 2070 2500 POKE 32009,0: POKE 32210,0: POKE 32211,190 2530 RANDOMIZE USR 32176 2540 IF PEEK 32303=255 THEN PRINT FLASH 1;AT 21,15;"END": PRINT "For continue press any key": PAUSE 0: GO TO 30 2550 PRINT AT 18,1;"ROM adress ":LET U=PEEK 32249+256*PEEK 32250: GO SUB 7010: PRINT AT 18,13;I$ 2560 PRINT AT 18,20;"ROM data ":LET D=PEEK 32015:GO SUB 7500: PRINT AT 18,30;S$ 2570 PRINT AT 19,1;"RAM adress ":LET U=PEEK 32255+256*PEEK 32256:GO SUB 7010:PRINT AT 19,13;I$ 2580 PRINT AT 19,20;"RAM data ":LET D=PEEK (PEEK 32255+256* PEEK32256):GO SUB 7500:PRINT AT 19,30;S$ 2590 INPUT " Continue (Y/N) ? ";J$ 2600 IF J$="N" THEN GO TO 30 2610 IF J$="Y" THEN RANDOMIZE USR 32240:GO TO 2540 2620 GO TO 2590 3500 POKE 32001,8:POKE 32011,10: POKE 32046,2: POKE 32050,3 3510 POKE 32068,10: POKE 32082,8:POKE 32091,10:RETURN 3600 POKE 32001,12: POKE 32011,15: POKE 32046,6:POKE 32050,2 3610 POKE 32068,15: POKE 32082,12: POKE 32091,15:RETURN 3700 POKE 32001,8: POKE 32011,9: POKE 32046,0:POKE 32050,2 3710 POKE 32068,9: POKE 32082,8: POKE 32091,9:RETURN 5010 LET T=0 5020 FOR Y=1 TO 4 5030 LET T=T+16^(4-Y)*(CODE W$(Y)-48-7*(CODE W$(Y)>57)) 5040 NEXT Y 5050 POKE 32030,INT (T-(INT (T/256))*256) 5060 POKE 32031,INT (T/256) 5070 RETURN 6000 LET W=PEEK 32030+256*PEEK 32031 6010 LET E=INT (W/256) 6020 LET R=INT (W-(E*256)) 6030 RETURN 7000 LET U=PEEK 32030+256*PEEK 32031 7010 DIM I(4): DIM I$(4) 7020 LET I(1)=INT (U/4096) 7030 LET U=U-I(1)*4096 7040 LET I(2)=INT (U/256) 7050 LET U=U-I(2)*256 7060 LET I(3)=INT (U/16) 7070 LET I(4)=U-I(3)*16 7080 FOR O=1 TO 4 7090 LET I$(O)=CHR$ (I(O)+48+7*(I(O)>9)) 7100 NEXT O 7110 RETURN 7500 DIM S(2): DIM S$(2) 7510 LET S(1)=INT (D/16) 7520 LET S(2)=INT (D-S(1)*16) 7530 FOR F=1 TO2 7540 LET S$(F)=CHR$ (S(F)+48+7*(S(F)>9)) 7550 NEXT F 7560 RETURN 9999 SAVE "PROG+" LINE 10:SAVE "PROG+"CODE 32000,500:SAVE "MONITOR"CODE 61000,4535:STOP 7D00 3E 00 D3 EF DB 1F 32 0F 7DE8 00 00 00 00 00 00 0 7D08 7D 00 3E 00 D3 EF C9 00 7DF0 C5 D5 E5 F5 3E 90 D3 7F 7D10 00 00 00 00 00 00 00 00 7DF8 01 00 00 11 00 00 21 00 7D18 00 00 00 00 00 00 00 00 7E00 00 78 AA 20 1B 79 AB 20 7D20 3E 80 D3 7F 7E D3 1F 78 7E08 17 3E FF 32 2F 7E F1 E1 7D28 D3 3F 79 D3 5F 3E 00 D3 7E10 D1 C1 C9 00 00 00 00 00 7D30 EF 3E 00 D3 EF 3E 55 32 7E18 00 00 00 00 00 00 00 00 7D38 18 7D 32 18 7D 32 18 7D 7E20 03 23 18 A2 00 00 00 00 7D40 3D 20 F4 3E 00 D3 EF 3E 7E28 00 00 00 00 00 00 00 00 7D48 90 D3 7F 78 D3 3F 79 D3 7E30 C5 D5 E5 F5 3E 00 32 CF 7D50 5F 3E 00 D3 EF DB 1F 32 7E38 7E 01 00 00 11 00 00 7A 7D58 5F 7D 3E 00 D3 EF 3E 00 7E40 32 F1 40 32 F1 41 7B 32 7D60 BE C9 00 00 00 00 00 00 7T48 F2 40 32 F2 41 21 00 00 7D68 00 00 00 00 00 00 00 00 7E50 78 32 F1 43 32 F1 44 79 7D70 C5 D5 E5 F5 01 00 00 11 7E58 32 F2 43 32 F2 44 3E 33 7D78 00 00 21 00 00 3E 90 D3 7E60 3D 32 5F 7E 32 EC 43 32 7D80 7F 78 D3 3F 79 D3 5F CD 7E68 EC 44 20 3C 22 90 7E ED 7D88 00 7D 78 AA 20 09 79 AB 7E70 53 8D 7E ED 43 8A 7E F1 7D90 20 05 F1 E1 D1 C1 C9 03 7E78 E1 D1 C1 C9 00 00 00 00 7D98 23 18 E6 00 00 00 00 00 7E80 C5 D5 E5 F5 3E 33 32 5F 7DA0 00 00 00 00 00 00 00 00 7E88 7E 01 00 00 11 00 00 21 7DA8 00 00 00 00 00 00 00 00 7E90 00 00 18 16 00 00 00 00 7DB0 C5 D5 E5 F5 3E 90 D3 7F 7E98 CD 20 7D 2O C1 3E FF 32 7DB8 3E 00 32 2F 7E 01 00 00 7EA0 36 7D CD 20 7D 3E 55 32 7DCO 11 00 00 21 00 00 78 D3 7EA8 36 7D 78 AA 20 12 79 AB 7DC8 3F 79 D3 5F CD 00 7D 3A 7EB0 20 0E 3E FF 32 CF 7E F1 7DD0 OF 7D 00 00 28 2B 22 FF 7EB8 E1 D1 C1 C9 00 00 00 00 7DD8 7D ED 53 FC 7D ED 43 F9 7EC0 03 23 3E 33 32 5F 7E C3 7DE0 7D F1 E1 D1 C1 C9 00 00 7EC8 50 7E 00 00 00 00 00 00
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября