Научная статья на тему 'ATSAM3S c ядром Cortex-M3 - новые кристаллы класса ARM7 корпорации Atmel'

ATSAM3S c ядром Cortex-M3 - новые кристаллы класса ARM7 корпорации Atmel Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
173
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Курилин Алексей

В начале 2010 года фирма Atmel анонсировала серию микросхем ATSAM3S с ядром Cortex-M3, которая была предложена на замену популярных конт- роллеров AT91SAM7S в качестве более современного, функционального и малопотребляющего решения. Несмотря на то, что предшествующие кристаллы не снимаются с производства, есть немалое количество ар- гументов, которые уже могут повлиять на решение о переводе проектов на новую линейку ATSAM3S. Их и рассмотрим в этой статье.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ATSAM3S c ядром Cortex-M3 - новые кристаллы класса ARM7 корпорации Atmel»

Алексей КУРИЛИН

ak@efo.ru

О главных нововведениях

В новых кристаллах ATSAM3S появились принципиально новые возможности, которые могут положительно повлиять на ключевые характеристики устройств, реализованных на прежней серии микросхем AT91SAM7S:

1. Производительность процессорного ядра в 1,6 раза выше за счет повышения тактовой частоты и применения современного и производительного ядра Cortex-M3 ревизии 2. Производительность нового процессорного ядра достигает 1,25 MIPS/МГц, в то время как у SAM7S процессорное ядро ARM7-TDMI способно обеспечить

0,9 MIPS/МГц. Тактовая частота при этом повысилась с 55 до 64 МГц.

2. Новые микросхемы имеют более низкое энергопотребление как в активном режиме, так и в режимах энергосбережения. В SAM3S нижний порог питающего напряжения снижен до 1,62 В, в то время как AT91SAM7S могут работать только в диапазоне напряжений от 3 до 3,6 В. Благодаря снижению напряжения питания и функции автоматического отключения питания Б^^памяти между циклами ее чтения, новое ядро потребляет не более 1,45 мВт/МГц (1 мВт/МГц на максимальной частоте) в сравнении с 2 мВт/МГц у AT91SAM7S. Помимо активного режима, тщательно переработана система энергосбережения: добавлены новые режимы «сна». Если сравнить два похожих режима, в которых периферия и ядро остановлены, а тактирование происходит от внутреннего RC-генератора, то у AT91SAM7S потребляемая мощность составит 37 мкВт при времени пробуждения 4 мс, а у ATSAM3S она не превысит 17 мкВт при пробуждении за 10 мкс и менее. В самом глубоком режиме

АТБАМЭБ с ядром Со^ех-М3 —

новые кристаллы класса ARM7 корпорации Atmel

В начале 2010 года фирма Аше1 анонсировала серию микросхем АТБАМЭБ с ядром Соггех-МЭ, которая была предложена на замену популярных контроллеров АТ913АМ7Б в качестве более современного, функционального и малопотребляющего решения. Несмотря на то, что предшествующие кристаллы не снимаются с производства, есть немалое количество аргументов, которые уже могут повлиять на решение о переводе проектов на новую линейку АТБАМЭБ. Их и рассмотрим в этой статье.

сна — backup — у ATSAM3S потребляемая мощность не превысит 3 мкВт при включенных часах реального времени и хранении данных в 8 резервных регистрах.

3. У новых микросхем более развита защита данных. Так, встроенный блок защиты памяти (MPU) у ATSAM3S обеспечивает защиту кода программы и надежность распределения доступа к памяти в многозадачных операционных системах, а данные во внешней ОЗУ могут быть шифрованы посредством пользовательского ключа. В кристаллы ATSAM3S также встроен уникальный 128-битный идентификационный номер, который может быть использован для реализации методов защиты от незаконного тиражирования изделий на базе этих микросхем. Встроенный аппаратный блок подсчета контрольной суммы (CRC) поможет контролировать целостность передаваемых/принимаемых данных без потери ресурсов процессора, причем сами данные могут быть переданы в блок подсчета CRC с помощью периферийного контроллера DMA, то есть без участия процессорного ядра.

4. Обмен данными между периферийными блоками и памятью заметно ускорен благодаря 4-слойной матрице шин (AHB Bus Matrix), работающей на частоте до 64 МГц, и увеличению количества каналов DMA с 11 до 21, которые обеспечивают непрерывный обмен данными без участия процессорного ядра. Для решения проблемы быстродействия памяти программ, ограничивающей работу процессора на максимальной тактовой частоте, в новых кристаллах Flash-память уже имеет не 32-, а 128-битную шину, что позволяет контроллеру Flash-памяти считывать сразу до 4 команд и отдавать их ядру уже с большей скоростью.

