Вы находитесь на странице: 1из 4

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ

Микроконтроллер MDR32F9Q2I
Часть 1. Первое знакомство с микроконтроллером
и средствами разработки для него

Михаил Голубцов (Москва)


Для написания программ можно ис-
Цикл статей предназначен для тех читателей, которые хотят пользовать традиционные средства
познакомиться с отечественным CortexM3 совместимым разработки, применяемые для микро-
микроконтроллером и научиться его использовать в своих задачах. контроллеров ARM. В широко распрост-
В этом цикле будут рассмотрены все основные аппаратные узлы ранённом компиляторе Keil этот мик-
микроконтроллера, а также их программирование. Будет представлена роконтроллер, начиная с версии 4.22,
минимально необходимая информация для их практического освоения. поддерживается производителем ком-
В каждой статье будет приводиться пример практического применения пилятора. После установки компиля-
на том или ином реальном примере, приведена схема и полный текст тора можно открыть пример програм-
программы. С учётом того, что этот микроконтроллер ощутимо сложнее, мы для этого микроконтроллера. Для
чем, например, широко распространённая серия микроконтроллеров занесения прошивки в Flash-память
AVR, цикл статей может существенно снизить трудоёмкость освоения программ и для отладки можно ис-
микроконтроллера. пользовать отладчик MT-Link.
Далее мы познакомимся с последова-
тельностью действий, необходимых
Не секрет, что, по сравнению с им- ных на применение в заказах, где необ- для создания проекта, его настройки,
портными, выбор отечественных мик- ходима специальная приёмка, – для набора простой программы и занесе-
роконтроллеров очень небольшой. атомной промышленности, космичес- ния её в микроконтроллер. Также по-
При этом до недавнего времени прак- ких аппаратов и т.д., – применение оте- знакомимся с базовыми возможностя-
тически все отечественные микрокон- чественных микроконтроллеров полу- ми отладки программы в среде Keil. Для
троллеры были ориентированы исклю- чается абсолютно нерентабельным. этого мы будем пользоваться отладоч-
чительно на применение в военных, Поэтому, несмотря на призывы мно- ной платой, предлагаемой производи-
космических и подобных им задачах. гих руководителей поддерживать оте- телем микроконтроллера, для которой
Микроконтроллеры для таких задач чественную электронику и использо- в компиляторе Keil имеется готовый
должны отвечать большому количеству вать отечественные компоненты, мож- пример программы.
повышенных требований. В первую но с уверенностью утверждать, что в Отладочный комплект представляет
очередь, это расширенный температур- 99% случаев в проектах, не ориентиро- собой печатную плату, на которой име-
ный диапазон, повышенная устойчи- ванных на специальные применения, ется:
вость к механическим воздействиям – используются импортные микрокон- ● микроконтроллер MDR32F9Q2I в па-
ударам, вибрации, значительным уско- троллеры. нельке;
рениям. Кроме того, во многих случа- Но сравнительно недавно одно из ● разъёмы для подключения отладчика;
ях требуется радиационная стойкость. предприятий Зеленограда наладило ● три микропереключателя, определя-
Такие микроконтроллеры проходят производство отечественных микро- ющиx режим работы микроконтрол-
достаточно много дорогостоящих ис- контроллеров индустриального испол- лера после подачи питания;
пытаний. Так как задачи очень специ- нения не в металлокерамическом ● разъём для подключения карты па-
фические и в большинстве случаев от- корпусе, а в пластиковом, типа LQFP. мяти microSD;
сутствует серийное изготовление изде- Он не ориентирован на применение ● разъём USB;
лий на основе этих микросхем, часто в военных задачах, а поэтому прохо- ● три разъёма с выведенными на них
микросхемы производятся в сравни- дит намного меньшее количество ис- входом АЦП, выходом ЦАП и входом
тельно небольших количествах. Всё это пытаний. компаратора;
приводит к тому, что стоимость мик- Основные параметры этого микро- ● разъём Audio jack для подключения
росхем становится очень высокой. Так, контроллера: наушников;
например, стоимость отечественных ● 32-разряда, ● микросхема формирователя CAN и
микроконтроллеров может составлять ● ядро Cortex-M3, разъём DB9, на который выведены
от 3,5 до 10, а то и 15 тыс. руб. При этом ● память программ 128 Кб, его выводы;
по параметрам (кроме температурных ● тактовая частота до 80 МГц. ● микросхема формирователя RS232
параметров и параметров, относящих- Но самое главное – стоимость этого и разъём DB9, на который выведены
ся к требованиям для 5 приёмки) эти микроконтроллера, которая составля- его выводы;
микроконтроллеры часто соответству- ет 165 руб. Низкая стоимость наряду с ● батарейка для питания подсистемы
ют импортным стоимостью примерно достаточно неплохими параметрами часов реального времени микрокон-
от 50 до 300 руб. делает этот микроконтроллер интерес- троллера;
© СТА-ПРЕСС

