Научная статья на тему 'Adzs-bf548 EZ-KIT Lite на основе нового сигнального процессора: комфортная разработка'

Adzs-bf548 EZ-KIT Lite на основе нового сигнального процессора: комфортная разработка Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

Сигнальные процессоры в настоящее время достигли той степени интеграции, что представляют, по сути, мощные процессоры для встроенных приложений, включающие, как и прежде, аппаратную поддержку высокоэффективной цифровой обработки сигналов. Вследствие этого представленная в конце 2007 года фирмой Analog Devices оценочная плата ADZS.BF548 EZ.KIT Lite выглядит как настоящий мультимедийный компьютер

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

Текст научной работы на тему «Adzs-bf548 EZ-KIT Lite на основе нового сигнального процессора: комфортная разработка»

ADZS-BF548 EZ-KIT Lite:

комфортная разработка

Андрей САВИЧЕВ

[email protected]

Сигнальные процессоры в настоящее время достигли той степени интеграции, что представляют, по сути, мощные процессоры для встроенных приложений, включающие, как и прежде, аппаратную поддержку высокоэффективной цифровой обработки сигналов. Вследствие этого представленная в конце 2007 года фирмой Analog Devices оценочная плата ADZS-BF548 EZ-KIT Lite выглядит как настоящий мультимедийный компьютер (рис. 1).

Установка 4,3-дюймового TFT WQVGA (480x272x24 бит) RGB LCD, а также 2,5-дюймового 40-гигабайтного жесткого диска не будет излишней, поскольку новый сигнальный процессор ADSP-BF548 содержит встроенные видеоакселератор и контроллеры ATAPI.

Кроме уже привычных для сигнальных процессоров семейства Blackfin встроенных контроллеров SPI, CAN, UART, SPORT, EPPI и Ethernet появились также новые, поддерживающие такие популярные стандарты как USB OTG, SD IO, Host DMA. Устройство интерфейсов внешней шины позволяет подключать такие распространенные на сегодняшний день устройства хранения данных, как NAND Flash и Burst Flash.

Через USB можно подключать к плате и любые виды USB Flash Drive. Среди устройств, которые могут быть использованы для ввода информации, кроме распространенных USB-устройств (клавиатура, мышь), отметим встроенный в процессор контроллер клавиатуры с установленной на плате 4x4 матрицей, touchscreen-контроллер AD7877 и поворотный потенциометр с встроенным в ADSP-BF548 кодером вращения. Последний позволяет использовать привычный в аналоговых приборах способ задания параметров с по-

мощью потенциометра. При этом нет необходимости использовать АЦП.

На рис. 2 представлена архитектура ADSP-BF548 EZ-KIT Lite.

Внутренняя память объемом до 324 кбайт организована как сегментированная и может быть сконфигурирована привычным для пользователей процессоров Blackfin образом. Но есть также новшества, связанные с технологией защиты данных и кода Lockbox (в небольшой обзорной статье мы не сможем уделить этому должного внимания).

Внешняя память представляет собой динамическую память с синхронным доступом (DDR) емкостью 64 Мбайт (8x16 разрядовх4 банка). Такое разнообразие интерфейсов и наличие памяти достаточно большой емкости наводит на мысли об использовании операционных систем, обычно устанавливаемых на мобильных устройствах. И действительно, при желании несложно найти в Интернете портированные для процессора ADSP-BF548 операционные системы. Этого вопроса мы

коснемся чуть позже, а пока лишь отметим, что поскольку данная плата оценочная, операционная система на ее жестком диске производителем не устанавливается.

При включении питания вы видите на экране цветного LCD всего лишь стартовый тест. Но разработчику доступны исходные тексты этого теста, а также драйверов, поддерживающих все аппаратные возможности сигнального процессора ADSP-BF548 и оценочной платы. Они находятся на CD, входящем в комплект поставки.