5. Связь с «внешним миром» у новых процессоров также ускорена: скорость обмена данными по SPI достигает 64 Мбит/с (при 30 Мбит/с у SAM7S). Для обмена данными с популярными типами карт памяти добавлен скоростной интерфейс MCI с максимальной скоростью обмена данными до 32 Мбит/с, поддерживающий спецификации MultiMedia Card (MMC) версии 4.3, SD Memory Card версии 2.0, SDIO версии 2.0 в 1- либо 4-битных режимах обмена данными и CE-ATA версии 1.1. Для реализации нестандартных протоколов чтения внешней памяти в кристаллах ATSAM3S реализован режим параллельного захвата 8-битных данных на линиях ввода/вывода, в том числе с помощью контроллера DMA. Такая функция, подменяющая интерфейс внешней памяти, может быть полезна для работы с дешевыми датчиками изображения, скоростным АЦП с параллельным интерфейсом либо для реализации протокола обмена данными с внешним DSP-процессором.

6. Введены качественно новые аналоговые блоки. ATSAM3S снабжены 12-разрядным АЦП с частотой дискретизации до 1 млн отсчетов в секунду. Аналоговый мультиплексор позволяет подключить до 16 входных аналоговых сигналов в несимметричном либо 8 каналов в дифференциальном включении. На входе АЦП предусмотрен операционный усилитель с коэффициентами усиления 1, 2 или 4. В ATSAM3S появился также 12-разрядный ЦАП с двумя выходами с частотой преобразования 2 млн отсчетов в секунду при работе на один канал. Также интегрирован аналоговый компаратор с программируемым гистерезисом. А у AT91SAM7S из аналоговых блоков был предусмотрен только 10-битный АЦП с частотой дискретизации до 384 кбит/с.

Таблица 1. Сравнительная характеристика микросхем серии ATSAM3S

Серия Flash- память, кбайт ОЗУ, кбайт USB 2.0 Device Аппаратная поддержка карт памяти SD/SDIO/MMC Интерфейсы UART/SPI/ TWI/I2S интерфейс внешней памяти 12-разрядный АЦП/ЦАП (каналов) Корпус

ATSAM3S4C 256 48 LQFP100 BGA100

ATSAM3S2C 128 32 FS + 4/3/2/1 + 16/2

ATSAM3S1C 64 16

ATSAM3S4B 256 48 LQFP64 QFN64

ATSAM3S2B 128 32 FS + 4/3/2/1 - 10/2

ATSAM3S1B 64 16

ATSAM3S4A 256 48 LQFP48 QFN48

ATSAM3S2A 128 32 FS - 3/2/2/1 - 8/-

ATSAM3S1A 64 16

7. Ассортимент микросхем ATSAM3S расширен по сравнению с серией AT91SAM7S (табл. 1) — это обеспечено за счет более разнообразного сочетания корпусов, периферии, объемов памяти программ и данных.

Полезные «мелочи»

Незначительные изменения в существующих периферийных блоках могут существенно расширить возможности разработчика, которому приходилось программно реализовывать какие-то нестандартные пути использования имевшейся на кристаллах AT91SAM7S периферии, теряя при этом производительные ресурсы микроконтроллера. В микроконтроллерах ATSAM3S реализованы различные улучшения существующих периферийных блоков.

У микросхем ATSAM3S, выпускаемых в 48- и 64-выводных корпусах, увеличилось количество линий ввода/вывода общего назначения — до 32 и 47 линий соответственно. Это удалось получить за счет мультиплексирования этих новых выводов с сигналами встроенных периферийных модулей: АЦП, линиями JTAG, линией ERASE, сигналами интерфейса USB и кварцевым генератором. То есть если какие-то из этих сигналов не нужны, выводы могут быть задействованы в качестве линий ввода/вывода общего назначения. Также в ATSAM3S исключены линии фильтра ФАПЧ: он теперь встроен в кристалл, плюс удалось избавиться от линии питания Flash-памяти — это подключение теперь реализовано внутри кристалла.

