Experiments of In-Vehicle Power Line Communications

The omnipresence of ECU (electronic control units) in vehicles has lead the automotive industry to face a great challenge in its transition from mechanical engineering towards mechatronical products. The X-by-wire and X-tainment applications involve efficient networks that allow bus sharing while reducing both cabling costs, number of wires and connectors. This chapter deals with the embedded in-vehicle networks and the use of emerging technologies combining different communication systems like power line communications (PLC) and/or wireless communications and pushing to a dynamic configuration of both networks and ECU. The ECUs that replace mechanical or hydraulic systems require secure and specific bus for communication. In order to exchange information between sensors and actuators, different networks have been proposed, from low data rate up to high data rate namely LIN, CAN, FlexRay. In section 2, these networks are presented identifying their strengths and possible drawbacks. As a result of using these fieldbuses, the cost of advanced systems should plummet. Furthermore, X-by-wire systems do not depend on conventional mechanical or hydraulic mechanisms. In (Len & Hefferman, 2001), the authors demonstrate the advantages of X-by-wire and embedded networks. Considering these specific domain embedded networks, we can observe that each solution uses its specific wires and communication system. The growth of the complexity leads to the necessity to commit to a limited set of networks which answers to these multiple applications. An attractive solution to reduce the wires is the power line communication (PLC) using the power lines (12/42V) to transmit both the power and the messages without functional barriers domain. It can answer the vehicles requirements namely cost, decrease of the amount of wires, flexibility and bandwidth. Section 3 is dedicated to PLC systems. Nowadays, this technique is already proposed for domestic uses (Ribeiro et al., 2006). In vehicle PLC seems to be a promising technology and has numerous advantages; it could reduce the weight of wires, the amount of splicing, and simplify cables bundle and the networks between ECU. The background and current studies are first addressed in Section 3. Although high data rate and flexibility obtained for indoor domestic PLC are proven, it is not possible to apply them directly to cars because the geometrical characteristics and wires


In-vehicle networks: overview of embedded solutions
Various vehicle buses for different tasks of communications between ECU are used today according to their area of application (Navet, 2008). These embedded networks have both increased the functionality and decreased the amount of wires. However, the usage of different wires for the different networks still has the disadvantage of heavy, complex and expensive. Among these networks, three of them are prevailing: -the local interconnect network (LIN, the lowest data rate) : proposed by manufacturers, the local interconnect network is used in on-off devices such as car seats, door locks, rain sensors, ….. -the control area network (CAN, medium data rate) developed by BOSCH, is currently the most widely used vehicular network. A typical vehicle can contain two or three separate CAN networks operating at different transmission rates, from 125 Kbps up to a higher-speed at 1 Mbps for more real-time-critical functions. -the FlexRay is proposed for X-by-Wire applications which require higher data rate(10 Mbps) and safety. FlexRay is a fault-tolerant protocol designed for high-data-rate, advanced-control applications. X-by-wire systems replace the mechanical control systems with electronic component. Figure 1 illustrates the embedded network architecture. We can observe that these networks have a hierarchical structure. chassis domains (at 250 or 500 kbps). It is also implemented as an SAE class B network for the electronics in the body domain (at 125 kbps). In CAN, data are transmitted in frames containing up to 8 bytes of data and a number of control bits. A CAN frame is labelled by an identifier whose numerical value determines the frame priority. Depending on the CAN format (standard CAN 2.0A or extended CAN 2.0B) the size of the identifier is 11 bits (CAN 2.0A) or 29-bits (CAN 2.0B). Between CAN frames sent on the bus, there is also a 3 bit inter-frame space. The standard CAN frame format is depicted in Figure 2.  (Nolte, 2006)) Regarding the CAN MAC layer, CAN is a collision-avoidance broadcast bus (CSMA/CA for carrier sense multiple access with collision avoidance), which uses deterministic collision resolution to control access to the bus. It implements a fixed-priority based arbitration mechanism that can provide real time guarantees and that is amenable to timing analysis. As distributed real time systems become more and more complex, the computing power is steadily growing, and the number of ECUs attached to CAN buses is growing. Thus CAN's maximum speed of 1 Mbps can lead to performance bottlenecks. Hence, methods for increasing the achievable utilisation are needed, e.g., novel analysis methods that allow increased utilisation while guaranteeing timing requirements to be fulfilled, and novel approaches to schedule CAN.

