FPGA based Networked Embedded Systems Design and Prototyping


Download FPGA based Networked Embedded Systems Design and Prototyping


Preview text

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

51

FPGA based Networked Embedded Systems Design and Prototyping: Automobile oriented
Applications
B.Senouci, R.Zitouni
Central Electronic Engineering School, ECE-Paris, France Embedded Systems Department LACSC Laboratory 37 Quai de Grenelle, 75015 Paris [email protected]

Abstract —In 1968 Volkswagen integrates an electronic circuit as a new control fuel injection system, called “Little Black Box”. It’s considered as the first embedded system in the automotive industry. Presently, every year, automobile constructors integrate new embedded systems into their vehicles. Behind these automobile’s embedded systems, a sophisticated HW/SW architecture, which is based on Multiple CPU is built. In this paper we describe our experience within a progressing work in using FPGA (Field Programmable Gate Array) to design and prototype wireless networked embedded systems. We built a hardware platform based on FPGAs in order to emulate a wireless networked embedded systems for V2X automobile applications. Also, we discuss the emulation of on-car embedded systems that communicate and exchange data wirelessly. Firstly we show how a HW platform based FPGAs can be a very attractive approach; secondly, we describe a real experience in building a wireless networked hardware platform based on Zynq 7020, finally, we share our preliminary results by discussing our choices.
Keywords: Multiprocessor Embedded Systems, Embedded OS, FPGA, HW/SW Architecture, Wireless Sensor Networks, V2X Communications
1. INTRODUCTION
In order to replace the duel carburetors Fastback and Squareback system that control the fuel injection, in 1968 Volkswagen 1600 integrates an electronic circuit (more than 200 transistors, resistors, diodes and capacities) as a new control fuel injection system, called “Little Black Box” [1]. Then, the first embedded system for automotive industry is born. Presently, every year, automobile constructors integrate new embedded systems into their vehicles. On one hand, the massive usage and availability of these embedded devices on the marketplace bring products to a price consumers can pay for, on the other hand scaling down of semiconductor technology below 22 nm, will surely reach many of these devices, by improving their application’s diversity and availability in automobile industry.
These tiny devices integrated in automobiles collect and exchange information to control, optimize, and monitor many of the functions that just a few years ago were purely mechanical.
The technological advancements of embedded system and electronics within the vehicle are being driven by the

challenge to make the vehicle safer, smarter, more energy efficient, autonomous, and networked. ASIC/ASIP based embedded CPUs, from on-chip system to FPGA, are the command center for these embedded systems design.
Automobile applications take a real advantage from this embedded integration advance. Every year, automobile manufacturers pack new embedded system into their vehicles. Currently, 100% of new car production integrates at least one embedded device. This number is being increased exponentially. Table I shows several examples of current embedded systems for automobile.

Embedded Systems in Vehicles Engine Control Systems
Speed Control Systems
Driver and Car Safety systems Seat and Pedal Controls
Route and traffic monitors Voice Activation and commands

Application Example Fuel Injection Control Cooperative Adaptive Cruise Control, ABS
System Immobilizer Unit, proximity Alert SRC (Sanitary Remote-Controlled)
Navigation Systems
Car Lock

Safety
+ + + + + + + + + + +
++ ++

