Что-ж, имея уже несколько устройств на МК и, надеюсь, таковые будут и в дальнейшем - пора научиться прошивать их. Для этого, ясно, нужен программатор. По большому счету термин "программатор" относится скорее к софту, чем к аппаратной части, которая в большинстве случаев представляет собой простой интерфейс для согласования того или иного компьютерного порта с выводами программирования контроллеров.
Ну, если с софтовой частью проблем нет, в сети выложено множество оболочек, то аппаратную часть придется паять. В качестве базового блока выбран так называемый интерфейс JDM на основе которого работает подавляющее большинство как софтовых так и хардовых любительских программаторов. Задача упрощается тем, что для программирования абсолютно всех типов МК производства Microchip (pic-контроллеров) требуются одни и те же сигналы, только для разных МК, вернее для МК в разных корпусах надо подсоединить эти сигналы к нужным ногам.
Таблица выводов программирования МК здесь уже выкладывалась, просто продублирую
Нажмите для просмотра прикрепленного файла
Как видно - 8, 14 и 20-ножечные МК совпадают даже по расположениям выводов, 18-ножечные имеют свое собственное расположение, 28-ножечные совпадают с 40.
Т.е. имея базовый блок с соотв. выходами можно впоследствии подсоединять к ним нужные выводы МК и программировать его. Кстати те же сигналы используются и для прошивки некоторых EEPROM, опять же соорудив "переходник" при желании можно будет прошивать и их.
Про USB-шные программаторы уже писалось, конечно желательно иметь такой, но если не занимаешься постоянно программированием, то сойдет и простой, на СОМ порт. Уверяю - в хозяйстве всегда пригодится...
В качестве основы, как уже говорил, выбран JDM программатор, вернее его усовершенствованная версия SOLO-GWR, а еще точнее - переработанный мной этот самый SOLO, без GWR
Немного отвлекусь на счет GWR. Эта аббревиатура - Gold Wafer Ready - свидетельствовала о том, что указанным программатором можно было прошивать Gold Wafer (золотая вафля) карточки, которые представляли собой карточку типа кредитки, но не с магнитной полосой а с встроенным МК и EEPROM. С внешним миром такая карточка соединялась всего 5 контактами, как раз теми, которые были необходимы для программирования. Их применяли, например, для эмуляции карточек условного доступа для просмотра платного спутникового ТВ. Но сейчас с появлением ресиверов с встроенными эмуляторами (OpenBox и т.д.) надобность в таких карточках как и прошивке их отпала. Интересный момент - прошивка этих карт. Встроенный EEPROM не имел выхода "наружу", все его выводы были подключены к выводам МК внутри карты. А для эмуляции карт условного доступа коды записывались именно в EEPROM, внутренняя память самого МК не позволяла зашивать туда, если не ошибаюсь, всего 4 кода.
Для решения этой проблемы применялся так называемый режим Phoenix, суть которого состояла в том, что карта прошивалась в несколько этапов. На первом этапе в МК заливалась программа - загрузчик, единственной задачей которой было "пропихнуть" заливаемое на следующем, втором, этапе содежимое памяти в EEPROM, и последним, третьим, этапом было уже перепрошивка МК управляющей программой. Т.е. на 2-м этапе МК как бы сам становился программатором, а для его работы нужны были тактирующие импульсы, поэтому в программаторах предусматривали кварцевые генераторы (как в оригинальном SOLO-GWR). Т.к. все это нам не надо, выкинем из оригинального все ненужное и будем собирать просто JDM.
Ниже приведена переделанная схема и разводка. На разводке левая часть - собственно программатор, правая, совершенно автономная часть - адаптер под различные корпуса МК, ну и 24 и 93 память. Соединяются обе части небольшим 5-контактным шлейфом, вместо которого можно было бы установить перемычки, но, думаю, так лучше, чтоб при необходимости иметь возможность применения программатора в качестве внутрисхемного. На разводке адаптера отсутствуют панельки под 14 и 20 выводные корпуса. Такие микросхемы вставляются в 8-выводную панельку нижней частью (имеется в виду начиная с 1-го вывода), остальные выводы пусть висят в воздухе - они при прошивке не нужны.
Вернемся к нашему программатору. Как уже отмечалось - собран по схеме JDM, поэтому будет работать с любым софтом, поддерживающим данный режим. Помимо pic-контроллеров им можно прошивать также EEPROM 24хх и 93хх серий. Схема программатора приведена ниже:
Нажмите для просмотра прикрепленного файла
Разводка:
Нажмите для просмотра прикрепленного файла
Фотографии печатной платы и собранного программатора:
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
(На фотографии - неправильная микросхема - SN74LS00 - с ней программатор не будет работать. Надо ставить то, что обозначено на схеме и разводке.)
Как видно - плата состоит из двух отдельных частей - собственно программатора и адаптера.
Правильно собранный программатор (из исправных деталей конечно )должен заработать сразу.
В след. постах постараюсь описать процедуру проверки-отладки, если возникнут проблемы, ну и естественно про софт и как прошивать.
Ну и напоследок, нашел в архивах один из моих любимых программаторов - JonisProg. В нем до сих пор еще торчит Gold Wafer
Нажмите для просмотра прикрепленного файла