The FlexRay protocol
X-by-wire systems need fault-tolerant communications with predictable message transmissions and low jitter. This is traditionally solved using TDMA technologies, thanks to their predictable nature. FlexRay (FlexRay Consortium, 2009) is a TDMA communication system developed by a consortium founded in 2000, including both car and semiconductors manufacturers. FlexRay is a fault-tolerant protocol designed for high-data-rate, advancedcontrol applications. FlexRay is considered by manufacturers as the backbone network for the other networks like CAN or LIN Currently, FlexRay can handle communications at 10 Mbps. An overview of the FlexRay frame format is given in Figure 3. The frame consists of three segments: the header segment, the payload segment (up to 254 bytes of data), and the trailer or CRC segment. Communication is done in a communication cycle consisting of a static part and a dynamic part, where each of the parts may be empty. The sending slots are represented through the identifier (ID) numbers that are the same on both channels. The sending slots are used deterministically (pre-defined TDMA strategy) in the static part. In the dynamic part there can be differences in the phase on the two channels. Nodes that are connected to both channels send their frames in the static part simultaneously on both channels. An interesting feature of FlexRay is that it can provide scalable dependability i.e., the "ability to operate in configurations that provide various degrees of fault tolerance.". However, this network still uses specific wires, which do not achieve compatibility with other networks. So, gateways are necessary to transfer information from ECUs connected to a domain network to ECUs connected to other networks. Those gateways could introduce latency, errors, bottlenecks, and so on. Other fault-tolerant networks have been developed, namely TTP and TT-CAN, but it seems they are not the best choice for automotive manufacturers due to limited flexibility, high costs and conflicting interests (Nolte, 2006). Considering these specific embedded networks, we can observe that each solution uses its specific wires and communication system. We can see the wide diversity of the solutions and the necessity to find a limited set of networks which answers to the growing of the multiple applications and requirements. Furthermore, gateways are necessary to switch from one network to another one. This increases the propagation time and does not guarantee real time. One idea to avoid the growth of wires would be to use the PLC technology that is currently developed for indoor AC networks to transmit information over the 12V power distribution (Rubin, 2002). The possible applications of automotive PLC are very wide, extending from low-speed data buses for activating actuators to high-speed multimedia applications.

Power Line Communication (PLC)
Many studies are carried out on in-vehicle PLC and focus both on channels, impulsive noises, drivers and protocols. The in-vehicle networks have reduced the number of wires, allowing communication between different typologies of electronic systems (safety devices, entertainment devices, and power train electronics). Additional cost reduction can be accomplished by adopting PLC approach. PLC can be considered to provide the physical layer for serial communications among ECU using for example LIN or CAN transceivers. In this case, the dedicated bus is eliminated. However, PLC can provide both the physical and MAC layers, allowing full compatibility between any ECU. This section considers first the different indoor PLC solutions. Then we focus of in-vehicle PLC driver solutions.

