2099.Учебная работа .Тема:Разработка программатора микросхем ПЗУ

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...

Тема:Разработка программатора микросхем ПЗУ»,»

Инструкция по работе и техническое описание

Универсальный программатор Uniprog представляет собой устройство, подключаемое к компьютеру типа IBM PC через LPT порт (номер LPT порта автоматически определятся программой) и позволяющее программировать широкий класс микросхем. Универсальность программатора заключается в его схемотехнике, позволяющей программировать, кроме обычных ПЗУ и микроконтроллеров, микросхемы программируемой матричной логики (ПЛМ) и т.д. Так, некоторым микросхемам ПЛМ (например, 156РТ1) при программировании необходимо присутствие высоких напряжений на всех выводах, что и обеспечивает данная схема. Программатор Uniprog, конечно, не свободен от недостатков. Тем не менее, за счет простоты схемы, его стоимость намного меньше, чем у других отечественных универсальных программаторов (не говоря уже о зарубежных).

Важным преимуществом Uniprog является новое программное обеспечение Uniprog plus, которое не только резко расширило номенклатуру «прошиваемых» микросхем в направлении популярных западных приборов, но и построено по принципу открытой архитектуры. Т. е. каждый пользователь, владеющий языком «Си», может написать свой собственный программирующий или тестирующий модуль, пользуясь встроенными функциями Uniprog plus.

Требование к компьютеру: не менее AT286 1Мб, монитор (S)VGA; рекомендуем – не менее АТ386, 4мб памяти,

Операционные системы: DOS (желательно EMS или XMS менеджер памяти HIMEM, EMS или QEMM), Windows 9x, Millennium, NT, 2000.

Список микросхем.

На данный момент программа Uniprog plus позволяет программировать следующие микросхемы (полный список см. в приложении) :

FLASH (28xx, 29xx)

фирм: AMD (Am), Atmel (At), Catalyst (CAT), Intel (I), Integrated Silicon Solution , ISSI (IS), Fujitsu Semiconductor (MBM), Hitachi (HN), Mitsubishi (m5m), Macronix MXIC (MX), Mosel Vitelic (V), NexFlash Technologies (NX), PMC (Pm), SGS Tomson (M), Texas Instruments (TMS), Silicon Storage Techology (SST), Winbond (W), BRIGHT Microelectronics.

Замечание:

Надо заметить, что существует четыре основных алгоритма программирования микросхем FLASH памяти. Условно назовем их Intel (I28F0x0), IntelStatus (все остальные семейства INTEL использует статусный регистр) , Polling (например, микросхемы фирмы AMD), PollingPage (например, микросхемы серии 29хх фирмы Atmel). Остальные микросхемы программируются одним из этих алгоритмов, при этом либо полностью совместимы, либо имеют некоторые отступления, либо дополнительные возможности. Если у вас микросхема, не входящая в вышеозначенный список, то вы можете запрограммировать ее, выбрав совместимую микросхему из списка; но если вы выберите несовместимый алгоритм, то возможна даже порча микросхемы (т.к. в некоторых алгоритмах используются высокие напряжения на выводах Vpp и Reset).

Микросхемы, имеющие более 32 выводов, можно программировать через внешний разъем Х2 (соответствующие выводы приведены в разделе «»Замечания»»).

EPROM c ультрафиолетовым стиранием:

573РФ2/ РФ5/ РФ4 /РФ4A /РФ6A /РФ8A

27xx Series – 27C16/ 32/ 64/ 128/ 256/ 512/ 010/ 1000/ 1001/ 020/ 040/ 4001/080, фирм: AMD (Am), Atmel (At), Intel (I), SGSTomson (M), Texas Instruments (TMS), Hitachi (HN), Catalyst (CAT), NEC (NEC), Toshiba, National Semicondactor (NSC), Microchip Technology, Fujitsu, Mitsubishi (M, M5M), Winbond (W), Silicon Storage Technology (SST).

Электрически стираемые:

Winbond: W27E257040, SST: SST27SF256020

ОДНОКРАТНО программируемые ПЗУ:

155РЕ3, 74S571, 556РТ4 7, РТ1117

ВНИМАНИЕ!!! ПЗУ 556РТ5(17) требуют абсолютной идентичности сигналов на 22 и 24 выводах при программировании (иначе происходит выгорание микросхемы при программировании). Т.к. данная схема этого сделать не позволяет (всегда имеется небольшая задержка между сигналами), рекомендуем на случай программирования 556РТ5(17) сделать переходную панель, в которой все выводы совподают, кроме 22го. 22 вывод подать не на сигнал E3 (как по схеме), а на сигнал Е4 т.е подсоеденить к питающему выводу.

ПЛМ 556 RT1 /RT2

1556 ХЛ8/ ХП4/ ХП6/ ХП8 (в дополнительном модуле)

Микроконтроллеры:

Intel I874x, I875x,

Atmel At89C5x, At89S8252, At89S53 Parallel/ Serial,

At89Cx051(программируется в панели DP6 под 1556Hxx)

PIC контроллеры: PIC12xxx, PIC16xxx , PIC14000

AVR контроллеры: AT90(L)Sxxx, ATmega_xx, ATiny_xx.

Замечание:

Для PIC и AVR контроллеров на плате нет соответствующей панели, поэтому подключить микросхему (пока не выпущена переходная панель) можно через внешний разъем Х2 (соответствующие выводы приведены в разделе «»Замечания»»).

ПОСЛЕДОВАТЕЛЬНЫЕ ПЗУ.

IIC (24xx) фирм Atmel (At):At24Cxx, At34C0x, Asahi Kasei Microsystems AKM(AK):AK60xx, CATALYST (CAT), Integrated Silicon Solution ISSI(IS), Microchip: 24xxx, 85Cxx, Philips: PCB2421, PCF85xx, SAMSUNG (KS), SGS Tomson (ST): M2201, ST24(25)xxx, ST14(15)xxx, SIEMENS (SLx) : SDA25xx, SLx24Cxx, Xicor (X)

SPI (25xx) Atmel (At), CATALYST (CAT), Microchip, SGS Tomson (ST): ST95xxx, SIEMENS (SLx), Xicor (X),

MicroWire (93xx, 59xx) Atmel (At), Asahi Kasei Microsystems AKM(AK): AK93Cxx, AK64xx, CATALYST (CAT), Fairchld (FM), Integrated Silicon Solution ISSI(IS), Microchip, SGS Tomson (ST)

DataFlash SPI Atmel (At):: At45Dxx.

Замечание:

Также как и FLASH, последовательные ПЗУ разных фирм, но одинакового обозначения, очень похожи (в смысле программирования) друг на друга, но имеют некоторые отступления либо дополнительные возможности. Если у вас микросхема, не входящая в вышеозначенный список, то вы можете запрограммировать ее, выбрав совместимую микросхему из списка (например, фирм Atmel или MicroChip) и включив в «»Опциях»» режим «»Дезактивация»», который снимает возможность «»Страничной записи»» и «»Последовательного чтения ПЗУ»». Эти опции значительно увеличивает время чтения и программирования, т.к. эти операции осуществляются побайтно. Но при этом появляется возможность программирования похожих микросхем иных фирм, т.к. различия обычно проявляются именно в этих пунктах. Не забудьте проследить также за напряжением питания, так как, например, некоторые ПЗУ работают в интервале питания 1.8 3.3v.

Некоторые функции, такие как : Software protect, IDLock, Security или Watchdog, пока нереализованы. Планируется также включить в этот модуль FPGA ПЗУ серий XC17xx, At17xx и microchip37xx.

• Для последовательных ПЗУ на плате нет соответствующей панели, поэтому подключить микросхему (пока не выпущена переходная панель) можно через внешний разъем Х2 (соответствующие выводы приведены в разделе «»Замечания»»).

Tест/ запись/ чтение статической памяти:

62xx /537RUxx Series: 6216/ 6264040, 537РУ8/10/17, DALLAS: DS12xx

Замечание:

Микросхемы статической памяти типа 62хх, 573РУхх вставляются в теже панели, что и серии 27хх или FLASH.

В модуле имеются некоторые ОЗУ (DALLAS) которые работают при питании 3 вольта. Не все версии программаторов Uniprog поддерживают изменение напряжения на питающем выводе. Использование 5 вольт может вывести микросхему из строя.

EEPROM. 28Cxx Series: 16/ 64/ 128/ 256/ 512/ 010/ 020/ 040

К сожалению, на отечественном рынке присутствует весьма ограниченный выбор Flash памяти, PIC контроллеров и др. микросхем. Поэтому часть микросхем заведена с соответствующих фирменных спецификаций и не проверена непосредственно на кристаллах.

Переходные панели.

Для Uniprog имеются следующие переходные:

PLCC обычные без нулевого усилия (планируется развести панели и с нулевым усилием).

DIP28>PLCC32 для 27/28/29/64256 и 27512

DIP32>PLCC32 для 27/28/29/010040 и 28/29512 и 27080

есть правда отступления, но общий принцип такой: надо смотреть сколько ног у вашей микросхемы в DIP исполнении, такой переходник и берете.

Кроме того будет дана распиновка.

DIP40>PLCC44 для 87/895x

DIP40>PLCC44 для 27/28/2910244096 этот переходник разведен на будующее, когда появится соответствующая панель для DIP40.

Отметим отдельно.

Если вы планируете обновленную версию ПО поставить в новую дирректорию, то незабудте из старой дирректории переписать файл unip.aux с дополнительными настройками (в том числе с юстировкой). Мы рекомендуем обновление делать в туже дирректорию, тогда сохранятся и другие настройки введенные вами (старую же версию, если вам это необходимо, можно скопировать, например, под другим именем).

Для загрузки файла (клавиша F3) по умолчанию используется расширение BIN, другое расширение можно поставить, записав в файл unip.aux ключевое слово buf.files.mask с соответствующей маской. Например, чтобы поставить любое расширение, надо написать:

buf.files.mask *.*

У микросхем имеющих более одной памяти для прог./чтения файл(буфер) представляется в тегированном (разбитым на части) виде. В данном случае у микроконтроллеров AVR три типа памяти FLASH, EEPROM и Locks&Fuse состоит из двух байтов. LOCK и FUSE биты можно наблюдать и изменять прямо в буфере. Но не у всех микросхем эти биты доступны для чтения.

• Новые модули, такие как FLASH, AVR и ПОСЛЕДОВАТЕЛЬНЫХ ПЗУ, не имеют в опциях выбора диапазона программирования, т.к. этот диапазон можно определить обычным выделением в буфере.

• Операция Erase (стирание) в модуле FLASH необязательная. Программа сама определит и предложит, что стирать.

• В модулях FLASH и 27хх при выборе пункта «»Select PROM»» сразу предлагается автоопределение, которое можно отменить нажатием клавиши Esc.

• Пока Вы не откроете окно (буфер), будут выполняться только операции, не требующие оного (например, проверка на чистоту или стирание), иначе будет появляться сообщение об ошибке: «»Нет буфера для …»».

• Несколько общих рекомендаций по поводу программирования FLASH.

Такие большие модули, как Flash, занимают много места в небольшом пространстве DOS (640k). Когда память заканчивается (количество свободных килобайт можно посмотреть в нижнем правом углу), программа перестает работать.

Сейчас для увеличения оперативной памяти можно выбрать «»FLASH (Поделенные по фирмам)»» или

1. Под Windows – рекомендуем создать собственную иконку под Uniprog.exe (или переписать и запустить файл Uniprog.pif).

2. Под DOS а) из autoexec.bat и config.sys убрать ненужные резиденты и/или загрузить их в dos high; б) поставить QEMM9 и оптимизировать; с) запустить без оболочки (типа Norton).

Некоторые Flash страничной записи (At29xx, W29Exx) возможно будут программировать только под DOS; кроме того, для старых медленных компьютеров (для этих микросхем) придется отключить менеджер памяти (QEMM или EMM).

При работе в DOS (или эмуляция DOS) для Пентиума используется его таймер, он намного точнее и устраняется запаздывание часов которое возникало при использовании часового таймера. Но на некоторых компьютерах, обработка этого таймера происходит неверно. В случае возникновения ошибок при программировании (как правило для PIC) можно заставить Uniprog работать по часовому таймеру, внеся сторчку: delay.tsc 0 в файл unip.aux .

По клавише AltF10 Local menu можно вызываеть локальное меню в котором выбираются режимы видиления, размер шины данных в буфере и система счисления. При этом в режиме видиления по умолчанию стоит exclusive (исключительно), поэтому последний байт не выделяется. Для выдиления последнего байта выбирите inclusive (включительно):

Block type

( ) Stream exclusive (исключительно)

(.) Stream inclusive (включительно)

( ) Colume

( ) Line

В редакторе «»Edit»»можно залить «»Fill»» выделеный блок числом при этом для ввода шестнадцатиричного значения над вводит префикс:

Например, для числа FC надо вводить 0xFС или 0FСh.

Подключение.

Прежде всего установим программу Uniprog plus. Для этого нужно запустить программу инсталляции install. exe либо с диска, либо переписав предварительно на винчестер. Вы попадете в оболочку, где можно выбрать версию платы (если вы недавно купили программатор, то у вас версия 2.1, поэтому подходит версия 2.х, выставленная по умолчанию), директорию (куда будет помещена программа) и возможность установки пакета UDK (см. далее). UDK всегда можно установить позже, кроме того, на нашей WWW странице можно найти урезанную версию installs.exe без UDK (если вы уже имеете UDK или он вам не нужен).

Кстати, переустановить новую версию ПО можно в ту же директорию, не стирая предварительно старую версию; при этом все ваши настройки сохранятся.

Если на вашей дискете есть файл unip.aux (с юстировкой напряжения для вашего программатора), то после инсталляции перепишите этот файл в образовавшуюся директорию. Если файла unip.aux нет, то можно принять коррекцию напряжений по умолчанию, а лучше провести юстировку напряжений самостоятельно с помощью тестера и программы test.bat .

Замечание: программное обеспечение работает под MSDOS и осуществляет самостоятельный доступ к LPT порту, поэтому Uniprog plus не будет работать под Windows NT если вы не поставили необходимого драйвера файл uwdinst.exe. Если вы работаете под Windows 95/98, то желательно работать в режиме «»эмуляция MSDOS»». Но допускается работать и под Windos95/98, правда, инсталляция будет осуществлена с командной строки и будет выдаваться предупреждающее сообщение, что обнаружена multitask.

