Electronics Bulgaria  
Microdis Electronics
Microdis Electronics

Първи опити с нов 32-битов вграден микроконтролер Cortex-M4 на ARM

23.05.2013   |   Начало»Експертно
Редактор
Пепа Петрунова
Пепа Петрунова
Пепа Петрунова Редактор
Пепа Петрунова

Как DAVE 3 промени живота на разработчиците

Когато Infineon представи новата фамилия микроконтролери XMC4500 на базата на 32-битов вграден Cortex-M4 на ARM, реакциите бяха от „най накрая Infineon има прилично процесорно ядро“ до „не и още един с ARM ядро“. Независимо от различните мнения, има добри основания да се спомене преди всичко предимството на широко разпространените ядра с почти безкраен брой налични софтуерни пакети за самото ядро на ARM, както и дългият списък реномирани производители на компилатори и IDE. Фамилията включва микроконтролери в корпуси с 48–144 извода и предлага платформа с възможност за мащабиране с до 1MB флаш памет и 160kB SRAM в чипа. Ново разработени периферни модули и тактова честота макс. 120MHz позволяват използване в приложения с изисквания за работа в реално време.

Също по отношение на софтуера Infineon разработи и представи на пазара с DAVE 3 своя собствена безплатна IDE. Защо Infineon предприема тези големи усилия? Съгласно изявления на производителя софтуерът трябва най-малко да революционизира разработката на вграден код или поне значително да я опрости. За да мога, като инженер по техническата поддръжка при дистрибутора Rutronik, да си изградя собствено мнение, започвам малка разработка за XMC4500 с DAVE 3.

DAVE 3 и Приложения
Развойната платформа DAVE 3 съдържа безплатния Tool Set, включително базирана на Eclipse апаратна развойна среда (IDE), свободни компилатор и програма за отстраняване на грешки. На пръв поглед DAVE 3 прилича на всяка друга IDE на Eclipse. Много често обаче тайната се крие в детайлите.

Наименованието на софтуера DAVE означава Digital Application Virtual Engineer, т.е. разработчикът получава помощ от виртуален помощник. Досега това беше допълнителен софтуер, който позволяваше на разработчика да създава структура на изходен код, включително инициализиране на периферията по графичен път и да спестява много часове обработка на списъци с данни. Между другото тази функция е вградена в IDE, което е прекрасно, но не е революция. Това обаче далеч не е всичко, което предлага новият DAVE. Infineon прави още една стъпка и внедрява – нещо, което вече е обичайно за смартфоните – т. нар. Приложения.

Чрез „DAVE 3 App“ периферията може да се инициализира графично и да се генерира съответен изходен код за XMC4500, който се изпълнява автоматично от контролера след нулиране. Освен това има няколко функции за собствена употреба. Това може да бъде например проста функция SetPin() или ClearPin(), водеща също обаче до сложен код със SetDutyCyle(), PWM или SendString() на USB-интерфейса. Предимствата на тези прости приложения, които са предназначени за отделни периферни модули, се проявяват, когато в дадена програма са необходими повече периферни устройства – такъв е случаят при приблизително 99,9999% от реалните приложения.

За да приведат в действие различни интерфейси и периферни устройства, досега разработчиците бяха ориентирани основно към образците на съответния производител на контролери, тук също например към първите изпитания с DAVE 3. Вероятността да се намери пример, при който се използва точно периферията, от която се нуждае разработчикът, клонеше към нула. Следователно трябваше да се обедини кодът на много приложения  и да се провери всеки ред от кода за това, дали същият е необходим в рамките на конкретния контекст и/или колко целесъобразен е той. В момента това е завършено при DAVE 3. Тук разработчикът може да „събере на едно място с кликване“ необходимите му периферни устройства.

В този случай приложението на DAVETM 3 извършва съответната инициализация, включително API за собствения код на приложението. Засега съществуват възможности за прости, близки до периферните устройства приложения. Освен това Infineon разработи други приложения, които напр. управляват OLED-дисплей по SPI, включително графичната библиотека на Segger. Нова стъпка напред прави приложението, което предоставя цялостен уеб сървър. Очакват се следващи приложения, напр. за управление на двигатели.

Проектът OLED
За да проверя дали всичко това действа на практика и дали терминът „революция“ е обоснован, започвам едно изследване. Беше ми досадно да накарам да мига един прост светодиод. Вместо това използвам стартов комплект с OLED-дисплей и великолепни приложения, първо за управление на OLED-дисплея и след това за отчитане на данните от датчик по шината I²C и визуализиране на измерваните стойности.