Indoor PLC
In 2000, a coalition of manufacturers has established a new protocol HomePlug 1.0 that enables the establishment of an Ethernet-IP class network over power line channels (Home Plug V1.0, 2009). The HomePlug process is based on an OFDM technique (Bahai et al., 2004) whose major advantage for the embedded PLC application is to cope with the frequency selectivity of the power line channel caused by the multiple reflections of the loads connected to the power grid and by the coupling to the other cables placed in the same bundle. The modulation is based on 128 subcarriers equally spaced from 4.3 MHz to 25 MHz, in conjunction coding applied before differential encoding. HomePlug uses CSMA/CA protocol to access to the network. Figure 4 represents the PHY frame format.  More recently, the HomePlug AV (HPAV) has been introduced and will be the second major standard released by the HomePlug Powerline Alliance (Gavette, 2006) (Afkhamie et al., 2005. The main HomePlug AV's objective is to distribute multi-media content within the house as well as data. The PHY layer still operates in the frequency range of [2 -28] MHz and provides a 200 Mbps PHY channel rate (150 Mbps net information rate). Long OFDM symbols with 917 usable carriers (tones) are used in conjunction with a flexible guard interval. Modulation densities from BPSK) to 1024 QPSK are independently applied to each carrier based on the channel characteristics between the transmitter and the receiver. Experimental systems of HPAV have been field tested in houses, suggesting that on average HomePlug AV system achieves 10 times the data rate of a HomePlug 1.0 system. At the same time, The HD-PLC (High Definition Power Line Communication) (Galli, 2008) solution has been proposed by Panasonic. It is based on a specific OFDM modulation called Wavelet-OFDM which exploits the Wavelet transform combined with 2 to 16 PAM modulations. The Wavelet OFDM achieves highly efficient transmission with characteristics that exceed even FFT-based OFDM systems. Wavelet OFDM features greater speed efficiency and forms a deeper "flexible notch" that prevents interference with shortwave and other broadcasts. No guard interval is included. The MAC layer uses the hybrid TDMA and CSMA/CA protocols synchronized with the AC line cycle. Table 1 summarizes the current PLC solutions. Todays, the HomePlug Alliance, HD-PLC alliance and the IEEE (IEEE P1901, 2008) are strongly committed to delivering a single mature solution that will be endorsed by the IEEE P1901 work group as the baseline standard. A standard for high speed (over 100 Mbps at the physical layer) communication will be proposed and will use transmission frequencies up to 100 MHz. These PLC solutions could be investigated in an automotive environment.

In-vehicle PLC
Although high data rate and flexibility obtained for indoor domestic PLC are proven, it is not possible to apply them directly to cars because the geometrical characteristics and wires topologies are totally different. PLC can be considered for the PHY layer only or for the MAC and PHY layers. These two configurations are considered below. In (Benzi et al., 2008), the authors focus on the issues that need to be addressed when introducing PLC in vehicle. Three main domains need to be covered: the physical (PHY) layer, the data link layer and the performances. In order to answer to them, the properties of the automotive in board PLC supply networks have been investigated (Huck, 2005) (Arabia et al., 2006, (Degardin et al., 2006), (Mohammadi et al., 2009). The results show the insertion losses over the  MHz bandwidth are about -15 dB and -36 dB in the frequency range [0.500-30] MHz. The noise measurements show an increasing background noise in the frequency ranges [0-100] MHz, especially at frequencies less than 10 MHz, the peaks of the noise could be in the range [-90 dBm/Hz; -40 dBm/Hz]. Varying space between cabling and car body results in changing behaviour of the whole system. A new wiring harness structure is proposed in (Benzi et al., 2008), based on a star structure using active star couplers. The transfer function of this wiring seems to be more flat in the range between 150 and 250 MHz. However this solution needs to re-organize all the harness, which is different from one vehicle to another one. Considering first the PLC for the PHY layer, a power line communication system over 12 to 42 V wires combining the LIN protocol and a PLC driver has been proposed ( De Caro, 2009). In order to avoid interferences between the master and slaves LIN nodes, two different transmission modes have been adopted, one based on BPSK for master to slave transfers, while slave mode exploits a BASK modulation. The modulation must support data transfer at 10 Kbps, while the accepted conducted emission limits need to be less than 53 dBμv in the [1-30] MHz band. Two carriers have been selected, one at 100 KHz for low power modules and one at 2 MHz for high power modules. Although this LIN and PLC transceiver is an attractive solution, the data rate remains under 10 Kbps that is not convenient for X-by-wire applications. A similar approach has been proposed for CAN protocol by many authors (Yamar, 2009), (Silva et al., 2009) (Beikirch et al., 2000. The Yamar solution implements CAN and PLC using the DC-BUS technology with different bit rates up to 1.7 Mbps. It uses narrow band channels with a center frequency between [2-12] MHz. The DC-BUS protocol uses the CSMA/CA multiplex mechanism allowing bidirectional communication up to 16 nodes. In addition, this CAN-PLC solution can be used as a redundant channel for the CAN protocol. However, this solution still does not answer to data rate over 10 Mbps. Additional PLC drivers combining MAC layers have been presented in (Benzi, 2008). The commercial solutions are available for automotive but to our knowledge not implemented yet in vehicles. More recently, PLC in electric vehicles has been studied in (Bassi et al., 2009). One can think that the requirements of such communication system within an electrical car differ from a fuel car. An experimental setup has been built. It uses 2 ECUs and 2 DCB500 transceivers to modulate the DC-line. The DCB500 transceivers feature PLC communication over DC-line with a bit rate up to 500 Kbps. The conducted and irradiated emissions show substantial compatibility, except for the lower end frequencies (under 1 MHz) where significant peaks are highlighted. In addition, different channel measurements in electric cars have been carried out in (Barmada et al., 2010). Different cases are considered (front to/from rear part) with different vehicle's configuration (position key, battery,…). As for fuel vehicle, the channels are very frequency selective in the [0-30] MHz. We can conclude that the fuel and electric vehicles seem to have similar behaviours in term of frequency channel and noise for PLC applications. Another solution for PLC is to consider both the MAC and PHY layers. Considering the channel measurements, the candidate techniques for in-vehicle PLC are spread spectrum combined with code division multiple access (CDMA) (Nouvel et all, 1994) and OFDM. OFDM allows high data rate and outperform CDMA performances in term of throughput. and frequency selectivity. Experimentations using indoor OFDM PLC modems have been carried out and presented in detail in previous studied presented in (Gouret et al., 2006), (Gouret et al., 2007), , (Degardin, 2007) and more recently in (Nouvel et al., 2009A). The results are very promising. Data rate up to 10 Mbps/s can be achieved in the [0-30MHz] bandwidth. The solutions are based on HPAV standards. In  two PLC modems have been tested: SPIDCOM (Spidcom, 2008) and DEVOLO modems. In the SPIDCOM modems, the OFDM modulation is based on 896-carriers from 0 to 30 MHz divided into 7 equal subbands. The MAC layer provides a mechanism based on TDMA and CSMA/CA is also available. The PHY and MAC layers are similar to the HPAV ones but differ in some points: number of sub-bands, equalization, and synchronization. With these SPIDCOM modems, an 8 Mbps is achieved with a transmitted power of -50 dBm. With a higher level (-37 dBm), we achieve about 12 Mbps. For multi-media applications, this rate can be sufficient, but decreases rapidly according to the loads. Then measurements have been carried out with DEVOLO PLC modems. They comply with HPAV and support data speed of up 200 Mbps in a range of 200 meters within a household grid. For intra-car communications, the power supply and the coupling have been modified to take into account the DC channel. Additional measurements are presented in next section. Figure 5 illustrates the spectrum of the transmitted signal over the DC line. Beyond these promising results, the choice of the modulation parameters will be driven by the PLC channels and optimized with regards to the bandwidth, the modulation technique, the coding rate, the guard interval, and so on. This discussion is presented in the next section.

In-vehicle measurements
In this section we deal with in-vehicle PLC measurements. In a first time we show some results about real PLC transmissions. Indeed, we have decided to test the feasibility to adapt indoor PLC modems in car. Then, we study in more details the in-vehicle PLC channel with different measurements about the transfer function and the noise. To achieve the capacity of the channel through the cables for PLC, many transfer functions between nodes in the vehicle have been measured. Noises have also been considered.

In-vehicle PLC transmissions 4.1.1 Data rates measurements testbed
We have tested two indoor PLC modems complying with the standards HPAV and HD-PLC in one car. We have measured throughputs at different points on a gasoline Peugeot 407 SW. The Figure 6 illustrates the different points used during the throughput measurement. Several scenarios have been used: 1. Car with engine-turned off 2. Car with engine-turned but not moving 3. Car with engine-turned but not moving and effects of lightning, warnings, radio, windscreen wiper, electric windows 4. The car in motion and the effects of the equipments like in 3)

Fig. 6. Measurement scheme: the different uppercases represent the measurement points
The measurements have been achieved with two PLC modems and two computers which have been plugged into the different points shown Figure 6. Therefore, we have measured the TCP throughput between two points with two modems and two PC. The measurement between points A and D has been called path AD. The throughputs are measured associated with the payload ignoring headers. The throughput is also called "Goodput" according the definition in section 3.7 of (Newman, 2009).

Results and discussion
Throughputs for different points have been studied and we can first observe a difference between scenario 1) and the others. Figure 7 to 9 represent the throughput we obtain with the two modems. Throughputs in Figure   For scenario 2), 3) and 4) we remark that the HPAV has the best performances. Moreover, we can observe short variations between the scenarios for the two indoor standards. Furthermore there is a throughput difference according to the path in-vehicle. Indeed, we can see that the path HD has throughput higher than all the others. Indoor PLC standards have been designed according indoor channel characterization. Moreover, the power level of the transmitted signal has been chosen according the indoor CEM constraints. In fact, to respect the vehicle CEM it has been said in (Degardin et al., 2007) that the power level of transmitted signal should be between -60 dBm/Hz and -80 d B m / H z . T h i s s p e c i f i c p o i n t m u s t b e t a k e n into account for next PLC in-vehicle transmission. That's why measurements on several vehicles have been achieved and are discussed in the next subsection.

