Научная статья на тему 'Микроконтроллеры EP73xx семейства Maverick фирмы Cirrus Logic'

Микроконтроллеры EP73xx семейства Maverick фирмы Cirrus Logic Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Герасимов Юрий, Сигаев Алексей

Микроконтроллеры семейства Maverick фирмы Cirrus Logic уже достаточно хорошо известны в нашей стране. Вызвано это, в первую очередь, удачностью архитектуры при относительно невысокой цене, а также отсутствием проблем с приобретением.

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

Текст научной работы на тему «Микроконтроллеры EP73xx семейства Maverick фирмы Cirrus Logic»

Микроконтроллеры EP73xx

семейства Maverick фирмы Cirrus Logic

Микроконтроллеры семейства Maverick фирмы Cirrus Logic уже достаточно хорошо известны в нашей стране. Вызвано это, в первую очередь, удачностью архитектуры при относительно невысокой цене, а также отсутствием проблем с приобретением. Не так давно фирма Cirrus Logic выпустила еще несколько микроконтроллеров этого семейства — EP7309, EP7311 и EP7312. Сохраняя в себе все особенности предыдущих представителей Maverick (EP72xx), новые устройства имеют в то же время и достаточно существенные отличия. Характеристики микроконтроллеров серии EP72xx уже достаточно подробно освещались в нашем журнале (см. №6/2000), поэтому далее будут рассмотрены только особенности архитектуры новых контроллеров, а также вопросы их программной поддержки.

Юрий Герасимов

w ww .techno. ru Алексей Сигаев

[email protected]

1. Особенности архитектуры микроконтроллеров EP73xx

Ознакомившись с характеристиками представителей серии EP72xx легко заметить, что все микроконтроллеры семейства Maverick обладают достаточно большой вычислительной мощностью (по производительности процессорное ядро ARM720T, работающее на частоте 74 МГц, примерно эквивалентно процессору Intel Pentium, работающему на частоте 100 МГц). В то же время отсутствие интегрированной flash-памяти программ и неудачность реализации внешней шины контроллера до недавних пор затрудняли использование его возможностей в полную силу. Происходило это из-за того, что внешняя шина процессора (имеющая ширину 32 бита) способна работать на максимальной частоте только до 36 МГц, при этом минимальное время передачи одного слова составляет два шинных такта. Если учесть то, что размер команды у ядра ARM720T составляет 16 (в режиме Thumb) или 32 бита (в нормальном режиме), становится понятно, что при использовании внешней памяти программ шина процессора реально ограничивает производительность на уровне 16 MIPS (или 32 MIPS для режима Thumb). В какой то мере положение спасает наличие на кристалле 8 K кэш-памяти программ и 38 K SRAM, которая работает на полной частоте процессора и имеет время обращения равное одному ее периоду: в этой памяти можно организовать некое подобие оверлейной структуры и динамически подгружать необходимые для работы куски кода. Однако при необходимости

исполнения достаточно больших программ или работы со значительными объемами данных все это оказывается практически бесполезным. Понимая это, разработчики из Cirrus Logic практически сразу вслед за первым микроконтроллером семейства Maverick (EP7209) выпустили и два его варианта со встроенным контроллером DRAM (EP721x). Впрочем наличие этого устройства решило только часть проблемы, позволив подключать к микроконтроллерам большие объемы оперативной памяти. В то же время проблема со скоростью доступа к внешней памяти решена так и не была, да и использование DRAM во встраиваемых системах оказалось достаточно неудобным в силу высокого энергопотребления этого типа памяти и проблем с приобретением 3,3-вольтовой DRAM.

И вот наконец совсем недавно фирма Cirrus Logic значительно обновила семейство Maverick. В целом, новая серия EP73xx, состоящая из трех микроконтроллеров (EP7309, EP7311 и EP7312), отличается от EP72xx только увеличенным до 48 K объемом встроенной SRAM и заменой контроллера DRAM (в тех устройствах, где он присутствовал) на контроллер SDRAM. Отличия микроконтроллеров серий EP72xx и EP73xx отражены в таблице 1.

Из приведенной таблицы видно, что наиболее мощным устройством серии EP73xx является контроллер EP7312 (рис. 1). Помимо перечисленных выше особенностей, от соответствующего аналога из серии EP72xx (EP7212) этот контроллер отличает также наличие функции Maverick Key (на которой мы остановимся подробнее чуть позже).

Таблица 1

Контроллер Контроллер динамической (внешней) памяти Объем встроенной SRAM Улучшенный DAI (64 fs) Maverick Key

EP7209 Нет 38,4 K X

EP7211 EDO DRAM 38,4 K

EP7212 EDO DRAM 38,4 K X

EP7309 Нет 48 K X

EP7311 SDRAM 48 K

EP7312 SDRAM 48 K X X

