Politecnico di Torino (logo)

EVERGRIN: Real-time and safety critical software development for electric retrofit automotive application

Giovanni Di Filippo

EVERGRIN: Real-time and safety critical software development for electric retrofit automotive application.

Rel. Stefano Carabelli, Giovanni Guida. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2021


The EVERGRIN project aims at developing a software and hardware product that would simplify the process of transforming a vehicle with an internal combustion engine into an electric vehicle. This product consists of a VMU on which the most complex features necessary for cars management will be centralized. The VMU will also interface with the natively existing systems on the vehicle, and it will have to connect to the already present CAN network. There must also be a new CAN network dedicated to the implementation of the new control functions. Although there are already products on the retrofit market able to electrify "traditional" cars, the innovative approach proposed by brain Technologies s.r.l. will allow the application of the VMU on modern vehicles without the loss of safety and comfort features. Given the complexity of this project a team of numerous colleagues was formed. My role was to implement the software of the VMU; the software has been written in C and the compiler used is TASKING VX-toolset for C166 v3.0r3, which came with an integrated development environment based on Eclipse. The first step consisted in performing a CAN bus sniffing activity of a FIAT Panda 1.2, to identify the CAN frames generated by fundamental actions such as the activation of the power steering. This activity helped me to get acquainted with how the CAN network works in a real vehicle; moreover, a CAN database has been built with the information that has been discovered. This database will play an important role in the VMU integration that will be fulfilled later on. Then, before introducing the board chosen as VMU, a brief introduction of the real-time operating systems and possible scheduling strategies that can be adopted has been made; the operating system used is MiniTASK. It offers an easy and intuitive way of defining tasks, and the possibility to assign them a certain priority. It also allows the implementation of interrupts. The board that has been chosen as VMU is a HY-TTC 32S made by TTControl. Its features are briefly described into a dedicated chapter. This board is safety certified, since it can exploit a watchdog that can bring the VMU to a safe state by interrupting the main and disabling the safety switches via a dedicated output. The board capabilities have been fully analysed to discover which mechanisms could have been implemented on the VMU. These analyses include traditional stress tests, to understand how many operations a task could perform. Furthermore, the peripherals performances were studied to check the most suitable ones to conduct certain operations. However, the most important tests were made to discover if the chosen board was able to perform pre-emption and to handle the tasks overrun. This preliminary phase of study of the board characteristics has been conducted to be sure that the MATLAB C code generated via embedded coder could have been integrated. Designing the tasks by means of a Simulink model facilitated the development phase of the control logic, by exploiting the simulation tools offered by Simulink itself and by exploiting the rapid prototyping via dSPACE. To check if this approach could have been applied to the definitive development of the VMU software, a demo has been prepared. This demo consisted of testing the correctness of the acceleration pedal application. The success of this demo has shown how the integration on VMU of this type of code is a winning approach for the development of this project.

Relators: Stefano Carabelli, Giovanni Guida
Academic year: 2021/22
Publication type: Electronic
Number of Pages: 109
Additional Information: Tesi secretata. Fulltext non presente
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: Brain technologies
URI: http://webthesis.biblio.polito.it/id/eprint/21209
Modify record (reserved for operators) Modify record (reserved for operators)