Willem Prog, ByteBlasterMV и Тестер мелкой логики — неотъемлемые инструменты для сборки ретро- компьютеров и периферии

Во время ремонта или сборки реплик старых микрокомпьютеров невозможно обойтись без нескольких вещей:

  • программатора ПЗУ;
  • тестера мелкой логики (для проверки исправности логических микросхем низкой степени интеграции);
  • кабеля для загрузки конфигураций в микросхемы программируемых логических матриц (ПЛМ, CPLD), а так же программируемых логических интегральных схем (ПЛИС, FPGA).

Я собирал эти устройства вручную по мере необходимости в 2011 — 2012 годах.

Программатор микросхем ПЗУ

Одной из важных и неотъемлемых частей электронно-вычислительной машины (ЭВМ) является постоянное запоминающее устройство (ПЗУ), способное хранить данные при отсутствии питания. В ПЗУ, зачастую, находится самое базовое программное обеспечение, необходимое для начального запуска ЭВМ. Это может быть как базовая система ввода-вывода (BIOS), программа «Монитор», загрузчик с внешнего периферийного устройства (перфосчитывателя или магнитной ленты) или интерпретатор языка программирования высокого уровня (в 1980-х в домашних компьютерах был популярен язык Basic). А в ПЗУ микроконтроллера хранится микропрограмма, выполнение которой происходит после подачи питания.

Технологии тех лет позволяли производить наряду с масочными ПЗУ (записываемая информация формируется путем наложения маски при травлении одного из слоёв микросхемы на этапе производства кристалла) и однократно программируемыми ПЗУ (программирование производится посредством пережигания плавких перемычек внутри микросхемы), так же и перезаписываемые микросхемы ПЗУ с ультрафиолетовым (УФ) стиранием.

В корпусе перезаписываемой микросхемы (EPROM) имеется окошко из кварцевого стекла, которое пропускает УФ излучение. Сам же кристалл изготовлен по технологии МОП (металл-оксид-полупроводник). При попадании УФ излучения на затвор из оксида кремния, происходит изменение его свойств: заряд с затвора стекает, переводя транзистор в закрытое состояние.

Количество циклов стирания/записи невелико. Для микросхемы КС573РФ2 это — до 100 раз, а для К573РФ4А — не менее 25. В среднем, гарантированное количество циклов перезаписи составляет несколько десятков раз.

Запись информации производится путем заряда емкостей затворов МОП-транзисторов при подаче высокого программирующего напряжения. Зачастую, оно составляет 12,7 В или 25 В. Напряжение программирования можно узнать из технической документации к микросхеме. Бывает, что напряжение программирования указывается на маркировке чипа.

Для «прошивки» байта данных в ПЗУ, необходимо на входах микросхемы установить соответствующие логические уровни сигналов. На шине адреса — адрес в адресном пространстве микросхемы ПЗУ, а на шине данных — сохраняемый байт. Запись производится кратковременной подачей высокого напряжения программирования на вывод PGM. Длительность сигнала и напряжение программирования должны соответствовать значениям, указанным в технической документации к микросхеме.

Программирование ПЗУ может производиться как в полностью ручном режиме, так и с помощью программатора, подключаемого к ПК.

Ручной программатор ПЗУ

Одна из схем простейшего ручного программатора для микросхем К573РФ1 (РФ2, РФ5) описана в журнале «Радио» 10/1986 (стр. 33 — 34):

Схема ручного программатора микросхем К573РФ1, К573РФ2, К573РФ5 из журнала  "Радио" 10/1986
Схема ручного программатора микросхем К573РФ1, К573РФ2, К573РФ5 (источник)

Как можно видеть, ручной программатор ПЗУ представляет из себя достаточно незамысловатое устройство.

Установка логических уровней на шине адреса производится тумблерами SA1 — SA11. А установка битов записываемого байта — тумблерами SA12 —SA19.

Индикация битов записанного в микросхему ПЗУ байта по выбранному адресу осуществляется с помощью светодиодов HL0 — HL7 (изображены в правом нижнем углу схемы).

Для записи байта в микросхему ПЗУ, в программаторе присутствует схема формирования импульса программирования длительностью 50 мс. Этот импульс подаётся на вход PGM / VPP программируемой микросхемы. Запуск процесса «прожига» производится с помощью кнопки SB1 «Запись».

