Подсистема ввода и вывода видеоинформации процессоров серии TMS320DM36X | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Технические науки

Опубликовано в Молодой учёный №35 (169) сентябрь 2017 г.

Дата публикации: 30.08.2017

Статья просмотрена: 278 раз

Библиографическое описание:

Беляев, И. Д. Подсистема ввода и вывода видеоинформации процессоров серии TMS320DM36X / И. Д. Беляев, М. В. Митрюхин. — Текст : непосредственный // Молодой ученый. — 2017. — № 35 (169). — С. 3-7. — URL: https://moluch.ru/archive/169/45510/ (дата обращения: 16.12.2024).



Серия TMS320DM36X включает в себя множество процессоров, наиболее известные из которых TMS320DM365, TMS320DM368 и TMS320DM369.

TMS320DM369 и TMS320DM368 полностью совместимы программно и аппаратно с TMS320DM365 и имеют улучшенные характеристики (частота работы основного ядра, разрешение видеопотока). TMS320DM369 содержит дополнительный третий сопроцессор фильтрации шумов [1].

На рисунке 1 представлена функциональная блок-схема процессора серии TMS320DM36X — TMS320DM368. Подсистема ввода и вывода видеоинформации данного процессора обеспечивает ввод одного канала видео и вывод одного канала.

Дальнейшее рассмотрение подсистемы обработки видео будет происходить на основе функциональной блок схемы процессора TMS320DM368.

Рис. 1. Функциональная блок- диаграмма процессора TMS320DM368

Подсистема обработки видео состоит из следующих частей:

  1. Video Processing Front-End;

– Image Sensor Interface;

– The Image Pipe Interface;

– Image Pipe;

– Face Detection Module;

  1. Video Processing Back–End;

– OnScreenDisplay;

– Video Encoder / Digital LCD Controller.

  1. Three-channel DAC.

VPSS — подсистема обработки видео (Video Processing Sub System), которая обеспечивает входной интерфейс (Video Processing Front End или VPFE) для внешних периферийных устройств обработки изображений, таких как датчики изображения, видеодекодеры, и т. д., а также выходной интерфейс (Video Processing Back End или VPBE) для устройств отображения, таких как аналоговые дисплеи SDTV или HDTV, цифровые ЖК-панели и т. д.

В дополнение к этим периферийным устройствам имеется набор общей буферной памяти и управления DMA для обеспечения эффективного использования DDR2 / mDDR. Общая логика (память буфера) является уникальным блоком, который адаптирован для бесперебойного ввода VPSS в систему обработки изображений (видео). Он действует как первичный источник или приемник ко всем модулям VPFE и VPBE, которые запрашивают или передают данные между VPSS и DDR [2].

Чтобы эффективно использовать внешнюю пропускную способность DDR2/mDDR, общая логика (память буферов) взаимодействует со всеми модулями VPFE и VPBE через шину шириной 128 бит.

Крайне важно, чтобы VPSS эффективно использовала пропускную способность DDR2 / mDDR из-за ее больших требований к пропускной способности и требований в реальном времени модулей VPSS. Поскольку возможно сконфигурировать модули VPSS таким образом, что пропускная способность DDR2 / mDDR будет превышена, то предоставляется набор регистров, доступных пользователю для контроля переполнений или сбоев при передаче данных [2].

Блок видеодекодера VPFE состоит из интерфейса источника изображения (ISIF), трансляции изображения (IPIPE), интерфейса трансляции изображения (IPIPEIF) и аппаратного механизма обнаружения лица.

Интерфейс источника изображения ISIF (Image Sensor Interface) отвечает за прием необработанных данных изображения / видео с датчика (CMOS или CCD). Кроме того, ISIF может принимать видеоданные YUV в многочисленных форматах, обычно с так называемых устройств-видеодекодеров [2].

В случае необработанных входных данных выход ISIF требует дополнительной обработки изображения, чтобы преобразовать необработанное входное изображение в окончательное обработанное изображение. Данный интерфейс поддерживает следующие функции:

– Поддержка различных форматов режима суммирования пикселей предоставляется через преобразователь данных ISIF, который преобразует любые форматы в формат Bayer. Максимальная ширина линии, поддерживаемая ISIF — 4736 пикселей.

– Генерирует сигналы синхронизации HD (Horizontal Definition) / VD (Vertical Definition) и идентификатор поля на внешний генератор синхронизации или может синхронизироваться с внешним генератором синхронизации.

– Поддержка до 32 тыс. пикселей (размер изображения) в горизонтальном и вертикальном направлениях.

– Поддержка тактовой частоты до 120 МГц.

– Поддержка стандартного формата ITU-R BT.656 / 1120.

– Поддержка формата YCbCr 422, 8- или 16-бит с дискретными сигналами HSYNC и VSYNC.

– Поддержка до 16-битного ввода.

– Поддержка преобразования цветового пространства.

– Поддержка цветового регулирования усиления и управления смещением уровня черного.

– Возможность управления выходом на DDR2 / mDDR через внешний сигнал разрешения записи.

– Поддержка сжатия от 12 бит до 8 бит DPCM(Дифференциальная импульсно-кодовая модуляция).

– Поддержка сжатия от 10 бит до 8 бит.

– Поддержка генерации вывода в диапазоне 16 бит, 12 бит и 8 бит

– Фильтр шума

– Улучшение 2D-края

Image Pipe (IPIPE) представляет собой программируемый аппаратный модуль обработки изображений, который генерирует данные изображения в форматах Y-Cb-Cr- 4:2:2 или Y-Cb-Cr-4:2:0 из необработанных данных CCD / CMOS. Средство масштабирования изображений также полностью интегрировано в этот модуль. IPIPE также может быть сконфигурирован для работы в режиме изменения размера, что позволяет изменять размер Y-Cb-Cr-4:2:2 или Y-Cb-Cr-4:2:0 без обработки каждого модуля в IPIPE [1]. IPIPE поддерживает следующие функции:

– 12-битная обработка изображений RAW или 16-битное изменение размера Y-Cb-Cr.

– Требуется не менее восьми пикселей для горизонтального гашения и четыре строки для вертикального гашения. В режиме однократного запуска требуется 16 линий гашения после области обработки.

– Максимальное горизонтальное и вертикальное смещение области обработки IPIPE от синхронного сигнала — 65534.

– Максимальная ширина ввода и вывода до 2176 пикселей в ширину (1088 для Resizer (модуль масштабирования)).

– Автоматическое зеркалирование пикселей / линий при выполнении обработки кромок, чтобы ширина и высота были постоянными.

– Преобразование данных 4: 4: 4 в формат 4: 2: 2 с помощью фильтрации низких частот по цветности и выборки вниз до Cb и Cr. (4: 4: 4 до 4: 2: 2).

– Программируемый фильтр с нисходящей или восходящей выборкой для горизонтального и вертикального направлений с диапазоном от 1 / 16x до 16x, при котором фильтр одновременно выводит два изображения с разным увеличением.

– Программируемая справочная таблица для улучшения границ яркости. Регулируемая яркость и контрастность для компонента Y.

– При хранении данных в SDRAM с IPIPE доступны разные форматы данных [YCbCr (4: 2: 2 или 4: 2: 0), RGB (32 бит / 16 бит), исходные данные].

– Переворачивание изображения по горизонтали и / или по вертикали.

IPIPEIF (The Image Pipe Interface) — это интерфейс для передачи данных и синхронизации для ISIF и IPIPE. Источник данных этого модуля: параллельный порт датчика, ISIF или SDRAM, и выбранные данные выводятся в ISIF и IPIPE. Этот модуль также выдает данные вычитания черного кадра (двухсторонние), которые генерируются путем вычитания данных SDRAM из параллельного порта датчика или данных ISIF и наоборот. В зависимости от выполняемых функций он может также перенастраивать временные характеристики HD (Horizontal Definition), VD (Vertical Definition) и PCLK (Peripheral Clock) для ввода в IPIPE и / или ISIF [1]. Интерфейс IPIPEIF поддерживает следующие функции:

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

– Разрядность данных источника виеосигнала — до 16 бит.

– Простая коррекция дефектов для вычитания дефектных пикселей.

– 8-разрядная, 12-разрядная распаковка 8-разрядных, 12-разрядных SDRAM-данных

Face Detection Module — модуль обнаружения лица. Обнаружение лиц связано с определением наличия или отсутствия лиц на данном изображении. Данный модуль может пригодиться, к примеру, для фотоаппаратов. В модуле распознавания лиц поддерживаются следующие функции:

– Высокий уровень обнаружения почти в 100 % при большинстве условий.

– Позволяет обнаруживать в разных направлениях — вверх, влево и вправо.

– Позволяет обнаруживать с вращением в плоскости (RIP) — ± 45 °, @ 0 ° / + 90 ° / -90 °.

– Позволяет обнаруживать при отклонении от плоскости (ROP).

– Горизонтальный (левая / правая) поворот: ± 60 °.

– Вертикальный (вверх / вниз) наклон: ± 30 °.

– Настраиваемый минимальный размер лица 20–40 пикселей.

– Настраиваемая область интереса во входном кадре.

– Настраиваемая начальная позиция во входном кадре.

– Поддерживает до 35 обнаружений лиц в одном кадре.

– Генерация прерываний для ARM с использованием мультиплексированного механизма прерывания видеопамяти (VPSS).

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

– Поддерживаемый размер входного файла (256X192).

– Формат ввода — это 8-битные данные.

Стоит также упомянуть о модуле H3A, который присутствует в TMS320DM369, но в TMS320DM368 отсутствует.

Данный модуль предназначен для поддержки контуров управления для автоматической фокусировки, автоматического баланса белого и автоматической экспозиции путем сбора показателей об изображениях / видеоданных. В модуле H3A есть 2 основных блока:

– Автофокус (AF)

– Автоэкспозиция (AE), Автоматический баланс белого (AWB)

Автофокус извлекает и фильтрует красные, зеленые и синие данные из входных изображений / видеоданных и обеспечивает либо накопление, либо пики данных в указанной области. Указанная область представляет собой двумерный блок данных и называется «paxel» для блока AF. Блок AE / AWB накапливает значения и проверяет насыщенные значения в дополнительной выборке видеоданных. В случае AE / AWB двумерный блок данных называется «window».

Таким образом, кроме ссылки на них разными именами, paxel и window — это, по сути, одно и то же. Однако число, размеры и начальное положение AF-пакетов и окон AE / AWB программируются отдельно. Модуль автофокусировки поддерживает следующие функции:

– Поддержка ввода с DDR2 / mDDR SDRAM (в дополнение к порту ISIF).

– Поддержка пикового режима в Paxel (Paxel определяется как двухмерный блок пикселей).

– Поддержка до 36 Paxels в горизонтальном направлении и до 128 Paxels в вертикальном направлении. Количество горизонтальных paxels ограничено размером памяти (и стоимостью), а вертикальное число paxels — нет. Таким образом, количество paxels в горизонтальном направлении меньше, чем количество paxels в вертикальном направлении.

– Программируемая ширина и высота для Paxel. Все paxels в рамке будут иметь одинаковый размер.

– Программируемое красное, зеленое и синее положение в матрице 2x2.

– Отдельный горизонтальный старт для paxel и фильтрации.

– Программируемый шаг вертикальной линии в пределах paxel.

Модули Автоэкспозиция (AE), Автоматический баланс белого (AWB) поддерживают следующие функции:

– Поддержка ввода с DDR2 / mDDR SDRAM (в дополнение к порту ISIF)

– Накапливать обрезанные пиксели вместе со всеми не насыщенными пикселями.

