Рубликатор

 



























Все о псориазе



Графический контроллер Jasmine MB87P2020 - выбор российского рынка

Этот материал является продолжением опубликованной в одном из предшествовавших номеров журнала статьи о графических контроллерах фирмы Fujitsu для встраиваемых систем. В прошлой статье был рассмотрен весь выпускаемый модельный ряд контроллеров, изучены их базовые характеристики и был сделан вывод о больших перспективах применения встраиваемых графических контроллеров Fujitsu в нашей стране. В данной статье мы затронем вопрос выбора наиболее перспективных моделей контроллеров, на которые следует обратить внимание отечественным разработчикам электронной аппаратуры. Мы коснемся их архитектуры, исследуем механизмы и особенности реализации функций обработки графики и видео, изучим методы управления, конфигурирования и программирования.

Что же выбрать?

Современные условия конкуренции все больше заставляют разработчиков встраивать в свою аппаратуру дисплеи, чтобы обеспечить удобный и наглядный вывод пользовательской информации. Эпоха "слепых" устройств с цифровой клавиатурой и несколькими семисегментными индикаторами уходит в прошлое. Залог успеха современного оборудования - это по возможности цветной дисплей (в основном жидкокристаллический) и удобный пользовательский интерфейс.

Многие современные экраны оснащены встроенными графическими контроллерами. К сожалению, возможности этих контроллеров весьма скромны и позволяют реализовать весьма примитивный интерфейс. Даже реализация простейшей двумерной "экранной заставки", рекламирующей производителя устройства, потребует значительной нагрузки центрального процессора. О трехмерных функциях говорить вообще не приходится. Выходом из положения может стать использование графической подсистемы на базе отдельного контроллера, например, производства Fujitsu.

В предыдущей статье мы рассказывали о графических контроллерах этой компании. Напомним, что они представлены несколькими семействами: Cremson, Coral, Lavender. Каждое ориентировано на конкретное применение в зависимости от функциональных возможностей и производительности. Тактовые частоты работы чипов контроллеров колеблются от 64 до 166 МГц. Модели могут быть оборудованы как встроенной, так и внешней памятью (до 32 Мб). Кроме того, присутствуют различные аналоговые и цифровые интерфейсы для вывода изображения на различные типы дисплеев и интерфейсы для подключения внешних источников сигналов (видеокамер, DVD).

Российские производители электроники, в силу экономических особенностей, не занимаются выпуском сложных, многофункциональных устройств высокой производительности. Это - удел западных компаний. Основной продукт отечественного рынка - устройства средней и низкой степеней сложности. Это, в первую очередь, различного рода контроллеры.

Попробуем выбрать графический контроллер, наиболее подходящий для российского рынка. Будем действовать методом исключения. Очевидно, что на сегодняшний момент не требуется создавать универсальные устройства, которые позволят, например, помимо выполнения своих основных функций играть в 3D игры, требующие больших объемов памяти для хранения текстур и высокой производительности графического ядра. Поэтому имеет смысл исключить из рассмотрения самое скоростное и, как следствие, самое дорогое семейство - Coral. Дабы уменьшить габариты устройства и упростить топологию платы контроллера, отбросим графические чипы с внешней памятью - Cremson, Orchid и Lavender. Далее, объема памяти в 1 Мб и даже меньше вполне достаточно для решения таких задач как вывод видео и организация удобного пользовательского интерфейса. В результате у нас остается только два вероятных претендента - Scarlet и Jasmine.

Графический контроллер Scarlet хорош тем, что поддерживает работу с 2D/3D графикой и стыкуется без дополнительной связующей логики с несколькими типами микропроцессоров (Fujitsu FR, Hitachi SH3/SH4, NEC V83X). Контроллер Jasmine - более простой графический контроллер - ориентирован на обработку 2D графики (без поддержки 3D). Этот чип стыкуется без дополнительной логики только с семейством микроконтроллеров Fujitsu FR. Из его достоинств можно отметить конвертор форматов YUV to RGB, совместимость с большим количеством видеодекодеров, более низкую (как у любой младшей модели) цену и меньшее энергопотребление.