Таким образом, запись массива данных в микросхему ПЗУ производится путём перебора всех адресов, которые должны содержать байты отличные от 0xFF, с последующей записью по этим адресам необходимых значений. Развлечение это требует определённого спокойствия, уравновешенности, внимательности и много свободного времени. Спешить здесь не стоит, ибо любая неосторожность может возобновить весь процесс программирования с самого начала (после предварительной очистки микросхемы ПЗУ УФ-лампой).

Так как подобное времяпрепровождение доступно единицам, то для обычного человека более приемлем другой способ — использование программатора, подключаемого к ПК. Именно о таком программаторе и пойдет дальше речь.

Программатор Willem 3.1

Для прошивки микросхем ПЗУ самодельных домашних компьютеров мною был выбран программатор Willem 3.1. Эта версия программатора хоть и является устаревшей, но имеет неоспоримое преимущество при домашнем повторении — используется односторонняя печатная плата.

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

Схема программатора Willem 3.1

Принципиальная схема программатора приведена на следующем рисунке:

Willem 3.1. Принципиальная схема программатора.
Схема программатора EPROM Willem 3.1

Так как программатор Willem 3.1 не имеет встроенного повышающего преобразователя (в отличии от более новых его версий), то необходимо иметь соответствующий источник питания, способный выдать напряжение более 25 В (не забываем о падении напряжения на диодном мосту и линейных стабилизаторах питания). Если планируется программировать микросхемы ПЗУ с напряжением программирования 12,7 В, то источник можно взять и более низковольтный.

Группой DIP-переключателей SW2 устанавливается напряжение программирования и напряжение питания «прошиваемой» микросхемы. Для реализации возможности выбора этих напряжений, в «земляную» цепь линейных стабилизаторов 7812 и 7805 включены диоды и стабилитроны, коммутируемые переключателями SW2.

Управление программатором производится через LPT-порт. Буферизация сигналов осуществляется с помощью неинвертирующих буферов CD4503.

ВНИМАНИЕ! На схеме, одна из микросхем отмечена как CD4053. Это ошибка, так как микросхема CD4053 является не буфером, а 8-канальным аналоговым мультиплексором/демультиплексором. Так что имейте это в виду при покупке деталей при повторении устройства!

Через сдвиговые регистры CD4015 (U6, U11, U14) производится установка адреса, по которому производится запись или чтение данных. А непосредственно запись и чтение записанного байта данных — через двунаправленный последовательно-параллельный сдвиговый регистр CD4014 (U3).

Схема подачи напряжения программирования построена на транзисторах Q3, Q1 и активируется сигналом «STROB», поступающим с LPT-порта компьютера.

Плата программатора Willem 3.1

Как уже отмечалось выше, печатная плата выполнена на одностороннем фольгированном стеклотекстолите:

Топология печатной платы программатора Willem 3.1
Топология печатной платы

Файл печатной платы в формате Sprint-Layout можно скачать здесь.

В этот раз для производства печатной платы в домашних условиях я использовал плёночный фоторезист. Это был один из первых экспериментов с ним. Результат мне не очень понравился. То фоторезист неравномерно приставал и пузыри не выдавливались, то происходило размытие экспонируемого изображения. Да и сам шаблон отпечатанный на лазерном принтере получался не совсем уж и непрозрачным. А про процесс проявления фоторезиста в кальцинированной соде и говорить не хочется…

Как ни крути, но по итогу часть дорожек и полигонов всё-таки пришлось восстанавливать чёрным перманентным маркером:

Вытравленная печатная плата программатора Willem 3.1
Вытравленная печатная плата Willem 3.1

Насколько помню, после сборки выяснилось, что где-то отсутствует дорожка и пришлось её прокладывать отдельным проводом. Так как на момент написания статьи я не имею доступа к программатору, то не могу указать какое именно соединение отсутствовало.

Собранная плата программатора Willem 3.1
Собранный программатор Willem 3.1

Программу для управления программатором через ПК можно скачать здесь. Она достаточно старая, но несколько малоизвестных антивирусов почему-то на неё ругаются. Особенно после упаковки в zip-архив. Не знаю с чем это связано, но используйте этот файл на свой страх и риск!

Для работы программы понадобится так же и старая ОС: Windows 95, 98, ME, 2000, XP. В более новых версиях ОС Windows возможно тоже будет работать, но я не проверял. Может быть даже в Wine под Linux всё будет работать. По крайней мере, в Wine программа устанавливается и запускается, что можно увидеть на скриншотах. Но не исключено, что временные задержки при доступе к LPT-порту могут ощутимо измениться, что приведёт к нарушению длительности импульса подачи напряжения программирования. В любом случае, какая бы ОС не использовалась, лучше предварительно закрыть все сторонние программы, которые могут повлиять на производительность компьютера.