– Поддержка до 36 горизонтальных окон.

– Поддержка до 128 вертикальных окон.

– Программируемая ширина и высота для окон. Все окна в кадре будут одинакового размера.

– Отдельная вертикальная координата и высота для черного ряда paxels, который отличается от остальных цветных пакселов.

– Программируемые горизонтальные точки выборки в окне.

– Программируемые вертикальные точки выборки в окне.

Модуль вывода видеоизображения VPBE состоит из модуля экранного дисплея (OSD) и видеокодера / цифрового контроллера LCD (VENC / DLCD).

Модуль экранного дисплея (On Screen Display) — основная функция модуля OSD заключается в сборе и смешивании видеоданных и данных отображения / растрового изображения, а затем передачи их в Video Encoder (VENC) в формате Y-Cb-Cr. Смешивание видеоданных и данных отображения необходимо для наложения текста на видео. Данные видео и дисплея считываются из внешней памяти DDR2 / mDDR. OSD программируется через регистры управления и параметров. Поддерживаемые функции экранного дисплея:

– Поддержка двух видеоокон и двух OSD растровых окон, которые могут отображаться одновременно.

– Видео-окна поддерживают данные Y-Cb-Cr в 4:2:2 и 4:2:0 форматах из внешней памяти, с возможностью обмена порядком компонента Cb-Cr в 32-битном слове.

– OSD растровые окна поддерживают = индекс ширины 4/8 бит в цветовой палитре

– Кроме того, одно окно растрового изображения OSD может быть настроено на одно из следующего:

1) YUV 4:2:2 (то же, что и видеоданные).

2) Данные формата RGB в 16-битном режиме (R = 5 бит, G = 6 бит, B = 5 бит)

3) 24-битный режим (каждый R / G / B = 8 бит) с смешиванием уровня пикселя с окнами видео.

– Программируемая цветовая палитра с возможностью выбора между таблицей RAM / ROM с поддержкой 256 цветов.

– Поддержка двух таблиц ROM, одна из которых может быть выбрана в определенное время.

– Отдельное управление включением / отключением для каждого окна.

– Программируемые координаты ширины, высоты и основания для каждого окна.

– Поддержка масштабирования x2 и x4 в горизонтальном и вертикальном направлениях.

– Возможность изменения размера с VGA на NTSC / PAL (от 640x480 до 720x576) для OSD и видеоокна.

В OSD-модуле существуют следующие ограничения:

– Если фильтр вертикального изменения размера включен для любого из видеоокон, максимальный горизонтальный размер окна не может быть больше 1024 в настоящее время. Это связано с ограничением в размере линейной памяти.

– Невозможно одновременно использовать оба ПЗУ. Тем не менее, окно может использовать ОЗУ, в то время как другое использует ПЗУ.

Видеокодер (Video Encoder) — устройство преобразования видеоинформации в требуемый выходной формат.

Video Encoder состоит из трех основных блоков:

– Видеокодер для генерации аналогового видеовыхода;

– Контроллер для генерации цифрового выходного сигнала RGB / YCbCr и сигналов синхронизациидля жидкокристаллического дисплея;

– Синхронизирующий генератор.

Видеокодер для аналогового видео поддерживает следующие функции:

– Входной тактовый сигнал — 27 МГц или 74,25 МГц

1) Поддержка SDTV.

– Композитный NTSC-M, PAL-B / D / G / H / I.

– S-Video (Y / C).

– Компонент YPbPr.

– RGB.

– CGMS / WSS.

– Субтитры

2) Поддержка HDTV.

– 525p / 625p / 720p / 1080i.

– Компонент Y-Pb-Pr.

– RGB.

– CGMS / WSS;

– Операция ведущий / ведомый

– Три 10-разрядных D / A преобразователя

– Цифровой ЖК-контроллер поддерживает следующие функции:

– Программируемый генератор синхронизации

3) Различные форматы вывода.

– YCbCr 4: 2: 2 16-бит.