Оба графических контроллера, естественно, могут быть состыкованы и с другими типами микропроцессоров. Однако это потребует введение в схему дополнительной согласующей логики, что может быть реализовано, например, на ПЛМ типа Altera или Xilinx.

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

Модель Jasmine (MB87P2020) входит в семейство графических контроллеров Lavender. Второй представитель семейства модель - Lavender (MB87J2120). Поскольку графические контроллеры, входящие в одно семейство, имеют очень похожую архитектуру и совместимый программный код, то есть смысл рассмотреть не отдельный контроллер, а все семейство Lavender сразу.

Функциональные возможности

Чтобы получить наглядное представление о возможностях графических контроллеров Lavender и Jasmine, обратимся к Табл.

Таблица. Функциональные возможности

Характеристика MB87J2120 (Lavender) MB87P2020-A (Jasmine)
Тип и объем памяти 2 М х 32 внешней SDRAM (64 Мбит) 256 К х 32 внутренней SDRAM (8Мбит)
Корпус BGA-256P-M01 FPT-208P-M06
Параллельное подключение Возможно, подключение до четырех графических контроллеров параллельно, с общим «сигналом выборки».
Вид сброса Синхронный Reset Асинхронный Reset
Функции обработки пикселей
Функции 2D и обработки битмапов (Bitmap) - Рисование линий, полигонов, прямоугольных областей.
- Вывод несжатых битмапов (Uncompressed Bitmap) и сжатых битмапов (метод RLE).
Функции доступа к пикселям в видеопамяти - Занести пиксел
- Задать цвет пиксела
- Пакетная передача пикселов- Поменять пикселы
- Прочесть пиксел
Копирование данных Копирование прямоугольных областей из одного слоя в другой
AAF Фильтрация за счет увеличения разрешения изображения вдвое по горизонтали и вдвое по вертикали (2x2 super sampling) 2x2 super sampling, 4x4 super sampling (учетверение разрешающей способности по каждой оси)
Вывод изображения
Поддержка дисплеев - Дисплеи с пассивной LCD матрицей (single/dual scan)
- Дисплеи с активной матрицей (TFT)
- Электролюминесцентные дисплеи
- Дисплеи с эмиссией полем (Field Emission Display)
- Дисплеи с совместимым TV входом
- Дисплеи с электронно-лучевой трубкой (CRT) Специальный режим «Twin Display Mode»
- вывод изображения одновременно на цифровой и аналоговый дисплеи (только у Jasmine)
Характеристики видеовыхода - Цифровой выход RGB 24 бит.
- Частота видео ЦАП (Video DAC) 50 МГц/с (число точек, выводимое в секунду)
- Поддержка разрешений дисплеев до 16383 х 16383 точек.
- Возможность смешивания нескольких слоев с глубиной цвета 1, 2, 4, 8, 16 и 24 бит/пиксел в одно изображение.
- Конвертер форматов YUV to RGB (только у Jasmine).
- Гамма коррекция (только у Jasmine).
Процессорный интерфейс - Поддержка микроконтроллеров семейства MB91xxxx с 8/16/32-разрядным доступом.
- Поддержка DMA.
- Поддержка прерываний.
Пониженное энергопотребление Режимы пониженного потребления включаются отдельно для различных модулей графического контроллера

Архитектура

Архитектура графических контроллеров семейства Lavender приведена на Рис. 1.

Архитектура семейства Lavender
Рис. 1. Архитектура семейства Lavender

Итак, рассмотрим основные модули, входящие в состав графического контроллера.

Clock Unit (CU) - модуль, формирующий все необходимые импульсы синхронизации для графического контроллера и внешнего хост-микроконтроллера. Этот модуль также управляет переводом в режимы пониженного энергопотребления всех составных частей контроллера и формирует сигнал RESET.

Pixel Processor (PP) - процессор пикселей предназначен для выполнения всех функций по рисованию. Исходными данными для обработки в РР являются координаты пикселей (х, у) и номер слоя, в котором выводится изображение. Всего в графическом контроллере поддерживается 16 аппаратных слоев. Из них только четыре могут быть видимыми одновременно. В слоях хранятся данные любых типов, например, графика или видео с различной глубиной цвета. Процессор пикселей состоит из трех основных модулей:

  • Pixel Engine (PE) - блок обработки пикселей. Среди процедур, выполняемых блоком, можно отметить работу с текстурами, рисование графических примитивов (линий, ломаных, прямоугольников). РЕ поддерживает множество специальных режимов работы, например, есть режим "зеркального" дублирования данных.
  • Memory Access Unit (MAU) - блок предназначен для чтения и записи пикселей в памяти. Поддерживаются режимы одиночной, блочной и пакетной передачи данных.
  • Memory Copy (MCP) - блок, предназначенный для "быстрого" обмена графическими данными между слоями с одинаковой глубиной цвета. Например, для дублирования блока данных достаточно указать их объем, источник (слой с которого копируют) и приемник (слой на который копируют).

Все функции по обработке изображений, применяемые в процессоре пикселей для улучшения качества изображения, могут использовать аппаратный анти-алиасинг реализованный модулем Antialiasing Filter (AAF).

Direct/Indirect Physical Access (DIPA) - модуль прямого/косвенного физического доступа к памяти. В режиме прямого доступа модуль работает в 8-, 16- и 32-разрядном режиме. В этом случае для доступа к памяти необходимо задать только адрес. В режиме косвенного доступа для достижения высокой производительности запросы к памяти буферизуются и используются команды GetPA и PutPA, поддерживающие пакетную передачу данных.

SDRAM Controller (SDC) - контроллер видеопамяти. Предназначен для арбитража запросов и доступа к SDRAM памяти.

Graphic Processing Unit (GPU) - модуль обработки графики и наиболее сложная часть графического контроллера. Модуль считывает из видеопамяти графическую или видео информацию всех четырех видимых слоев и конвертирует ее в выходной поток данных в зависимости от типа подключенного дисплея. GPU состоит из:

  • Data Fetch Unit (DFU) - блока выборки данных;
  • Colour Conversion Unit (CCU) - блока конвертирования цветов;
  • Line Segment Accumulator (LSA) - блока наложения слоев;
  • Bitstream Formatter (BSF) - блока форматирования выходного потока данных.

Последний необходим для гибкого преобразования выходного видеопотока, ввода различных временных задержек и дополнительных сигналов синхронизации, что позволяет подключать контроллер к цифровым (в первую очередь жидкокристаллическим) дисплеям практически любых типов. Дополнительно встроенный модуль video DACs обеспечивает возможность подключения мониторов с аналоговым входом. Специально для дисплеев, подсвечиваемых лампами с холодным катодом, у графического контроллера Lavender предусмотрен дополнительный модуль Cold Cathode Fluorescence Lamp (CCFL).

Видеоинтерфейс (VIC)

Модуль видеоинтерфейса предназначен для приема видеоданных с внешних устройств и записи их в видеопамять. VIC - это цифровой видеовход, поэтому для приема видеоконтроллером аналогового сигнала необходим внешний декодер.

К основным функциям видеоинтерфейса можно отнести:

  • 8-разрядный (порт А) или 16-разрядный (порты А и В) порт данных;
  • поддержка огромного числа различных цифровых видеоформатов: RGB555, RGB565, RGB888, YUV444, YUV655(только Jasmine), YUV555(только Jasmine), YUV422;
  • программируемую полярность управляющих сигналов;
  • прогрессивную и чересстрочную развертку и т.д.

Serial Peripheral Bus (SPB) - последовательный интерфейс, недоступный пользователю (введен Fujitsu для собственных целей).

И все же наиболее важным элементом графического контроллера с точки зрения разработчика является его интерфейс. Интерфейс Lavender и Jasmine реализован с помощью шины User Logic Bus (ULB). ULB - это пользовательская шина управления для подключения внешнего хост-микроконтроллера (далее будем называть его просто - микроконтроллер)

Пользовательская шина UBL

