Выполненные проекты
Специализация
Главная / Проекты / Устройство распознавания рукописного ввода

Устройство распознавания рукописного ввода

Заказчик

Разработан программный пакет поддержки платы, предназначенной для упрощения взаимодействия водителя в системе «человек-машина»
Европейский поставщик консалтинговых услуг и электрооборудования для автомобилей.

Задача

Разработать программный пакет поддержки платы, предназначенной для упрощения взаимодействия водителя в системе «человек-машина». Устройство должно обеспечивать поддержку различных европейских и азиатских языков, а также распознавание гистур (специальных скользящих движений пальцем по экрану ввода либо вблизи него). Устройство должно осуществлять контроль параметров и управлять режимами индикации и подсветки дополнительного оборудования автомобиля. Для производства данного изделия предъявляется специальное требование на соответствие процессов и программного обеспечения автомобильным стандартам AUTOSAR и MISRA.

Решение

В качестве решения для аппаратной платформы выбран процессор mpc5554, который рекомендован производителем для применения в области автоэлектроники. Его производительность и высокая степень интеграции позволяет создавать достаточно сложные системы, требующие вычислений в режиме реального времени, несмотря на сравнительно низкую стоимость. Он обладает производительностью в 5 раз больше, чем предшественник mpc500 и содержит 2Mb встроенной flash памяти. Так же он содержит более функциональные модули.

Аппаратное обеспечение

Выбранная отладочная платформа ITMPC5554 Target Board поддерживает:
  • Nexus IEEE-ISTO 5001 класс 3 многоядерной отладки - характеристика, упрощающая процесс создания кода;
  • интегрированные DSP функции и обновленный контроль прерываний;
  • быстрый (1.25 мкс) 5В 12-ти битный АЦП.
Из дополнительных функций следует отметить:
  • встроенная flash память, объемом 2Mb, позволяет производить одновременное чтение и запись, включая EEPROM - электрически стираемую перепрограммируемую ПЗУ;
  • поддержка 5.0V интерфейса делает устройство совместимым с существующими системами и дает возможность работы с сенсорами и системами ввода-вывода;
  • встроенный обработчик поддерживает SIMD и DSP инструкции;
  • больше ресурса центрального процессора доступно разработчику, благодаря использованию режима DMA и широкополосных 64-х битных внутренних шин;
  • совместимость с программным обеспечением микроконтроллеров семейства MPC500.

Блок-схема MPC5554BLK

Программное обеспечение

Начальный загрузчик и программное обеспечение хранятся во внутренней FLASH памяти процессора. Требование поддержки безопасного обновления загрузчика и приложения пользователя по существующим протоколам с целью совместимости с другим оборудованием в автомобиле обусловило разделение начального загрузчика на два уровня:
  • загрузчик первого уровня, выполняющий минимальную конфигурацию платы, и осуществляющий слежение и выбор активного загрузчика второго уровня;
  • два загрузчика второго уровня, один из которых является активным.
Загрузчик второго уровня производит окончательную конфигурацию периферийных устройств, поддерживает необходимые протоколы в системе и имеет функции диагностики. Наличие двух копий загрузчика второго уровня, одна из которых является активной, позволяет не потерять работоспособность всей системы в случае неудачного обновления, и произвести восстановление, не прибегая к услугам специального центра, без извлечения устройства из автомобиля.

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

С целью выделения большего объема ресурсов для программного решения, принято решение использовать внешнюю FLASH. Производителем аппаратной платформы предполагалось возможность использования FLASH различных компаний-изготовителей – для этого разработан унифицированный драйвер внешней FLASH.

Также специалистами компании Promwad был разработан “Memory Stack” согласно стандарту AUTOSAR, включающий в себя:
  • Memory Interface;
  • Non-volatile manager;
  • Internal FLASH driver;
  • External FLASH drivers;
  • RAM and ROM complex test.
Для плавного регулирования подсветки органов управления разработан драйвер встроенного широтно-импульсного модулятора.

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

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

Так, например, объем тестов для драйвера FLASH памяти составил порядка 70 пунктов и охватывает:
  • проверку кода на соответствие реализации, согласно требованиям AUTOSAR;
  • генерацию отчета проверки на соответствие стандарту MISRA;
  • тестирование поведения системы при правильных сценариях;
  • тестирование поведения системы в ошибочных сценариях;
  • тестирование поведения системы в критичных сценариях (сценарии с граничными параметрами).

Преимущества

  • Соответствие ПО автомобильным стандартам AUTOSAR и MISRA;
  • Отсутствие аналогов у других производителей автомобильного оборудования;
  • Улучшенная эргономика управления – повышение безопасности движения;
  • Минимальные риски возникновения ошибки на стадии производства, исправление которой потребует значительных финансовых затрат (отзыв автомобилей);
  • Универсальность решения позволяющая легко сменить аппаратную платформу.

Языки программирования C, C++, ASM
Интерфейсы USB, RS232, SPI
Средства разработки WinIDEA, MSVC2005.
Средства управления проектом dotProject, MSProject, SVN
Трудозатраты 80 человеко-дней
Срок выполнения проекта 6 месяцев

Скачать PDF - 203Kb