Кроме того, некоторые микросхемы FLASH памяти (имеющие страничную запись)могут некорректно программироваться изпод Windows, о чем вас предупредят в программе непосредственно для этих микросхем.

Для плат Pentium и 486(с шиной PCI) в Setupе желательно выставить порт LPT в ECP/EPP( как правило, раздел CHIPSET FEATURES SETUP или INTEGRATED PERIPHERALS).

Теперь можно подключить Uniprog (см. раздел Разъемы), включить питание и запустить для начала программу test.bat , войти в меню Programming Prom и запустить пункт Автоматический тест. Если нет сообщений об ошибках error (warning не в счет), то все в порядке и можно выходить из программы test (более полное описание программы test см. далее) иначе программатор не работоспособен. В последующих включениях запускать test нет необходимости. При работе в программе «»Тест»» НЕЛЬЗЯ вставлять ваши микросхемы в панельки.

Теперь запустим основную программу Uniprog.bat и выберем соответствующее семейство. Далее в разделе «»Select PROM»» можно выбрать нужную микросхему; чтобы выбрать новое семейство в том же разделе «»Select PROM»», нажмите «»Select new config branch»».

Вставлять микросхему в программирующею панель можно только после включения питания программатора и запуска программного обеспечения. Если вы запускаете программу в первый раз (это касается и программы test), то всплывет предупреждение о необходимости провести юстировку напряжений (подробно см. раздел Программа тест). Примите по умолчанию, но имейте в виду, что есть микросхемы (например, AT89C5x), очень чувствительные к превышению напряжения (вплоть до выхода кристалла из строя), поэтому мы настоятельно рекомендуем провести юстировку с помощью обычного тестера (подробно см. раздел Программа тест), если, конечно, на вашей дискете не было файла с юстировкой unip.aux.

Программное обеспечение.

Uniprog Plus поддерживает все версии программаторов Uniprog версий £2.10, а также самую раннюю версию 2.50, еще не проходившую под названием Uniprog.

o Для запуска оболочки Uniprog Plus без платы используйте ключи d p1:

uniprog.exe d p1

Где d режим дебагера, p1 номер LPTпорта (в данном случае 1).

o Для запуска специальных параметров используйте ключ «»=prog.special»» (вместе с кавычками), это позволит настроить параметры программирования: напряжения, временные интервалы и т.д.

o Если возникают какието вопросы в процессе использования оболочки Uniprog Plus, можно нажать на клавишу “F1”, – при этом появится помощь, описывающая то место, в котором вы находитесь.

В поставку также входит система разработки программирующих модулей Uniprog Development Kit (UDK). Она позволяет пользователям создавать свои модули программирования и редакторов. Система представляет собой набор библиотек, заголовочных файлов и файла помощи, предназначенных для использования совместно с компилятором Borland C++ версии 3.1.

Программа Uniprog Plus представляет собой систему программирования самых различных типов ПЗУ, ПЛМ и т.д. Версия командной строки поддерживает те же функции, что и экранная оболочка, за исключением всех интерактивных действий (просмотр/редактирование) и модификаций программирующего буфера.

Uniprog Plus также поддерживает набор определяемых пользователем конверторов, которые предназначены для преобразования различных форматов представления образа ПЗУ в бинарный вид (для последующего программирования). Конверторы определяются самим пользователем (несколько конверторов включены в Uniprog Plus). Скрипты для описания конверторов представляют собой разновидность командных файлов с интерактивными расширениями.

Программа обеспечивает для каждого типа ПЗУ операции программирования и установки параметров (если эти операции поддерживаются программирующим модулем), а также набор операций контроля ПЗУ и любые другие (целиком определяются программирующим модулем и конфигурационным файлом).

Далее описаны модули, которые войдут в полную поставку. Если не указано имя файла, то модуль находится в процессе разработки.

rom.ed Редактор ПЗУ

pal.ed Редактор PLM

27xx.prg УФ ППЗУ серий 27..(573рф..)

2728.adt Автоопределение УФ ППЗУ серий 27../28../29..

rtxx.prg ППЗУ с плавкими перемычками серий 556рт..

ПЛМ серий 1556

rt1.prg ПЛМ 556РТ1/РТ2.

ve4x.prg Однокристальные ЭВМ серий 874x

ve51.prg Однокристальные ЭВМ серий 875x..(1816ве..), /89..

flash.prg Flash ПЗУ

pic16.prg Микроконтроллеры PIC серий 12ххх, 16ххх, 14000.

serial.prg Сериальные(битовые) ППЗУ и AVR фирмы Atmel

test.prg тест UniProg

ram.prg тест/запись/чтение статической памяти.

Кратко опишем основные операции, поддерживаемые программой.

Разные операции. Пробел

Данное меню включает небольшой калькулятор, группу команд вызова внешних утилит, информацию о Uniprog Plus.

Различные файловые операции. File

Стандартный набор создать/загрузить/сохранить буфер редактирования как в бинарном, так и в текстовом (save as file) виде, открыть/откомпилировать файл для конвертора и т.д.

Здесь стоит заметить, что буфер для ПЗУ открывается в соответствии с его размером (новый заполняется пустыми (не прошитыми) значениями ПЗУ filler) и является его (ПЗУ) образом. Т.е. если вы в Options определите область действия в ПЗУ, то данные из буфера для этой области будут браться из тех же адресов. Если подгружаемый файл размером больше буфера, то он урезается, если меньше, то буфер дозаполнится fillerом.

Отдельно стоит рассмотреть пункт Source, который дает возможность подгрузить с помощью конвертора файл, отличный от бинарной структуры. В поставке Uniprog plus подсоединен конвертор для чтения популярного формата HEX. В пункте Source вам представится возможность выбрать файл с расширением hex, после загрузки откроется окно, отформатированное в hex виде. Т.к. Uniprog plus не умеет работать с этим файлом, то полученный файл надо преобразовать в бинарный с помощью команды Compile, которая сделает новое окно с бинарной копией. Заметим, что вышеописанная операция Compile не обязательная, т.к. Uniprog plus при надобности автоматически запустит эту команду. Поэтому не удивляйтесь, почему вдруг появилось новое окно с бинарной копией. Подключение конверторов на другие типы файлов см. раздел Options Transfer/Convertors.

Замечание: Создание собственных конверторов см. описание утилиты XCVT.

Операции редактирования. Edit

Модуль бинарного редактора ПЗУ обеспечивает просмотр и редактирование содержимого окна в бинарном или символьном виде. Содержимое может быть рассмотрено как массив 4х битных тетрад (как из младших, так и из старших половин байта), массив байтов, массив слов или массив двойных слов. Каждый элемент массива может быть представлен в двоичном, восьмеричном, десятичном либо шестнадцатеричном виде. Также он обеспечивает операции заполнения по повторяющимся образцам, выполнение произвольной логической функции над каждым элементом массива, разнообразную работу с 4мя типами блоков и работу с clipboard’ом. Также обеспечиваются функции сохранения блоков и clipboard’а.

Меню включает: отменить последнее редактирование, снять/начать/закончить выделение, операции с clipboard’ом, заполнить блок значением, логические операции, поиск, различные переходы и сохранение выделенного участка или clipboard’а.

Отдельно остановимся на логических операциях Logic. В вашем распоряжении три пункта:

Logic действует на выделенный фрагмент и осуществляет простую (однострочную) операцию. Например, операция @&$ выполнит операцию «»И»» (&) над каждым значением выделенного фрагмента (@) и адресом этого значения в буфере ($).

Logic script позволяет написать последовательность различных операций над разными участками буфера и сохранить этот скрипт.

Полное описание логических функций можно получить, нажав F1 на соответствующем пункте.

Logic action позволяет активизировать сохраненный вами скрипт предыдущего пункта или запустить готовые скрипты, входящие в поставку Uniprog plus. Кстати, последние вы можете исправить или использовать как пример. Опишем эти скрипты:

Random Fill заполнение буфера или выделенной части случайными числами с заданной начальной установкой генератора случайных чисел. Каждое значение определяет уникальную последовательность псевдослучайных чисел;

And with Clipboard, Or with Clipboard, And with Random,Or with Random операции «»И»», «»ИЛИ»» буфера с Clipboard (временным буфером) или с случайными числами.

Summ of Buffer/Block подсчитывает контрольную сумму буфера или выделенной части и выводит ее на экран;

Pad buffer with Summ подсчитывает контрольную сумму буфера и записывает ее в последние четыре байта буфера;

Check buffer with Summ проверяет контрольную сумму буфера на соответствие последним четырем байтам буфера.

Модуль редактора ПЛМ проще бинарного в смысле возможных операций, но позволяет просматривать содержимое ПЛМ в виде набора матриц (И, ИЛИ, НЕ и т.д.)

Выбор типа ПЗУ. Select PROM

Вид данного меню полностью зависит от конфигурационного файла. Данное меню предназначено для выбора типа программируемого ПЗУ. В любом из подменю данного меню возможно появление пункта «Autodetect» при выборе этого пункта будет произведена попытка автоматически определить тип ПЗУ.

В модулях FLASH и 27хх при выборе этого пункта сразу предлагается автоопределение, которое можно отменить, нажав клавишу Esc.

Разнообразные действия с ПЗУ. Programming PROM

Программирование, разнообразные проверки(на чистоту/возможность допрограммирования/совпадение с буфером), а также возможные дополнительные действия (стирание, запись бита защиты и т.д.).

Замечание: При начальном входе в UniProg Plus не открыто ни одного окна, поэтому, пока Вы не откроете окно (буфер), будут выполняться только операции, не требующие оного (например, проверка на чистоту и стирание), иначе будет появляться сообщение об ошибке: «»Нет буфера для …»».

Опции. Options

Состоит из трех пунктов: настройка режимов программирования, настройка оболочки Uniprog Plus и добавление/редактирование конверторов.

Programming настройка режимов программирования модуля осуществляется через диалог, полностью зависящий от программирующего модуля, где задаются алгоритмы программирования (или автоматически через автоопределение). Например, модуль программирования УФ ППЗУ серии 27xx поддерживает 18 режимов программирования различных фирм. Также задаются опции программирования и контроля, редактирование Edit (позволяет задать произвольные параметры для всех переменных алгоритма программирования) и т.д.

Новые модули, такие как FLASH и сериальных ПЗУ, не имеют в опциях выбора диапазона програмирования, т.к. этот диапозон можно определить обычным выделением в буфере.

Environment разные тонкие настройки, которые лучше не трогать, за исключением Screen Size количество выводимых строк на экран.

При снятии флажка с Disable automatic autodetect у вас будет срабатывать автоопределение микросхемы автоматически при входе в соответствующее меню выбора микросхемы. Рекомендуем снять этот флаг после юстировки напряжений и в случае качественного срабатывания автоопределения.

Transfer/Convertors через этот пункт можно подключить конверторы. Как указывалось ранее, в поставку Uniprog plus входит конвертор HEX файлов, поэтому, если выбрать данный пункт, то выскочит диалог, в окне Select convertor которого будет значиться всего один источник Hex Source для конвертирования HEX файлов. Как очевидно из пунктов меню, можно добавить(Add), удалить(Delete) или отредактировать(Edit) соответствующие конверторы.

Прежде всего поясним, что подключенный конвертор просто вызывает программу, которая как раз и конвертирует файл в бинарный вид. Для НЕХ файлов в данном случае вызывается программа xcvt из директории UTILS. Эта программа достаточно мощная и позволяет делать с файлом различные операции (конвертирование HEX (а также MOT и MOS) файлов это частная операция xcvt) .

Чтобы подключить конвертор, надо нажать Add; если вы стоите на какомлибо подключенном конверторе, то ввод нового будет осуществляться по шаблону предыдущего простой редакцией. Понять настройки можно, зайдя для начала в конвертор HEXа кнопкой Edit.

Menu string : ~H~ex Source строчка, которая войдет в меню File Source, две тильды выделяют букву красным цветом и является горячей клавишей.

Description : > Bin convertor описывает действие в подсказке (появляется в самой нижней строке экрана).

Window title: Hex заголовок открывшегося окна.

Src file ext: hex расширение файла.

Окно внизу – вызов соответствующих программ, возможно с параметрами, для конвертации. В данном случае utils\xcvt hex2bin %i %o .

Кнопка Active nodes позволяет подключить выбранный конвертор к любым программирующим модулям.

Более подробное описание можно посмотреть, нажав клавишу F1 в этом окне.

Операции с окнами Windows

Стандартный набор передвинуть/масштабировать/распахнуть/восстановить окно, следующее/закрыть/разложить/выстроить окна.

Некоторые горячие клавиши

Вопервых, если нажать клавишу ALT и букву, выделенную красным цветом, то выберется то меню (самая верхняя строка), где эта буква помечена. Внутри меню, чтобы выбрать соответствующий пункт, достаточно просто (без ALT) нажать соответствующую красную букву.

Стоит упомянуть также о клавишах:

AltF10 вызов локального меню, для изменения системы счисления, размера шины данных и т.д.

Alt0 вызывает список всех окон, в том числе и удаленных. Правда, пользоваться этой операцией надо аккуратно, т.к. эти окна имеют размер той ПЗУ, для которой он был вызван.

CtrlF10 вызывает строку меню последней операции.

Список всех горячих клавиш можно посмотреть по клавише F1(при НЕ активизированном меню) в разделе «»Горячие_клавиши_Uniprog_Plus»».

Заключение

