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

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

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

В новых кристаллах 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 В. Благодаря снижению напряжения питания и функции автоматического отключения питания Flash-памяти между циклами ее чтения, новое ядро потребляет не более 1,45 мВт/МГц (1 мВт/МГц на максимальной частоте) в сравнении с 2 мВт/МГц у AT91SAM7S. Помимо активного режима, тщательно переработана система энергосбережения: добавлены новые режимы «сна». Если сравнить два похожих режима, в которых периферия и ядро остановлены, а тактирование происходит от внутреннего RC-генератора, то у AT91SAM7S потребляемая мощность составит 37 мкВт при времени пробуждения 4 мс, а у ATSAM3S она не превысит 17 мкВт при пробуждении за 10 мкс и менее. В самом глубоком режиме сна — backup — у ATSAM3S потребляемая мощность не превысит 3 мкВт при включенных часах реального времени и хранении данных в 8 резервных регистрах.
  3. У новых микросхем более развита защита данных. Так, встроенный блок защиты памяти (MPU) у ATSAM3S обеспечивает защиту кода программы и надежность распределения доступа к памяти в многозадачных операционных системах, а данные во внешней ОЗУ могут быть шифрованы посредством пользовательского ключа. В кристаллы ATSAM3S также встроен уникальный 128-битный идентификационный номер, который может быть использован для реализации методов защиты от незаконного тиражирования изделий на базе этих микросхем. Встроенный аппаратный блок подсчета контрольной суммы (CRC) поможет контролировать целостность передаваемых/принимаемых данных без потери ресурсов процессора, причем сами данные могут быть переданы в блок подсчета CRC с помощью периферийного контроллера DMA, то есть без участия процессорного ядра.
  4. Обмен данными между периферийными блоками и памятью заметно ускорен благодаря 4-слойной матрице шин (AHB Bus Matrix), работающей на частоте до 64 МГц, и увеличению количества каналов DMA c 11 до 21, которые обеспечивают непрерывный обмен данными без участия процессорного ядра. Для решения проблемы быстродействия памяти программ, ограничивающей работу процессора на максимальной тактовой частоте, в новых кристаллах Flash-память уже имеет не 32-, а 128-битную шину, что позволяет контроллеру Flash-памяти считывать сразу до 4 команд и отдавать их ядру уже с большей скоростью.
  5. Связь с «внешним миром» у новых процессоров также ускорена: скорость обмена данными по SPI достигает 64 Мбит/с (при 30 Мбит/с у SAM7S). Для обмена данными с популярными типами карт памяти добавлен скоростной интерфейс MCI с максимальной скоростью обмена данными до 32 m6ot/c, поддерживающий спецификации 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 кбит/с.
  7. Ассортимент микросхем ATSAM3S расширен по сравнению с серией AT91SAM7S (табл. 1) — это обеспечено за счет более разнообразного сочетания корпусов, периферии, объемов памяти программ и данных.

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

Серия Flash-память, кбайт ОЗУ,
кбайт
USB 2.0 Device Аппаратная поддержка карт памяти SD/SDIO/MMC интерфейсы UART/SPI/ TWI/I2S интерфейс внешней памяти 12-разрядный АЦП/ЦАП (каналов) Корпус
ATSAM3S4C 256 48 FS + 4/3/2/1 + 16/2 LQFP100 BGA100
ATSAM3S2C 128 32
ATSAM3S1C 64 16
ATSAM3S4B 256 48 FS + 4/3/2/1 10/2 LQFP64 QFN64
ATSAM3S2B 128 32
ATSAM3S1B 64 16
ATSAM3S4A 256 48 FS 3/2/2/1 8/- LQFP48 QFN48
ATSAM3S2A 128 32
ATSAM3S1A 64 16

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

Незначительные изменения в существующих периферийных блоках могут существенно расширить возможности разработчика, которому приходилось программно реализовывать какие-то нестандартные пути использования имевшейся на кристаллах 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 c использованием контроллера DMA, что для такого медленного интерфейса важно: процессор не теряет время на управление передачей данных, поручив это контроллеру DMA.

Система тактирования также претерпела некоторые изменения. В кристаллах ATSAM3S появился дополнительный генератор для часов реального времени, который предполагается использовать с внешним часовым кварцем. Если часы реального времени не используются, то линии подключения кварцевого резонатора могут быть использованы как линии ввода/вывода общего назначения. Также в кристалл интегрирован программируемый RC-генератор на 4, 8 и 12 МГц, причем для комнатной температуры частоты 8 и 12 МГц могут быть выставлены более точно, если задействовать калибровочные коэффициенты, записываемые в нестираемую область Flash-памяти при производстве кристаллов. Этот 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]. Что же касается программирования периферии, то разработчики Atmel при проектировании ATSAM3S постарались обеспечить максимальную совместимость — особенно это заметно, если при разработке проектов на AT91SAM7S использовались готовые библиотеки от Atmel.

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

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

  1. Переработка платы при использовании 64-выводного микроконтроллера потребуется, если нужно задействовать новый функционал, либо же потребуются дополнительные линии ввода/вывода (табл. 2). Также следует учитывать тот факт, что интерфейс USB у ATSAM3S содержит встроенные резисторы, то есть схему включения USB можно упростить.
  2. У микроконтроллеров в 48-выводных корпусах (табл. 2, 3), в дополнение к изменениям микросхем в 64-выводных корпусах, возможные изменения таковы:
  • С появлением интерфейса USB у 48-вы-водных кристаллов желание его задействовать потребует подключения двух соответствующих линий (D+ и D-) к разъему USB.
  • Освободившаяся линия PLLRC фильтра ФАПЧ у ATSAM3S теперь предназначена для линии питания VDDIO — эта линия питания была выведена вторично для улучшения электромагнитной совместимости.

Таблица 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
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*

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

 

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

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

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

  • кварцевые резонаторы на 12 МГц и 32,768 кГц;
  • микросхема памяти NAND-Flash объемом 2 Гбит;
  • цветной TFT-дисплей размером 2,8″ разрешением 320×240 точек, снабженный сенсорной панелью;
  • разъемы интерфейсов RS-232, RS-485, USB, карт памяти 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *