Russian HamRadio - Отладчик для микроконтроллеров семейства НС908.
Сайт радиолюбителей Республики Коми.

: главная: странички:

Отладчик для микроконтроллеров семейства НС908.

В последнее время на российском рынке имеется множество однокристальных микроконтроллеров (МК) в корпусах DIP и SOIC с числом выводов от 8 до 28. Такие МК недороги, имеют расширенный диапазон напряжения питания 2,7...6В, могут тактироваться без применения кварцевого резонатора. Они с успехом используются в любительских конструкциях. Однако инструментальные средства отладки устройств на МК, способные не только программно, но и аппаратно имитировать работу реальной системы, реагируя на все входные сигналы и формируя выходные, в большинстве случаев слишком сложны и дороги для использования в любительской практике. Для восьмиразрядных МК семейства НС908 отладчик, обладающий такими свойствами, можно сделать самостоятельно.

Основные характеристики МК семейства НС908, выпускаемых фирмой Motorola, приведены в табл. 1. Возможность простой реализации аппаратного отладчика базируется на том, что все МК этого семейства, независимо от внутренней конфигурации, обладают двумя важными особенностями.

  • Во-первых, встроенная память программ выполнена с использованием технологии FLASH и является многократно программируемой. В модуле FLASH РПЗУ, кроме собственно ячеек памяти, имеется повышающий преобразователь напряжения, что позволяет стирать и программировать РПЗУ, не подключая к МК дополнительный внешний источник напряжения.
  • Во-вторых, предусмотрен специальный отладочный режим работы, в котором активизируется занесенная в память МК еще при его изготовлении программа монитора отладки. Она содержит драйвер обмена информацией с внешним устройством по однопроводной двунаправленной линии связи и подпрограммы выполнения шести команд, поступающих по этой линии, например, от персонального компьютера (ПК). С помощью этих команд удается прочитать всю информацию, находящуюся в памяти МК, или записать ее туда, а также запустить программу на исполнение с любого адреса [1].

Таблица 1.

Тип

Объем РПЗУ, 15Кбайт

Объем ОЗУ, байт

Число линий ввода/вывода

Число таймеров(16-разрядных)

АЦП (число каналов/разрядность, бит)

Последовательный интерфейс

Корпус

Примечание

MC68HC908JL3

4

128

23

1

12/8

нет

DIP-28, SOIC-28

1,2

MC68HC908JК1

1,4

128

15

1

10/8

нет

DIP-20, SOIC-20

1,2

MC68HC908JК3

4

128

15

1

10/8

нет

DIP-20, SOIC-20

1,2

MC68HC908КХ2

2

192

14

2

4/8

SCI

DIP-16, SOIC-16

3

MC68HC908КХ8

8

192

14

2

4/8

SCI

DIP-16, SOIC-16

3

MC68HC908MR8

8

256

12

2

7/10

SCI

DIP-28, SOIC-28

4

MC68HC908RK2

2

128

14

1

нет

нет

LQFP-32

3, 5, 6

MC68HC908RF2

2

128

14

1

нет

нет

LQFP-32

3, 5, 6

MC68HC908GR4

4

384

21

2

6/8

SCI, SPI

DIP-28, SOIC-28

7

MC68HC908GR8

8

384

21

2

6/8

SCI, SPI

DIP-28, SOIC-28

7

MC68HC908GP32

32

512

33

2

8/8

SCI, SPI

DIP-40, SDIP-42

7

Примечания:

  1. Тактовую частоту можно задавать RC-цепью.
  2. Две линии ввода/вывода имеют нагрузочную способность по 25 мА
  3. Содержит встроенный генератор, для которого не требуются внешние элементы.
  4. Содержит модуль ШИМ.
  5. Напряжение питания — 1,8...3,3 В.
  6. MC68HC908RF2 содержит модуль управления радиомодемом.
  7. Может работать с "часовым" кварцевым резонатором.

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

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

