128
www.finestreet.ru
компоненты
микроконтроллеры
32-разрядные микроконтроллеры AT91SAM7S с интерфейсом USB
производства компании Atmel
Алексей КУРИЛИН
ak@efo.ru
Данный обзор посвящен новинке на рынке микроконтроллеров — 32-разрядным кристаллам АТ91БАМ78 семейства БтаггАРМ.
До конца 2004 года компанией Atmel выпускалось более десятка наименований 32-разрядных микроконтроллеров, построенных на базе ядер ARM7TDMI и ARM920T. Наличие высокопроизводительного ядра и развитой периферии, достаточных для выполнения широкого круга задач, тем не менее, не способствовало широкому распространению этих кристаллов. Причины были разные: либо отсутствие интегрированной на кристалле оперативной и Flash-памяти, либо недостаточная пропускная способность шины внешней памяти данных
ARM7TDMI
Core
Advanced
Interrupt
Controller
32-bit К
ASB г
АМВА Bridge
On-chip
SRAM
On-chip
FLASH 32К 64К 128К 256К
SRAM 8К 16К 32К 64К
Рис. 1. Упрощенная схема архитектуры микроконтроллеров SmartARM
и программ, либо неудобные для пайки «вручную» BGA-корпуса. Для некоторых разработчиков «барьером» была высокая стоимость средств разработки и отсутствие базовых примеров программ.
В 2004 году компания Atmel объявила о развитии нового направления 32-разрядных платформ, в которое были заложены следующие основные особенности (рис. 1):
• высокопроизводительное 32-разрядное ядро ARM7TDMI;
• внутренняя Flash-память на 32-разрядной системной шине;
• внутреннее ОЗУ на 32-разрядной системной шине;
• подходящие для пайки «вручную» корпуса TQFP;
• дешевые средства разработки и программирования.
Семейство микроконтроллеров этого направления было названо SmartARM (префикс в наименовании микросхем — AT91SAM7). В начале 2005 года начали появляться первые представители этого семейства — микроконтроллеры линейки AT91SAM7S с интерфейсом USB и AT91SAM7A (SAM7A1 и SAM7A2) с интерфейсом CAN. До конца 2005 года ожидается появление еще одной линейки — с интерфейсом Ethernet (AT91SAM7X) (табл. 1).
Первые микроконтроллеры линейки AT91SAM7A (AT91SAM7A1 и AT91SAM7A2)
не содержат Flash-памяти, поэтому до появления микроконтроллера AT91SAM7A3 эта серия не вызывала большого интереса у разработчиков.
С микроконтроллерами серии AT91SAM7S получилась обратная ситуация: еще не успев начать серийный выпуск микросхем, компания Atmel получила очень много заказов на эти устройства, а первые серийные партии были раскуплены до прихода на склад поставщиков. На сегодняшний день можно сказать, что серийный выпуск AT91SAM7S состоялся, и их можно смело закладывать в новые проекты.
Микроконтроллеры серии AT91SAM7S с интерфейсом USB
Микроконтроллеры серии AT91SAM7S разработаны под любую задачу, где требуется привычный набор возможностей микроконтроллера, но либо производительности 8-разрядной платформы уже не хватает, либо требуется заложить большой запас производительности на будущее.
Основные особенности AT91SAM7S:
• выпускаются в корпусах TQFP с небольшим (44, 64) количеством выводов;
• имеют интегрированный контроллер интерфейса USB 2.0 (full speed);
Таблица 1. 32-разрядные микроконтроллеры SmartARM (AT91)
AT91 Ядро ARM7TDMI Макс. производительность (МГц) Объем ОЗУ (КБ) Объем Flash-памяти (КБ) Загрузочная ROM (КБ) Интерфейс SDRAM Каналов USART Каналов SPI Каналов TWI Каналов SSC Каналов PDC Интерфейс MCI Каналов CAN Интерфейс USB Каналов Ethernet Количество 16-битных таймеров Каналов ШИМ Системный таймер Сторожевой таймер Каналов 10-разрядного АЦП Схема сброса при включении питания Блок контроля питания (BOD) Встроенный RC-генератор Линий с повышенным током нагрузки Линий ввода/вывода Напряжение питания(В) Корпус
SAM7A1 X 40 4K EBI - - 3 1 - - 11 - 1 - - 9 4 - + 8 - - - - 49 3,0-5,0 QFP144
SAM7A2 X 30 16K EBI - - 2 1 - - 10 - 4 - - 10 4 - + 16 - - - - 57 3,0-5,5 QFP176
SAM7A3 X 60 32K 256K - - 3 1 2 19 + 2 + - 9 8 + - 16 + - + - 62 3,0-3,6 QFP100
SAM7S32 X 55 8K 32K - - 1 1 1 1 11 - - - - 3 4 + - 4 + + + 4 32 3,0-3,6 QFP48
SAM7S64 X 55 16K 64K - - 2 1 1 1 11 - - + - 3 4 + - 8 + + + 4 39 3,0-3,6 QFP64
SAM7S128 X 55 32K 128K - - 2 1 1 1 11 - - + - 3 4 + - 8 + + + 4 39 3,0-3,6 QFP64
SAM7S256 X 55 64K 256K - - 2 1 1 1 11 - - + - 3 4 + - 8 + + + 4 39 3,0-3,6 QFP64
SAM7X128 X 55 32K 128K - - 2 1 1 1 11 - - + 1 3 4 + - 8 + + + 4 60 3,0-3,6 QFP100
SAM7X256 X 55 64K 256K - - 2 1 1 1 11 - - + 1 3 4 + - 8 + + + 4 60 3,0-3,6 QFP100
SAM7X512 X 55 64K 512K - - 2 1 1 1 11 - - + 1 3 4 + - 8 + + + 4 60 3,0-3,6 QFP100
C140 X 36 16K EBI 1K + - 1 - - 6 - - - 2 3 - + + - - - - - 48 1,8/3,3 BGA256
микроконтроллеры
компоненты
129
Power
Management
Controller
JTAG
Crystal Osc.
On-Chip RC
PLL and Dividers
32-bit RISC ARM7TDMI core
Vectored
Interrupt
Controller
USB
SPI
1,8 Voltage Regulator
Integrated
SRAM
Reset
Controller
High-Speed
FLASH
Brown-Out
Detector
Programming
Interface
Peripheral
DMA
Controller
SSC
USART
TWI
Timers
PWM
Watchdog
10-bit ADC
High-Current
Pads
Рис. 2. Функциональные блоки микроконтроллеров AT91SAM7S
• стоимость сопоставима с 8-разрядными микроконтроллерами;
• поддержаны недорогими средствами разработки и примерами программ.
Таким образом, находясь в одинаковой
ценовой группе с большинством 8-разрядных микроконтроллеров, 32-разрядные микроконтроллеры AT91SAM7S позволяют выполнять более широкий круг задач.
Если сравнивать их с прочими 32-разрядными микроконтроллерами, предназначенными для аналогичной области применения, можно выделить высокую интеграцию блоков и компонентов на кристаллах AT91SAM7S. Примером показателя высокой интеграции является тот факт, что для «обвязки» микроконтроллера достаточно всего 20 внешних компонентов:
• стабилизатор на 3,3 В;
• 2 конденсатора и 1 резистор для фильтра ФАПЧ;
• 2 конденсатора и 1 кварц для высокочастотного тактового генератора;
• 13 развязывающих конденсаторов. Рассмотрим организацию и характеристики основных блоков AT91SAM7S (рис. 2).
Flash-память
AT91SAM7S снабжен контроллером Flash-памяти, который выполняет следующие функции:
• обеспечивает работу ядра с Flash-памятью;
• позволяет увеличить производительность процессорного ядра при использовании 16-разрядного набора команд Thumb;
• осуществляет функции чтения и записи данных в Flash-память, установки и снятия битов защиты блоков памяти от случайного и несанкционированного чтения и записи. Корпорации Atmel пока что не удалось
достичь высокого быстродействия Flash-памяти. На сегодняшний день быстродействие Flash-памяти является единственным «узким» местом на кристалле. Для решения этого недостатка производитель выработал рекомендации по увеличению производительности:
1. При выполнении из Flash-памяти программы, содержащей в основном 32-разрядные команды набора ARM, максимальной производительности можно достичь на тактовой частоте 30 МГц:
• до 27 MIPS с использованием набора команд ARM;
• до 21 MIPS c использованием набора команд Thumb.
2. При выполнении из Flash-памяти программы, содержащей в основном 16-разрядные команды набора Thumb, максимальной производительности можно достичь на тактовой частоте 50 МГц, но для этого необходимо использовать встроенную функцию кэширования второй 16-разрядной команды, полученной в результате чтения 32-разрядного слова. В результате, при выполнении второй команды образуется дополнительный цикл ожидания, позволяющий без программных задержек считывать данные из Flash-памяти. При использовании набора команд ARM необходимо программно добавлять цикл задержки. Этот способ позволяет получить следующие результаты:
• до 24 MIPS с использованием набора команд ARM;
• до 38 MIPS c использованием набора команд Thumb.
3. Максимальной производительности (50 MIPS) можно достичь, если дать команду процессору выполнять программу из ОЗУ, предварительно ее туда загрузив.
С точки зрения структуры содержимого Flash-память микроконтроллеров разбита на страницы по 128 байт и зоны по 4 кбайт. Чтение данных можно производить по словам, а запись — постранично.
Записанная во Flash-память программа может быть защищена от несанкционированного считывания или случайного стирания установкой Lock-битов, которые осуществляют защиту памяти по зонам. Этим процессом управляет контроллер Flash-памяти, который хранит данные для каждой зоны (например, объем Flash-памяти 64 кбайт раз-
бит на 16 зон, для каждой из которых можно установить индивидуальный бит защиты).
Функции стирания данных в незащищенной зоне можно производить постранично, после чего можно производить запись данных (время выполнения процедуры стирания-записи — 2 мс на одну страницу). Также поддерживается функция полного стирания всего содержимого Flash-памяти (выполняется за 10 мс).
С целью защиты интеллектуальной собственности — данных во Flash-памяти — предусмотрена функция запрета доступа к Flash-памяти (на чтение и запись) из «внешнего мира» по интерфейсам внутрисхемного программирования и интерфейсу FFPI (Fast Flash Programming Interface). Для этого предназначен бит Security Fuse, после установки которого доступ к содержимому Flash-памяти по интерфейсам внутрисхемного программирования и интерфейсу FFPI можно будет осуществить только после полного стирания данных с использованием внешнего вывода Erase.
С точки зрения записи программы во Flash-память существует несколько вариантов:
1. Параллельный режим программирования по интерфейсу FFPI с использованием параллельных (gang) программаторов.
2. Внутрисхемный последовательный режим программирования по интерфейсу JTAG с использованием внутрисхемных программаторов.
3. Внутрисхемный последовательный режим программирования с использованием имеющихся на кристалле интерфейсов USB либо DBGU (DeBuG Unit — UART с усеченными возможностями). В этом режиме принимает участие загрузчик SAM-BA, который позволяет производить запись программы внутрисхемно без использования программатора.
Периферийный контроллер прямого доступа к памяти (PDC)
Для обмена данными между оперативной памятью и периферией в микроконтроллеры AT91SAM7S включен периферийный контроллер PDC (Peripheral Data Controller), задача которого заключается в организации обмена данными между памятью и периферией без участия ядра микроконтроллера. Основные преимущества такой реализации заключаются в высвобождении вычислительных ресурсов микроконтроллера с возможностью организации непрерывной передачи данных, не прекращающейся при возникновении прерываний в системе и при остановке процессорного ядра.
Для организации обмена данными с имеющейся на кристалле периферией контроллер PDC имеет каналы для каждого периферийного узла. Для управления процессами передачи каждый периферийный узел содержит регистры контроллера PDC:
130
компоненты
микроконтроллеры
• автоинкрементируемый 32-битный указатель на текущий адрес памяти;
• автодекрементируемый 16-битный счетчик объема данных на передачу (максимальный объем передаваемых данных за одну сессию 64 кбайт);
• автоинкрементируемый 32-битный указатель на адрес памяти для следующего этапа передачи данных;
• автодекрементируемый 16-битный счетчик объема данных, необходимых для передачи на следующем этапе.
Контроллер позволяет организовать обмен
данными блоками по 8, 16 или 32 бита.
Коммуникационные последовательные интерфейсы
Для обмена данными с внешними устройствами в микроконтроллере предусмотрено 6 различных интерфейсов (рис. 3).
Следует отметить, что для обмена данными в AT91SAM7S предусмотрено два USART, обеспеченных линиями квитирования для гибкого контроля процесса передачи данных, а для вывода отладочной информации предусмотрен дополнительный UART (DBGU). Скорость обмена данными по USART достигает 30 Мбит/с в синхронном режиме и 6,87 Мбит/с в асинхронном.
Интерфейс SPI в микроконтроллерах AT91SAM7S может работать в двух режимах (master и slave), обеспечивая передачу данных на скоростях до 30 Мбит/с.
В отличие от традиционных 32-разрядных микроконтроллеров, у AT91SAM7S интерфейс SPI снабжен четырьмя линиями Chip Select, что позволяет организовать обмен данными в режиме master с четырьмя внешними устройствами, с каждым из которых микроконтроллер может устанавливать связь на заданной скорости и осуществлять обмен данными блоками по 8 или 16 бит.
Как и прочая периферия, интерфейс SPI может работать под управлением контроллера PDC.
Высокоскоростной интерфейс SPI
Режимы Master/Slave Работа с четырьмя slave'aMM Скорость до 30 МБит/с
Синхронный последовательный интерфейс (SSC)
Скорость до 12,7 МБит/с Поддержка l2S
Интерфейс USB 2.0 Full Speed
Скорость до 12 МБит/с
2 интерфейса ивАРТ
Режимы Синхр./Асинхр. Скорость до 30 Мбит/с (Синхр.)
Работа в низкоскоростных режимах для 1гЭА и 1507816 Линии квитирования
Отладочный интерфейс
овси
Дополнительный IIАКТ (асинхронный режим, без линий квитирования)
Поддерживается обмен данными через контроллер PDC
Рис. 3. Коммуникационные последовательные интерфейсы AT91SAM7S
Таблица 2. Поддерживаемые режимы работы UART
Параметр Значение
Бит данных 5,6,7,8 или 9
Стоповые биты 1, 1,5 или 2
Выбор порядка битов в байте (МБВДБВ) Да
Контроль четности Odd, Even, None, Mark, Space
Контроль ошибок Parity, Framing, Overrun, Break detection
Буферизация С использованием PDC (до 64 кбайт)
Интерфейс USB
Контроллер USB-интерфейса микроконтроллеров AT91SAM7S содержит интегрированный приемопередатчик, соответствующий спецификации шины USB 2.0 full-speed. Он имеет буфер FIFO объемом 328 байт и поддерживает организацию четырех каналов передачи данных, два из которых могут работать в режимах bulk, interrupt и control, а два других — в режимах bulk, isochronous и control.
VBUS
С_0603
С32
100nF
GND
USB—В—S—F—В—ТН 2
,П П
О
иго
J6
GND
USB_DP USB DM
С_0603 ф C1Q 16pF COG
GND
R_0603 R18
—ІШ—
R13
—QE—
C_0603 C33
__16pF COG
GND
C_0603
C18
33pF COG
Для работы интерфейса ШВ используется единая (с ядром) схема генерации и распределения тактового сигнала, что позволяет использовать один кварц для ядра и ШВ.
Как было сказано выше, микроконтроллерам АТ91вАМ7в характерна высокая степень интеграции, и еще одним показателем этого служит схема включения ШВ, требующая всего 6 внешних элементов (рис. 4, 5).
Помимо выполнения функции обмена данными интерфейс ШВ можно использовать и для питания микроконтроллера (а также всего устройства) с целью продления времени работы устройства в автономном режиме.
Аналогово-цифровой преобразователь
Микроконтроллеры АТ918АМ78 содержат 8-канальный аналогово-цифровой преобразователь (АЦП), который позволяет работать в двух режимах разрешающей способности — 8 и 10 бит. Максимальная частота дискретизации, обеспечиваемая АЦП, достигает 384 тыс. отсчетов в секунду (ksps). Как и прочая периферия, АЦП поддерживается PDC.
Рис. 4. Схема включения интерфейса USB
микроконтроллеры
компоненты
131
ADC CR (Control Register)
1 0
START
T
TIOA Channel 0
TIOA Channel 1
Программный запуск
Аппаратный запуск
Передний фронт на внешнем выводе ADTRG
У Запуск преобразования АЦП
/
TRGEN Bit
ADC MR (Mode Register)
TRGSEL
з\
TRGSEL TRGEN
Рис. 6. Схема запуска преобразования АЦП
Окончание преобразования (опрос либо по прерыванию)
Чтение результата преобразования на выбранном канале
ADC SR (Регистр статуса) 7 1
=о
ЕОС7
ЕОС1
ЕОСО
ADC CDRx (Регистр результата на канале х)
9 1 0
=о
Область результата преобразования
8-битный режим
10-битный режим
15 9 8
Чтение бита опережения | OVR7 OVR1 OVRO
Рис. 7. Схема чтения результата преобразования АЦП
Запуск преобразования может быть осуществлен программно и аппаратно (рис. 6).
По каждому сигналу запуска может выполняться как преобразование сигнала с одного канала (указанного в регистре ADC_CHER), так и последовательное преобразование сигналов с выбранных (указанных в регистре ADC_CHER) каналов. Помимо одиночных преобразований также поддерживается режим непрерывного преобразования сигнала с одного или нескольких каналов.
По окончании каждого преобразования результат может быть считан в заданном формате (рис. 7).
Все процедуры запуска преобразования и чтения результата преобразования АЦП могут также выполняться без участия ядра микроконтроллера под управлением контроллера PDC.
Питание АЦП осуществляется от 3,3-воль-товой линии питания VDDIN, и в момент преобразования ток потребления составляет 1 мА. Для снижения энергопотребления в период между преобразованиями в АЦП предусмотрен режим энергосбережения (sleep
mode), ток потребления АЦП в котором не превышает 1 мкА.
В качестве источника опорного напряжения предполагается использование внешнего источника с напряжением от 2,6 В до значения VDDIN.
Широтно-импульсный модулятор (ШИМ, PWM)
Контроллер ШИМ микроконтроллеров AT91SAM7S включает четыре независимых
канала для генерации широтно-модулиро-ванных сигналов. На каждом канале можно устанавливать независимые значения частоты, скважности и полярности сигнала.
Блок ШИМ можно разбить на две части: контроллер блока ШИМ и модули каналов блока ШИМ.
Контроллер блока ШИМ выполняет функцию формирования и распределения набора тактовых сигналов, включающих два независимых тактовых сигнала clkA и clkB, а также набор сигналов, равных системной тактовой частоте, деленной на число, кратное 2п (где п — целое число от 1 до 10). Каждый из сформированных сигналов может быть использован для работы любого канала ШИМ. Помимо функции распределения тактовой частоты контроллер блока ШИМ выполняет функцию включения и выключения модулей каналов, разрешения и запрещения прерываний от модулей каналов.
Модули каналов ШИМ выполняют выбор источников тактового сигнала, выбор режима работы канала (выравнивание импульсов по левому краю, правому краю и по центру), управление параметрами частоты и скважности сигнала, осуществляют счет импульсов. Для всех модулей каналов блока ШИМ предусмотрен общий регистр (PWM_CUPD), позволяющий производить синхронное изменение формы выходных сигналов в соответствии с новыми установками. Для формирования сигналов на разных каналах без взаимного перекрытия предусмотрена возможность синхронизации выходных сигналов (рис. 8).
Выходные сигналы ШИМ в режиме PIOA (в микроконтроллере предусмотрено два режима включения периферии на внешние выводы — PIOA и PIOB) мультиплексированы с внешними выводами PA0, PA1 и PA2, имеющими удвоенную нагрузочную способность, что позволяет осуществлять подключение внешних цепей с током нагрузки до 16 мА.
Энергопотребление
Параметры энергопотребления в микроконтроллерах AT91SAM7S регулируются встроенным контроллером управления питанием (Power Management Controller, PMC), выполняющим следующие функции:
• распределение тактовой частоты на ядро
и периферийные модули;
132
компоненты
микроконтроллеры
• управление значениями частот;
• вывод тактовой частоты к внешним блокам (линии РСК).
Главным достоинством контроллера управления питанием является возможность гибкого управления характеристиками энергопотребления при различных конфигурациях рабочей частоты ядра и периферии. В качестве примеров можно привести следующие значения:
• 32 мА — тактовая частота периферии
и ядра 55 МГц, вся периферия включена;
• 21 мА — вся периферия остановлена, тактовая частота ядра 55 МГц;
• 11 мА — ядро остановлено, тактовая частота периферии 55 МГц, вся периферия включена;
• 36 мкА — работа от внутреннего RC-генератора на частоте 32 кГц, периферия остановлена;
• 2,7 мкА — работа от внутреннего RC-генератора на частоте 500 Гц (максимальные значения делителей), периферия остановлена.
Блок управления тактовыми частотами позволяет также выключать неиспользуемую периферию на различные промежутки времени (рис. 9).
Как видно из схемы на рис. 9, источником тактовой частоты может быть внутренний RC-генератор, либо кварцевый генератор. При работе от внутреннего RC-генератора тактовая частота может варьироваться в пределах от 22 до 42 кГц. Для внешнего высокочастотного генератора может быть использован кварцевый резонатор с частотой от 3 до 20 МГц. При использовании кварца с частотой менее 8 МГц необходимо подключить последовательно в цепь ХОИТ резистор сопротивлением 1 кОм.
Для повышения тактовой частоты (вплоть до 220 МГц), контроллер управления питанием содержит блок ФАПЧ, частота выходного сигнала которого задается параметрами внешнего фильтра (рис. 10). Для расчета но-
миналов элементов фильтра можно использовать программу PLL Filter Calculator, распространяемую свободно.
Одной из важных возможностей контроллера управления питанием является функция автоматического переключения на работу от RC-генератора как источника тактовой частоты в случае отказа внешнего высокочастотного тактового генератора. Эта функциональность может быть использована, например, для сохранения важной информации и извещения о критической ситуации.
Средства поддержки разработок
Основным стартовым набором для микроконтроллеров AT91SAM7S является набор AT91SAM7S64-IAR, в состав которого входят целевая плата с распаянным микроконтроллером AT91SAM7S64, внутрисхемный эмулятор J-LINK (производство SEGGER Microcontroller Systeme GmbH), 2 кабеля USB (A-B). Также в набор включено программное обеспечение — оценочная версия компилятора IAR (с ограничением на объем генерируемого бинарного кода в 32 кбайт). Набор также содержит CD с документацией, руководствами по применению и примерами программ. Стоимость такого набора составляет $295.
В качестве альтернативы можно приобрести еще более дешевую версию (около $165) — набор AT91SAM7S-EK, включающий целевую плату с распаянным микроконтроллером AT91SAM7S256, 1 кабель USB (A-B) и диск с документацией. Для начинающих разработчиков рекомендуется использовать AT91SAM7S64-IAR, включающий полный набор необходимого аппаратного и программного обеспечения.
Основой обоих наборов является целевая плата (рис. 11), на которую может быть распаян любой кристалл серии AT91SAM7S (есть дополнительная посадочная площадка для микроконтроллера AT91SAM7S32 в корпусе TQFP48).
Вся система построена таким образом, что запуск платы может быть выполнен за считанные минуты — имеется руководство по быстрому старту (Getting Started), где описана последовательность включения «железа», установки программного обеспечения, запуска демонстрационного проекта.
В качестве основного источника документации предлагается веб-сайт www.at91.com. Сайт регулярно обновляется и пополняется последними версиями документации на кристаллы, содержит описания и руководства на стартовые наборы, руководства по быстрому старту, библиотеки и примеры про-
Analog
Inputs
RS232 RS232
Driver Driver
User Pushbuttons
UART
VDDCORE
AT91SAM7SXXX
VDDOUT
-12 В DC Input
CH
3,3 в
Crystal
Extension Slot
Power 5 В USB Device ICE Debug Port
Supply
Рис. 11. Функциональная схема и внешний вид целевой платы стартовых наборов ДТ913ДМ7364-!ДР и ДТ913ДМ73-ЕК
микроконтроллеры компоненты
Flash, кБ 2048
1024
512
256
128
64
32
[ Выпуск в 2006 году ]
SAM7A6
SAM7S512
SAM7SES12
SAM7X512
SAM7A5
SAM7SE256
SAM7L256
SAM7X256
SAM7A3
SAM7L128
SAM7X128
SAM7A4
Малое Интерфейс Драйвер Интерфейс Интерфейс
количество внешней ЖКИ Ethernet CAN
выводов шины
Рис. 12. План развития микроконтроллеров SmartARM
грамм для различных программных средств разработки, программное обеспечение для работы с «железом».
При последующем серийном выпуске изделий на базе AT91SAM7S для программирования Flash-памяти микроконтроллера в системе можно использовать как имеющийся в комплекте внутрисхемный эмулятор J-Link, так и любой другой программатор из списка приведенных на сайте www.at91.com в разделе Third Party.
Приведенные на сайте программаторы загружают программу в микроконтроллер по интерфейсам JTAG (внутрисхемные программаторы) или FFPI (параллельные программаторы). Можно также обходиться без программаторов, используя имеющийся на кристалле загрузчик SAM-BA (Smart ARM Boot Assistance), описание работы с которым находится на сайте www.at91.com в разделе Getting Started.
В качестве программных средств разработки корпорация Atmel рекомендует использование компилятора IAR Embedded Workbench (www.iar.com) для написания программ на языке ассемблера или Си. Основными документами, которыми рекомендуется пользоваться при разработке программного обеспечения в среде IAR, являются базовые примеры программ (www.at91.com) и встроенные файлы справки компилятора, включающие практические руководства по использованию средств и инструментариев среды разработки IAR, руководство по эффективному программированию на Си, описание системы команд и формата команд ARM-ассемблера.
Альтернативой компилятору IAR является популярный в среде разработчиков пакет Multi2000 от компании GreenHills
(www.ghs.com). Список прочих средств разработки приведен на сайте www.at91.com.
Для решения задач распараллеливания процессов предлагаются операционные системы реального времени. Самой популярной на сегодняшний день является Micrium uC/OS-II (www.micrium.com). Также доступна бесплатная операционная система Open Source FreeRTOS (www.freertos.org).
Заключение
Поддержанные доступным программным обеспечением и недорогими стартовыми наборами, микросхемы семейства SmartARM начинают активно внедряться в новые разработки. Хотя архитектура ARM уже давно была «обкатана» многими производителями, в том числе и Atmel, разработчики ждали чего-то более дешевого и понятного. На сегодняшний день многие из них признают, что ожидания оправдались в микросхемах серии AT91SAM7S.
Следует отметить, что Atmel планирует и в дальнейшем активно развивать направление SmartARM (рис. 12).
Функциональность микроконтроллеров AT91SAM7S будет расширяться путем введения дополнительных блоков. Так, в ближайшем будущем ожидается выпуск микроконтроллеров с интерфейсом Ethernet. Также планируется выпуск кристаллов с интерфейсом внешней шины (EBI), а в дальнейшем — с драйвером ЖКИ. Что касается микроконтроллеров с интерфейсом CAN, то после выпуска AT91SAM7A3 с Flash-памятью объемом 256 кбайт запланирован выпуск микроконтроллеров с увеличенным и уменьшенным объемами памяти. ■