Table 1: embedded systems for automobile
On the other hand, a new direction in short-range wireless applications for few meters distances has appeared in the form of high-speed data transmitter/receiver devices [2]. The vision with short range wireless communication can be implemented within any embedded system device and thus they are the focus of this paper. This is being developed by embedded systems leaders to develop the new Internet of Things era; connected vehicles illustrate the typical example.
Unlike general automobile embedded system designs, where most researches are involved in the software design part, and used pre-designed IPs for the hardware components. In the new smart embedded systems for automobile (ADAS: Advanced Driver Assistant System) [3] a new design flow has to be proposed. In addition to the traditional embedded systems constraints (performance, time to market, size, SW memory foot-print…). New constraints (Safety, Smartness of the systems, dependability, networks …) have to be taken in consideration in the new design flow, and at a high level of integrity. Furthermore, software will be implemented as a system with several layers (Application,

ISBN: 1-60132-433-2, CSREA Press ©

52

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

control, communication…). Instead, current HW/SW methods design is mainly based on a software environment simulation tools, within a functional validation at high level of abstraction. Thus, this method doesn’t provide an overall and effective evaluation for the performance and cost of entire automobile’s embedded system. Besides, in this technique it’s hard to simulate the wireless communication part. The development of FPGA technology brings advantages to the embedded system in size, cost and performance. It also introduces the capability of intelligence to I/O processing. Furthermore, it can solve the timing and synchronization problems, which are hardly solvable by pure software programs on Real Time Operating System (RTOS). Many FPGA vendors including Actel, Altera, QuickLogic, Xilinx, have all provided both hard and soft cores embedded in the latest FPGA silicon chips. Programmable FPGA based design is being the mainstream of embedded system designers. And it makes it easy the embedded HW/SW codesign which is necessary in order to benefit from the advantages of both worlds (SW & HW).
In our work, we investigate this flexibility of FPGAs in order to design a Networked Embedded System (NES). This NES emulate automobile networks that communicate wirelessly with each other for a safety purposes. We investigate a hardware platform based design approach [13] using several FPGA instances to design and validate Networked Embedded System (NES). This NES emulate automobile networks that communicate wirelessly with each other for a safety purposes for example. All is become possible by the amazing capacity of integration, then we can embed several electronics systems that make the cars network smarter to estimate and manage any new danger situation. As we said previously, most of the ongoing research projects on wireless communications network are interested in short range radio for data exchange, smart cars concept takes a real advantage of these research projects to increase its efficiency and performance. There exists a very large amount of wireless technologies today. Table 2 shows different examples of short range wireless technologies and their applications.

Table 2: Short Range Wireless Technologies

Technology 802.11p, WAVE
Bluetooth IEEE 802.15.4
RFID ZigBee

Frequencies MHz 2,4 GHz 2,4 GHz 2,4 GHz
902 to 928 GHz 2,4 GHz

Applications Vehicle Communication
Audio Applications Wireless Networks
Video Transfer Home, Monitoring & control

On the other hand, the safe and the reliable communications between automobiles can’t take for guarantee; as a correctness communicated data may save many lives, a miss or wrong one may cause a real damage.
These electronics systems integrated in today’s cars has to be designed, validated, and prototyped at high level of integrity. In networked embedded systems for automobile applications, we distinguish two network communication schemes:

1. In-Car Networked Embedded System: Here the embedded devices integrated in the car connected wired via a local network (ex: CAN) [14]. These embedded systems are controlled by a high level supervisor which may considered as an operating system that controls the whole automobile electronics systems.
2. Car-to-Car Networked Embedded System: The second communication scheme is wireless based; it manages the communication between automobiles in order to exchange data about the environment where both automobiles operate. This communication is our concern in this work.
These embedded wireless networked nodes are deployed in automobile applications as ADAS to collect information data related to automobile’s environment and communicate it around to avoid harsh situations.
The remainder of this paper is organized as follows. Section 2 presents some approaches and related works. Section 3 focuses on the challenges presented by the embedded systems design for automobiles. In section 4 we give details about our networked FPGA platform concerning hardware and software architectures. The last section discusses implementation details. The paper ends with a conclusion and some future work.
2. APPROACHES AND RELATED WORKS
Advances in integrated circuit and embedded technology design, make possible to deploy heterogeneous components in embedded design and networks. Many research projects/groups are exploring the issues related to the design of these networked embedded systems for deployment in automobile applications.
In overall, most of the techniques used for embedded system design are based on simulation practice, using software components models. In such techniques many hypotheses on the system are made early in the design process, especially for the hardware architecture, and have to be verified in a tardy stage of the design process (prototyping phase). If one or more of the assumptions is incorrect, it outcome a significant re-design and debug overtime as compared to the initial expected design time. Another ignored factor in automobile business, there is a risk that these shortcomings will be missed the time-to-market of the product, and lead to displeased customers. Simulation-based techniques raise at least two inconveniences: 1) A time consuming technique (very slow); 2) Very hard to enable a simulation in the case of wireless components (e.g.: software simulation model for sensor)
Furthermore, the general state-of-the-art methods that study, and analyze wireless communication and FPGA based design are various. Several works are reported in these research topics. There exist several different systems that implement embedded solution for automobile applications. The purpose of this section is to give an overview of some of them.

ISBN: 1-60132-433-2, CSREA Press ©

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

53