Мы хотим попросить прощения за русскоанглийский (с диалектами!!) стиль оформления Uniprog’а, – увы, разработчики не смогли найти общий язык … Мы очень надеемся, что в ближайшем будущем мы все же сможем найти такой язык (возможно, это будет Эсперанто, кто знает!.. 🙂

Справедливости ради надо сказать, что терминологические понятия мы и не хотели переводить, иначе возникла бы путаница, однако общие понятия мы в дальнейшем будем русифицировать.

Мы будем очень признательны Вам за любую информацию об удачных и особенно неудачных попытках программирования микросхем, а также о любых ошибках, которые обнаружатся в программном обеспечении. Мы также заинтересованы в любых предложениях от Вас. Ваши предложения и замечания Вы можете донести до нас по телефону (факсу) (095) 1808598 или по email’у: mail@microart.ru или roman@mcst.ru или высказаться в конференции на сайте www.programmator.ru .

Программа Тест.

Перед запуском теста НЕОБХОДИМО извлечь из программирующих панелек все, что туда случайно попало.

Тест и настройка программатора осуществляется либо непосредственно из оболчки Uniprogа выбором в самом верхнем меню «»Select Config branch»» пункта «»Extra»»>»»Hardware test»». При этом если вы в первый раз зашли сюда то необходимо в пункте «»Select PROM»» выбрать «»Test»». Также запустить тест можно запустив файл test.bat, в котором содержится команда: uniprog nctest.cfg !test %1 %2 %3 %4 %5 %6 %7 %8 %9, суть которой подгрузка UniProg’ом отдельного тестового модуля (аналогично подключаются собственные модули, написанные пользователем). Поэтому внешний вид программы ничем не отличается от основной программы Uniprog plus, но при этом реально доступны два раздела меню Programming PROM и Options.

Раздел Programming PROM состоит из:

Автоматический тест осуществляет возможное самотестирование программатора и выдает информацию в Log файл и более полную в файл на диск, если указано имя файла в разделе Options.

Автоматический тест отрабатывает следующие проверки:

• Проверка ввода данных непосредственно через D1 проверка ввода данных c быстрым переключением XI4 как 01, так и 10. Определяем задержку после вывода в системный порт D29, при этом прописываем(D6.B) и читаем(D5.A) шину данных с панельки.

• Программируем все каналы D4D7 на вывод, прописываем и читаем их. Микросхема 580ВВ55А имеет следующее свойство: после записи значения в любой канал можно считать его. Однако считанное значение может быть шунтировано значением на выходе канала. Тем самым ошибка в этом тесте может быть вызвана неисправностью микросхемы или замыканием выходов канала. Программируем все каналы D4D7 на ввод, читаем состояние выходов каналов. Т.к. все каналы, кроме ЦАПвых, нагружены на TTLсерию, то считанные значения должны быть 0x11111111, или 0x11XXXXXX для ЦАПвых каналов. Любое несоответствие выдает предупреждение (WARNING). Пишем в D6.b и читаем из D5.a. Пишем в D4.b и читаем из D28 верхнюю шину адреса PA8PA15.

• В случае ошибок (error) более полную информацию можно получить, определив имя logфайла. Расширенная информация пока заключается в выдаче неправильно считанного массива полной последовательности чисел 0255 (в шестнадцатеричной и в двоичной системе счисления), выданных в тот или иной порт.

Возможные сообщения:

OK. Тест прошел удачно.

INFO: Информация.

ERROR: Ошибка.

WARNING: Предупреждение. Означает ,что в процессе тестирования получены нежелательные данные. Но при этом программатор скорее всего работоспособен (эти места проверяюстся при наладке, при отлаженном программаторе можно эти сообщения игнорировать).

Юстировка напряжений E1E4 необходима для коррекции напряжений ЦАПов после транзисторов. Это вызвано разбросом параметров резисторов и транзисторов в данной цепи.

В начале вам предлагается ввести (курсором) число от 0 до 63. Это число суть код, выдаваемый на все ЦАПы. Ввиду того, что усилители при максимальном числе 63, как правило, входят в насыщение, то число надо уменьшить, чтобы выйти на линейный участок (т.е. найти те числа, при которых реально изменяются напряжения Е1Е4). Однако надо помнить, что чем меньше введенное число, тем меньше точность коррекции. Предлагаем понижать (курсором) число до тех пор, пока не начнут понижаться напряжения Е1Е4. Далее нажать ENTER и тестером замерить напряжения на выходах транзисторов (VT33VT36) или непосредственно на панельках сигналы Е1Е4 и занести их в выпавшую таблицу. Значения напряжений могут вводиться с точностью до одного десятичного знака и не должны превышать значения 25.4 . После нажатия «»Ok»» коррекция напряжений будет записана в файл unip.aux в строчку es.fixes .

Check device осуществляет вывод различных тестовых диаграмм, позволяющих отладить программатор с помощью осциллографа:

• Диаграммы адреса и данных выдается цикличная возрастающая последовательность чисел на шину данных или на разные части шины адреса. Можно выдавать как логические, так и высоковольтные уровни, что позволяет отловить замыкание транзисторов VT1VT28;

Bus active часть шины, на которую выдается диаграмма (Состояние других частей определяется в Options: Bus inactive).

Data восьмиразрядный счетчик на шине данных.

Addr 07 восьмиразрядный счетчик на шине адреса A0A7.

Addr 819 двенадцатиразрядный счетчик на шине адреса A8A19.

Bus voltage Low диаграммы логических уровней. High диаграммы высоковольтных уровней, высоковольтное напряжение E1 определяется в Options: Ex edge value.

• Чтение данных на экран в шестнадцатеричном и двоичном коде выводится состояние шины данных непосредственно на панельке программируемой микросхемы. Замыканием соответствующего разряда на землю можно контролировать правильное чтение шины.

• Вывод в системный порт D1 и одновременное открытие D2 системный порт D1 работает как восьмиразрядный счетчик (т.е. в этот регистр каждый цикл последовательно выдаются числа от 0 до 255), и эти значения проходят через D2. Коммутация мультиплексора D2 определяется опцией Input nibble (см. раздел Options).

• Вывод в системный порт D29 работает как восьмиразрядный счетчик (т.е. в этот регистр каждый цикл последовательно выдаются числа от 0 до 255).

• Ввод/вывод в BB55 Ввод/вывод в любой канал D4D7 и только ввод D28.

Channel канал одной из микросхем D4D7 A,B,C непосредственно канал ввода/вывода Com командный регистр

• Пилообразное напряжение на E1E4 выдает полную пилу на ЦАПы. Т.е. в регистры ЦАПов каждый цикл последовательно выдаются числа от 0 до 255, тем самым на источниках Ex можно наблюдать подряд две пилы (без и с емкостью) и перерыв размером в две пилы за счет последнего разряда, закрывающего ЦАПы. Запрет конкретных Ex и трансляция пилы на шину адреса и данных определяется в Options.

• Перепад Ех с включенной емкостью и без выдает ступеньку на Е1Е4 от 0 до Ex edge value, заданной в Options.

• No capacity источники Ex открываются инверторами D26.2, D26.4, D26.6, D27.2.

• Capacity то же, что no capacity, но с подключенными через D26.1, D26.3, D26.5, D27.1 емкостями.

• DAC time перепад осуществляется непосредственным программированием ЦАПов D8D11.

Раздел Options:

Нас интересует только подраздел Programming, в котором задаются параметры теста:

Testing options: E1E4 разрешить данные источники.

• Bus translate разрешить трансляцию E1 на шины адреса и данных. Используется в диаграммах Пила и Перепад Ех с включенной емкостью и без !!! Опцию Bus translate в таких тестах как Пила и т.д. можно продолжительно использовать только с радиатором на транзисторе VT33(E1).

• Input nibble ввод половинки шины данных: Low нижней, High верхней, Both поочередно. Используется в диаграмме Вывод в системный порт D1 и одновременное открытие D2. При этом системный порт D1 работает как счетчик. Опция Low определяет нижние четыре разряда счетчика, High верхние четыре разряда счетчика и опция Both поочередно, через полный цикл(255), нижние и верхние четыре разряда счетчика.

• Bus inactive неактивное состояние шины. Используется в диаграмме Диаграммы адреса и данных, и выполняет установку не участвующего в диаграмме куска шины в 0 или 1.

• Log file name: Имя Logфайла, куда попадет расширенная тестовая информация из раздела Тест. Расширение пока заключается в выдаче неправильно считанной полной последовательности 0255(Счетчика) в шестнадцатеричной и в двоичной системе счисления. При этом неправильные (т.е. не по порядку) значения заключаются в квадратные скобки.

• Ex edge value Значение источников Ex, используемые в разделах Перепад Ех с включенной емкостью и без и Диаграммы адреса и данных диаграмм.

• Ldelay Принудительная задержка после выдачи системных сигналов для длинных проводов.

Программа XCVT.

Утилита xcvt расположена в директории UTILS и предназначена для конвертирования и/или объединения/разделения файлов. Утилита воспринимает набор входных файлов и создает из них набор выходных файлов.

Если запустить xcvt, то запустится подробный help этой программы. Здесь мы кратко перечислим основные возможности.

Изза обилия и запутанности опций у программы xcvt даже простейшие команды выглядят не такими уж и простыми. Для облегчения жизни пользователям был сделан механизм макрокоманд, а для хранения этих макрокоманд был сделан конфигурационный файл(по умолчанию это ‘xcvt.cfg’). При этом зачитываются опции (глобальные), определения макрокоманд и установки, разбирается командная строка (+ подставляются макрокоманды) При чтении файла сначала он пропускается через ANSI C препроцессор. При подстановке макрокоманд дополнительно распознаются и подставляются специальные встроенные подстановки.

Конвертор поддерживает ряд форматов файлов:

• Бинарный: обычный файл.

• Текстовые форматы. Это форматы hex, mot и mos (Intel hex, Motorolla и MOS Technology). Диапазоны и их количество для этих файлов неявно заложены в их структуре и извлекаются оттуда.

• Тэгированный файл. Бинарный файл, который тем не менее хранит в себе информацию о диапазонах.

Приведем примеры использования встроенных макросов:

Макрос hex2bin: преобразование из Intel HEX файла в бинарный

xсvt hex2bin <входной hex файл> <выходной bin файл>

Макрос bin2hex: преобразование из бинарного в Intel HEX файл

xсvt bin2hex <входной hex файл> <выходной bin файл>

Макрос w2b: разрезание словного файла на байты

xсvt w2b <входной словный файл> <выходной байтовый (мл. байт)> <ст. байт>

Макрос b2w: слияние 2х байтовых файлов в словный файл

xcvt b2w <входной байтовый (мл. байт)> <ст. байт> <выходной словный файл>

Макрос split: разрезание файлов на части

xCvt split <входной файл> <выходной> <размер>

В заключение приведем два примера операций с файлом из сотни возможных:

Разделение файла слов на 2 байтовых файла:

xcvt s0,1 inp.bin o s0 outlo.bin s1 outhi.bin

Перестановка байтов в слове местами:

xcvt s0,1 inp.bin o s1,0 out.bin

Uniprog Development Kit (UDK).

Как указывалось ранее, собственный модуль для прожига ПЗУ(или тест микросхемы) может написать каждый пользователь, владеющий языком «Си». Для этого в комплект программы Uniprog Plus входит пакет Uniprog Development Kit.

Подробно описать все функции Uniprog Development Kit мы планируем в отдельной брошюре (пока см. Help в каталоге UDK). Поэтому очень кратко остановимся на общих принципах взаимодействия пользователя с этим пакетом(см. блоксхему).

Блоки: «»программирующий модуль»», «»модуль редактора»», «»модуль автоопределения»» и «»конфигурационный файл»» доступны пользователю при написании собственной программы программирования.

«»Программирующий модуль»» содержит собственно программу прожига, проверки и т.д и использует разнообразные функции ядра Uniprog. При этом можно оперировать логическими понятиями шины адреса, данных и управляющими сигналами, не вдаваясь в физическое устройство программатора.

«»Модуль редактора»» также использует функции ядра Uniprog и позволяет написать собственный редактор. Необходимость в этом возникает, когда отображение содержимого микросхемы удобно представить в необычной форме. Написание собственного редактора процесс достаточно сложный, но для большинства микросхем достаточно уже написанного бинарного редактора, а также редактора для отображения различных микросхем ПЛМ.

«»Конфигурационный файл»» делится на две части.

Первая часть содержит данные для прожига конкретных микросхем из семейства, поддерживаемого программирующим модулем, и передает их этому модулю при выборе в программе этой микросхемы.

Вторая часть содержит собственно описание некоторых «MENUшек» в программе Uniprog Plus: выбор микросхем, различные проверки, собственно прожиг, стирание(если необходимо) и т.д.

В заключение необходимо отметить, что программа Uniprog Plus бурно развивается как в сторону увеличения количества программирующих модулей, так и в сторону «интеллектуализации» пакета UDK, что позволит упростить написание собственных модулей.

Схема Uniprog.

С помощью шины данных и сигналов управления, идущих с компьютера, программируются четыре микросхемы Д4–Д7. На выходе этих микросхем формируются сигналы, которые через соответствующие буферные каскады подаются непосредственно на панельки для программирования. На адресное пространство программируемой микросхемы сигналы Р0–Р7, Р16–Р23, Р32–Р35 подают высокое напряжение Е1, а сигналы Р8–Р15, Р24–Р31, Р36–Р39 — логические уровни. На шину данных программируемой микросхемы сигналы Р48–Р55 подают высокое напряжение Е1, а сигналы Р56–Р63 – логические уровни. Сигналы Р64–Р69, Р72–Р77, Р80–Р85, Р88–Р93 через ЦАПы D8–D11 и усилители формируют значения напряжений Е1–Е4 соответственно. Сигналы Р71, Р79, Р87, Р95 запрещают напряжения Е1–Е4; сигналы Р70, Р79, Р86, Р94 сглаживают фронты этих напряжений. Через линии Р40–Р47 можно прочитать данные программируемой микросхемы.

Основным звеном схемы программатора является многофункциональный коммутатор. Рассмотрим коммутатор, выходящий на линию PD0. Нижнее звено D23.1 и D25.1 предназначено для коммутации логического сигнала Р56. Верхнее звено D21.1 и VT21 для коммутации высокого напряжения Е1. Диод VD 29 нужен для отсечки напряжений Е1, меньших 5 v, чтобы обеспечить качественное чтение PD0 через Р40. Диод VD 21 предохраняет регистр 580 ВВ55А от высоких напряжений.

Коммутаторы на шине данных PD используют мощный транзистор типа КТ973, обеспечивающий импульсный ток до 1А, что необходимо для программирования, например, микросхем 556РТхх, 1556хх. Другая шина, часто используемая как адресная, таких токов не требует. Поэтому коммутатор, хоть и выполняет эту же функцию, но устроен несколько проще. Так, например, если на Р0 и Р8 подать запрещенную комбинацию 0 и 0, которая одновременно откроет транзистор VT1 и D15.1, то резистор R1.2 не допустит выгорания D15.1. Коммутатор на PD0, как видно из схемы, запрещенной комбинации не допускает. Нижние восемь рядов РА0 РА7 шины адреса также допускают чтение через VD1VD8 и D28 для программирования микросхем с совмещенной 16ти разрядной шиной адреса и данных.

Как видно из устройства коммутаторов, на любую линию шины адреса или данных (или на несколько сразу) можно вывести высокое напряжение Е1, и при этом другие линии независимо могут иметь логические уровни.

Кроме 20ти разрядной шины адреса и 8ми разрядной шины данных, существуют четыре программируемых источника напряжений Е1Е4. При этом Е1, как указывалось выше, служит высоким напряжением независимых коммутаторов шины адреса и данных. Четыре мощных независимых линии напряжения программирования управляются с помощью ЦАП 572ПА1, что позволяет автоматически устанавливать эти напряжения при выборе в программе нужной программируемой микросхемы. Все четыре источника имеют одинаковую схему: ЦАП на базе 572ПА1 (включенный несколько нестандартно), в зависимости от цифрового кода, обеспечивает через усилитель нужное напряжение. Сигналы ЕN1EN4 (от D26 и D27.1/D27.2) либо совсем выключают ЦАПы, либо подключают емкости С1С4, обеспечивая более пологие фронты при перепадах сигнала. Нужно заметить, что транзисторы на выходе усилителей должны быть достаточно высокочастотные (граничная частота > 20 МГц). Это необходимо для качественного функционирования обратной связи (а значит, обеспечивается стабильность напряжения на выходе) в условиях переменной нагрузки, которая возникает при работе с микросхемами, потребляющими разные токи в разных режимах (например, потребление микросхемы 556РТхх при чтении ячеек с кодами 0xFF и 00х0).

Управление всеми коммутаторами и источниками Е1Е4 осуществляется программированием через LPTпорт микросхем 580 ВВ55А. При этом все каналы, кроме D5.А, программируются на вывод, а D5.А на ввод для чтения шины данных. Как известно, стандартный LPTпорт имеет однонаправленную шину данных, поэтому чтение данных осуществляется с помощью мультиплексора D2 через четыре информационные линии. Транзистор VT4 улучшает работу в условиях помех. Здесь стоит заметить, что на старых IBM платах, где нет ECP/EPP порта (386 или 486 с VLB шиной), кабель, соединяющий плату Uniprog и LPTпорт, должен быть не более 1 м, и каждый сигнальный провод должен быть отделен один от другого заземленным проводом. Для остальных плат в Setupе желательно выставить порт LPT в ECP/EPP( как правило, раздел CHIPSET FEATURES SETUP или INTEGRATED PERIPHERALS).

Осталось только указать, что C8 и D24 служат для начального сброса портов D4D7, стабилитроны VD39 и VD40 формируют опорное напряжение для ЦАПов, а кварц Q1 необходим для программирования микроконтроллеров i87с5х, at89с5х.

На плате программатора, как видно из монтажной схемы, расположен набор посадочных мест под панельки многоразового пользования. Этот набор обеспечивает программирование серий: 27xx, 28xx, 29xx в DP7DP9; 556PTxx в DP2DP5; 1556хх, 89C1(2)051 в DP6; 155 PE3 в DP1; 8748(49) в DP10 и 8Х5х в DP11. Другие типы микросхем можно “уложить” в имеющиеся панельки, но рациональнее использовать внешний разъем Х2, к которому можно подключить любую плату с панелькой под конкретную серию, а также использовать нестандартные панельки под корпуса, например, типа PLCC.

Разъемы.

Разъем Х1 предназначен для подключения программатора через кабель к IBMсовместимому компьютеру на интерфейс Сentroniсs (разъем принтера). Шлейф распаивается «»один в один»», т.е. iй контакт шлейфа с одной стороны разъема соединяется с iм контактом разъема с другой стороны шлейфа (см. также раздел «»Замечания»»).

На разъем Х2 выводятся все сигналы для программирования всех микросхем.

Через разъемы Х3 (выполненный в виде наплатного SG5) или Х5 (аналогичный тому, что на плате ПК типа IBM) поступают напряжения питания +5V, –5V и программирующее напряжение +27V – +30V (их можно получить от блока питания для ПК типа IBM с переделкой, описанной ниже).

Настройка и рекомендации.

Т.к. схема достаточно “линейна”, то настройка не представляет труда. Наиболее эффективно отстраивать плату с помощью тест программы test.bat (такая программа содержится на прилагаемой дискете). Первый этап теста лучше всего начать с пункта «Автоматический тест», где легко локализовать неисправность.

В разделе «Check device» имеются различные тесты, которые помогут с помощью осциллографа определить неисправное звено. Например, в одном из тестов на линии РА0–РА19 и РD0–РD7 подаются поочередно логические уровни 0 и 1 с возрастающим интервалом (счетчик). Параллельно с помощью осциллографа имеется возможность наблюдения за этими уровнями на одной из панелек или на дополнительном разъеме. Если гделибо сигнала не наблюдается или меандр с неравномерной скважностью (замыкание между сигналами), то легко последовательно проследить всю логику вплоть до разъема Х1 и выявить неисправности. Также можно открывать линии РА0–РА19 и РD0–РD7 через транзисторы VT1–VT28 для высокого напряжения. Тест «Пила» в портах D6.С, D7.A, D7.B, D7.С циклически увеличивает данные, при этом на выходе ЦАПов и усилителей получается пилообразное напряжение. Тест «Чтение данных» читает с порта D5.A данные и выводит число на экран. В нормальном состоянии на экран выводится число #FF (в десятичном виде 255). Далее путем замыкания любого данного на одной из панелек с землей (на всякий случай через небольшой резистор ~ 20 Ом) должно наблюдаться изменение числа на экране. Например, если D0 замкнуть на 0, то на экране появится #FE(254). Если этого эффекта не наблюдается, то опять по цепочке выходим на неисправную микросхему, обрыв или замыкание.

Тесты имеют различные настройки в разделе Options, подробнее о каждом тесте и опциях можно узнать через контекстный Help (справка) в программе.

Замечания:

o Для качественного программирования ПЗУ не пожалейте блокировочных конденсаторов на все питания.

o !!! Рекомендуем настройку начинать с выключенным высоким напряжением +27v, т.к. возможные замыкания или некоторые неисправные элементы могут повлечь выгорание других элементов. !!! Опцию Bus translate в таких тестах как «»Пила»» и т.д. можно продолжительно использовать только с радиатором на транзисторе VT33(E1).

o У разных программаторов изза разброса параметров элементной базы напряжения Е1Е4 могут несколько отличаться. В Uniprog Plus осуществляется коррекция этих напряжений посредством программы test.bat (раздел «»Юстировка напряжений E1E4″»).

Замечания.

К плате 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 последовательного типа (т.е. для всех серий, кроме PIC165258) осуществляется при помощи пяти проводов (например, на разъеме Х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)

Программирование параллельного типа (т.е. для серии PIC165258) осуществляется при помощи семнадцати проводов:

Программатор —> PIC16x5258

PA8 INCPC (OSC1)

PA9 PROG/VER (T0CKI)

PD07 D4D11 (RB0RB7)

PA03 D0D3 (RA0RA3)

E4 MCLR

E2 Vcc (Питание)

GND GND (Земля)

Распределение памяти для модуля PIC в бинарном виде представлено в следующем виде:

с нулевого адреса память программ, далее память данных(если она есть) в словном размере и в конце восемь слов: первые четыре ID, далее 5,6,7е зарезервированные слова(в 7м слове в новых микросхемах содержится идентификационный код) и, наконец последнее слово конфигурационное. Т.е. :

0 size_addr1 память программ;

size_addr size_data1 память данных;

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 (и более), т.е. дополнительные A16A23 а также A1. В ближайшее время ПО будет поддерживать этот регистр (поэтому пока можно программировать эти ПЗУ блоками по 64к).

К модулю ПОСЛЕДОВАТЕЛЬНЫХ ПЗУ и AVR.

Последовательные ПЗУ в основном имеют не более 8 выводов, назовем их P1P8, поэтому для программирования было решено использовать шину данных PD0PD7. Т.е. к соответствующему выводу микросхемы P (DIP корпуса) подключается соответствующий сигнал PD (PD0>P1, PD1>P2, …, PD(x1)>Px) ). При этом на тот вывод где земля (GND) подается логический 0, а где питание 1, напряжение Е1 выставляется на «»напряжение питания»» + 0.5v (с поправкой на падение на транзисторах). Дополнительно на Е2 выставляется точное напряжение питания, чтобы можно было непосредственно подключить его на P=Vcc (обычно вывод P8). А также на один (или несколько) из адресов шины PA0PA7 соответствующему P=GND, подается логическая 1 для возможности подключить «»землю»» через полевой Nканальный транзистор (т.е. PA(x1)>транзистор>Px=GND) следующим образом:

Px

например IRF7303

PA(x1)

GND

Такое подключение земли более корректно, чем через PDx (где логический ТТЛ уровень 0), но никто не мешает непосредственно заземлить соответствующий вывод GND микросхемы.

Для подключения последовательных ПЗУ планируется выпустить переходную панель с распиновкой:

Программатор > ПЗУ

PD0 PD7 P1P8

E2 через полевой Pтранзистор P8 (управления пока нет)

PA2 PA4 через полевой Nтранзистор P3P5

Приведем примеры подключения СТАНДАРТНЫХ микросхем следующих серий:

Подключение серии 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.503.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) до 2030pf.

Для микросхем i87C5x/51Fx/51Rx/51GB, i87C51SL и вообще с FXCore необходимо к выводу 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 совместимому компьютеру убедитесь, что у вас правильно настроен сигнал маскируемых прерываний процессора – он должен иметь длительность 810 мкс. В противном случае у микросхем, критичных к параметрам программирования (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в для 276427512, 32в для 27010 и выше) подать напряжение E2. (При этом также появляется возможность программирования и чтения плавающих бит. Однако изза ненадежности работы микросхем, прошитых этим алгоритмом, он не включен в стандартный набор. Тем не менее вы можете его осуществить «»вручную»».)

Для programmator (не путать с Uniprog) версии 2.603.00:

Эти платы необходимо привести к плате programmator 2.50, отличиея небольшие:

Номер контакта DP7 Разводка V2.50 Разводка V2.603.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_766415), 556РТ6,

556РТ7А, 556РТ18(HM_776615) 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

C1C4 KM5б390 pF КМ5а, КМ6, К1017Б 4 Uраб.>=6.3v

C5, C6 KM5б20…30 pF КМ5а, КМ6, К1017Б 2 Uраб.>=6.3v

C7, C10 KM5б0.471 mF КМ5а, КМ6, К1017Б 3 Uраб.>=6,3v

C8 KM5б47 nF КМ5а, КМ6, К1017Б 1 Uраб.>=6.3v

C11 KM5б47 pF КМ5а, КМ6, К1017Б 1 Uраб.>=6.3v

C9 KM5б1 mF КМ5а, КМ6, К1017Б 6 Uраб.>=35v

1. Все конденсаторы керамические серии КМ.

2. Необходимо установить 6 блокировочных конденсаторов, на схеме не указанных. На шину +5V и –5V Uраб.>=6.5V. На шину 30V Uраб.>=35V. Эти конденсаторы устанавливаются в непосредственной близости от выводов питания элементов D14D17, D18 D24, D8D10 и шиной 30V.

D1 КР555АП6 74LS245 1