На обратной стороне платы (рис. 3) имеются знакомые многим разработчикам разъемы EXPANSION INTERFACE. Однако прежде чем принимать решение о расширении возможностей оценочной платы, необходимо ознакомиться с ее электрическими принципиальными схемами [1]. Также необходимо обратить внимание на конструктивные особенности данной платы.

Особо отметим аксессуары для платы (рис. 4). Здесь, разумеется, представлены далеко не все

кабели и устройства, которые поставляются вместе с платой. Обращайте, пожалуйста, внимание на комплектность поставки.

От разнообразия того, что вы получаете вместе с платой в большой красивой коробке, просто голова идет кругом. В документации, к счастью, есть не только все необходимые схемы и описания, но также и схема расположения соединителей на печатной плате (рис. 5).

Давайте сделаем несколько первых шагов для более подробного ознакомления с возможностями нового процессора и оценочной платы на его основе. Начнем, пожалуй, с видеоакселератора — самого зримого отличия данного продукта от «классики жанра» семейства Blackfin.

Видеоакселератор

Как и в случае с универсальными процессорами, у разработчиков сигнальных процессоров Blackfin возникла необходимость «разгрузить» основные блоки вычислений от «рутинных» операций, используемых при отображении видеоинформации. Сразу оговоримся, что цели достичь возможностей современных видеопроцессоров персональных компьютеров не было.

Поэтому усилия разработчиков ADSP-BF548 сосредоточились на ограниченном круге задач отображения графической информации. Типичная из них — выделить некоторую деталь на изображении объекта (это может быть объект охраны, контролируемый узел промышленного оборудования или деталь на панели виртуального прибора). Такое выделение осуществляется при помощи маски на полупрозрачном экране (с регулируемой прозрачностью).

Результат совмещения исходного изображения (MAIN IMAGE) и накладываемого изображения — маски (OVERLAY IMAGE) нужно размещать в видеопамяти для отображе-

ния в одном из стандартных форматов, пригодных для вывода на дисплеи различных типов (рис. 6).

Другой типичной задачей цифровой обработки двумерных графических изображений является их оконтуривание и раскрашивание, например, опознанных объектов (в задачах распознавания графических образов). Для выделения на результирующем изображении контуров и выделения цветом (текстурой, полупрозрачностью) может эффективно использоваться устройство, построенное по той же функциональной схеме (рис. 6).

Таким образом, при ограниченном количестве операций видеоакселератора наложения, преобразования цветов и форматов для хранения видеоданных можно достичь весьма существенной экономии вычислительных ресурсов процессора семейства В1аскАп.

Все изменения в памяти производятся с помощью трех выделенных для этих целей контроллеров БМЛ. Акселератор работает с ви-

Таблица 1. Сегменты внутренней памяти процессора ADSP-BF548

Сегменты внутренней памяти Объем, кбайт

L1 Instruction SRAM/Cache 16

L1 Instruction SRAM 48

L1 Data SRAM/Cache 32

L1 Data SRAM 32

L1 Scratchpad SRAM 4

L1 ROM 64

L2 128

деоданными форматов RGB888 или YUV4:2:2 (4:4:4).

Контроллеры DMA обеспечивают доступ во внутреннюю память сигнального процессора в сегментах L1, L2 (табл. 1).

Видеоакселератор реализует следующие основные функции:

• альфа-сопряжение (взвешенное наложение, alpha blending);

Таблица 2. Регистры видеоакселератора

Наименование регистра Разрядность, бит Назначение Адрес

PIXC_INTRSTAT 16 регистр статуса прерывания PIXC 0xFFC0443C

PIXC_CTL 16 регистр управления PIXC 0xFFC04400

PIXC_PPL 16 выбор пиксельного разрешения строки 0xFFC04404

PIXC_LPF 16 выбор количества линий в кадре 0xFFC04408

PIXC_RYCON 16 выбор коэффициента R/Y для матрицы преобразования цветов 0xFFC04440

PIXC_GUCON 32 выбор коэффициента G/U для матрицы преобразования цветов 0xFFC04444

