NE_13_2008.pdf

(2145 KB) Pobierz
391058299 UNPDF
СОДЕРЖАНИЕ
№13 (59), 2008 г.
КОМПОНЕНТЫ
Информационно-технический
журнал.
МИКРОКОНТРОЛЛЕРЫ
Развитие ARM-ядер: возможности и производительность
Александр Квашин ............................................................................3
Учредитель – ЗАО «КОмпэл»
Издается с 2005 г.
ARM-микроконтроллеры TMS470 для индустриальных решений
(Texas Instruments)
Алексей Пантелейчук ........................................................................6
Свидетельство о регистрации:
пИ № ФС77-19835
Микроконтроллеры семейства STR91 (STMicroelectronics)
Дмитрий Парошин ............................................................................9
Редактор:
Геннадий Каневский
vesti@compel.ru
Выпускающий редактор:
Анна Кузьмина
Принципы работы сенсорных панелей и их поддержка в микро-
контроллерах NXP
Александр Квашин ..........................................................................13
Готовые решения на основе микроконтроллеров STM32
(STMicroelectronics)
Константин Староверов ..................................................................17
Редакционная коллегия:
Андрей Агеноров
Алексей Гуторов
Евгений Звонарев
Сергей Кривандин
Валерий Куликов
Александр Райхман
Борис Рудяк
Игорь Таранков
Илья Фурман
УПРАВЛЕНИЕ ПИТАНИЕМ
Микросхема входного каскада для зарядных устройств
(Texas Instruments)
Мао Йе .............................................................................................21
ИСТОЧНИКИ ПИТАНИЯ
Дизайн, графика, верстка:
Елена Георгадзе
Владимир писанко
Евгений Торочков
Новые источники питания для промышленной и домашней
автоматизации (Mean Well)
Сергей Кривандин ...........................................................................23
Распространение:
Анна Кузьмина
БЕСПРОВОДНЫЕ ТЕХНОЛОГИИ
Электронная подписка:
www.compeljournal.ru
Новый навигационный GPS-контроллер TM3000 (Trimble)
Всеволод Нестеров ..............................................................................26
ТЕОРИЯ И ПРАКТИКА
Отпечатано:
«Гран при»
г. Рыбинск
ВОПРОСЫ ТЕОРИИ
Управление изолированным затвором IGBT.
Основные положения. Часть 2
(Semikron)
Маркус Хермвиль, Андрей Колпаков .............................................28
Тираж – 1500 экз.
© «Новости электроники»
Подписано в печать:
17 cентября 2008 г.
ВОПРОСЫ ЧИТАТЕЛЕЙ .........................................................................31
НОВОСТИ ЭЛЕКТРОНИКИ №13, 2008
1
391058299.050.png 391058299.061.png 391058299.072.png 391058299.081.png 391058299.001.png 391058299.002.png 391058299.003.png 391058299.004.png 391058299.005.png 391058299.006.png 391058299.007.png
 
