Муфты электромонтажные от производителя Fucon
РадиоЛоцман - Все об электронике

Микроконтроллеры Freescale в электронных модулях бытовой техники. Технология программирования через отладочный интерфейс MON08. Часть 1

Freescale НС908

Журнал Ремонт и Сервис, сентябрь 2013

В этом приложении рассказывается об отладочном интерфейсе MON08, который применяется для программирования 8-битных МК Freescale (Motorola) серии HC908. Также в нем приведено описание одной из моделей программатора и специализированного ПО к нему.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Так как МК серии НС908 (всего насчитывается около 100 типов МК, см. [50]) широко применяются не только в бытовой технике, но и, например, в автоэлектронике, предложенный материал может быть полезен широкому кругу специалистов ремонтных служб.

Общие сведения

Изучать методику и алгоритмы программирования МК специалистов по ремонту бытовой техники заставило нежелание производителей делиться информацией на эту тему в полном объеме. Все, что сейчас имеют АСЦ — это доступ к некоторым файлам (конфигурации СМ и пр.), «сервисное» ПО для ПК и поставка специализированных программаторов. На самом деле этого недостаточно. При замене МК на новый нужны еще конфигурационные файлы (маски) самого МК (не путать с файлами конфигурации СМ!), основное ПО или так называемые файлы Full Flash, то есть полные копии Flash памяти МК (удобны при тиражировании МК). Так как производители не предусматривают ремонт ЭМ на компонентном уровне, данную информацию они считают излишней. В этом и есть основной недостаток АСЦ и преимущество независимых СЦ — первые вынуждены предоставлять услуги, список которых регулируется производителем, а вторые могут предоставить расширенный список услуг, в который, в том числе, входит ремонт ЭМ на компонентном уровне, тиражирование МК и др.

Необходимость в тиражировании МК для бытовой техники постоянно растет и препоны производителей в данном вопросе уже не являются особой преградой. Одними из первых специалисты наладили тиражирование МК Freescale серии НС908. Они используются, например, в ЭМ СМ ARDO (MINIJST, MINISEL), ELECTROLUX/ZANUSSI (EWM1000 (+)), BOSCH (серии MAXX).

MON08 и порядок входа в отладочный режим

МК Freescale серии НС908 имеют отладочный интерфейс MON08, который работает под управлением встроенной в масочную память МК программы MONITOR (Отладочный Монитор). MON08 называют по-разному: отладочным интерфейсом или отладочным режимом. Будем считать, что принципиальной разницы здесь нет.

Отладочный режим работы позволяет организовать диалоговый режим работы между ПК и МК с помощью простых команд:

  • считать байт из памяти (ОЗУ или ПЗУ);
  • записать байт в память (ОЗУ или ПЗУ);
  • считать/записать два байта памяти (ОЗУ или ПЗУ) с автоматическим увеличением адреса;
  • считать указатель стека, начать выполнение программы и др.

Обмен между МК и ПК обеспечивается по однопроводной двунаправленной линии.

Что же касается прикладной программы, которая могла быть ранее записана в резидентную память МК, то при переходе в отладочный режим ее выполнение автоматически прекращается — все управление переходит программе МОНИТОР. По большому счету специалистам-ремонтникам отладочный режим необходим только для работы с памятью МК, в том числе, с ее защищенной областью— это нужно для тиражирования МК (для ремонта ЭМ).

Отладочные возможности этого режима в данном случае не востребованы.

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

Микроконтроллеры Freescale в электронных модулях бытовой техники. Технология программирования через отладочный интерфейс MON08
Рис. П2.1. Рекомендуемая схема для перевода и работы в
отладочном режиме МК MC68HC908AP32.