Управление графическим контроллером осуществляет внешний микроконтроллер. Обмен данными между графическим контроллером и микроконтроллером происходит через общие регистры. Это означает, что все управляющие регистры Lavender и Jasmine располагаются в адресном пространстве внешнего хост-чипа, который получает к ним доступ через шину User Logic Bus.

Модуль ULB, в зависимости от адреса позволяет микроконтроллеру получить доступ для чтения или записи к различным компонентам графического контроллера. При чтении модуль мультиплексирует потоки данных от различных компонентов и контролирует количество циклов ожидания, используя контакт ULB_RDY (готовность шины). Компонент ULB обеспечивает интерфейс передачи команд и данных в так называемые "исполнительные устройства" Pixel Processor (PP) и Indirect Memory Access Unit (IPA). Все передаваемые через него данные для повышения производительности буферизуются. Для еще большего повышения производительности в ULB реализована поддержка DMA.

Контроллер ULB содержит набор специальных регистров для управления графическим контроллером и контроля его состояния. Это регистры флагов, регистры управления прерываниями, регистры управления прямым доступом к памяти (DMA), регистры установки параметров доступа к памяти SDRAM и другие.

При включении питания графический контроллер может быть определенным образом сконфигурирован с помощью внешних контактов выбора режима MODE[3:0].

Контакты MODE[1,0] используются при параллельном подключении к общей пользовательской шине нескольких (до 4) графических контроллеров. В этом случае с помощью MODE[1,0] каждому из них задается индивидуальный номер. Это необходимо для того, чтобы контроллер ULB мог корректно декодировать адреса в зависимости от номера устройства.

Графический контроллер с точки зрения внешнего микроконтроллера, может функционировать не только как 32-, но и как 16-разрядное устройство. В этом случае модуль ULB конвертирует 16-разрядные данные, полученные из микроконтроллера, в 32-разрядные для дальнейшей внутренней обработки. И, наоборот, при передаче данных наружу, в микроконтроллер, внутреннее 32-разрядное слово конвертируется в два полуслова по 16 разрядов. Данным режимом управляет контакт MODE[2].

Для гибкой интеграции графического контроллера во встраиваемую систему и упрощения топологии печатной платы некоторые выходные сигнала контроллера могут инвертироваться или переводиться в третье состояние (вместо логической "1") внутри графического контроллера. Например, для инвертирования сигнала ULB_RDY в Jasmine необходимо использовать контакт MODE[3].

Поддерживаемые дисплеи

Уже отмечалось, что графические контролеры Fujitsu поддерживают огромное количество дисплеев различных типов. В Табл. 2 приведен примерный перечень дисплеев от различных производителей, совместимых с графическими контроллерами Lavender и Jasmine. Это, безусловно, не полный список.

Табл. 2. Поддерживаемые дисплеи

Производитель Тип Разрешение Цветной/монохр. Частота кадров (Гц)
Дисплеи с пассивной LCD матрицей (single/dual scan)
Optrex DMF-50970NC 160 х 113 цветной нет данных
Sharp LM64P89 640 х 480 монохромный 59…125
LM64C142 320 х 240 цветной 59…120
DG24320C5PC 640 x 480 цветной 73
Дисплеи с активной матрицей (TFT)
FPD LDE052T-52 320 x 240 цветной (24 бита) 55…65
Sharp LQ5AW116 320 x 234 цветной (24 бита) 55…65
Hosiden HLD0909 640 x 480 монохромный 50…70
NEC NL6448AC33-18 640 x 480 цветной 58…62
Sanyo ALP401RDD 320 x 240 цветной (24 бита) 51…71
Электролюминесцентные дисплеи
Sharp LJ32H028 320 x 240 монохромный 60…120
Planar El160.80.50 160 x 80 монохромный до 240
Planar EL320.240.36 320 x 240 монохромный до 120
Planar EL640.400-CEx 640 x 400 монохромный до 160
Planar EL640.480-AA1 640 x 480 цветной до 80
Дисплеи с эмиссией полем (Field Emission Display)
Freescale D07SPD310 128 x 160 цветной 60…75
PixTech FE532S-M1 320 x 240 монохромный 50…350

Конфигурирование

