Arch_EVM_Lab1 (1075551)
Текст из файла
Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров 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При написании программ удобно использовать не числовые значенияадресов программно доступных регистров, а их имена, определенные вспециальном файле.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.