С расположением и назначением перемычек на плате программатора можно ознакомиться на следующем изображении:

Willem 3.1 описание джамперов и сигналов
Описание джамперов и сигналов на плате программатора Willem 3.1

После сборки программатора, необходимо проверить, что все логические сигналы устанавливаются на соответствующих контактах ZIF-панельки. Для этого необходимо переключиться в режим аппаратного тестирования программатора, выбрав вкладку «Test H/W».

DIP-переключатели SW1 необходимо устанавливать в точности, как это указывается на изображении в программе «Willem Eprom Programmer». Так же необходимо ориентироваться на нумерацию переключателей и положение переключателей, соответствующее значению «ON». На разных вкладках программы эти изображения могут отличаться.

Далее, в режиме аппаратного тестирования, берём мультиметр и контролируем напряжение на каждом контакте панельки при установленной и снятой «галочке» в программе. Этот режим так же позволяет проконтролировать выставленное напряжение программирования на выводе VPP.

Кабель для подключения программатора к компьютеру так же был изготовлен вручную. Благо, самый дорогой элемент для его изготовления уже имелся в виде наследства от старого советского матричного принтера. Оставалось только купить разъёмы DB-25 и распаять сам кабель.

Программирование микросхем ПЗУ

Перед прошивкой микросхемы ПЗУ необходимо убедиться в том, что она очищена. Для этого в программе имеется кнопка «Blank test».

Стоит помнить, что запись — это перевод конкретных битов в состояние логического нуля. То есть, если в микросхеме по указанному адресу содержится значение отличное от 0xFF, но часть нужных битов уже прошиты, можно без очистки микросхемы запрограммировать оставшиеся. Для возвращения же хотя бы одного бита в состояние логической единицы придётся очищать всю микросхему полностью.

При программировании микросхем ПЗУ с ёмкостью ниже, чем у 2764, необходимо установить джампер»DIP 24 2732″. Это актуально для микросхем К573РФ2 / РФ5.

После первых запрограммированных микросхем, панелька на плате была заменена на 32-выводную ZIF-панельку:

Программатор Willem 3.1 с ZIF-панелькой
Программатор Willem 3.1 с ZIF-панелькой

Не стоит забывать, что с помощью программатора Willem 3.1 можно так же программировать микросхемы ПЗУ, построенные по технологии EEPROM. В первую очередь, это микросхемы для хранения кода BIOS в материнских платах.

Например, микросхема W27C010 и ей подобные в корпусе DIP-32 можно обнаружить в материнских платах времён «Socket 7» и некоторых более поздних. Одна из таких микросхем в корпусе DIP-32 была успешно применена в ROM-диске самодельного компьютера Орион-128.2, а в ПрофПЗУ (ProfROM) для ZXM-Phoenix — в корпусе PLCC-32.

Очистка микросхем ПЗУ

Для удаления данных из микросхемы ПЗУ с УФ-стиранием, необходимо определённое время облучать кристалл ультрафиолетовым излучением. Давайте разберёмся, какое именно должно быть это излучение.

Во-первых, стоит заметить, что УФ-излучение по длине волны разделяется на три диапазона: UV-A (315 — 400 нм), UV-B (280 — 315 нм) и UV-C (120 — 280 нм). Чем больше длина волны — тем ниже её затухание в атмосфере и другой среде.

Во-вторых, стоит обратиться к документации на микросхемы ПЗУ (в данном случае это 27C256, но применимо и к другим):

The recommended erasure procedure for the 27C256 is exposure to short wave ultraviolet light which has a wavelength of 2537 Angstroms (Å). The integrated dose (i.e., UV intensity c exposure time) for erasure should be a minimum of 15W-sec/cm2.

The erasure characteristics of the 27C256 are such that erasure begins to occur when exposed to light with wavelengths shorter than approximately 4000 Angstroms (Å). It should be noted that sunlight and certain types of fluorescent lamps have wavelengths in the 3000Å — 4000Å range.

The 27C256 should be placed within 1 inch of the lamp tubes during erasure.

27C256 Datasheet