Since long time the safety in automobile industry is considered as the highest priority subject, to develop and provide smart systems that helps drivers to avoid road’s accidents. Advanced Driver Assistance System (ADAS) is introduced specially to deal with this concern and proposes solutions with the intention of assist the car’s drivers with an efficient warning. Many ADAS systems are available on the market place and already integrated in cars. Parking aid with its ultrasonic sensors or embedded cameras in the new cars generation illustrates existent examples of these systems. Mainly two categories of ADAS are available, radar based or camera-vision based.
Mody and al [5], introduce a Front Camera (FC) based ADAS system uses computer vision based techniques to detect obstacles (e.g. pedestrian, cyclist etc) on road from captured image. Typical Image Signal Processing (ISP) is developed to cater cellphones and Digital Still Cameras (DSC) for purpose of human viewing unlike computer vision algorithms whose purpose is to help driver. In [4] authors present the design and implementation of modular customizable event-driven architecture with parallel execution capability for the first time with wireless sensor nodes using stand-alone FPGA. Authors in [6] present a new FPGA based framework for dependability study of wireless short range radio applications. In this framework, authors built a platform using SmartFusion FPGA instances. And then, define a methodology to investigate the dependability of short range application at three main levels, analog, digital, and wireless. EyeQ2 [7] systems is one example of a single chip dedicated to automotive security applications using vision system, that consists of two 64- bit floatingpoint RISC 34KMIPS processors for scheduling and controlling the concurrent tasks, five vision computing engines and three vector microcode processors. This architecture provides support for a specific set of real time data intensive applications. In [8] authors present a dynamically reconfigurable MPSoC (Multiple Processor System on Chip) prototype for AutoVision system; It offers functions such as object edge detection or luminance segmentation, and are implemented as dedicated hardware accelerators to ensure real time processing. Mainly, these ADAS based vision systems suffer from their reliability, particularly in harsh environment where the visibility become difficult or even impossible (cloudy weather, rain and snow…etc).
In [9] and [10] authors present a radar based Embedded MTT-ADAS Application (Multiple Targets Tracking) ADAS. This application is prototyped on the top of an Virtex 5 FPGA fabric using an open source FreeRTOS (Real Time Operating Systems).
3. EMBEDDED SYSTEMS FOR AUTOMOBILE: CHALLENGES
Behind these automobile’s smart embedded systems, an heterogeneous HW/SW architecture is built, composed principally of, digital components, analog components, processing elements, and Tv/Rv communication modules. Figure 1 shows a typical integrated embedded system for

automobile. As far as the wireless communication in networked embedded systems is concerned it is desired that a data must be received at the final destination. This data may represent vital information for an emergency requirement in order to avoid accidents or just to assist drivers in hard driving situations, by providing him real-time information about the environment where he is growth in.

U

s

Memories

e

SW Application

r

+

SW Control

Analog Devices

I

n

t

Processor

e

Inputs/ Outputs

r

f

a

System Bus

c

e

Connectors

Figure 1: Automobile Embedded System Architecture
Networked embedded systems wirelessly linked for automobile applications require a sophisticated HW/SW architecture with a complete design methodology, and then present several challenges:
x Different software levels are needed to supervise these systems embedded in the automobile; the specification and the design of these software levels is one of the hardness tasks in the design flow.
x Also, one of the vital software level is the smart application level, then defining a smart algorithm mainly based on machine learning and deep learning become a real challenge,
x Behind the V2X communication in automobile applications, an embedded system based on heterogeneous components is built (analog, digital, wireless…), then how can we define the different steps of its design, taking into account the complex tradeoffs between safety, performance, cost, and time to market?
x The application software has to be designed taking into account more and more smartness within an efficient software algorithm.
x Reliability and safety attributes in automobile’s embedded systems are a key matters. Then, how they can be approved besides the pure functionality, and the correctness of the exchanged data In-car and Car-to-Cart networked embedded systems.
x On the hardware side, specifying the architecture in order to improve the adequacy algorithm/architecture and get the determined

ISBN: 1-60132-433-2, CSREA Press ©

54

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

performance in our system become a hard task that need a deep design space exploration.
x The processing efficiency and flexibility can be compensated with the use of a reconfigurable FPGAs, then how can we imagine a NES using FPGA based design approach?
One of the major challenges addressed in this paper is to investigate the use of FPGA device for automobile application design and emulation. In application for automobile, the embedded computing are purely software and mainly based on embedded processor, which is having limitation in terms of flexibility, prototyping, and computational capability related to various applications. Using FPGAs instances make easy the HW/SW co-design in order to get the benefits from both worlds (software and hardware).
Then, we share our experiences in this progressing work by describing the selection, specification and realization of a hardware platform using Zynq FPGA instances, for an early design and prototyping of automobile embedded application. We first present a hardware platform-based design approach as the most attractive solution for embedded automobile application design. Unlike the simulation-based approach, the platform-based framework allows to design and analyze the networked embedded system in a real environment with direct real-time execution at the desired cycle accurate level.
4. NETWORKED EMBEDDED SYSTEM PLATFORM
We have used the Zynq FPGA and the TelOSB devices as a COTS (Commercial Off-The-Shelf) in order to emulate a networked embedded architecture for automobile applications. The data is transmitted from one Mode (Mobile Node) to another one. Each Mode is composed with a TelOSB connected to an FPGA Zynq.
In Figure 2 we show the global view of the FPGA based platform for networked embedded system design [3]. Each FPGA may represent one or more embedded system, and then emulate an automobile’s embedded system. These embedded nodes communicate with each other according to a standardized network topology and may be reconfigurable at some level. In our design methodology, a V2X communications shim is implemented via TelOSB modules and makes references mainly to V2V (Vehicle to Vehicle) communications. These wireless communications is considered one of the key features in the context of designing embedded systems for automobile applications.

Safety Data
Data
Figure 2: Global view of the Hardware platform 4.1 Hardware architecture overview
We are using a Xilinx Zynq-zc702 platform [11] and TelOSB sensor for our platform building presented below. The Zynq board is based on the Zynq ZC7020 device. This component regroups large reconfigurable logic, communication interface controllers, and one processing unit that integrate two ARM Cortex-A9 CPUs. Each CPU has its own cache memory banks for instruction and data, and one common level 2 caches memory (Figure 3-2). The clock frequency of each unit is 667 MHz. The communications between the interface controllers and the CPUs (as well as HW IP), are performed via AMBA/AXI bus network. Figure 3-1 shows the internal architecture based on two processors ARM, local and global memory system, and the AMBA/AXI bus. Figure 3-1, shows the experimental setup, with the TelOSB wireless node connected to the embedded Zynq architecture via USB hub.
Figure 3-1: Experimental Setup
The board proposes a large panel of interfaces [11]. In our NES wireless platform, an Ubuntu/Linaro compiled and ported on each FPGA instance. The Linaro is booted from an SD card memory [12]. On the top of the linaro a customized Contiki operating systems is used in order to get the data from the TelOSB COTS component, connected to the system via an USB hub. The visualization of results produced by the

ISBN: 1-60132-433-2, CSREA Press ©

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

55

system is performed via HDMI interface. The SD card contains the boot and the OS files. After the initialization phase, the OS uses available DDR3 banks as a memory space. An additional keyboard and mouse are included via an USB hub to our final system configuration.

Inst Mem Icache

ARM9 Cortex A9

ARM9 Cortex A9

Snoop Control

Data Mem Dcache

AMBA/ AXI System Bus

Global RAM

RS232

USB 2.0

HDMI

Ethernet

SDRAM

UART

Peripherals

Memory Controller

Figure 3-2: Zynq based Hardware Architecture
4.2 Software architecture Layers Figure 4 shows the different layers of the software architecture. In order to master the complexity of the embedded software, we divided it into several parts. Three main layers are identified: the application layer, the embedded operating system layers and the hardware abstraction layer. In the application layer we find the software tasks that allow the communications managed by the ContikiOS layer.
Smart SW for Automobile Application
Contiki OS

Ubuntu/Linaro

Drivers

uImage

Boot + DeviceTree

Zynq based HW Architecture

Figure 4: Software Architecture Layers
While the Embedded OS layer acts as an adaptation layer and manage the execution of the application tasks on the Zynq based architecture. The hardware abstraction layer recognized here by the drivers, the boot and the DeviceTree give an insight of the target hardware. The first layer of the operating system is Ubuntu/Linaro based; it was ported on the ZC702 FPGA [11], [12]. Then, on the top of the Linaro we compile a version of Contiki to manage the wireless data package exchange. As primary results, in Table 3 we show the memory footprint of the Operating systems. This was the result of compiling the “C” source files using ARM processor cross compiler, with –Os (size optimized) as optimization option.

Table 3: Code size of the software parts

Embedded OS

Kernel

Boot

Device Tree

Linux-Linaro

3.09 M-Bytes 4.16 M-Bytes

10 K-Bytes

Contiki OS

40 K-Bytes

2 K-Bytes

-