In-vehicle channel measurements
In order to design a future PLC modem it is necessary to study the PLC in-vehicle channel.
Here the transfer function and the background noise is studied. Additional measurements have been performed on recent vehicles for two classes of paths: front to front and rear to front (Tanguy et all, 2009). Figure 10 and 11 illustrate the results according to our testbed ( Figure 6). In order to analyze the DC PLC architectures, additional transfer functions are measured on four different vehicles. The vehicles are classified according to: the number and type of ECUs, the length of wires, the combustion engine.

Measurement testbed
The S-parameters are recorded using a full 4 ports Vector Network Analyzer (VNA) and a PC interfaced to remote the device. We record the S-parameters during about 10 minutes while the car is moving. The S-parameters are recorded about every 10 seconds for the 3 different paths: GF, GH and HD. Compared with the previous subsection we have introduce a new measurement point called G which is for the most of vehicle tested a cigar lighter receptacle. These paths have been chosen in order to analyze the differences between front to front and rear to front. Regarding the noise, the same points have been considered: G, D, F and H. Two different noise studies have been carried out. The first consists of the measurement of the power spectrum at each point during 10 minutes every 10 seconds with the vehicle moving. The second is a measurement in the time domain. In fact, a digital storage oscilloscope (DSO) has been used to record at each point the signal over the DC line. With this testbed we are able to record two signals at two different points in the same time. Thus, we can observe the level of noise at two different points simultaneously. Finally, the measurements have been performed on a Peugeot 407 SW gasoline and diesel, a Renault Laguna II Estate and a Citroën C3. Figure 10 and Figure 11 show an example of time and frequency responses for the three paths GF, GH and HD and for a measurement bandwidth of [1-31] MHz. The impulse responses have been calculated with the inverse Fourier transform of complex parameter S21.  To optimize the modulation parameters, we have to consider the noise. Figure 12 represents an example of noise measurement with a spectrum analyzer for 4 different points in a Peugeot 407 SW gasoline. We observe an increase of noise for some frequencies in the bandwidth [0 -5] MHz. Moreover we can see narrowband noises. Like in (Yabuuchi et al., 2010) we have applied to noise recordings in-vehicle a time frequency analysis. In Figure 13 we show an example of spectrogram computed with the DSO recording at point G measured on the same vehicle. We have computed the spectrogram with short-time Fourier transform where an Hamming window of length equal to the length of HPAV OFDM symbol (40.96 µs) and an FFT size of 3072 points like in HPAV standard.

