Che cos'è il formato di file MF4?
.mf4 è l'estensione di file per ASAM MDF 4 (Measurement Data Format versione 4), lo standard aperto dell'industria automobilistica per l'archiviazione di dati di misurazione di serie temporali provenienti da ECU, bus CAN/LIN/Ethernet e sensori. Lo standard è mantenuto da ASAM e.V. ed è stato co-sviluppato da Vector Informatik e Robert Bosch GmbH.
Ogni file .mf4 si apre con un blocco ID di 64 byte che reca l'identificatore ASCII MDF (8 byte con spazi finali), seguito da una lista concatenata gerarchica di blocchi tipizzati: Header (HD), Data Groups (DG), Channel Groups (CG), Channel definitions (CN) e Data blocks (DT/DZ). Ogni canale trasporta il proprio nome del segnale, l'unità fisica e la formula di conversione del valore nello stesso file, rendendo il formato .mf4 auto-descrittivo.
La compressione dei dati - DEFLATE, LZ4 o Transpose+DEFLATE - può essere applicata per ogni blocco di dati a partire da MDF 4.1. Il formato supporta blocchi di allegati per incorporare file di calibrazione o immagini, e un flag di finalizzazione indica se una registrazione è stata chiusa correttamente. Le registrazioni non finalizzate iniziano con la stringa ASCII UnFinalizedMDF invece del blocco ID standard.
.mf4 viene utilizzato in tutti i flussi di lavoro di test HIL/SIL, acquisizione dati del veicolo e calibrazione AUTOSAR. I file possono raggiungere decine di gigabyte per sessioni complete di test su strada. La libreria Python open-source asammdf (pip install asammdf) fornisce un accesso rapido in lettura/scrittura; MATLAB, CANape e CANalyzer sono i principali strumenti commerciali. Il formato precedente .mdf (MDF 3.x, dal 1991) condivide lo stesso prefisso identificativo del file ma utilizza una struttura a blocchi differente.
Sicurezza e incolumità
RISCHIO: LOWMF4 è un file di dati binari; non è eseguibile. I file possono contenere dati di misurazione automobilistici proprietari (segnali del veicolo, parametri ECU) commercialmente sensibili. La condivisione esterna di file .mf4 può esporre dati riservati di calibrazione o prestazioni.
Dettagli del formato
in sintesiProgrammi che aprono file MF4
Dettagli tecnici
specifiche approfondite| Organismo di standardizzazione | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| Identificatore del file | ASCII a 8 byte 'MDF ' (MDF + 5 spazi) all'offset 0 del blocco ID di 64 byte |
| Ordine dei byte | Little-endian (predefinito); big-endian consentito dalle specifiche ma raramente utilizzato |
| Struttura a blocchi | Lista concatenata gerarchica: blocchi ID → HD → DG → CG/CN → DT/DZ tramite puntatori di posizione assoluta in byte |
| Compressione | Opzionale DEFLATE (zlib), LZ4 o Transpose+DEFLATE per blocco dati (MDF 4.1+) |
| Dimensione tipica del file | 1 MB - 10 GB (grandi sessioni di log ECU/CAN) |
| Metadati del segnale | Nome del segnale, unità fisica e formula di conversione del valore memorizzati per ogni canale all'interno del file |
| Codifica della versione | Stringa ASCII di 4 caratteri all'offset 8 del blocco ID (es. '4.10', '4.20') |
| Supporto per il logging del bus | Logging di frame CAN, LIN, FlexRay ed Ethernet (aggiunto in MDF 4.1+) |
| Controllo dell'integrità | Allegato checksum MD5 opzionale; flag di finalizzazione in MDF 4.1+; i file non finalizzati iniziano con 'UnFinalizedMDF' |
| Accesso Python | Libreria asammdf (pip install asammdf) - lettura/scrittura open-source |
| Frequenza di campionamento | Metadati per canale; bus CAN in genere 1-1 000 Hz, dati dei sensori fino alla gamma MHz |
| Sistemi operativi | Windows, Linux |
| Rilasciato | 2009 (ASAM MDF 4.0 published as official standard) |
| Ultima versione | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| Standard aperto | Sì · royalty-free |
| Specifica | www.asam.net |
Conversioni MF4
Domande e risposte della community
chiesto dagli utentiDomande frequenti
Cos'è un file .mf4?
Come posso aprire un file .mf4 gratuitamente?
MATLAB può aprire i file .mf4?
Come si converte un file .mf4 in CSV?
from asammdf import MDF; MDF('file.mf4').export('csv'). Oppure aprendolo in CANape e utilizzando la sua funzione di esportazione.