Научная статья на тему 'Разработка структурной схемы 8-разрядного микроконтроллера с модифицированной AVR RISC архитектурой'

Разработка структурной схемы 8-разрядного микроконтроллера с модифицированной AVR RISC архитектурой Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1102
342
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТРУКТУРНО-ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ / 8-РАЗРЯДНЫЙ МИКРОКОНТРОЛЛЕР / AVR RISC / STRUCTURAL AND FUNCTIONAL ORGANIZATION / 8-BIT MICROCONTROLLER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шкондин Ю. А., Горбунов Д. Е., Мушта А. И.

Разработана структурно-функциональная организация 8-разрядного микроконтроллера с модифицированной AVR RISC архитектурой

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

STRUCTURAL AND FUNCTIONAL ORGANIZATION OF 8-BIT MICROCONTROLLER WITH MODIFICATED AVR RISC ARCHITECTURE

Structural and functional organization of 8-bit microcontroller with modificated AVR RISC architecture was designed

Текст научной работы на тему «Разработка структурной схемы 8-разрядного микроконтроллера с модифицированной AVR RISC архитектурой»

УДК 621.3.049.77: 001.63

РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ 8-РАЗРЯДНОГО МИКРОКОНТРОЛЛЕРА С МОДИФИЦИРОВАННОЙ АУИ ИКС АРХИТЕКТУРОЙ Ю.А. Шкондин, Д.Е. Горбунов, А.И. Мушта

Разработана структурно-функциональная организация 8-разрядного микроконтроллера с модифицированной АУЯ ЫБС архитектурой

Ключевые слова: структурно-функциональная организация, 8-разрядный микроконтроллер, АУЯ ЮБС

Постановка вопроса. Уже длительное время микроконтроллеры ЛУЯ представлены набором семейств, сбалансированных по функциональности, производительности, экономичности и стоимости. Но компания Л1те1 не останавливается на достигнутом и продолжает активное развитие этой платформы. С каждым годом микроконтроллеры ЛУЯ покрывают все более широкий спектр возможных приложений, захватывая всё новые и новые ниши на рынке[1].

Особенностью ЛУЯ-микроконтроллеров, которая способствовала их популяризации, это использование ИБС-архитектуры, которая характеризуются мощным набором инструкций, большинство которых выполняются за один машинный цикл. Это означает, что при равной частоте тактового генератора они обеспечивают производительность в 12 (6) раз больше производительности предшествующих микроконтроллеров на основе ОБС-архитектуры (например, МСБ51)[2]. С другой стороны, в рамках одного приложения с заданным быстродействием ЛУЯ-микроконтроллер может тактироваться в 12 (6) раз меньшей тактовой частотой, обеспечивая равное быстродействие, но при этом потребляя гораздо меньшую мощность. Таким образом, ЛУЯ-микроконтроллеры представляют более широкие возможности по оптимизации производительности/энергопотребления, что особенно важно при разработке приложений с батарейным питанием. Микроконтроллеры обеспечивает производительность до 16 млн. оп. в секунду и поддерживают флэш-память программ различной емкости: 1... 256 кбайт. ЛУЯ-архитектура оптимизирована под язык высокого уровня Си, а большинство представителей семейства megaЛVR содержат 8канальный 10-разрядный АЦП, а также совместимый с 1ЕЕЕ 1149.1 интерфейс 1ТЛв или debugWIRE для встроенной отладки. Кроме того, все микроконтроллеры megaЛVR с флэш-памятью емкостью 16 кбайт и более могут программировать-

Шкондин Юрий Александрович - ВГТУ, аспирант, тел. 8(904)211-16-77 Горбунов Денис Евгеньевич - ВГТУ, соискатель, тел. 8(908)13-00-152

Мушта Александр Иванович - ВГТУ, канд. техн. наук, профессор, тел. 8(919) 185-68-30

ся через интерфейс JTAG.

Несмотря на несомненные преимущества AVR RISC архитектуры, ряд параметров и возможностей микроконтроллера возможно усовершенствовать, что сделает его еще более привлекательным на рынке микроконтроллеров и обеспечит более высокую степень конкурентоспособности.

Цель данной статьи - разработать структурную схему микроконтроллера, построенного на базе ИМС ATmega128, обладающего модернизированной AVR RISC архитектурой и усовершенствованными аппаратными возможностями.

