Рефераты. Разработка программатора микросхем ПЗУ






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

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

Универсальный программатор 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), Intel-Status (все остальные семейства INTEL использует статусный регистр) , Polling (например, микросхемы фирмы AMD), Polling-Page (например, микросхемы серии 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), SGS-Tomson (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: W27E257-040,                SST: SST27SF256-020

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

155РЕ3, 74S571, 556РТ4 - 7, РТ11-17

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

ПЛМ   556 RT1 /RT2

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

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

Intel                    I874x, I875x,

Atmel                  At89C5xAt89S8252, 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/ 6264-040, 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/64-256 и 27512

DIP32->PLCC32 для 27/28/29/010-040 и 28/29512 и 27080

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

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

DIP40->PLCC44 для 87/895x

DIP40->PLCC44 для 27/28/291024-4096 этот переходник разведен на будующее, когда появится соответствующая панель для 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 .

       По клавише Alt-F10 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 .


Замечание: программное обеспечение работает под MS-DOS и осуществляет самостоятельный доступ к LPT - порту, поэтому Uniprog plus не будет работать под Windows NT если вы не поставили необходимого драйвера - файл uwdinst.exe. Если вы работаете под Windows 95/98, то желательно  работать в режиме "эмуляция MS-DOS". Но допускается работать и под 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

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.