Arch_EVM_Lab2 (А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI)
Описание файла
Файл "Arch_EVM_Lab2" внутри архива находится в папке "А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI". PDF-файл из архива "А.Ю. Попов - Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMI", который расположен в категории "". Всё это находится в предмете "языки интернет-программирования" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "языки интернет-программирования" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIА.Ю. ПоповПроектирование радиоэлектроннойаппаратуры на основемикроконтроллеров ARM7TDMI2011Лабораторная работа № 21Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIРабота №2. Синхронизация микроконтроллера и управление таймерамиЦель работы – изучение системы синхронизации микроконтроллера NXPLPC2478 и принципов функционирования таймеров общего назначения.В ходе работы студенту необходимо ознакомиться с теоретическимматериалом, касающимся системы синхронизации и таймеров, разработать иотладить программу функционирования микроконтроллера NXP LPC2478 сиспользованием отладочной платы SK-LPC2478-S3E.Синхронизация микроконтроллера NXP LPC2478В микроконтроллере NXP LPC2478 могут использоваться три источникасинхросигнала (рисунок 4): внешний осциллятор, внутренний осциллятор наоснове RC-цепи и внешний осциллятор часов реального времени.
Привключении питания или сбросе микроконтроллера синхросигнал с частотой ~4МГц поступает с внутреннего RC-осциллятора (точность данногосинхросигнала не позволяет использовать его для синхронизациивысокоскоростных интерфейсов). Далее, возможно программно изменитьисточник синхросигнала и его частоту с помощью регистра выбора источникасинхросигнала CLKSRCSEL.Частота внешнего осциллятора должна находиться в диапазоне от 1 МГцдо 24 МГц. Один из трех источников синхросигнала поступает в модульфазовой автоподстройки частоты PLL, где частота синхросигнала (назовем ееFin) может быть изменена с помощью схемы умножения и схемы делениячастоты.
Выходной синхросигнал модуля PLL с частотой Fcco поступает надополнительные программно-управляемые делители частоты микропроцессораиUSB-модуля.Последелениячастотасигналасинхронизациимикропроцессора не должна превышать 72 МГц, а частота синхронизациимодуля USB должна составлять 48 МГц.Значения M и N, на которые происходит умножение и деление частоты вмодуле PLL задаются в регистре PLLCFG. Описание разрядов регистраприведено в таблице 3.Лабораторная работа № 22Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIРисунок 4 — Подсистема синхронизация микроконтроллера.Таблица 3 — Региcтр PLLCFG.РазрадыНазначениеОписаниеПоумолчанию14:0MSELЗначение (M-1), где M – число (6≤M≤512), накоторое умножается Fin.015-Не используется-23:16NSELЗначение (N-1), где N – число (1≤N≤32), на котороеделится Fin.031:24-Не используется-На выходе модуля PLL частота синхросигнала будет определятьсяследующим соотношением:Fcco=2⋅M⋅FinN.(1)Дополнительное условие, заданное производителем, ограничивает выборЛабораторная работа № 23Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIпараметров M и N таким образом, чтобы: 275 МГцFcco550 МГц .(2)Задать делитель частоты микропроцессора возможно с помощью регистраCCLKSEL, разряды 7:0 которого содержат значение делителя частотымикропроцессора:Fcpu=FccoCCLKSEL 7:0 1 .(3)При этом значение CCLKSEL(7:0) должно быть нечетным.Для выбора частоты синхронизации Fpclk_xx для каждого периферийногомодуляпредусмотреныдополнительныемультиплексорыисточникасинхросигнала, управляемые с помощью регистров PCLKSEL0 и PCLKSEL1.Для каждого модуля в них отведено по 2 разряда, обеспечивающие следующийвыбор:• '00' - Fpclk_xx = Fcpu,• '01' - Fpclk_xx = Fcpu/2,• '10' - Fpclk_xx = Fcpu/4,• '11' - Fpclk_xx = Fcpu/8.Назначение разрядов регистров PCLKSEL0 и PCLKSEL1 приведено вприложении 4.Для управления начальной настройкой микроконтроллера в среде KeiluVisionпредусмотренспециальныйфайлStartup.s,содержащийинициализирующий код на языке ассемблера.
Данный код выполняется привключении питания или сбросе микроконтроллера и содержит следующиеосновные процедуры инициализации:• Конфигурация системы синхронизации микропроцессорного ядра имодулей системы.• Копирование векторов прерываний из FLASH памяти в статическое ОЗУ(для некоторых моделей микроконтроллеров)• Инициализация внешней шины микроконтроллера и вызов функцииREMAP.• Инициализация периферийных модулей, влияющих наработоспособность системы.• Выделение и инициализация стека для всех режимов работымикроконтроллера.• Инициализация данных в ОЗУ.• Передача управления в main() функцию приложения.Для упрощения процедуры создания стартового кода системы в среде KeiluVision предусмотрен диалог (рисунок 5), позволяющий пользователю указатьосновные настроечные параметры модуля PLL, делителей частоты, модулядоступа в память, контроллера внешней памяти, настроит стек для всехрежимов работы.Лабораторная работа № 24Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIРисунок 5 — Диалог настройки стартового кода системы.Таймеры общего назначенияМикроконтроллер NXP LPC2478 содержит четыре 32-х таймера общегоназначения, каждый из которых обладает следующими функциональнымивозможностями:• дополнительный 32-разрядный делитель частоты;• функция счетчика событий или таймера;• функция захвата значений таймера при поступлении внешнего сигнала свозможностью генерации прерывания;• четыре регистра совпадения с возможностью остановки, сброса таймера,генерации прерываний при совпадении;• функция управления внешними сигналами (до 4-х) при совпадении.Пример №2.
Использование таймера 0 для реализации задержки.#include <LPC22xx.H>/* Описание LPC22xx */void delay(void) {//Сбросить таймерT0TC = 0x00000000;//Запустить таймерЛабораторная работа № 25Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIT0TCR = 0x00000001;//Ожидаем окончания счетаwhile (T0TCR&0x1) {};}void Timer0_Init(void){//Предделитель таймера = 15000T0PR = 15000;//Сбросить счетчик и делительT0TCR = 0x00000002;//При совпадении останавливаем, сбрасываем таймерT0MCR = 0x00000006;//Регистр совпадения = 1000 (1 Гц)T0MR0 = 1000;}int main (void) {unsigned int n;//Конфигурировать функции входов/выходов порта 0 на модуль GPIOPINSEL0= 0x00000000;//IODIR0 - Регистр направления ввода вывода (1 - вывод; 0 - ввод)IODIR0 = 0x00038000; /* P0.15..17 программируем на вывод, остальные на ввод *///IOSET0 - Регистр установки порта (1 - установка; 0 - нет изменений)IOSET0 = 0x00038000; /* Устанавливаем высокий уровень на выходах (гасимсветодиоды)*/Timer0_Init(); /* Настроить таймер */for (;;) {/* Бесконечный цикл */for (n = 0x00008000; n <= 0x00020000; n <<= 1) {//Бегущая единица//IOCLR0 - Регистр сброса порта (1 - сброс; 0 - нет изменения)IOCLR0 = n;/* Установить состояние порта */delay();/* Задержка 1 секунда */IOSET0 = 0x00038000; /* Установить порт */}}}Практическая частьЗадание 1.
Ознакомиться с теоретическим материалом на стр. 2-5.Задание 2. Создать проект C программы в среде Keil uVision длямикроконтроллера NXP LPC2478 с частотой генератора, указанной виндивидуальным вариантом задания.Задание 3. Определить параметры M, N, CLKSEL(7:0), PCLKSEL0,PCLKSEL1, обеспечивающие указанные в задании значения частот: Fcpu иFpclk_timer0.Задание 4. Разработать и отладить в симуляторе программуфункционирования микроконтроллера в соответствии с индивидуальнымвариантом.
В программе задействовать порт 0 модуля GPIO.Лабораторная работа № 26Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIЗадание 5. Получить осциллограмму работы микроконтроллера длязадействованных в проекте сигналов порта 0. Осциллограмму занести в отчет.Задание 6. Выполнить настройку проекта на работу с отладочной платойSK-LPC2478-S3E. Выполнить запись информации *.elf файла проекта встатическую память микроконтроллера.Задание 7. Протестировать правильность функционирования программы спомощью отладочной платы SK-LPC2478-S3E. Назначить точку останова.Выполнить пошаговую трассировку программы.
Результаты работы программызанести в отчет.Требования к отчетуОтчет по работе должен содержать: задание, листинг программыфункционированиямикроконтроллера,текстфункцииуправления,осциллограмму,результатытестированияпрограммы,выводыоработоспособности программы.Контрольные вопросы− Какие источники синхросигнала могут быть использованы вмикроконтроллере LPC2478.− Перечислите изменяемые пользователем параметры, определяющиечастоту синхронизации микропроцессорного ядра микроконтроллераLPC2478.− Перечислите функциональные возможности таймера общего назначениямикроконтроллера LPC2478.Лабораторная работа № 27Попов А.Ю.Проектирование радиоэлектронной аппаратуры на основе микроконтроллеров ARM7TDMIПриложение 1.