Получается, что при разработке ка- ным для использования в отечествен- ● монохромный графический инди-
ких-либо изделий, не ориентирован- ном оборудовании. катор с разрешением 128 × 64 точки

18 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2012


ЭЛЕМЕНТЫ И КОМПОНЕНТЫ

● шесть кнопок, подключенных к пор- можно заполнить произвольными зна- После нажатия кнопки «Далее» процесс
там ввода/вывода; чениями. После того как установщик установки драйвера отладчика будет
● кнопка, подключенная к входу Reset скопирует файлы на жёсткий диск, по- завершён.
микроконтроллера. явится окно File Installation Completed. После установки драйвера для от-
Для того чтобы познакомиться с В нём следует установить галочку на- ладчика можно приступать к экспери-
применением микроконтроллера в против надписи Add example projects to ментам с отладочной платой. Поставь-
среде компилятора Keil, следует ска- the recently used project list и выбрать те три микропереключателя режима
чать ознакомительную версию компи- из выпадающего списка пример про- загрузки в положение 0 0 0, что со-
лятора на сайте www.keil.com. Для это- граммы для отладочной платы от «Ми- ответствует работе с отладчиком, под-
го на сайте нужно выбрать версию ландр»: Milandr Board. На этом установ- ключенным к разъёму JTAG-B. Под-
компилятора для работы с микрокон- ка компилятора завершена. ключите блок питания к отладочной
троллерами ARM. Для получения ссыл- Для работы с отладчиком следует плате. Подключите отладчик к разъ-
ки для скачивания необходимо запол- установить для него драйвер. Как уже ёму JTAG-B на плате и к разъёму USB
нить небольшую анкету. Ознакоми- говорилось, мы будем пользоваться от- компьютера. Запустите Keil.
тельную версию компилятора можно ладчиком MT-Link. Подключим его к Если при установке была постав-
скачать бесплатно. Разумеется, её воз- USB-порту компьютера (подключать лена галочка, включающая пример
можности урезаны по сравнению с его к отладочной плате пока не надо). программы для микроконтролле-
коммерческой, но этих возможностей Windows обнаружит новое устройство ра «Миландр» как «последний исполь-
вполне достаточно для того, чтобы и откроет окно для поиска драйвера зованный», то после запуска Keil в
познакомиться с микроконтроллером для него. На вопрос, разрешить ли Win- нём откроется этот пример. Если это-
и сделать несложные программы для dows самостоятельно найти драйверы го не произошло, откройте его са-
него. Ограничения заключаются в раз- в Интернете, следует выбрать вариант мостоятельно. Пример находится
мере программы – не более 32 Кб. «Нет, не в этот раз». В следующем окне в папке: C:\Keil\ARM\Boards\Milandr\
После скачивания компилятора не- выбираем вариант «Установка из ука- MCU_1986VE92U\Blinky.
обходимо установить его на компьюте- занного места». Теперь укажем рас- Перед началом работы с проектом
ре. Для этого запускаем исполняемый положение драйвера для отладчика. следует указать компилятору тип ис-
файл. Путь установки оставляем тот, Если путь установки компилятора пользуемого отладчика и указать алго-
который предлагается установщиком. тот, что был предложен программой ритм программирования для памяти
В окне Customer information совсем не установки, то путь к файлам драйве- программ. Для этого выполним Flash >
обязательно вводить реальные данные, ра C:\Keil\ARM\Segger\USB Driver\x86. > Configure Flash Tools. Появится окно

© СТА-ПРЕСС

СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2012 WWW.SOEL.RU 19


ЭЛЕМЕНТЫ И КОМПОНЕНТЫ

Рис. 1. Выбор типа отладчика для программирования Рис. 2. Выбор типа процессора

Configure for target 'MDR32Fx Flash'. В может предложить её обновить. Если увидеть окно, подобное показанному
нём следует выбрать вкладку Utilities. не позволить ему это сделать, работать на рис. 4. По его содержимому мы мо-
Там надо указать тип отладчика в со- он будет, но практически на каждое жем увидеть, всё ли у нас получилось, –
ответствии с рис. 1. действие будет снова выдаваться пред- должен отобразиться серийный номер
Теперь в этом же окне надо нажать ложение обновить прошивку, что отладчика, номер версии его аппарату-
кнопку Settings. Откроется окно (см. очень неудобно. Если позволить, он са- ры и номер прошивки. Увидеть, обна-
рис. 2), где нужно задать алгоритм про- мостоятельно обновит прошивку. Важ- ружен ли микроконтроллер, можно,
граммирования Flash. Для этого следу- но в течение процесса обновления не посмотрев JTAG Device Chain. Если там
ет нажать кнопку Add и выбрать из пре- выключать питание и не отсоединять ничего нет – микроконтроллер не об-
доставленного компилятором списка отладчик от компьютера и отладочной наружен. Если обнаружен, можно на-
названия нужного нам процессора. платы. Если аппаратная версия отлад- жимать ОК и приступать к работе.
Мы настроили опции для прошивки чика не самая новая, появится пред- Напомню, у нас уже открыт пример
программы в Flash-память микрокон- упреждение об этом. Дело в том, что проекта для нашего микроконтролле-
троллера. Но надо настроить ещё оп- некоторые возможности для отладки ра и мы только что настроили опции
ции для отладки программы. Для этого в новых версиях отладчика реализова- для отладки и программирования. От-
снова выполним Flash > Configure Flash ны аппаратно, а в том отладчике, ко- компилируем проект. Для этого выпол-
Tools. Но на этот раз нужно выбрать торый подключен в данный момент, – ним Project > Rebuild All Target File. В
вкладку Debug и на ней указать тип ис- нет, и эти возможности будут реализо- нижней части окна компилятора, под
пользуемого отладчика (см. рис. 3). ваны программно. Так как тут уже ни- текстом программы, имеется окно со-
Теперь, если нажать кнопку Settings, чего не обновить, имеет смысл поста- общений. В случае удачной компиля-
должно открыться окно настроек от- вить галочку, чтобы это предупрежде- ции в нём должно отобразиться сооб-
ладчика. ние не выводилось повторно. щение «0 Error(s)». Если имеются ошиб-
Если прошивка имеющегося у вас от- После этих предупреждений (или ки, они будут перечислены в этом окне.
ладчика не последней версии, то Keil сразу, если их не было) мы должны Дважды кликая мышкой по названиям
ошибок, можно открывать в окне с
программой то место, где эта ошибка
обнаружена.
Для прошивки программы в Flash-
память микроконтроллера необходи-
мо выполнить Flash > Download. После
этого следует нажать на кнопку Reset
или снять и повторно подать напряже-
ние питания на отладочную плату для
запуска прошитой программы.
Для пошаговой отладки программы
следует выполнить Debug > Start/Stop
Debug Session. После этого станут до-
ступны команды отладки. Все они рас-
полагаются в меню Debug. Основные
из них: запустить программу, выпол-
нить одну команду программы (сде-
лать шаг), установить или снять точ-
ку останова, остановить выполнение
программы. При этом по исходному
© СТА-ПРЕСС

тексту программы перемещается вы-


Рис. 3. Выбор типа отладчика для пошагового выполнения программы деленная другим цветом линия, благо-

20 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2012


ЭЛЕМЕНТЫ И КОМПОНЕНТЫ

даря которой можно видеть, какая ко-


манда программы выполняется в дан-
ный момент (рис. 5).
Несколько важных замечаний.
Обратите внимание, что у микрокон-
троллера имеется два порта для под-
ключения отладчика: A и B. Это сделано
из-за того, что выводы для подключе-
ния отладчика совмещены с выводами
различных встроенных в микрокон-
троллер устройств. В зависимости от то-
го, какие из них используются в том или
ином проекте, выбирается тот вариант
подключения отладчика, который поз-
волит не занимать его разъёмом нуж-
ные для конструкции выводы микро-
контроллера. Производители микро-
контроллера рекомендуют подключать
отладчик только к плате, на которую уже
подано напряжение питания.
Если в программе настроить для ра-
боты на выход один или несколько
выводов, используемых для подключе-
ния отладчика, его работа станет не- Рис. 4. Окно настроек отладчика
возможной. В таком случае можно ис-
пользовать другой разъём для отлад-
чика, если он имеется в целевой схеме.
Но если таким образом «выведены из
строя» оба разъёма для отладчика, то
ни один из них не станет работать. При
этом в нижнем окне появляется сооб-
щение о том, что микроконтроллер не
обнаружен.
Для решения этой проблемы есть
несколько простых путей:
● установить микропереключатели ре-

жима загрузки в положение 1 1 0 –


режим загрузки по UART – и, пользу- Рис. 5. Окно программы при отладке
ясь переходником RS232-UART или
USB-UART (в комплект отладочной прерывно будет происходить исклю- ожидание нажатия на эту кнопку. И
платы не входят), прошить в микро- чение «неверная команда». В таком только после того как будет обнару-
контроллер программу, которая не состоянии зашитая в микроконтрол- жено нажатие на эту кнопку, проис-
использует выводы, задействован- лер программа пользователя не вы- ходит настройка всех остальных
ные отладчиком, после чего снова полняется, и, соответственно, ни- портов ввода/вывода и начинается
появится возможность использовать что не мешает использовать разъём выполнение программы. Соответ-
отладчик; JTAG-B для стирания неудачной ственно, до нажатия на эту кнопку
● установить микропереключатели ре- программы; выводы портов ещё не настроены и
жима загрузки в положение 0 1 1 – ● на время отладки программы ввести отладчик будет работать независи-
режим загрузки из внешней микро- в неё паузу длительностью 5…10 с пе- мо от того, есть ли в программе оши-
схемы памяти и отладки по JTAG-B ред тем, как будут настраиваться пор- бочные настройки портов (мешаю-
(в этом микроконтроллере такой ре- ты ввода/вывода. Это позволит в слу- щие отладчику) или нет.
жим не используется – не все выводы чае ошибочной настройки выводов, В заключение можно сказать, что по-
выведены из кристалла; в варианте используемых отладчиком на вывод, явление этого микроконтроллера мож-
микроконтроллера с большим чис- не потерять возможности стереть но рассматривать как своего рода «ре-
лом выводов имеется возможность программу и записать новую – в те- волюцию», которая позволит создавать
выполнения программы из внешней чение этой паузы после нажатия на конкурентоспособные электронные
микросхемы памяти). После снятия кнопку сброса отладчик будет рабо- изделия на отечественной элементной
и повторной подачи напряжения пи- тать, так как порты в этот момент базе. И это не просто микроконтрол-
тания микроконтроллер попытает- еще не настроены на выход; лер в пластиковом корпусе, он при
ся выполнить программу из внеш- ● на время отладки программы ввести этом полностью соответствует уровню
© СТА-ПРЕСС

ней микросхемы памяти. Разумеется, в неё настройку одного вывода пор- аналогичных импортных микрокон-
он её не обнаружит, и при этом не- та, к которому подключена кнопка и троллеров.

СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 3 2012 WWW.SOEL.RU 21