Speeding development through customised embedded platforms.
The modern development environment is characterised by lean internal engineering resources, tight budgets and short times to market. In turn, there is an increasing reliance on external tools and support to drive down development time and cost and allow project teams to concentrate on core competencies. So the use of reference platforms and evaluation kits has become commonplace. Most reference platforms focus either on a specific component and/or generic application. These platforms work well if, say, a processor has already been chosen or if the target application requirements closely match the generic reference specifications. While some customisation is usually possible, it can be time consuming to modify the base platform to meet the exact needs of a design. For instance, there may be little flexibility in areas such as power management philosophy, wired and wireless interfaces and choice of embedded processor technology or peripherals. Furthermore, there may be limited options to integrate additional application specific functions such as displays, sensors and motor control. Finally, in addition to hardware considerations, ease of software development and integration will also be critical. If software may be optimised for a given reference platform, the ability to migrate between different processors and operating systems may not be trivial. It is with these issues in mind that Arrow created its Embedded Platform Concept (EPC), a modular approach that combines the strengths of evaluation boards and reference designs without restricting the potential for differentiating customer applications. By allowing designers to combine hardware, software and service modules, EPC systems can be adapted to customer requirements and, through tailored extensions, can serve as robust and powerful development systems. EPC based applications can be built quickly by combining a base board fitted with common standard interfaces – for example Ethernet, USB, UART and SD – with boards relating to power management, processor systems, wired and wireless interfaces and user interfaces (see fig 1). Operating system software covers all basic functions and allows the user to focus to a large extent on the function specific application layer. Additional services and training complete the EPC portfolio, thus providing users with a comprehensive system solution approach. To ease migration between different processors or operating systems, Arrow's hardware API enables standardised access to all important interfaces, regardless of whether an operating system is needed or which OS is used. The XKIT01 is an example of a ready to use development system that brings together a number of EPC modules. Based on Analog Devices' BF527 Blackfin derivative, the XKIT01 comes with a Linux board support package (BSP) from embedded specialist Emlix. This BSP incorporates the latest version of the Linux kernel for Blackfin, a new version of the SD/MMC card driver that enhances compatibility and performance, and GPIO Lib to enable easy access to GPIO resources. Xenomai makes possible applications that place tough real time requirements on the operating system. The Linux BSP is also compatible with the EPC QVGA TFT display kit. The XKIT01's strength is its extensive and flexible memory and interface capacity. There are three flash memory components (SPI NOR, parallel NOR and NAND), allowing evaluation of a range of memory configurations. Booting can be performed from various memories, as well as via external interfaces such as UART or SPI. A small, low cost fpga means I/O functions can be customised or added as required. One consideration during implementation was system performance and versatility, which is why all interfaces and peripherals can be used in parallel with maximum possible throughput. The Linux BSP supports all these peripherals; in addition, it is possible to use other operating systems or even to eliminate them in a 'bare metal' application. For designers seeking ARM9 based systems, two additional XKITs are available. XKIT02 is based on NXP's LPC3250 microcontroller, while XKIT03 features Atmel's AT91SAM9G45. These two kits also include a corresponding Emlix Linux BSP with similar features and configuration. Flexibility through modularity A common feature of all XKITs is their modular structure. The processor – together with all function related peripheral components – is located on a compact module. EPC processor modules have uniform connectors and can therefore be swapped, just like a dc/dc board for the power supply. Each XKIT has a matching baseboard, which not only provides standard connections for Ethernet, USB, audio, UART and SD cards, but also offers connection options for extension boards and power supply modules (one of each is supplied as standard). Aimed at applications where a low cost, powerful processor system with basic graphics capabilities is required, the LPC3250 processor module has been kept simple. All popular standard interfaces are supported and there is also a display interface. The main focus of the Atmel AT91SAM9G45 processor module is I/O and memory performance. The processor has two independent external bus interfaces, both supporting DDR2 memory and linked to corresponding memory blocks. When used in conjunction with the internal multilayer AHB bus matrix, excellent cpu performance can be achieved, even when using a high resolution display. Both high speed capable USB interfaces can be used in parallel and can, for example, simultaneously implement a USB host and device interface. Touch display for GUIs The EPC display kit based on a 3.5in Sharp qvga display offers 'plug and play' use with both ARM9 XKITs as the necessary drivers for frame buffer and touch screen are integrated in the BSPs. In addition, the display can be switched to a serial 6bit mode in which the red, green and blue data is sent in sequence. In this way, the number of display pins required can be reduced significantly to free GPIO pins or multiplexed interfaces, for example. The additional terminal mode feature provides another tool for development: provided graphic timing is not generated by the processor module, the display kit displays as text all characters sent via standard UART (ideal for debug and status tasks). Extensions In addition to the XKIT board combinations, further EPC modules allow evaluation of other processors – including Cortex M3, ColdFire and ARM7 – and of various power supply concepts, with dc and mains voltage inputs supported. Bandwidth ranges from integrated switch controller modules through to power factor correction and LLC offline topologies, with all power management boards customised in terms of optimised efficiency, compact design, high output power or simple circuit design. A range of boards is available for extension ports. These can be used, for example, to supplement an EPC system with various analogue and digital interfaces, motor control front ends or wireless interfaces. Tailored extensions can also be added easily thanks to the standardised interface assignment and existing layout templates. Finally, it is important to note that, in general, EPC boards have been developed as reference implementations and can, therefore, also be used as standalone devices for enhancing efficiency in solutions for complex subtasks in complicated electronic developments. Author profile: Luis Fischer is technical marketing manager with Arrow.