1 Внутрисхемный USB BDM программатор микроконтроллеров Freescale. Программатор предназначен для внутрисхемного программирования микроконтроллеров Freescale семейства HSC08. Для программирования используется интерфейс BDM который обеспечивает высокую скорость программирования и позволяет выполнить полное стирание ранее запрограммированного МК в случае активированной защиты от чтения. Программатор разработан и нацелен на микроконтроллеры используемые в бытовой технике, в стиральных машинах и холодильниках построенных на платформе Аркадия и соответственно микроконтроллеров MC9S08GB60(mask 3L31R), MC9S08GB60A(mask 4L11Y) и в стиральных машинах Zanussi/Electrolux с платформой ENV-06 и соответственно контроллеров MC9S08AW60 и MC9S08AC60. Безусловно на этом возможности программатора не ограничиваются, ниже предоставлен список поддерживаемых микроконтроллеров. MC9S08AC8,MC9S08AC16,MC9S08AC32,MC9S08AC48,MC9S08AC60,MC9S08AC96, MC9S08AC128,S9S08AW8A,S9S08AW16A,MC9S08AW16,MC9S08AW32,MC9S08AW48, MC9S08AW60,MC9S08DE32,MC9S08DE60,MC9S08DN16,MC9S08DN32,MC9S08DN48, MC9S08DN60,MC9S08DV16,MC9S08DV32,MC9S08DV48,MC9S08DV60,MC9S08DV96, #MC9S08DV128,MC9S08DZ16,MC9S08DZ32,MC9S08DZ48,MC9S08DZ60,MC9S08DZ96, #MC9S08DZ128,MC9S08EL16,MC9S08EL32,MC9S08EN16,MC9S08EN32,MC9S08FL8, MC9S08FL16,MC9S08GB32,MC9S08GB32A,MC9S08GB60,MC9S08GB60A,MC9S08GT8A, MC9S08GT16,MC9S08GT16A,MC9S08GT32,MC9S08GT32A,MC9S08GT60,MC9S08GT60A,MC9S08 JM8,MC9S08JM16,MC9S08JM32,MC9S08JM60,MC9S08JS8,MC9S08JS16, MC9S08JS8L,MC9S08JS16L,MC9S08LC36,MC9S08LC60,MC9S08LG16,MC9S08LG32, MC9S08LL8,MC9S08LL16,MC9S08LL36,MC9S08LL64,MC9S08MP12,MC9S08MP16, MC9S08NM8,MC9S08QA2,MC9S08QA4,MC9S08QB4,MC9S08QB8,MC9S08QD2, MC9S08QD4,S9S08QD2,S9S08QD4,MC9S08QE4,MC9S08QE8,MC9S08QE64, MC9S08QE96,MC9S08QE128,MC9S08QG4,MC9S08QG8,MC9S08RC8,MC9S08RC16, MC9S08RC32,MC9S08RC60,MC9S08RD8,MC9S08RD16,MC9S08RD32,MC9S08RD60, MC9S08RE8,MC9S08RE16,MC9S08RE32,MC9S08RE60,MC9S08RG32,MC9S08RG60, MC9S08SE4,MC9S08SE8,MC9S08SG4,MC9S08SG8,MC9S08SG16,MC9S08SG32, MC9S08SH4,MC9S08SH8,MC9S08SL8,MC9S08SL16,MC9S08SV8,MC9S08SV16. Программатор не тестировался со всеми микроконтроллерами из этого списка, в случае возникновения каких либо проблем с программированием МК входящего в этот список просьба обратиться за консультацией. 2 Аппаратная часть программатора. Программатор имеет интерфейс USB 2.0, посредством которого осуществляется связь с ПК и 4-х проводной интерфейс BDM для программирования целевого МК. Для связи с ПК используется стандартный USB кабель принтера с разъемом USB-B, который входит в комплектацию и по желанию может быть заменен аналогичным стандартным кабелем USB-USB-В. Кабель для внутрисхемного программирования имеет разъем только с одной стороны для подключения к программатору. Для подключения к микроконтроллеру на целевой плате необходимо подпаяться к соответствующим выводам. Для программирования микроконтроллеров вне платы, пользователь может изготовить дополнительные переходники самостоятельно. Фото программатора Для подачи напряжения питания на программируемый микроконтроллер можно использовать как внутренний источник питания от линии USB, так и внешний источник питания. Программатор имеет встроенный стабилизатор напряжения питания 3,3вольта. Выбор источника питания микроконтроллера и напряжение программирования (USB/ внешнее питание, 5в/3,3в ) осуществляется при помощи джамперов на разъеме программатора. 3 Внимание!!! Программатор не имеет гальванической развязки, поэтому нельзя подавать на модуль в режиме программирования штатное питание 220 вольт! Джамперы и разъем для программирования. Вид со стороны интерфейсного разъёма Джамперы Интерфейс программатора Разъем внешнего питания 5вольт Подача внешнего питания осуществляется от стабилизированного источника питания 5в, не менее 300мА. Джампер J1 переключает напряжение питания для программирования микроконтроллера 5в 3,3в J1 Джампер J2 переключает источник напряжения для программирования МК (внутреннее USB /внешнее - с разъема внешнего питания) Ext USB J2 Интерфейс программатора содержит 4-е линии 1 2 3 4 Vdd RST GND BKGD 1 2 3 4 Красный Белый Черный Синий напряжение питания микроконтроллера линия управления сбросом микроконтроллера корпус двунаправленная линия данных 4 Установка драйверов программатора. 1. Подключите программатор к компьютеру при помощи шнура USB Операционная система определит новое устройство и предложит установить драйвер. Установите флажок «Установка из указанного места» и нажмите «Далее» Укажите папку содержащую драйверы для программатора, и нажмите «Далее». 5 Если операционная система предложит выбрать драйвер – выбираем «USBDM BDM Interface» и нажимаем «Далее» После установки драйвера нажимаем кнопочку «Готово» Драйвер USBDM BDM Interface - установлен, программатор готов к работе. 6 Порядок работы с ПО программатора ПО программатора содержит всего две основные вкладки. 1-я вкладка – установки самого программатора. Запустите программу «FlashProgrammer.exe» При подключенном программаторе и правильно установленных драйверах слева от кнопки «Detect» наблюдаем правильно опознанное устройство. Если Вы подключили программатор после запуска программатора нажмите кнопку «Detect» для опознания программатора. 7 2-я вкладка содержит основные установки программирования. Нажимаем кнопку Detect SDID. Если целевой микроконтроллер подключен к программатору – слева от кнопки сразу определяется подтип микроконтроллера из семейства HCS08, а под кнопкой высвечивается значение регистров SDIDH, SDIDL. Теперь связь между программатором и микроконтроллером установлена. Далее необходимо из отфильтрованного списка(фильтр включается галочкой Filter by SDID) выбрать тип подключенного к программатору микроконтроллера. Нажимаем кнопку Load Hex File и выбираем нужный файл Firmware для микроконтроллера. Нажимаем кнопу Program Flash и наблюдаем за светодиодом на программаторе. Если все в порядке, светодиод начнет мигать, это означает что идет процесс программирования и верификации. По окончании этой процедуры на экране высвечивается сообщение о удачном завершении процесса программирования. 8 Немного теории о платформе Аркадия. Как всем известно в этой платформе стоят микроконтроллеры MC9S08GB60 и GB60A. В некоторых эл. модулях можно встретить МК 39079LFZV, но поскольку к Freescale он не имеет никакого отношения, все что написано здесь к этому МК не относиться. В МК зашита программа загрузчик обеспечивающая связь с ПК посредством диагностического ключа Merloni 115587 или 113723 по определенному протоколу. В случае когда область энергонезависимой памяти микроконтроллера, в которой находится загрузчик, *испорчена*, т.е каким-то образом в эту область прописались неверные значения, никакими штатными средствами Merloni невозможно ее подправить, поскольку МК уже не способен ответить на специфические запросы посылаемые от ПК через диагностический ключ. Как правило при этом нет никаких видимых повреждений на силовом модуле а модуль индикации в СМА отображает код ошибки F12. Отремонтировать такой эл. модуль можно путем перепрограммирования МК в режиме BDM (Background Debug Mode) при помощи программатора имеющего одноименный интерфейс, т.е рассматриваемым программатором. О прошивках. Сначала определимся с терминологией. FW – firmware, или SW - software - это основная микропрограмма заложенная в МК. Прошивка (всеми нами полюбившееся слово) – это константные значения для конкретной модели, которая включает в себя конфигурацию, статистику, и.т.д Прошивки также подразделяются по типу SW, т.е прошивка пишется под определенную версию SW, и корректно будет работать только с этим SW. Рассматриваемый программатор не предназначен для программирования прошивки, 9 для этого есть штатные средства Merloni, а на сегодняшний день еще и уникальный проект Юрия Хребтова , с которым можно ознакомиться по ссылке: BTKeyTool Однако в комплектацию программатора будут входить для каждого типа SW несколько вариантов, включающих в себя прошивки для разных моделей. Это сделано для проверки модуля управления после программирования. В комплектацию программатора входят следующие SW SW 1.3.9, SW 01.04.03, SW 02.00.10, и SW 03.06.05 для холодильников. База Firmware будет пополняться по мере появления новых софтов. О платформе ENV-06. Как известно в этой платформе используются МК MC9S08AW60 и MC9S08AC60. Практически все предыдущее действительно и для этой платформы, но справедливости ради, нужно подметить что загрузчик в этой платформе, без внешних факторов таких как неудачное конфигурирование или некорректное изменение FW, не *портится*, но в то же время попадается много случаев выхода из строя самого МК на силовом модуле. В этом случае нужно установить на плату новый МК и запрограммировать его. Рассматриваемый программатор позволяет выполнить процедуру программирования как нового чистого, так и ранее запрограммированного микроконтроллера. Что касается прошивок, или в этом случае правильнее сказать конфигурирования, программатор так же не предназначен для этих целей, для решения этой проблемы рекомендую ознакомиться с проектом Алексея Мелентьева по ссылке: Elx Reader В комплектацию программатора войдут несколько базовых FW модулей ENV-06, в случае необходимости недостающие FW будут предоставляться по запросу. 10 Подключение программатора к микроконтроллеру на эл. модуле с платформой Аркадия. Внимание!!! Напряжение питания микроконтроллера на этом субмодуле в режиме программирования должно составлять 3,3 вольта. Для этого необходимо установить джампер J1 в соответсвующую позицию. Процедуру программирования можно выполнить как на выпаянном так и на установленном в силовой модуль субмодуле. Внимание!!! Нельзя подавать на модуль в режиме программирования штатное питание 220 вольт! Это приведет к выходу из строя программатора, модуля управления и ПК подключенного к программатору. 11 Подключение программатора к микроконтроллеру на эл. модуле с платформой ENV-06. У платформы ENV-06 есть специальный разъем для программирования по интерфейсу BDM. Но поскольку у этого разъема отсутствует ключ, изготавливать спец переходник для него нецелесообразно, для программирования МК на этом модуле необходимо подпаяться непосредственно к разъему. На этом эл. модуле микроконтроллер возможно запрограммировать при напряжении питания как 3,3 вольта так и при 5 вольт. В процессе отладки программатора были опробованы оба варианта, в обоих случаях результат положительный, т.е МК был корректно запрограммирован. Внимание!!! Нельзя подавать на модуль в режиме программирования штатное питание 220 вольт! Это приведет к выходу из строя программатора, модуля управления и ПК подключенного к программатору.