Чтобы перевести МК в отладочный режим, нужно выполнить определенные действия:

  1. Переводят МК в состояние POR (Power ON Reset), то есть подают на него питание. МК поддерживает режим автоматического начального сброса после подачи питания, хотя это можно сделать принудительно, замкнув вход RESET микросхемы с общим проводом. После этого с задержкой (определяется внешней RC-цепью) на входе RESET должен установиться уровень лог. «1». Некоторые модели программаторов имеют специальную цепь формирования сигнала RESET на МК, управляемую программно.
     
  2. На вывод IRQ (он же VPP) должно быть подано напряжение VTST, уровень которого зависит от конкретного типа микроконтроллера (см. документацию на конкретный тип МК). Обычно уровень VTST составляет от VDD+2.5 В до VDD+4 В (в схеме программатора, показанного на рис. П2.2, это напряжение равно 8.1 В, а на рис. П2.1 — это напряжение 8.5 В). Подача на вход IRQ повышенного напряжения автоматически выключает сторожевой таймер в составе МК.
     
  3. На входы универсальных портов МК подаются комбинации логических «0» или «1». В разных типах МК наименования этих портов и комбинации уровней могут быть разными. Например, для МК MC68HC908MR24 эта комбинация следующая (используется внешний кварцевый генератор частотой 4.9152 МГц, подключенный к выв. 52 микросхемы):
  • РТС3 (выв. 14) — лог. «1»;
  • РТС4 (выв. 15) — лог. «0»;
  • РТС2 (выв. 13) — лог. «1» или лог. «0» (скорость обмена данными с ПК, 4800/9600 бит/с соответственно);
  • РТА0 (выв. 55) — лог. «1». Для МК MC68HC908AZ60 комбинация несколько иная:
  • РТС0 (выв. 60) — лог. «1»;
  • РТС1 (выв. 61) — лог. «0»;
  • РТС3 (выв. 63) — лог. «1» или лог. «0» (определяет скорость обмена данными с ПК);
  • РТА0 (выв. 26) — лог. «1».

Рассмотрим на примере МК MC68HC908AP32 (применяется в ЭМ СМ BOSCH), как определяются подобные комбинации выводов и логические уровни на них. Все это можно найти в официальной документации (DATASHEET) на конкретный тип МК — см. раздел Monitor Mode (MON) в официальном описании [9]. На рис. П2.1 показан фрагмент схемы включения МК и подключения к нему внешних компонентов для перевода его в отладочный режим. На нём также показана цепь обмена данными между МК и ПК.

Из этого рисунка видно, что комбинация выводов и уровни сигналов на них следующие:

  • РТA1 (выв. 30) — лог. «1» (соединен через резистор 10 кОм с шиной питания VDD);
  • РТA2 (выв. 29) — лог. «0» (соединен через резистор 19 кОм с общим проводом VSS);
  • РТB0 (выв. 14) — лог. «1» или лог. «0» (в зависимости от состояния переключателя SW1 задается скорость обмена данными с ПК);
  • РТА0 (выв. 32) — лог. «1» (линия обмена данными с ПК, в исходном состоянии на ней лог. «1», соединена через подтягивающий резистор 10 кОм с шиной питания VDD).

Также на рисунке видно, что в отладочном режиме для этого типа МК можно использовать две тактовые частоты (с помощью кварцевого резонатора или от отдельного кварцевого генератора) — 4.9152/9.8304 МГц. Уровни на всех перечисленных портах, кроме PTA0, опрашиваются МК лишь в момент входа в отладочный режим.

Вывод РТА0 используется в отладочном режиме для обмена данными между МК и управляющим ПК в последовательном асинхронном полудуплексном режиме. На рис. П2.1 также показаны микросхемы MAX232 и 74НС125: первая используется для согласования уровней КМОП и интерфейса RS-232, а вторая представляет собой 4-канальный буферный драйвер (в схеме используются только два канала). Вентили 74НС125 объединяют дуплексные сигналы интерфейса RS-232 по схеме «монтажное ИЛИ» и соединены с портом МК PTA0 (см.рис. П2.1).

Для формирования повышенного напряжения на входе IRQ МК используется выход «схемы подкачки» V+ микросхемы MAX232. Как показала практика, данное решение не является оптимальным, лучше для этих целей использовать отдельный источник питания необходимой мощности.

После выполнения описанных выше действий МК должен войти в отладочный режим — при этом возможен обмен данными между ПК и МК. Если попытки обмена данными не увенчались успехом, то это не означает, что МК неисправен — можно, например, попробовать еще раз, предварительно изменив скорость обмена (см. выше) или, как в СМ BOSCH, обмен возможен, если селектор программ на панели управления находится в определенном положении.

Далее с помощью специального ПО (см. раздел «Программирование МК») с ПК необходимо ввести 8 байт, содержимое которых должно совпасть с векторами, прошитыми в МК по адресам FFF6-FFFD и хранящимся в защищенной области памяти микроконтроллера. Эти байты еще называют Security Bytes или SS (send 8 bytes security). От результата сравнения зависит, какие операции можно будет производить с содержимым Flash-памяти МК. При положительном результате сравнения постоянная память МК доступна для считывания, записи, стирания, а при отрицательном — только для стирания. Собственно, с помощью байтов SS реализована защита от несанкционированного чтения памяти в МК HC908.