PIXC_BVCON 32 выбор коэффициента B/V для матрицы преобразования цветов 0xFFC04448

PIXC_GCBIAS 32 выбор величины смещения для матрицы преобразования цветов 0xFFC0444C

PIXC_TC 32 выбор значений весовых коэффициентов для альфа-сопряжения 0xFFC04450

PIXC_xHSTART 16 начальные горизонтальные координаты для областей наложения полупрозрачных масок A и B 0xFFC0440C 0xFFC04420

PIXC_xHEND 16 конечные горизонтальные координаты для областей наложения полупрозрачных масок A и B 0xFFC04410 0xFFC04424

PIXC_xVSTART 16 начальные вертикальные координаты для областей наложения полупрозрачных масок для A и B 0xFFC04414 0xFFC04428

PIXC_xVEND 16 конечные вертикальные координаты для областей наложения полупрозрачных масок для A и B 0xFFC04418 0xFFC0442C

PIXC Control Register (PIXC_CTL)

Read/Write

15 14 13 12 11 10 9 8 7 6 5 4 3 2

OxFFCO 4400

1 0

0 0

о 0

о 0

WM_LVL ---------------------

(Watermark Level — Both FIFOs)

00 — one location empty

01 — 25% empty

10 — 50% empty

11 — 75% empty

OVR_STAT (Overlay FIFO Status) -10 — Empty 01 — Full

IMG_STAT (Image FIFO Status)

10 — Empty 01 - Full

TC_EN (Transparent Color Enable)

0 — Disable transparent color

1 — Enable transparent color

UDS_MOD (Resampling Mode) —

0 — Duplicating for upsampling and

dropping for downsampling

1 — Averaging for both upsampling

and downsampling

0 0

0 0 0 0 0 000

Reset = 0x0000

PIXC_EN (Pixel Comp Enable)

0 — Disable PIXC operation

1 — Enable PIXC operation

OVR_A_EN (Overlay A Enable)

0 — Disable

1 — Enable

OVR_B_EN (Overlay B Enable)

0 — Disable

1 — Enable

IMG_FORM (Image Data Format) 0-YUV

1 - RGB

OVR_FORM (Overlay Data Format)

0 —YUV

1 - RGB

OUT_FORM {Output Data Format)

0 —YUV

1 — RGB

Рис. 8. Регистр управления видеоакселератором

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

• цветовое кодирование («хроматический ключ», chroma keying);

• преобразование форматов данных о цвете. Для программиста видеоакселератор выглядит как набор регистров (табл. 2), расположенных по определенным адресам в системной памяти.

Чтобы не перегружать статью, мы приведем формат лишь одного из этих регистров — Р1ХС_СТГ.0бычно вся необходимая для программиста информация, описывающая битовые поля этих регистров и обозначения самих регистров, приводится в заголовочном h-файле.

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

С = (B(a+1))/16+(A(15-a))/16,

где A — определяет цвет пикселя на основном «образе подкладки» main image, background

image, и эти 8-битные данные располагаются в основном буфере; B — определяет цвет налагаемой полупрозрачной маски в буфере наложения overlay image, foreground image.

Значение альфа разрядностью 4 бита определяет степень прозрачности наложения. При максимальном значении 15 накладываемая маска полностью теряет прозрачность, и в результате в этой экранной области мы видим только саму маску (foreground image).

С помощью PIXC_EN=1 необходимо разрешить работу видеоакселератора.

В следующей части статьи мы продолжим рассмотрение новых возможностей процессора ADSP-BF548 и оценочной платы ADZS-BF548 EZ-KIT Lite на его основе. ■ Продолжение следует

Литература

1. ADSP-BF548 EZ-KIT Lite Evaluation System Manual. http://www.analog.com/UploadedFiles/ Associated_Docs/70955664ADSP_BF548_EZ_KIT_ Lite_Manual_Rev_1_1.pdf

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