Научная статья на тему 'Разработка и отладка систем на базе микросхем фирмы Xemics'

Разработка и отладка систем на базе микросхем фирмы Xemics Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
98
35
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сенютин Сергей

В предыдущей статье («Интеллектуальный датчик с малым энергопотреблением» — «КиТ» № 8'2003) рассказывалось о структуре конкретного устройства, в котором применяются микросхемы фирмы XEMICS.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка и отладка систем на базе микросхем фирмы Xemics»

Компоненты и технологии, № 9'2003 Компоненты

Разработка и отладка систем

на базе микросхем фирмы Хетк§

В предыдущей статье («Интеллектуальный датчик с малым энергопотреблением» — «КиТ» № 8 2003) рассказывалось о структуре конкретного устройства, в котором применяются микросхемы фирмы Хеткв. Собственно само устройство представляет узкоспециальный интерес для профессионалов в данной области. Но аппаратнопрограммные средства для разработки более широкого класса устройств на базе микросхем фирмы Хеткв интересны более широкому кругу специалистов.

Для них и предлагается данная статья.

Сергей Синютин

[email protected]

Таблица1

Любого разработчика при знакомстве с новым микропроцессорным набором после изучения его технических характеристик прежде всего интересует, с помощью каких технических и программных средств можно с ним работать. По поводу программных средств особых проблем обычно не возникает — правилом хорошего тона для всех фирм-производителей стал обязательный выпуск ассемблера, отладчика и интегрированной среды разработки. Но после разработки конкретного устройства на базе микроконтроллера с использованием встроенных периферийных устройств, отладить его на программном эмуляторе практически не возможно. Особенно это касается приложений, работающих с низкоуровневыми аналоговыми сигналами, интерфейсных схем, схем, реализующих обработку прерываний от внешних сигналов. Средства эмуляции внешней среды программных отладчиков недостаточны для профессиональной работы. Поэтому, спроектировав систему, подобную датчику из предыдущей статьи, необходимо решить вопрос, с ее отладкой.

Фирма Хеткэ предлагает для этого набор демонстрационных плат с возможностью программирования и отладки в комплексе со своими средствами разработки. Но для разработчика (особенно если он работает с 5-10 микроконтроллерами различных типов) приобретение новых недешевых средств, чтобы только «попробовать» новый микроконтроллер, обычно вызывает проблему (по крайней

Сокращение Описание

MTP Multiple Time Programmable — Многократное программирование

Crck Coolrisc clock — Тактовая частота контроллера

Ptck Peripheral test clock — Тактовая частота периферийных устройств

HV High Voltage — Повышенное напряжение

Testck serial clock for shift instruction — Тактовая частота для сдвига команды

Testin serial input for shift instruction — Вход данных для приема команды

Testout serial output for shift instruction — Выход данных для чтения результата

мере, это трудно объяснить руководству предприятия). Отсюда возникают две задачи:

• разработка достаточно простого программатора;

• разработка универсального стенда для отладки

разработок.

Начнем с программатора. Собственно процедура программирования подробно описана в документе Technical Note TN8000.02 XE88LC01-03-05 programming, но целью данной статьи является не перевод данного руководства, а руководство к действию, то есть демонстрация, как можно воспользоваться диаграммами и алгоритмами, чтобы быстро получить результат — работающий программатор. Прежде всего, приведем некоторые сокращения, используемые в руководстве (табл. 1).

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

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

В качестве инструментального контроллера был выбран контроллер фирмы Atmel Atmega8-16AI. Выбор данного контроллера обусловлен наличием простого программатора PonyProg (подключается к LPT-порту ПК и содержит одну микросхему 1533АП5) и системы программирования E-LAB Pascal (www.E-LAB.de).

Собственно синтаксис в системе E-LAB ближе к Modula, что и явилось причиной выбора ее в качестве инструментальной системы программирования. Кроме того, E-LAB — это не просто компиля-

Компоненты и технологии, № 9'2003

Таблица 2

Имя контакта Наименование Назначение в режиме программирования Значение в активном состоянии Тип сигнала

Vbat Вход напряжения питания Vdd +5 В Постоянное напряжение

Vss Общий Vss — Общий 0 В Постоянное напряжение

RESET Цифровой вход < Vbat Сброс 0 В Постоянное напряжение

Vreg Выход напряжения питания | Vreg (подсоединить конденсатор = 1 мкФ)

Oscln Цифровой вход < Vbat Crck Vss или Vdd Переменное напряжение

OscOut Цифровой вход < Vbat Ptck Vss или Vdd Переменное напряжение

VPP Вход напряжения программирования HV Vdd или Vddt или Vddhigh Переменное напряжение

PortA(O) Цифровой вход < Vbat Testin Vss или Vdd Переменное напряжение

PortA(1) Цифровой вход < Vbat Testck Vss или Vdd Переменное напряжение

PortB(O) Цифровой выход < Vbat Testout Vss или Vdd Переменное напряжение

crck-

ptck-

HV-

testin -testck -testout -

Vbat Vreg

OscOut VPP

PortA(O) RESET

PortA(l)

PortB(O) VssVreg*

XE88LCxx Vss

VDD

1 uF

У

vss

Рис. 1. Подключение микроконтроллера XE88LC01 для программирования

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

Демо-версия E-Lab позволяет реализовать все алгоритмы программатора (для Atmega8 демо-версия позволяет запрограммировать весь объем Flash-памяти программ).

В таблице 2 показаны все выводы микроконтроллера XE88LC01, используемые при программировании.

В таблице 3 приведены значения параметров, изменяющихся при программировании. Из таблицы видно, что Vdd должно иметь минимум 3 уровня (5, 7, 11,55 В). Для реализации этого в схему программатора введен стабилизатор с коммутируемым напряжением стабилизации на основе линейного регулятора напряжения LM317.

У такого стабилизатора напряжение стабилизации равно:

С/=1.25х

где И1=249 Ом, а с помощью изменения И2 можно получить требуемые напряжения. Коммутировать резисторы, определяющие И2, будем транзисторными ключами (хотя более подходящие результаты дает использование специализированных ключей, например ADG661).

Из таблицы 4 видно, что вполне возможно при тактовой частоте микроконтроллера 16 МГц программно реализовать временные диаграммы сигналов для программирования.

Для организации управления напряжением программирования использовались выводы PD4, PD6 и PD7 порта D. Вывод PD5 используется для выключения напряжения программирования. Выводы PC0-PC3 используются для программной последовательной передачи команды в программируемый микроконтроллер и приема информации из него.

Таблица 3

Параметр Min Max Единицы изм. Примечания

Vdd 4,5 5,5 В

Vddt Vdd+2,0 Vdd+2,5 В

Vddhigh 11,55 11,65 В Іпрог. < 30 мА

Конденсатор Vreg 0,9 1,1 мкФ

Температура 10 40 °С Тип. = 25

Компоненты и технологии, № 9'2003

Таблица 4

Параметр Описание min max Ед. изм.

ta Предустановка Testin относительно фронта testok 50 нс

tb Задержка Testin stable после фронта testck 50 нс

tr Время переднего фронта Testck 10 нс

tf Время заднего фронта Testck 10 нс

th Длительность Testck при высоком уровне сигнала 125 нс

tl ДлительностьTestck при низком уровне сигнала 125 нс

to Длительность Crck и ptok в высоком/низком уровне 800 нс

trfc Передние и задние фронты Crck и ptok 10 нс

ttf Быстрая ptck-серия во время стирания и верификации 115 125 нс

Установки _ Чтгииг р^Запись . Прогкотр ^ Чтение Стиракие ^ Запись J(Ш1Ы в файл Ьуфера из флчшл фл*<ш во фл-sui Q ВЫХОД

Выводы PB1-PB2 используются для организации тактовых серий микроконтроллера и периферии. Связь управляющего контроллера с персональным компьютером осуществляется через интерфейс RS232, для чего применяется преобразователь уровня на микросхеме D1. Схема его включения особенностей не имеет. X1 — разъем программатора Pony-Prog.

Для разработки программного обеспечения воспользуемся алгоритмами из указанного выше технического руководства. В описании алгоритмов вводится понятие Macro. На самом деле это — обычная процедура в смысле Pascal или С. Поэтому технология преобразования алгоритмов программирования в программу на E-LAB следующая:

• каждую Macro заменяем процедурой или функцией;

• в основную программу добавляем процедуры инициализации выводов портов, организации тактовых серий и т. п.;

• организуем диалог с персональным компьютером для приема команд и данных и программирования.

Покажем на примере конкретной Macro, как производится такая замена. Например, возьмем следующий фрагмент из руководства по программированию:

V ВИХОЛ (Ті Отмена с сохранением

0040 ОС 94 22 00 АГ 93 ВГ 93 er 93 DF 93 ЕГ 93 ГГ 93

0050 8F 93 9Г 93 or 93 1Г 93 5Г 93 4F 93 or В7 ОГ 93

0060 S3 94 09 Еб 50 16 10 ГО 12 DO 55 24 OB Е6 02 ВГ 3~.жР..р.PUS.ж.1

0070 ОГ 91 ОГ ВГ 4Г 91 5Г 91 1Г 91 or 91 9Г 91 8Г 91 'ц'Ц'

0080 Fr 91 ЕГ 91 Dr 91 СГ 91 BF 91 АГ 91 18 9S 65 El я'п'Я'П'1'ï'.-еб

0090 АО Е6 ВО ЕО 12 96 DD 91 CD 91 СО ЗО 11 F4 DO 30 ж® а.-Э'Н'АО.фРО

00 АО 61 ГО OB 81 01 TD 09 СО ОС 8D ОА 95 ОС 8Г 00 23 ар.Г.э.А.К.>.Ц.0

ООВО 21 Г4 14 97 OE 94 51 01 14 96 12 96 6А 95 51 F7 'ф.-.~0..-.-J*0ч

ООСО 08 95 or ЕГ OD ВГ ОГ ЕО OE BF 00 ЕС 05 ВГ 55 24 .•.п.і.а.ї.и.iü5

00D0 04 ЕО 03 ВГ OB E6 02 ВГ 02 ЕО 07 ВГ 78 94 07 EF .а.Х.ж.ї.а.їх~.п

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ООЕО 02 В9 18 9А 19 9A 1А 9А or EF 07 вв ЕЕ 24 00 27 .f.Л. Jb.Jb. п. »o$. *

OOFO 01 вв 69 DO OE ЕЗ 8Г DO 01 ЕЗ 8D DO 02 ЕЗ 8В DO .»ір.гцр.гіо>.п< p

0100 03 ЕЗ 89 DO 04 ЕЗ 87 DO 05 ЕЗ 85 DO 06 ЕЗ 83 DO .n*.P.r*P.r_P.pf»P

ЯПу»! Vj ËjWndomComnand | ^Ddpin3

IlSfZapll

w Miaosott Wwd • Д I iSRuÇÔ ЇЗДІ

Рис. 3. Основное окно программы персонального компьютера

macro signature

shift_instruction(1111111111111111111111)

cycle_crck(1)

shift_signature

cycle_crck(1)

end macro

В системе E-Lab этот фрагмент будет выглядеть так:

procedure signature; begin

shift_instruction(%1111111111111111111111);

cycle_crck(1);

shift_signature;

cycle_crck(1);

end;

В общем случае замена Macro на Procedure — вещь довольно рутинная и не представляющая особой сложности. Диалог же с персональным компьютером каждый разработчик может организовать по своему желанию. Автор воспользовался для этого системой

программирования Delphi 5. В данной системе с помощью готовых компонентов достаточно просто и быстро реализуются такие вещи, как ввод файла, редактирование в двоичном и шестнадцатеричном формате, работа с портом И8232. Основное окно программы персонального компьютера показано на рис. 3.

В дальнейшем программа персонального компьютера может развиваться, включая в себя элементы работы с другими объектами стенда (кроме программатора). В частности, для отладки датчика использовались программы работы с преобразователем «емкость-напряжение».

При разработке стенда учитывалась необходимость работы как с микроконтроллером, так и с преобразователем «емкость-напряжение». Причем на начальном этапе работы преобразователь емкости настраивался и программировался через Atmega8, а дан-

Х5

см®-

Х7 С2 ©-Х9 С1

XII

OUT®

Х13

see ®-

XI2, MOSI

I®-

11

DD2

10

12

14

15

16

POR

CM VSS

CG REF

C2 VDD

CI

OUT NC

SDA NC

SCK NC

ST NC

Х2

TestCK ©-

XI

Testin ®—

2

4

3

13

хз

TestOut ®—

Т

■¡J.O

+5V

XE2004I

Рис. 4. Принципиальная схема стенда отладки микроконтроллера XE88LC01

40

41

42

43

12

13

14

15

16

17

18 19

4

5

6

7

8 9

10

11

DD1

РАО AC R0

РАЇ AC R1

PA2 AC R2

РАЗ AC R3

PA4

PA5 АС_А0

PA6 АС А1

РА7 АС А2

АС A3

РВО АС_А4

РВ1 АС А5

РВ2 АС А6

РВЗ АС А7

РВ4

РВ5 VPP/TEST

РВ6 VSS

РВ7 VBAT

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

VREG

РСО

PCI

РС2

РСЗ VMULT

РС4 RESET

РС5

РС6

РС7

32

31

22

21

ЗО

29

28

27

26

25

24

23

70

33

34

35

37 сч_І_о Ґ

OSCOUT

OSCIN

XE88LC01

36

39

38

Х4

® HV Х6

<г> VDD Х8

О VSS

XI о <°> Reset

Х14 -® РТС К XI5 -® CRCK

Компоненты и технологии, № 9'2003

ные с него вводились через АЦП Atmega8. Схема стенда показана на рис. 4.

Для простоты здесь не показаны Pin неиспользуемых при программировании ножек, а также аналоговые элементы для ADC и DAC микроконтроллера XE88LC01. Конструктивно программатор выполнен на одной плате со стендом, а необходимые соединения для программирования осуществляются перемычками.

Рассмотренный стенд-программатор не содержит дефицитных деталей, а главное —

«открыт», то есть имеется возможность его расширения как в части программы инструментального микроконтроллера, так и в части программы на ПК, не говоря уже о составе аппаратных средств. Такие расширения будут необходимы, и это ясно видно уже из того, что даже сейчас некоторые контроллеры фирмы Хетіс8 программируются по другим алгоритмам, достаточно хорошо документированным.

Приведенные схемы и методика преобразования алгоритмов в программы для инст-

рументального микроконтроллера являются лишь своеобразным трамплином для быстрого освоения таких многообещающих микроконтроллеров, какими являются изделия фирмы Хетк8. МИ

Использована информация

1. www.xemics.com

2. www.atmel.com

3. www.e-lab.de

4. www.analog.com

i Надоели баннеры? Вы всегда можете отключить рекламу.