Практическая значимость работы заключается в разработке алгоритма параллельной макро- и микротрассировки, основанного на предложенной модели, а также программного средства, предназначенного для трассировки соединений печатных плат и позволяющего в несколько раз сократить время проектирования топологии.
Литература: 1. Лузин С.Ю., Полубасов О.Б. Топологическая трассировка: реальность или миф? // EDA Expert. 2002. № 5. С. 42-46 2. Сухарев А.В., Золотов А.И. Модели и процедуры оптимизации в автоматизации проектирования. (Программный комплекс FreeStyle Router). Учеб. пособие. СПб.: СЗТУ, 2001. 165 с. 3. Хигстон Д., Логхид Ф., Ирвин Р. Новый топологический автотрассировщик // Chip News 200? № 2 C 60-64________________„
УДК004.4’24 "
СРАВИТЕЛЬНЫЙ АНАЛИЗ СРЕДСТВ РАЗРАБОТКИ И ОТЛАДКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РАЗЛИЧНЫХ ТИПОВ МИКРОКОНТРОЛЛЕРОВ
ОСТРОВСКИЙ К.В.___________________________
Предлагаются результаты сравнительного анализа средств разработки и отладки программного обеспечения для различных типов микроконтроллеров. Для анализа берутся программные пакеты для всех наиболее распространенных семейств микроконтроллеров.
Введение
Интегрированная среда разработки (Integrated Development Environment - IDE) - совокупность программных средств поддерживает все этапы разработки программного обеспечения - от написания исходного текста программы до ее компиляции и отладки, и обеспечивает простое и быстрое взаимодействие с другими инструментальными средствами.
В настоящее время существует большое количество программных комплексов разработки и отладки устройств на основе восьмиразрядных микроконтроллеров, таких как: AVR Studio, MPLAB IDE, MAX-IDE, UMPS, PDS-PIC, GPSim, SigSim и другие. Современный уровень развития микроконтроллеров иустройств на их основе обуславливает необходимость отслеживать все изменения в семействах микроконтроллеров и программном обеспечении для них, что в свою очередь влечет за собой необходимость знания большого количества языков программирования, особенностей управления встроенной периферией и использования различных средств разработки и отладки.
Данная р абота представляет со бой результаты сравне -ния средств разработки и отладки программного обеспечения для различных типов микроконтроллеров. Результаты сравнения показывают, программные пакеты каких фирм и разработчиков наиболее достойны внимания как для начинающих, так и для опытных программистов.
РИ, 2007, № 2
Поступила в редколлегию 24.04.2007
Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры технологии и автоматизации производства РЭС и ЭВС ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронных вычислительных средств, проектирование автоматизированных информационных систем. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 7-021-486.
Гаркушин Сергей Викторович, студент факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: автоматизированное проектирование электронных вычислительных средств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 7-021-486.
1. AVR Studio
Для программирования AVR-микроконтроллеров существует немало средств разработки, однако наиболее популярным следует признать пакет AVR Studio. Причиной такой популярности является то, что пакет бесплатный и включает в себя все необходимые средства для разработки и отладки программного обеспечения для AVR.
AVR Studio - профессиональная интегрированная среда разработки, предназначенная для написания и отладки прикладных программ для AVR микроконтроллеров в среде Windows 98/NT/2000/XP. AVR Studio 4 содержит менеджер проектов, ассемблер, текстовый редактор и симулятор. Также AVR Studio поддерживает все внутрисхемные эмуляторы фирмы Atmel, отладочные стенды (платы) и все AVR устройства. AVR Studio поддерживает COFF, как формат выходных данных для символьной отладки, а также форматы UBROF6, UBROF8 и HEX. Другие программные средства третьих фирм также могут быть сконфигурированы для работы с AVR Studio.
Пользователь может выполнять программу полностью в пошаговом режиме, трассируя блоки функций или выполняя программу до места, где стоит курсор. В дополнение можно определять неограниченное число точек останова, каждая из которых может быть включена или выключена. Точки останова сохраняются между сессиями работы.
Пакет AVR Studio содержит мощные средства для просмотра и редактирования состояния внутренних элементов отлаживаемого микроконтроллера:
1) значения и адреса переменных;
2) хронологию программы, выполняемой в настоящее время;
3) содержимое регистров, которое можно изменять во время остановки программы;
4) содержимое памяти программ, данных, портов ввода/вывода и энергонезависимого ПЗУ, причем память можно просматривать в HEX, двоичном или десятичном формате (содержимое памяти можно изменять во время остановки программы);
79
5) сообщения от AVR Studio;
6) важную информацию о ресурсах микроконтроллера, включая программный счетчик, указатель стека, регистр статуса и счетчик цикла (эти параметры могут модифицироваться во время остановки программы).
На самом деле количество информации, доступное через окна просмотра пакета AVR Studio, настолько велико, что для получения максимального комфорта нужно использовать компьютер двухмониторной конфигурации.
Настройки рабочего окружения сохраняются при выходе. При первом запуске требуется настроить окна для управления и вывода необходимой информации. Во время следующей загрузки настройки автоматически восстанавливаются.
С AVR Studio совместимы любые программаторы и отладочные средства, которые поддерживают микроконтроллеры фирмы Atmel.
Еще одна из многочисленных характеристик пакета AVR Studio - возможность подключения вспомогательных программ (plugins), которые помогают значительно упростить разработку программного обеспечения.
2. MPLAB IDE
MPLAB IDE - бесплатная профессиональная интегрированная среда разработки для микроконтроллеров PlCmicro фирмы Microchip. MPLAB IDE позволяет писать, отлаживать и оптимизировать текст программы. MPLAB IDE включает в себя редактор текста, симулятор и менеджер проектов, поддерживает работу эмуляторов (MPLAB-ICE, PICMASTER) и программаторов (PICSTART plus, PRO MATE II) фирмы Microchip и других отладочных средств фирмы Microchip и третьих производителей. MPLAB IDE работает под управлением операционных систем Windows 98/NT/2000/XP.
MPLAB IDE поддерживает следующие функции:
1) создание и редактирование исходных текстов программы;
2) объединение файлов в проект;
3) отладка кода программы;
4) отладка кода программы с использованием симулятора и эмулятора (требуется аппаратная часть).
MPLAB IDE позволяет создавать исходный текст программы в полнофункциональном текстовом редакторе и легко выполнять исправление ошибок при помощи окна результатов компиляции, в котором указываются возникшие ошибки и предупреждения. С помощью менеджера проектов можно объединять исходные файлы программы, объектные файлы, библиотеки и файлы сценария в проекты.
MPLAB IDE обеспечивает разнообразные средства симуляции и эмуляции исполняемого кода для выявления логических ошибок, основные особенности которых приведены ниже:
- большое количество сервисных окон, чтобы контролировать значения регистров памяти данных и выполнение инструкций микроконтроллера;
- окна исходного текста программы, листинга программ, кода программы - позволяют оценить качество компиляции;
- пошаговое выполнение программы, система точек остановки (Breakpoints), трассировки, сложных условий предназначена для быстрой и удобной отладки программы.
3. SigSim
Программа SigSim предназначена для моделирования сигналов и алгоритмов их обработки (фильтрации). Основное ее назначение - создание и отладка алгоритмов обработки сигналов для микроконтроллеров с учетом разрядности и скорости аналого-цифровых преобразователей, разрядности и возможностей микроконтроллеров. SigSim не только позволяет учесть особенности микроконтроллера и его аппаратные ограничения, но также дает возможность прогнозировать характеристики переходного процесса регулирования и влияние различных помех. Программа включает две подсистемы:
1. Интегрированная среда. Используется для написания и компиляции алгоритмов на языке Object Pascal (язык, используемый в Delphi).
2. Многолучевой многоэкранный осциллограф. Используется для наблюдения результатов моделирования.
Структура системы выглядит так:
Sl(t)
S2(t)
SN(t)
Блок
обработки
t> Fl(Sl,S2...SN,t) О F2(Sl,S2...SN,t)
t> FM(Sl,S2...SN,t)
где Si - входное воздействие, зависящее от времени. Кроме этого, воздействие Si может зависеть от других воздействий. Fi - функционал, вырабатываемый блоком обработки. Функционал может зависеть от одного, нескольких или всех входных воздействий и от времени. Кроме того, функционал Fi может зависеть от других функционалов.
Программа SigSim позволяет определить алгоритмы формирования всех сигналов: как входных воздействий, так и функционалов. Алгоритмы записываются на языке Object Pascal. Каждый сигнал определяется как объект, непосредственно наследуемый от TObject. Минимальный объект должен содержать переменную Value и процедуру Make, которая принимает один аргумент - текущее значение времени и устанавливает значение V alue, р авное значению сигнала для текуще-
80
РИ, 2007, № 2
го момента времени. Кроме обязательных Value и Make, объект может содержать собственные локальные данные и методы.
На основе классов-алгоритмов SigSim синтезирует текстовый файл - законченный программный модуль и вызывает компилятор языка Object Pascal. Готовая DLL динамически загружается программой SigSim, после чего запускается главная функция DLL, создающая все объекты-сигналы и организующая процесс вызова функций Make. Результатом работы DLL является заполненный массив значений всех сигналов, который визуализируется в многолучевом осциллографе.
4. UMPS (Universal Microprocessor Program Simulator)
UMPS - это профессиональная среда разработки программного обеспечения фирмы Virtual Micro Design, которая позволяет создавать ассемблерные приложения для большого количества различных микроконтроллеров и микропроцессоров, ассемблировать их и симулировать с широким разнообразием аппаратных средств. UMPS расширяет свойства обычных симуляторов и дает возможность создавать виртуальные приложения, которые можно протестировать до программирования устройства и построения схемы.
UMPS загружает CPL-файл с описанием MCU/CPU. После этого UMPS может ассемблировать, дизассемблировать и выполнять инструкции MCU/CPU. В UMPS имеется возможность просмотра и модификации содержимого внутренних регистров, содержимого ROM и RAM, дизассемблированной программы, точек остановки и других настроек.
UMPS позволяет симулировать не только MCU/CPU любого типа, но и периферийные устройства, причем делает это очень быстро даже по сравнению со своими более приспособленными к конкретному типу микроконтроллеров конкурентами. Чтобы это сделать, UMPS связывает виртуальную среду с ядром MCU/CPU. Эта среда состоит из ресурсов, каждый из которых отображается в специальном окне и может быть подключен индивидуально к любому элементу симулируемого MCU/CPU (RAM, ROM, регистр, pin и т.д.). UMPS имеет многоэкранный интерфейс, что значительно упрощает р аботу.
UMPS поддерживает следующие типы файлов: REG, WTC, ENV, TXT, CPU, LST, S19, HEX, BIN.
Важным преимуществом UMPS является возможность расширения библиотеки подключаемых ресурсов, так как UMPS способен загружать ресурсы из DLL, написанных на C и Pascal.
5. PDS-PIC
PDS-PIC - это интегрированный комплекс профессиональных средств для разработки систем на базе семейства микроконтроллеров PIC16/17 фирмы Microchip, включающий среду разработки, макроассемблер, отладчик-симулятор, примеры программ и
проектов, мощную систему контекстной помощи, электронные гипертекстные руководства по всем компонентам пакета. Симулятор PDS-PIC представляет собой программно-логическую модель микроконтроллера, имитирующую (симулирующую) работу всех его узлов - памяти, АЛУ, системы команд, регистров, периферийных устройств и т.д. PDS-PIC работает в среде Windows 95/98/ME/NT/2000/XP.
PDS-PIC имеет следующие характеристики:
- Встроенный многооконный редактор для написания исходных текстов программ. Редактор поддерживает операции с блоками текста, поиск/замену, цветовое выделение синтаксических конструкций языка ассемблера.
- Встроенный менеджер проектов, поддерживающий автоматическую компиляцию программ, написанных для макроассемблера PASM-PIC фирмы Фитон и для макроассемблера MPASM фирмы Microchip.
- Все опции ассемблера задаются в виде удобных диалогов. Переход от редактирования исходного текста к отладке и обратно происходит “прозрачно”, т. е. менеджер проектов автоматически запускает ассемблер при необходимости.
- Широкие возможности по отладке программ: отслеживание выполнения программы по ее исходному тексту, просмотр и изменение значений любых переменных, встроенный анализатор эффективности программного кода, точки останова по условию и доступу к ячейкам памяти, просмотр стека вызовов подпрограмм, встроенный строчный ассемблер, точный подсчет интервалов времени и многое другое.
- Настройка опций кросс-средств, используемых для компиляции программы (ассемблера, компилятора Си, линкера, библиотекаря). Настройка производится с помощью диалогов, снабженных контекстной справочной информацией.
- Компиляция и линковка программы. Если компилятор обнаруживает ошибки в исходном тексте программы, то строка с ошибкой в окне редактора подсвечивается, и ошибки можно сразу же исправить.
- Возможность выполнения программы “назад” на большое количество шагов, а также в непрерывном режиме. При этом состояние модели микроконтроллера полностью восстанавливается.
- Точную модель поведения микроконтроллеров. Симулируется работа всех встроенных в микроконтроллер периферийных устройств: таймеров, АЦП, системы прерываний, портов и т.д..
- Развитые средства моделирования “внешней среды”, т. е. устройств, подключенных к микроконтроллеру. Можно легко задавать различные периодические и непериодические внешние сигналы на ножках микроконтроллера, моделировать работу внешней логики. С помощью встроенных средств графического отображения можно наглядно отображать различ-
РИ, 2007, № 2
81
ные индикаторы, строить графики, моделировать клавиатуру.
- Систему сохранения конфигурации окон и параметров настройки. Возможно сохранение и восстановление неограниченного количества файлов конфигурации.
- Возможность настройки цветов и шрифтов и других параметров для всех окон одновременно и для каждого окна в отдельности.
- Систему контекстной помощи. Находясь в любом меню, окне или диалоге, можно получить справку, относящуюся к этому меню, окну или диалогу.
С помощью PDS-PIC можно эффективно разрабатывать и отлаживать программы, используя не только входящий в комплект макроассемблер PASM-MC, но и популярный пакет кросс-средств фирмы Hi-Tech Software, а также популярный ассемблер MPASM фирмы Microchip, для которых также предоставляется возможность разработки программ на уровне ведения проектов. Помимо указанных пакетов, PDS-PIC обеспечивает полнофункциональную символьную отладку программ, созданных с помощью пакетов кросс-средств фирм IAR Systems, MPLAB C, Byte Craft, CCS. Пользователю предоставляется обширный сервис по выполнению отлаживаемой программы в различных режимах, манипуляции различными типами точек останова, просмотру и модификации состояния ресурсов микроконтроллера. Поддерживается отладка программ по исходному тексту, а также просмотр и изменение значений сложных объектов языка высокого уровня - массивов, структур, указателей.
Среда разработки программ PDS-PIC интегрирует в себе средства, используемые при разработке программ для микроконтроллеров PICmicro. Обеспечивается интерактивная поддержка всех этапов разработки - от написания исходного текста до зашивки готовой программы в ПЗУ микроконтроллера:
“Интегрированность” среды PDS-PIC проявляется в том, что перечисленные этапы разработки связываются в одно целое. Самые трудоемкие этапы, а именно компиляция/линковка с диагностикой и исправлением ошибок, максимально упрощены. PDS-PIC самостоятельно следит за изменениями, которые вносятся в исходные тексты программ. Например, исправив ошибку в исходном тексте, можно нажатием одной кнопки “выполнить программу до курсора” заставить PDS-PIC перетранслировать изменившиеся модули, загрузить полученную программу в память отладчика и запустить ее до указанной строки. Переход от отладки к редактированию происходит так же прозрачно и быстро.
Основные достоинства программно-логической модели микроконтроллера, реализованной в PDS-PIC -точная симуляция узлов микроконтроллера и возможность моделировать устройства, подключенные к микроконтроллеру “снаружи” (моделирование внеш-
ней среды), например, внешнюю логику, датчики, клавиатуру, исполнительные устройства (дисплеи), задавать периодические и непериодические воздействия и т. п.
6. GPSim
GPSim - это полноценный программный комплекс для разработки и отладки для микроконтроллеров PIC. GPSim разработан так, чтобы давать как можно более точные результаты, причем эта точность распространяется на весь микроконтроллер - от ядра до портов ввода/вывода, включая ВСЮ внутреннюю периферию. Таким образом, стало возможным моделировать внешние воздействия, привязать их к портам ввода/вывода и протестировать микроконтроллер так, как будто он работает в реальном мире. Точность не влияет на производительность. Симуляция в реальном времени возможна на частотах до 20 M^. GPSim содержит в себе все средства, необходимые для симуляции PIC микроконтроллеров, пошаговое выполнение, дизассемблирование, просмотр и модификацию содержимого памяти и т.д. Кроме того, GPSim поддерживает многие отладочные средства, которые доступны только во внутрисхемных эмуляторах. Например, непрерывный буфер трассировки отслеживает каждое действие симулятора. Также существует возможность установки точек останова чтения и записи по значению (остановится, если определенное значение считано или записано в регистр). GPSim поддерживает внешние модули, вследствие чего пользователи могут изменять его в зависимости от своих потребностей, создавая собственные модули.
GPSim не имеет минимальных системных требований. Однако чем быстрее, тем лучше! GPSim поддерживает обычные HEX-файлы, но если необходимо осуществить символьную отладку, то можно использовать COD-файлы, которые имеют тот же формат, что и COD-файлы, вырабатываемые MPASM или Byte Craft.
В заключение ко всем преимуществам GPSim можно добавить такую важную характеристику как кросс-платформенность - GPSim одинаково хорошо работает под управлением следующих операционных систем: 32-bit MS Windows (NT/2000/XP), MAC, Все POSIX (Linux/Solaris/BSD/UNIX-подобные ОС).
7. Project-MC
Пакет Project-MC - набор программно-аппаратных средств, предназначенный для разработки и отладки систем на базе микроконтроллеров семейства PICmicro фирмы Microchip.Концепция Project-MC -объединение внутрисхемного эмулятора, программного отладчика-симулятора, компиляторов, текстового редактора, менеджера проектов и программатора в рамках единой интеллектуальной среды разработки.
При наличии одного из программаторов PicProg+, ChipProg, ChipProg+ пакет поддерживает работу и с программатором. Программный интерфейс пакета унифицирован и поддерживает все этапы разработки
82
РИ, 2007, № 2
программного обеспечения - от написания исходного текста программы до ее компиляции и отладки.
Пакет Project-MC ориентирован на отладку программ на языке высокого уровня по исходному тексту. Встроенный многооконный редактор, менеджер проектов и большое количество сервисных возможнос-
тей существенно облегчают труд разработчика, избавляя его от рутинных операций.
Встроенный многооконный редактор предназначен для написания исходных текстов программ. Редактор поддерживает операции с блоками текста, поиск/ замену, цветовое выделение синтаксических конструкций языка Си и ассемблера.
Сводная таблица результатов тестирования
MPLAB 7.52 PDS-PIC UMPS 1.88d MAX-IDE SigSim 1.13 AVR Studio 4.12 GPSim 0.22.1
Управление
Мышка да да да да да да да
Система меню да да да да да да да
"Г орячие клавиши" да да да да да да да
Через модель внешней среды нет да да нет нет нет да
Точки останова
По адресу выполняемого кода да да да да нет да да
По содержимому регистра да да да да нет да да
При изменении значения выражения да да нет нет нет да да
При выполнении логического условия да да нет нет нет да да
Моделируемые события
Синхронные да да да да да да
Асинхронные да да да да да да
Временное разрешение 4 цикла команд 1 цикл команд 4 цикла команд 4 цикла команд 4 цикла команд 4 цикла команд
Ресурсы процессора
Reset частота постоянная полностью полностью полностью полностью полностью
Interrupt без задержки включения полностью полностью полностью полностью полностью
Timer0 полностью синхронно/ асинхронно полностью полностью полностью полностью
Timer1 только синхронно синхронно/ асинхронно полностью полностью полностью полностью
Timer2 только синхронно полностью полностью полностью полностью полностью
CCP1 полностью полностью полностью полностью полностью полностью
CCP2 полностью полностью полностью полностью полностью полностью
PWM1/2 полностью полностью полностью полностью полностью полностью
PSP без высокого разрешения синхронно/ асинхронно полностью полностью полностью полностью
SSP только синхронно только регистры и флаги прерывания полностью полностью полностью полностью
I2C полностью только регистры полностью полностью полностью полностью
SCI (USART) только регистры только регистры полностью полностью полностью полностью
EEPROM временные задержки полностью полностью полностью полностью полностью
ADC без защитной последовательности полностью полностью полностью полностью полностью
Comparators только задержки и регистры полностью полностью полностью полностью полностью
Vref только регистры полностью полностью полностью полностью полностью
RC генератор только регистры частота задается независимо от частоты тактового генератора полностью полностью полностью полностью
Модуль АЦП только задержки регистры для аналоговых входов полностью полностью полностью полностью
РИ, 2007, № 2
83
Продолжение таблицы
MPLAB 7.52 PDS-PIC UMPS 1.88d MAX-IDE SigSim 1.13 AVR Studio 4.12 GPSim 0.22.1
Моделирование внешних воздействий
Установка заданных значений на входе порта вво-да/вывода только синхронно (по номеру цикла команды) синхронно/ асинхронно только син-хронно(по номеру цикла команды) нет да да
Прямая запись в регистры да да да да нет да да
Циклические воздействия да да да нет да да
Асинхронные воздействия взаимосвязь между входом и кнопкой в соответствующем диалоге да да нет да
Описание (задание воздействий) внешней среды алгоритмически нет да да нет нет нет да
Внешние аналоговые сигналы нет да да нет да нет да
Дополнительные возможности
Прогон программы назад (backtrace) нет да нет нет нет нет нет
Анализатор эффективности выполнения программного кода (profiler) нет да нет нет нет нет нет
Возможности графического отображения процессов нет да да нет да нет нет
Поддерживаемые ОС Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit Windows 32-bit, MAC, All POSIX (Linux/BSD/ Solaris/UNIX-like)
Поддерживаемые семейства микроконтроллеров PIC PIC PIC, AVR и любой другой тип MCU/CPU MAXQ PIC AVR PIC
Встроенный менеджер проектов поддерживает автоматическую компиляцию программ, написанных для компилятора Си и ассемблера. Переход от редактирования исходного текста к отладке и обратно происходит прозрачно, т.е. менеджер проектов автоматически запускает компиляцию изменившихся исходных текстов, активизирует отладчик, осуществляет загрузку программ.
Полная конфигурация пакета называется Proj ect-MC/ ESA и включает в себя: менеджер проектов; кросскомпилятор языка ассемблер PASM-MC; отладчик-симулятор PDS-PIC; внутрисхемный эмулятор PICE-MC.
8. MAX-IDE
MAX-IDE - это простое полнофункциональное средство разработки и отладки для микроконтроллеров семейства MAXQ. Оно поддерживает все стандартные устройства MAXQ и содержит ассемблер, менеджер проектов, текстовый редактор, просмотрщик памяти процессора (ROM/код/данные) и регистров, отладчик, поддерживающий возможность пошагового выполнения и точки останова, симулятор и систему статистических отчетов о машинных циклах, времени выполнения и других параметрах.
Заключение
Несмотря на большое разнообразие средств разработки и отладки программного обеспечения для микроконтроллеров, все они имеют один существенный недостаток - каждое из них в основном рассчитано только на отдельный вид микроконтроллеров с определенной структурой и системой команд. Важно отметить, что основными производителями этих средств являются производители микроконтроллеров. Их логика совершенно ясна: лучше создать программу, которая полностью будет поддерживать определенный тип микроконтроллеров (желательно тип разработчика), чем тратить драгоценные человеко-дни на создание универсального комплекса аналогичного UMPS или даже превосходящего его. Однако существует большое количество производителей микроконтроллеров, каждый из которых старается выпустить средства разработки под свою продукцию, при этом не согласовывая программные модели и способы описания микроконтроллеров со своими “конкурентами”. Таким образом, при современном уровне развития технологии (особенно того, как быстро она меняется) количество программных средств и изменений в них растет с большой скоростью. Как следствие, любому даже опытному программисту доста-
84
РИ, 2007, № 2
точно проблематично изучить все особенности и тонкости программирования под различные типы микроконтроллеров, и это не считая сторонних производителей, которые тоже выпускают свое программное обеспечение. При таком развитии ситуации остается лишь надеяться на то, что в ближайшее время появится универсальный программный комплекс, который будет понятен и удобен в использовании, что, несомненно, должно привести к росту количества качественного программного обеспечения для устройств на основе микроконтроллеров.
Литература: 1. Предко М. Руководство по микроконтроллерам: в 2-х т. /Пер. с англ. М.: ПОСТМАРКЕТ, 2001. 315 с. 2. Тавернье К. PIC-микроконтроллеры: практика применения. М.: ДМК Пресс, 2004. 272 с. 3. Евстигнеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. М.: Додека XXI, 2005. 560 с. 4. http://www.gaw.ru/
УДК 519.713
АНАЛИЗ ЭФФЕКТИВНОСТИ МЕТОДОВ СЖАТИЯ ИЗОБРАЖЕНИЙ В СООТВЕТСТВИИ С РАЗЛИЧНЫМИ КРИТЕРИЯМИ КАЧЕСТВА
ЛУКИН В.В., ПОНОМАРЕНКО Н.Н.,
КРИВЕНКО С. С.____________________________
Проводится анализ эффективности сжатия изображений с использованием JPEG2000 и ряда вариантов JPEG в соответствии с различными количественными критериями качества декодированных данных. Показывается, что JPEG с равномерным квантованием при относительно небольших степенях сжатия, характерных для современных приложений, практически не уступает JPEG2000. При этом варианты JPEG, учитывающие особенности психовизуального восприятия, при типичных степенях сжатия обеспечивают более высокое визуальное качество изображений, чем JPEG2000.
1. Введение
Уже достаточно давно многими исследователями было замечено, что традиционные критерии (в частности, среднеквадратическая ошибка и связанное с ней отношение сигнал-шум), которые первоначально использовались, чтобы характеризовать точность измерений [1], а затем стали применяться и для описания эффективности различных методов обработки сигналов и изображений, часто неадекватно характеризуют эти методы [2]. Особенно это касается различных приложений обработки изображений (их фильтрации и сжатия), для которых указанные выше и ряд других широко применяемых критериев (например, пиковое отношение сигнал-шум - PSNR) во многих практических ситуациях плохо коррелируют с психо-физическими особенностями зрения человека, а именно человек определяет и оценивает качество изображений для мультимедиа, в медицине и т. п.
В связи с этим в последние годы большое внимание уделяется разработке новых критериев качества изоб-
html.cgi/txt/soft/avr/astudio.htm. 5. http://www.atmel.com.
6. Scott Dattalo. GPSim Datsheet. 7. http://www.phyton.ru/ cp1251/description/picmicro.shtml. 8. http://www.gaw.ru/ html.cgi/txt/publ/eqump/phuton2.htm. 9. MAX-IDE User’s Guide (AN3905). 10. MPLAB IDE User’s Guide (DS51519B). 11. http://gurin.tomsknet.ru/sigsim.html. 12. UMPS Reference Manual. 13. http://www.myke.com/umps.htm. 14. http:// avrfreaks.net/index. php?module = Freaks%20T ools&func=viewItem&item_id= 162.
Поступила в редколлегию 16.04.2007
Рецензент: канд. техн. наук, доцент Вершина А.И.
Островский Константин Владимирович, студент IV курса Открытого международного университета развития человека “Украина”. Научные интересы: компьютеры, компьютерные технологии, программирование. Адрес: Украина, 69000, Запорожье, ул. Патриотическая, д. 86, кв. 15, тел. 33-17-76.
ражений. Этими вопросами занимаются как специализированные исследовательские группы под руководством А.К. Бовика [3-6] (разработаны метрики NQM, UQI, SSIM, VIF), так и отдельные исследователи [7,8] (метрики VQM и PQS) и фирмы [9] (метрика DCTune). В последние два года нами были разработаны два новых критерия - PSNR-HVS [10] и PSNR-HVS-M [11]. В результате сравнительного анализа, проведенного в [10] и [11], показано, что существует достаточно большое количество типов искажений, при которых широко используемые критерии (метрики), например, UQI и SIM, ведут себя неадекватно. PSNR-HVS и, особенно, PSNR-HVS-M для рассмотренных приложений лучше соответствуют психо-визуальному восприятию. Это связано, прежде всего, с тем, что обе предложенные метрики учитывают различную чувствительность человеческого зрения к различным пространственным частотам, которая была доказана экспериментально и учтена при разработке стандарта сжатия JPEG [12], принятого более 10 лет назад и получившего очень широкое распространение в цифровых фотоаппаратах, мультимедиа и т.д. Принятый позднее стандарт сжатия JPEG2000 [13], обладающий по сравнению с JPEG рядом несомненных достоинств (лучшим компромиссом между PSNR и коэффициентом сжатия (КС), способностью обеспечивать заданный КС), тем не менее, на данный момент не вытеснил JPEG для указанных выше приложений и явной тенденции к этому не наблюдается. При этом, хотя потенциально в JPEG2000 имеется возможность учесть особенности визуального восприятия [14], эта опция не реализована в существующих на данный момент кодерах.
Отметим, что новая метрика PSNR-HVS-M позволяет также принять во внимание эффект маскирования частот [9] в соответствии с новой моделью, предложенной в [11]. Такие свойства новых метрик позволяют достаточно корректно проводить сравнительный анализ характеристик и эффективности различных методов обработки изображений и степени влияния разнообразных помех и искажений.
РИ, 2007, № 2
85