Results & discussion
In Figure 13 we can observe that in the bandwidth [0 -5] MHz the noise is constant during the time of the recording. Therefore, in the case of a multi-carriers modulation transmission in the bandwidth [2-30] MHz some subcarriers will be affected during all the transmission time.
We have observed that the average attenuation, the coherence bandwidth and the RMS delay spread are very different according the vehicles, the paths in-vehicle and the paths between vehicles. We verified the capacity for each paths of each vehicles with the parameters of the We observed also differences between the paths and the vehicles. The vehicles have not the same electrical topology. In fact, it depends on car manufacturer, the size of vehicles, the number of ECUs ... Therefore the load on the electrical network, the length of wires and the junctions between cables are different. We have several channels which are different according the paths and the vehicles like we have shown with the coherence bandwidth, the time delay spread, the channel gain and the capacities. The multicarrier modulation seems to achieve good performances like we have seen during the throughput measurement of HPAV and HD-PLC standards. In this study, only the channel function transfer and the background noise have been studied. The impulsive noise is an other important aspect to take into account  and (Degardin et al., 2008) for powerline communication. According to us the MAC/PHY layers must be designed to take into account the differences between vehicles and the differences between paths in-vehicle. Future work will be focus on the integration in a simulator of all the channel measurements (transfer function, background noise, narrowband interference and impulsive noise) in order to optimize the modulation scheme.

