Developing of a CAN-FD sniffer with Python

Today, the CAN-FD protocol is taking over classical CAN, as it allows afaster transfer speed, and as technology is being developed, more and moreinformation is needed to be sent and processed between several devices con-nected all together in order to perform. In this project, a CAN-FD sniffer1softw...

Descripción completa

Detalles Bibliográficos
Autor: Cortes Fuentes, Joaquin Esteban
Tipo de recurso: tesis de maestría
Fecha de publicación:2019
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/177412
Acceso en línea:https://hdl.handle.net/2117/177412
Access Level:acceso abierto
Palabra clave:Computer network protocols
Computer architecture
Python (Computer program language)
Protocols de xarxes d'ordinadors
Arquitectura d'ordinadors
Python (Llenguatge de programació)
Àrees temàtiques de la UPC::Enginyeria electrònica
Descripción
Sumario:Today, the CAN-FD protocol is taking over classical CAN, as it allows afaster transfer speed, and as technology is being developed, more and moreinformation is needed to be sent and processed between several devices con-nected all together in order to perform. In this project, a CAN-FD sniffer1software has been developed in Python language, in order to be able tocommunicate through a CAN-FD network, using a CAN-FD controller andtransceiver, a SPI interface, and a FTDI-USB cable to connect this device to aPC.A Python library has been written in order to implement the communica-tion of the PC and the CAN-FD. Currently, there are already libraries to dothis functionality in other languages (such as C and C++), but Python waschosen because this language is lacking this kind of libraries that supportCAN-FD (there are CAN libraries, but very few have CAN-FD support, andmost of them have limited support), and it is being more used every day indata analysis and machine learning tasks, so it is very important to be ableto capture all possible information about several devices in order to gatherdata and perform analysis.Finally, a GUI is implemented, in order to have a basic layout for usingthe library functions and perform simple tests so as to verify the library