Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Введение в архитектуру микроконтроллеров ARM7 семейства AT91SAM7

Покупка
Новинка
Артикул: 842067.01.99
Доступ онлайн
800 ₽
В корзину
Приведены базовые теоретические сведения по архитектуре популярного класса 32-разрядных микроконтроллеров с процессорным ядром ARM7TDMI семейства AT91SAM7 (Atmel) и ряд примеров проектов, демонстрирующих технологию создания программного обеспечения для подобных микроконтроллеров. Для студентов, обучающихся по направлению «Информатика и вычислительная техника» по специальности «Вычислительные машины, комплексы, системы и сети», а также для студентов, обучающихся по направлению «Управление в технических системах», и специалистов при проектировании приложений для 32/16-разрядных микроконтроллерных систем.
Хартов, В. Я. Введение в архитектуру микроконтроллеров ARM7 семейства AT91SAM7 : учебное пособие / В. Я. Хартов. - Москва : Издательство МГТУ им. Баумана, 2015. - 124 с. - ISBN 978-5-7038-4311-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2169179 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет 
имени Н.Э. Баумана 
В.Я. Хартов 
ВВЕДЕНИЕ В АРХИТЕКТУРУ 
МИКРОКОНТРОЛЛЕРОВ 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 


Доступ онлайн
800 ₽
В корзину