In-vehicle wireless communications
The interest in wireless networking has grown significantly due to the availability of many wireless products. Looking at in-vehicle communications, more and more portable devices, e.g., mobile phones, laptop computers and DVD player can exploit the possibility of interconnection with the vehicle. Wireless communication could be an attractive solution to reduce the number of cables and disturbances in cars. We have reviewed potential wireless solutions, specifically two of them in (Nouvel et al., 2009A). We have performed tests similar to PLC tests in order to qualify the channel in the 2.4 GHz band. Data rate measurements show it is possible to achieve more than 10 Mbps/s in the vehicle, using also OFDM technology. Additional studies have been carried out in . The authors in (Zhang et al., 2009) have conducted measurements in the [0.5 -16] GHz band. One can observe the different delay profile, different clusters, different paths and the impact of passengers. Due to lake of space, it is not possible to describe all the measurements. And we invite the interested readers to look at the papers and chapters.

From static to dynamic ECU and communication networks
Taking into account all these networks, from s p e c i f i c n e t w o r k u p t o P L C o r w i r e l e s s combined with the constraint of flexibility and security, one attractive idea is to be able to switch from one network to another one, without additional cost. If the main communication fails, the ECU ( modem) can switch to the secondary protocol and continue to run. Reconfigurable architectures based on FPGA may offer very flexible links inside a vehicle. A dynamically reconfigurable system allows changing parts of its logic resources without disturbing the functioning of the remaining circuit. This property can applied for networks, in order to allow changing from one protocol to another one according to the channel behaviour, errors, load, etc. This section will discuss about this new concept and demonstrates how it can be integrated in vehicle. Certain modern FPGAs offer dynamic and partial reconfiguration (DPR -Dynamically and Partially Reconfigurable) capability that allows to change dynamically one portion of the FPGA without affecting the rest of the circuit. Currently, the Xilinx Virtex FPGAs (Xilinx, Inc, 2008) are the only commercially available circuits supporting the DPR paradigm and large applications implementation. Internal structure of a Xilinx Virtex5 is presented in Figure 1. The main resources dispatched in the FPGA matrices are slices, DSP blocks (DSP48E), memory blocks (BRAM), input/output (IO) banks, and Clock Management Tiles (CMTs) as well as the reconfiguration interfaces, so called ICAP. Slices are the smallest configurable elements constituted of LUTs (Look-Up Table), registers and logic gates. DSP blocks offer a powerful set of processing elements for data applications.
The dynamic reconfiguration takes place in Partially Reconfigurable Region (PRR) which can be partially reconfigured independently. Designing a dynamically self-reconfigurable system always require the declaration of PRRs. A PRR is implemented statically despite the fact that its content is dynamic. Thus, at runtime, dynamic reconfiguration can only take place into the PRR. Communications between a dynamic task and its static environment is assured through the bus macro interfaces. Bus macros are also specified statically.

