Научная статья на тему 'Использование программного обеспечения max plus II и e-lab для сквозного проектирования цифровых устройств с микропроцессорным управлением'

Использование программного обеспечения max plus II и e-lab для сквозного проектирования цифровых устройств с микропроцессорным управлением Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Использование программного обеспечения max plus II и e-lab для сквозного проектирования цифровых устройств с микропроцессорным управлением»

ИСПОЛЬЗОВАНИЕ ПО 'MAX+PLUS II' И 'E-LAB' ДЛЯ СКВОЗНОГО ПРОЕКТИРОВАНИЯ В ЛАБОРАТОРНЫХ РАБОТАХ

Ю.В. Китаев

Разработка небольших и средних по объему проектов в лабораторных работах и курсовых проектах в сжатые сроки может производиться с использованием АРМ 'MAX+PLUS II' фирмы Altera [1] и 'E-LAB' фирмы E-LAB Computers.

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

В качестве примера рассмотрим техническое задание на разработку прибора для измерения числа импульсов, поступающих от экспериментальной установки.

1). Частота повторения импульсов - в диапазоне 100-150 МГц.

2). Отображение числа поступивших импульсов - на жидкокристаллическом дисплее (LCD).

3). Количество замеров отображается на светодиодном 8-сегментном индикаторе (LED).

4). Отдельный замер производится кнопкой "пуск".

5). Массив измеренных значений передается на компьютер для дальнейшей обработки.

6). Дополнительно предусматривается возможность подачи звукового сигнала и мониторинга уровня напряжения.

Из многочисленных способов решения этой задачи остановимся на комплексном решении, включающем блок измерения (БИ) и блок управления (БУ). БИ выполним на высокоскоростных программируемых логических интегральных схемах (ПЛИС), а БУ на микроконтроллере с Flash памятью.

ПЛИС'ы выпускаются несколькими фирмами, среди которых доминирующее значение занимают: Altera, Xilinx, Atmel и Actel. Выбор определяется только тем, что лучше всего знает разработчик или что имеется под рукой, так как характеристики однотипных микросхем у разных компаний, по существу, имеют небольшой разброс. Компании Altera и Xilinx, кроме микросхем, выпускают пакеты программного обеспечения для сквозного проектирования на основе своих изделий «MAX+plus II», «Quartus» фирмы Altera и «WebPACK ISE» фирмы Xilinx. В нашем распоряжении будут ПЛИС'ы и средства разработки компании Altera.

Микроконтроллеры (МК) с флэш-памятью выпускаются таким количеством различных компаний, что одно их перечисление займет полстраницы. Одним из пионеров является фирма Atmel, которая выпускает несколько линеек МК, различающихся по различным характеристикам. Здесь уместно сказать, что чемпионом по количеству применений является семейство на основе ядра MCS-51, которое поддерживают многие фирмы-изготовители МК. Компания Atmel выпускает МК, которые можно условно разбить на две группы: на основе AVR технологии [2] и на основе ядра MCS-51. Выбор той или иной группы является делом вкуса, возможностей, поддержки производителя, наличия ПО для разработки или собственных наработок. Для решения нашей задачи остановимся на AVR микроконтроллерах фирмы Atmel..

Одна и множества возможных блок-схем приведена на рис.1. В целях обучения проектирование БИ производится несколькими способами, с использованием: 1) мастера генерации логических мегафункций, 2) библиотек логических элементов и 3) языка описания логических устройств - AHDL [3]. Выбор AHDL вместо, например, Verilog HDL или VHDL, обусловлен тем, что он встроен в «MAX+plus II» и к нему прилагается

контекстная справка с примерами. Таким образом, проектирование БИ будет производиться с помощью графического и текстового редакторов.

h СОМ порту ЭВМ

БЛОК uhs УПРАВЛЕНИЯ

БЛОК

ИЗМЕРЕНИЯ

Altera EPM7064SLC44 5

count-enable

8х"2-> 1"

count

&

doch

aclr

CT 2Т16 MUX

В0..7

'+1 Y0..7

Q3..15 AD..7

R Ctrl

MAX232 □

PD5 PD1 PDO PA7 XTAL1 TxD RxD АЦП

Atmel megaS535 PC7..0 CPU

PD2 PD3 РАО

5МГЦцЗЗ

LCDisplay

©CS P?

i_i

i I

Рис.1. Вариант блок-схемы

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

Далее в схему добавляется мультиплексор. Степень мультиплексирования может быть различной и определяться, например, числом свободных выводов портов МК. Мультиплексор введем в схему из библиотеки макрофункций

Затем добавляем в схему вход разрешения счета, пропущенный на этапе генерации логических мегафункций. Для этого в текстовом редакторе из пункта основного меню "MAX+plus II | Text Editor" вводим описание 2-х входового элемента "И" my1_and2 на языке AHDL SUBDESIGN my1_and2 (x0,x1: INPUT; y: OUTPUT;) BEGIN y = x1 & x0; END;

и создаем символическое условное обозначение элемента разрешения счета.

В соответствии с техническим заданием часть информации в разрабатываемом приборе нужно вывести на 8-сегментный дисплей. Для экономии числа микросхем и соединительных проводников будем использовать последовательную схему вывода кода, выполненную на регистрах сдвига (например, с использованием стандартной схемы 74595). Окончательно схема БИ приобретет вид рис .2.

Рис. 2 Окончательная схема БИ

Компиляция, моделирование, расчет временных характеристик и программирование ПЛИС также производится не выходя из среды проектирования MAX+plus II.

Теперь перейдем к разработке БУ. Писать программы для МК можно как на ассемблере, так и на языках высокого уровня (ЯВУ). В первом случае машинный код может быть короче и быстрее, но требуются значительные усилия и время. Во втором случае время написания программы может сократиться в несколько раз, но полученный код оказывается менее эффективным. Разработке программ - драйверов устройств ввода/вывода на асемблере был посвящен отдельный курс, поэтому здесь рассмотрим интегрированные средства для создания и отладки программ на ЯВУ.

Существует огромное количество фирм, которые предлагают разнообразное программное обеспечение (ПО) на языках С, Pascal, PLM, Basic. В работе студентам предлагается на выбор 2 варианта:

1) кросс-компилятор CodeVisionAVR (ЯВУ С) и отладчик-симулятор AVRStudio;

2) интегрированная среда разработки и отладки E-LAB на языке программирования Pascal.

Полезной особенностью CodeVisionAVR и E-LAB является наличие расширенных библиотек для работы с внешними устройствами, а также генератора шаблонов, разрабатываемых программ. E-LAB дополнительно имеет большой набор визуальных виртуальных устройств: ЖКИ и светодиодные дисплеи, матричные дисплеи, клавиатура, АЦП, шаговые двигатели, удаленный терминал и многое другое (рис.3).

Наиболее быстро можно написать целевую программу для МК, используя мастера создания шаблонов программы. Например, в E-LAB мастер шаблонов включает огромное количество внутренних и периферийных устройств и параметров их настройки и позволяет упаковать 8 тысяч строк ассемблерного кода в пару десятков операторов Pascal. Достигается это за счет встроенных в компилятор драйверов указанных устройств и библиотечных функций, которые для разработчика остаются непрозрачными. В результате за 2 четырехчасовых лабораторных занятия студенты проектируют и про-

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

Рис. 3 Иллюстрация возможностей E-LAB

Литература

1. Стешенко В.Б. EDA. Практика автоматизированного проектирования радиоэлектронных устройств. М.: Нолидж, 2002

2. Голубцов М.С., Кириченкова А.В.. Микроконтроллеры AVR: от простого к сложному. М.:СОЛОН-Пресс, 2004.

3. Антонов А.П. Язык описания цифровых устройств Altera HDL Практический курс. М.: РадиоСофт, 2002.

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