Исходные условия. В целях достижения максимальной производительности и параллелизма у AVR-микроконтроллеров используется Гарвардская архитектура с раздельными памятью и шинами программ и данных. Команды в памяти программ выполняются с одноуровневой конвейеризацией. В процессе выполнения одной инструкции следующая предварительно считывается из памяти программ. Данная концепция позволяет выполнять одну инструкцию за один машинный цикл. Память программ представляет собой внутрисистемно программируемую флэш-память. Она может быть различного размера - от 1 до 256 КБайт. Ее главное достоинство в том, что она построена на принципе электрической перепрограммируемости, т. е. допускает многократное стирание и запись информации. В зависимости от микроконтроллера программа может заносится во Flash-память с помощью обычного программатора, с помощью внутрисхемного программирования (функция ISP) через последовательный интерфейс, например SPI, а также с помощью самопрограммирования, т. е. самостоятельного изменения содержимого своей памяти программ. Эта особенность позволяет создавать на их основе очень гибкие системы, алгоритм работы которых будет меняться самим микроконтроллером в зависимости от каких-либо внутренних условий или внешних событий.

Все текущие версии кристаллов "mega" имеют возможность самопрограммирования (функция SPM), которая реализуется с помощью блока загрузчика (Boot Loader Section)[3]. Эта функция позволяет обновлять программный код под управлением самого микроконтроллера, используя расположенную непосредственно во Flash-памяти программу загрузчика. Причем программа в блоке загрузчика может программировать весь массив

Flash-памяти микроконтроллера, включая и саму область памяти загрузчика.

В микроконтроллерах семейства "mega" разрешается выполнять инструкции кода загрузчика при стирании или записи в область памяти программ для приложения ("чтение во время записи"). В результате микроконтроллер может продолжать реагировать на запросы прерывания даже во время перепрограммирования. Для упрощения использования этой функции микроконтроллеры AVR поддерживают возможность переноса векторов прерывания из области памяти приложения в блок загрузчика.

Регистровый файл с быстрым доступом содержит 32 x 8-разр. рабочих регистров общего назначения с однотактовым циклом доступа. Благо -даря этому достигнута однотактность работы арифметико-логического устройства (АЛУ). При обычной работе АЛУ сначала из регистрового файла загружается два операнда, затем выполняется операция, а после результат отправляется обратно в регистровый файл и все это происходит за один машинный цикл.

6 регистров из 32 могут использоваться как три 16-разр. регистра косвенного адреса для эффективной адресации в пределах памяти данных. Один из этих указателей адреса может также использоваться как указатель адреса для доступа к таблице преобразования во флэш-памяти программ. Данные 16-разр. регистры называются X-регистр, Y-регистр и Z-регистр и описываются далее в этом разделе.

АЛУ поддерживает арифметические и логические операции между регистрами, а также между константой и регистром. Кроме того, АЛУ поддерживает действия с одним регистром. После выполнения арифметической операции регистр статуса обновляется для отображения результата выполнения операции[4].

Для ветвления программы поддерживаются инструкции условных и безусловных переходов и вызовов процедур, позволяющих непосредственно адресоваться в пределах адресного пространства. Большинство инструкций представляют собой одно 16-разр. слово. Каждый адрес памяти программ содержит 16- или 32-разр. инструкцию. Флэш-память программ разделена на две секции: секция программы начальной загрузки и секция прикладной программы. Обе секции имеют раздельные биты защиты от записи и чтения/записи. Инструкция SPM (запись в секцию прикладной программы) должна использоваться только внутри секции программы начальной загрузки.

При генерации прерывания и вызове подпрограмм адрес возврата из программного счетчика записывается в стек. Стек эффективно распределен в статическом ОЗУ памяти данных и, следовательно, размер стека ограничен общим размером статического ОЗУ и используемым его объемом. В любой программе сразу после сброса должна быть выполнена инициализация указателя стека (SP) (т.е. перед выполнением процедур обработки прерываний или вызовом подпрограмм). Указатель стека -

SP - доступен на чтение и запись в пространстве ввода-вывода. Доступ к статическому ОЗУ данных может быть легко осуществлен через 5 различных режимов адресации архитектуры AVR.

Гибкий модуль прерываний содержит свои управляющие регистры в пространстве ввода-вывода и имеет дополнительный бит общего разрешения работы системы прерываний в регистре статуса. У всех прерываний имеется свой вектор прерывания в соответствии с таблицей векторов прерываний. Прерывания имеют приоритет в соответствии с позицией их вектора. Прерывания с меньшим адресом прерывания имеют более высокий приоритет.