Fig. 14. View of the Virtex5 5VSX50T captured from Xilinx PlanAhead design tool
The FPGA fabric is partitioned into one static logic and one or more partially reconfigurable regions (PRRs). This fabric partitioning enables reconfiguration of a single PRR without system interruption (the static region and other PRRs continue execution while only the reconfigured PRR halts). Each PRR has a related partial bitstream and the reconfiguration process can be done by sending this partial bitstream to the reconfiguration port. In modern FPGAs, the reconfiguration is stored in SRAM based memory, leading to a weakness from a reliability point of view. Modern FPGAs, besides customary high-density reconfigurable resources, offer the designers the possibilities of implementing programmable processors having features of Commercial Off-The-Shelf (COTS) components (no need to modify processor architecture or application software). Processors play the role of processing units, and one particular is used as coordination units in the embedded system. Besides, processors are in charge of collecting the data from peripherals and from the memory, process the data and send them to the memory and to the peripherals. Also, processors manage the memory and initialize the peripherals. Xilinx FPGA devices include two categories of processors: the hardcore embedded processor (PowerPC) (Xilinx, Inc, 2004) and softcore processors (MicroBlaze, PicoBlaze) (Xilinx, Inc, 2009 in compiled forms of binary files called bitstreams. A bitstream is the set of binary data describing the circuits implemented on the FPGA, or in PRRs (partial bitstream). Shorten term "bitstream 1" will refer to all the bitstreams of FPGA1, idem with "bitstream 2" for FPGA2, …. The processor software context is a set of information needed to uniquely define the state of the processor at a given moment. It could include the states of the processor registers, the cache, the memory, etc. Saving and restoring all relevant values allow for processor context switching and error recovery. The softcore processor MicroBlaze context is represented by the 32-bit values of 32 General Purpose Registers and two Special Registers: the Program Counter (PC) and the Machine Status Register (MSR). A MicroBlaze task migration consists in migrating hardware task, software task and restoring the software context. Hardware task migration requires the appropriate peripheral to be added using dynamic reconfiguration. Software context is also migrated by dynamic reconfiguration. And copying the saved software context into the related MicroBlaze program memory does the software context recovery process. Due to their flexibility, FPGAs are attractive for mission-critical embedded applications like automobile domain, but their reliability could be insufficient unless some fault-tolerance techniques capable of mitigating soft errors are used. Dynamic partial reconfiguration provide not only the flexibility in both hardware and software, but also further solutions dealing with reliability problem in critical domains. The dynamic reconfiguration allows the reloading of the defected module to the correct state and the re-execution of the attributed tasks. It cans also re-distribute defected tasks in the faulty module to other processing units in the system. We present here the feasibility of integrating dynamic reconfiguration features into automotive-aimed applications in which certain fault-tolerance degrees should be maintained. In case of a fault occurrence, the system must be capable of react in real-time to ensure the safety for driver as well as pedestrian. The reaction in this case can be the fast fault detection and correction by loading the original configuration to put the faulty module to the state as at start-up. It can also be the critical task migration from the defected module to another module.
To define a new embedded automotive platform based on reconfigurable architecture, in CIFAER (CIFAER, 2008) we advocate for the use of Radio Frequency and Power-Line Communication for intra-vehicle communications . The communication can be switched from one to the other by dynamically reconfiguring a defined communication zone on an FPGA. These two modes offer very flexible links inside a vehicle. Figure 15 shows the fault-tolerant multi-FPGA platform. The system consists of four FPGAs connected together using two Ethernet communication (in future development one will be based on PLC interface, while the other will be constructed on RF connections). The first network is routed via a network switch, the other network form a ring topology for the fault-tolerance purpose. The Ethernet protocol is built by Ethernet controller as MicroBlaze hardware peripherals and LightWeight IP (LightWeight) as the software library. The lwIP is an open-source stack using TCP/IP protocol, which can be easily adapted to PLC and wireless modem. Each FPGA contain a fault-tolerant dynamic multi-processors system, consisting of several MicroBlaze (Figure 16). Further details about this system architecture, called FT-DyMPSoC, as well as the fault-tolerance schemes implemented can be found in (Pham et al., 2009) and (Pham et al., 2010) for interested readers. On the overall system, each FPGA is interfaced with a memory that can be accessed by all the processors inside the same FPGA. This memory is partitioned into three segments ( Figure 15): -One for saving all the bitstreams and the software contexts of all the processors of this particular FPGA. -One for saving all the bitstreams of the next FPGA in the ring network. -One reserved and used in case of failure occurrence in the system. This segment helps to transfer the bitstreams and contexts between different FPGAs. The memory segmentation guarantees the existence of at least one copy of all the bitstreams over the whole network. As we can see in Figure 17, the bitstream of each FPGA is present in its local memory and also in the local memory of the previous FPGA in the ring topology. For example, FPGA1 stores its own bitstream 1 and and the bitstream 2, FPGA2 stores bitstream 2 and bitstream 3… These copies will be used in case of system failure, and permit fast context switching. The fault-tolerance degrees are maintained at two levels in the system. The Intra-FPGA level corresponds to the fault-tolerance strategy inside each FPGA, and is related to the design of the FT-DyMPSoC system. The fault-mitigation strategy is realized using the connection matrices algorithm (Pham, 2009), and fault are mitigated by using dynamic reconfiguration at the processors level. The second level called Inter-FPGA level corresponds to the overall system presented in Figure 15. To detect error in the overall network, all the FPGAs exchange frequently among them detection frames. These frames contain the software contexts of the four MicroBlazes of each FPGAs. On one hand, this helps detecting error in the network. On the other hand, including the contexts within the detection frame will help to resume the tasks of a faulty FPGA on another FPGA. During the exchange if the contexts of one FPGA (i.e. FPGA3 in Figure 17) are not received by the others circuits, the FPGA3 is declared faulty. There are 2 possibilities: the MicroBlaze 1 (supporting the interface to the network) of FPGA3 is faulty, causing the communication lost of this FPGA, or the whole FPGA3 is faulty. In order to distinguish these 2 possibilities, the secondary ethernet links is used. FPGA2 and FPGA4 try to communicate with MicroBlaze 2 and 3 of FPGA3. If these communications fails, the whole FPGA3 is declared defected, if not, only the MicroBlaze 1 is defected. If only one MicroBlaze inside one FPGA fails, we can manage this error thanks to dynamic reconfiguration of this processor or by using task migration within the MPSoC system. The error is managed at the FPGA level. If the whole FPGA fails the task migration concerns the overall circuit. In this case the task of the FPGA3 needs to be dispatched across the remaining circuits. If the system cannot manage all the tasks with one missing FPGA priority needs to be defined and used to maintain critical services for example. In this case, arbitration on the running tasks needs to be executed, and reconfiguration of the remaining FPGA is launched. If one FPGA is lost, we need to maintain the two bitstreams copy stored in the faulty FPGA. For example, if the FPGA3 is lost (Figure 17), the copies of bitstream 3 and 4 are inaccessible requiring a clone of bitstream 3 and bitstream 4. We propose here 2 strategies delivering the bitstream 3 and 4 to other FPGAs. 1. The first strategy uses only the secondary communication media. We need to use FPGA1 reserved segment as intermediate medium. First the bitstream 4 is copied from FPGA 4 to FPGA1 reserved segment, then to FPGA2. Afterwards, bitstream 3 is copied from FPGA2 to FPGA1, then to FPGA4.
2. The second strategy requires both communication media. Bitstream 4 is copied from FPGA4 to FPGA1 using direct Ethernet link. Simultaneously, bitstream 3 is copied from FPGA2 to FPGA4 using the primary Ethernet via the switch. In case the Ethernet switch fails, all the primary Ethernet connections are defected; This leads to a connection loss between all the FPGAS. At this moment all circuits switch to the ring topology. The second network will then ensure proper operation of the overall system. The use of redundancy of the network, coupled with the new dynamically reconfigurable paradigm permits to construct highly reliable system.