У ATSAM3S появились новые интерфейсы: у микросхем в 48-выводном корпусе добавлен интерфейс USB, а у микросхем в 100-выводных корпусах — интерфейс внешней памяти. Расширена функциональность и уже имевшихся коммуникационных интерфейсов. Интерфейс USART теперь может работать в режиме эмуляции интерфейса SPI и поддерживает кодирование манчестерским кодом. Интерфейс USB теперь имеет 8, а не 4 конечные точки, а размер буфера увеличен с 64 до 512 байт. Двухпроводной интерфейс TWI (I2C) поддерживает режим Slave и Multi Master с использованием контроллера DMA, что для такого медленного интерфейса важно: процессор не теряет время на управление передачей данных, поручив это контроллеру DMA.

Система тактирования также претерпела некоторые изменения. В кристаллах ATSAM3S появился дополнительный генератор для часов реального времени, который предполагается использовать с внешним часовым кварцем. Если часы реального времени не используются, то линии подключения кварцевого резонатора могут быть использованы как линии ввода/вывода общего назначения. Также в кристалл интегрирован программируемый RC-генератор на 4, 8 и 12 МГц, причем для комнатной температуры частоты 8 и 12 МГц могут быть выставлены более точно, если задействовать калибровочные коэффициенты, записываемые в нестираемую область БЫ^памяти при производстве кристаллов. Этот RC-генератор имеет малое время запуска и используется в качестве источника тактового сигнала при включении микроконтроллера, обеспечивая быстрый запуск кристалла на достаточно высокой тактовой частоте. Другой встроенный генератор, ориентированный на работу с внешним кварцевым резонатором, теперь поддерживает более дешевые керамические резонаторы на частоту от 3 до 20 МГц.

Что касается генератора с внешним резонатором, то можно сразу отметить, что для ассистента загрузчика SAM-BA расширился набор поддерживаемых частот. Ранее частота внешнего кварца для SAM-BA ограничивалась значением 18,432 МГц, а теперь поддерживаются частоты 11,289; 12; 16 и 18,432 МГц.

При этом сам загрузчик SAM-BA уже активирован в ATSAM3S, а значит, первичное программирование Flash-памяти процессора можно проводить уже без активации загрузчика. Следует отметить, что в нестираемой области (ROM), где хранится SAM-BA, размещена подпрограмма, которая может передавать команды контроллеру Flash-памяти, а так как Flash-память микроконтроллера не поддерживает функции RWW (read-while-write, считывание слова в момент записи слова), то эта подпрограмма позволит организовать непрерывное выполнение пользовательской программы из Flash-памяти при одновременном выполнении операций с ней.

Кратко перечислим другие нововведения, которые могут оказаться незаменимыми при реализации собственного проекта:

• В таймерах/счетчиках:

- Реализована логика для декодирования квадратурного сигнала.

- Добавлен режим 2-битного счетчика с кодом Грея для реализации управляющих сигналов для шаговых двигателей.

• В блоки ввода/вывода общего назначения

(рисунок):

- Добавлены отключаемые pull-down резисторы номиналом 100 кОм.

- Добавлен триггер Шмитта в логику ввода цифровых сигналов.

- Добавлена функция фильтрации на входе помех продолжительностью менее половины периода системного тактового сигнала и защита от дребезга контактов продолжительностью менее половины периода сигнала генератора медленной тактовой частоты (slow clock generator).

- Интегрированы согласующие резисторы (On-Die Termination, ODT) номиналом 36 Ом.

- Функция генерации прерывания по изменению состояния линии ввода/вывода либо возрастающему/ниспадающему фронту реализована на всех линиях ввода/вывода.

Рисунок. Упрощенная схема логики линии ввода/вывода

• В ШИМ-контроллерах:

- Обновление регистров может происходить синхронно под управлением контроллера DMA, разгружая процессорное ядро и исключая задержки с его стороны.

- Интегрирован механизм защиты от ошибок с 6 входными сигналами об ошибках (линия ввода/вывода, контроллер управления питанием, АЦП, аналоговый компаратор и таймеры/счетчики), необходимый для исключения неправильных действий по управлению двигателем и исключения вероятности выхода его из строя в случае обнаружения нестандартных ситуаций.

- Для исключения случайного изменения регистров управления ШИМ предусмотрен механизм защиты их от записи.

• Появились полнофункциональные часы реального времени с выводом значений часов (24- или 12-часовой режим), минут, секунд и года с диапазоне от 1900 до 2099.

• Среди регистров конфигурации некоторых периферийных блоков появился регистр защиты конфигурационных регистров (Write Protect Mode Register) от непредвиденного изменения этих конфигурационных регистров.

• Улучшена системная периферия:

- Монитор питания на линии VDDIO может быть запрограммирован на пороговое напряжение питания в диапазоне от 1,9 до 3,4 В с шагом 100 мВ, а в случае события может генерировать сигнал сброса ядру либо же прерывание. При этом для регулировки соотношения значений времени реакции/энергопотребления предусмотрены режимы постоянного или периодического контроля питания.

- Монитор питания на линии VDDCORE активен при включении питания кристалла.

- Линия сброса при включении питания микросхемы теперь сконфигурирована на ввод.

- Добавлена функция детектирования отсутствия тактового сигнала при тактировании от генератора с внешним кварцем: при возникновении этого события происходит автоматическое переключение на внутренний RC-генератор.

Особенности перехода

Существует ряд принципиальных отличий, которые необходимо учесть при переходе на новую серию процессоров.

С программной точки зрения основные отличия связаны с тем, что в ATSAM3S пользователю предоставлено новое процессорное ядро, в котором по-другому организована программная работа с памятью, инициализация и обработка прерываний. Полный анализ этих отличий приведен в статье “Migrating ARM7 code to a Cortex-M3 MCU” [1]. Что же

касается программирования периферии, то разработчики А^е1 при проектировании ATSAM3S постарались обеспечить максимальную совместимость — особенно это заметно, если при разработке проектов на AT91SAM7S использовались готовые библиотеки от АШе1.

С аппаратной точки зрения производитель также постарался обеспечить максимальную совместимость. Но не все удалось: для некоторых проектов потребуются изменения. Во-первых, в ATSAM3S линии ввода/вывода не толерантны к 5-вольтовым уровням сигналов: максимально допустимый уровень цифровых сигналов на входе составляет 4 В.

Во-вторых, может потребоваться пере-разводка печатной платы. Микросхемы ATSAM3S предлагаются в корпусах с 48, 64 и 100 выводами. Если переход происходит с сохранением количества выводов, то 64-выводные микросхемы ATSAM3S могут быть поставлены на посадочное место 64-выводных AT91SAM7S, а для 48-выводных микросхем необходимо переразвести один вывод. Причем:

1. Переработка платы при использовании 64-выводного микроконтроллера потребуется, если нужно задействовать новый функционал, либо же потребуются дополнительные линии ввода/вывода (табл. 2). Также следует учитывать тот факт, что интерфейс ШВ у ATSAM3S содержит встроенные резисторы, то есть схему включения ШВ можно упростить.

2. У микроконтроллеров в 48-выводных корпусах (табл. 2, 3), в дополнение к изменениям микросхем в 64-выводных корпусах, возможные изменения таковы:

- С появлением интерфейса ШВ у 48-вы-водных кристаллов желание его задействовать потребует подключения двух соответствующих линий ф + и D-) к разъему ШВ.

- Освободившаяся линия PLLRC фильтра ФАПЧ у ATSAM3S теперь предназначена для линии питания VDDЮ — эта линия питания была выведена вторично для улучшения электромагнитной совместимости.

При разработке печатной платы следует учитывать, что для упрощения задачи согласования волнового сопротивления линий связи, организованных на плате, в линиях ввода/вывода интегрированы согласующие резисторы номиналом 36 Ом (рисунок), образующие вместе с волновым сопротивлением выходных буферов ввода/вывода суммарное волновое сопротивление 50 Ом.

Средства поддержки разработок

Для быстрого освоения новых микросхем предлагается оценочный комплект ATSAM3S-EK, на плате которого размещены:

• микроконтроллер SAM3S4C в корпусе LQFP100;

Таблица 2. Отличие назначения выводов микросхем AT91SAM7S и ATSAM3S в корпусе TQFP64 (выводы, претерпевшие изменения)

№ SAM7S - TQFP64 SAM3S - TQFP64

3 AD4 PB0/AD4

4 AD5 PB1/AD5

5 AD6 PB2/AD6

6 AD7 PB3/AD7

11 PA21/PGMD9 PA21/PGMD9/AD8

4 PA22/PGMD10 PA22/PGMD10/AD9

31 PA8/PGMM0 PA8/XOUT32/PGMM0

