Введение в архитектуру микроконтроллеров ARM7 семейства AT91SAM7
Покупка
Новинка
Автор:
Хартов Вячеслав Яковлевич
Год издания: 2015
Кол-во страниц: 124
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-4311-6
Артикул: 842067.01.99
Приведены базовые теоретические сведения по архитектуре популярного класса 32-разрядных микроконтроллеров с процессорным ядром ARM7TDMI семейства AT91SAM7 (Atmel) и ряд примеров проектов, демонстрирующих
технологию создания программного обеспечения для подобных микроконтроллеров. Для студентов, обучающихся по направлению «Информатика и вычислительная техника» по специальности «Вычислительные машины, комплексы, системы и сети», а также для студентов, обучающихся по направлению «Управление в технических системах», и специалистов при проектировании приложений для 32/16-разрядных микроконтроллерных систем.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 27.03.04: Управление в технических системах
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана В.Я. Хартов ВВЕДЕНИЕ В АРХИТЕКТУРУ МИКРОКОНТРОЛЛЕРОВ ARM7 СЕМЕЙСТВА AT91SAM7 Допущено Учебно-методическим объединением вузов Российской Федерации по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлениям подготовки 09.03.01 Информатика и вычислительная техника (уровень бакалавриата) и 09.04.01 Информатика и вычислительная техника (уровень магистратуры)
УДК 004.031.6 ББК 32.81 Х22 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/255/book1359.html Х22 Факультет «Информатика и системы управления» Кафедра «Компьютерные системы и сети» Рецензенты: канд. техн. наук, доцент кафедры «Вычислительная техника» МГТУ МИРЭА Е.В. Бражникова; канд. техн. наук, доцент, главный архитектор отдела автоматизации производственных процессов Департамента развития аналитических решений и системных сервисов ЗАО «Сбербанк-технологии» С.М. Коновалов Хартов, В. Я. Введение в архитектуру микроконтроллеров ARM7 семейства AT91SAM7 : учебное пособие / В. Я. Хартов. — Москва : Издательство МГТУ им. Н. Э. Баумана, 2015. — 120, [4] с. : ил. ISBN 978-5-7038-4311-6 Приведены базовые теоретические сведения по архитектуре популярного класса 32-разрядных микроконтроллеров с процессорным ядром ARM7TDMI семейства AT91SAM7 (Atmel) и ряд примеров проектов, демонстрирующих технологию создания программного обеспечения для подобных микроконтроллеров. Для студентов, обучающихся по направлению «Информатика и вычислительная техника» по специальности «Вычислительные машины, комплексы, системы и сети», а также для студентов, обучающихся по направлению «Управление в технических системах», и специалистов при проектировании приложений для 32/16-разрядных микроконтроллерных систем. УДК 004.031.6 ББК 32.81 МГТУ им. Н.Э. Баумана, 2015 Оформление. Издательство ISBN 978-5-7038-4311-6 МГТУ им. Н.Э. Баумана, 2015 2
ПРЕДИСЛОВИЕ В системах управления, построенных на основе микроконтроллеров, постоянно появляются новые задачи управления и контроля, неуклонно растет сложность расчетов, и становятся особенно важными требования к скорости вычислений. К современным микроконтроллерам часто предъявляют требования расширить функциональные возможности. Это привело к появлению 32-разрядных микроконтроллерных систем, выполненных на одном кристалле. Широкое распространение получили микроконтроллеры с ядром ARM, производимые многими фирмами: Atmel, Philips, Intel, Analog Device, Siemens и др. Пособие содержит базовые теоретические сведения по архитектуре популярного класса микроконтроллеров семейства AT91SAM7 (Atmel) с процессорным ядром ARM7TDMI и ряд примеров (учебных проектов), демонстрирующих технологию создания программного обеспечения для подобных микроконтроллеров. К типичным сферам применения микроконтроллеров серии SAM7 относятся: управление приборами, измерительные устройства, системы обеспечения безопасности, регистраторы информации, мобильные телефоны с USB-портом, а также аксессуары ПК. Учебное пособие соответствует программе курса «Микропроцессорные системы» для студентов высших учебных заведений, обучающихся по направлению «Информатика и вычислительная техника» по специальности «Вычислительные машины, комплексы, системы и сети» (квалификация бакалавр), и может быть полезно студентам, обучающимся по направлению «Управление в технических системах», а также широкому кругу специалистов при проектировании приложений для 32-разрядных микроконтроллеров. Изучение материалов пособия предполагает усвоение начальных разделов читаемого лекционного курса, где освещаются главные принципы построения микроконтроллеров и систем на их основе, а также знание азов программирования на языке Си. На этом 3
базисе данное пособие знакомит студентов с архитектурой современных 32-разрядных микроконтроллеров высокой производительности, инструментальными средствами проектирования, примерами проектных решений, что позволяет затем приступить к самостоятельному проектированию путем выполнения предложенных контрольных заданий и курсовых работ. В дальнейшем эти материалы можно использовать для программирования микроконтроллера, установленного на учебной плате, или для симуляции в составе интегрированных систем разработки приложений, таких как Vision IDE компании Keil, IAR. В данном пособии тестирование приложений проведено с помощью учебной платы SAM7-P256 фирмы Olimex. 4
1. АРХИТЕКТУРА И ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AT91SAM7 1.1. СОСТАВ МИКРОКОНТРОЛЛЕРА И НАЗНАЧЕНИЕ УСТРОЙСТВ Микроконтроллеры AT91SAM7 (SmartARM) представлены сериями AT91SAM7A с интерфейсом CAN, AT91SAM7S c интерфейсом USB и AT91SAM7X с интерфейсом Ethernet. Рассмотрим подробнее архитектуру AT91SAM7S c интерфейсом USB. Эту группу образуют модели AT91SAM7S32, AT91SAM7S321, AT91SAM7S64, AT91SAM7S128, AT91SAM7S256, AT91SAM7S512. Flash-память на кристалле в зависимости от модели может иметь объем 32(AT91SAM7S32, AT91SAM7S321)/64/128/256/512 Кбайт. Статическая оперативная память SRAM, размещенная на кристалле, имеет, соответственно, объем 8(AT91SAM7S32, AT91SAM7S321)/ 16/32/64(AT91SAM7S256,AT91SAM7S512) Кбайт. Микроконтроллеры AT91SAM7S32 поставляются в корпусе LQFP или QFN с 48 выводами, AT91SAM7S321/64/128/256/512 — в корпусе LQFP или QFN с 64 выводами. Блок-схема микроконтроллеров АТ9SАМ7S512/256/128/64/321 приведена на рис. 1, топологические схемы корпусов — на рис. 2. В состав микроконтроллера входят процессорное ядро, устройства памяти, системный контроллер, периферийные устройства, средства тестирования и отладки. Процессорное ядро представляет собой RISC-ядро, основанное на архитектуре фон Неймана, с тактовой частотой до 55 МГц и удельной производительностью 0,9 MIPS/МГц. Процессор поддерживает две системы команд: 32-битовую высокоэффективную ARM и 16-битовую с высокой плотностью кода Thumb. Обработка команд осуществляется с помощью трехуровневого конвейера с уровнями выборки, декодирования и выполнения команд. 5
PGMRDY PGMNVALID PGMNOE PGMCK PGMM0-PGMM3 PGMD0-PGMD15 PGMNCMD PGMEN0-PGMEN2 VDDCORE VDDIO VDDFLASH ERASE VDDIN GND VDDOUT Transceiver 1,8 V Volltage Regulator ROM SRAM 64/32/16/ 8 Kbytes FLASH 512/256/ 128/64/ 32 Kbytes SAM-BA Fast Flash Programming Interface USB Device FIFO DOM DDP ARM7TDMI Processor Peripheral Bridge APB Abort Status Misalignment Detection Peripheral Data Controller 11 Channels Memory Controller Embedded Flash Controller Address Decoder PDC PIT RTT AIC WDT PIOA DBGU PDC Reset Controller JTAG SCAN ICE System Controller PIO PIO PLL POR BOD OSC PMC RCOSC NRST DRXD DTXD TDI TDO TMS TCK JTAGSEL TST FIQ IRQ0-IRQ1 VDDCORE VDDCORE PCK0-PCK2 PLLRC XIN XOUT
Рис. 1. Блок-схема микроконтроллеров AT91SAM7S512/256/128/64/321
Рис. 2. Топологические схемы 64-выводных корпусов: а — LQFP; б — QFN Память микроконтроллеров представлена тремя типами: Flash, SRAM и ROM. Flash-память микроконтроллера AT91SAM7S256 имеет объем 256 Кбайт, включая 1024 страницы по 256 байт в каждой. Flashпамять имеет следующие основные характеристики: доступ к памяти за один цикл на частоте 30 МГц при наихудших условиях; время программирования страницы, включая автостирание, 6 мс; время программирования страницы без автостирания 3 мс; время полного стирания памяти микросхемы 15 мс; жизненный ресурс: 10 000 циклов записи, 10-летняя сохранность данных; режим защиты содержимого Flash-памяти. Область Flash-памяти во всех случаях отображается с адреса 0x0010 0000. Она также может быть доступна с адреса 0x0 после сброса и до выполнения команды Remap. Встроенная Flash-память содержит 256-байтовый буфер записи, доступный через 32-битовый интерфейс. Быстродействующая память SRAM AT91SAM7S256 имеет объем 64 Кбайт. Доступ к памяти SRAM обеспечивается за один цикл в режиме максимального быстродействия. После сброса до выполнения команды переотображения памяти (Remap) область SRAM доступна для программы только с адреса 0x0020 0000. После выполнения команды Remap область SRAM становится также доступна и с адреса 0x0000 0000. 8
Память ROM содержит заводские программы FFPI (интерфейс быстрого программирования Flash-памяти) и стартовый загрузчик SAM-BA. Во всех случаях область ROM отображается с адреса 0x0030 0000. Для управления загрузкой из ROM (по умолчанию) или Flashпамяти используется бит общего назначения General-purpose NVM (GPNVM2). Этот бит может быть сброшен или установлен командами «Сбросить бит GPNVM» и «Установить бит GPNVM». Установка бита 2 GPNVM выбирает начальную загрузку из Flash. Подача сигнала на вывод ERASE сбрасывает бит 2 GPNVM и таким образом восстанавливает начальную загрузку из ROM. Карта отображения встроенной памяти со сброшенным битом 2 GPNVM (значение по умолчанию) показана на рис. 3, а, с установленным битом 2 GPNVM — на рис. 3, б. 0x0000 0000 1 МБ ROM Remap SRAM Remap перед после FLASH Remap SRAM Remap перед после 0x000F FFFF 0 1 x00 0 0000 Встроенная флэш-память Встроенная флэш-память 1 МБ 0 1 x00 F FFFF 0x0020 0000 1 МБ Встроенная SRAM Встроенная SRAM 0x002F FFFF 0x0030 0000 1 МБ Встроенная ROM Встроенная ROM 0x003F FFFF 0x0040 0000 252 МБ Неопределенные участки (аварийный останов) Неопределенные участки (аварийный останов) 0x0FFF FFFF Рис. 3. Карта отображения встроенной памяти со сброшенным (а) и установленным битом 2 GPNVM (б) Контроллер памяти содержит: программируемый арбитр шины, обрабатывающий запросы от процессора ARM7TDMI и контроллеров Ethernet MAC, DMA; дешифратор адресов, вырабатывающий сигналы выборки для трех внутренних областей памяти размером по 1 Мбайт и одной области встроенной периферии общим размером 252 Мбайт; регистры состояния аварийного останова, сохраняющие источник, тип и все параметры доступа, которые привели к аварийно9
му останову, и обеспечивающие при отладке обнаружение сбойных (некорректных) указателей; детектор нарушения границ памяти, выполняющий проверку корректности всех типов доступа к данным и генерирующий аварийный останов при нарушении границ; контроллер встроенной Flash-памяти. Контроллер Flash-памяти (EFC) управляет доступом, который инициируют ведущие устройства системы, разрешает чтение Flash-памяти и запись в буферы Flash-памяти. Пользовательский интерфейс EFC позволяет: программировать параметры доступа к Flash-памяти (количество циклов ожидания, синхронизации и т. д.); выполнять команды для полного стирания памяти, стирания и программирования страницы, установки и сброса битов NVM и др.; получать информацию о текущем состоянии Flash-памяти и состоянии ошибки; разрешать прерывания после выполнения команды или при ошибке. Контроллер Flash-памяти имеет двойной 32-битовый буфер выборки с упреждением, который оптимизирует процесс 16-битового обращения к Flash-памяти. Эта оптимизация особенно эффективна, когда процессор выполняет программу в режиме Thumb. В микроконтроллере AT91SAM7S256 контроллер Flashпамяти управляет 16 битами блокировки NVM, защищая 16 областей памяти размером по 16 Кбайт (64 страницы по 256 байт) от случайного выполнения команд стирания или программирования. Если поступает команда стирания или программирования заблокированной области, эта команда автоматически отменяется и EFC генерирует прерывание. Все 16 битов NVM программируются через пользовательский интерфейс EFC. Команда «Установить Lockбит» разрешает, а команда «Сбросить Lock-бит» отменяет блокирование области. Подача сигнала на вывод ERASE сбрасывает все биты блокировки. Периферийный контроллер DMA (PDC) обрабатывает перемещение данных между периферийными устройствами и блоками памяти. Контроллер имеет 11 каналов (по два для двух модулей USART, два для модуля отладки, два для последовательного синхронного контроллера SSС, два для канала SPI, один для АЦП). 10