В первой статье была кратко рассмотрена архитектура процессора OMAP3530. Вторая статья полностью посвящена подробному описанию характеристик как процессора, так и отладочного модуля OMAP3530 EVM на его основе, его архитектуры, аппаратного обеспечения, используемых интерфейсов, возможного подключаемого к плате оборудования и т.д.
Рисунок 1. Блок-схема процессора OMAP3530 #
        На рисунке 1 представлена подробная блок-схема процессора OMAP3530.
        Применительно к ядрам ARM и DSP можно отметить входящую в их состав память. ARM ядро включает 16К/16К (память данных/память команд) кэш-памяти первого уровня (L1) и 256К внешней кэш-памяти второго уровня (L2). DSP ядро содержит 32К/32К кэш памяти L1 и 64К кэш памяти L2, помимо этого он включает ОЗУ (48К L1 и 32К L2) и ПЗУ (16К L2). Совместно с ядром DSP работают 3 видео акселератора, образуя IVA2.2 ускоритель:
  1. iME: Motion Estimation;
  2. iVLCD: Variable Length Coding/Decoding;
  3. iLF: MB Loop Filtering.
        Channel system DMA – это система прямого доступа к памяти, позволяющая всем дополнительным ядрам обращаться к процессорной памяти без участия ядра ARM. Это позволяет значительно повысить эффективность его работы, так как ему не приходится прерывать свою основную работу на обращение к памяти остальных ядер.
        Далее следует подсистема отображения (DSS или Display Processor), содержащая широкий набор функций для одновременной работы с несколькими изображениями и программируемый интерфейс, поддерживающий широкий спектр дисплеев. В состав DSS входит контроллер дисплеев, который может работать в двух конфигурациях: LCD дисплей и TV дисплей. Причем два дисплея могут быть активны одновременно. Имеются 1 графический и 2 видео выхода.
        Подсистема камеры содержит сигнальный процессор изображений (ISP), который поддерживает множество форматов и широкий спектр датчиков изображения. Возможна обработка как видео, так и неподвижных изображений, и поддерживается до двух одновременных потоков пикселей, но видео обработка может вестись только для одного из них.
        Возможны два высокоскоростных (HS) USB подключения: через Host и без его участия, т.е. напрямую между конечными устройствами, OTG (on-the-go).
        На процессоре совмещены 2 типа памяти: ОЗУ 64К (2К Public/62К Secure) и ПЗУ 112К (80К Secure/32К BOOT). Что касается внешней памяти, то для её подключения служат: General-Purpose Memory Controller (GPMC) – контроллер памяти общего назначения; SDRAM Controller Subsystem (SDRC) – подсистема контроллера оперативной памяти.
        Всё это соединяется между собой с помощью шины L3 interconnect, которая обеспечивает высокую пропускную способность передачи данных, а посредством шины L4 interconnect подсоединяются периферийные интерфейсы: HDQ/1 Wire – интерфейс уровня заряда батареи; High-Speed Multimedia Memory Card (MMC) and Secure Digital IO Card (SDIO) (3х) – интерфейсы для подключения карт памяти; I2C Interface (3х) – последовательная шина данных для связи интегральных схем (используется для соединения низкоскоростных периферийных компонентов с материнской платой, встраиваемыми системами и мобильными телефонами); Multichannel Buffered Serial Port (McBSP) (5х) – полнодуплексный высокоскоростной последовательный интерфейс, позволяющий осуществлять одновременный прием и передачу цифровых данных; Multichannel Serial Port Interface (McSPI) (4х) – синхронная последовательная шина по принципу ведущий/ведомый; UART (3х) – универсальный асинхронный приёмопередатчик (Universal Asynchronous Receiver/Transmitter) — вид приёмопередатчика, устройства, которое переводит данные из последовательной в параллельную форму и обратно; General Purpose Input/Output (GPIO) (6х) – по сути является портом ввода\вывода, который нужен для реализации различных функций. Отдельно можно выделить модуль централизованного управления электропитанием PRCM. Он построен по технологии SmartReflex и содержит два одноимённых модуля контроля. Технология SmartReflex оптимизирует энергопотребление и производительность микросхемы. Напряжение питания, тактовая частота контролируются программными и аппаратными средствами в зависимости от режима работы и изменения температуры.
        Для отладки используются интерфейсы SDTI, ETM, JTAG и Coresight DAP. JTAG является стандартным интерфейсом для подключения к процессору, а также загрузки кода программы во внутреннее ОЗУ или Flash память. Порт JTAG также поддерживает базовые функции управления исполнением программы (пошаговое выполнение, установка контрольных точек и др.) и делает возможным просмотр содержимого ячеек памяти. С помощью специального блока, который называется встроенной трассировочной макроячейкой ETM (Embedded Trace Macro Interface), процессору также предоставляются возможности трассировки в масштабе реального времени. Отладочная система CoreSight использует интерфейс JTAG или Serial Wire. System Debug Trace Interface (SDTI) позволяет отслеживать функциональность устройства на уровне программного обеспечения в реальном масштабе времени. Она отвечает за выполнение функций управления исполнением программы и трассировки. Ее дополнительное преимущество заключается в возможности оставаться в работе, даже когда микроконтроллер находится в экономичном режиме. Это большой шаг вперед относительно стандартной JTAG отладки.
