Arts & Architecture

Rapid Hardware-In-the-Loop Implementation for FPGA Based Embedded Controller for More Reliable Electrical Traction Systems

Description
Rapid Hardware-In-the-Loop Implementation for FPGA Based Embedded Controller for More Reliable Electrical Traction Systems
Published
of 8
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
    Rapid Hardware-In-the-Loop Implementation for FPGA based embedded Controller for more reliable Electrical Traction Systems LITAYEM Nabil, BEN ACHBALLAH Ahmed, MHADHBI Imene,   BEN SAOUD Slim LECAP, EPT-INSAT, Centre urbain nord, BP 676 Tunis cedex, Tunisia {nabil.litayem, ahmed.achballah, mhadhbi.imene, slim.bensaoud}@gmail.com  Abstract – The embedded systems field is more than ever faced to methodological problems. The increasing  system needs require complex hardware and software,  thus according to this complexity the adoption of  conventional methodologies has become not adapted to  the current problems. In the other hand, these systems  are facing considerable markets’ challenges that can  bring up the industry to look for several ways of costs  and time-to-market minimization for their products. The quality of such products became a central  objective, especially for mission critical systems.  Actually design methodologies, standards and tools are  available as a response to modern electronic control unit (ECU) requirements according to cost, quality and  time-to-market criteria. X-in-the-loop/hardware-in-the-loop can improve the quality metrics of the Embedded Control System (ECS) since the tests can be introduced earlier in the design process. This technique could be  more cost efficient if rapid implementation tools are used. In this paper, we present a comparative study of various tools and methodologies applied to HIL implementation for FPGA based embedded controller.  Keywords: Embedded Control System; Hardware in  the Loop; Design Methodology I. INTRODUCTION   The 21st century may be considered as the embedded systems’ one. These systems are nowadays presents in all aspects of our daily life. They are part of most our properties and their usage is ever growing. In the other hand, customer requirements continue to push embedded system actors into new technological challenges. In the last few years the overall complexity of realized ASIC projects increased with a rate of 58%, moreover, the design productivity raised at 21% per year [1]. This complexity could only lead to a failure if traditional approaches continue to be used. These systems are actually facing a set of methodological challenges that the designer must take into considerations. The embedded systems' usage in process control applications can improve the overall value of such systems. This value is essentially related to the implemented algorithm that presents the intelligence of the device. The failure of this kind of system can cause economic prejudice or human lives loose, which must imply strict safety considerations' rules in the design process. ECS can be considered as a separate category of embedded systems due to the dynamic behavior of the controlled systems. The general operational mode of such systems consists in reading data delivered by the sensors and produces orders at the actuators according to an appropriate control algorithm. This algorithm must be tested and tuned during the overall development process since many various factors that have been neglected during simulation phases can lead to change the system behavior. Modern traction systems such as a mobile robot and electrical vehicle combine control and data processing features integrated into various ECU. The development process of such systems is widely different from classic software that can be updated and patched during their life cycle. In fact, these systems are increasingly complex. Their added values are essentially related to algorithmic Intellectual Properties (IP). The common adopted approach in terms of cost reduction is hardware and software reuse, using a framework based development or Component Based Design (CBD) [2], [3]. In the last few years this approach becomes not sufficiently productive [4]. Nowadays, approaches focus on High-Level Languages (HLL) and Model Based Design (MBD) to implement digital controllers as hardware IPs using High-Level Synthesis (HLS) or automatically generated real-time software. These two approaches can be a good solution for reusability, tractability, quality and cost reduction. In fact, several manufacturers or tools providers use a combination of these approaches to meet their specific need. In our work, we present MBD approach as a design approach based on visual language and HLL as textual high level language.   In this paper, we’ll study the adoption of HLS and MBD methodologies for Hardware-In-The-Loop implementation. This paper is organized as follows: the next section surveys problematic and adopted solutions in the modern Embedded Control System (ECS) field. The detailed approach of each methodology is presented in section 3. System implementation using (HLS technique) and comparative synthesis results are presented in section 4. In section 5 we focus on system implementation using a model based design. Discussion and comparison of both systems are presented in section 6. Finally, section 7 will summarize the main work conclusions and perspectives. I.   MODERN ECS CHALLENGES ECS can be considered as the most complex category of IT projects. Their complexity is essentially due to the implication of different disciplines in the design process. This fact is due to embedded controller usage in mechatronics devices that include mechanical, electrical or computer components [4]. Such systems design, implementation, and testing can push embedded systems' actors into various challenges to improve their competitiveness, product quality and market part.    A.   Safety assurance across complexity The spectacular increasing complexity of hardware and software in modern ECS may bring some manufacturer to put more and more developers on their products to meet these needs. Several studies [4, 5] have shown that the increase of the developer’s number can decrease their productivity, which negatively impact the cost of the overall project. The complexity of these systems must be mastered in order to provide an appropriate methodology for using the designed system in the corresponding field. Many research works and industrial standards [6-8] deal with this problem by proposing several methodologies, best practices and tools that can be adopted to improve the development process and product quality. Few standards are being adopted such as the DO-178B, DO-254 [9] Integrated Modular Avionics (IMA) and Airlines Electronic Engineering Committee (ARINC) standards [10] for aerospace field, Automotive Open System ARchitecture (AUTOSAR), Motor Industry Research Association (MISRA) [11] and OSEK/VDX [12] for automotive field. These standards focus on the development process, code quality/portability and controller architecture. ECS may be considered as critical due to their usage in a hostile environment with radiations, chemical and thermal constraints. Actually, the presence of ECS in the majority of our equipment can lead fault to affect ordinary user. This fault can have a negative impact with eventual human security risks. The first integration of an embedded controller in a critical system has been associated with many recognized disasters such as ARIANE explosion, the Patriot missile latent bug and Mars PathFinder deadlock. Actually such mistake can’t be acceptable and quality insurance must be guaranteed. Many modern works led by industrial or government actors try to regulate this field by proposing standards and guideline, which can be adopted during the product life cycle. These works are presented as standards, methodologies or tools that can be adopted in a different product life cycle or for a specific application field of an ECS that can address the development process, the code quality or the controller architecture. 1.   Development process and tools Applying adequate design process can impact the final quality of the embedded controller, several research projects proposed different approaches to this problem. The research in this field is particularly active. Actually, we assist to two emergent critical system schools:    North American researchers and company which focused on model checking, formal verification, SAT solver techniques, and bounded model checking.    European school which focused on language based mode-driven approaches such as Esterel, SIGNAL and Lustre [5]. Industry is also active in this field and many paradigms are actually adopted as a response to the codesign and correctness requirement. These paradigms are enforced by the existence of different tools and standards. Actually, many existing tools can be used as platforms for the available standards, the most adopted are:    Matlab, Labview, Ptolemy, Scilab, ASCET and SCADE for MBD.    ImpulseC and CatapulteC for HLS based on C language. These tools can be used to implement X-in-the-loop (MIL, SIL, PIL, and HIL) techniques that can increase tractability and earlier testability of the designed product. Modern CAD tools can be used in the context of MBD to generate a certifiable controller according to the previously presented standard in their proprietary or in a standard language. Matlab, Scilab, Labview environment are the most versatile tools since it can be used in a different process cycle and can generate code according to many of the previously introduced standards. SCADE, for its case is the most suited for critical code generation, especially for DO-178 and DO-254 standards. In the other hand, some HLS tools such as CoDeveloper focus on certified hardware generation. The development process qualification can be achieved through the adoption of a MBD methodology that can allow complete traceability of the design life cycle of a given process. Others available methodologies are based on UML models or one of their derivatives such as SysML and MARTE [16], such approaches can offer high quality real-time software or can be limited to system modeling, but it can’t be easily adopted in control applications due to the heterogeneity of such systems. Table 1, present a survey of some studied code generation tools for HLS, control or signal processing oriented MBD.    TABLE 1. Code generation tools classified by categories of input design. HLS Tool Design Input Output CoDeveloper ImpulseC VHDL/Verilog CatapultC C, C++, SystemC VHDL/Verilog PicoC C, C++ VHDL/Verilog AutoESL C, C++, SystemC VHDL C-to-Verilog C Verilog Cynthesizer SystemC VHDL MBD (Control oriented tools) Tool Design Input Output Matlab/Simulink Matlab C, C++, VHDL, Verilog, PLC Labview Labview C, C++, VHDL, Verilog Simulationx SimulationX C Scilab/Scicos Scilab C, VHDL XSG Matlab VHDL, Verilog Synphony HLS Matlab VHDL, Verilog, C Beremiz IL, ST, LD, FBD C++ Scade ESTEREL, Scade block C, C++, VHDL 20-sim 20-sim block diagram C Scale-RT Scicos, Matlab, Simulationx C (Xenomai), C (Erika Enterprise RTOS), VHDL MBD (Signal processing oriented tools) GASPARD UML VHDL Cofluent Studio UML(SysML and MARTE profiles) SystemC MBD (Generic tools)  Topcased/Acceleo UML C, Java, PHP, CSharp Papyrus MARTE UML C, C++ Universal MBD platform  OpenEmbeDD UML (SysML, MARTE, CCM and LwCCM profiles), AADL C, C++, Java 2.   Quality guarantees The embedded system integration in life critical application had implied new challenges in terms of Validation and Verification (V&V). Actually standards organizations and licensing authorities have made many efforts to build guidance documents and coding standards as a viable solution to the system quality problems. Some of these efforts focus on the design process of the embedded systems, others focus on the respect of coding rules [13]. Embedded software must be exhaustively tested using various test techniques such as:    Static code analysis using tools such as Polyspace, Logiscope QAC or FramaC which can certify the code quality.    Dynamic tests (RTRT) which can certify the temporal conformance. Hardware for their part must also pass through V&V processes especially for innovative part such as FPGA based hardware [14]. Modern CAD tools offer different approaches to offer auto-test solutions since the number of possible solution for sequential hardware tends to be infinite. Nowadays, CAD tools offer software and hardware generation according to widely adopted standard such as AUTOSAR, DO-178 and DO-254. In the other hand new formal method and mathematical modeling language are more and more used. 3.   Controller architecture To ensure the reusability of software and hardware component, several standards have been proposed to standardize the controller architecture. The majority of these standards are based on the partitioned architecture concept. The main idea of this concept is the isolation of different pieces of software in partitions to make them appear independent. Such concept makes each software component independent, as if they run on a separate processor. In the automotive field, this concept is proposed in AUTOSAR and DECOS [15] (Dependable Embedded Components and Systems) which try to normalize the interaction between a different software components using a normalized interface and software architecture, which push automotive actors to switch from the traditional “one function-one ECU” to support several functions in the same ECU. For the aeronautic industry, IMA and ARINC653 are the most adopted partitioned architectures.  B.   Cost Control Embedded controllers are usually integrated into other commercial products. The cost of the embedded controller can have a wide impact on the market part of the final product. The time to market, complexity control and adequate methodology adoption can beneficially impact the cost of the overall product. 1.   Human resources management The dramatic evolution of embedded systems in terms of complexity may lead to classify these projects among the largest projects undertaken by mankind. Modern embedded systems can be more complex than a great classic computer system application. Several comparative studies showed that flight control system   has a superior complexity than the Linux kernel [5] which is considered as one of the most complex open source projects. Controlling development time of such projects is closely linked to the complexity of the systems. Many studies attest that the development time is not linearly proportional to the complexity [16], [17]. Appropriate management of human resources can contribute to minimize the cost of such projects. Design consideration such as functional splitting specification can contribute to improve the human resources management since the overall project can be processed by different development teams without a real need of excessive communication. Modern approaches such as MBD, Component Based Design (CBD) [2] or HLL can be very beneficial to limit the complexity of an actual embedded system. The direct impacts of such approaches are the improvement of human resources productivity since it can’t be smothered into unnecessary details. These approaches allow the designer to use a unified methodology to design the entire system. They can be based on various languages such as UML, Simulink or simply C in the case of C Based Design [18]. New project management methodologies such as AGILE [19], can be adopted with such approaches to minimize the customers’ feedbacks and to correct the specification in the early stages of the product development. The most used variant of such approaches are Test Driven Design (TDD) which can dramatically improve the success rate of the embedded projects. 2.   Intellectual properties management Nowadays, FPGA based embedded controllers don’t make a real distinction between hardware and software components, both can be considered as IP resources. In addition we can also consider a protocol implementation as IP. Mastering hardware resources must go through the adequate choice of these resources in their various form (softcore, firmcore and hardcore). Actually, a huge choice exists in terms of hardware IP. They are available under various license types, their choices must be wisely taken to respect the cost/quality criteria. In our experience, we noted that many high qualities IPs are available under free licenses such as GRLIB from Gaisler research or OpenRisc from opencores. However, we may sometimes find very bad IPs that has never been tested under the same license. The cost of such IP can’t be neglected and in many cases it can be a wiser choice to adopt a fully validated IP and its associated support from a vendor, especially in a large scale commercial product or in critical applications. For their part, the software choice should be guided by the quality metrics to make the right choice given the current diversity of software components and libraries, which brings nowadays software engineer to be considered as a system integrator instead of system developers. These choices must be guided by two important aspects, which are the acquisition cost and maturity level of the software components. The wide range of free software should be studied with training cost, support and quality considerations. In fact, the adoption of free software building blocks can be used to lower the project costs but this choice must be adopted appropriately to guarantee a minimum quality level of the designed system. Finally, the reuse of available physical infrastructure can help to cut down the product cost. As an example we can consider that the adoption of a standard network interface for industrial process monitoring can significantly reduce the wiring costs associated with such networks. In the other side newly available protocols can be used under older infrastructure. In the industrial field, real-time Ethernet [20] alternatives such as Ethernet Powerlink [21] can be considered as a serious candidate to other networks such as CAN or Profibus and can minimize the costs of the overall system since Powerlink is based on Ethernet infrastructure and various open source implementation of this protocol are available. II.   X-IN-THE-LOOP CONCEPT AND THEIR APPLICATION IN MODERN EMBEDDED CONTROLLER The functionality enhancement on the nowadays embedded system introduces a new safety and cost requirements. They have to be considered earlier in the design life cycle, which push the industrial actors to investigate in new paradigms able to ensure higher system quality at a reasonable cost. Test Driven Development (TDD) which requires the tests' development before the application can be a very benefic for such systems. In the TDD approach, tests must include the sensors and actuators emulation. In the first applications of this paradigm, emulators were manually implemented using HDL or real-time software. The complexity of this kind of approach may negatively impact the time-to-market of the overall project. In many cases, test development can become more costly than the final product. In the other hand, this component must be also certified if the overall product must be certified. Actually, X-in-the-loop concept illustrated in figure 2 was widely adopted for the development and testing of complex embedded systems as a substitution to classic approach illustrated in figure 1. Embedded Controller Actuators Mechanics and energy converter Sensor Man/Machine interface Measured variables Manipulated variables   D/AA/D Fig. 1 Classic Embedded controller usage   This concept allows a designer to test the conformity of a given product to initial requirements in the different phases of the product life cycle. Actually several approaches and tools can be used to minimize emulator development. HLS tools like CatapultC and CoDevelopper can be used in different phases to elaborate SIL, PIL, or HIL. Such approach, can rapidly offer the final emulator as hardware IP that can be used in test or in production systems. MBD approaches can be classified in two categories. The first one is based on control, and instrumentation tools like Matlab, Labview, scilab or beremiz. The second one is based on UML oriented solutions such as Cofluent Studio or GASPARD, who is more adapted to intensive signal processing applications. These tools are actually able to generate hardware, real-time software, or PLC code. III.   HARDWARE IMPLEMENTATION OF THE DCM MODEL FOR HIL USE  A.    Introduction to rapid hardware design tools To meet the timing to market requirement of the modeled system, hardware implementation can be an advantageous choice. This kind of work can be time consumer and complex to do especially if a classic approach was adopted. In the major case, the personal invested in this kind of projects was a software or control engineer. Every kind of these disciplinary has their classically adopted tools and background. Switching to hardware design for these kinds of engineers can be very time loosely. Actually, two major approaches are available and can allow rapid hardware implementation.    The first one is HLS (High Level Synthesis) that can generate HDL code from high level language implementation.    The second one is MBD applied to hardware design. MBD is a very generic word since the modeling language can vary as the software languages. In the hardware generation field, the most adopted visual Languages are based on UML, G Language from NI and Simulink from Mathworks.  B.    HIL implementation using HLS tool To implement the DCM model using HLS tool, we adopted CoDeveloper. This tool is widely adopted both in industrial and academic fields. CoDeveloper allows hardware design using C-like language (ImpulseC). The programming model of ImpulseC language is based on Communicating Sequential Processes (CSP). This consists of a set of processes, which are interconnected through data channels such as streams, signals, registers and shared memories. Each process is classified as a hardware or software process; the hardware one will be translated in a hardware description while the software one serves as a simulation monitor or as a driver if the hardware module will be associated to an embedded processor. The generated HDL code can be synthesized for a wide range of Altera and Xilinx FPGAs. The implementation of HIL IP using such tool can be interesting since the C-like implemented code can be used to easily validate the requirement under classic computer architecture. Figure 3 shows the CSP model of the implemented DCM model. The obtained results will be discussed in section 4.4. Fig. 3 CSP model of the implemented DCM C.    HIL implementation using MBD tool Nowadays, various MBD tools are available in the control field Labview, Matlab and Scade are the most known and used tools, they have the advantages to:    Improve global system quality since the test coverage is improved.    Improve traceability and test reproducibility.    Improve productivity since the batch test can be executed by night.    Best matching to customer needs since in the earlier development stage this one can contribute to customize the design earlier in the design life cycle. Xilinx System Generator (XSG) is an IDE designed by Xilinx as an MBD tool. It is a very convenient environment for modeling, verification and Embedded Controller MIL (Actuators, process and sensors emulators) Man/Machine interface Measured variables Manipulated variables SIL (Actuators, process and sensors emulators) PIL (Actuators, process and sensors emulators) HIL (Actuators, process and sensors emulators)   Compare results Fig. 2 Embedded controller prototyping using X-in-the-loop concept
Search
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x