ОТ РЕДАКТОРА
Уважаемые
читатели!
Начну с цитаты:
«В 1990 году в
фешенебельном
отеле на берегу
Женевского озера
я слушал доклад
длинноволосого
британца в потертом сером пиджа-
ке. Он рассказывал аудитории, со-
стоявшей из выдающихся разработ-
чиков электроники, что его новый
проект с персоналом в 20 человек
вскоре вырастет до размеров компа-
нии Intel.
Иностранные гости расценили
это как проявление своеобразного
английского чувства юмора. Они
ошибались: в прошлом, 2007, году,
компания, созданная Сэром Роби-
ном Саксби (Robin Saxby) продала
три миллиарда RISC-процессоров,
перекрыв показатели Intel по коли-
честву проданных изделий за тот же
год более чем в десять раз».
Так Дэвид мэннерз (David
Manners), колумнист журнала
Electronics Weekly, вспоминает свое
первое знакомство с основателем
прославленной компании ARM.
Робин Саксби изначально вы-
брал так называемую fabless-модель
бизнеса, ныне широко распростра-
ненную в электронной отрасли:
разрабатывать высокотехнологич-
ный продукт на основе собственно-
го ноу-хау, производить его силами
контрактных производителей и про-
давать лицензии на его использова-
ние. Другим удачным «попаданием»
явился выбор процессорного ядра
с RISC-архитектурой и возможно-
стью добавлять развитую перифе-
рию. С ростом рынка портативных
вычислительных и мультимедийных
устройств, автоэлектроники и ком-
пактной промышленной электрони-
ки, спрос на такие процессоры на-
чал расти лавинообразно.
первое ядро, ARM6, было вы-
пущено на рынок в 1991 году, а в
январе 2008 года компания объяви-
ла, что их партнеры отгрузили на
рынок десятимиллиардный процес-
сор с ядром ARM. Таким образом,
на каждого жителя нашей планеты
приходится уже более одного про-
цессора на ARM-ядре.
На конец 2007 года ядра ARM ли-
дировали на рынке встроенных ми-
кроконтроллерных решений, занимая
более 30%. Ближайший конкурент –
старое доброе 86-е ядро с 26%, на тре-
тьем месте – PowerPC c 15% (по дан-
ным www.linuxdevices.com ).
продажи ARM-контроллеров
растут и в России. мы уже давно
обещали нашим читателям сделать
фокусной темой одного из номеров
журнала контроллеры на ARM-ядре.
И вот этот номер – перед вами.
Как всегда, ждем ваших вопро-
сов и предложений.
С уважением,
Геннадий Каневский
391058299.008.png 391058299.009.png
МИКРОКОНТРОЛЛЕРЫ
Александр Квашин (КОМПЭЛ)
РАзВИТИЕ ARM-ЯДЕР:
ВОзМОЖНОСТИ
И ПРОИзВОДИТЕЛьНОСТь
Недавно на рынке появились микроконтроллеры ARM на новом
ядре Cortex-M3. Данные микроконтроллеры предназначены для тех
разработчиков, которые ищут одновременно низкую стоимость, вы-
сокую 32-битную производительность и малое энергопотребление.
сти, ARM7TDMI принято считать
рабочей лошадкой современного
мира встраиваемых устройств.
О новом ядре
ARM Cortex-M3 являет собой
одну из реализаций архитекту-
ры ARM7v. это новейшая версия
ядра ARM для встраиваемых при-
ложений. Ядро основано на гар-
вардской архитектуре и исполь-
зует раздельные шины доступа к
данным и к командам (в отличие
от Фон-неймановской архитекту-
ры, где данные и команды «делят
между собой» одну шину). Гар-
вардская архитектура изначаль-
но позволяет достичь наибольшей
производительности, и, несмотря
на то, что физически данная архи-
тектура сложнее, из закона мура
следует, что усложнение архитек-
туры оправдано всегда, когда дан-
ное усложнение приводит к увели-
чению производительности.
Цель Cortex-M3 – занять ры-
нок встраиваемых систем. это
ядро создано как «очень низко-
потребляющее», при этом обла-
дающее отличным соотношени-
ем «цена-производительность».
Основными областями приме-
нения данных контроллеров яв-
ляются автоэлектроника и бес-
проводные приложения. Как и в
случае со всеми ядрами от компа-
нии ARM, многие крупные про-
изводители уже купили лицензию
на новую версию перспективного
контроллера и приступили к ее
реализации. Некоторые из компа-
ний уже выпустили собственные
продукты (STMicroelectronics,
NXP, Luminary Micro). Для но-
вой платформы существует и ак-
тивно развивается целый ряд
программно-аппаратных средств,
вышедших прямиком из экоси-
стемы ARM7TDMI, это позволя-
ет новым пользователям быстро
осваивать данный контроллер.
Другое ядро ARM, ориентиро-
ванное на тот же рынок, – ядро
ARM7TDMI (и ARM7TDMI-S).
Оно было выпущено более 10 лет
назад и вывело компанию ARM на
доминирующую позицию в разра-
ботках процессорных ядер. мно-
жество производителей (около 20)
разрабатывают и продают микро-
контроллеры на базе ARM7. Так-
же впечатляет количество про-
граммных средств разработки и
отладочных устройств. Благода-
ря своим качествам и массово-
Отличия
Кроме того, что Cortex-M3 ис-
пользует гарвардскую архитекту-
ру, это, в первую очередь, более
оптимизированное уменьшенное
базовое ядро, благодаря чему на-
ряду с уменьшением цены увели-
чивается скорость работы. В ядро
интегрированы контроллер пре-
рываний, шинная матрица и от-
ладочные модули. Кроме того,
интегрирован модуль управле-
ниями режимами энергосбереже-
ния (sleep mode). Данное ядро
разработано только для работы
с усовершенствованным набором
инструкций THUMB-2, что позво-
ляет свести к минимуму использо-
вание ассемблера.
Рис. 1. Блок-схема STM32
НОВОСТИ ЭЛЕКТРОНИКИ №13, 2008
3
391058299.010.png 391058299.011.png 391058299.012.png 391058299.013.png 391058299.014.png 391058299.015.png 391058299.016.png 391058299.017.png 391058299.018.png 391058299.019.png 391058299.020.png 391058299.021.png 391058299.022.png 391058299.023.png 391058299.024.png 391058299.025.png 391058299.026.png 391058299.027.png 391058299.028.png 391058299.029.png 391058299.030.png 391058299.031.png 391058299.032.png 391058299.033.png 391058299.034.png 391058299.035.png 391058299.036.png 391058299.037.png 391058299.038.png 391058299.039.png 391058299.040.png 391058299.041.png 391058299.042.png 391058299.043.png 391058299.044.png 391058299.045.png 391058299.046.png 391058299.047.png 391058299.048.png 391058299.049.png 391058299.051.png 391058299.052.png 391058299.053.png 391058299.054.png 391058299.055.png 391058299.056.png 391058299.057.png 391058299.058.png 391058299.059.png 391058299.060.png 391058299.062.png 391058299.063.png 391058299.064.png 391058299.065.png 391058299.066.png 391058299.067.png 391058299.068.png 391058299.069.png
МИКРОКОНТРОЛЛЕРЫ
Набор инструкций
Как уже было сказано, но-
вое микроконтроллерное ядро
Cortex-M3 было создано толь-
ко для работы с инструкциями
THUMB-2, в отличие от исходно-
го ARM7, с которым можно рабо-
тать как в ARM-, так и в THUMB-
режимах. преимущества данного
нововведения:
• Нет необходимости переклю-
чаться между Thumb- и ARM-
режимами кода, как в ранних
вариантах реализации микрокон-
троллеров. это позволило снизить
временные потери;
• Thumb-2 разработан исклю-
чительно под язык программи-
рования C, включая if/then кон-
струкции, аппаратное деление и
полноценный битовый процессор;
• Новый набор инструкций по-
зволяет эффективно использовать
участки кода повторно, что позво-
ляет создавать еще более плотный
код;
• Инструкции Thumb-2 позво-
ляют делать настолько эффектив-
ные компиляторы, что это дает
возможность полностью отказать-
ся от ассемблерных вставок;
• Все новые преимущества до-
статочно просты в освоении и в их
реализации на практике, что по-
зволяет ускорить разработку, а
значит, и выход нового продукта
на рынок.
NVIC использует стековую мо-
дель работы. программный счет-
чик (program counter), регистр
статуса программы (program
status register), регистр связи
(link register) и регистры общего
назначения – все загружаются в
стек при входе в обработчик пре-
рываний. по выходе из обработ-
чика содержимое регистров вос-
станавливается. поэтому уже нет
необходимости работать вручную
со стеком в ассемблерном коде
для сохранения данных на входе
в обработчик прерываний и выхо-
де из него.
Обработчики могут быть рас-
ставлены по приоритетам с целью
обеспечения немедленного выпол-
нения определенного прерывания,
даже если в это время выполня-
ется некое другое (с низшим при-
оритетом). приоритеты могут ме-
няться по необходимости в любом
месте программы. Использование
техники tail-chain позволяет не
выполнять долговременные опера-
ции pop-push при последователь-
ном выполнении нескольких пре-
рываний, а просто при окончании
цикла одного обработчика – «пе-
репрыгивать» на начало следую-
щего. И это занимает всего лишь 3
такта вместо 32 для полного цикла
pop-push. Все это позволяет сокра-
тить задержки и увеличить произ-
водительность.
Если NVIC в данный конкрет-
ный момент сохраняет данные в
стек (перед тем как приступить к
обработке прерывания), и в это
время приходит запрос на пре-
рывание с более высоким приори-
тетом, то все, что нужно, чтобы
начать выполнение этого преры-
вания – защелкивание нового
адреса вектора. Аналогично, если
NVIC в данный момент произво-
дит восстановление из стека, то
эта операция будет прекращена,
и процессор приступит к выпол-
нению нового прерывания. это
также способствует уменьшению
времени задержек и обеспечивает
предсказуемость времени входа в
прерывание.
жения: Sleep Now, Sleep on Exit
(по выходу из последнего в оче-
реди прерывания) и SLEEPDEEP
режим.
Для удобства получения ре-
гулярного временного интервала
NVIC содержит интегрированный
системный таймер, который мо-
жет быть использован как такто-
вый сигнал для операционных си-
стем реального времени (RTOS)
или как пробуждающий сигнал
для выполнения очередных задач
(scheduled tasks). Наличие этой
возможности – одно из главных
отличий от предыдущих ARM-
архитектур.
Модуль защиты памяти
модуль защиты памяти являет-
ся опциональным и зависит от ре-
ализации микроконтроллера кон-
кретным производителем. Если
данный модуль встроен, то он
позволяет связать определенные
участки памяти с определенными
процессами в приложении и опре-
деляет правила управления до-
ступом из других процессов. На-
пример, часть памяти может быть
полностью заблокирована для всех
программных процессов, в то вре-
мя как некоторые другие участ-
ки памяти могут быть доступны
только для чтения при выполне-
нии определенных процессов. Так-
же выполнение программы может
быть приостановлено при попытке
обращения в какую-либо область
памяти. Все это обеспечивает су-
щественное улучшение надежно-
сти работы программы, особенно в
приложениях реального времени.
Прерывания
Следующее нововведение
Cortex-M3 – это встроенный век-
торный контроллер вложенных
прерываний (NVIC- Nested Vector
Interrupt Controller). В отличие
от внешнего контроллера преры-
ваний, который присутствует в
ARM7TDMI, контроллер, инте-
грированный в ядро Cortex-M3,
может обеспечивать от 32 физи-
ческих прерываний с 8 уровнями
приоритета до 240 прерываний с
256 уровнями приоритета (в зави-
симости от реализации конкрет-
ным производителем микрокон-
троллера). Благодаря этому время
входа в прерывание достаточно
мало и всегда детерминировано,
что позволяет использовать дан-
ные контроллеры в автомобиль-
ных и других ответственных при-
ложениях реального времени.
Отладка
Интегрированный debug модуль
и «trace Debug Access Port» могут
быть реализованы или на двухпро-
водном «Serial Wire Debug Port»
или на Serial Wire JTAG Debug
Port. Совместно с модулем точек
останова (Breakpoint unit), моду-
лем слежения за данными (Data
Watchpoint), модулем отслежива-
ния (Trace unit), модулем правки
Flash, а также опциональным на-
личием некоторых других блоков,
это позволяет решать широкий
спектр задач на уровне отладки
приложения и наблюдении за по-
ведением ядра. Большинство этих
Режимы сна
Схема управлением питанием
ядра Cortex-M3 предусматривает
следующие режимы энергосбере-
4
НОВОСТИ ЭЛЕКТРОНИКИ №13, 2008
391058299.070.png 391058299.071.png 391058299.073.png 391058299.074.png
МИКРОКОНТРОЛЛЕРЫ
модулей отладки уже были встро-
ены в ARM-архитектуры, однако
в Cortex-M3 все они реализованы
одновременно, что дает разработ-
чику широкие возможности для
воплощения его идей.
зон рабочих температур, большое
число портов ввода/вывода, 3
CAN-интерфейса. В то же время
семейство STR710 нацелено на по-
требительский рынок, а также на
рынок сложного промышленно-
го оборудования и содержит мно-
жество интерфейсов: CAN, USB,
ISO7816, несколько UART, и, не-
смотря на наличие внешнего ин-
терфейса памяти, – большой объ-
ем встроенной ОЗУ и Flash.
Тут следует еще раз отметить,
что принятие решения о встраива-
нии в чип на базе ARM7 каких-
либо модулей отладки лежит ис-
ключительно на конкретном
производителе чипов.
Что же выбрать?
Если цена является определяю-
щим фактором, то, наверное, есть
смысл приобрести что-нибудь на
базе Cortex-M3. Если требуется
повышенная производительность
и невысокое потребление, то, ве-
роятно, также есть смысл обра-
титься к Cortex-M3. Особенно
Cortex-M3 будет интересен в при-
ложениях, где до его появления
планировали применять ARM7, в
первую очередь – в беспроводной
технике и автоэлектронике.
Интегрированные в ядро мо-
дули отладки, набор инструкций
THUMB-2 ускоряют освоение
контроллера и позволяют в крат-
чайшие сроки вывести новый про-
дукт на рынок. Cortex-M3 – легче
и быстрее ARM7TDMI.
последнее время целый ряд
крупных производителей на-
чал выпуск контроллеров на
Cortex-M3, а многие фирмы уже
приобрели лицензии на их буду-
щее производство.
перевести готовый дизайн со
старого ядра ARM7TDMI на новый
Cortex-M3 – не очень сложная за-
дача. Однако же, если разработка
была рассчитана на ARM7TDMI,
а времени для адаптации под дру-
гое ядро уже не осталось, то мож-
но порекомендовать не использо-
вать специфические возможности
старого процессора. это даст воз-
можность упрощенного и более
быстрого перехода на новое ядро
в будущем.
Уровень интеграции
Несмотря на то, что ARM7-ядра
не имеют такой степени интегра-
ции, как ядра семейства Cortex,
в данное время на рынке присут-
ствует широчайший ряд микро-
контроллеров на базе ядра ARM7
с богатейшей периферией, что по-
зволяет трансформировать дан-
ный контроллер из сегмента обще-
го назначения в узко-профильный
микроконтроллер или даже систе-
му на кристалле. И в этом смыс-
ле можно выделить не менее 150
различных микроконтроллеров на
ядре ARM7.
Для абсолютного большинства
встраиваемых приложений практи-
чески всегда можно найти ARM7-
реализацию, которая в той или
иной степени была бы «заточена»
именно под эту конкретную задачу.
К стандартному ядру производи-
тель микросхемы обычно добавля-
ет различную память, периферию,
такую как контроллеры последова-
тельных шин, контроллеры памяти,
графические контроллеры и т. д.
Контроллеры выпускаются в раз-
личных корпусах, для любой слож-
ности работы: для промышленного
применения, для установки в авто-
мобиле, а также – со способностью
работать в расширенном темпера-
турном диапазоне. микроконтрол-
леры также могут включать в себя
предустановленные программные
пакеты, такие как TCP/IP-стек
или еще более специфическое про-
граммное обеспечение.
Например, линия продуктов
STR7 (от STMicroelectronics) име-
ет 3 главных семейства развития с
более чем 45 разными продуктами
на базе ядра ARM7 (в различных
корпусах, с разным количеством
памяти и т.д.). Каждое семей-
ство имеет свой набор периферии,
предназначенный для специаль-
ных задач. Скажем, ветка STR730
разработана с учетом того, что она
будет применяться в промышлен-
ных и автомобильных приложени-
ях: она имеет расширенный диапа-
Инструментарий
Распространенность ARM7
привела к бурному развитию
средств для разработки и отладки
от третьих производителей. Сайт
компании ARM перечисляет бо-
лее 130 компаний, работающих на
этом рынке.
Большинство таких произво-
дителей выпускают отладочные
платы, обеспечивая их в первую
очередь интерфейсом по загруз-
ке программного кода, а также
различной полезной периферией:
LCD-дисплеями, светодиодами,
кнопками и т. д. Более дорогие
отладочные платы комплектуются
интегрированной средой разработ-
ки (IDE), включающей в себя ком-
пилятор, линкер, дебаггер и другие
программные средства разработки.
Кроме того, такие комплекты мо-
гут содержать JTAG-адаптер.
С другой стороны, многие ком-
пании выпускают программные
средства разработки: от программ
визуального моделирования алго-
ритмов до компиляторов различ-
ных языков программирования.
Современные среды разработки
поддерживают также операцион-
ные системы (RTOS) для удоб-
ства отладки пО.
Дополнительным плюсом
ARM7 является огромная база на-
работок, которая накопилась за
продолжительное время существо-
вания данного ядра.
Для Cortex-M3 уже сформиро-
валась определенная база средств
разработки, но пока еще не столь
совершенная, как для ARM7.
Литература
1. ftp://ftp.iar.se/WWWfiles/
Viewpoints/Choosing_an_ARM_
Processor.pdf
2. http://infocenter.arm.
com/help/topic/com.arm.doc.
ddi0337e/DDI0337E_cortex_m3_
r1p1_trm.pdf
3. http://www.standardics.
nxp.com/products/lpc1000/
4. http://www.st.com/mcu/
inchtml-pages-stm32.html
5. http://mcu.compel.ru/
mcu_list.php?clear=ps&CORE_
TYPE=Cortex-M3.
Получение технической информа-
ции, заказ образцов, поставка –
e-mail: mcu.vesti@compel.ru
НОВОСТИ ЭЛЕКТРОНИКИ №13, 2008
5
391058299.075.png 391058299.076.png 391058299.077.png 391058299.078.png 391058299.079.png 391058299.080.png
Zgłoś jeśli naruszono regulamin