Рисунок 2. Упрощённая блок-схема отладочной платы #
        На рисунке 2 изображена упрощённая блок-схема отладочной платы. Как видно, она состоит из трёх основных частей: основная плата, модуль питания (TPS65950) и процессорный модуль (процессор + PoP-память).
Рисунок 3. Функциональная блок-схема отладочной платы #
        На рисунке 3 представлена функциональная блок-схема отладочной платы. Здесь подробно рассмотрены все составляющие основной платы (main board). EVM основная плата обеспечивает периферийные интерфейсы и разъемы для создания системы вместе с процессорным модулем и модулем питания.
        Аудио секция состоит из одного стерео входа и стерео выхода через аудио-кодек на TPS65950. Аудио-кодек контролируется внутренними регистрами, которые могут быть доступны через интерфейс I2C (I2C1). McBSP2 интерфейс OMAP3530 подключен к TDM интерфейсу TPS65950 для передачи и приема аудио данных.
        EVM имеет ЖК-модуль, сопряжененный с подсистемой дисплей (DSS) из OMAP3530. В этой подситеме имеется также контроллер сенсорного экрана, соединённый с процессором с помощью интерфейса SPI (Serial Peripheral Interface) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.
        EVM поддерживает два SD/MMC интерфейса: SD/MMC1 и SD/MMC2. SD/MMC1 интерфейс маршрутизируется на SD/MMC слот на основной плате. SD/MMC2 интерфейс служит для будущего расширения.
        На плате имеется DVI разъём, подсоединённый к подсистеме дисплея через DVI transmitter (передатчик). Digital Visual Interface, сокр. DVI (цифровой видеоинтерфейс) — стандарт на интерфейс и соответствующий разъём, предназначенный для передачи видеоизображения на цифровые устройства отображения, такие как жидкокристаллические мониторы и проекторы.
        EVM поддерживает и композитный ТВ (CVBS) выход, и S-Video выход на основной плате. Композитное видео — это формат аналогового ТВ (только картинка), который перед соединением с сигналом звука модулируется в носитель радиочастотного сигнала. Композитное видео часто обозначают аббревиатурой CVBS, что означает «Color, Video, Blank and Sync». S-Video (Separate Video), раздельный видео (сигнал) — раздельные видеосигналы Y (яркость c кадровой и строчной синхронизацией, уровень сигнала — 1 В) и С (цветность с синхронизацией на поднесущей частоте; уровень сигнала, пик — 0,3 В), которые передаются по двум линиям связи, волновое сопротивление которых 75 Ом и обеспечивают лучшее качество изображения, так как при этом исключаются погрешности селекции сигнала цветности из композитного, необходимой для их обработки и декодирования. Цифровой выход контроллера дисплея всегда RGB. Видео кодер преобразует RGB видео сигналы, чтобы они соответствовали NTSC/PAL стандартного аналогового видео.
        Поддерживаются два варианта видео входов. 1) Декодер видео поддерживает A/D преобразования компонентов RGB, композитного видео и S-Video в YCbCr. Процессор обрабатывает полученные данные и отображает на ЖК-дисплее. 2) EVM поддерживает параллельный интерфейс камеры: Box header, называемая Micron Connector.
        OMAP3530 EVM поддерживает один 10/100 Mbps Ethernet интерфейс с помощью внешнего MAC + PHY контроллера (LAN9220). LAN9220 контроллер сопряжён с процессором OMAP через контроллер памяти общего назначения (GPMC).
        High Speed USB OTG интерфейс поддерживается с помощью трансивера USB ISP1507. Трансивер соединён с процессором с помощью интерфейса ULPI. Высокоскоростной USB HOST интерфейс поддерживается через трансивер USB3320. Трансивером сопряжён с USB2 (EHCI) портом процессора.
        Основная плата имеет 15 клавиш, расположенных в матрице и один ключ пользователя. Сигналы строк и столбцов клавиатуры связаны с TPS65950 через интерфейс клавиатуры.
        EVM поддерживает два интерфейса для отладки, а именно: JTAG и встроенный Trace Macrocell интерфейс (ETM). Разъёмы отладки используются для тестирования, отладки, трассировки и загрузки программ из IDE для целевого устройства.
        Процессор OMAP поддерживает три UART интерфейса. UART интерфейсы 1 и 2 мультиплексируются на одном RS232 порте P20. Эти два интерфейса обеспечивают последовательную связь через последовательный порт P20 на основной плате. UART 3 доступен на разъеме P21. Этот интерфейс используется для периферийной загрузки из OMAP процессора.
        Плата обеспечивает работу как от батареи, так и от сети переменного напряжения, которое преобразуется в постоянное.