– YCbCr 4: 2: 2 8-бит.

– Параллельный RGB 16/18/24-бит.

– Последовательный RGB 8-разрядный;

– Вставка EAV / SAV

– Операция ведущий / ведомый

В процессоре TMS320DM368 применяется трёхканальный ЦАП. Каждый из каналов имеет разрядность 10 бит. Данный видео ЦАП может работать в двух режимах: формирование трехканального компонентного HD-видеосигнала (Y-Pb-Pr), либо одноканального композитного SD-видеосигнала.

В трехканальной конфигурации ЦАП не имеет внутреннего усилителя видеосигналов. К выходам ЦАП для работы на типовую нагрузку (видеомонитор) требуется подключать внешние видеоусилители.

В трехканальной конфигурации один из каналов ЦАП может использоваться вместе с внутренним видеоусилителем. В этом варианте нагрузка (видеомонитор) может быть подключена непосредственно к выходу внутреннего видеоусилителя процессора.

Литература:

  1. http://www.compel.ru/2014/02/13/tms320dm36x-videoprotsessoryi-davinci-s-bogatoy-periferiey-ot-ti. — сведения о процессорах серии TMS320DM36x.
  2. http://www.ti.com/lit/ds/sprs668c/sprs668c.pdf — документ о процессоре TMS320DM368.
Основные термины (генерируются автоматически): ISIF, IPIPE, OSD, RGB, VPSS, SDRAM, AWB, VPBE, VPFE, IPIPEIF.


Похожие статьи

Программирование синусоидального и пилообразного сигналов с помощью цифро-аналогового преобразователя на микроконтроллере STM32

Программирование прямого и комплементарного ШИМ-сигналов с настройкой «мертвого времени» на микроконтроллере STM32

Визуализация работы циклов управления промышленной печью CODERE 251 на базе программно-реализованного контроллера SoftPLC

Программирование изменения скважности импульсов ШИМ на микроконтроллере STM32 с помощью кнопки

Коммуникационные интерфейсы RS232, RS485 и RS422

Моделирование и разработка печатной платы усилителя НЧ на основе TDA8560Q

Разработка компонента сервера данных на основе стандарта OPC UA для подсистемы электроавтоматики

Моделирование передачи данных через трехфазный каротажный кабель средствами MATLAB Simulink (часть 1)

Подключение акселерометра, выполненного по MEMS-технологии, к микроконтроллеру STM32F407VGT6

В данной статье рассматривается подключение акселерометра к микроконтроллеру линейки STM32, а также его настройка и получение данных по шине SPI. Работа выполнена на базе отладочного комплекта STM32F4DISCOVERY.

Контроль активности пользователей в операционных системах Linux с помощью системы Graylog SIEM

Похожие статьи

Программирование синусоидального и пилообразного сигналов с помощью цифро-аналогового преобразователя на микроконтроллере STM32

Программирование прямого и комплементарного ШИМ-сигналов с настройкой «мертвого времени» на микроконтроллере STM32

Визуализация работы циклов управления промышленной печью CODERE 251 на базе программно-реализованного контроллера SoftPLC

Программирование изменения скважности импульсов ШИМ на микроконтроллере STM32 с помощью кнопки

Коммуникационные интерфейсы RS232, RS485 и RS422

Моделирование и разработка печатной платы усилителя НЧ на основе TDA8560Q

Разработка компонента сервера данных на основе стандарта OPC UA для подсистемы электроавтоматики

Моделирование передачи данных через трехфазный каротажный кабель средствами MATLAB Simulink (часть 1)

Подключение акселерометра, выполненного по MEMS-технологии, к микроконтроллеру STM32F407VGT6

В данной статье рассматривается подключение акселерометра к микроконтроллеру линейки STM32, а также его настройка и получение данных по шине SPI. Работа выполнена на базе отладочного комплекта STM32F4DISCOVERY.

Контроль активности пользователей в операционных системах Linux с помощью системы Graylog SIEM

Задать вопрос