Все это позволяет создать программатор и отладчик реального времени [2], используя только внутренние ресурсы МК семейства НС908. Достаточно изготовить плату сопряжения с ПК и воспользоваться пакетом программ, включающим интегрированную среду разработки WinlDE, макроассемблер CASM08, программный и внутрисхемный симуляторы ICS08, внутрисхемный отладчик реального времени DEBUG08 и программатор PROG08. Этот пакет можно найти [3], как программную оболочку для внутрисхемного симулятора ICS08. Он распространяется бесплатно и без ограничений.

Плата сопряжения (рис.1.) выполняет две функции: обеспечивает перевод МК в отладочный режим и преобразует сигналы двунаправленного однопроводного интерфейса МК в стандартные сигналы последовательного порта ПК.

Для перевода любого представителя семейства НС908 в отладочный режим необходимо выполнить следующее:

  • входы прерывания IRQ и сброса RST соединить с источником повышенного напряжения DTST = 8,5В;
  • на линиях портов, указанных в табл. 2, установить комбинацию логических сигналов: РТх1 = 1,РТх2 = 0, РТх5 = 1.

Таблица 2.

Тип МК

Линии портов

РТх1

РТх2

РТх3

РТх4

РТх5

MC68HC908JL3, MC68HC908JK3, MC68HC908JK1

РТВ1

РТВ2

РТВ3

Нет

РТВ0

MC68HC908GR8, MC68HC908GR4, MC68HC908GP32

РТС0

РТС1

РТС3

РТА7

РТА0

МС68НС908КХ2, МС68НС908КХ8

РТВ0

РТВ1

РТА1

Нет

РТА0

MC68HC908RK2, MC68HC908RF2

РТВ0

РТВ2

Нет

Нет

РТА0

На линии РТх3 — лог.0, если частота кварцевого резонатора равна 4,9152 МГц, или лог. 1, если она 9,8304 МГц. Для МК модели КХ состояние РТх3 — всегда лог.0, а для RK и RF оно значения не имеет. Эти МК всегда работают с тактовой частотой 9,8304 МГц. Моделям GR и GP устанавливают РТх4 = 0, при использовании кварцевого резонатора частотой 32,768 кГц на вход IRQ подают лог.0, причем состояние РТх3 безразлично; — в течение нескольких десятков миллисекунд с момента подачи напряжения питания 5В удерживать вход сброса МК (RST) в состоянии лог. 0. Затем напряжение на нем повысить до UTST .

В результате МК войдет в отладочный режим работы. После этого уровни сигналов на линиях РТх1—РТх4 можно изменять в произвольном порядке. Однако напряжение UTST на входе RST должно оставаться неизменным, равным 8,5 В. На входе IRQ в процессе отладки сигнал может изменяться, причем в результате установки здесь низкого логического уровня генерируется запрос на прерывание. Напряжение высокого логического уровня на этом выводе может быть повышенным до UTST- По линии ввода/вывода РТх5 в процессе отладки происходит двусторонний обмен информацией между МК и ПК со скоростью 9600 Бод.

Схема платы сопряжения приведена на рисунке. Она содержит всего пять микросхем. Розетку XS1 подключают к вилке СОМ-порта ПК. Вилка ХР1 служит для соединения с отлаживаемой (целевой) микроконтроллерной системой. На плате последней должен быть предусмотрен ответный разъем, контакты которого соединены с выводами МК в соответствии с табл.3.

Таблица 3.

Контакт

Сигнал

Направление

Цепь

1

РТх1

К МК

См. табл. 2

2

РТх2

К МК

См. табл. 2

3

РТх3

К МК

См. табл. 2

4

РТх4

К МК

См. табл. 2

5

РТх5

Двунаправленный

См. табл. 2

6

+5В

К отладчику

Напряжение питания

7

GND

-

Общий провод

8

IRQ

К МК

Вход IRQ

9

RST

Двунаправленный

Вход RST

10

OSC1

К МК

Вход ОSС1

11

RST_N

К отладчику

Сброс (цепь, отключенная от входа RST на время отладки)

12

IRQ_N

К отладчику

Запрос прерывания (цепь, отключенная от входа IRQ на время отладки)

Примечание. Сигналы OSC1, RSTJN, IRQJN не обязательны. Разработчик может использовать их по своему усмотрению.