Конфигурирование графического контроллера осуществляет внешний микроконтроллер с помощью регистров конфигурирования, доступ к которым осуществляется через шину ULB. Все регистры графического контроллера находятся в нижней части адресного пространства (см. Рис. 2). Под регистровое пространство одного графического контроллера отводится 64 Кб, однако, к шине ULB может быть подключено одновременно до 4-х графических контроллеров, поэтому под все регистровое пространство отведено 256 Кб (4х64). Остальная часть адресного пространства может конфигурироваться пользователем.

Адресное пространство Jasmine и Lavender
Рис. 2. Адресное пространство Jasmine и Lavender

Микроконтроллеры MB91xxxx поддерживают 3 способа обращения к данным в графическом контроллере: 32-разрядный (Word), 16-разрядный (Halfword) и 8-разрядный (Byte). В свою очередь, графический контроллер поддерживает только 16- и 32-разрядный режимы обмена данными. Различные адресные области графического контроллера также совместимы с различными режимами обмена (см. Табл. 3).

Табл. 3. Режимы обмена данными

Адресная область Lavender Jasmine
32-разрядный 16-разрядный 32-разрядный 16-разрядный
Входные буферы word word word word
Выходные буферы word word word word
Регистры word, halfword, byte word, halfword, byte word, halfword, byte word, halfword, byte
SDRAM word word word, halfword, byte word, halfword, byte

Конфигурирование внутренних регистров графического контроллера не представляет большой сложности. Большая часть этих регистров схожа по назначению с регистрами конфигурирования обычного микроконтроллера. Например, для конфигурирования модуля Clock Unit имеются два регистра: ClkConR (Clock Configuration Register) и ClkPdR (Clock Power Down Register). Первый позволяет задать один из четырех источников сигнала синхронизации: внешний резонатор, частоту вывода пикселей на дисплей (Display clock), частоту шины внешнего микроконтроллера (MCU Bus clock), резервный вход синхронизации (reserved clock input), а так же выбрать предумножители системной частоты ядра и дисплея. Второй - разрешать или запрещать подачу тактовых частот на различные модули графического контроллера, а также проводить общий сброс контроллера, записав состояние 1 в бит 15 регистра.

Приводить и рассматривать в статье полный список всех внутренних регистров не имеет смысла. Для этого существует описание. Мы же обратим внимание на некоторые интересные и нестандартные моменты, связанные с программированием.

Программирование

Для начала рассмотрим, как графический контроллер выполняет команды.

Каждая команда при выполнении заносится в 32-разрядный регистр команд. В зависимости от выполняемой команды в работу включается тот или иной модуль графического контроллера. Например, команда рисования прямоугольника (DwRect) обрабатывается модулем Pixel Engine, а команда записи пикселя в видеопамять (PutPixel) модулем Memory Access Unit.

Перед каждой передачей микроконтроллером новой команды в графический контроллер приложение пользователя должно предварительно проверить специальный флаг FLNOM_CWEN - флаг занятости графического контроллера. Обычно флаг опрашивают в цикле следующим образом:

…
while (FLNOM_CWEN!=1);
…

Только после смены состояния флага из 0 1 в графический контроллер можно заносить новую команду. Если же флаг FLNOM_CWEN не анализировать, командный конвейер переполнится, и графический контроллер может даже зависнуть. Выход из такого зависания возможен только с помощью аппаратного сброса. В то же время, если по какой-то причине переполнение командного конвейера все же произошло и возник сбой, приложение пользователя может выявить такую ситуацию, анализируя флаг FLNOM_EOV.

Буферы

Большинство команд графического контроллера для пересылки данных используют входной и выходной буферы графического контроллера. Объемы буферов у моделей Lavender и Jasmine различны и приведены Табл. 4.

Табл. 4. Объем буферов графических контроллеров

Объем буфера Lavender Jasmine
Входной буфер данных 128 words (512 байт) 64 words (256 байт)
Выходной буфер данных 128 words (512 байт) Выходной буфер данных

Основное правило при работе с входным буфером следующее: перед тем как приложение пользователя запишет данные в буфер оно должно убедиться, что свободная часть буфера превышает объем записываемых данных.

