Кочегаров И.И., Трусов В.А. РАЗВИТИЕ СИСТЕМ ИЗУЧЕНИЯ МИКРОКОНТРОЛЛЕРОВ И ПЛИС
Активное применение микропроцессорной и микроконтроллерной техники в промышленность требует подготовки квалифицированных специалистов, способных в кратчайшие сроки освоить новые типы устройств и применять их в собственных разработках.
Практически все производители современных микроконтроллерных предлагают эмуляторы выпускаемых устройств, предназначенные для полноценной отладки и создания программ на своих устройствах. Основной проблемой, появляющейся при освоении микроконтроллеров с использованием таких эмуляторов является высокий уровень начальной подготовки специалиста. Вследствие этого при обучении и подготовке специалистов на начальном этапе лучше применять более простые программные или программно-аппаратные комплексы. Затем, при достижении определенной квалификации, специалист уже без особых проблем переходит на эмуляторы такого класса.
Созданный несколько лет назад на кафедре КиПРА Пензенского Государственного университета программный модуль для изучения основных функций микропроцессоров(МП) хорошо зарекомендовал себя в учебном процессе, получил диплом Научно-технического общества РЭС имени А.С.Попова. Данный модуль имеет в своем составе встроенную поддержку нескольких типов МП современных микроконтроллеров и, в соответствии со своей открытой и модульной архитектурой, легко может дополняться и расширяться, например модулями изучения ПЛИС.
Подобная структура хорошо подходит для использования пакета в образовательных целях. При разработке и отладке реальных программ (при создании, например, устройств на микроконтроллерах) приходится совершать ряд последовательных этапов: отладка алгоритма, компиляция программы; перевод в формат, понимаемый программатором; прошивка микроконтроллера.
Предлагается программно-аппаратный комплекс для изучения основных типов микроконтроллеров, микропроцессоров и ПЛИС, структура которого показана на рис. 1.
Рис.1. Структурная схема программно-аппаратного комплекса.
В этом случае используется интеллектуальная программа-оболочка, позволяющая пользователю пройти все этапы, начиная от изучения основных (и не только) функций данного МП и заканчивая прошивкой микроконтроллера, т.е. создания готового работающего устройства.
Кроме этого, существует модуль, отвечающий за контроль и качество усваиваемых обучаемых знаний.
Каждый уровень разделён на несколько частей, которые отвечают за свои типы аппаратуры и могут добавляться/удаляться по мере необходимости.
—ВГЪ май, СрТ
File Edit Jump Search View Opitions Windows Help
slv'l -1NI xl -l+l з:і -І и -І у І ні кМ 11 ЛШ'> I'PNkalflM і|щ| ®| _
segGBB:011D PROGRAM proc near
seg00O:011D
seg000:011D var_1B0 = byte ptr -10Bh
seg000:011D
segO0O:011D call @ Systenlnit$qv ; Systemlnit(uoid)
seg000:0122 call sub_57_8 0 '
seg000:0127 push bp
segOBO:0128 non bp, sp
segOBO:012A 5Ub sp, 100b
segOBO:012E non di, offset unk_144_9DE
seg000:O131 push ds
segOBO:0132 push di
segO0O:0133 call @Writel_n$qn4Text ; UriteLnfuar f: Text)
seg000:O138 non di, offset unk_144_9DE
segOOO:013B push ds
segOOO:013C push di
segOOO:013D non di, offset aBlouitTn2 051Ue ; " BlowIT (tn) 2051 uer 1.0 be"...
seg000:01*i0 push cs
segOOO:0141 push di
segOOO:0142 xor ax, ax
seg000:0144 push ax
seg000:0145 call @Write$qn4Textm6String4Word ; Write(var f; s: String; width: Word)
seg000:014A call @WriteLn$qn4Text ; WriteLn(uar f: Text)
spg000:014F non di, offset unk_144_9DE
spg000:0152 push ds
spg000:0153 push di
spg000:0154 non di, offset aHttpSistudio_c ; "http://sistudio.con for schenatics and "...
seg000:O157 push cs
-
Flushing buffers, please wait...ok
File 'E ABI2051.EXE' is successfully loaded into the database. Compiling file 'D:\IKo\Hack\IDA Pto\idc\ida.idc'...
Executing function 'main1...
Executing function 'OnLoad'...
IDA is analysing the input file...
You may start to enplore the input file right now.
Symbol information file: D:MKo\Hack\IDA Pro\ids\flirt\tp.ids Using FLIRT signature: Turbo Pascal V5.0/5.5/6.0/7.0 The initial autoanalysis is finished.
AU: idle
[Up I Disk: 34GB |0W№26D |ffl)Q1Q11D:
Рис.2. Рабочее окно дизассемблера.
В программном комплексе используются хорошо зарекомендовавшие себя программы, например, в качестве дизассемблера применяется интерактивный дизассемблер IDA [2], обладающей обширной библиотекой поддерживаемых процессоров, которая пополняется разработчиками (www.datarescue.com) и самими пользователями. При этом, вследствие своей модульности, пользователь может исполь зовать также любую другую программу.
В качестве программатора используются разработка различных фирм в соответствии с типом исследуемого устройства.
В результате использования описываемого комплекса в учебном процессе, студенты смогут пройти весь цикл разработки микропроцессорного устройства начиная с классического i 8080 и заканчивая современными микроконтроллерами с поддержкой USB2.0 и DSP.
В последнее время во многих отраслях промышленности, в быту все чаще используются встроенные системы управления (автоэлектроника, высокотехнологичная бытовая техника, различные электронные счетчики и многое другое). Знание микропроцессорной техники и умение её применять сможет сделать новые разработки более удобными для применения и, следовательно, конкурентоспособными.
Таким образом, применение этого комплекса позволит поддерживать знания конструкторов и разработчиков на современном уровне, оперативно и качественно внедрять новые разработки в производство.
Использование интеллектуальных средств обучения позволит повысить качество подготовки специалистов в соответствии с целевыми задачами обучения.
Следующим этапом при подготовке инженеров будет изучение и активное употребление современных методологий разработки, включающих в себя:
Использование языков высокого уровня (Си, Паскаль, Фитон и т.п.).
В настоящее время уже существует определённое число компиляторов подобного рода, например, Си-компиляторы, выпускаемые фирмой HI-TECH [4].
Применение объектно-ориентированного подхода при создании сложных проектов. Стандартных решений в этом направлении пока довольно немного, поэтому особенно важно обучать специалистов и активно внедрять объектный подход при разработке современных разработок с применением микроконтроллеров.
Внедрение визуальных средств разработки программ, позволяющих наглядно создать как требуемую пользователю внутреннюю конфигурацию устройства, так и автоматически создать готовую программу. Среди первого типа решений необходимо отметить Visual Initializer, появившийся и активно развивающийся в программном продукте MPLAB IDE фирмы Microchip [5]. Среди систем, позволяющим автоматически создавать программы по визуальным диаграммам заметно выделяется система HiASM [6]. К сожалению, в данный момент существуют ограниченное число компиляторов для него, но открытая архитектура позволяет добавить требуемое самостоятельно.
ЛИТЕРАТУРА
1. Ровдо А.А. Микропроцессоры от 8086 до Pentium III Xeon и AMD-K6-3.-М.: ДМК, 2000.-592с.: ил.
2. Касперски К. Образ мышления - дизассемблер IDA.-М.: Солон-Р, 2001.-478с.: ил.
3. Кочегаров И.И. Программно-аппаратный комплекс исследования микроконтроллеров PIC // Труды международного юбилейного симпозиума «Актуальные проблемы науки и образования», Пенза: ИИЦ ПГУ, 2 0 0 6
4. http //www.htsoft.com/products/
5. http //www.microchip.com/mplab
6. http: //si-tech.ru/hiasm