Handwriting Recognition Device
Customer
 European supplier of automotive electronic equipment and services.
Objective
The objective was to develop a board support package (BSP) designed for simplifying man-machine interaction. The device must support multiple European and Asian languages and recognition of “gestures” (special sliding finger moves on a display screen or close to it). The device must execute parameters check and control display modes and lightning of car’s auxiliary equipment. The device must meet specific requirements of several standards to be manufactured. Its processes and software must comply with AUTOSAR and MISRA automotive standards.
Solution
Hardware platform is based on mpc5554 processor - it was recommended by the manufacturer for use in the sphere of automotive electronics. Its performance and high-level of integration allow creating considerably complex systems, requiring calculations in real-time mode, in spite of its low price. It shows 5 times higher performance than its predecessor mpc5000 and has 2Mb of built-in flash memory. This processor also contains more functional modules.
Hardware
ITMPC5554 Target Board is the chosen debugging platform, which supports:
- Nexus IEEE-ISTO 5001 class 3 multi-core debugging – characteristics that simplifies the process of code creation;
- Integrated DSP functions and updated interrupt control;
- Fast (1.25 microseconds) 5V 12-bit Analog-to-Digital Converter.
Among additional functions it is necessary to mention:
- 2 Mb of built-in flash memory allows performing simultaneous reading and writing, including EEPROM – electrically erasable reprogrammable ROM;
- Support of 5.0V interface makes the device compatible with existing systems and gives a possibility to work with sensors and input-output systems;
- Built-in handler supports SIMD and DSP instructions;
- More resources of central processor are available to a developer through application of DMA mode and 64-bit internal broadband buses;
- Compatibility with mpc500 microcontroller software.

Software
Boot loader and software are stored in processor’s internal Flash memory. Boot loader had to support the requirement of secure updating of the loader and user application via existing protocols. The purpose of this requirement is to ensure device compatibility with other car equipment. Due to this requirement the boot loader was divided into two levels:
- First-level loader performs minimal board configuration, tracks and selects active second-level loader.
- Two second-level loaders, one of which is active.
Second-level loader performs final configuration of peripheral devices, supports necessary protocols in the system and has diagnostics functions. Availability of two copies of second-level loader, one of them being active, allows not loosing operability of the whole system in case of unsuccessful update and restoring the system without using a special center, without pulling the device out of the car.
One of the requirements to the device was its capability of being integrated into existing car's software-hardware complex. With this purpose Promwad engineers implemented a range of special manufacturer's interaction protocols.
To accommodate for additional software resources external Flash was used. Hardware manufacturer supposed that Flash memory of different makers can be used – so our engineers developed a unified driver for external Flash memory.
According to AUTOSAR standard Promwad specialists also developed “Memory Stack” that includes:
- Memory Interface;
- Non-volatile manager;
- Internal FLASH driver;
- External FLASH drivers;
- RAM and ROM complex test.
For smooth adjustment of controls lightning, they developed a driver for built-in pulse-width modulator.
A built-in analog-to-digital converter (ADC) is used to control parameters of car’s on-board power supply. To increase accuracy, ADC is calibrated dynamically. When there is a parameter deviation from the specified range, the device is turned off and in this way it prevents its possible failure. The device is back to its normal operation mode only after nominal parameters are restored.
To meet the requirements imposed on software reliability, Promwad developed and agreed with the customer documentation and special testing software. We created full behavior scenarios for each module and prepared tests execution plan.
So, for example, the volume of tests for the Flash memory driver is about 70 items and covers:
- Code verification in accordance with AUTOSAR requirements;
- Generation of verification report to MISRA standard;
- Testing of system behavior in regular scenarios;
- Testing of system behavior in invalid scenarios;
- Testing of system behavior in critical scenarios (scenarios with threshold parameters)
Benefits
- Software compliance with AUTOSAR and MISRA automotive standards;
- Absence of analogs created by other manufacturers of automotive equipment;
- Enhanced control ergonomics – improvement of road safety;
- Minimal risks of an error at production stage, which repair might require considerable financial resources (cars recall);
- Scalability of solution allows easily changing hardware platform.
| Programming languages |
C, C++, ASM |
| Interfaces |
USB, RS232, SPI |
| Development tools |
WinIDEA, MSVC2005. |
Project management tools
|
dotProject, MSProject, SVN |
| Efforts |
80 man-days |
Project duration
|
6 months |
|
|
|