Из полученной информации можно сделать несколько выводов:

  • очистка микросхемы должна производиться УФ-излучением с длиной волны 2537 Å (253,7 нм);
  • стирание данных в микросхеме ПЗУ начинается при облучении длиной волны короче 4000 Å (400 нм);
  • солнечный свет и некоторые типы флуоресцентных ламп включают в себя спектр излучения с длиной волны 3000Å — 4000Å (300 — 400 нм).

Из этого следует, что самым простым способом очистки микросхемы ПЗУ является расположение её под ярким солнечный светом. Как мне говорили, где-то за неделю микросхема будет полностью очищена. Возможно это и неплохое решение при определенных обстоятельствах. Но насколько эффективное не знаю, так как не пробовал.

В документации так же указаны такие параметры как мощность излучения, минимальное время экспонирования и расстояние от лампы до микросхемы, а так же то, что время засветки меняется в зависимости от квадрата расстояния от лампы до микросхемы. Но это мало чем нам может помочь при использовании подручных средств.

Однако, определённый и однозначный вывод мы можем сделать: в качестве излучателя необходимо использовать УФ-лампу диапазона UV-C (она же «бактерицидная лампа»).

В 2011-2012 годах, во время сборки компьютеров Ленинград-3.1 и ZXM-Phoenix, для очистки микросхем ПЗУ мне приходилось использовать имеющийся в наличии аппарат ультрафиолетового излучения Saule, произведённый в Латвии. В народе этот аппарат назывался просто: «лампа для загара» или «лампа для кварцевания комнат».

Внутри аппарата, в металлическом откидном корпусе, установлена лампа ДРТ-125 (мощностью 125 Вт). В качестве балластных резисторов для ограничения тока в лампе, использовались спиральные нагреватели в стеклянных трубках. Эдакое солнышко, которое не только светит, но и греет. Переключателем можно было перевести устройство только в режим обогрева (без зажигания лампы).

При использовании аппарата выделяется большое количества тепла даже на расстоянии метра (номинальная мощность нагревателя в режиме «ИК» составляет 650 Вт, при использовании нагревателей в качестве балласта для УФ-лампы — меньше).

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

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

Использование лампы для загара было явно избыточным. Со временем был использован другой более простой и удобный способ очистки микросхем ПЗУ. Он состоит из 8 Вт светильника для люминесцентных ламп с электронным балластом и «бактерицидной» UV-C лампы:

Очистка микросхем ПЗУ УФ бактерицидной лампой 8 Вт
Очистка микросхем ПЗУ УФ бактерицидной лампой 8 Вт

Микросхемы ПЗУ загружаются в съёмный рассеиватель светильника (линзу Френеля) и вплотную прижимаются к лампе путем закрытия рассеивателя на светильнике. Через 25 — 30 минут информация из микросхем ПЗУ полностью стирается. Ещё одним приятным моментом является то, что из-за низкой мощности лампы, выделяется намного меньше озона. А ощущается он только в непосредственной близости к лампе.

Такой способ очистки микросхем ПЗУ я рекомендую как один из самых дешёвых и доступных! С другой стороны, сейчас появились и другие излучатели жесткого УФ-излучения, в том числе и светодиодные. Я уже и не говорю о специализированных устройствах для очистки микросхем ПЗУ.

Напоследок хочется сказать несколько слов об очистке микросхем ПЗУ в пластиковых корпусах без кварцевого окошка. С виду такие микросхемы являются однократно записываемыми. Но на самом деле они являются всё теми же микросхемами ПЗУ с УФ-стиранием. И стереть информацию из этих микросхем так же возможно, но для этого придётся использовать рентгеновское излучение. Хотя, этот способ равнозначно применим и к микросхемам, имеющим кварцевое окно:

Once the package is sealed, information can still be erased by exposing it to X radiation in excess of 5*104 rads, a dose which is easily attained with commercial X-ray generators.

In other words, to erase your EPROM, you would first have to X-ray it and then put it in an oven at about 600 degrees Celsius (to anneal semiconductor alterations caused by the X-rays). The effects of this process on the reliability of the part would have required extensive testing so they decided on the window instead.

Википедия

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

В любом случае, из всего вышеописанного можно сделать следующий вывод: не только УФ облучение может привести к очистке или повреждению данных в микросхеме ПЗУ, но и рентгеновское!

Тестер микросхем логики

Вторым по важности устройством, после программатора для микросхем ПЗУ, является тестер микросхем логики низкой степени интеграции. Ведь большинство компьютеров тех времён собирались именно из таких микросхем.

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

Одним из таких сценариев является просто тестирование микросхем мелкой логики на соответствие своей функциональности. Для этого одним из участником форума zx-pk.ru был разработан «Тестер мелкой логики» на микроконтроллере ATMega8515. Этот тестер очень помог при сборке некоторых самодельных компьютеров и периферийных устройств, отсеивая иногда до 3 — 5 неисправных микросхем за раз! Особенно много таких микросхем из 155 и 580 серии приходилось на компьютер «Орион-128». А более всех отметились микросхемы К580ИР82.

Список проверяемых устройством микросхем: 7400(ЛА3), 7402(ЛЕ1), 7404(ЛН1), 7406(ЛН3), 7407(ЛП9), 7408(ЛИ1), 7410(ЛА4), 7420(ЛА1, ЛА7), 7427(ЛЕ4), 7430(ЛА2), 7432(ЛЛ1), 7438(ЛА13), 7474(ТМ2), 7475(ТМ7),7486(ЛП5), 7493(ИЕ5), 74125(ЛП8), 74138(ИД7), 74155(ИД4), 74161(ИЕ10), 74166(ИР10), 74169(ИЕ17), 74174(ТМ9), 74175(ТМ8), 74193(ИЕ7), 74253(КП12), 74257(КП11), 74244(АП5), 74245(АП6), 74258(КП14), 74295(ИР16), 74298(КП13), 74374(ИР23), МС4520(561ИЕ10), 580ВА86, 580ВА87, 580ИР82, 580ИР83.

Схема тестера мелкой логики

Устройство построено на микроконтроллере ATMega8515. Для индикации работы применяется 4-х разрядный семисегментный индикатор, а для управления — 4 тактовые кнопки:

Схема тестера мелкой логики от Ewgeny7
Схема тестера мелкой логики

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

Плата тестера мелкой логики

Плата выполнена на одностороннем стеклотекстолите и немного отличается от схемы.

Топология печатной платы тестера мелкой логики
Топология печатной платы тестера мелкой логики для ZIF-панельки на 24 ножки

На плате добавлены токоограничивающие резисторы 22 Ом — 100 Ом для светодиодов семисегментного индикатора. Предохранитель по питанию отсутствует. Питание осуществляется от USB порта компьютера или от внешнего источника питания через линейный стабилизатор. Если питание осуществляется через линейный стабилизатор, необходимо замкнуть джампер, расположенный над кнопкой «UP».

Плата модифицирована под более доступную в продаже ZIF панельку на 24 вывода. Последние 4 вывода просто соединены с «землёй».

Файлы печатных плат в формате Sprint-Layout можно скачать здесь. Эти файлы предназначены для производства плат методом ЛУТ и не предназначены для заказа на производстве без предварительного редактирования! Учитывайте это. В том числе и размеры отверстий.

Кварцевый резонатор с конденсаторами я не устанавливал, так как устройство нормально работает и от внутреннего RC-генератора микроконтроллера при частоте 8 МГц. Для установки этой частоты, необходимо изменить фьюзы относительно значений по умолчанию. Если калькулятор не врёт, то они должны иметь следующие значения:

Low: 0xC4
High: 0xD9

Файл с прошивками для тестера мелкой логики можно скачать здесь. В архиве содержатся hex-файлы для варианта индикатора с общим анодом и общим катодом.

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

Использование тестера мелкой логики

Тестируемая микросхема вставляется в панельку с нулевым усилием (я так и не удосужился её купить, поэтому впаял две обычные панельки).

Кнопками «UP» и «DN» выбирается тип тестируемой микросхемы, который отображается на семисегментном индикаторе в виде последних 2-3 цифр от западной маркировки микросхем 74-серии. После выбора модели необходимо нажать кнопку «TE».

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

Собранный тестер мелкой логики
Собранный тестер мелкой логики. Процесс проверки исправности микросхем.

Чтобы не выбирать необходимую модель тестируемой микросхемы вручную, можно воспользоваться автоматическим поиском, нажав кнопку «SE». Если вместо модели микросхемы отобразились четыре квадрата в нижних частях индикаторов — микросхема не поддерживается тестером или неисправна.

ByteBlasterMV

Ещё одним очень важным устройством при сборке современных реплик ретрокомпьютеров является программатор конфигураций программируемых логических микросхем.

В большинстве реплик используются микросхемы фильмы Altera (ныне Intel). Например, в компьютере ZXM-Phoenix H/W Rev.3 используется программируемая логическая матрица (ПЛМ, CPLD) Altera EPM3064, а в RGB->VGA конвертере — EPM3128. В SMUC (контроллер IDE, NVRAM и часы реального времени для ZX-Spectrum) так же используется ПЛМ EPM3064, а в ПрофПЗУ (реализующей в ZS-Scorpion и некоторых других ZX-Spectrum теневой сервис-монитор и другие интересные функции) могут быть применены EPM3032 / EPM3064 / EPM7032 / EPM7064. Да что там компьютеры, в одноплатной версии клона коротковолнового трансивера SDR-1000 от UR4QBP так же установлена Altera EPM3128.

В компьютере ZX-Evolution используется уже программируемая логическая интегральная схема (ПЛИС, FPGA) Altera EP1K50Q208. В ПЛИС конфигурация загружается каждый раз после подачи питания. Для этого, зачастую, используется внешний микроконтроллер. Загрузка конфигурации так же может производиться и при помощи ByteBlaster. Разумеется, что в таком случае конфигурация ПЛИС сохранится до выключения питания или сброса, и этот метод используется больше для отладки.

Современные самодельные SDR-трансиверы с прямой оцифровкой/синтезом (DDC/DUC) тоже используют ПЛИС, на которой реализован цифровой сигнальный процессор (DSP). Этим сигнальным процессором производится основная обработка потока данных с АЦП и на ЦАП.

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

Схема ByteBlasterMV

Сам программатор описан в документе Altera ByteBlasterMV Parallel Port Download Cable. И да, тоже подключается к устаревшему и редкому на сегодняшний день LPT-порту компьютера. Сейчас проще и дешевле купить готовое устройство «USB Blaster» в Китае. Но в 2012 году я об этом не знал, и собирал кабель для программирования из имеющихся под рукой компонентов.

Схема кабеля Altera ByteBlasterMV
Схема кабеля Altera ByteBlasterMV

Как видно, схема состоит из микросхемы неинвертирующего буфера 74HC244 и резисторов. Номиналы всех последовательно установленных резисторов составляют 100 Ом, а подтягивающих — 2,2 кОм.

Сборка ByteBlasterMV

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

Корпус был взят самый дешёвый из тех, что продавались на радиорынке. Окна для разъёмов проделаны с помощью напильника. Осталось закрыть крышку и изготовить наклейку.

Наклейку изготавливал из обычной самоклеящейся бумаги формата А4. После распечатывания изображения, сверху наклеивается скотч для защиты от влаги и обсыпания тонера. Затем, наклейка приклеивается обычным способом на корпус.

Кабель для подключения собранного устройства к компьютеру используется тот, что уже был изготовлен для программатора Willem 3.1:

ByteBlasterMV. Прошивка конфигурации CPLD Altera EPM3128 в VGA конвертере
Прошивка конфигурации CPLD Altera EPM3128 в конвертере RGB->VGA

Для загрузки конфигураций в ПЛМ я использовал программу Altera Quartus II. Поддерживают ли современные версии программы старый ByteBlasterMV я не знаю, так как последние лет восемь не сталкивался с необходимостью заливки конфигураций в ПЛМ.

Заключение

Описанные в статье программаторы являются практически базовыми и необходимыми инструментами при сборке или ремонте ретро-компьютеров. Безусловно, если углубиться в подобные увлечения, то могут понадобиться и другие устройства. Например, программатор для однократно программируемых микросхем ПЗУ К556РТ4 или советских ПЛМ К1556ХЛ8.

Конечно, не обязательно собирать программаторы вручную, как это делал я. Хоть это и увлекательное занятие.

Если заглянуть в Интернет, то в продаже имеется достаточное количество различных программаторов для ПЗУ. Это и Willem 5.0, имеющий более скромные размеры, повышающий DC-DC преобразователь и питание от USB. Но, всё-равно это тот же Willem, который подключается к компьютеру по всё тому же LPT-интерфейсу. Существуют и другие программаторы с более современными интерфейсами.

Для заливки конфигурации в CPLD/FPGA лучше купить USB Blaster. На сегодняшний день его стоимость составляет $2.5 — $3 с учётом доставки.

Тестер мелкой логики менее востребованное в широких кругах устройство, поэтому в готовом виде практически не встречаются. Но если поискать, то всегда можно найти.