4.3 Hardware Architecture
On the HW side, the logical synthesis process is performed using XST tool. It does take about half an hour to completely synthesis the hardware architecture on the Zynq zc702 platform. Table 4 shows the synthesis logic results; where the components names refer to the HW components mentioned in Figure 3-2. The other columns represent the size in term of logic gates/Look-Up-Table, memory banks (BRAM) and Flip-flops.

Table 4: Synthesis results of the hardware part

Components

LUTs Used Flip Flop Used

BRAMs

All System

34568

36004

10

System Processing 349 81 0 (Two ARM9)

System Bus

6658

8251

4

5. CONCLUSION:
This paper deals with the design and prototyping of embedded systems in automobile applications. Here, a first step from a progressing work is presented. For this purpose, we firstly and successfully built a hardware wireless platform. The platform is built using several instances of one of the FPGA platforms (Zynq 7020) and COTS (TelOSB) for wireless links. The goal behind the construction of the wireless networked hardware platform is to design, validate, and prototype a wireless automobile’s NES (Networked Embedded Systems) in an environment very close to the real application settings. This FPGA based NES platform present an improved alternative for the time consuming simulation technique in embedded systems design. Based on this platform a new design flow/methodology with a fast design space exploration is being developed for smart embedded automobile applications. In this networked hardware platform, the combination of programmable logic, wireless COTS, and IP cores including embedded processors can speed up the automobile applications design and realize the hardware programming. Within the proposed networked FPGA platform, and the advance in the appropriate design flow the trend is believed to show greater potentials.
ACKNOWLEDGMENT:
We would like to express our gratitude to the individuals, companies, and our academic partnerships we work with on the “ASSIA” collaborative project.

ISBN: 1-60132-433-2, CSREA Press ©

56

Int'l Conf. Embedded Systems, Cyber-physical Systems, & Applications | ESCS'16 |

6. REFERENCES
[1] “How VW Fuel Injector Works: A mini-Computer Aids Economy, Cuts Pollution” Chicago Tribune, Sunday, February 25, 1968
[2] Alan Bensky “Short-range wireless communication: Fundamental of RF system Design and Application” 2005.
[3] Seminar Link “Embedded System in Automobiles” www.seminarlinks.blogspot.com
[4] Liao et al. “FPGA based wireless sensor node with customizable event-driven architecture” EURASIP Journal on Embedded Systems 2013, 2013:5 http://jes.eurasipjournals.com/content/2013/1/5
[5] Mihir Mody and Al. “Image Signal Processing for Front Camera based Automated Driver Assistance System”
[6] Senouci, B., et al. "Dependability Investigation of Wireless Short Range Embedded Systems: Hardware Platform Oriented Approach." Journal of Embedded Systems 3.1 (2015): 1-10
[7] G. P. Stein, E. Rushinek, G. Hayun, and A. Shashua, “A computer vision system on a chip: a case study from the automotive domain,” IEEE Conference on Computer Vision and Pattern Recognition (CVPRW’05), p. 130, June 2005.
[8] C.Claus, W. Stechele, and A. Herkersdorf, “Autovision– a run-time reconfigurable mpsoc architecture for future driver assistance systems,” Information Technology, vol. 49, no. 3, pp. 181–187, 2007
[9] B.Senouci, S.Niar, Julien Dubois, Johel Miteran “Embedded MTTDAS Application Prototyping on an FPGA based Multiprocessor Architecture” International conference on Embedded Systems and Applications, ESA, July 2014, Nevada, USA
[10] J.Khan, Smail Niar, Mazen Saghir, Yassin El-Hillali, Atika Rivenq, "Driver assistance system design and its optimization for FPGA based MPSoC," sasp, pp.62-65, 2009 IEEE 7th Symposium on Application Specific Processors, 2009
[11] www.xilinx.com\zynq [12] http://fpga.org/2013/05/24/yet-another-guide-to-running-linaro-
ubuntu-desktop-on-xilinx-zynq-on-the-zedboard/ [13] B.Senouci, A.Bouchhima, F.Rousseau, F.Pétrot, A.Jerraya
“Prototyping Multiprocessor System-on-Chip Applications: A Platform-Based Approach” Journal IEEE Distributed Systems Online archive Volume 8 Issue 5, May 2007 [14] CAN specification version 2.0. Robert Bosch GmbH, Stuttgart, Germany, 1991

ISBN: 1-60132-433-2, CSREA Press ©

Preparing to load PDF file. please wait...

0 of 0
100%
FPGA based Networked Embedded Systems Design and Prototyping