D2 КР531КП11 74S57 1

D4D7 КР580ВВ55А 8255A 4 Но не 82С55!

D8D11 КР572ПА1 4

D12, D13 КР574УД2А (Б) 2

D14D20, D25D27 КР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, D14D29 любой серии ТТЛ (155, 1531, 1533).

2. Микросхемы D4D7, D8D11, D14D22, D25D27 желательно устанавливать на соответствующие панели DIP16 и DIP40 серий SCS и SCL.

R1R4, R7, R9 МЛТ0,1252 kOm ОМЛТ, C14, C223 48

R5, R6, R8, R62 9A102J НР148М 4 Сборка резисторная 1 kOm

R10R37 МЛТ0,125470 Om ОМЛТ, C14, C223 27

R38R41, R59, R61, R67 МЛТ0,1251 kOm ОМЛТ, C14, C223 7

R42R45 МЛТ0,1253.3 kOm ОМЛТ, C14, C223 4

R46R49 МЛТ0,125270 Om ОМЛТ, C14, C223 4

R50R53 МЛТ0,125510 Om ОМЛТ, C14, C223 4

R54R57 МЛТ0,125100 Om ОМЛТ, C14, C223 4

R65 МЛТ0,125390 Om ОМЛТ, C14, C223 1

R66 МЛТ0,1252 kOm ОМЛТ, C14, C223 1

R68 МЛТ0,1251.2 kOm ОМЛТ, C14, C223 1

1. Все резисторы постоянные серий МЛТ, С14. Номинальной мощностью не менее 0,125 Вт.

2. Резисторы R1R4, R7, R9 устанавливаются вместо резисторных сборок RDIP (8 отдельных параллельных сопротивлений).

Q1 РК169 МА – 6 В С 4 MHz РПК01 – 4 MHz 1

VD1VD20, VD41 КД522 21

VD21 VD36 КД510 16

VD37, VD38 АЛ307 2

1. Диод VD37 зеленого цвета свечения.

2. Диод VD37 красного цвета свечения.

VT1VT20 КТ361Г 20

VT21VT28, VT3740 КТ973А (В) 12

VT29 VT32 КТ972А (В) 4

VT33 VT36 КТ805АМ 4

VT41 КТ315Г 1

X1 DRB25FA DRB25FB 1

X2 ОНПКГ5640В53 1

X3 ОНЦВГ45/16 1

1. Разъем X2 возможно заменить штыревым разъемом PLD – 40.

2. Разъем X3 наплатный.

3. Возможна любая замена с аналогичными (близкими) параметрами.

DP1, DP3 PC1161 2

DP2 PC1181 1

DP4, DP9 PC1247 2

DP5, DP8 PC1287 2

DP6 PC1201 1

DP7 PC1327 1

DP10, DP11 PC1407 2

Все элементы допускают замену на аналогичные и с улучшенными параметрами.