Предлагаемое устройство разработано как приставка к компьютеру на базе микропроцессора
серии Z80, однако его с успехом можно подключить и к порту LPT обычного компьютера.
Имеющийся у автора компьютер "SCHNEIDER CPC464" с процессором Z80A. ОЗУ объемом
64 Кбайт и встроенным кассетным лентопротяжным механизмом имеет разъем расширения, предназначенный для соединения с
дисководом и другими дополнительными внешними устройствами. Именно к этому разъему было решено подключить адаптер
программирования микросхем FLASH-памяти 28F256A, собранный по схеме, изображенной на рис. 1. У контактов разъема XS2 адаптера указаны в скобках номера выводов программируемой
микросхемы в корпусе PLCC-32.
На микросхемах DD1, DD2, DD4, DD5 собран дешифратор адреса и сигналов управления. Для
упрощения устройства анализируется состояние не всей шины адреса, выведенной на разъем расширения, а только линии А0, А1
, А5 и А7. В данном случае этого достаточно для исключения ложной дешифрации. Сигналы с выходов элементов DD5.2-DD5.4
разрешают соответственно работу программируемой микросхемы (СЕ), запись в нее (WE) и чтение (ОЕ). На выходе элемента
DD4.4 формируется импульс в регистр DD3 информации выведенной компьютером на шину данных разъема расширения. Импульс с
выхода элемента DD1.3 управляет перезаписью информации из регистра DD3 в регистр DD6.
Запись-чтение состояния шины данных программируемой микросхемы выполняется при обращении
программы соответственно к порту вывода или ввода по адресу 0F8F8H. Текущий адрес ячейки памяти программа заносит в
регистры DD3 (младший байт) и DD6 (старший байт). Для записи в регистр DD3 достаточно обратиться к порту вывода по
адресу 0F8F9H. В регистр DD6 информацию заносят в два приема: сначала ее записывают в регистр DD3, а затем, обратившись
к порту по адресу 0F8FAH, перенося в регистр DD6. Имеется возможность совместить операции переноса старого содержимого
регистра DD3 в регистр DD6 с новой записью в регистр DD3. Для этого программе достаточно обратиться к порту вывода по
адресу 0F8FBH.
Изготовленный адаптер изображен на рис. 2
. Рядом с ним находится переходная плата с панелью для программируемой микросхемы. Выводы установленной рядом с
панелью микросхемы служат лишь опорными стойками для вывода питания. Монтаж адаптера - навесной, выполнен эмалированными
проводами диаметром 0,51 мм, проложенными кратчайшим путем. После проверки монтаж залит бесцветным лаком. Розетки XS1 и
XS2 изготовлены из подходящих разъемов с другим числом контактов путем их обрезания и склеивания.
Программа управления программированием для компьютера СРС464 (
табл. 1) написана на встроенной в этот компьютер версии языка BASIC. Предназначенную для
загрузки в программируемую микросхему информацию необходимо предварительно занести в буфер, начинающийся с ячейки,
значение адреса которой (10000) присваивается переменной N в строке 210 программы. Перед началом стирания или
программирования необходимо подать на FLASH-микросхему напряжение +12 В, а по завершении этих операций выключить его.
При выборе режима "Чтение" содержимое памяти запрограммированной (или подлежащей
программированию) микросхемы переносится в буфер, начинающийся с адреса, значение которого присвоено переменной А в
строке 360 программы. В рассматриваемом случае адреса буферов записи и чтения одинаковы.
Чтобы подключить адаптер к разъему порта LPT компьютера IBM PC, необходимо изготовить
переходник по схеме, показанной на рис. 3.
Программа для такого компьютера приведена в табл.
2. Для ее запуска подойдут интерпретаторы языка BASIC , входившие в комплекты поставки MS DOS и ранних версий
Windows. Программа несколько сложнее предыдущей, так как некоторые действия, выполнявшиеся аппаратно, пришлось
реализовать программным способом. Кроме того, в связи с излишне высокой в данной ситуации скоростью работы компьютера
пришлось ввести программные задержки, чтобы обеспечить достаточные интервалы времени для завершения внутренних операций
в микросхеме FLASH-памяти.
От редакции. Упомянутые в статье программы находятся на нашем FTP-сервере по адресу <ftp://ftp.radio.ru/pub/2005/12/flash.zip>