Главное же правило при работе с выходным буфером - перед чтением данных убедиться в их наличии в буфере.

Контроль состояния обоих буферов происходит с помощью регистров IFUL и OFUL.

Еще один вариант передачи информации - использование режима прямого доступа к памяти DMA. В этом случае данные также передаются через буферы, однако пользовательской программе не нужно контролировать состояния буферов. Контроль осуществляется аппаратно. Единственным требованием к программе является необходимость подготовить все данные в памяти заранее, а не выдавать их "на лету".

Флаги

Для того чтобы пользовательская программа могла контролировать процесс выполнения команд, модуль ULB имеет набор флагов (флаговых регистров). Важнейший из них - FLNOM_CWEN уже был рассмотрен. Другой, не менее важный флаг - FLNOM_ECODE - устанавливается, если графический контроллер получил некорректную команду и вместо нее принудительно выполнил пустую операцию NoOp. Флаг FLNOM_EDATA контролирует состояние входного буфера. Он устанавливается, если какой-нибудь модуль графического контроллера пытается читать из пустого буфера. Существует множество различных флагов. Большинство из них, как и регистры конфигурации, очень напоминают флаги обычных микроконтроллеров: также умеют вызывать прерывания и не вызовут сложностей при программировании.

Включаем анти-алиасинг

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

Анти-алиасинг в общем случае обозначает лишь результат применения некого алгоритма фильтрации к изображению. В графических контроллерах Fujitsu он реализован с помощью алгоритма суперсэмплинга (super sampling). Практически это означает, что каждое изображение, которое вы хотите вывести на экран, имеет свой виртуальный образ. Виртуальный образ рисуется в более высоком разрешении. Например, в удвоенном (2х2 super sampling) или учетверенном (4х4 super sampling). Виртуальный образ затем конвертируется в нормальное разрешение. При этом каждый пиксел нового изображения получается смешением и наложением 4 или 16 пикселов виртуального образа. Применение суперсэмплинга наглядно проиллюстрировано на Рис. 3.


Рис. 3. Слева - изображение без применения анти-алиасинга. В центре - виртуальный образ изображения в удвоенном разрешении. Справа - изображение, полученное из виртуального образа

Использование анти-алиасинга позволяет значительно повысить качество изображения. Однако его применение сопряжено с определенными трудностями. Во-первых, задача удвоения или учетверения разрешения ложится на плечи пользовательской программы. Режима автоматического увеличения разрешения, увы, нет. Выбор режима суперсэмплинга 2х2 или 4х4 осуществляется установкой бита BX4 в регистре AAOE: BX4=0 (2х2 установлено по умолчанию) и BX4=1 (4х4). Второй оборотной стороной фильтрации является необходимость проведения большого числа операций "чтение-модификация-запись", что однозначно не в лучшую сторону скажется на скорости работы графического контроллера. Здесь, в свою очередь, может помочь включение специального режима оптимизации операций записи с помощью установки бита OPTI_EN = 1.

Анти-алиасинг можно использовать практически со всеми командами Pixel Processor. Исключение составляет команда PutPxWd.

Принимаем видео

Для успешного приема внешнего видеосигнала разработчику необходимо произвести минимальное число настроек VIC. Во-первых, указать слой (в регистре VICCTRL), на который модуль видеоинтерфейса будет сохранять данные. Во-вторых, выбрать метод синхронизации фреймов, на котором стоит остановиться подробнее.

Очевидно, что скорость вывода кадров графическим котроллером на дисплей может не совпадать со скоростью кадров от внешнего видеосигнала. При этом, если записывать видеоданные и выводить их одновременно с одного и того же слоя, периодически будет возникать ситуация, когда на дисплей выведена картинка, часть которой - это старый кадр, а другая часть - новый. На дисплее это проявляется в виде постоянно "ползущих" полос. Для решения проблемы синхронизации существуют двухслойный (2-layer mode) и трехслойный (3-layer mode) режимы вывода изображения, которые выбираются установкой бита 15 в регистре VICFSYNC[15] = 0 и 1 соответственно.