Пространство памяти ввода-вывода содержит 64 адреса с непосредственной адресацией или может адресоваться как память данных, следующая за регистрами по адресам $20 - $5F. Кроме того, ATmega128 имеет пространство расширенного ввода-вывода по адресам $60 - $FF в статическом ОЗУ, для доступа к которому могут использоваться только процедуры ST/STS/STD и LD/LDS/LDD.

Периферия МК AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART и SPI, сторожевой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.

AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счётчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса.

Микроконтроллеры обладают широкими возможностями по выбору источника тактового сигнала. Тактирование может быть обеспечено внешним кварцевым/керамическим резонатором, внешним низкочастотным кварцевым резонатором, внешним RC генератором, встроенным калиброванным RC генератором, внешним источником синхронизации.

Сброс микроконтроллеров может быть осуществлен пятью источниками: схемой сброса при подаче питания, внешним источником, сбросом от сторожевого таймера, схемой сброса при снижении питания, через JTAG интерфейс.

На рис. 1 представлена функциональная схема AVR RISC микроконтроллера Atmega128.

Интерфейс JTAG микроконтроллеров семейства AVR совместим со стандартом IEEE 1149.1 и может использоваться для тестирования печатных плат с помощью функции граничного сканирования, программирования энергонезависимой памяти,

конфигурационных бит и бит защиты программы, встроенной отладки.

Модернизация. Изучение архитектуры AVR приводит к выводу о том, что система команд, обладающая несомненными вышеуказанными достоинствами, тем не менее, может быть усовершенствована за счет внедрения принципиально новой архитектуры работы с памятью данных ОЗУ [5]. В таблице приведены длительности выполнения инструкций для стандартной Л'УИ ИКС архитектуры и для модифицированной Л'УИ И1БС архитектуры.

Длительность выполнения инструкций, тактов Кол-во инструкций

Модифицированное ядро Стан- дартное Л'УИ ядро (серия xmega)

1 130 73

2 3 24

3 - 9

4 - 2

Продолжение таблицы

1/2 - 20

1/2/3 - 3

2/3/4 - 2

Данное увеличение производительности заключается в реализации доступа ядра микроконтроллера одновременно к двум соседним адресуемым ячейкам памяти. Следует отметить, что простое расширение ширины шины памяти приведет к сложности в адресации к произвольной ячейке памяти, кроме того, если дополнительный байт (слово) расположен по нечетному адресу, то получить доступ к нему в этом же цикле чтения не возможно. Для реализации предложенного решения весь блок памяти как оперативной, так и постоянной разбивается на два одинаковых блока, а запись в них производится путем чередования блоков. Вводится дополнительный блок управления памятью, осуществляющий необходимую коммутацию блоков памяти в зависимости от поступающего адреса и выполняемого действия. С точки зрения программиста, ширина шин памяти остается той же и никаких дополнительных программных действий не требует.

Рис. 1. Функциональная схема AVR RISC микроконтроллера Atmega12S

Рис. 2. Структурная схема блока управления памятью

Блок управления памятью (рис. 2) функционирует следующим образом. При поступлении от ядра микроконтроллера адреса текущей адресуемой инструкции блок управления на основании младшего бита адреса инструкции осуществляет коммутацию адресуемого блока памяти инструкций на основной выход инструкции, а другого на дополнительный. При Этоф •бЙЭЫТфбрШрЭЗания адреса для блока памяти, коммутируемого на дополнительный выход инструкций на основе текущего Адреса, поступающего от ядра, формирует адрес либо аналогичный адресу текущего основного блока, в случае четного входного адреса, либо увеличенный на один в случае нечетного адреса. Таким образом, на основном выходе инструкций блока управления памятью всегда присутствует адресуема^ инструкция, а на дополнительном следующая за ним.

Операции, осуществляемые с блоками оперативной памяти аналогичны операциям проводимым с блоками памяти программ, но несколько сложнее в силу того, что, как правило, в микроконтроллерах программный стек располагается в ОЗУ, что требует обратного направления записи. Для реализации данной функции вводится дополнительный сигнал от ядра микроконтроллера, определяющий направление записи/считывания. Либо прямое, для основных операций, либо обратное для операций проводимых со стеком. Вторым дополнительным сигналом от ядра является сигнал байт-слово определяющий режим записи в ОЗУ либо 1 байта, как в обычном ОЗУ, либо 2 байта (слова) для сохранения за 1 такт сразу двух байт адреса возврата из процедуры. Чтение производится всегда двух соседних байт, но в зависимости от сигнала направления, либо адрес дополнительного выхода больше на 1 адреса основного выхода в случае сигнала прямого направления, либо на 1 меньше адреса основного выхода в случае сигнала обратного направления.

