Поиск по сайту: |
|
По базе: |
|
Главная страница > Статьи > Микроконтроллеры |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Российские микроконтроллеры с ядром Cortex M3 и пример реализации проектаСтатья посвящена краткому обзору серии контроллеров 1986ВЕ9х на ядре Cortex-M3 производства ЗАО «ПКК Миландр», средствам разработки и отладки для него. Введение Популярность 32-битной микропроцессорной архитектуры с сокращенным набором команд (RISC) фирмы ARM Limited растет с каждым днем, поэтому все большее число компаний разрабатывают микроконтроллеры на этом ядре. Одна из последних версий ядра - Cortex-M3. Пока очень немногие из производителей МК освоили это ядро. В настоящее время на российском рынке в основном представлены Следует отметить, что срок окончания ОКР по разработке МК серии 1986ВЕ9х - сентябрь 2010 года, но уже сейчас заинтересованным компаниям предоставляются образцы МК, отладочные средства для них и полная техническая поддержка. Стоит обратить внимание на тот факт, что МК были разработаны для аппаратуры специального назначения, требующей большого запаса по стойкости (то есть способности микросхемы работать в агрессивной окружающей среде), и с широким рабочим температурным диапазоном. Версии микроконтроллеров для гражданского рынка будут представлены компанией в ближайшее время. Основные характеристики микроконтроллера Устройства серии 1986ВЕ9x являются микроконтроллерами со встроенной Flash-памятью программ и построены на базе высокопроизводительного процессорного RISC-ядра ARM Cortex-M3 (производительность - 1,25 DMIPS/МГц (Dhrystone 2.1) при нулевой задержке между обращениями к памяти). Здесь необходимо добавить, что максимальная тактовая частота работы рассматриваемого микроконтроллера - 80 МГц, в то время как максимальная частота выборки данных (в данном случае команд) из Flash-памяти составляет 28,6 МГц (соответствует 35 нс). Для обеспечения максимального быстродействия при существующих технологических возможностях необходимо применять аппаратные решения для ускорения процесса обращения к Flash- памяти. В ряде микроконтроллеров, например, тех, что производят фирмы ЗАО "ПКК Миландр" и STMicroelectronics, для этого реализован специальный буфер "шириной" 64 бита. Но и в него выборка 32-разрядных команд осуществляется фактически с частотой 28,6x2 = 57,2 МГц. Таким образом, для работы при частоте свыше 57,2 МГц необходимо искусственно вводить задержку между обращениями к памяти. При частоте ниже 57,2 МГц задержка между считываниями из памяти является нулевой. В ядре Cortex-M3 реализованы следующие функции:
Таблица 1. Зависимость количества циклов синхрочастоты, требуемых для выполнения операции умножения, при различных разрядностях операндов и результата
Микроконтроллеры работают на тактовой частоте до 80 МГц и содержат 128 кбайт Flash-памяти программ и 32 кбайта ОЗУ. Контроллер внешней системной шины позволяет работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash памятью и другими периферийными устройствами [3]. Встроенные RC-генераторы HSI (8 МГц) и LSI (40 кГц) и внешние генераторы HSE (2-16 МГц) и LSE (32 кГц), а также две схемы умножения тактовой частоты PLL для ядра и USB-интерфейса позволяют гибко настраивать скорость работы периферийных блоков микроконтроллеров. Процессор Cortex-M3 выполнен по Гарвардской архитектуре, которая подразумевает использование раздельных шин данных и инструкций. Они называются шиной Dcode и Icode соответственно. Также имеется дополнительная системная шина, которая предоставляет доступ к области системного управления. У встроенной отладочной системы процессора Cortex имеется еще одна дополнительная шинная структура, которая называется локальной шиной устройств ввода/вывода. Системная шина и шина данных ядра подключаются к внешним (относительно ядра) блокам микроконтроллера через набор высокоскоростных шин, называемых матрицей шин. Для разрешения конфликтов при запросе на доступ к шине используются арбитраж. Блоки, подключенные к шине, могут быть активными задатчиками шины - "мастерами". Матрица шин образует несколько параллельных соединений между шинами ядра Cortex и другими внешними шинными "мастерами", такими как каналы DMA, статическое ОЗУ и устройства ввода/вывода Если два шинных "мастера" (например, ядро Cortex и канал DMA) предпринимают попытку доступа к одному и тому же устройству ввода/вывода, то вступит в действие внутренний арбитр, который разрешит конфликт, предоставив доступ к шине тому, кто имеет наивысший приоритет. Таким образом, архитектура системы памяти за счет матрицы системных шин позволяет минимизировать возможные конфликты при работе системы и повысить общую производительность. Контроллер DMA дает возможность ускорить обмен информацией между ОЗУ и периферией без участия процессорного ядра. Встроенный регулятор для формирования питания внутренний цифровой части формирует напряжение 1,8 В и не требует дополнительных внешних элементов. Таким образом, для работы микроконтроллеров достаточно одного внешнего напряжения питания в диапазоне от 2,2 до 3,6 В. Также в микроконтроллерах реализована возможность работы кристалла от внешней батареи, что позволяет иметь резервированное питание, на которое микроконтроллер автоматически переключается при пропадании основного напряжения питания. При этом будут сохранены специальные флаги и не произойдет нарушения работы часов реального времени. Встроенные детекторы напряжения питания могут отслеживать уровень внешнего основного питания и уровень напряжения питания на батарее. Аппаратные схемы сброса по снижению уровня питания позволяют исключить некорректное выполнение кода программы и неправильное поведение микроконтроллера в целом при выходе уровня напряжения питания за допустимые пределы. Для возможности реализации приложений, критичных к уровню энергопотребления, в микроконтроллерах существуют следующие режимы:
Микроконтроллеры обладают богатой периферией, набор которой зависит от модели МК (табл. 2). Таблица 2. Сводная таблица микроконтроллеров серии 1986ВЕ9х
Максимальным количеством периферийных устройств обладает МК 1986ВЕ91Т:
Реализация двух сторожевых таймеров позволяет расширить возможности по определению сбоя в выполнении кода программы МК. Один из них - оконный сторожевой таймер, который необходимо обновлять с определенной частотой. Другой - независимый сторожевой таймер, который синхронизируется отдельным генератором, не связанным с основной системной синхронизацией. Аналоговые модули:
Для отладки устройств на базе МК 1986ВЕ91Т в них реализованы 2 интерфейса:
Средства разработки и отладки Для разработки ПО для МК серии 1986ВЕ9х можно использовать три разных пакета инструментальных средств:
Также для ознакомления с МК 1986ВЕ91Т разработана отладочная плата, позволяющая максимально использовать периферию и возможности МК [4]. Внешний вид платы показан на рис. 1. Описание элементов платы представлено на рис. 2.
Для любого разработчика устройств на базе МК среда Keil uVision не нуждается в представлении, так как она поддерживает огромное количество микроконтроллеров и существует уже давно. Наверняка многие из разработчиков с ней уже сталкивались. Намного больший интерес представляет среда CodeMaster-ARM (фирма "Фитон"). CodeMaster-ARM CodeMaster-ARM - набор программно- аппаратных средств, предназначенный для разработки и отладки систем на базе микроконтроллеров ARM7/ARM9/Cortex-Mx, в том числе систем на базе первых отечественных микроконтроллеров с ядром Cortex-M3 серии 1986ВЕ9х, разработанных компанией ЗАО "ПКК Миландр" [5, 6, 7]. Среда разработки CodeMaster-ARM обладает всеми необходимыми средствами для реализации проектов на микроконтроллерах с ядром ARM. Особое внимание следует уделить тому факту, что среда разработана в России, поэтому пользователь в любой момент может получить качественную техническую поддержку и задать интересующие его вопросы. Неоспоримым достоинством также следует считать возможность выбора языка интерфейса между русским и английским. Более подробная информация о среде CodeMaster-ARM, а также руководство пользователя могут быть получены на сайте фирмы "Фитон" [8]. Пример реализации простого проекта в среде CodeMaster-ARM В комплекте со средой CodeMaster-ARM поставляются примеры проектов для МК 1986ВЕ9х, что несомненно облегчает разработку собственных проектов. Рассмотрим пример создания простого проекта в среде CodeMaster-ARM для ознакомления с функциональными возможностями микроконтроллера 1986ВЕ91Т и с демонстрационной платой. Предположим, нужно оцифровывать некоторый сигнал и подавать его на выход ЦАП. Причем данные необходимо выводить на LCD-дисплей и посылать в com-порт ПК. Общий алгоритм работы представлен на рис. 3.
Первое, с чего начинается работа МК, - это инициализация тактовых сигналов и выбор их для различной периферии. На отладочной плате есть генератор 8 МГц, его и будем использовать как основной источник тактовой частоты. Согласно документации тактовая частота АЦП не должна превышать 24 МГц. Поэтому для его тактирования используем PLL с коэффициентом умножения 3. В то же время для работы с дисплеем будем использовать внешнюю системную шину, но время цикла чтения/записи для дисплея Необходимо включить тактирование всех используемых блоков периферии. Таким образом, процедура инициализации тактовых частот будет выглядеть так:
Кроме того, необходимо инициализировать периферию. Не будем останавливаться на этом подробно, в силу того, что это несложно сделать, используя документацию на МК. Теперь осталось написать вспомогательные функции для вывода информации на дисплей. Они занимают достаточно много строчек кода и полностью взяты из примера, поставляемого со средой, поэтому в целях экономии места не будем здесь их приводить. Приведем код функций передачи/приема данных в/из УСАПП, получения данных из АЦП и для работы с ЦАП:
И самое основное - функция main:
Заключение Необходимо отметить, что сравнимых с МК серии 1986ВЕ9х по функциональности, быстродействию, широте сферы применения микроконтроллеров отечественного производства просто не существует (а зарубежных аналогов очень немного). Также нельзя не упомянуть, что для этого МК существует широкий набор средств программной, аппаратной, а также технической поддержки, что облегчает его освоение [10]. Литература
Мария Ермак Статья была опубликована в журнале "Компоненты и технологии" (№9, 2010) Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|