При двухслойном режиме данные на один слой пишутся, а с другого слоя читаются. Двухслойный режим более экономно использует видеопамять, однако применять его имеет смысл, только если заранее известно, что быстрее: частота развертки контроллера или частота входного видеосигнала. Это соотношение задается битом VICFSYNC[16]: 0 - VIC медленнее, 1 - VIC быстрее. Если эти соотношения неизвестны, используют трехслойный режим.

Режимы эксплуатации

Графические контролеры Lavender и Jasmine используют два напряжения питания: VDDI = 2,5 В (для внутренних модулей) и VDDE = 3,3 В (для внешних портов ввода/вывода). Fujitsu рекомендует следующий порядок подачи напряжений при включения графического контроллера: сначала VDDI, затем VDDE. Выключение рекомендуется проводить в обратном порядке.

Потребление графического контроллера в наибольшей степени определяется потреблением ядра устройства, а точнее рабочей частотой. Чем выше частота, тем выше потребление. Значения максимального потребления ядра контроллера Jasmine в зависимости от частоты приведено в Табл. 8. Следует, однако, иметь в виду, что если схемотехническая реализация устройства на базе Jasmine подразумевает нагруженность (по току) портов ввода/вывода, то потребление графического контроллера возрастет.

Табл. 5. Максимальное потребление ядра Jasmine

Рабочая частота (МГц) Потребление (Вт.)
16 0,36
20 0,421
36 0,652
48 0,811
64 1

Быстрый старт

В завершение несколько слов о том, как можно ускорить разработку графической подсистемы на базе контроллеров Lavender и Jasmine. С сайтов фирм КТЦ МК (www.cec-mc.ru) или Fujitsu (www.fme.gsdc.de) можно скачать файлы спецификаций обоих графических контроллеров, а также, для ускорения разработки, воспользоваться готовой схемой подключения графического контроллера Lavender к микроконтроллеру MB91F361 (Jasmine подключается аналогично).

Однако и здесь есть нюанс. Дело в том, что в семействе микроконтроллеров MB91F361 в свое время были обнаружены ошибки, которые могут приводить к некорректному выполнению программы. В настоящее время их выпуск прекращен. Для новых разработок Fujitsu рекомендует использовать в качестве замены микроконтроллер MB91F362GA, который полностью "pin to pin" совместим с MB91F361.

Выводы

Очевидно, что графическая подсистема, реализованная на связке графический контроллер Jasmine и мощный 32-разрядный RISC микроконтроллер MB91F362GA, обеспечит не только отличную 2D производительность, возможность подключения широкого круга дисплеев и обработку видео с внешних источников. Данное сочетание оставляет простор для чрезвычайно гибкой интеграции графической подсистемы в самую различную аппаратуру, благодаря широким интерфейсным возможностям микроконтроллера MB91F362GA (3 канала CAN 2.0B, 3 канала UART, 5 каналов DMA).

В случае же разработки новой вычислительной системы сравнительно невысокой степени сложности (например, автомобильного бортового компьютера) целесообразно вовсе отказаться от использования дополнительных микропроцессоров и возложить все задачи по управлению впрыском двигателя и контролем работы оборудования на MB91F362GA. Большой объем памяти микроконтроллера MB91F362GA (512 Кб Flash, 16 Кб ОЗУ), встроенные 10-разрядный АЦП (16 каналов) и 10-разрядный ЦАП (2 канала), а также множество дополнительных функций прекрасно позволят ему, помимо управления графическим контроллером, решать целый комплекс задач.

Александр Скуснов


Статьи по: ARM PIC AVR MSP430, DSP, RF компоненты, Преобразование и коммутация речевых сигналов, Аналоговая техника, ADC, DAC, PLD, FPGA, MOSFET, IGBT, Дискретные полупрoводниковые приборы. Sensor, Проектирование и технология, LCD, LCM, LED. Оптоэлектроника и ВОЛС, Дистрибуция электронных компонентов, Оборудование и измерительная техника, Пассивные элементы и коммутационные устройства, Системы идентификации и защиты информации, Корпуса, Печатные платы

Design by GAW.RU