В МК с «чистой» Flash-памятью (например, новые), а также после выполнения операции «СТИРАНИЕ», все 8 байт SS имеют значение FF. В качестве «утешения» можно сказать, что существуют специальные программные пакеты, определяющие методом подбора значение байтов SS.

Программатор MON08

Для программирования МК Freescale HC908 специалистами была разработана схема программатора, которая с успехом применяется для работы с ЭМ СМ ARDO, WHIRLPOOL (MC908JL3/JL8), ELECTROLUX/ZANUSSI (MC68HC08GP16/GP32), BOSCH (MC68HC908AP32/AP64) и др. Для связи программатора с ПК используется интерфейс RS-232.

Микроконтроллеры Freescale в электронных модулях бытовой техники. Технология программирования через отладочный интерфейс MON08
Рис. П2.2. Принципиальная электрическая схема программатора MON08.

Принципиальная электрическая схема программатора приведена на Рис. П2.2, а его внешний вид — на Рис. П2.3.

Микроконтроллеры Freescale в электронных модулях бытовой техники. Технология программирования через отладочный интерфейс MON08
Рис. П2.3. Внешний вид платы программатора.

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

Основой программатора являются элементы в цепи обмена данными между ПК и МК — это соединитель J1 (интерфейс RS-232), микросхемы MAX233 и 74НС125. Применение микросхемы MAX233 (вместо МАХ232, как на Рис. П2.1) позволило улучшить помехозащищенность и надежность работы программатора в целом.

Коммутация напряжения VTST (+8.1 В) на входе IRQ МК обеспечивается ключами на транзисторах Q2 Q3 (управление с ПК по цепи: конт. 4 J1 — выв. R2 IN/OUT U2 — U1D — Q2 — Q3 — выход VTST (вход IRQ). Также ключ Q2 используется в цепи коммутации питания 5 В на МК (управление с ПК по цепи: конт.4 J1 — выв. R2 IN/OUT U2 — U1D — Q2 — Q1 — выход VDD_S).

В составе программатора имеется отдельный кварцевый генератор U4 на частоту 9.8304 МГц, его выход подключают к входу OSC1 МК. Питание генератора коммутируется транзистором Q1 (цепь управления напряжением VDD_S была рассмотрена выше).

Цепи обмена данными между соединителем J1 интерфейса RS232 и МК практически идентичны схеме, показанной на Рис. П2.1, за исключением того, что используется микросхема MAX233. Программатор питается от сетевого ИП с выходным переменным напряжением 9…12 В. Напряжение выпрямляется диодным мостом BR1 и поступает на интегральный стабилизатор U3 (формирует напряжение +5 В), а также на цепь формирования напряжения VTST. Питание устройства от сети позволило избежать многих проблем с подобными программаторами, в которых питание организовано от интерфейсных линий (RS-232).

Наличие напряжений VDD_S и +5 В контролируют по свечению соответствующих светодиодов (D5, D4).

Для формирования комбинаций логических уровней на входах МК (одно из необходимых условий перевода микроконтроллера в отладочный режим) используются микропереключатели SW1/2, а также резисторы R10-R14. Сигналы на выходе программатора обозначены как SW1/2 и «0». На компоненты этого узла поступает коммутируемое питание VDD_S (5 B). Указанные сигналы подключаются к МК в соответствии с конкретными рекомендациями в зависимости от типа микросхемы (см. описание выше).

Для подключения к МК на программаторе имеется специальная 10-контактная колодка, на которую выведены все необходимые сигналы. Назначение выводов колодки показано на Рис. П2.3.

Программатор испытывался только в варианте непосредственной связи с СОМ-портом ПК. Работоспособность устройства при подключении через специализированный переходник USB-COM на практике не проверялась.

Предложенная реализация последовательного программатора пригодна для программирования большинства МК семейства HC908. Однако нужно учесть, что у каждого подсемейства МК для входа в отладочный режим контрольные сигналы подаются на разные выводы ИМС, которые, кроме всего прочего, могут иметь разные обозначения. Поэтому для подключения программатора к МК нужно руководствоваться соответствующей документацией. Кроме того, для некоторых типов МК в отладочном режиме может потребоваться другая тактовая частота, отличная от той, которую формирует генератор U4 (9.8304 МГц). Также не следует забывать, что некоторые МК могут иметь питание 3.3 В — в таком случае в схему программатора также придется ввести со- ответствующие изменения. Эти же ограничения относятся к подбору уровня повышенного напряжения, подаваемого на вход IRQ МК.

Окончание

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя