Главная
Новости рынка
Рубрикатор



Архив новостей -->



 



   

С. Копытин

DAvE — поддержка проектирования для микроконтроллеров Siemens

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

    Таким продуктом является DAvE — виртуальный Digital Application Engineer фирмы Siemens, способствующий разработке встроенных приложений на МК семейств С500 и С166 контроллеров CAN 80С90/91 и в дальнейшем на МК нового 32-разрядного семейства TriCore. DAvE — это уникальная система поддержки проектирования, не требующая особых временных и денежных затрат и основанная на базе данных на CD-ROM. DAvE помогает определить МК, наиболее подходящий для требований приложения, обеспечивает контекстно-чувствительный доступ ко всей информации по кристаллу, производит шаг за шагом конфигурирование каждого модуля в составе МК и автоматически генерирует для него полностью протестированные драйверы — и все это по нажатию одной клавиши.

Выбор микроконтроллера

    Предположим, что в проекте требуется 16-разрядный МК с 32 Кбайт встроенного ПЗУ, 2 Кбайт встроенного ОЗУ, 5 таймерами/счетчиками, 10 каналами за-хвата/сравнения, 4 каналами ШИМ, одним интерфейсом USART и 4 каналами АЦП. Для определения требуемого МК первым делом следует запустить DAvE на персональном компьютере и войти в меню Products, где находятся все МК Siemens, расположенные по семействам. Далее можно выбрать пункт 16-Bit Microcontrollers и осуществить выбор непосредственно из списка или использовать средство быстрого просмотра Smart Search, которое позволяет перечислить все требуемые характеристики устройства:

  • Internal RAM (Byte size).
  • Internal ROM, FLASH or OTP.
  • # of I/O lines.
  • # of timer / counters.
  • # of capcom / PWM channels.
  • # of ADC channels.
  • # of U(S)ART modules.
  • # of SSC (SP) modules.
  • # of CAN modules.
  • I2C module.
  • Other peripherals.

    После ввода характеристик щелчок на Search выводит список кристаллов, в той или иной степени удовлетворяющих поставленным требованиям. В нашем примере таковыми являются C167CR и C167S. После щелчка по полю выбранного МК DAvE покажет структуру кристалла и входящие в его состав модули (рис. 1). Для получения информации по выбранному МК достаточно щелкнуть по клавише с буквой i, расположенной слева вверху на панели инструментов, и выбрать один из пунктов: функциональные особенности, краткая информация, руководство пользователя, системы команд, технические характеристики. Кроме того, для ознакомления с функциональными особенностями модуля или соответствующим фрагментом в руководстве пользователя достаточно указать на этот модуль мышью и щелкнуть правой клавишей. При этом появится контекстное меню.

Рис. 1. DAvE - интуитивный интерфейс к документации и информации

    Все эти средства, находясь на персональном компьютере вместе со средствами разработки, упрощают работу с МК Siemens и превращают DAvE в неоценимого консультанта и источник информации на протяжении всей разработки.

Конфигурирование встроенной периферии

    Продолжая наш пример, предположим, что был выбран МК C167CR. Здесь начинается самое интересное — DAvE помогает конфигурировать модули и автоматически генерировать набор С-функций для инициирования кристалла и управления периферией. Первым шагом на этом пути является создание нового проекта с C167CR — пункт меню Project/New. DAvE попросит обозначить директорию проекта, в которой будут размещены исходные тексты, файлы заголовков, а также файл, где DAvE сохранит конфигурацию данного проекта.

    Прежде чем приступить к конфигурированию периферии, DAvE автоматически вызывает мастер конфигурации Project Settings и запрашивает спецификацию проекта: точный тип МК и C-компилятора, тактовую частоту и начальные установки. Следует отметить, что при изменении условий тактирования DAvE автоматически пересчитывает временные характеристики всех периферийных устройств.

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

    Конечно, DAvE не был бы хорошим инженером, если бы не смог ответить на возникающие по ходу вопросы, например, “Почему эта установка запрещена?” или “Какой бит изменится в результате моих действий?”. Для каждой группы установок при щелчке правой кнопкой мы-ши появляется контекстное меню со ссылками на закладки в руководстве пользователя, на разъяснения особенностей функционирования и на содержимое, подвергающиеся изменению.

    Просмотр текущего значения разрядов выбранного регистра осуществляется Register Viewer. Поскольку отображаемые значения динамически изменяются при вводе установок, всегда присутствует связь между функциональным уровнем, на котором работает пользователь, и битовым уровнем, где работает DAvE.

    Имея основные установки проекта, можно начать поочередную конфигурацию периферийных модулей. Предположим, что для передачи байта через асинхронный последовательный интерфейс USART требуется использовать таймер, и что был выбран таймер 2 из блока таймеров общего назначения GPT1. После вызова мастера установки Configure для GPT1 получаем таблицу для таймера 2 (рис. 2), в которой выставляем режим Timer Mode и разрешаем внешнее управление направлением счета T2UDE, на вход таймера задаем частоту Fcpu/64, старт таймера после инициализации T2R и разрешаем сигнал прерывания T2IE. При разрешении внешнего управления направлением счета в регистре T2CON устанавливается бит T2UDE и в то же время назначается вывод 15 порта 5. Это можно проверить, подведя мышь к группе Enable external Up/Down, нажав правую клавишу и вызвав Register Viewer для регистра T2CON.

Рис. 2. Таблица для конфигурирования GPT1

    Теперь, если после завершения работы с мастером GPT1 (Save & Close) вызвать мастер конфигурации для Port 5, вывод 15 уже будет назначен как управляющий вход таймера 2. Ответ на вопрос, почему это случилось, можно получить, щелкнув над этим выводом правой кнопкой мыши. Следующим шагом конфигурации таймера 2 является назначение уровня и группы прерывания, что осуществляется простым перетаскиванием значка таймера на выбранную позицию в таблице прерываний.

    И, наконец, при работе с таблицей Functions осуществляется выбор требуемых для приложения C-функций — это в первую очередь функция инициализации таймера GT1_vInit, функции GT1_vStartTmr, GT1_vStopTmr, GT1_vLoadTmr и процедура обработки прерывания GT1_viIsrTmr2, которая уже была автоматически выбрана при задании уровня прерывания для таймера 2. После выбора функций их имена и имена исходных файлов могут быть изменены и введены комментарии по поводу конфигурации модуля.

Генерация кода

    При нажатии кнопки Save & Close завершается конфигурация GPT1 и осуществляется либо переход к другому модулю, либо генерация файла-отчета о проекте, где будет точно указано, как сконфигурирован каждый из модулей. Опустим оба этих шага и сразу сгенерируем код нажатием клавиши Generate code на панели инструментов. После генерации кода с помощью клавиши Start the File Viewer на панели инструментов можно просмотреть список файлов, сгенерированных DAvE в директории проекта. При двойном щелчке на этих файлах DAvE отображает их содержимое. В нашем примере это следующие файлы:

  • docu.rtf — файл документа, который содержит сводную инфор-мацию о проекте, полный список файлов, инициализацию периферии и интерфейс сгенерированных функций API (Application programming interface);
  • gt1.c, gt1.h — исходный файл и файл заголовка на C для периферии GPT1, которые содержат код функций/макросов, запрошенных для генерации кода;
  • main.c — файл, содержащий главные функции инициализации;
  • main.h — файл со всеми основными назначениями и включениями;
  • start.asm — файл запуска, который содержит соответствующим образом измененную ассемблерную процедуру запуска проекта;
  • make.bat — командный файл для компиляции и линкования проекта при использовании инструментальных средств.

    Хотя не было написано ни единой строчки кода, уже сгенерировано базовое приложение для управления GPT1 на МК C167CR с профессионально написанными и подробно прокомментированными функциями. Следующим шагом является конфигурирование остальных модулей подобным образом и добавление собственного кода для интеграции с аппаратной частью приложения. При этом DAvE экономит массу времени и работы, связанной с выявлением ошибок, и помогает лучше понять функционирование кристалла и методику его программирования.

    Вероятно, возникнет вопрос “Сколько же все это стоит?”.

    Ответ будет неожиданным: нисколько. Siemens разработал это приложение для тех, кто уже работает с МК С500 и С166 или только собирается работать. DAvE распространяется бесплатно, и его можно загрузить с сайта www.smi.siemens.com/DAvE.html или запросить CD-ROM у российских дистрибьюторов фирмы Siemens.

    Микроконтроллеры семейства Siemens C166 отличаются гибкостью и легко адаптируемы практически для любого приложения. С возможностями МК этого семейства можно ознакомиться на наших Internet-страницах или же в руководствах пользователя, ко-торые доступны на сайте Siemens www.smi.siemens.com/mc.html.

    Также рекомендуем электрон-ный справочник C166 Primer http://www.hitex.com/automation/docs/166primer/, содержащий весьма полезную информацию о проектировании устройств на основе семейства С166, его архитектуре и советы по программированию.

Фирма «К&П Электроника»
196240, Санкт-Петербург, Пулковское шоссе, 9/3
Тел. (812) 123-3554
Тел./факс (812) 325-2792
E-mail: kpe@mail.wplus.net
Internet: http://www.kpe.sp.ru






Реклама на сайте
тел.: +7 (495) 514 4110. e-mail:admin@eust.ru
1998-2014 ООО Рынок микроэлектроники