Рисунок 4. Внешний вид платы #
        На рисунке 6 представлены фотографии отладочного модуля OMAP3530 EVM, на которых отмечены все рассмотренные выше элементы и разъёмы.
Рисунок 5. Возможное подключаемое к плате оборудование #
        Достоинство OMAP – возможность построения практически на одной микросхеме конечного устройства (миниатюрного, высокопроизводительного и малопотребляющего). На рисунке 5 видно, как посредством различных интерфейсов непосредственно к процессору подключается разнообразная периферия. Это могут быть модемы для беспроводной связи и передачи данных: Bluetooth, WLAN(Wireless Local Area Network – беспроводная локальная вычислительная сеть), UWB (ultra-wide band – беспроводная технология высокоскоростной связи на малые расстояния при очень низких затратах энергии), 3G (third generation – технология мобильной связи 3 поколения), GPS(Global Positioning System – спутниковая система навигации), IrDA(Infrared Data Association – инфракрасный порт). Средства ввода-вывода изображения: LCD-дисплей (основной и дополнительный), аналоговый или цифровой телевизор, камера. Пользовательский интерфейс: сенсорный дисплей или сканер отпечатков пальцев. Как уже было отмечено, на процессоре по принципу PoP (Package on Package) совмещены два типа памяти: NAND и DDR. Также имеется возможность подключения MMC/SD/SDIO Card и HDD. Также совместно с процессором работает микросхема управления электропитанием TPS65950. Система управления питанием и тактированием позволяет реализовать эффективные алгоритмы управления питанием и обеспечить низкое энергопотребление в реальных прикладных задачах. Помимо осуществления питания  эта микросхема имеет в своём составе аудиокодек, драйвер клавиатуры и высокоскоростной USB трансивер.
        Список использованной литературы:
  1. OMAP3530/25. Applications Processor
  2. Linux Embedded System Design Workshop. Discussion Notes. Technical Training Organization
  3. OMAP35x Evaluation Module. Hardware User Guide