Compare commits
65 Commits
78d07d9bb8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 98ba80dd42 | |||
| c0c66b7acc | |||
| fb299d77e3 | |||
| ecbe6b0006 | |||
| d182923b84 | |||
| 6ded71a2d4 | |||
| 4f2e73c0b8 | |||
| d92805e1b9 | |||
| a23003e3a0 | |||
| 991e241ecf | |||
| 0ed276e084 | |||
| 5b9fe6f16c | |||
| f10e9f2bc7 | |||
| 05e5be142b | |||
| 9102ffee3b | |||
| eac0d2442b | |||
| 8542c02825 | |||
| ebff79ffbb | |||
| 7be1a49171 | |||
| d5135f6c15 | |||
| 95168a2c86 | |||
| 312b32cdbc | |||
| b0e5976c19 | |||
| 2e24ecbec6 | |||
| 4c1202b5e6 | |||
| 8bd8880e0e | |||
| 189092c1fb | |||
| ca17fad5e8 | |||
| 53cfc081c5 | |||
| 55cc57c22f | |||
| 6b29988b7c | |||
| 0231f5d886 | |||
| 60c46daf89 | |||
| 9585f82fa4 | |||
| 8fba744847 | |||
| f6c456363b | |||
| eec1893467 | |||
| ea69bc863d | |||
| e5a60a93b5 | |||
| 25c9352a05 | |||
| b268b69a81 | |||
| c6ee37802e | |||
| 2052f4d87e | |||
| 5a212cef60 | |||
| 883400d2a8 | |||
| 0b057a3829 | |||
| 41a76da11b | |||
| 321d810565 | |||
| 3785d5ca82 | |||
| 6c29794d17 | |||
| 44e022afa8 | |||
| 71cf680da5 | |||
| 17c78725d0 | |||
| 3a1c1777b1 | |||
| 3f5a108871 | |||
| 68f5b35d3c | |||
| 41bebf0290 | |||
| 459495b26d | |||
| 4c63de95b1 | |||
| 73e2ab6a1b | |||
| 0e711f872b | |||
| 9d5e32c545 | |||
| b164114241 | |||
| bf6b89b615 | |||
| 2826902071 |
@@ -1,6 +1,7 @@
|
|||||||
## Core latex/pdflatex auxiliary files:
|
## Core latex/pdflatex auxiliary files:
|
||||||
*.aux
|
*.aux
|
||||||
*.lof
|
*.lof
|
||||||
|
*.lof*
|
||||||
*.log
|
*.log
|
||||||
*.lot
|
*.lot
|
||||||
*.fls
|
*.fls
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.9 MiB |
@@ -38,3 +38,123 @@
|
|||||||
year={2026},
|
year={2026},
|
||||||
organization={IEEE}
|
organization={IEEE}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@book{voss2008comprehensible,
|
||||||
|
title={A Comprehensible Guide to Controller Area Network},
|
||||||
|
author={Voss, Wilfried},
|
||||||
|
isbn={9780976511601},
|
||||||
|
year={2008},
|
||||||
|
publisher={Copperhill Technologies Corporation}
|
||||||
|
}
|
||||||
|
|
||||||
|
@booklet{komatsu_pc210_8_2017_brochure,
|
||||||
|
title = {{PC210/LC/NLC-8 Hydraulic Excavator: Specification Sheet}},
|
||||||
|
author = {{Komatsu Europe International NV}},
|
||||||
|
year = {2017},
|
||||||
|
organization= {{Komatsu Europe International NV}},
|
||||||
|
address = {Vilvoorde, Belgium},
|
||||||
|
note = {Publication No. UESS11010, 1/2017. Printed in Europe.}
|
||||||
|
}
|
||||||
|
|
||||||
|
@booklet{komatsu_komtrax_specification,
|
||||||
|
title = {{KOMTRAX}: Komatsu Wireless Monitoring System},
|
||||||
|
author = {{Komatsu Europe International N.V.}},
|
||||||
|
institution = {Komatsu Europe International N.V.},
|
||||||
|
year = {2020},
|
||||||
|
type = {Specification Sheet},
|
||||||
|
number = {EENSB10701},
|
||||||
|
address = {Vilvoorde, Belgium}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{pc210-230-240-manual,
|
||||||
|
title = {{PC210/LC/NLC-8: Manuale d'uso e manutenzione}},
|
||||||
|
author = {{Komatsu Europe International NV}},
|
||||||
|
year = {2010},
|
||||||
|
organization= {{Komatsu Europe International NV}},
|
||||||
|
address = {Vilvoorde, Belgium},
|
||||||
|
number = {UHAM004903},
|
||||||
|
}
|
||||||
|
|
||||||
|
@manual{telematics_industrial_vehicle,
|
||||||
|
title = {Utilization analysis methodology for fleet telematics of heavy earthwork equipment},
|
||||||
|
journal = {Automation in Construction},
|
||||||
|
volume = {92},
|
||||||
|
pages = {59-67},
|
||||||
|
year = {2018},
|
||||||
|
issn = {0926-5805},
|
||||||
|
doi = {https://doi.org/10.1016/j.autcon.2018.02.035},
|
||||||
|
author = {Seung Soo Lee and Sang-il Park and Jongwon Seo}
|
||||||
|
}
|
||||||
|
|
||||||
|
@manual{css_electronics_j1939,
|
||||||
|
title = {J1939 data starter pack},
|
||||||
|
author = {{CSS Electronics}},
|
||||||
|
year = {2022},
|
||||||
|
month = {04},
|
||||||
|
}
|
||||||
|
|
||||||
|
@manual{css_electronics_can_bus,
|
||||||
|
title = {CAN bus - the ultimate guide},
|
||||||
|
author = {{CSS Electronics}},
|
||||||
|
year = {2022},
|
||||||
|
month = {04},
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{diagnet-komatsu,
|
||||||
|
author = {{Diagnostic Network Forum}},
|
||||||
|
title = {Komatsu Dump Truck and Excavator CAN},
|
||||||
|
howpublished = {\url{https://diag.net/msg/mhqhzhqrnssvz4budshigpbqnn}},
|
||||||
|
note = {Technical discussion on Komatsu CAN bus format},
|
||||||
|
year = {2021}
|
||||||
|
}
|
||||||
|
|
||||||
|
@article{canmatch-reverse-engineering,
|
||||||
|
author={Buscemi, Alessio and Turcanu, Ion and Castignani, German and Crunelle, Romain and Engel, Thomas},
|
||||||
|
journal={IEEE Transactions on Vehicular Technology},
|
||||||
|
title={CANMatch: A Fully Automated Tool for CAN Bus Reverse Engineering Based on Frame Matching},
|
||||||
|
year={2021},
|
||||||
|
volume={70},
|
||||||
|
number={12},
|
||||||
|
pages={12358-12373},
|
||||||
|
keywords={Reverse engineering;Payloads;Standards;Protocols;Tokenization;CAN bus;automated reverse engineering;in-car networking;tokenization},
|
||||||
|
doi={10.1109/TVT.2021.3124550}}
|
||||||
|
|
||||||
|
@misc{tractorhacking,
|
||||||
|
title = {TractorHacking},
|
||||||
|
author = {{TractorHacking Project}},
|
||||||
|
year = {2024},
|
||||||
|
howpublished = {\url{https://tractorhacking.github.io/documentation/}},
|
||||||
|
note = {Reverse engineering John Deere tractor CAN networks with the PolyCAN diagnostic tool}
|
||||||
|
}
|
||||||
|
|
||||||
|
@book{brown2013discovering,
|
||||||
|
title = {Discovering the STM32 Microcontroller},
|
||||||
|
author = {Brown, Geoffrey},
|
||||||
|
year = {2013},
|
||||||
|
publisher = {Indiana University},
|
||||||
|
note = {Revision: 1396a85(2013-01-07). License: Creative Commons CC BY-NC-SA 3.0}
|
||||||
|
}
|
||||||
|
|
||||||
|
@manual{bosch1991canspec2,
|
||||||
|
author = {{Robert Bosch GmbH}},
|
||||||
|
title = {CAN Specification Version 2.0},
|
||||||
|
year = {1991},
|
||||||
|
month = {9},
|
||||||
|
note = {Document imported into Framemaker by Chuck Powers, Motorola MCTG Multiplex Applications, April 5, 1995},
|
||||||
|
organization = {Robert Bosch GmbH},
|
||||||
|
address = {Postfach 50, D-7000 Stuttgart 1, Germany},
|
||||||
|
url = {https://www.bosch-semiconductors.com/ip-modules/can-protocol/},
|
||||||
|
urldate = {2026-08-09},
|
||||||
|
abstract = {This document defines the Controller Area Network (CAN) protocol, including both the standard (11-bit identifier) and extended (29-bit identifier) frame formats, as well as error handling, fault confinement, and bit timing requirements.},
|
||||||
|
keywords = {CAN, Controller Area Network, serial communication, automotive, real-time control, protocol specification},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% datasheet (esiste questo?) per i vari datasheet: stm32f405.... , tja1050 ed eventuali altre cose su pcb
|
||||||
|
% da vedere anche per la presa deutsch
|
||||||
|
% also microcontrol j1939 protocol stack (download folder)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
\chapter*{Sommario}
|
||||||
@@ -0,0 +1,187 @@
|
|||||||
|
\chapter{Introduzione}
|
||||||
|
\label{ch:introduzione}
|
||||||
|
Negli ultimi anni, il settore delle macchine movimento terra è evoluto verso architetture elettroniche sempre più complesse.
|
||||||
|
Similmente ai veicoli stradali, i moderni mezzi d'opera integrano numerose \ac{ecu} e una vasta rete di sensori e attuatori, interconnessi
|
||||||
|
tramite il protocollo \ac{can} suddivisi in uno o più bus.
|
||||||
|
L'elevata mole di dati generati ha permesso lo sviluppo di sistemi telematici, diagnostici e di fleet management per monitorare lo stato di salute
|
||||||
|
del mezzo, ottimizzare i consumi e pianificare la manutenzione \cite{telematics_industrial_vehicle}.\\
|
||||||
|
\\
|
||||||
|
Tuttavia, l'accesso a questi sistemi viene limitato dai sistemi proprietari dei costruttori: sebbene i dati \ac{can} grezzi siano leggibili tramite strumenti
|
||||||
|
di diagnostica, spesso questi non seguono standard come \ac{sae} J1939 e vengono offuscati da \ac{id} proprietari, decodificati dentro ecosistemi chiusi.
|
||||||
|
Ad esempio, il sistema \textit{KOMTRAX}\texttrademark di Komatsu consente, tra varie possibilità, il tracciamento remoto, geofencing e l'analisi
|
||||||
|
di efficienza del mezzo \cite{komatsu_komtrax_specification}, che pur essendo efficace per monitoraggio e controllo, è una piattaforma che non espone
|
||||||
|
i frame \ac{can} né permette l'integrazione con software di terze parti. Operano in maniera simile altri sistemi proprietari, tra i quali \textit{VisionLink}\texttrademark (Caterpillar),
|
||||||
|
\textit{JDLink}\texttrademark (John Deere), \textit{LiDAT}\texttrademark (Liebherr), \textit{SiteWatch}\texttrademark (CASE e New Holland).\\
|
||||||
|
Per le aziende con flotte multimarca, questa mancanza di accessibilità limita lo sviluppo di soluzioni diagnostiche unificate e l'analisi approfondita delle
|
||||||
|
condizioni specifiche dei mezzi.\\
|
||||||
|
\\
|
||||||
|
Il presente lavoro di tesi nasce da questa esigenza operativa, in collaborazione con l'azienda edile CAT (S.a.s.). L'impresa ha espresso l'interesse a disporre di
|
||||||
|
strumenti diagnostici brand-agnostic per il monitoraggio della propria flotta di mezzi d'opera multimarca impiegati in scavi e movimento terra, in particolare
|
||||||
|
per scopi di manutenzione predittiva e monitoraggio delle condizioni del veicolo. \\
|
||||||
|
In questo contesto, ha messo a disposizione per le attività di sperimentazione un escavatore Komatsu PC210 NLC-8, consentendo l'acquisizione di dati
|
||||||
|
in condizioni operative reali e la validazione delle metodologie di reverse engineering.
|
||||||
|
|
||||||
|
\subsection{Stato dell'arte}
|
||||||
|
\label{sec:stato-dell-arte}
|
||||||
|
Al momento della scrittura del presente lavoro di tesi, la letteratura tecnica pubblica non riporta casi documentati di decodifica dei frame CAN
|
||||||
|
proprietari di mezzi di lavoro Komatsu. \\
|
||||||
|
Esistono tuttavia alcuni progetti correlati nel settore delle macchine off-highway e nel reverse engineering di messaggi \ac{can} più in generale: \\
|
||||||
|
\\
|
||||||
|
Un articolo IEEE introduce CANMatch, un tool automatizzato per effettuare reverse engineering di \ac{can} frame tramite frame matching, che ha permesso
|
||||||
|
di ottenere un metodo semplice per interpretare i dati proprietari loggati su più di 400 veicoli stradali \cite{canmatch-reverse-engineering}.
|
||||||
|
Questo metodo potrebbe applicarsi analogamente al caso di sistemi proprietari compatibili con SAE J1939. \\
|
||||||
|
\\
|
||||||
|
PolyCAN, parte del progetto TractorHacking, è un tool diagnostico che punta ad effettuare un reverse engineering del \ac{can} bus di trattori John
|
||||||
|
Deere e permettere l'iniezione di messaggi dall'esterno, in modo da ottenere controllo completo sul mezzo \cite{tractorhacking}. \\
|
||||||
|
\\
|
||||||
|
Seppur manchi letteratura pubblica specifica per escavatori Komatsu, evidenze empiriche riportate da comunità tecniche specializzate riportano che per
|
||||||
|
alcuni dei mezzi di questo marchio (specificamente un dumper HD785 ed un escavatore PC1250) i \ac{can} \ac{id} loggati non sono puramente J1939, ma un
|
||||||
|
protocollo ibrido contenente ID a 29 bit (Extended \ac{can}) ed a 11 bit (Standard \ac{can}) \cite{diagnet-komatsu}.
|
||||||
|
|
||||||
|
\subsection{Obiettivi}
|
||||||
|
\label{sec:obiettivi}
|
||||||
|
L'obiettivo di questo elaborato è lo sviluppo di un sistema per l'acquisizione, la decodifica e l'analisi dei dati di un escavatore idraulico
|
||||||
|
provenienti dal suo \ac{can} bus.
|
||||||
|
Nello specifico, il lavoro si articola in:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Identificazione:} Individuazione delle caratteristiche del sistema diagnostico del veicolo contenente accesso al \ac{can} bus;
|
||||||
|
\item \textbf{Acquisizione dati:} Sviluppo di un'interfaccia hardware per il logging dei messaggi \ac{can} in tempo reale;
|
||||||
|
\item \textbf{Reverse engineering:} Lettura e decodifica delle comunicazioni proprietarie Komatsu;
|
||||||
|
\item \textbf{Analisi dati:} Traduzione dei dati decodificati in parametri fisici.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\section{Contesto operativo}
|
||||||
|
Si introducono i protocolli di comunicazione utilizzati in questo elaborato di tesi.
|
||||||
|
|
||||||
|
\label{subsec:architettura}
|
||||||
|
Si effettua una breve descrizione del veicolo e dei sistemi hardware e software utilizzati per ottenere, decodificare ed interpretare i dati \ac{can}.
|
||||||
|
|
||||||
|
\subsection{Komatsu PC210 NLC-8}
|
||||||
|
\label{subsec:komatsu_pc210}
|
||||||
|
Il veicolo oggetto di studio è l'escavatore Komatsu PC210 NLC-8: si tratta di un escavatore idraulico cingolato
|
||||||
|
di media portata, parte della serie \textit{Dash 8} in commercio dal 2006 al 2016. La designazione NLC (\textit{Narrow Long Crawler}) identifica una
|
||||||
|
configurazione del sottocarro caratterizzata da una carreggiata ridotta e una maggiore lunghezza del telaio, ottimizzata per applicazioni che
|
||||||
|
richiedono un ingombro trasversale contenuto \cite{komatsu_pc210_8_2017_brochure}.
|
||||||
|
|
||||||
|
È equipaggiato con un motore diesel common rail a 6 cilindri in linea, sviluppato da \textit{Komatsu Cummins Engine Corporation} (KCEC), joint venture
|
||||||
|
paritetica tra \textit{Komatsu Ltd.} e \textit{Cummins Inc.}; infatti il motore \textit{SAA6D107E-1} montato sul PC210 NLC-8 è basato sulla stessa
|
||||||
|
architettura del \textit{Cummins 6D107} \cite{pc210-230-240-manual}.\\ % forse invece meglio citazione su questa roba del Cummins qua
|
||||||
|
Il sistema idraulico \textit{Komatsu HydrauMind} adotta una logica a centro chiuso (CLSS) abbinata al controllo mutuo pompa-motore \cite{pc210-230-240-manual}.
|
||||||
|
Sul piano dell'elettronica, questa integra nativamente il sistema proprietario Komatsu di telematica e gestione del mezzo \textit{KOMTRAX}\texttrademark
|
||||||
|
discusso precedentemente. \\
|
||||||
|
Il sistema \ac{can} consiste in un unico bus accessibile dalla \ac{ecu} oppure da una presa di diagnostica all'interno della cabina \cite{pc210-230-240-manual}.
|
||||||
|
Lo schermo nella cabina di controllo infatti è un nodo \ac{can} e visualizza eventuali errori o informazioni utili come regime motore e temperature
|
||||||
|
direttamente in modo da essere visibili in ogni momento all'operatore. Le informazioni visibili dal sistema \textit{KOMTRAX}\texttrademark vengono anche esse
|
||||||
|
comunicate tramite \ac{can} bus.
|
||||||
|
% TODO: foto schermo cabina acceso
|
||||||
|
|
||||||
|
La serie PC210 rappresenta una delle piattaforme più diffuse nel segmento delle medie portate a livello europeo. Komatsu è stabilmente tra i primi produttori
|
||||||
|
di escavatori nel mercato \ac{emea}, ed il PC210 è indicato come uno dei modelli chiave della gamma Komatsu in questa regione.
|
||||||
|
Un numero significativo di unità \textit{Dash 8} è ancora oggi operativo in flotte di piccole e medie imprese edili e di movimento terra, grazie alla robustezza meccanica
|
||||||
|
della piattaforma, alla disponibilità di ricambi (anche di provenienza Cummins per il motore) e alla relativa semplicità di manutenzione rispetto alle generazioni
|
||||||
|
successive.
|
||||||
|
% TODO: mettere fonti per tutto ciò
|
||||||
|
% TODO: foto motore
|
||||||
|
|
||||||
|
\vspace{5mm}
|
||||||
|
|
||||||
|
\begin{table}[htbp]
|
||||||
|
\centering
|
||||||
|
\captionsetup{skip=10pt}
|
||||||
|
\caption{Specifiche tecniche secondo \citeauthor{komatsu_pc210_8_2017_brochure}}
|
||||||
|
\label{tab:specifiche_nlc8}
|
||||||
|
\footnotesize
|
||||||
|
\renewcommand{\arraystretch}{0.85}
|
||||||
|
\setlength{\tabcolsep}{4pt}
|
||||||
|
\begin{tabular}{@{} p{4.5cm} p{9.5cm} @{}}
|
||||||
|
\toprule
|
||||||
|
\multicolumn{2}{@{}l}{\textbf{Powertrain}} \\
|
||||||
|
\midrule
|
||||||
|
Motore & Komatsu-Cummins SAA6D107E-1: Diesel common rail, 6 cilindri in linea, turbo aftercooled \\
|
||||||
|
Cilindrata & 6,69 L \quad (Alesaggio $\times$ Corsa: 107 $\times$ 124 mm) \\
|
||||||
|
Potenza (ISO 14396) & 116 kW (156 bhp) @ 2.000 rpm \\
|
||||||
|
Normativa emissioni & EU Stage IIIA \\
|
||||||
|
\midrule
|
||||||
|
\multicolumn{2}{@{}l}{\textbf{Impianto idraulico e scavo}} \\
|
||||||
|
\midrule
|
||||||
|
Pompe idrauliche & HydrauMind E-CLSS, 2 pompe a pistoni assiali a cilindrata variabile \\
|
||||||
|
Portata e pressioni max & 2 $\times$ 219 L/min \quad (Impl./Trasl.: 380 bar, Rotaz.: 295 bar) \\
|
||||||
|
Forza di scavo & 16.500 kg (benna) / 13.800 kg (braccio) \\
|
||||||
|
Capacità benna & 1,68 m$^3$ \\
|
||||||
|
Modalità operative & 5 (Power, Economy, Breaker, Attachment, Lifting) \\
|
||||||
|
\midrule
|
||||||
|
\multicolumn{2}{@{}l}{\textbf{Pesi e dimensioni}} \\
|
||||||
|
\midrule
|
||||||
|
Peso operativo & 23.360 kg \\
|
||||||
|
Carreggiata / Passo & 2.040 mm / 4450mm \\
|
||||||
|
Pattini & 700 mm \\
|
||||||
|
Profondità di scavo massima & 6.620 mm \\
|
||||||
|
\midrule
|
||||||
|
\multicolumn{2}{@{}l}{\textbf{\ac{can} bus}} \\
|
||||||
|
\midrule
|
||||||
|
Architettura & Singolo bus SAE J1939 con ID proprietari \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}{1\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0002.jpeg}
|
||||||
|
\caption{Frontalmente}
|
||||||
|
\label{fig:komatsu_front}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}{1\textwidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0001.jpeg}
|
||||||
|
\caption{Dal retro}
|
||||||
|
\label{fig:komatsu_rear}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{Komatsu PC210 NLC-8, oggetto di questo elaborato di tesi}
|
||||||
|
\label{fig:komatsu_overview}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\FloatBarrier
|
||||||
|
|
||||||
|
\subsection{STM32F405RGT6}
|
||||||
|
\label{subsec:stm32f405rgt6}
|
||||||
|
Introduzione alla stm32 usata
|
||||||
|
|
||||||
|
\subsection{FreeRTOS}
|
||||||
|
\label{subsec:freertos}
|
||||||
|
Descrizione di freertos, brevemente perche l'ho scelto ma poi lo dico meglio in Cap.2
|
||||||
|
|
||||||
|
\subsection{TJA1050}
|
||||||
|
\label{subsec:tja1050}
|
||||||
|
Descrizione TJA1050 e perche l'ho scelto (brevemente)
|
||||||
|
|
||||||
|
% fonti: datasheet per ste tre robe
|
||||||
|
%
|
||||||
|
|
||||||
|
\subsection{Protocolli di comunicazione}
|
||||||
|
\label{subsec:protocolli}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{CAN bus}
|
||||||
|
\label{subsubsec:canbus}
|
||||||
|
\cite{voss2008comprehensible}
|
||||||
|
\cite{css_electronics_j1939}
|
||||||
|
Il \ac{can} bus è un protocollo di comunicazione seriale che supporta in modo efficiente il controllo distribuito in tempo reale con un livello di sicurezza molto elevato.
|
||||||
|
Il suo ambito di applicazione va dalle reti ad alta velocità al cablaggio multiplex a basso costo. \\
|
||||||
|
Nell’elettronica automobilistica, le unità di controllo del motore, i sensori, i sistemi anti-slittamento, ecc. sono collegati tramite CAN con velocità di trasmissione fino a 1 Mbit/s.
|
||||||
|
Allo stesso tempo, è conveniente integrarlo nell’elettronica della carrozzeria del veicolo, ad esempio nei gruppi ottici o nei finestrini elettrici, per sostituire il cablaggio aggiuntivo altrimenti necessario. \\
|
||||||
|
% fonte CAN ISO 11898 bosch da aggiungere
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{SAE J1939}
|
||||||
|
\label{subsubsec:j1939}
|
||||||
|
\cite{css_electronics_can_bus}
|
||||||
|
Introduzione a SAE J1939
|
||||||
|
% fonte SAE J1939
|
||||||
|
|
||||||
|
\subsubsection{UART}
|
||||||
|
\label{subsubsec:uart}
|
||||||
|
Introduzione a UART
|
||||||
|
% trova una fonte
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
\chapter{Identificazione}
|
||||||
|
\label{ch:identification}
|
||||||
|
|
||||||
|
Questo capitolo descrive la prima fase pratica del lavoro: l'individuazione di un accesso fisico al \ac{can} bus del mezzo e l'identificazione delle linee
|
||||||
|
\ac{canh} e \ac{canl}. \\
|
||||||
|
Il capitolo è organizzato come segue: la sezione \ref{sec:access} descrive le diverse possibilità prese in considerazione per accedere fisicamente al bus e
|
||||||
|
motiva la soluzione adottata; la sezione \ref{sec:identification} presenta invece le misure effettuate per individuare le linee \ac{canh} e \ac{canl}.
|
||||||
|
|
||||||
|
\section{Accesso fisico al \acs{can} bus}
|
||||||
|
\label{sec:access}
|
||||||
|
|
||||||
|
Il primo passo per poter arrivare all'obiettivo finale di interpretare i dati \ac{can} è quello di identificare come è possibile accedervi fisicamente. \\
|
||||||
|
Per fare ciò si è iniziato con lo studio del manuale del mezzo \cite{pc210-230-240-manual}, il quale ha confermato che il mezzo supporta il
|
||||||
|
sistema \textit{KOMTRAX}\texttrademark: ciò impone quindi l'esistenza di un sistema \ac{can}, potenzialmente accessibile dall'esterno. Il manuale
|
||||||
|
non fornisce però ulteriori dettagli su eventuali prese diagnostiche o metodi per ricevere i dati tramite il \textit{KOMTRAX}\texttrademark.\\
|
||||||
|
È stato quindi necessario cercare un metodo per accedere al \ac{can} bus. Le possibilità valutate sono:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Presa diagnostica nella cabina
|
||||||
|
\item Presa diagnostica nel motore
|
||||||
|
\item Connessione diretta alla \ac{ecu}
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Connettersi direttamente alla \ac{ecu} è ipoteticamente possibile ma sarebbe un lavoro più complicato e con maggiore possibilità di commettere degli errori
|
||||||
|
che potrebbero compromettere l'operatività del mezzo; invece se fosse presente una presa diagnostica nel motore (come spesso esistono in mezzi con motore Cummins)
|
||||||
|
non è detto che questa contenga anche il \ac{can} bus, ed è comunque di più difficile accesso. Per un sistema che deve operare a motore acceso, inoltre può essere
|
||||||
|
più difficile connettere un sistema elettrico in un ambiente come il vano motore. Perciò si è preferito cercare prima una presa diagnostica. Infatti, dietro al
|
||||||
|
sedile dell'operatore si è trovato senza difficoltà un box elettrico, con la scatola dei fusibili ed una presa \textit{Deutsch DT04-12PA}, che si è supposto
|
||||||
|
fornire la tensione dalle batterie e accesso al \ac{can} bus, similmente a quanto avverrebbe in una presa \ac{obd2}. \\
|
||||||
|
% TODO: verifica il modello di presa Deutsch (da ordine aliexpress)
|
||||||
|
|
||||||
|
\begin{figure} [t]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_9999.jpeg}
|
||||||
|
\caption{Scatola fusibili e presa diagnostica Deutsch DT04-12PA}
|
||||||
|
\label{fig:komatsu_fuse_box}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\section{Identificazione \acl{canh} e \acl{canl}}
|
||||||
|
\label{sec:identification}
|
||||||
|
|
||||||
|
Per identificare quali pin sono relativi al \ac{can} bus si è misurata la resistenza tra i pin due a due fino a trovare una combinazione che desse come lettura
|
||||||
|
dal multimetro una resistenza di \SI{60}{\ohm}. Questo valore è, come discusso nel capitolo precedente, il valore di resistenza di un \ac{can} bus terminato
|
||||||
|
correttamente. \\
|
||||||
|
I pin trovati sono PIN3 e PIN10 della presa Deutsch. Inoltre si è trovato che tra i PIN1 e PIN12 si ha la tensione delle due batterie in serie (24V 400A):
|
||||||
|
specificamente PIN12 è la massa e PIN1 i +24VDC. \\
|
||||||
|
A questo punto è necessario scoprire precisamente quale pin è il \ac{canh} e quale il \ac{canl}, e per fare ciò si è utilizzato un oscilloscopio
|
||||||
|
\textit{Rigol DHO804}. Connettendo due sonde ai due pin \ac{can} individuati precedentemente ed accendendo il quadro elettrico
|
||||||
|
del mezzo, si sono viste le prime comunicazioni \ac{can}. Catturando un istante di queste comunicazioni, si riescono ad identificare \ac{canh} e \ac{canl}:
|
||||||
|
in figura \ref{fig:can_pin_test} si vedono come la sonda gialla (collegata al PIN3) visualizzi una tensione dominante mentre la sonda blu (collegata al PIN10)
|
||||||
|
una tensione recessiva. Quindi si conclude che PIN3 è \ac{canh} e PIN10 è \ac{canl}.
|
||||||
|
|
||||||
|
\begin{figure} [htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0085.jpeg}
|
||||||
|
\caption{Misura della resistenza tra PIN3 e PIN10 della presa Deutsch}
|
||||||
|
\label{fig:can_ohm_test}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure} [htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0096.JPG}
|
||||||
|
\caption{Individuazione \ac{canh} e \ac{canl} con oscilloscopio}
|
||||||
|
\label{fig:can_pin_test}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{table}[b]
|
||||||
|
\centering
|
||||||
|
\caption{Pinout della presa diagnostica Deutsch DT04-12PA}
|
||||||
|
\label{tab:pinout_deutsch}
|
||||||
|
\begin{tabular}{l c c c c c c}
|
||||||
|
\toprule
|
||||||
|
\textbf{Pin} & 7 & 8 & 9 & 10 & 11 & 12 \\
|
||||||
|
\textbf{Funzione} & ND & ND & ND & \ac{canl} & ND & \SI{+24}{\volt}DC \\
|
||||||
|
\midrule
|
||||||
|
\textbf{Pin} & 6 & 5 & 4 & 3 & 2 & 1 \\
|
||||||
|
\textbf{Funzione} & ND & ND & ND & \ac{canh} & ND & \textit{GND} \\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
La presa Deutsch DT04-12PA è un connettore a 12 pin; il suo pinout, così come ricostruito durante le attività descritte in questo capitolo, è riportato in
|
||||||
|
tabella \ref{tab:pinout_deutsch}. I pin il cui impiego non è stato determinato in questa fase [ND] sono risultati non collegati oppure dedicati a strumenti
|
||||||
|
di diagnostica Komatsu.
|
||||||
+158
-48
@@ -1,21 +1,50 @@
|
|||||||
% font size
|
% font size
|
||||||
\documentclass[12pt]{report}
|
\documentclass[11pt]{report}
|
||||||
|
|
||||||
% Margini (2.5cm su tutti i lati)
|
% Margini
|
||||||
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm, head=21.75pt, centering]{geometry}
|
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm, head=21.75pt, centering]{geometry}
|
||||||
|
|
||||||
% Interlinea
|
% Interlinea
|
||||||
\linespread{1.5}
|
\linespread{1.1}
|
||||||
|
|
||||||
% Lingua e codifica
|
% Lingua e codifica
|
||||||
\usepackage[italian]{babel}
|
\usepackage[italian]{babel}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
|
|
||||||
% Stile ClassicThesis
|
% Font TeX Gyre
|
||||||
\usepackage{newpxtext, newpxmath}
|
\usepackage{tgpagella} % Serif
|
||||||
|
\usepackage{newpxmath} % Matematica
|
||||||
|
\usepackage[scale=0.9]{tgheros} % Sans-serif
|
||||||
|
\usepackage{tgcursor} % Monospace
|
||||||
\usepackage{microtype}
|
\usepackage{microtype}
|
||||||
\usepackage{parskip} % no indent
|
\usepackage{parskip} % no indent
|
||||||
|
|
||||||
|
% Penalties
|
||||||
|
\widowpenalty=10000
|
||||||
|
\clubpenalty=10000
|
||||||
|
\displaywidowpenalty=10000
|
||||||
|
|
||||||
|
\usepackage{newfloat}
|
||||||
|
\DeclareFloatingEnvironment[fileext=lof2, listname={Grafici}, name=Grafico]{graph}
|
||||||
|
|
||||||
|
% Acronimi
|
||||||
|
\usepackage{acro}
|
||||||
|
\DeclareAcronym{can}{short = CAN, long = Controller Area Network}
|
||||||
|
\DeclareAcronym{canh}{short = CANH, long = CAN High}
|
||||||
|
\DeclareAcronym{canl}{short = CANL, long = CAN Low}
|
||||||
|
\DeclareAcronym{lin}{short = LIN, long = Local Interconnect Network}
|
||||||
|
\DeclareAcronym{id}{short = ID, long = Identifier}
|
||||||
|
\DeclareAcronym{ecu}{short = ECU, long = Electronic Control Unit}
|
||||||
|
\DeclareAcronym{dtc}{short = DTC, long = Diagnostic Trouble Code}
|
||||||
|
\DeclareAcronym{pgn}{short = PGN, long = Parameter Group Number}
|
||||||
|
\DeclareAcronym{sae}{short = SAE, long = Society of Automotive Engineers}
|
||||||
|
\DeclareAcronym{emea}{short = EMEA, long = Europe Middle East and Africa}
|
||||||
|
\DeclareAcronym{hv}{short = HV, long = High Voltage}
|
||||||
|
\DeclareAcronym{lv}{short = LV, long = Low Voltage}
|
||||||
|
\DeclareAcronym{obd2}{short = OBDII, long = On-board Diagnostics 2}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% Pagina e intestazioni
|
% Pagina e intestazioni
|
||||||
\usepackage{scrlayer-scrpage}
|
\usepackage{scrlayer-scrpage}
|
||||||
@@ -26,10 +55,11 @@
|
|||||||
|
|
||||||
% Colori generali
|
% Colori generali
|
||||||
\usepackage{xcolor}
|
\usepackage{xcolor}
|
||||||
\definecolor{unimorered}{RGB}{240, 73, 38}
|
\definecolor{komatsublue}{RGB}{20, 10, 154}
|
||||||
|
\definecolor{komatsuyellow}{RGB}{234, 170, 0}
|
||||||
\definecolor{unimoregrey}{RGB}{84, 84, 84}
|
\definecolor{unimoregrey}{RGB}{84, 84, 84}
|
||||||
\definecolor{unimoreblack}{RGB}{0, 0, 0}
|
\definecolor{black}{RGB}{0, 0, 0}
|
||||||
\definecolor{unimorewhite}{RGB}{255, 255, 255}
|
\definecolor{white}{RGB}{255, 255, 255}
|
||||||
\definecolor{urlblue}{RGB}{0, 0, 238}
|
\definecolor{urlblue}{RGB}{0, 0, 238}
|
||||||
|
|
||||||
% Colori codice
|
% Colori codice
|
||||||
@@ -41,13 +71,26 @@
|
|||||||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||||||
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
||||||
|
|
||||||
|
% Didascalie
|
||||||
|
\usepackage{caption}
|
||||||
|
\captionsetup{
|
||||||
|
font={small, it},
|
||||||
|
labelfont={bf, color=black},
|
||||||
|
labelsep=quad,
|
||||||
|
margin=10pt,
|
||||||
|
singlelinecheck=false,
|
||||||
|
justification=centering
|
||||||
|
}
|
||||||
|
\captionsetup[table]{font={small}, labelfont={bf, color=black}}
|
||||||
|
|
||||||
\usepackage[hidelinks]{hyperref}
|
\usepackage[hidelinks]{hyperref}
|
||||||
\hypersetup{
|
\hypersetup{
|
||||||
colorlinks=true,
|
colorlinks=true,
|
||||||
linkcolor=unimoreblack,
|
linkcolor=black,
|
||||||
filecolor=unimoreblack,
|
filecolor=black,
|
||||||
citecolor=unimoreblack,
|
citecolor=black,
|
||||||
urlcolor=urlblue,
|
urlcolor=unimoregrey,
|
||||||
|
pdfborder={0 0 0.5},
|
||||||
}
|
}
|
||||||
|
|
||||||
% Immagini e tabelle
|
% Immagini e tabelle
|
||||||
@@ -58,6 +101,9 @@
|
|||||||
\usepackage{makecell}
|
\usepackage{makecell}
|
||||||
\usepackage{multirow}
|
\usepackage{multirow}
|
||||||
\usepackage{float}
|
\usepackage{float}
|
||||||
|
\usepackage{array}
|
||||||
|
\usepackage{placeins}
|
||||||
|
|
||||||
|
|
||||||
% Formattazione titoli
|
% Formattazione titoli
|
||||||
\usepackage{titlesec}
|
\usepackage{titlesec}
|
||||||
@@ -66,17 +112,17 @@
|
|||||||
{\huge\chaptertitlename\ \thechapter}
|
{\huge\chaptertitlename\ \thechapter}
|
||||||
{10pt}
|
{10pt}
|
||||||
{\Huge}
|
{\Huge}
|
||||||
[\vspace{1ex}{\color{unimorered}\titlerule[1.5pt]}]
|
[\vspace{1ex}{\color{komatsublue}\titlerule[1.5pt]}]
|
||||||
|
|
||||||
\titleformat{\section}
|
\titleformat{\section}
|
||||||
{\normalfont\Large\bfseries\color{unimoreblack}}
|
{\normalfont\Large\bfseries\color{black}}
|
||||||
{\thesection}
|
{\thesection}
|
||||||
{1em}
|
{1em}
|
||||||
{}
|
{}
|
||||||
\titlespacing*{\section}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
\titlespacing*{\section}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
|
||||||
|
|
||||||
\titleformat{\subsection}
|
\titleformat{\subsection}
|
||||||
{\normalfont\large\bfseries\color{unimoreblack}}
|
{\normalfont\large\bfseries\color{black}}
|
||||||
{\thesubsection}
|
{\thesubsection}
|
||||||
{1em}
|
{1em}
|
||||||
{}
|
{}
|
||||||
@@ -90,7 +136,6 @@
|
|||||||
|
|
||||||
% Codice e algoritmi
|
% Codice e algoritmi
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
\usepackage{inconsolata}
|
|
||||||
\usepackage{algorithm}
|
\usepackage{algorithm}
|
||||||
\usepackage{algpseudocode}
|
\usepackage{algpseudocode}
|
||||||
\usepackage{xurl}
|
\usepackage{xurl}
|
||||||
@@ -100,77 +145,142 @@
|
|||||||
\usepackage{filehook}
|
\usepackage{filehook}
|
||||||
\usepackage{pifont}
|
\usepackage{pifont}
|
||||||
\usepackage[bottom]{footmisc}
|
\usepackage[bottom]{footmisc}
|
||||||
\usepackage{enumitem}
|
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usetikzlibrary{calc}
|
\usetikzlibrary{calc}
|
||||||
|
\usepackage{siunitx}
|
||||||
|
|
||||||
% Stili per i linguaggi di programmazione
|
% Stili per i linguaggi di programmazione
|
||||||
\usepackage{minted}
|
\usepackage{minted}
|
||||||
|
\usepackage[most]{tcolorbox}
|
||||||
|
\tcbuselibrary{minted, skins}
|
||||||
|
|
||||||
|
\newtcblisting{codice}[1][]{
|
||||||
|
minted language=c,
|
||||||
|
minted options={
|
||||||
|
fontsize=\footnotesize,
|
||||||
|
breaklines,
|
||||||
|
autogobble,
|
||||||
|
linenos,
|
||||||
|
numbersep=5pt
|
||||||
|
},
|
||||||
|
colback=backcolour,
|
||||||
|
colframe=unimoregrey!30,
|
||||||
|
arc=4mm,
|
||||||
|
boxrule=0.5pt,
|
||||||
|
left=6pt, right=6pt, top=6pt, bottom=6pt,
|
||||||
|
#1
|
||||||
|
}
|
||||||
|
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
|
\setlist[itemize]{
|
||||||
|
label=\textcolor{black}{\textbullet},
|
||||||
|
leftmargin=*,
|
||||||
|
itemsep=0.5ex,
|
||||||
|
topsep=1ex
|
||||||
|
}
|
||||||
|
\setlist[enumerate]{
|
||||||
|
label=\textcolor{black}{\arabic*.},
|
||||||
|
leftmargin=*,
|
||||||
|
itemsep=0.5ex,
|
||||||
|
topsep=1ex
|
||||||
|
}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
% UniMore color accent line
|
|
||||||
{\color{unimorered}\rule{\textwidth}{2pt}}
|
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\includegraphics[width=8cm]{assets/images/unimore/Sigillo2015.png}
|
\includegraphics[width=8cm]{assets/images/unimore/Sigillo2015.png}
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
|
|
||||||
{\LARGE\color{unimoreblack}{ UNIVERSITÀ DEGLI STUDI DI MODENA \\E REGGIO EMILIA \\}}
|
{\huge\color{black} UNIVERSITÀ DEGLI STUDI DI MODENA \\E REGGIO EMILIA \\}
|
||||||
{\large\color{unimoregrey}{ Dipartimento di Ingegneria "Enzo Ferrari" \\}}
|
{\Large\color{unimoregrey} Dipartimento di Ingegneria "Enzo Ferrari" \\}
|
||||||
{\large\color{unimoregrey}{ Corso di Laurea Triennale in Ingegneria del Veicolo (L-9) \\}}
|
{\Large\color{unimoregrey} Corso di Laurea Triennale in Ingegneria del Veicolo (L-9) \\}
|
||||||
\vspace{3cm}
|
\vspace{3cm}
|
||||||
{\Large\color{unimoreblack}{ \textbf{Reverse engineering del protocollo CAN bus di un escavatore Komatsu PC210 NLC-8} }}\\
|
{\LARGE\color{black} \textbf{ Reverse engineering del protocollo CAN bus di un \\ escavatore idraulico cingolato Komatsu PC210 NLC-8 } }\\
|
||||||
\vspace{3cm}
|
\vspace{3cm}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
|
\vspace{2cm}
|
||||||
|
|
||||||
|
\noindent
|
||||||
\begin{minipage}[t]{0.47\textwidth}
|
\begin{minipage}[t]{0.47\textwidth}
|
||||||
{\large\color{unimoregrey}{\bf Relatore:}\\}
|
\raggedright
|
||||||
{\large\color{unimoreblack}{Prof. Carlo Augusto Grazia}}
|
{\large\color{unimoregrey}\bfseries Relatore:}\\[0.3ex]
|
||||||
\end{minipage}\hfill\begin{minipage}[t]{0.47\textwidth}\raggedleft
|
{\large\color{black}Prof. Carlo Augusto Grazia}
|
||||||
{\large\color{unimoregrey}{\bf Candidato:}\\}
|
\end{minipage}\hfill
|
||||||
{\large\color{unimoreblack}{Erick Ahmed}\\}
|
\begin{minipage}[t]{0.47\textwidth}
|
||||||
|
\raggedleft
|
||||||
|
{\large\color{unimoregrey}\bfseries Candidato:}\\[0.3ex]
|
||||||
|
{\large\color{black}Erick Ahmed}
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
|
|
||||||
\vfill
|
\vfill
|
||||||
{\color{unimorered}\rule{\textwidth}{1pt}}
|
{\color{komatsublue}\rule{\textwidth}{1pt}}
|
||||||
\hrulefill\\
|
\hrulefill\\
|
||||||
\centering{\large\color{unimoregrey}{\bf ANNO ACCADEMICO 2025/2026 }}
|
\centering{\large\color{unimoregrey}\bfseries ANNO ACCADEMICO 2025/2026 }
|
||||||
\end{titlepage}
|
\end{titlepage}
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
\pagenumbering{roman}
|
\pagenumbering{roman}
|
||||||
|
|
||||||
\tableofcontents % Genera l'Indice
|
% sommario
|
||||||
\renewcommand{\listfigurename}{Elenco delle Figure}
|
\input{chapters/00_abstract.tex}
|
||||||
\listoffigures % Genera la Lista delle Figure
|
|
||||||
\renewcommand{\lstlistingname}{Codice}
|
|
||||||
\renewcommand{\lstlistlistingname}{Elenco dei Codici}
|
|
||||||
|
|
||||||
\lstlistoflistings % Genera la Lista dei Codici
|
% indice
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
% figure
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\renewcommand{\listfigurename}{Figure}
|
||||||
|
\listoffigures
|
||||||
|
|
||||||
|
% grafici
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\listofgraphs
|
||||||
|
|
||||||
|
% tabelle
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\renewcommand{\listtablename}{Tabelle}
|
||||||
|
\listoftables
|
||||||
|
|
||||||
|
% codice
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\renewcommand{\lstlistingname}{Codice}
|
||||||
|
\renewcommand{\lstlistlistingname}{Codice}
|
||||||
|
\lstlistoflistings
|
||||||
|
|
||||||
|
% acronimi
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\chapter*{Acronimi}
|
||||||
|
\printacronyms[heading=none]
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
\pagestyle{scrplain}
|
||||||
|
\pagenumbering{arabic}
|
||||||
|
\clearpage
|
||||||
|
|
||||||
\pagestyle{scrplain}
|
\pagestyle{scrplain}
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
|
|
||||||
% Aggiungi qui i capitoli
|
% Aggiungi qui i capitoli
|
||||||
|
|
||||||
\input{chapters/01_introduction.tex}
|
\input{chapters/01_introduction.tex}
|
||||||
|
\input{chapters/02_identification.tex}
|
||||||
%\input{chapters/02_second_chapter.tex}
|
\input{chapters/03_acquisition.tex}
|
||||||
|
\input{chapters/04_decoding.tex}
|
||||||
%\input{chapters/03_third_chapter.tex}
|
\input{chapters/05_analysis.tex}
|
||||||
|
\input{chapters/06_conclusions.tex}
|
||||||
\input{chapters/05_conclusions.tex}
|
\input{chapters/99_acknowledgments.tex}
|
||||||
|
|
||||||
|
|
||||||
\clearpage
|
\clearpage
|
||||||
|
|
||||||
\addcontentsline{toc}{chapter}{Bibliografia}
|
\addcontentsline{toc}{chapter}{Bibliografia}
|
||||||
|
|
||||||
\printbibliography[heading=subbibliography, title=Bibliografia]
|
\printbibliography[heading=bibliography, title=Bibliografia]
|
||||||
|
|
||||||
\nocite{*}
|
\nocite{*}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user