Проектирование программно-аппаратного комплекса (ПАК) для облегчения процесса отладки устройств на базе микропроцессора AT91SAM9260

дипломная работа

6.3 Краткое описание семейства sam9

Ядро ARM9TDMI является развитием ARM7ТDMI и совместимо с ним на уровне исходных кодов. Поддерживается два набора команд, 32-битный набор ARM и 16-битный набор THUMB, являющийся подмножеством набора ARM. В ряде приложений использование набора команд THUMB приводит к уменьшению размера кода и более быстрому его выполнению. В отличие от микросхем ARM7, контроллеры на ядре ARM9, как правило, имеют на кристалле кэш-память команд и данных, что повышает общую производительность процессора.

Микросхемы имеют раздельное питание ядра (1,3 или 1,8 В) и периферийных модулей - 3,3 В. Причем, напряжение питания ядра можно варьировать в диапазоне 1,65.1,95 В (1,08.1,32 В), управляя потребляемой мощностью и максимальной тактовой частотой ядра контроллера. Такое сочетание параметров позволяет применять МК ARM9 в самых разных приложениях, в том числе для построения низкопотребляющих систем, работающих в реальном времени. Для отладки программ используется внутрисхемный эмулятор AT91SAM-ICE, тот же, что и для микроконтроллеров AT91SAM7, либо Wiggler-совместимый гальванически развязанный эмулятор AS-JTAG.

Все микроконтроллеры ATMEL семейства ARM9 содержат модуль управления памятью (MMU, Memory Management Unit). Этот модуль необходим для полноценной работы операционных систем класса Linux или Windows.

Отличительная особенность микроконтроллеров корпорации ATMEL (это касается практически любого семейства) - наличие на кристалле обширной периферии. Фирменная черта МК фирмы ATMEL - хорошо продуманная технология обмена данными между ядром и портами ввода/вывода. Обмен происходит под управлением многоканального периферийного контроллера прямого доступа к памяти (PDC - Peripheral DMA Controller), который напрямую осуществляет обмен данными между периферийными устройствами, внутренними регистрами и внешней памятью.

Как правило, периферийный модуль МК AT91 имеет два выделенных канала PDC, один для приема данных, другой - для передачи. Каждый канал периферийного контроллера PDC содержит 32-битный регистр-указатель адреса, 16-битный регистр-счетчик пересылок, 32-битный регистр для указателя следующего адреса памяти и 16-битный регистр-счетчик для следующих пересылок. Периферийные модули переключают потоки данных PDC, используя сигналы приема-передачи. По окончании пересылки первого программного блока данных соответствующий периферийный модуль генерирует прерывание окончания пересылки. Автоматически начинается пересылка второго блока данных, а обработка данных первого блока может выполняться параллельно процессором ARM, тем самым обходясь без "медленных" прерываний в режиме реального времени, замедляющих обновление регистров-указателей в процессоре. Таким образом обеспечивается высокоскоростная пересылка данных в периферийный контроллер. PDC имеет выделенные регистры состояния, указывающие для каждого канала возможность или невозможность пересылки. В любой момент времени можно считать из памяти адрес размещения очередной пересылки и количество оставшихся пересылок. [21]

Делись добром ;)