Наличие встроенного контроллера SDRAM позволяет подключать к процессорам EP731x до четырех банков памяти объемом до 256 мегабит каждый. При этом контроллер может быть сконфигурирован на работу с шиной данных шириной от 4 до 32 бит. Для снижения энергопотребления системы в целом, контроллер автоматически переводит подключенную к нему SDRAM в режим Self-Refresh при переходе процессора в режим Standby. Несмотря на то, что внешняя шина процессора по-прежнему работает на частоте не более 36 МГц, использование контроллера SDRAM позволяет вдвое повысить производительность процессора при работе с внешней памятью программ, благодаря тому, что выборка данных из SDRAM производится блоками по 16 байт для заполнения полной линейки кэшпамяти, при этом выборка одного 32-разрядного слова (при ширине шины 32 бит) занимает один такт.

Еще одной интересной особенностью EP7312 является наличие в нем блока Maverick Key, который позволяет программе получить два идентификационных номера процессора. Первый номер имеет длину 32 бита и является гарантированно уникальным. Второй номер представляет собой просто случайное число длиной 128 бит. Оба этих номера определяются на этапе изготовления кристаллов процессора путем лазерной гравировки, их изменение программным путем невозможно. В целом, блок Maverick Key обеспечивает возможность однозначной идентификации устройств, собранных с использованием процессора EP7312, что используется в современных алгоритмах аутентификации и обеспечения безопасности. В частности, включение этого блока в состав нового процессора далеко не в последнюю очередь вызвано тем фактом, что основной областью его применения являются устройства для проигрывания сжатых аудио-потоков (например, в формате MP3), а в этой области в последнее время наметилась тенденция к разработке алгоритмов, позволяющих производить лицензирование прослушивания тех или иных музыкальных произведений. Одним из наиболее ярких примеров подобной инициативы является SDMI (Secure Digital Music Initiative).

В остальном же новые устройства мало отличаются от соответствующих микроконтроллеров серии EP72xx, что позволяет с легкостью использовать их в системах, разработанных под старые варианты процессоров семейства Maverick.

В заключении разговора о характеристиках микроконтроллеров серии EP73xx хотелось бы отметить еще один весьма интересный и

перспективный процессор фирмы Cirrus Logic. Видимо, наблюдая высокий спрос на процессоры семейства Maverick и контроллер Ethernet CS8900A, инженеры Cirrus Logic решили совместить две эти вещи в одном корпусе. Получившийся при этом продукт, CS89712 (рис. 2), имеет номер, образованный из частей номеров составляющих его компонентов — CS8900A и EP7312. Собственно, этим все и сказано — CS89712 представляет собой совмещенные на одном кристалле процессор EP7312 со всеми присущими ему возможностями и контроллер 10Base-T Ethernet

CS8900A, подключенный к внешней шине процессора. В силу того, что наличие в чипе контроллера Ethernet требует использования дополнительных выводов, новый контроллер выпускается только в 256-выводном корпусе типа BGA, а вариант в корпусе LQFP, обязательном для всех контроллеров серии EP7xxx, отсутствует. Однако, несмотря на это ожидается, что новый продукт приобретет значительную популярность, благодаря удобству его применения в системах, подключаемых к сети с использованием интерфейса 10Base-T Ethernet. Фактически, для создания законченной системы на базе процессора CS89712 к нему достаточно подключить только Flash-память программ, небольшое число пассивных компонентов и необходимые периферийные устройства.

2. Программная поддержка микроконтроллеров серии ЕР73хх

В целом, поскольку микроконтроллеры серии EP73xx полностью совместимы с соответ-

13-MHZ INPUT— 3.6864 MHZ ¿

PU

32.768 KHZ ^

NPOR, RUN, RESET, WAKEUP <

BATOK, EXTPWR, PWRFL, BATCHG

EINT[l-3], FIQ, MEDCHG

FLASHING LED DRIVED

PORTS A, B, D {8-BIT]

PORT E-------

KEYBD driver;

32.768-KHZ

OSCILLATOR

STATE CONTROL

POWER

MANAGEMENT

INTERRUPT

CONTROLLER

!T

RTC

(8-BIT)*—і

Із-вітн-Lr

S (0-7)*-П_ DC TO DC

PWM

ADCCLK, ADCIN, ADCOUT, SMPCLK, ADCCS

SSICLK, SSITXFR, SSITXDA, SSIRXDA, SSIRSFR

I (ADC) |

DAI

fҐ rl~55T-

kJ—-|CODEC|_

ARM720T

ARM7TDMI CPU CORE

8-KBYTE

CACHE

MMU

WRITE

BUFFER

TIMER

COUNTERS(2)

ON-CHIP BOOT ROM

INTERNAL DATA BUS

MEMORY CONTROLLER -| CL-PS6700INTF |<-—I EXPANSION CNTRL k-

SDRAM CNTRL

]=n

INTERNAL ADDRESS BUS

-] LCD РМАІ-Г

D[0-31]

► PB[0-1], NCS[4-5]

. EXPCLK, WORD, NCS[0-3], EXPRDY, WRITE

* МОЕ, MWE, SDCLK, SDQM[0-1],SDRAS, SDCAS

lb

A[0-27],

DRA[0-14]

I ICE-JTAG

LCD

CONTROLLER

ON-CGIPSRAM 48 KBYTES

DEVELOPMENT LCD DRIVE

I EPB BRIDGE IrC UART1 К 4 UART2V

ph

LED AND PHOTODIODE

ASYNC INTERFACE 1

.ASYNC INTERFACE 2

Рис. 1

13-MHZ-3.6864 Ш

32.768 !

PLL

NPOR, RUN, RESET, WAKEUP *

BATOK, EXTPWR,_ PWRFL, BATCHG

EINT[1-31-

FLASHING LED DRIVED

PORTS A, B,D (8-BIT) PORT E 3-B KEYBD DRIVERS

BUZZER DRIVÉ

DC TO DC

32.768-KHZ

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

OSCILLATOR

STATE CONTROL

POWER

MANAGEMENT

INTERRUPT

CONTROLLER

RTC

Э(8-BIT)

E (3-BITL RS (0-7] 1—

iR DRIVE

GPIO

PWM

ADAgsgH 5511 IADC) I

ADCCS \—A¡

SSICLK, SSITXFR, . SSITXDA, SSIRXDA, SSIRSFR

Рис. 2

10BASE-T

ETHERNET

INTERNAL DATA BUS

ARM720T

ARM7TD

8-KBYTE CACHE

MMU

WRITE

BUFFER

TIMER

ON-CHIP BOOT ROM

MEMORY CONTROLLER

CL-PSÓ700 INTFCE.

EXPANSION

CONTROL

SDRAM CNTRL

]=П

INTERNAL ADDRESS BUS

LCD

У

D[0-31]

► PB[0;1], NCS[4;5]

EXPCLK, WORD, *-NCS[0;3J,

EXPRDY, WRITE

* МОЕ, MWE, SDCLK, SDQM[0;1 ], SDRAS, SDCAS

I ICE-JTAG

АГ0-271, DRA[0-14]

ESTAND

DEVELOPMENT

LCD

CONTROLLER

ON-CGIPSRAM 48 KBYTES

tfj-l SSI2 I- 1 EPB 1 г

Ц 1 CODE |_ EPB BUS

d

UART h 1 UART h

LCD DRIVE

LED AND PHOTODIODE

ASYNC

ASYNC

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

2.1. Компиляторы и средства поддержки разработки

В настоящее время среди всего множества средств разработки для процессоров с ядрами фирмы ARM выделяются три продукта, обладающих наибольшей функциональностью:

• ARM Software Development Toolkit и ARM Developer Suite — мощные интегрированные пакеты, включающие в себя компиляторы языков C и C++, ассемблер, линкер, отладчик, симулятор и средства поддержки аппаратных эмуляторов;

• GreenHills Multi2000 — пакет, состоящий из интегрированной среды разработки, компилятора C++ и отладчика; может использоваться совместно с аппаратными эмуляторами фирмы GreenHills;

• GNU open source GCC Tool Set — включает в себя компилятор C++, линкер и отладчик; преимуществом этого пакета является то, что он бесплатно распространяется в исходных текстах в соответствии с условиями GNU Public License.

2.2. Операционные системы Учитывая то, что процессорное ядро

ARM7TDMI, которое используется в микро-

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

• ОС Linux была адаптирована для использования с микроконтроллерами серий EP72xx и EP73xx фирмой ISD; система, названная Royal Linux, основана на ядре версии 2.2.1 и обладает поддержкой клавиатуры, LCD с сенсорным экраном и контроллера Ethernet; ядро системы занимает порядка 700K; к преимуществам Linux относятся его бесплатное распространение в исходных текстах и отсутствие лицензионных отчислений с готовых продуктов;

• ThreadX — операционная система реального времени, выпускаемая фирмой GreenHills; обладает поддержкой TCP/IP, графики и файловых систем; поставляется с исходными текстами;

• VxWorks — операционная система реального времени, предназначенная для создания сетевых устройств; обеспечивает быструю работу с подсистемой ввода-вывода и локальной файловой системой;

• eCos (Embedded Configurable Operating System) — операционная система реального времени, распространяемая фирмой Cygnus

в соответствии с условиями GNU Public License; поддерживается средствами разработки GNU GCC Tool Set;

• NucleusPlus (фирма Accelerated Technology Incorporated) — операционная система, обладающая поддержкой графического интерфейса и файловых систем;

• Windows CE — эта операционная система фирмы Microsoft в особых комментариях не нуждается; к ее преимуществам относятся возможность использования огромного числа средств разработки от Microsoft, а также распространенность и поддержка большого числа сетевых протоколов и файловых систем.

2.3. Аудио-кодеки

Учитывая то, что микроконтроллеры семейства Maverick во многом ориентированы на декодирование потокового аудио, не лишним будет сказать и о стандартах, поддерживаемых ими в настоящее время. Фирма Cirrus Logic предлагает для использования со своими процессорами кодеки, осуществляющие декодирование потокового аудио в форматах MP3, WMA и AAC. Помимо этого, фирма SRS Labs перенесла на процессоры серии EP72xx свои библиотеки обработки звука WOW, что позволяет помимо декодирования производить наложение различных эффектов в реальном времени.

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