32-разряда от Atmel: развитие линии ARM-контроллеров
В последние годы наблюдается повышенный интерес к 32-разрядным контроллерам. Многие разработчики, которым уже тесно в рамках 8-разрядной архитектуры, начинают осваивать более мощные семейства, причем класс 16-разрядных решений остается в стороне, так как не имеет практически никаких преимуществ (даже ценовых) перед 32-разрядными. Корпорация Atmel параллельно развивает две 32-разрядные архитектуры — ARM (семейства SAM7/SAM9) и AVR32. Стоит отметить, что на текущий момент перспективная архитектура AVR32, включающая два семейства, AP7000 и UC3, превосходит ARM-контроллеры SAM7 и SAM9 как по вычислительной мощности, так и в части набора интерфейсных модулей на кристалле. Новые ARM.контроллеры серии AT91 корпорации Atmel устраняют этот разрыв.
Микроконтроллеры SAM7
Самые первые микроконтроллеры семейства SAM7 — AT91SAM7A1 и AT91SAM7A2 не имели Flash-памяти на кристалле, поэтому мы не будем их рассматривать. В статье рассматриваются микросхемы SAM7 оснащенные Flash-памятью.
Фактически, каждый современный микроконтроллер содержит на кристалле, помимо модулей задержки запуска после подачи питания (POR, Power-on Reset) и слежением за уровнем питания (BOD, Brown-out Detector) также Flash-память, в которой размещается программа, а при необходимости, и данные. Содержимое этой Flash-памяти может быть модифицировано как средствами самой программы, так и «из внешнего мира». Естественно, доступ к памяти снаружи можно запретить, установив бит защиты памяти. Контроллеры SAM7 имеют расширенные возможности для управления доступом к Flash-памяти. Существует набор битов блокировки (lockbits), которые запрещают возможность модификации содержимого определенных регионов памяти, и собственно, бит защиты
(security bit), который предотвращает несанкционированный доступ к содержимому Flash-памяти. Важно, что при установленном security bit происходит блокировка работы интерфейса JTAG.
Контроллер имеет четыре способа загрузки памяти:
- посредством внешнего программатора;
- через интерфейс JTAG;
- через порт UART;
- через порт USB.
Контроллер содержит на кристалле отдельное масочное ПЗУ, в котором находится программа автопрограммирования. Таким образом, для загрузки микросхемы по портам UART или USB нужен лишь соответствующий стандартный кабель UART или USB, причем при использовании USB-кабеля не требуется отдельного источника питания.
В режиме программирования контроллер при запуске опрашивает порты UART и USB и, в случае обнаружения активности на одном из них, переходит в режим ожидания внешней команды. Что интересно, опрос порта UART происходит со автосканированием частоты, таким образом, можно получить соединение на скорости 115200 бод, используя различные номиналы кварцевых резонаторов и коэффициенты настройки цепи ФАПЧ генератора.
Все контроллеры SAM7 построены на ядре ARM7TDMI, однако внутри семейства они имеют специализацию, обусловленную наличием тех или иных интерфейсов. Основные технические характеристики контроллеров SAM7 представлены в таблице 1.
Таблица 1. Основные технические характеристики контроллеров SAM7
|
Частота ядра (МГц) |
SRAM, байт |
Flash, байт |
DMA кана- лы |
Интерфейсы |
CAN-контрол- лер |
USB Device 12 Mbps |
16-bit счет- чики |
ШИМ-контрол- лер |
Сис- темный таймер |
Сторо- жевой таймер |
10-разряд- ный АЦП |
RC-генератор |
16-милли- ампер- ные выходы |
I/O |
Корпус, выводы |
UART |
USART |
SPI |
TWI |
SSC |
MCI |
SAM7S16 |
55 |
4 |
16 |
9 |
1 |
1 |
1 |
1 |
1 |
- |
- |
- |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
21 |
48 |
SAM7S161 |
55 |
4 |
16 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
SAM7S32 |
55 |
8 |
32 |
9 |
1 |
1 |
1 |
1 |
1 |
- |
- |
- |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
21 |
48 |
SAM7S321 |
55 |
8 |
32 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
SAM7S64 |
55 |
16 |
64 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
SAM7S128 |
55 |
32 |
128 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
SAM7S256 |
55 |
64 |
256 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
SAM7S512 |
55 |
64 |
512 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
32 |
64 |
|
SAM7X128 |
55 |
32 |
128 |
13 |
1 |
2 |
2 |
1 |
1 |
- |
1 |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
60 |
100 |
SAM7X256 |
55 |
64 |
256 |
13 |
1 |
2 |
2 |
1 |
1 |
- |
1 |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
60 |
100 |
SAM7X512 |
55 |
128 |
512 |
13 |
1 |
2 |
2 |
1 |
1 |
- |
1 |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
60 |
100 |
|
SAM7A3 |
60 |
32 |
256 |
19 |
1 |
3 |
2 |
1 |
2 |
+ |
2 |
1 |
9 |
8 |
+ |
+ |
16 |
+ |
4 |
62 |
100 |
|
SAM7SE32 |
48 |
8 |
32 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
88 |
128 |
SAM7SE256 |
48 |
32 |
256 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
88 |
128 |
SAM7SE512 |
48 |
32 |
512 |
11 |
1 |
2 |
1 |
1 |
1 |
- |
- |
1 |
3 |
4 |
+ |
+ |
8 |
+ |
4 |
88 |
128 |
|
SAM7L64 |
30 |
6 |
64 |
13 |
1 |
2 |
1 |
1 |
1 |
- |
- |
- |
3 |
4 |
+ |
+ |
4 |
+ |
4 |
80 |
128 |
SAM7L128 |
30 |
6 |
128 |
13 |
1 |
2 |
1 |
1 |
1 |
- |
- |
- |
3 |
4 |
+ |
+ |
4 |
+ |
4 |
80 |
128 |
Примечание. Микроконтроллеры SAM7 выпускаются в корпусах TQFP и QFN. Число выводов указано для корпусов типа TQFP.
Самая многочисленная группа SAM7 — SAM7S, включает 8 микросхем. Это подсемейство можно назвать базовым. Типы корпусов — TQFP и QFN, с числом выводов 48 и 64. Все микроконтроллеры AT91SAM7S, за исключением моделей с объемом Flash-памяти 16 кбайт, имеют входы/выходы, совместимые с логикой 5 В. У микроконтроллера есть 4 выхода с током нагрузки 16 мА, для остальных выводов втекающий и вытекающий ток имеет типовое значение 8 мА. Максимальный ток нагрузки на микросхемы в корпусах с 64 выводами не должен превышать 150 мА, для 48-выводных корпусов максимальный ток — 100 мА.
Подсемейство SAM7X отличается от SAM7S наличием второго интерфейса SPI и наличием двух новых интерфейсов, CAN и Ethernet MAC 10/100 Mбит.
Можно сказать, что именно эти микроконтроллеры являются наиболее универсальными в классе микросхем SAM7, не имеющих внешней шины адреса и данных. Действительно, при наличии на кристалле Flash-памяти объемом до 512 кбайт и памяти SRAM объемом до 128 кбайт в сочетании с набором интерфейсов семи типов и 8-канального АЦП обычно не требуется подключение дополнительной периферии по внешней параллельной шине. На рис. 1 приведена структурная схема микроконтроллера AT91SAM7X.
Рис. 1. Структурная схема AT91SAM7X
Несколько в стороне стоит микроконтроллер AT91SAM7A3. Его отличия — это 16-канальный АЦП, два CAN-контроллера и блок защиты SRAM-памяти (MPU — Memory Protection Unit), который позволяет запускать на контроллере операционную систему реального времени, например FreeRTOS. Еще одно отличие — отсутствие встроенной программы-загрузчика Flash-памяти — несколько ограничивает возможность перепрограммирования Flash-памяти контроллера в системе через стандартные порты ввода/вывода.
Группа контроллеров SAM7SE по существу — это SAM7S, в котором добавлены модуль MPU и внешняя шина адреса и данных (EBI, Exterbal Bus Interface). Шина поддерживает интерфейс к памяти различных типов— SRAM, SDRAM, Flash, Compact Flash, NAND Flash. Типовое использование EBI — подключение памяти SDRAM, которое производится напрямую, без помощи внешних компонентов, причем обмен с SDRAM-памятью возможен как по 16-разрядной, так и по 32-разрядной шине.
Логично, что при наличии большого объема быстрой внешней памяти нет необходимости размещать на кристалле достаточно дорогую встроенную SRAM, поэтому микроконтроллеры SAM7SE имеют на кристалле 8 или 32 Кбайт оперативной памяти.
Завершает обзор семейства SAM7L. Это микромощные микросхемы с контроллером LCD на кристалле для систем с батарейным питанием. Известно, что потребляемая мощность тесно связана с топологическими нормами, по которым производится микросхема. Причем динамическая мощность уменьшается со снижением топологического размера, а статическая, наоборот, возрастает. Это связано с токами утечки на кристалле. Микроконтроллеры, изготавливаемые по техпроцессу 0,25 микрон и менее, имеют статический ток порядка единиц микроампер. Снижение потребляемого тока в режиме ожидания в контроллерах SAM7L реализовано путем использования микромощной выделенной статической памяти объемом 2 Кбайт.
При переходе в режим ожидания все содержимое регистров копируется в эту память, после чего микроконтроллер обесточивается. При возвращении в активный режим содержимое регистров восстанавливается. На рис. 2 приведена структурная схема микроконтроллера AT91SAM7L.
Рис. 2. Структурная схема AT91SAM7L
Корпорация Atmel вложила много усилий в разработку разнообразных мощных периферийных модулей. Эти модули подключаются к ядру через многоканальный периферийный контроллер прямого доступа к памяти, который, в свою очередь, также является сложным устройством, каждый канал которого содержит четыре контроллера к памяти. В результате сложилась ситуация, когда периферия «переросла» ядро, то есть производительности ядра уже недостаточно для обслуживания всего спектра периферийных модулей. И здесь эволюционное развитие семейства SAM7 закончилось — теперь требуется качественно новый переход, а именно — замена ядра. Чтобы оставаться в рамках совместимости, в качестве преемника было выбрано ядро Cortex, разработанное компанией ARM. На этом ядре будут разработаны пять семейств микроконтроллеров:
- SAM3L — сверхнизкое потребление;
- SAM3U — малогабаритные корпуса;
- SAM3UE — внешняя шина адреса и данных;
- SAM3AE — внешняя шина адреса и данных, интерфейс CAN;
- SAM3XE — внешняя шина адреса и данных, интерфейсы CAN и Ethernet.
Все микроконтроллеры, за исключением группы SAM3L, будут иметь высокоскоростной интерфейс USB (High Speed USB, 480 Mбит/с).
Микроконтроллеры SAM9
Ядро ARM9TDMI является развитием ARM7ТDMI и совместимо с ним на уровне исходных кодов. Поддерживается два набора команд, 32-битный набор ARM и 16-битный набор THUMB, являющийся подмножеством набора ARM. В ряде приложений использование набора команд THUMB приводит к уменьшению размера кода и более быстрому его выполнению. В отличие от микросхем ARM7, контроллеры на ядре ARM9, как правило, имеют на кристалле кэш-память команд и данных, что повышает общую производительность процессора.
Первый микроконтроллер на базе ядра ARM920T корпорация Atmel выпустила в 2003 году, еще до создания концепции SAM (Smart ARM). В настоящее время AT91RM9200 используется в большом числе приложений и продолжает применяться в новых разработках. Под AT91RM9200 существует множество примеров исходных кодов и несколько типов отладочных плат. Тем не менее, уже выпущена серия микросхем SAM9 с расширенными характеристиками, и мы рассмотрим эти относительно новые микросхемы.
Современные микросхемы семейства ARM9 построены на более совершенном ядре ARM926EJ-S с поддержкой DSP-команд, оснащенном также JAVA-акселератором. Основные технические характеристики контроллеров SAM9 представлены в таблице 2.
Таблица 2. Основные технические характеристики контроллеров SAM9
|
Частота ядра, MГц |
Частота внутр. шины, MГц |
Число шин на крис- талле |
ОЗУ, кбайт |
Flash-ПЗУ, кбайт |
Кэш-память, кбайт |
Число USART/ UART |
Порт SPI |
Порт TWI |
Интер- фейс SSC |
Входной видео- интер- фейс |
Интер- фейс MCI |
Контрол- лер CAN |
Интер- фейс USB Host |
Интер- фейс USB Device |
Контрол- лер ШИМ |
16-разряд- ный таймер |
Кана- лы DMA |
I/O |
Корпус, TQFP/ BGA |
SAM9260 |
210 |
105 |
6 |
8 |
- |
16 |
7 |
2 |
1 |
1 |
1 |
1 |
- |
2 |
1 |
- |
6 |
24 |
96 |
208/217 |
SAM9XE128 |
210 |
105 |
6 |
16 |
128 |
24 |
7 |
2 |
1 |
1 |
1 |
1 |
- |
2 |
1 |
- |
6 |
24 |
96 |
208/217 |
SAM9XE256 |
210 |
105 |
6 |
32 |
256 |
24 |
7 |
2 |
1 |
1 |
1 |
1 |
- |
2 |
1 |
- |
6 |
24 |
96 |
208/217 |
SAM9XE512 |
210 |
105 |
6 |
32 |
512 |
24 |
7 |
2 |
1 |
1 |
1 |
1 |
- |
2 |
1 |
- |
6 |
24 |
96 |
208/217 |
SAM9G20 |
400 |
133 |
6 |
16 |
- |
64 |
7 |
2 |
1 |
1 |
1 |
1 |
- |
2 |
1 |
- |
6 |
24 |
96 |
208/217 |
SAM9261 |
240 |
120 |
5 |
160 |
- |
32 |
4 |
2 |
1 |
3 |
- |
1 |
- |
2 |
1 |
- |
3 |
19 |
96 |
-/217 |
SAM9261S |
240 |
120 |
5 |
16 |
- |
32 |
4 |
2 |
1 |
3 |
- |
1 |
- |
2 |
1 |
- |
3 |
19 |
96 |
-/217 |
SAM9R64 |
240 |
120 |
6 |
64 |
- |
8 |
1 |
1 |
1 |
1 |
- |
1 |
- |
- |
HS |
3 |
3 |
18 |
49 |
-/144 |
SAM9RL64 |
240 |
120 |
6 |
64 |
- |
8 |
1 |
2 |
2 |
2 |
- |
1 |
- |
- |
HS |
4 |
3 |
22 |
118 |
-/217 |
SAM9263 |
240 |
120 |
9 |
96 |
- |
32 |
4 |
2 |
1 |
2 |
1 |
2 |
1 |
2 |
1 |
4 |
3 |
22 |
160 |
-/324 |
SAM9G41 |
400 |
133 |
9 |
96 |
- |
32 |
4 |
2 |
1 |
2 |
1 |
2 |
1 |
HS |
HS |
4 |
3 |
22 |
160 |
-/324 |
SAM9M10 |
400 |
133 |
9 |
64 |
- |
64 |
5 |
2 |
2 |
2 |
1 |
2 |
- |
HS |
HS |
4 |
6 |
21 |
160 |
-/324 |
SAM9M11 |
400 |
133 |
9 |
64 |
- |
64 |
5 |
2 |
2 |
2 |
1 |
2 |
- |
HS |
HS |
4 |
6 |
21 |
160 |
-/324 |
В контроллерах SAM9 (так же как и в контроллерах SAM7) использован принцип раздельного питания ядра и периферийных модулей кристалла. Напряжение питания ядра можно варьировать в диапазоне от 1,65 до 1,95 В (в некоторых моделях от 1,08 до 1,32 В), управляя потребляемой мощностью и максимальной тактовой частотой ядра контроллера. Такое сочетание параметров позволяет применять микроконтроллеры ARM9 в самых разных приложениях, в том числе для построения низкопотребляющих систем, работающих в реальном времени. Для отладки программ используется внутрисхемный эмулятор AT91SAM-ICE — тот же, что и для микроконтроллеров AT91SAM7, либо Wiggler-совместимый эмулятор AS-JTAG с гальванической развязкой.
На основе микросхемы AT91SAM9260 разработаны микроконтроллеры AT91SAMXE, содержащие на кристалле Flash-ПЗУ объемом от 128 до 512 кбайт. Следует отметить, что по типу корпуса (TQFP208 и BGA217) и цоколевке они совпадают с AT91SAM9260, таким образом, AT91SAMXE можно распаивать на печатную плату вместо AT91SAM9260. Структурная схема AT91SAM9XE (рис. 3) отличается от AT91SAM9260 только наличием модуля Flash-ПЗУ.
Рис. 3. Структурная схема AT91SAM9XE
Краткий перечень характеристик микроконтроллера AT91SAMXE512:
- Ядро ARM926EJ-S ARM Thumb, DSP Instruction Extensions:
- 6-слойная шинная матрица (32-разряда q 6);
- производительность 230 MIPS на частоте 210 МГц;
- скорость передачи данных по внутренним шинам — до 20 Гбит/с;
- 8 кбайт кэш данных, 16 кбайт кэш команд;
- интерфейс к внутрисхемному эмулятору (JTAG);
- коммуникационный отладочный канал (Debug UART).
- Быстродействующая память — 32 кбайт ОЗУ и 32 кбайт масочное ПЗУ.
- Внешняя интерфейсная шина (EBI): поддержка памяти SDRAM, Burst Flash, CompactFlash, SmartMedia и NAND Flash.
- Системная периферия:
- расширенный тактовый генератор и контроллер управления энергопотреблением;
- два встроенных осциллятора с ФАПЧ;
- четыре программируемых источника тактирования.
- Таймеры:
- таймер часов реального времени с отдельным прерыванием;
- интервальный таймер (20+12 разрядов);
- два трехканальных 16-разрядных таймера-счетчика;
- сторожевой таймер.
- Контроллер прерываний:
- 8 уровней маскируемых прерываний с приоритетом;
- 7 внешних источников прерывания и 1 «скоростной» источник прерывания;
- четыре 32-разрядных контроллера ввода/вывода с 122 программируемыми линиями ввода/вывода;
- 24-канальный периферийный контроллер данных (DMA).
- Модуль Ethernet MAC 10/100 Base-T:
- режим MII или RMII;
- буфер FIFO на 28 байт и выделенные каналы DMA на прием и передачу.
- Host-порт USB 2.0 (12 Мбит/с): буфер FIFO и выделенные каналы DMA.
- Device-порт USB 2.0 (12 Мбит/с): буфер FIFO 2 кбайт.
- Интерфейс мультимедиа-карт (MCI):
- автоматическое управление протоколом;
- совместимость с MMC, SD/SDIO-картами памяти, поддержка двух карт SD-Memory;
- 10-разрядный 4-канальный АЦП.
- Синхронный последовательный контроллер (SSC), поддержка интерфейса I2S.
- Четыре универсальных синхронно-асинхронных интерфейса USART.
- Асинхронный интерфейс UART, который также можно использовать для отладки.
- Двухпроводный интерфейс TWI, (совместимый с I2C), поддержка режима Master Mode.
- Два последовательных интерфейса SPI (режим Master/Slave).
- Интерфейс ISI (Image Sensor Interface) ITUR 601/656 для подключения источника видеосигнала.
- Корпус TQFP208, BGA217.
В 2008 году будут выпущены микросхемы AT91SAM9G20 (рабочее название AT91SAM9260A). Эти контроллеры являются развитием AT91SAM9260. Они будут изготавливается по технологическим нормам 90 нм, что позволит обеспечить работу ядра
на частоте 400 МГц.
В настоящее время наблюдается тенденция к увеличению функциональных возможностей современного микроконтроллера при одновременном снижении его размеров. Действительно, добавление на кристалл контроллера цветного графического ЖКИ требует около 30 выводов, а второй 32-разрядной шины адреса и данных — более 60 выводов. Понятно, что корпуса типа TQFP не удовлетворяют этим требованиям, поэтому новые кристаллы упаковываются в корпуса типа BGA с числом выводов до 324. Все микросхемы, рассматриваемые далее, имеют корпуса типа BGA.
В микросхеме AT91SAM9261 имеется 5 шин данных, что позволяет получить пропускную способность до 14,4 Гбит/с. На кристалле размещен контроллер ЖК-дисплея, поддерживающий работу как с пассивной (STN), так и с активной (TFT) матрицей. Максимальное разрешение — 2048q2048 точек, глубина цвета — до 24 бит на точку. Микросхема содержит на кристалле статическую оперативную память объемом 160 кбайт, которую можно использовать как видеопамять, что позволяет в ряде случаев отказаться от применения в устройстве дополнительных микросхем SRAM/SDRAM.
Старшим представителем семейства SAM9 является контроллер AT91SAM9263. Здесь присутствует практически вся периферия, которая в различных комбинациях использована в микросхемах SAM9 — все типы портов (причем для высокоскоростного обмена можно использовать два параллельных 32-разрядных порта), два типа памяти ОЗУ в дополнение к кэш-памяти команд и данных, контроллер ЖК-матрицы с 2D-ускорителем, контроллер CMOS-сенсора. Для организации передачи потоков данных внутри кристалла использована матрица из 9 шин данных. В этом контроллере применены две параллельные 32-разрядных шины данных с частотой 100 МГц. В таблице 3 представлены данные по скорости обмена для последовательных интерфейсов контроллера AT91SAM9263.
Таблица 3. Последовательные интерфейсы контроллера AT91SAM9263
Интерфейс |
Характеристики |
Скорость |
Ethernet |
Поддержка 10/100 MII/RMII |
100 Mбит/с |
SPI |
Режим Master/Slave. До 4 Chip Selects |
50 Mбит/с |
SSC |
Поддержка режима I2S |
50 Mбит/с |
MCI |
Поддержка SD-card, MMC-card, SDIO |
25 Mбит/с |
USART |
Асинхронный и синхронный обмен, IrDA, ISO7816, поддержка работы с модемом |
12 Mбит/с (асинхронный режим) 50 Mбит/с (синхронный режим) |
DBGU |
Отладочный порт/ дополнительный UART |
12 Mбит/с |
USB |
2.0 Full Speed интерфейс |
12 Mбит/с |
CAN |
Режимы 2.0А, 2.0В |
1 Mбит/с |
TWI (I2C) |
Режимы Master, Slave, Multi.Master |
400 кбит/с |
В разработке находятся высокоскоростные аналоги контроллера AT91SAM9263 — микросхемы AT91SAM9M10, AT91SAM9M11 и AT91SAM9G41. Ядра этих микросхем работают на частоте до 400 МГц, Системная шина — на частоте 133 МГц. Интерфейс внешней памяти типа DDR2 имеет частоту 100 МГц. Особенностью этих микроконтроллеров является 8-канальный системный контроллер DMA, который дополняет 21-канальный периферийный контроллер DMA.
На рис. 4 приведена структурная схема микроконтроллера AT91SAM9M10.
Рис. 4. Структурная схема AT91SAM9M10
Контроллер AT91SAM9M11 отличается от AT91SAM9M10 наличием аппаратных модулей криптозащиты, которые реализуют алгоритмы SHA TDES и AES. Контроллер AT91SAM9G41, напротив, является упрощенной версией AT91SAM9M10 и отличается отсутствием на кристалле модуля видеодекодера.
Интересной разработкой корпорации Atmel на базе SAM7 и SAM9 является проект AT91CAP, в котором на кристалле вместе контроллером размещается массив масочной программируемой логики большого объема, однако описание этих компонентов требует отдельной статьи.
Средства разработки
Одновременно с выпуском микроконтроллеров SAM7 и SAM9 шведская компания IAR выпустила версию своего Си-компилятора с поддержкой этих МК. Компания IAR предлагает гибкую схему работы со своим компилятором. Есть три варианта. Первый, называемый Kick Start — это бесплатная версия с ограничением размера исполняемого кода 32 кбайт. Второй — бесплатная версия Eval, которая имеет ограничение по времени работы (30 дней), однако в ней нет ограничения на размер кода. Наконец, есть платная коммерческая версия, где отсутствуют ограничения (цена зависит от конфигурации компилятора). Интегрированные среды для программирования предлагают также компании Keil из Германии и Rowley из Великобритании.
Наряду с коммерческими пакетами программ широко используется бесплатный компилятор GCC. Изначально он написан для работы в операционной системе Linux, однако существует версия и для работы в Windows, которая называется WinARM. В чистом виде работа с компилятором WinARM осуществляется из командной строки, но можно собрать полную среду программирования, используя пакет Eclipse, разработанный фирмой IBM в рамках проекта Open Source. Процедура сборки среды описана на сайте www.yagarto.de. Оттуда же можно загрузить необходимые программные компоненты для сборки собственного экземпляра такой среды. Ценой пакета является время, затраченное на процесс сборки, но в результате можно получить полнофункциональный бесплатный инструмент — компилятор, симулятор и поддержку различных типов эмуляторов.
Много полезной информации можно получить на сайте корпорации Atmel. Если разрабатывается устройство на базе SAM9 для работы под Linux, то стоит посетить сайт http://www.linux4sam.org, открытый в ноябре 2007 года. На сайте выложено много примеров программ, загрузчиков Linux и рекомендаций по установке операционной системы на SAM-контроллеры. Корпорация Atmel сотрудничает с фирмой Timesys, которая предлагает свой продукт LinuxLink. Несмотря на то, что это коммерческий проект, на сайте выложен бесплатный пакет “LinuxLink board support package (BSP)”, которым можно пользоваться для изучения основ инсталляции Linux на контроллеры SAM9.
Еще одним партнером корпорации Atmel по применению SAM9 является компания Adeneo, которая специализируется на портировании на SAM9 операционной системы Windows CE. На странице http://www.argussoft.ru/vendors_list/argussoft/ можно посмотреть описания, примеры программ и принципиальные схемы отладочных плат на базе контроллерв SAM7/SAM9 производства компании Аргуссофт.
В заключение хочется напомнить о сайте с названием, которое не требует комментариев www.at91.com. Здесь можно получить свежую информацию по новым микросхемам, а также принять участие в тематическом форуме, где обсуждаются практические вопросы применения контроллеров с аналогичным названием.
Литература
- Королев Н. 32-разрядные микроконтроллеры ATMEL на базе ядра ARM7 // Компоненты и технологии, 2006, № 6.
- Королев Н. Современные микроконтроллеры ATMEL: акцент на 32-разряда // Электронные компоненты, 2006, № 12.
- Королев Н., Шабынин А. ARM-микроконтроллеры Atmel: Практические аспекты применения. Часть 1. ARM7 //»Электронные компоненты, 2007, № 7.
- Королев Н., Шабынин А. ARM-микроконтроллеры Atmel: Практические аспекты применения. Часть 2. ARM9 //Электронные компоненты, 2007, № 8.
- Королев Н., Шабынин А. ARM-микроконтроллеры Atmel: аппаратные средства разработчика //ЭЛЕКТРОНИКА: Наука, Технология, Бизнес, 2007, № 6.
Николай КОРОЛЕВ
|