|
|||
Practical Case: Embedded Multiprocessor Design on a Flexible Hardware: NEO_CORE_CYCLONE_IIIJOATTON Philibert, DECHANDON Thierry (ADENEO) 1. Goal and opportunities of a hardware reusable design ADENEO’s customer needs, in Power Converting sector, are often similar. Differences are mainly focused on power gate driving, system interfaces and monitoring. Considering High Power converter applications, ADENEO’s previous hard & soft design solutions had the following limitations:
Those thoughts led ADENEO to define a digital design reference that addresses most of the needs encountered on our various “Control & Command” projects. Following requirements have been defined as guidelines for the new design:
These requirements led us to consider “System on Chip” as an attractive and effective answer:
2. Hardware Reference Design: Architecture and key features The generic hardware architecture developed by ADENEO is called NEO_CORE_CYCLONE_III. It is based on an ALTERA Cyclone III FPGA and SoC architecture. This module has been designed to suit the current industrial requirements: reduced size (60x42 mm), low power consumption (below 2W) and harsh environment (wide temperature range from -40°C to +85°C). NEO_CORE_CYCLONE_III board includes high performance devices:
It also presents external interfaces such as digital I/Os (CAN and PC104 compliant), LVDS I/Os and Ethernet link. The possibility of implementing “Systems on Chip” (microprocessors + peripherals) actually helps the module to cover a wide range of applications. 3. Software Reference Design : Architecture and key features 3.1. VHDL SoC and IPs As mentioned previously, the generic hardware offers the main following interfaces and peripherals:
ADENEO FPGA Team has created a Reference Platform (Hardware BSP) that allows a NIOS processor to access to the NEO_CORE_CIII resources Our platform was designed with ALTERA tools which allowed us to quickly build our System On Chip The SoC platform was mainly composed by “off the shelf” IPs (short design cycle). Main design steps were:
All these activities lead ADENEO to a proven hardware and SoC reference design. 3.2. Software architecture around NEO_CORE_CYCLONE_III Considering the hardware design described above,
3.2.1. Real Time kernel or not ? ADENEO can provide embedded and realtime software solutions to its customers. More precisely, it means that ADENEO has already been working with eCos, the open source and royalty-free embedded Configurable Operating System. Since the port for NIOS II was available in eCos release, it has been an opportunity to re-use previous internal experience and an opportunity to take advantage of its configurability. Indeed, eCos can be wholly configured through a PC-based application called eCos Configuration Tool. In the development planning phase, the Embedded Software Team performed the following activities :
As an example, the Intel StrataFlash (NOR Flash) driver and the Ethernet driver were added to the BSP.
Although eCos is currently the major real time kernel solution for NEO_CORE_CYCLONE_III board, other solutions can make the board to match specific customer’s requirements. A µCLinux port is available and OS-less applications have been developed to manage non-real-time systems. 3.2.2. Booting the platform The NEO_CORE_CYCLONE_III board relies on the bootloader software to be present, in order to boot the platform, once the FPGA bootup procedure has completed. The following requirements have been identified as guidelines for selecting the Bootloader :
The bootloader Redboot has been identified as the best solution:
3.2.3. Software Library ADENEO Software Embedded Team has created a Reference Software Library that allows new application to take benefit of NEO_CORE_CYCLONE_III memory resources, real time resources, and generic VHDL Intellectual Properties (IP) cores resources. The software library is divided into three parts:
3.2.4. Maintenance and supervision Adeview© software is a PC-based application, specifically designed for observation, analysis, advanced troubleshooting of complex problems over embedded ADENEO’s software. This performance monitoring tool grants read and writes access to the whole memory map of the NIOS II core, and thus allows software variables to be read and written at run-time. Adeview© is able to connect to the embedded application through a RS232 serial link, Ethernet link or CAN bus link, with a unique and proprietary protocol. One can imagine easy Wireless possible using a GSM-GPRS modem connected to the NEO_CORE_CYCLONE_III. ADENEO engineers consider Adeview© as a powerful and reusable unit testing tool around NEO_CORE_CYCLONE_III board. From a commercial point of view, ADENEO provides license to its customers to make them able to perform maintenance operations on their systems. A unique SubVersion repository contains the whole generic source code as well as the whole application specific source code. Configuration management rules have been defined for the NEO_CORE_CYCLONE_III SVN repository, in order to facilitate and ensure the maximum reuse of generic software modules. Similarly, management of software defects (called modification management) is driven by rules known by software developers. Those rules enable impact analysis of bugs dealing with a generic software module, and the postponement of changes to other projects that include this module. 4. Focus: practical case This practical case illustrates use of the NEOCORE_ CYCLONE_III in a typical railway power converting application. The main features of that application are:
In this application, Hardware design is composed of a NEOCORE_CYCLONE_III digital core connected to a motherboard (called GECCO Board) that provides application interfaces (signal conditioning) to the NEO_CORE digital I/Os. FPGA team built a dedicated System On Chip that meets the functional needs and provide enough CPU power for software processing tasks. Thanks to the proven reference design approach, the SoC basis was available. FPGA Team had to add the specific blocks to handle converter control and CAN bus interface : Starting from the SoC reference design, following blocks were added :
Global SoC contains 3 NIOS processors. Main NIOS (NIOS of the reference design) handles global system supervision and communication. Power converting control loops are handled by Secondary NIOS processors embedded in COREG IPs :
COREG is a library dedicated to control / command processing. It embeds VHDL code (interfaces, configurable IIR filters, fast protection for power elements, calibration, PWM) and Secondary NIOS processors Secondary NIOS processors are inter-connected to the main NIOS through internal Avalon Bus, via a Memory Mapped Interface, and allows the whole COREG’s configuration (VHDL configuration registers and application parameters) to be set by the main NIOS application. SoC architecture let us take the better of both worlds :
5. Proven reusability of the concept ADENEO is currently designing another system based on the NEOCORE_CYCLONE_III module The customer need is to control embedded systems (locomotive) with a simple language (GRAFCET) with a high safety integrity level (SIL 2) design requirement. To meet customer requirements, ADENEO has designed a racked system composed of:
Main features are
NIOS processor run under eCos operating system and execute ISaGRAF software in order to execute customer’s GRAFCET. The SoC architecture allows to mix on-chip :
This segregation allowed us to only develop part of the VHDL design under SIL2 framework, and provide significant economic gain on NRC. This successful project highlights the ease of reuse of the NEOCORE_CYCLONE_III HW and SW for various types of industrial application. |
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |