Arch_EVM_Lab1 (А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI)
Описание файла
Файл "Arch_EVM_Lab1" внутри архива находится в папке "А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI". PDF-файл из архива "А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIА.Ю. ПоповПроектирование радиоэлектроннойаппаратуры на основемикроконтроллеров ARM7TDMI2011Лабораторная работа № 11Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIРабота №1. Разработка радиоэлектронной аппаратуры на основемикроконтроллеров ARM7 TDMI в интегрированной среде KeiluVISIONЦель работы – изучение архитектуры микроконтроллеров ARM7 TDMI исредств проектирования и отладки цифровых устройств на их основе.В ходе работы студенту необходимо ознакомиться с теоретическимматериалом, касающимся архитектуры и особенностей функционированиямикроконтроллеров с ядром ARM7 TDMI, ознакомиться с возможностямиинтегрированной среды разработки Keil uVision, разработать и отладитьпростейшую программу функционирования микроконтроллера NXP LPC2478 сиспользованием отладочной платы SK-LPC2478-S3E.Описание микроконтроллеров семейства ARM7TDMI фирмы Philips.Микроконтроллеры с ядром ARM7TDMI являются современными системами накристалле, сочетающими такие достоинства, как:• 32-х разрядная архитектура ядра с сокращенным набором команд (ReduceInstruction Set Computer, RISC).• Поддержка двух наборов команд (32-х разрядный полный набор ARM и16-разрядный упрощенный набор THUMB).• Высокая производительность ядра благодаря сбалансированности фазконвейера.• Настраиваемая система прерываний.• Широкий спектр микроконтроллеров семейства, отличающихся посоставу периферии, частоте работы, стоимости, типам корпусов.Микроконтроллеры с ядромARM7TDMI выпускаются многимифирмами-производителями и применяются разработчиками при решенииширокого круга задач: от реализации центральных устройств управлениясистемами сбора и обработки информации до контроллеров периферии ивнешнихинтерфейсов.НаиболеепопулярнытакиеARM7TDMIмикроконтроллеры, как: серия ADUC702x Analog Devices, серия STR71x фирмыST Microelectronics, отличающиеся сбалансированным набором периферийныхмодулей и малыми размерами корпусов, а также микроконтроллеры серииAT91x фирмы Atmel и серия LPC2xxx фирмы NXP (Philips) с расширеннойфункциональностью.Лабораторная работа № 12Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIРассмотрим архитектуру микроконтроллеров семейства ARM7TDMI напримеремикроконтроллераNXPLPC2478.Упрощеннаясхемамикроконтроллера показана на рисунке 1.Рисунок 1 — Архитектура микроконтроллера NXP LPC2478Микроконтроллер состоит из следующих подсистем:• Микропроцессорное ядро ARM7TDMI, выполняющее вычислительныефункции, а также управляющее работой многочисленных периферийныхустройств.• Внутренняя память типа SRAM для хранения результатов вычислений иЛабораторная работа № 13Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIFLASH-память для долговременного хранения как данных, так ипрограмм функционирования микроконтроллера.• Иерархическая система шин и мостов, объединяющих модули в единуюсистему на кристалле.
Обмен информацией между микропроцессорнымядром и памятью осуществляется по локальной шине ARM7. Шина AHBслужит для подключения быстродействующих периферийных устройств(Ethernet, USB), контроллера внешней памяти, а также векторногоконтроллера прерываний (VIC). Периферийная шина APB работает наменьшей частоте и служит для подключения остальных периферийныхмодулей.• Системные сервисные блоки, обеспечивающие работу системы. К нимотносятся: встроенный осциллятор и модуль фазовой автоподстойкичастоты (PLL) для формирования тактовых сигналов системы, модульуправления электропитанием, модуль прямого доступа в память(GPDMA), векторный контроллер прерываний (VIC).
Для отладкипрограмм функционирования микроконтроллера реализованы модульпошаговой трассировки и интерфейс JTAG.• Периферийные модули общего назначения, состав которых для разныхмоделей микроконтроллеров может различаться. В микроконтроллер NXPLPC2478 входят: порты ввода/вывода (GPIO), модуль внешнихпрерываний, четыре таймера с функциями захвата и совпадения (Timer0,Timer1, Timer2, Timer3), два модуля широтно-импульсной модуляции(PWM0, PWM1), 10-разрядные модули АЦП и ЦАП, контроллер ЖКдисплея, часы реального времени, сторожевой таймер, контроллерыпоследовательных интерфейсов Ethernet, USB2.0, UART, CAN, SPI, SSP,I2C, I2S.Как упоминалось ранее, микроконтроллеры ARM7TDMI поддерживаютдва набора команд (ARM и THUMB). Набор THUMB удобен для созданиякомпактных программ, так как позволяет сократить размер исполняемого кодапримерно на 30%, однако приводит к некоторому замедлению обработки(примерно на 40%).
При этом возможно выполнять быстрое переключениемежду двумя наборами по команде BX (см. приложение 3). При возникновенииисключительной ситуации процессор автоматически переключается к обработкеARM команд.При написании программ на языке С возможно объявить ARM функцию(атрибут __arm) или THUMB функцию (атрибут __thumb), что приводит кдобавлению инструкции переключения набора и генерации соответствующегокода функции.
Например:/* ARM функция */void MyARMfunc (void) __armc = a*b;Лабораторная работа № 1{4Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI}/* THUMB функция */void MyTHUMBfunc (void) __thumbf = d*e;}{Большинство команд ARM набора являются трех-адресными иусловными. Это означает, что помимо кода операции в команде указываетсядополнительно 4 бита, соответствующие сочетанию флагов регистра состоянияпрограммы (рисунок 2). Команда выполняется только в том случае, если флагисоответствуют заданному в команде условию.
Дополнительно в командеприсутствуют бит S, указывающий на необходимость модификации флаговпосле выполнения команды. Например по команде сложения с кодом E0810000:ADD R0,R1,R0 будет выполнено сложение регистров R0 и R1, а результат будетпомещен в регистр R0. Первая тетрада (E) указывает на условие выполнения AL(выполнять всегда).Рисунок 2 — Регистр состояния программы.Команды THUMB набора являются 16-разрядными и не могут бытьусловными, а количество операндов в таких командах ограничено двумя.Помимо обработки двух наборов команд, процессор может работать водном из семи режимов:• User mode: пользовательский режим, в котором функционируютбольшинство приложений.• Fast interrupt mode (FIQ): режим обработки быстрых прерываний дляобработки наиболее критичных к времени реакции системы участковкода.• Interrupt mode (IRQ): режим обработки обычных прерываний.• Supervisor mode: защищенный режим для поддержки многозадачныхоперационных систем.Лабораторная работа № 15Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIAbort mode: режим обработки сбоев при предвыборке команд или данных.System mode: режим приложений операционной системы.Undefined mode: режим неизвестной операции.Программная модель микропроцессора ARM7 состоит из 37 регистров(рисунок 3): 31 регистра общего назначения и 6 регистров статуса.
Взависимости от режима в каждый момент времени доступно различноеколичество регистров. Некоторые регистры повторены для хранения режимнозависимых данных (регистры R13, R14, сохраненный регистр статуса SPSR). ВTHUMB командах регистры r8 – r12 не используются.•••Рисунок 3 — Регистры микропроцессора ARM7TDMIДоступ ко всем внутренним ресурсам микроконтроллера выполняетсячерез 4ГБ совмещенное адресное пространство. Для управления работоймодулей, чтения или записи данных необходимо знать состав, назначение иадреса их программно-доступных регистров, а также некоторые сведения ологике их работы. По мере ознакомления с периферийными модулямимикроконтроллера эти сведения будут приведены в методических указаниях. Втаблице 1 приведена карта памяти микроконтроллера NXP LPC2478. БолееЛабораторная работа № 16Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIподробное описание регистров модулей ввода/вывода приведено в приложении1.Таблица 1.
Карта памяти микроконтроллера NXP LPC2478ДиапазонадресовНазначениеПодадрес0x00000000 - Внутренняя FLASH 0x00000000 0x3FFFFFFF и высокоскоростные 0x0007FFFFканалы ввода/вывода 0x3FFFC000 0x3FFFFFFF0x4000 0000 - Внутреннее ОЗУ0x7FFF FFFF0x80000000 - Внешняя0xDFFFFFFF статическая память(16 МБ)МодульFLASH-память (512 КБ)Регистры высокоскоростныхканалов ввода/вывода0x400000000x4000FFFF- 64 КБ ОЗУ микропроцессора0x7FE000000x7FE03FFF- ОЗУ модуля Ethernet (16 КБ)0x7FD000000x7FD03FFF- ОЗУ модуля USB (16 КБ)0x800000000x80FFFFFF- Банк 00x810000000x81FFFFFF- Банк 10x820000000x82FFFFFF- Банк 20x8300 0000 - Банк 30x83FF FFFF0xA0000000 - Внешняя0xDFFFFFFF динамическаяпамять (256 МБ)0xA000 0000 - Банк 00xAFFF FFFF0xB000 0000 - Банк 10xBFFF FFFF0xC000 0000 - Банк 20xCFFF FFFF0xD000 0000 - Банк 30xDFFF FFFF0xE0000000- Периферийные0xEFFFFFFF модули,подключенные кшине APBсм.Приложение 136 периферийных модулей0xF000 0000 - Модули,0xFFFF FFFF подключенные кшине AHBсм.Приложение 26 модулейЛабораторная работа № 17Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIПри написании программ удобно использовать не числовые значенияадресов программно доступных регистров, а их имена, определенные вспециальном файле.