информационные технологии и образование
УДК 004.414.2, 004.3'1
научно-методические аспекты преподавания дисциплин цикла «встраиваемые микроконтроллеры»
А. Е. Васильев,
канд. техн. наук, доцент М. М. Шилов, старший преподаватель А. И. Мурго,
магистрант
Санкт-Петербургский государственный политехнический университет
Рассматриваются проблемы подготовки специалистов в области разработки встраиваемых систем, подходы к повышению уровня профессиональных навыков разработчиков с учетом современных тенденций развития данной отрасли.
Ключевые слова — встраиваемая система, микроконтроллер, алгоритмическая оптимизация.
Введение
К преимуществам систем управления на основе программируемых микроконтроллеров (МК), выгодно отличающих их от непрограммируемых схемотехнических решений, относятся, в частности, более широкие средства изменения функциональных возможностей алгоритма управления за счет модификации программной составляющей [1].
Системообразующими признаками встраиваемых систем являются пригодность к конструктивной, системотехнической и алгоритмической интеграции с объектом управления, к массовому тиражированию, к автономности функционирования и связанные с этим требования высокой надежности, низкой стоимости и энергоэкономичности встраиваемой системы. Прямым следствием необходимости удовлетворения указанных требований является относительно меньшая вычислительная мощность и ограничения по ресурсам памяти в сравнении с вычислительными системами общего назначения (постоянное совершенствование обеих ветвей вычислительной техники из поколения в поколение продолжает подтверждать эти соотношения).
Таким образом, естественным и объективным критерием оптимальности реализации встраиваемой системы является степень удовлетворения
указанных системообразующих ограничений, в частности минимизации необходимой вычислительной производительности и требуемых объемов памяти.
Широкое применение МК в промышленности, средствах связи, медицинской аппаратуре, бытовой технике, изделиях специального назначения обусловливает существенное разнообразие этой ветви изделий полупроводниковой техники. Для систематизации МК применяют различные классификационные признаки. Так, ряд аналитических агентств [2] используют в своих оценках в качестве первого классификационного признака разрядность процессорного ядра. К другим признакам относятся принадлежность к определенной архитектурной линии (MCS-51, ARM и др.), область использования (специализированные МК, например, для применения в приборах учета электроэнергии, или МК общего назначения — для решения относительно широкого круга задач автоматизации) и т. п.
Основные тенденции эволюции методов и средств разработки встраиваемых систем
Технологические достижения, обеспечивающие рост тактовой частоты МК, увеличение объемов памяти, снижение стоимости, расширение функциональных возможностей инструменталь-
Анализ ТЗ и предметной области, проведение моделирования
X
Разработка структурной и функциональной схем системы в целом; распределение функций между аппаратным и программным обеспечением;
ТЗ на разработку аппаратного обеспечения и ТЗ на разработку программного обеспечения
х
х
Проектирование аппаратного обеспечения:
— разработка структурной схемы;
— выбор элементной базы;
— разработка принципи-альныхсхем;
— расчет параметров элементов;
— изготовление печатных плат и макетов
х
х
х
Проектирование программного обеспечения:
— разработка моделей программ;
— разработка функциональной схемы;
— разработка схем программ;
— выбор языка программирования;
— программирование
Отладка аппаратного обеспечения
п
X
Отладка
программного
обеспечения
~г~г
Комплексирование системы и совместная отладка аппаратного и программного обеспечения
Передача встраиваемой системы в эксплуатацию
Рис. 1. Стадии проектирования встраиваемой системы на базе МК
Редактор тестовых воздействий
Изменение параметров элементов, входных воздействий, внешних условий
Редактор принципиальных схем
Средства сбора данных, журнализации и анализа
Реакции системы на воздействия
ф cd
н *
со Еч
ч а
га if
о ^ о ^
Законы
функционирования
элементов
Модель
системы
кил а« о И я Ё
чй ё
ШО§
пни 0^4 о ®
и
Трассировщик печатных плат
Файлы описания операций для станков сЧПУ
Графическое и конструктивное описание элемента
Библиотека
элементов
Создание
новых
элементов
Редактор элементов
■ Рис. 2. Структура САПР электронных устройств
ных сред оказывают двоякое влияние на идеологию разработки встраиваемых систем на основе МК; традиционный подход к проектированию МК-систем (рис. 1-3) претерпевает ряд изменений.
Обзорно перечислим некоторые примечательные тенденции в эволюции возможностей современных сред разработки:
— развитие средств автоматизированного определения оптимальной архитектуры МК: в качестве примера можно привести среду DAVE компании Infineon [3], на основе применения мультипликативного оценочного функционала вычисляющую потенциальную эффективность реализации МК-системы (рис. 4);
Редактор J
'\
asm ' include
Дополни-
тельные
файлы
исходных
текстов
Транслятор
id
процедуры, «заготовки» разработчика и т. п.
Дополни-
тельные
файлы
объект-
ных
модулей
Редактор
связей
Библиотека
объектных
модулей
Библиотекарь
Г
Модуль обмена данными с программатором
X
Модуль обмена данными с эмулятором ПЗУ
X
Модуль обмена данными с МК («загрузчик»)
Программатор Эмулятор ПЗУ МК
Модуль обмена данными с ЭВМ («монитор»)
Область адресов пользовательской программы
Память МК
■ Рис. 3. Этапы программирования МК
г Smart Search
8-Bit Microcontrollers | IB-Bit Microcontrollers | 32-Bit Microcontrollers | Standalone CAN Controllers |
|128 Л
| don't саге d
150 jd
|2 d
|4 jd
I8 jd
I don't саге d
don't саге d
| don't саге jd
| don't саге J
(none jd
less mportant moie
Features
Intanal RAM [Byte] >*
lnte<nal | ROM >■
I/O Lines >=
Timers t Counters >=
CapCom J PWM Channels >=
ADC Channels >=
U(S)ART Modules >=
SSC (SP1) Modules >=
CAW Modules >»
IIC ModJes >»
Other Pefipherals :
Usual standard features: Watchdog Timer, Power Saving Modes
_d
Id
Results
100% C515A
100% C515C
100% C517A
100% C509
76% C505
76% C505C
76% C504
76% C505A
76% C505L
76% C505CA
18% C511
18% C511A
18% C513
18% C513A
18% C501G
18% C540U
18% C541U
Help
■ Рис. 4. Система DAVE: оценка эффективности применения различных МК
■ Рис. 5. Разработка программного обеспечения МК средствами Algorithm Builder
— переход к использованию графических средств ввода программы, обеспечивающих автоматизированную генерацию исполняемого кода, как, например, в средах Realizer фирмы Actum и Algorithm Builder [4] для МК AVR фирмы Atmel (рис. 5);
— развитие средств автоматического анализа количественных показателей разрабатываемой системы, например среды Fast-view и UDE фирмы PLS [5] (рис. 6).
Функциональные возможности такого рода позволяют существенно сократить сроки разра-
■ Рис. 6. Средства анализа программного обеспечения в среде PLS UDE 70 ^ ИНФОРМАЦИОННО-УПРАВЛЯЮШИЕ СИСТЕМЫ
№ 6, 2011
ботки МК-систем и снизить требования к квалификационному уровню разработчика встраиваемых систем.
Весьма непростым при этом остается риторический, на первый взгляд, вопрос о соотношении «польза — вред» подобных тенденций.
Показатели эффективности реализации встраиваемых систем
Оборотной стороной использования указанных технологий является рост накладных расходов в МК-системе. В частности, универсальность графического ввода программы, призванная обеспечить автоматическую генерацию эквивалентного машинного кода для любых синтаксически корректных исходных конструкций графа программы, неизбежно приводит к неоптимально-сти результирующей программы в смысле требуемого объема памяти и (или) времени ее выполнения. Рост таких накладных расходов частично компенсируется ростом технических возможностей контроллеров новых поколений (в частности, увеличением объемов встроенной памяти и значений тактовой частоты), что приводит к возникновению своеобразного замкнутого круга: потенциально более широкие возможности МК (например, возможность обеспечить лучшие частотные характеристики системы измерений) оказываются принесенными в жертву комфорту разработчика, а на удовлетворение запросов потребителя отводится лишь малая — оставшаяся — часть ресурсов.
Следует отметить, что ряд производителей МК прямо способствуют этому, не допуская разработчика МК-системы к непосредственному программному управлению аппаратными ресурсами МК. Программное обеспечение этого уровня располагается в «фирменных» объектных модулях, взаимодействие с которыми возможно только посредством вызовов скрытых там процедур (в качестве примера можно указать инструментальные средства от zen-sys.com, предназначенные для разработки беспроводных Z-wave-сетей на основе специализированных МК-систем).
Неоспоримая польза такой идеологии ощущается только при рассмотрении ситуации с позиций производителя МК: разработчики, «избалованные» комфортностью инструментальных сред, не желают отказываться от удобства процесса разработки и не хотят (а отчасти уже и не могут) заботиться об оптимальности результата. В итоге потребители целевых МК-устройств вынуждены оплачивать перерасход ресурса, допущенный разработчиком.
Одной из многочисленных иллюстраций сказанного служит пример, приведенный на рис. 7.
а)
Установить указатель на начало массива
Установить счетчик, обнулить сумму
org 8100h arr_strt: equ 8300h arr_size: equ 10 i: equ 31h
sum: equ 35h
mov dptr,#arr_strt mov i,#arr_size mov sum,#0 cycle: movx a,@dptr
inc dptr add a,sum mov sum,a djnz i,cycle
org 8300h db 1,2,3,4,5,6,7,8,9,10
Память: 19 байт Длительность:
2+2+2+(2+2+1+1+2)*N+2=8+8*N мкс
e)
#define ARRAY_SIZE 10
xdata unsigned char ext_array[ARRAY_SIZE] _at_ 0x8300;
unsigned char i _at_ 0x31; unsigned char sum _at_ 0x35;
void sum____ext_array(void)
{
sum = 0;
for (i = 0; i < ARRAY_SIZE; i++)
{
sum += ext_array[i];
}
}
51: void sum___ext_array(void)
52: {
53: sum = 0;
C:0x009A E4 CLR A
C:0x009B F535 MOV sum,A
54: for (i = 0; i< ARRAY_SIZE; i++)
C:0x009D F531 MOV i,A
55: {
56: sum += ext_array[i];
C:0x009F 7400 MOV A,#00
C:0x00A1 2531 ADD A,i
C:0x00A3 F582 MOV DPL,A
C:0x00A5 E4 CLR A
C:0x00A6 3483 ADDC A,#83h
C:0x00A8 F583 MOV DPH,A
C:0x00AA E0 MOVX A,@DPTR
C:0x00AB 2535 ADD A,sum
C:0x00AD F535 MOV sum,A
57: }
C:0x00AF 0531 INC i
C:0x00B1 E531 MOV A,i
C:0x00B3 B40AE9 CJNE A,#0AH,009F
58: } 59:
C:0x00B6 22 RET
Память: 29 байт Длительность:
1+1+1+(1+1+1+1+1+1+2+1+1+1+1+2)*N+2= =5+14*N мкс
Рис. 7. Схема (а), ассемблерный (б) и Си-вариант (в) реализации программы суммирования элементов массива
Здесь показаны две реализации алгоритма суммирования элементов массива — с применением языка Си (инструментальная среда КеП) и языка ассемблера. Как видно, вариант реализации, при котором разработчик был изначально ориентирован на отчетливое понимание возможностей аппаратной платформы, обеспечил полуторную экономию памяти и — при больших объемах массива — практически 1,75-кратный выигрыш по скорости.
Таким образом, изготовитель кристалла зачастую снимает с себя обязанность удовлетворять спрос и дает себе право и возможность этот спрос формировать в собственных интересах — ситуация, давно известная во многих других отраслях экономики. «На рынке встраиваемых систем, где долгожительство платформ и технологий является залогом длительности жизненного цикла продукции, концепция технологической гонки [в корыстных интересах изготовителя] стала синонимом слова “катастрофа”» [6].
Очевидно, что «эффективность», получаемая при таком подходе к разработке, имеет мало общего с приведенными выше естественными критериями оценки эффективности разработки.
Перспективы развития встраиваемых систем
Понимание сложившегося противоречия существует, в том числе, и у ряда производителей микроконтроллеров и микропроцессоров. Так, в публикациях фирмы Те^Шса [7] высказываются следующие положения:
— переход на платформы с повышенной тактовой частотой (проистекающий из потребности компенсировать описанные выше накладные расходы) сопровождается увеличением энергопотребления (зависимость роста энергопотребления МК от его тактовой частоты описывается показательной функцией), что, в частности, резко снижает срок продолжительности автономной работы целевого устройства;
— рост сложности аппаратного обеспечения МК (проистекающий из потребности снабдить разработчика аппаратно реализованными командами, поддерживающими идеологию программирования систем общего назначения, например, командами обработки многоразрядных данных с плавающей запятой) сопровождается увеличением площади кристалла (что ухудшает массогабаритные показатели устройства) либо необходимостью ужесточить проектную норму изготовления кристалла (что увеличивает его стоимость).
Выход, предлагаемый аналитиками Те^Шса, заключается в создании так называемых «аррН-cation-oriented» процессоров (отметим, что давно используется и отечественный эквивалент термина — «функционально ориентированный процессор» [8]), оптимизированных под определенный класс решаемых задач.
В более широком смысле этот подход следует трактовать как необходимость существенного увеличения внимания к этапу системного анализа задачи, позволяющего выполнять алгоритмическую оптимизацию с учетом возможностей и особенностей вычислительной платформы.
Одной из показательных тенденций развития аппаратуры платформ МК стал переход к многоуровневым адаптивным системам управления (иначе — встраиваемым интеллектуальным системам управления — ВИСУ (рис. 8)).
Одним из базовых подходов к реализации интеллектуальных систем является подход, основанный на нечетких преобразованиях информации. В этом случае подсистема принятия решений (нечеткий контроллер — НК) описывается совокупностью логико-лингвистических правил «Если “условие”, то “действие”», где “условие” описывает принадлежность входов контроллера некоторому набору (диапазону) входных значений, а “действие” задает значения выходов кон-
Сигналы управления © Сигналы состояния
■ Рис. 8. Обобщенная структура ВИСУ
троллера; при этом каждое из условий характеризуется некоторой мерой достоверности в данный момент времени. Результирующее решение для данного момента времени вырабатывается на основе суперпозиции “действий” с учетом меры достоверности правил, их предлагающих. К достоинствам нечетких систем принятия решений относятся эффективность эвристического синтеза (в смысле минимизации трудозатрат), предсказуемость и объяснимость поведения системы.
Процесс разработки и функционирования НК, с некоторыми упрощениями представленный на рис. 9, включает десять основных этапов:
1) сбор данных об объекте в режиме управления оператором позволяет сформировать первичную базу данных «стимул — реакция», описывающую поведение реального объекта с учетом особенностей внешней среды;
2) формирование по первичной базе «стимул — реакция» моделей объекта и внешней среды, позволяющих ставить принципиально не ограниченные по разнообразию и кратности повторений эксперименты по формированию полной базы данных «стимул — реакция»;
3) накопление полной базы «стимул — реакция». Отметим, что при наличии достоверного математического описания объекта и внешней среды этап 1 может быть опущен; при невозмож-
ік
Цель функционирования
Блок планирования и логического вывода Блок оценки качества
Стратеги- ческий уровень Тип управления
Блок Блок
обоб- принятия
щения решения
Такти-
ческий
уровень
Испол-
нитель-
ный
уровень
Эле-
менты
управле-
ния
Регу-
лятор
Драйвер
объекта
Драйвер
датчиков
Средства моделирования
Модель внешней среды
Модель объекта
Модель устройства управления
Данные об управлении объектом
tJ=
Оператор-эксперт по управлению
Внешняя среда
Объект, процесс
10
Измеритель
Драйвер
Регулятор |
Нечеткий
вычислитель
МК-система управления
Средства планирования эксперимента
Данные о моделировании
Средства автоматической генерации баз нечетких знаний
Средства моделирования и отладки НК
Средства
проектирования
Средства ввода функций принадлежности и правил
Транслятор НК
Базовые
подпрограммы
Описание НК
Редактор — -► Транслятор
Загрузчик ч_ — Отл^чик
Средства проектирования МК-систем управления
■ Рис. 9. Методика проектирования ВИСУ с нечеткой обработкой данных
ности провести качественное моделирование база данных собирается на этапе 1;
4) формирование базы метаданных (иначе — «базы нечетких знаний»), описывающей системные зависимости «вход-выход» в экспериментальных данных, позволяющих описать связи «вход-выход» в терминах «если — то». Диапазоны значений входов и выходов (т. е. лингвистических переменных) делятся на участки (термы), между ними выявляется и описывается взаимосвязь;
5) ручная коррекция базы нечетких знаний (функций принадлежности и правил) с учетом неформальных знаний эксперта. В случае отсутствия средств автоматической генерации баз нечетких знаний задачи этапа 4 переходят на этап 5 — эксперт должен самостоятельно обнаружить и описать на уровне правил системные зависимости между входными и выходными переменными;
6) отладка базы нечетких знаний на моделях позволяет удостовериться в корректности сбора исходных данных и проведенных преобразований;
7) генерация описания НК, пригодного для реализации во встраиваемой системе (программы, эквивалентной с точки зрения результатов преобразования — так называемый «программный эмулятор нечеткого вычислителя», или прошивки для аппаратного вычислителя);
8) разработка МК-системы с нечетким вычислителем, выполняемая по стандартной схеме проектирования встраиваемых приложений;
9-10) загрузка программ и отладка встраиваемой нечеткой системы на реальном объекте, также соответствующая традиционной последовательности действий разработчика.
Характерной тенденцией развития ВИСУ является появление на рынке нового класса МК, содержащих особое периферийное устройство, связанное с арифметико-логическим устройством, — блок нечеткой обработки, и представляющих собой законченную аппаратную платформу для системы управления (для их обозначения применяется термин ICU: Intelligent Controller Unit — интеллектуальный контроллер). К таким fuzzy-контроллерам относятся ST5 (STMicroelectron-ics), 68HCS12 (Motorola) и др.
На рынке представлено достаточно большое количество инструментальных средств поддержки разработки нечетких систем. Кратко классифицировать их можно в соответствии с основными областями применения. Рассмотрим особенности классов инструментальных средств.
Математические средства моделирования (например, FuzzyToolBox для MatLab) предназначены для выполнения анализа систем обработки
данных (в том числе с применением нечетких подсистем) и позволяют создавать математически абстрактные нечеткие модели произвольной сложности, не ориентированные специально на конкретную область применения. Моделирование происходит на достаточно мощных кроссовых вычислительных системах, при этом сложность реализации модели и конкретные пути ее переноса на целевую систему не принимаются во внимание. Такая нечеткая модель может быть легко встроена в более сложную модель, описанную в том же пакете. Однако ее использование в целевой системе, как правило, затруднительно или требует неоправданно больших накладных расходов, связанных с поддержкой функционирования промежуточного уровня — интерпретатора модели.
Средства разработки программных эмуляторов (например, FuzzyTech) предназначены для построения целевого нечеткого вычислителя, учитывают требования реализуемости и позволяют разрабатывать нечеткие системы для широкого круга задач. Но, как правило, они либо оперируют нестандартными способами описания моделей (например, посредством специализированных языков), либо активно используют особенности архитектуры целевой платформы (для достижения наивысшей производительности), либо генерируют высокоуровневое описание модели (для достижения наибольшей универсальности). В связи с этими различными по природе причинами перенос разработок на другие целевые платформы представляет определенные трудности. Отметим, что «трансляция» нечеткого описания в программу на некотором языке во многих случаях является необратимой операцией (т. е. восстановление исходной нечеткой модели по ее описанию невозможно или существенно затруднено).
Предметно-ориентированные системы (например, Diagnos.ru) используются для проектирования средств нечеткого принятия решений на уровне специальных моделей для конкретной предметной области (медицины, экономики и пр.). Они, как правило, не предназначены для использования во встраиваемых системах и являются закрытыми от модификации или расширения номенклатуры функциональных возможностей силами целевого пользователя.
Комбинированные средства имеют смешанные черты инструментальных средств перечисленных выше классов.
Необходимо отметить, что для сложных систем, помимо методов эвристического формирования нечеткого контроллера, существенное значение приобретают методы и средства автоматизированной генерации баз знаний, в частности, основанные на комбинации методов генетического синтеза и кластеризации.
Следует особо оговориться, что авторы настоящей статьи не являются сторонниками отказа от современных достижений в области инструментальных средств для МК. Тем не менее, речь должна идти о том, что разработчик, имеющий глубокое системное понимание этапов процесса проектирования и навыки осмысленного управления им, обладает существенными профессиональными преимуществами и обеспечивает больший экономический эффект своей деятельности по сравнению с разработчиками, таких знаний и навыков не имеющими.
Пример оптимизации алгоритма в рамках единой инструментальной технологии приведен на рис. 10. По условию задачи программисту требуется вычислить модуль произведения двух знакопеременных чисел, представленных в 8-разрядном дополнительном коде (диапазон значений от минус 128 до плюс 127), при этом знак произведения необходимо вычислить отдельно. Показаны два варианта «схема программы — ее реализация». Из рисунка видно, что грамотно выполненный системный анализ может обеспечить экономию обоих критически важных ресурсов МК: здесь сэкономлено 18 % памяти и от 10 до 25 % времени.
Вычисление 1аЬ|, знак: с
с:=0 <Ь[7]^> нет^*^^ да
Ь:=|Ь| Инверсия с
amulb_sgn:
push a 2б /2 мкс ^г c ;1б /1 мкс
xrl a,b ;2 /1 push a ;2 /2
mov ^^.7 ;2 1 mov a,b ;2 /1
pop a ;2 /2 ]пЬ acc.7,$bpos ;3 /2
push psw ;2 /2 $bneg: cpl c ;1 /1
push a ;2 /2 cpl a ;1 /1
mov a,b ;2 /1 inc a ;1 /1
]пЬ acc.7,$bpos 3 /2 mov Ьд ;2 /1
$bneg: cpl a ;1 1 $bpos: pop a ;2 /2
inc a ;1 1 ]пЬ acc.7,$apos ;3 /2
mov Ьд ;2 /1 $aneg: cpl c ;1 /1
$bpos: pop a ;2 /2 cpl a ;1 /1
]пЬ acc.7,$apos ;3 /2 inc a ;1 /1
$aneg: cpl a ;1 і^ a ;1 1 1 $apos: push psw mul ab ;2 ;1 /2 /4
$apos: mul ab ;1 /4 pop psw ;2 /2
pop psw ;2 /2 ret ;1 /2
ret ;1 /2
Объем кода: 32 байта. Объем кода: 27 байт.
amulb_sgn1:
Время выполнения от 25 до 30 мкс
Время выполнения от 20 до 27 мкс
■ Рис. 10. Сравнительный анализ двух реализаций одной задачи на МК
Таким образом, совместное действие двух тенденций: расширяющихся потенциальных возможностей встраиваемых систем при одновременном рациональном подходе к использованию их ресурсов — позволит, с одной стороны, расширить класс задач, эффективно реализуемых на встраиваемых системах, с другой стороны — решать более сложные задачи на конкретной разновидности МК.
Пример реализации образовательных технологий в области встраиваемых систем
Сказанное выше переводит проблему в методическую плоскость. В этом аспекте первостепенную важность приобретает проблема создания методики преподавания дисциплин цикла «Встраиваемые системы», обеспечивающей «долгожительство» подготовленного специалиста, его возможность адаптироваться к изменениям в сфере встраиваемых устройств.
Одним из ключевых подходов является необходимость обеспечить фундаментальность образования в этой сфере, несмотря на кажущуюся, на первый взгляд, невозможность этого в такой столь быстро обновляющейся предметной области, как платформы встраиваемых средств вычислительной техники. Речь идет о необходимости выделить онтологический — сущностный — слой базовых знаний, устойчивый к изменениям конкретных реализаций МК.
Такими базовыми знаниями являются принципы архитектурной реализации МК: общие структурно-функциональные схемы, принципы обмена данными по внутренним магистралям, принципы функционирования процессорного ядра, построения памяти программ и памяти данных, знания основных классов периферийных устройств (портов, таймеров, ЦАП, АЦП, средств обмена данными в распределенных системах, подсистем обслуживания запросов прерываний, средств повышения надежности функционирования и др.), наиболее целесообразных подходов к их реализации и обосновывающих их факторов, фундаментальных методов работы с ними. Эти знания должны сообщаться студентам на первом этапе изучения дисциплины.
На втором этапе изучается конкретный представитель МК на основе предшествующих знаний об общих особенностях МК-архитектур. Важной методической задачей является выбор такой конкретной архитектуры. Если речь идет о подготовке специалистов по заказу некоторого предприятия, выбор очевиден; если готовится специалист достаточно широкого профиля, необходимо более тщательно подойти к решению этого вопроса.
Анализ рынка МК показывает, что наибольшую долю (как в денежном эквиваленте, так и в валовом количестве) занимают 8-битные архитектуры. Область их применения — локальные системы управления промышленного и бытового назначения, сверхнизкопотребляющие системы, системы для беспроводной связи. С точки зрения выбора конкретной архитектуры 8-разрядных МК для задач обучения необходимо ориентироваться на МК, ставшие стандартом.
«Сегодня в мире производится несколько десятков тысяч типов различных микроконтроллеров. Среди них особое место занимают так называемые х51-совместимые контроллеры, т. е. микроконтроллеры, совместимые с одним из первых типов микроконтроллеров — i8051... Эти микроконтроллеры и сегодня занимают лидирующее место и являются «de facto» всемирным промышленным стандартом. Х51-совместимые МК выпускаются практически всеми известными мировыми производителями» [9].
Отметим также, что известными лидерами микроконтроллерной отрасли осваиваются новые подсемейства х51-совместимых МК все последние годы. На момент написания статьи в апреле 2011 г. фирмой SiLabs анонсированы семейства C8051F38x и C8051T62x/32x. AnalogDe-vices развивает направление так называемых AnalogMicroconrollers — микроконтроллеров, встроенных в аналого-цифровые преобразователи высокого разрешения и решающих в том числе задачи цифровой фильтрации. Сопоставление этих и многих других фактов позволяет говорить о существовании тенденции; перспективность семейства х51 аналитики оценивают в полтора-два десятилетия.
Таким образом, МК семейства х51 являются своего рода «живой классикой», достаточно интересными, в том числе с академической точки зрения, и при этом простыми для изучения.
Выбор конкретного варианта МК, изучаемого во второй части курса, связан с лабораторным практикумом (безусловно необходимым для закрепления полученных знаний и развития практических навыков разработки МК-систем) и наиболее сильно обусловливается технической стороной — удобством изготовления, эксплуатации и обслуживания экспериментальной базы (несколько подробнее о ней будет сказано ниже, здесь отметим, что в авторском варианте лабораторного практикума применяется МК Infi-neon 515).
На третьем этапе рассматриваются методы и средства проектирования, отладки и диагностирования МК-систем; особенное внимание уделяется вопросам единства разработки аппаратного и программного обеспечения МК.
На заключительном, четвертом этапе теоретической подготовки учащиеся знакомятся с примерами применения МК. Часто встречающийся в практике преподавания подход, связанный с рассмотрением достаточно сложной задачи из практической деятельности преподавателя, по-видимому, неприемлем: как правило, он слишком сложен для аудитории и, кроме того, изобилует массой конкретных нюансов, которые слушателям трудно разъяснить.
Авторы статьи предлагают учащимся примеры решения типовых задач построения МК-систем: рассматриваются ввод информации в МК-систему (т. е. измерение значения некоторого параметра физического сигнала-носителя: обработка сигналов с дискретным, аналоговым, время-импульс-ным кодированием информации); вычислительные преобразования; вывод информации из МК-системы (т. е. кодирование информации некоторым параметром физического сигнала: рассматриваются дискретное, ШИМ- и ФИМ-кодирование).
Для поддержки лабораторного практикума авторами предлагается исследовательский комплекс СТК-1 (рис. 11-13), позволяющий выполнять полный цикл разработки встраиваемых МК-систем управления, осуществлять подготовку бакалавров и магистров по дисциплинам «Микроконтроллеры», «Вычислительные машины и системы», «Встраиваемые интеллектуальные системы управления», исследовать уровень аппаратной поддержки вычислений во встраиваемых системах управления.
К отличительным чертам комплекса относятся: интеграция объекта, средств и технологии проектирования, что обеспечивает существенное повышение эффективности проектирования встраиваемых систем и качества обучения; наличие коммутационного поля (позволяющего задавать структуру аппаратного взаимодействия элементов стенда между собой и портами ввода-вывода МК для разработки аппаратных соединений); наличие встроенных в стенд объектов управления и датчиков (клавиатура и ЖКИ для изучения
■ Рис. 11. Структура автоматизированного рабочего места СТК-1
■ Рис. 12. Внешний вид автоматизированного рабочего места СТК-1
дискретного ввода-вывода, потенциометр, интегрирующее RC-звено, микрофон и динамик для изучения аналогового ввода-вывода), а также генераторов тестовых воздействий (источник гармонического сигнала с регулируемыми пользователем частотой и амплитудой, источник импульс-
■ Рис. 13. Инструментальное программное обеспечение для СТК-1
ных сигналов с регулируемыми пользователем частотой и скважностью). Для поддержки процесса проектирования применяется авторское инструментальное программное обеспечение.
Как видно из рисунков, при разработке МК-системы студенты проектируют и натурно реализуют аппаратные соединения МК с объектами системы, разрабатывают и отлаживают соответствующее программное обеспечение.
Отметим, что в качестве методического обеспечения экспериментальные комплексы на основе микроконтроллеров х51 выпускают такие признанные лидеры рынка мирового учебного и лабораторного оборудования, как K&H Manufacturing (Тайвань), Edibon (Испания) и др. Учебное оборудование подобного рода производится во многих странах, в том числе в СНГ и России. Важной отличительной чертой СТК-1 является то, что в нем отсутствуют предопределенные соединения объектов и линий ввода-вывода МК, благодаря чему обучающиеся должны следовать описанному ранее технологическому маршруту проектирова-
1. Контроллер // Большая российская энциклопедия. М., 2010. Т. 15. С. 152-153.
2. Frost and Sullivan. http://www.frost.com (дата обращения: 15.10.2011).
3. Infineon Technologies Company. http://www.infineon. com (дата обращения: 15.10.2011).
4. The Graphics Integrated Development Environment for AVR microcontrollers. http://www.algrom.net (дата обращения: 15.10.2011).
5. PLS Development Tools. http://www.pls-mc.com (дата обращения: 15.10.2011).
6. Новодачный М. Размышления по итогам конференции «Российский рынок микроэлектроники.
ния (естественно, в упрощенном для целей обучения виде) — сначала разработать структуру системы и связи МК с прочими ее элементами и лишь затем осуществлять программирование МК.
Авторский курс «Микроконтроллеры. Разработка встраиваемых приложений» изложен в одноименной книге [10].
Заключение
Авторы полагают, что следует преодолевать стереотипные представления о разработке систем такого рода как о процессе прикладного программирования, а также повышать внимание к методическим вопросам подготовки специалистов в области встраиваемых средств. Такой подход, усиленный возможностями современных инструментальных комплексов, обеспечит повышение качества разработки в такой массовой и всеохватывающей области применения средств вычислительной техники, как встраиваемые системы.
Перспективы развития» // Современная электроника. 2010. № 4. С. 8-12.
7. Tensilica Company. http://www.tensilica.com (дата обращения: 15.10.2011).
8. Водяхо А. И., Смолов В. Б., Плюснин В. У., Пузанков Д. В. Функционально ориентированные процессоры. — Л.: Машиностроение, 1988. — 224 с.
9. Сайт дистрибьюторов Silicon Laboratories в России. http://www.silabs.ru (дата обращения: 03.11.2011).
10. Васильев А. Е. Микроконтроллеры: разработка встраиваемых приложений. — СПб.: БХВ-Петер-бург, 2008. — 304 с.