Реферат: Разработка программатора микросхем ПЗУ
Замечания.
К плате Uniprog
o В Setup-е IBM PC желательно переключить тип LPT - порта из Normal(SPP) в ECP/EPP.
o В кабеле, соединяющем PC и UniProg, необходимо сигнальные шины чередовать с землей. Т.е. расположение сигналов на плоском кабеле должно быть: сигнал1-земля, сигнал2-земля, и т.д.
o На монтажной схеме 555 ЛА13 и 555 ЛН3 суть микросхемы 155 ЛА13 и 155 ЛН3.
o D2 (на схеме 555КП11) надо использовать более мощных серий - 531 или 155.
К модулю PIC
Программирование PIC последовательного типа (т.е. для всех серий, кроме PIC1652-58) осуществляется при помощи пяти проводов (например, на разъеме Х2):
Программатор —> PIC16x(12x,14000)
PA8 CLOCK
PD0 DATA
E4 MCLR
E2 Vcc (Питание)
GND GND (Земля) - это сигналы Пика могут быть на разных ножках (например, для pic16f84 CLOCK(RB6) - 12, DATA(RB7) - 13, MCLR - 4, Vcc(Vdd) - 14, GND(Vss) - 5).
Сигналы с программатора см. по схеме (так на внешнем разъеме Х2 для версии 1.x и 2.x PA8 - А18, PD0 - А4, E4 - В9, E2 - В12, GND - А10,В10)
Программирование параллельного типа (т.е. для серии PIC1652-58) осуществляется при помощи семнадцати проводов:
Программатор —> PIC16x52-58
PA8 INCPC (OSC1)
PA9 PROG/VER (T0CKI)
PD0-7 D4-D11 (RB0-RB7)
PA0-3 D0-D3 (RA0-RA3)
E4 MCLR
E2 Vcc (Питание)
GND GND (Земля)
Распределение памяти для модуля PIC в бинарном виде представлено в следующем виде:
с нулевого адреса - память программ, далее - память данных(если она есть) в словном размере и в конце восемь слов: первые четыре - ID, далее 5,6,7-е зарезервированные слова(в 7-м слове в новых микросхемах содержится идентификационный код) и, наконец последнее слово - конфигурационное. Т.е. :
0 - size_addr-1 - память программ;
size_addr - size_data-1 - память данных;
size_data - size_data+3 - ID;
NNN_data+4 - резерв;
NNN_data+5 - резерв;
NNN_data+6 - резерв или идентификационный код микросхемы;
NNN_data+7 - конфигурационное слово;
Биты слов, выходящие за пределы разрядности соответствующей памяти, игнорируются.
Можно также пользоваться .hex(или другими текстовыми форматами) файлами или конвертировать их в бинарный вид (cм. конверторы, пункт Source на стр. 6).
Более подробную информацию можно получить в контекстной справке по клавише 'F1' в модуле PIC.
К модулю FLASH
Микросхемы, имеющие более 32 выводов, можно программировать через внешний разъем Х2:
Программатор —> FLASH
E2 Vcc (Питание)
E3 Reset
E4 Vpp
PA16 CE
PA17 OE
PA18 WE
PA0 - PA15 A0 - A15
PD0 - PD7 D0 - D7
GND GND (Земля)
Если имеется сигнал BYTE, то он должен быть замкнут но 0, чтобы обеспечить байтовую шину данных.
Адрес РА19 зарезервирован для внешнего регистра, расширяещего адресное пространство до 24 (и более), т.е. дополнительные A16-A23 а также A-1. В ближайшее время ПО будет поддерживать этот регистр (поэтому пока можно программировать эти ПЗУ блоками по 64к).
К модулю ПОСЛЕДОВАТЕЛЬНЫХ ПЗУ и AVR.
Последовательные ПЗУ в основном имеют не более 8 выводов, назовем их P1-P8, поэтому для программирования было решено использовать шину данных PD0-PD7. Т.е. к соответствующему выводу микросхемы P (DIP - корпуса) подключается соответствующий сигнал PD (PD0->P1, PD1->P2, ..., PD(x-1)->Px) ). При этом на тот вывод где земля (GND) подается логический 0, а где питание 1, напряжение Е1 выставляется на "напряжение питания" + 0.5v (с поправкой на падение на транзисторах). Дополнительно на Е2 выставляется точное напряжение питания, чтобы можно было непосредственно подключить его на P=Vcc (обычно вывод P8). А также на один (или несколько) из адресов шины PA0-PA7 соответствующему P=GND, подается логическая 1 для возможности подключить "землю" через полевой N-канальный транзистор (т.е. PA(x-1)->транзистор->Px=GND) следующим образом:
Px
например IRF7303
PA(x-1)
GND
Такое подключение земли более корректно, чем через PDx (где логический ТТЛ уровень 0), но никто не мешает непосредственно заземлить соответствующий вывод GND микросхемы.
Для подключения последовательных ПЗУ планируется выпустить переходную панель с распиновкой:
Программатор ---> ПЗУ
PD0 -PD7 P1-P8
E2 через полевой P-транзистор P8 (управления пока нет)
PA2 -PA4 через полевой N-транзистор P3-P5
Приведем примеры подключения СТАНДАРТНЫХ микросхем следующих серий:
Подключение серии IIC(24xx)
PA3 через полевой N-транзистор или GND
PD0 PD1 PD2 | PD4 PD5 PD6 E2 или PD7
A0 A1 A2 GND SDA SCL WP Vcc
Подключение серии MicroWire(59xx)
PA4 через полевой N-транзистор или GND
PD0 PD1 PD2 PD3 | PD5 PD6 E2 или PD7
CS CLK DI DO GND ORG RDY Vcc
Подключение серии MicroWire(93xx)
PA4 через полевой N-транзистор или GND
PD0 PD1 PD2 PD3 | PD5 PD6 E2 или PD7
CS CLK DI DO GND ORG WP Vcc
Подключение серии SPI(25xx)
PA3 через полевой N-транзистор или непосредственно GND
PD0 PD1 PD2 | PD4 PD5 PD6 E2 или PD7
CS DO WP GND DI CLK HOLD Vcc
Подключение DataFlash At45xx:
PA3 через полевой N-транзистор или GND
PD0 PD1 PD2 | PD4 PD5 PD6 E2 или PD7
CS CLK DI GND DO RESET WP Vcc
Микроконтроллеры AVR подключаются аналогично. Распиновку установили в соответствии с 8-ножечным корпусом типа Atiny10(11,12) или AT90S2323(2343), а именно:
PA3 через полевой N-транзистор или GND
PD0 PD1 PD2 | PD4 PD5 PD6 E2 или PD7
RESET XTAL1 NC GND DI DO CLK Vcc
|_нет контакта
Для RESET можно также использовать Е3, а для Vcc - Е4. На выводы XTAL1 и XTAL2 микросхемы необходимо подать сигналы с кварца по стандартной схеме (см. докуметацию на соответсвующую микросхему) или кварцевого генератора на вывод XTAL1 (кварц должен быть рядом с чипом). Можно также програмно сэмулировать эту частоту с помощью PD1, при этом указать это в опциях "Эмуляция XTAL". Заметим, что время чтения микросхемы значительно увеличится.
Старые версии.
Общие к платам Uniprog версий £2.00 и programmator 2.50-3.00:
1. Для устойчивой работы желательно для всех остальных:
• Подтянуть сигналы - ADWR, IOWR, XI4 на +5v через резистор ~1.2 kOm. Замкнуть XI7(15в D2) на землю непосредственно на плате UniProg-а. Дополнительно ADWR соединяем с землей через конденсатор ~100pF.
• 1в D1 соединить с +5v, не повредив сигнал IORD.
• Непосредственно на плате UniProg-а соединить 1в D29(555ИР23) c землей, а для версии 2.00 и 15в D2(555КП11) тоже заземлить.
• В кабеле, соединяющем PC и UniProg, необходимо сигнальные шины чередовать с землей
2. Обратите внимание, что при работе с некоторыми RT-шками (т.к 556rt7a, 556rt18) источник питания Е4 должен обладать быстрой обратной связью (дело в том, что потребление этих RT при считывании 0 и 1 разное, что вызывает скачки напряжения в медленных схемах усилителя). Поэтому транзисторы VT36, VT32 и VT40 должны быть с граничными частотами >= 20 МГц, например КТ805(А) (КТ819 - не подходит!), КТ972 (КТ815 - не подходит!) и КТ973 (КТ814 - не подходит!) соответственно. Это замечание также актуально для некоторых микросхем 27хх - серии, в случае если их питанием является напряжение E2 .
3. Для программирования Protect (полная защита), Code programming (шифровальной таблицы) и ERASE (стирание для AT89c5x) необходимо к выводам WR(16) и RD(17) панельки DP11 подсоединить соответственно сигналы PA18 и PA19. Кроме того, необходимо уменьшить емкость конденсаторов C5 и C6 (C13, C14 в Programmator’е v2.50) до 20-30pf.
Для микросхем i87C5x/51Fx/51Rx/51GB, i87C51SL и вообще с FX-Core необходимо к выводу P3.3(13) панельки DP11 подсоединить сигнал PA17. Кроме того, для 32Kb-ных микросхем фирмы Intel и для At89C55 необходимо к выводу P3.4(14) и P3.0(10) панельки DP11 подсоединить сигнал PA16.
4. При программировании "хорошо" потребляющих микросхем (типа 1556хх) транзисторы VT33–VT36 объединить единой пластиной теплоотвода.
5. Вместо резисторных матриц RDIР допускается запаивать по 8 резисторов R=2К.
Для UniРrog версии 1.00:
1. Поменять местами проводники, идущие на 15 и 16 выводы панельки DР8 (2716 – 512).
2. На шину +27V напаять керамический конденсатор емкостью не менее 1 мкФ.
3. При подключении к IBM не впаивайте резистор R58 и замкните перемычки J1 и J2.
Для UniРrog версии 1.1:
1. При подключении к IBM разомкните перемычки J1 и J2 и замкните J1 и J3.
2. При подключении к Sinсlair - совместимому компьютеру убедитесь, что у вас правильно настроен сигнал маскируемых прерываний процессора – он должен иметь длительность 8-10 мкс. В противном случае у микросхем, критичных к параметрам программирования (1556ХЛ8, 556РТ1 и т.д.), процент брака повышается до 50% и более.
Для UniРrog версии 1.2:
1. D3 (555TM9) на плате не устанавливается.
2. R4, R7 и R9 – по 2К, а R5, R6 и R8 – по 1К (сборки).
3. VD42 – КД522.
4. С7 и С9 расположены рядом с разъемом Х3.
5. VD41 расположен рядом с R8.
6. Разъемы Х1 и Х4 совмещены в один SNP 64, для питания предназначен только Х3.
7. Для тех, кто все еще подключает программатор к Sinclair-у, на разъем Х1 подать следующие сигналы от Sinclair-а: Д0–Д7 — на В12–В5; А8, А9, RD, IORQ, A1, M1 на В13, А13, В14, А14, В15, А18 соответственно. И замкнуть перемычки J6–J7, J8–J9, J10–J11, J12–J13.
Для UniРrog версии 2.00:
Чтобы обеспечить качественное программирование микросхем серии 27хх, необходимо вместо питания +5v (28в для 2764-27512, 32в для 27010 и выше) подать напряжение E2. (При этом также появляется возможность программирования и чтения плавающих бит. Однако из-за ненадежности работы микросхем, прошитых этим алгоритмом, он не включен в стандартный набор. Тем не менее вы можете его осуществить "вручную".)
Для programmator (не путать с Uniprog) версии 2.60-3.00:
Эти платы необходимо привести к плате programmator 2.50, отличиея небольшие:
Номер контакта DP7 Разводка V2.50 Разводка V2.60-3.00
24 PA19 E3
30 E3 +5v
Блок питания.
Блок питания (БП) должен обеспечивать напряжения +5V (не менее 0,7 А), –5V (не менее 0,2 А) и +27V (не менее 0,5 А). Желательно наличие защиты или предохранителя т.к. попадаются ПЗУ (например, серии 556хх), которые накоротко замкнуты внутри.
ПРИЛОЖЕНИЕ.
I Соответствие микросхем программируемым панелям:
EPROM c УФ стиранием, FLASH, EEPROM, RAM: DP9:
27C/ 28F/ 29Fxx Series – 16/ 32/ ; 573РФ – 2/ 5/
62(ОЗУ)/ 28C(EEPROM) Series: - 16; 537РУ 8/ 10;
DS12xx(ОЗУ) Series - DS1220AB(AD) DP8:
27C/ 28F/ 29Fxx Series – 64/ 128/ 256/ 512/ ; 573РФ – 4/ 4A/ 6A/ 8A
62(ОЗУ) / 28C(EEPROM) Series - 64 /128/ 256; 537РУ 17
DS12xx Series - DS1225AB(AD)/ DS1230Y(AB,W) DP7:
27C/ 28F/ 29Fxx Series – 010/ 1000/ 1001/ 020/ 040/ 4001/ 080
62(ОЗУ)/ 28C(EEPROM) Series - 512/ 010/ 020/ 040
DS12xx(ОЗУ) Series - DS1245Y(AB,W)/ DS1249Y(AB)/ DS1250Y(AB,W)
Однократно программируемые ПЗУ:
155РЕ3 DP1
74S571, 556РТ4А (3601), 556РТ11 (93427С) DP3
556РТ5(3604)!1, 556РТ17(3624А)!1, 556РТ16(HM_76641-5), 556РТ6,
556РТ7А, 556РТ18(HM_77661-5) DP4
556РТ12(N82S136), 556РТ13(N82S137), 556РТ14(DM87S184), 556РТ15 (DM87S185), DP2
1ВНИМАНИЕ!!! ПЗУ 556РТ5(17) требуют абсолютной идентичности сигналов на 22 и 24 выводах при программировании (иначе происходит выгорание микросхемы при программировании). Т.к. данная схема этого сделать не позволяет (всегда имеется небольшая задержка между сигналами), рекомендуем на случай программирования 556РТ5(17) сделать переходную панель, в которой все выводы совподают, кроме 22-го. 22 вывод подать не на сигнал E3 (как по схеме), а на сигнал Е4 т.е подсоеденить к питающему выводу.
ПЛМ 556 RT1 /RT2 DP5
1556 - ХЛ8/ ХП4/ ХП6/ ХП8 DP6
Микроконтроллеры:
MCS 48: I8748(1816BE48) /49 DP10
MCS 51: I8751(1816ВЕ751), I87C51(1830ВЕ751)/ C52(1830ВЕ753)/ C54/ C58
At89C5x: At89C5x(-5) - 51/ 52/ 55, At89S8252, At89S53 DP11
At89Cx051: At89C1051/ At89C2051/ At89C4051 DP6 (1556хх)
PIC, AVR - контроллеры и Последовательные ПЗУ:
Для PIC и AVR - контроллеров на плате нет соответствующей панели, поэтому подключить микросхему (пока не выпущена переходная панель) можно через внешний разъем Х2 (соответствующие выводы приведены в разделе "Замечания").
II ПЕРЕЧЕНЬ РАДИОЭЛЕМЕНТОВ К ПРОГРАММАТОРУ UniProg 2.1
Позиционное Номинал Возможная замена Кол-во Примечание
обозначение
1 2 3 4 5
C1-C4 KM5б-390 pF КМ5а, КМ6, К10-17Б 4 Uраб.>=6.3v
C5, C6 KM5б-20…30 pF КМ5а, КМ6, К10-17Б 2 Uраб.>=6.3v
C7, C10 KM5б-0.47-1 mF КМ5а, КМ6, К10-17Б 3 Uраб.>=6,3v
C8 KM5б-47 nF КМ5а, КМ6, К10-17Б 1 Uраб.>=6.3v
C11 KM5б-47 pF КМ5а, КМ6, К10-17Б 1 Uраб.>=6.3v
C9 KM5б-1 mF КМ5а, КМ6, К10-17Б 6 Uраб.>=35v
1. Все конденсаторы керамические серии КМ.
2. Необходимо установить 6 блокировочных конденсаторов, на схеме не указанных. На шину +5V и –5V Uраб.>=6.5V. На шину 30V Uраб.>=35V. Эти конденсаторы устанавливаются в непосредственной близости от выводов питания элементов D14-D17, D18- D24, D8-D10 и шиной 30V.
D1 КР555АП6 74LS245 1
D2 КР531КП11 74S57 1
D4-D7 КР580ВВ55А 8255A 4 Но не 82С55!
D8-D11 КР572ПА1 4
D12, D13 КР574УД2А (Б) 2
D14-D20, D25-D27 КР155ЛН3 74S06 10
D21, D22 КР155ЛА13 74S38 2
D23, D24 КР555ЛН1 74S04 2
D28 КР555АП5 74LS44 1
D29 КР555ИР23 74LS374 1
1. Микросхемы D1, D14-D29 любой серии ТТЛ (155, 1531, 1533).
2. Микросхемы D4-D7, D8-D11, D14-D22, D25-D27 желательно устанавливать на соответствующие панели DIP16 и DIP40 серий SCS и SCL.
R1-R4, R7, R9 МЛТ-0,125-2 kOm ОМЛТ, C1-4, C2-23 48
R5, R6, R8, R62 9A102J НР1-4-8М 4 Сборка резисторная 1 kOm
R10-R37 МЛТ-0,125-470 Om ОМЛТ, C1-4, C2-23 27
R38-R41, R59, R61, R67 МЛТ-0,125-1 kOm ОМЛТ, C1-4, C2-23 7
R42-R45 МЛТ-0,125-3.3 kOm ОМЛТ, C1-4, C2-23 4
R46-R49 МЛТ-0,125-270 Om ОМЛТ, C1-4, C2-23 4
R50-R53 МЛТ-0,125-510 Om ОМЛТ, C1-4, C2-23 4
R54-R57 МЛТ-0,125-100 Om ОМЛТ, C1-4, C2-23 4
R65 МЛТ-0,125-390 Om ОМЛТ, C1-4, C2-23 1
R66 МЛТ-0,125-2 kOm ОМЛТ, C1-4, C2-23 1
R68 МЛТ-0,125-1.2 kOm ОМЛТ, C1-4, C2-23 1
1. Все резисторы постоянные серий МЛТ, С1-4. Номинальной мощностью не менее 0,125 Вт.
2. Резисторы R1-R4, R7, R9 устанавливаются вместо резисторных сборок RDIP (8 отдельных параллельных сопротивлений).
Q1 РК169 МА – 6 В С 4 MHz РПК01 – 4 MHz 1
VD1-VD20, VD41 КД522 21
VD21- VD36 КД510 16
VD37, VD38 АЛ307 2
1. Диод VD37 зеленого цвета свечения.
2. Диод VD37 красного цвета свечения.
VT1-VT20 КТ361Г 20
VT21-VT28, VT37-40 КТ973А (В) 12
VT29- VT32 КТ972А (В) 4
VT33- VT36 КТ805АМ 4
VT41 КТ315Г 1
X1 DRB25FA DRB25FB 1
X2 ОНП-КГ-56-40-В53 1
X3 ОНЦ-ВГ-4-5/16 1
1. Разъем X2 возможно заменить штыревым разъемом PLD – 40.
2. Разъем X3 наплатный.
3. Возможна любая замена с аналогичными (близкими) параметрами.
DP1, DP3 PC1-16-1 2
DP2 PC1-18-1 1
DP4, DP9 PC1-24-7 2
DP5, DP8 PC1-28-7 2
DP6 PC1-20-1 1
DP7 PC1-32-7 1
DP10, DP11 PC1-40-7 2
Все элементы допускают замену на аналогичные и с улучшенными параметрами.