Микросхема DD3 преобразует уровни сигналов интерфейса RS-232 в логические уровни ТТЛ и обратно. Буферные элементы с тремя состояниями DD4.1 и DD4.2 превращают двунаправленную линию МК (РТх5) в две однонаправленных (TXD и RXD), характерных для RS-232. Вместо указанной на схеме МС145407 в качестве DD3 могут быть применены другие функционально аналогичные приборы, например, ADM202E или ADM232L, отличающиеся цоколевкой.

Кроме каскадов преобразования уровней, в каждой из этих микросхем имеются встроенные источники напряжений + 10 и -10 В. Первый использован для получения с помощью делителя R7R10 напряжения +8,5В. Нагрузка на выход встроенного источника составляет приблизительно 2 мА. Чтобы он выдержал такой ток, не рекомендуется применять конденсаторы С4—С7 емкостью менее указанной в паспортных данных используемой микросхемы.

Сигнал DTR через буфер микросхемы DD3 и элемент DD4.3 поступает на базу транзистора VT5, управляющего ключами на транзисторах VT2 и VT3. Транзистор VT2 коммутирует напряжение +5В, aVT3 — UTST.

 Рис.1.

Пока на линии DTR лог.1, транзисторы VT2 и VT3 закрыты, конденсатор С1 разряжен. В это время на вход RST МК подан сигнал сброса (лог. 0). С переходом DTR в состояние лог. О и открыванием ключа на транзисторе VT2 начинается зарядка конденсатора С1. По достижении напряжением на С1 порога срабатывания микросхемы DD1 на ее выходе будет установлена лог.1.

Это приведет к переходу сигнала на входе RST МК в такое же состояние с повышенным до 8,5В уровнем напряжения. В результате МК войдет в отладочный режим работы. Элемент DD2.3 логически суммирует сигналы сброса, поступающие от ПК и от отлаживаемого устройства (последний - по линии RSTJN), что обеспечивает повторный ввод МК в отладочный режим при генерации внутреннего сигнала сброса.

Необходимая для ввода МК в режим отладки комбинация логических уровней на линиях РТх1 - РТх4 создается с помощью микросхемы DD5. С замыканием ключа на транзисторе VT2 выходы ее элементов активизируются. После перевода МК в режим отладки выходы переходят в третье состояние, поэтому далее указанные линии портов МК на целевой плате могут использоваться по усмотрению разработчика.

Сигнал запроса прерывания IRQJN от целевой системы поступает на вход элемента DD2.4 и через ключ на транзисторе VT4 возвращается обратно. Такое решение обеспечивает требуемый уровень напряжения на линии IRQ в момент входа МК в отладочный режим и позволяет "пропускать" в процессе отладки сигналы внешних запросов на прерывание без опасности повреждения их источника повышенным напряжением.

Перемычки Х1 и Х2 служат для приведения уровней на линиях РТх1—РТх4 в соответствие с тактовой частотой МК. Перемычку Х1 устанавливают при использовании МК HC908GR/GP с кварцевым резонатором на частоту 32,768 кГц. Положение перемычки Х2 определяет уровень сигнала на линии РТх3, необходимый для настройки МК на работу в отладочном режиме с кварцевым резонатором на частоту 9,8304 или 4,9152 МГц.

Если рабочая тактовая частота МК целевой системы отличается от указанных, имеется возможность подать на время отладки внешний сигнал OSC1 нужной частоты. Для этого служит генератор на элементах DD2.1 и DD2.1. Микросхемы DD4, DD5 МС74НС125 можно заменить отечественными аналогами КР1554ЛП8.

Д. Панфилов, Т. Ремизевич, А. Архипов.

Литература:

1. Ремизевич Т. Микроконтроллеры для встраиваемых приложений. От общих подходов к семействам НС05 и НС08 фирмы Motorola. — М.: ДОДЭКА, 2000.

2. Кобахидзе Ш. Микроконтроллеры для начинающих. И не только... Средства разработки и отладки устройств на МК. — Радио, 2000, № 4, с. 22, 23.

3. http://www.pemicro.com

Материал подготовил А. Кищин (UA9XJK).

Rambler's Top100
Rambler's Top100
Copyright © Russian HamRadio

Hosted by uCoz