Таким образом, применение при разработке микроконтроллера вышеуказанного способа организации памяти позволяет существенно повысить

быстродействие AVR RISC архитектуры, вплотную подойдя к производительности 1MIPS.

Далее обсудим вопросы объема и физического расположения памяти данных ОЗУ. В ряде микроконтроллеров серии mega ОЗУ внутрикристальное, объемом до 4Кб. Atmega128 и ряд других схем обладают возможностью подключения внешнего БЙОК упрОВУеНбб&ЯШЯЗШЖб. УвеличениеПЬ9Шма>ой8р§Н,а тивной памяти - несомненное преимущество, одна-Фош\Ш »использование именно внешней памяти имеет ряд недостатков. Во-первых это побра >бвстр®дйй-аДР&М>пр&т0аботе с медленной памят^юм вЮДторых 1(9ТКВДдов микроконтроллера (шина адреса, данных, управление) задействованы только лишь для обмена данными между ним и внешним ОЗУ. Кроме этого, применение двух блоков внешней памяти, Мулкак ГИр§бЕ©тся для реализации выЩйуотрйандалар-хитектуры, не позволит обеспечить тйебуемРе быстродействие, не говоря уже о том, что займет дополнительное количество выводов микроконтроллера. Таким образом, реализация усовершенствованной архитектуры работы в оперативной памятью возможна лишь при работе с внутренним ОЗУ.

М\/лЙтот.пёсай?'бя объема, конечно предпочтительнее иметь больший объем оперативной памяти "на бор-^Ч^оюн^фа. одщко данЧЯт(мнилоД^|*ых прямую будет зависеть от выбранной технологии, а также от максимального размера кристалла микроконтроллера для размещения его в вйбррпЭый >кор-

ФорЖбова тель и данных'

Контроллер силового каскада. Для внедрения адредщго

аппаратного элемента в микроконтроллер необходимо сказать несколько слов о его актуальности. В целях охраны окружающей среды и снижения эффекта излучения парниковых газов ФормравйШьШва по всему м^ру вводят Оравил^тре-упр§Вющ®ЩЙХ производителей"бытовоД^лектрбЩо-Сруд§вайия и промышленных предпрйт>»в2пус-кать продукцию более экономично расходующих электроэнергию. Наиболее часто этого можно достичь за счет эффективного управления скоростью электродвигателя. Это является причинной, почему разработчики бытовых приборов и поставщики полупроводников в настоящее время заинтересованы в разработке недорогих и экономичных регулируемых приводов.

За счет высокой выносливости, надежности, низкой стоимости и высокого к.п.д. (80%) асинхронные электродвигатели используются во многих промышленных приложениях, в т.ч.:

• бытовые электроприборы (стиральные машины, вытяжки, холодильники, вентиляторы, пылесосы, компрессоры и др.);

• системы нагрева, вентиляции и кондиционирования воздуха;

• промышленные электроприводы (управление движением, робототехника и др.);

• автомобили (электромобили)

Однако недостатком асинхронных двигателей

является работа только на номинальной скорости при подключении к сети. Это является причиной того, что преобразователи частоты необходимы для

регулировки частоты вращения асинхронных электродвигателей. Наиболее популярным алгоритмом управления трехфазным асинхронным электродвигателем является алгоритм с поддержанием постоянства отношения напряжение/частота (правило Костенко) и использованием обычного широтно -импульсно модулированного (ШИМ) управления инвертором напряжения, как показано на рис. 3.

Принцип Р8С базируется на использовании

РБС счетчик

Рис. 3. Типичная структура инверторного асинхронного привода

В последнее время быстро приобретают популярность бесколлекторные двигатели постоянного тока, проникая во многие отрасли промышленности. Этот тип двигателей находит применение в различных сферах использования: от бытовых приборов до рельсового транспорта. Главное преимущество бесколлекторных двигателей - отсутствие вращающихся и переключающихся контактов. Как следствие - бесколлекторные двигатели имеют очень большой ресурс. Также они отличаются высоким быстродействием и динамикой, точностью позиционирования, широким диапазоном изменения частоты вращения, возможностью использования во взрывоопасной и агрессивной среде, высокими энергетическими показателями (КПД более 90 % и св8ф более 0,95).

Основной особенностью, которая делает данный микроконтроллер привлекательным для применения в устройствах управления электроприводами, является интегрирование трех контроллеров управления силовым каскадом. В состав данных периферийных устройств входят 12-разрядные реверсивные счетчики с двумя компараторами, выходы которых могут управлять силовыми транзисторами инвертора. Эти элементы позволяют генерировать любую трехфазную форму, используя широтно-импульсную модуляцию, и поддерживают простое управление паузами неперекрытия.

Контроллер поддерживает синхронизацию частотой до 64 МГц и генерирует 12-битные ШИМ-сигналы на 3 парах противофазных выходов, предназначенных для управления тремя полумостами. Максимальная частота ШИМ-сигналов с разрешающей способностью управления напряжением 1/1000 составляет 64 кГц. На аппаратном уровне поддерживается возможность обнаружения аварийной ситуации и автоматического незамедлительного перевода электродвигателя в безопасное положение.

Генератор сигнала В

РБС вход РБС

модуля В вход В 1

РІБЕЬпВ 1

РБС вход Є5С Ґ

модуля В " ВХОД А 1

Генератор сигнала В

'Р5С1Ып1 РігЕІлА ¡рэсоитпо

1 РСПл

<— ♦ Ї * ,

Рис. 4. Структурная схема контроллеров силового каскада 0, 1

РГЯСпВ | Р0М2 (РБС2 оп 1 у )|

1 РСТЬп РГЯСпА

<— ♦ $ * ,

Рис. 5. Структурная схема контроллеров силового каскада 2

счетчика (Р8С счетчика). Этот счетчик способен считать в прямом и в обратном направлении от значения и к значению, сохраненному в регистре в соответствие с выбранным режимом.

Р8С представлен двумя симметричными модулями. Одна часть (А) генерирует сигнал на вывод

PSCOUTnO, вторая часть (В) генерирует сигнал на вывод PSCOUTnl.

Каждая часть (А и В) имеет собственный входной модуль PSC для управления выбранным входом.

PSC2 имеет два дополнительных выхода PSCOUT22 и PSCOUT23. Благодаря первому селектору PSCOUT22 может дублировать PSCOUT20 или PSCOUT21. Благодаря второму селектору PSCOUT23 может дублировать PSCOUT20 или PSCOUT21.

Выбор полярности "активный высокий" или "активный низкий" программируется модулем.

Подробное описание блока PSC приведено в литературном источнике [6].

Контроллер карт памяти. Следующим элементом модернизации микроконтроллера является внедрение контроллера карт памяти SD/SDHC/MMC. Сегодня многие из устройств, находящиеся в нашем употреблении, такие как: сотовые телефоны, фотоаппараты, медиа и MP3 плееры и другие устройства используют в качестве носителя информации карты памяти. На сегодняшний день существуют несколько типов носителей для хранения данных, используемых в цифровой технике. Наиболее распространены следующие:

• MultiMediaCard (MMC) - миниатюрный энергонезависимый кремниевый носитель информации. ММС являются результатом совместной разработки компаний SanDisk и Siemens. К преимуществам карт данного типа относятся малые размеры, а также прочная механическая конструкция и низкое энергопотребление. Среди недостатков можно отметить медленный интерфейс, достаточно высокую стоимость.

• Secure Digital (SD) - один из самых распо-страненных форматов хранения данных. SD-карты выделяются компактными размерами (32х24х2.1 мм) и возможностью защиты хранящейся на них информации от копирования. К достоинствам флэш-карт данного типа также можно отнести высокую скорость записи/чтения, повышенную защиту информации на карте от случайного стирания или разрушения, механическую прочность и низкое энергопотребление.

• Secure Digital HC (SDHC) является расширением формата Secure Digital и позволяет выпускать карты памяти емкостью от 4 Гб и выше, в то время как объем карт стандарта SD ограничен 4 Гб. Карты памяти SDHC внешне очень похожи на SD, однако могут использоваться только с SDHC-совместимыми устройствами.

Контроллер карт памяти обеспечивает коммуникационный SPI протокол для доступа к данным карт памяти. Для обмена данными контроллер использует 1-битную шину данных, представленную 2-мя каналами (Data-in и Data_out). Все данные передаваемые/принимаемые контроллером кратны 8-битам(байту) и всегда выровнены по отношению к CS сигналу. Для получения доступа к карте памяти контроллер сначала проводит процедуру инициализации, после выполнения которой, устанавливается

режим обмена данными. На рис. 6 представлена схема подключения карт памяти к микроконтроллеру.

Рис. 6. Схема подключения карт памяти к микроконтроллеру

Возможно множественное подключение карт памяти к микроконтроллеру. Шины Vdd, Vcc, CLK общие подключаются ко всем картам памяти. Шины команд, отклика и шины данных уникальны для каждой подключенной карты. Взаимодействие через SD шину базируется на командах и потоке данных, инициализированном стартовым битом и фи-нализированном стоповым битом. Команды передаются последовательно на CMD линии. Команда является символом старта операции от контроллера к карте. Команда может быть передана единственной карте или всем подключенным картам (широковещательная команда). Отклики передаются последовательно на CMD линии. Отклик представляет собой символ ответа на принятую ранее команду. Отклик отправляется от адресуемой карты либо от всех подключенных карт памяти. Данные передаются от карты к контроллеру и, наоборот, через шину данных.

Криптографическая защита информации. В состав новейших разработок ф. Atmel - микроконтроллеров серии xmega введены аппаратные средства защиты информации. В качестве реализованных стандартов компания Atmel выбрала два широко распространенных стандарта шифрования - AES и DES[7].

DES инструкция является одноцикловой инструкцией, которую необходимо выполнить 16 раз для шифрования или дешифрования 64-битного блока данных. Данные и ключ должны быть размещены в регистровом файле перед операцией шифрования/дешифрования. Блок данных (64-бита) размещается в регистрах R0-R7, где МЗР данных располагается в МЗР регистра R0, а СЗР данных располагается в СЗР регистра R7. Ключ (64-бита) размещается в регистрах R8-R15, где МЗР ключа располагается в МЗР регистра R8, а СЗР ключа располагается в СЗР регистра R15.

Выполнение одной DES инструкции представляет один раунд в DES алгоритме. Шестнадцать раундов должны быть выполнены для фор-

мирования операции шифрования/дешифрования. Операнд (К) показывает, какой раунд выполнен, флаг половинного переноса Н в статусном регистре показывает, является ли процедура шифрования или дешифрования выполненной. Если флаг половинного переноса установлен, значит, выполнена операция дешифрования, если сброшен - выполнена операция шифрования.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Криптомодуль AES шифрует и дешифрует блоки данных размером 128 бит с использованием 128-битного ключа. И ключ, и данные должны быть записаны в модуль до начала выполнения цикла команд кодирования-декодирования. Длительность PF0 - PF7

РАО - РА7

процесса обработки блока составляет 375 периодов периферийной тактовой частоты, после чего данные можно использовать по назначению.

В целях оптимизации производительности криптографических алгоритмов, особенно алгоритма AES, в разрабатываемом микроконтроллере планируется использовать модифицированную схему алгоритмов AES и DES, обеспечивающую выполнение операций шифрования/дешифрования за 14 тактов. Увеличение производительности осуществляется за счет увеличения аппаратных ресурсов, реализующих алгоритмы.

РСО - РС7

і

і

AVCC ¡ ----------і

і

і

AREF І

Vcc

GND

Порт F Драйве ры/Буффсры

Ï

Порт F I Шифров ой интерфейс

Порт А Драйверы/Буфферы

С

т

Порт С Драйверы/Буфферы

Порт А Цифровой интерфейс

Т

Порт С Цифровой интерфейс

АЦП

JTAG

Контроллер прямого доступа к памяти

Контроллер карт памяти SD/SDHC/MMC

Счетчик программ

---I- -

Память программ

Регистр

инструкций

>

ппио

С

ППИ1

:х:

Декодер

инструкций

Линии

управления

ЯДРО

Программируемая логика

ДПИО

Указатель

стека

ОЗУ

га нстрн основного

^=—

Статусный

регистр

Встроенный

умножитель

ДПИ1

HZ

УСАППО

УСАПП1

УСАПП2

Внутренний осциллятор

V

Сторожевой таймер

V

Блок упр. Контроллером н еннхпоннпаини

т

Осцилляторы

Таймеры/ Счетчики

4—» Блок прерываний

ЭСППЗУ

■* ► Модуль шифрования дешифрования DES

Осцилляторы

Внутренний

КЛ.шпроНЛНІПЛІ!

осциллятор

XTAL1 !( !

_L ir і

1 1 Il 1

XTAL2 Il 1

RESET

Контроллер силового каскада О

Модуль шифрования дешифрования AES *

Порт Е Цифровой интерфейс

Порт В Цифровой интерфейс

Порт D Цифровой интерфейс

Порт Е Драйверы/Буфферы

Порт В Драйверы/Буфферы

Порт D Драйверы/Буфферы

Порт G Цифровой интерфейс

г

І Іорт G Драйверы/ Буферы

PEO -РЕ7 РВО-РВ7 PD0-PD7 PG0-PG7

Рис. 7. Структурно-функциональная организация 8-разрядного микроконтроллера с модифицированнной AVR RISC архитектурой

Контроллер прямого доступа к памяти (ПДП). Последним компонентом, интегрированным в состав микроконтроллера является В отличие от контроллера ПДП, реализованного в микроконтроллерах AVR серии xmega, это более упрощенная версия контроллера ПДП, который обеспечивает доступ к данным встроенного ОЗУ другим системным компонентам - микроконтроллерам, микропроцессорам. Доступ осуществляется через один из портов микроконтроллера, выбираемый программно. Инициализация процедуры чтения/записи ОЗУ осуществляется либо по запросу извне путем подачи активного уровня на вывод TRQ(запрос приема/передачи данных), а также соответствующего уровня на вывод RNW(высокий логический уровень соответствует чтению, низкий логический уровень соответствует записи), либо по внутреннему запросу путем записи логической единицы в соответствующий бит - чтения либо записи ОЗУ -регистра управления контроллером ПДП. Также, как и в контроллерах серии xmega контроллер ПДП обеспечивает возможность доступа к ОЗУ в режиме транзакции, в режиме вспышкифшъ!), а также в блочном режиме с возможностью повторений блока. В режиме burst и блочном режиме возможны 3 типа адресации - фиксированная, инкрементная и декрементная. Длина посылок в режиме burst, размер блока и количество повторений блока такие же, как и микроконтроллерах серии xmega.

Итак, на рис. 7 представлена структурнофункциональная организация 8-разрядного микроконтроллера с модифицированной AVR RISC архитектурой, оснащенная компонентами, присущими микроконтроллеру ATmega128, а также компонентами, интегрированными в ходе модернизации.

Заключение. * Впервые при разработке отечественных 8-разрядных микроконтроллеров предложено внедрение модифицированной AVR RISC архитектуры, практически в полной мере обеспечивающей производительность 1MIPS.

* Впервые при разработке отечественных 8-

разрядных микроконтроллеров предложено внедрение контроллера карт памяти.

* Впервые при разработке отечественных 8-

разрядных микроконтроллеров, построенных на базе AVR RISC архитектуры предложено внедрение контроллера прямого доступа к памяти.

* Впервые при разработке отечественных 8-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

разрядных микроконтроллеров, построенных на базе AVR RISC архитектуры предложено внедрение аппаратно реализованных криптографических алгоритмов защиты информации.

Литература

1. http://www.mymcu.ru/Articles/Atmel30.htm

2. http://myrobot.ru

3. 8-bit Microcontroller with 128K Bytes Insystem Programmable Flash, Atmel, 2467S-AVR-07/09

4. Евстифеев А.В. Микроконтроллеры AVR семейства Mega.-М.: Издательский дом "Додэка-XXI". 2007. 587 с.

5. Горбунов Д.Е. Способ организации памяти RISC микроконтроллеров. - Вестник ВГТУ. Т.6, № 3, 2011

6. 8-bit Microcontroller with 8K Bytes In-system Programmable Flash AT90PWM2/3, Atmel, 4317B-AVR-02/05

7. 8-bit AVR XMEGA A Microcontroller, Atmel, 8077B-AVR-06/08

Воронежский государственный технический университет

STRUCTURAL AND FUNCTIONAL ORGANIZATION OF 8-BIT MICROCONTROLLER WITH MODIFICATED AVR RISC ARCHITECTURE. Yu.A. Shkondin, D.E. Gorbunov, A.I. Mushta

Structural and functional organization of 8-bit microcontroller with modificated AVR RISC architecture was designed

Key words: structural and functional organization, 8-bit microcontroller, AVR RISC

i Надоели баннеры? Вы всегда можете отключить рекламу.