32 PA7/PGMNVALID PA7/XIN32/PGMNVALID

33 TDI TDI/PB4

49 TDO TDO/TRACESWO/PB5

51 TMS TMS/SWDIO/PB6

53 TCK TCK/SWCLK/PB7

55 ERASE ERASE/PB12

56 DDM DDM/PB10

57 DDP DDP/PB11

58 VDDIO VDDIO

59 VDDFLASH PB13/DAC0

61 XOUT XOUT/PB8

62 XIN/PGMCK XIN/PGMCK/PB9

63 PLLRC PB14/DAC1

Таблица 3. Отличие назначения выводов микросхем AT91SAM7S и ATSAM3S в корпусе TQFP48 (выводы, претерпевшие изменения)

№ SAM7S - TQFP48 SAM3S - TQFP48

3 AD4 PB0/AD4

4 AD5 PB1/AD5

5 AD6 PB2/AD6

6 AD7 PB3/AD7

23 PA8/PGMM0 PA8/XOUT32/PGMM0

24 PA7/PGMNVALID PA7/XIN32/PGMNVALID

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

25 TDI TDI/PB4

37 TDO TDO/TRACESWO/PB5

39 TMS TMS/SWDIO/PB6

40 TCK TCK/SWCLK/PB7

42 ERASE ERASE/PB12

43 VDDFLASH DDM/PB10

44 GND DDP/PB11

45 XOUT XOUT/PB8

46 XIN/PGMCK XIN/PB9/PGMCK

47 PLLRC* VDDIO*

Примечание. * — повыводной совместимости нет.

• кварцевые резонаторы на 12 МГц и 32,768 кГц;

• микросхема памяти NAND-Flash объемом 2 Гбит;

• цветной ТБТ-дисплей размером 2,8" разрешением 320x240 точек, снабженный сенсорной панелью;

• разъемы интерфейсов RS-232, RS-485, ШВ, карт памяти SD/MMC, JTAG;

• микрофонный вход и аудиовыход;

• классические и сенсорные кнопки;

• два светодиода;

• регулятор питания;

• высокочастотные разъемы (BNC) для ввода и вывода аналоговых сигналов;

• потенциометр, соединенный с входом АЦП;

• разъемы для подключения линий ввода/вывода.

В качестве программных средств поддержки разработки подходят все пакеты третьих

фирм, предназначенные для разработок с ис-

пользованием процессоров класса ARM7.

Корпорация Atmel также бесплатно распространяет:

1. Пакеты AT91Software Packages, содержащие готовые библиотеки с примерами использования для работы со всей встроенной в кристаллы SAM7/SAM3 периферией, с проектами для компиляторов IAR, Keil, GNU/GCC.

2. Пакет AT91 USB Framework, реализующий различные классы USB.

3. Ассистент загрузчика SAM-BA для Windows и Linux, осуществляющий программирование Flash-памяти микроконтроллера без программатора, работающий в паре с загрузчиком нижнего уровня, хранимым в отдельной нестираемой области памяти микроконтроллера, активируемым аппаратно.

Для уверенного продвижения проектов в развивающемся ассортименте микроконтроллеров фирмы Atmel с ядром Cortex-M3 производитель рекомендует активно использовать в своих разработках библиотеки AT91 Software Packages, распространяемые свободно в исходных кодах на сайте Atmel [2]. Их использование не только обеспечит быстрое освоение периферии кристаллов, но и сделает дальнейший переход на другие кристаллы семейства ATSAM3 более простым и быстрым.

Заключение

Новая серия микросхем ATSAM3S, предложенная на замену популярных кристаллов AT91SAM7S, получилась функционально более насыщенной и соответствующей текущим потребностям российского рынка на ми-

кроконтроллеры такого класса. Учитывая, что стоимость ATSAM3S даже несколько ниже, чем на предшествующие кристаллы, можно с уверенностью сказать, что переход на новые микросхемы вполне обоснован.

В качестве альтернативы ATSAM3S в ближайшее время будет предложен «младший» аналог — микросхемы серии ATSAM3N, которые будут ориентированы на класс бюджетных задач, где не востребован такой широкий набор возможностей ATSAM3S. ■

Литература

1. Hixon T. Migrating ARM7 code to a Cortex-M3 MCU — http://www.embedded.com/ design/220900313

2. www.atmel.com/at91

3. www.at91.com

i Надоели баннеры? Вы всегда можете отключить рекламу.