За целта създавам нов проект и добавям приложението GUISL001. Тази малка програма използва интерфейс USIC, конфигуриран като главен SPI и един В/И извод. Чрез този интерфейс тя комуникира с OLED дисплея. Понеже в XMC4500 почти всяка функция на извод може да се пренесе на повече изводи, желаното разположение на изводите трябва да се съобщи на програмата. Това може да се направи във всеки момент от фазата на разработка.

Може да се предвиди промяна на разположението на по-късен етап в софтуера чрез няколко щраквания с мишката. И така, това е структурата на моето управление за OLED, сега липсва само написания собственоръчно изходен код за използване на библиотеката на Segger. Сега целият проект се компилира, зарежда се чрез програмата за отстраняване на грешки в стартовия комплект и революцията започва. Чрез написания от мен на шест реда С-код създадох ново извеждане на OLED – впечатляващо!

Проектът „Оценка на датчик“
Следващият проект е оценка на датчик чрез I²C. За обект ще взема 3-осов датчик за ускорение от Bosch. В моето приложение добавям I²C-приложение и реализирам ново разположение на изводите. За вярно отчитане на сигналите от датчика по интерфейса I²C са достатъчни не повече от шест команди, а наличните функции могат също да бъдат от полза. По този начин, с помощта на библиотеката на Segger, мога да изведа на OLED измерваните от датчика стойности.

След като извърша безпроблемно тези опити, възнамерявам да изградя връзка с компютъра, определено с повишено внимание! В стартовия комплект няма интерфейс RS-232 (контролерът, естествено, би могъл да има), така че трябва да използвам интерфейс USB-OTG. Поради това стъпвам на нова територия и се доверявам на DAVE.

За да работи контролерът в режим на USB-устройство, в компютъра трябва да се създаде виртуален COM-порт. Чрез тази настройка мога да направя първите опити за връзка с проста програма за терминал и не трябва да се заемам веднага с програмиране на компютъра. Подходящото приложение на DAVE е USBVC001.

Свързвам също приложението в моята програма и добавям за първите тестове три реда изходен код:

USBVC001_Init();
като в безкраен цикъл
USBVC001_SendString((const char *)"TEST");
USB_USBTask();

Щом програмата заработи, компютърът отправя запитване за USB драйвер. Първата стъпка се осъществява по следния начин: USB е разпознат като целеви обект. Откъде обаче мога да получа драйвер?

Кратък поглед върху функцията „Помощ“ на приложението показва пътя към съответния драйвер. След завършването на кратката инсталация на драйвера следва: В системните настройки се въвежда виртуален COM-порт. Чрез програма за терминал отварям съответния порт и получавам цял ред „Тестови съобщения“. По този начин беше поставена основата за подготовка на данните от датчика и изпращането им през USB към компютъра. Той оценява данните чрез малък, но функционален графичен потребителски интерфейс. И всички съмнения относно IDE на Infineon са окончателно отстранени!

     
Източник: Rutronik

Ключови думи: ARM микроконтролери   Rutronik   DAVE 3   Cortex  

Област: Експертно  

Comet Electronics
Comet Electronics
Подобни статии
Mouse Electronics
MPEl
CAD Point

АБОНИРАЙТЕ СЕ за единствения у нас тематичен бюлетин НОВИНИТЕ ОТ ЕЛЕКТРОНИКАТА на специализирания портал Electronics-Bulgaria.com.  БЕЗПЛАТНО, професионално, всяка седмица на вашия мейл!


ПРЕМИЕР ФАРНЕЛ ЛИМИТЕД
Последно от Експертно
Comet Electronics

Специализиран портал от групата IndustryInfo.bg

Действителни собственици на настоящото издание са Теодора Стоянова Иванова и Любен Георгиев Георгиев

ПОЛИТИКА ЗА ПОВЕРИТЕЛНОСТ И ЗАЩИТА НА ЛИЧНИТЕ ДАННИ
Условия за ползване
Изисквания и условия за реклама
Карта на сайта

© Copyright 2010 - 2023 ТИ ЕЛ ЕЛ МЕДИА ООД. Всички права запазени.

  ФИРМЕНИ ПУБЛИКАЦИИВидео на седмицатаБизнесПродуктови офертиСъбитиятаПроектиПредстоящоТехнологииКариериЕкспертно
 

ОЩЕ ПОРТАЛИ ОТ ГРУПАТА

IndustryInfo.BG

ПРЕПОРЪЧВАМ МАТЕРИАЛ


 
 
момент...