Hva er MF4-filformatet?
.mf4 er filendelsen for ASAM MDF 4 (Measurement Data Format versjon 4), bilindustriens åpne standard for lagring av tidsseriemåledata fra ECU-er, CAN/LIN/Ethernet-busser og sensorer. Standarden vedlikeholdes av ASAM e.V. og ble utviklet i fellesskap av Vector Informatik og Robert Bosch GmbH.
Hver .mf4-fil starter med en 64-byte ID-blokk som bærer ASCII-identifikatoren MDF (8 byte med etterfølgende mellomrom), etterfulgt av en hierarkisk lenket liste over typede blokker: Header (HD), Data Groups (DG), Channel Groups (CG), Channel definitions (CN) og Data blocks (DT/DZ). Hver kanal bærer sitt signalnavn, fysiske enhet og formel for verdikonvertering i samme fil, noe som gjør .mf4 selvbeskrivende.
Datakomprimering - DEFLATE, LZ4 eller Transpose+DEFLATE - kan brukes per datablokk siden MDF 4.1. Formatet støtter vedleggsblokker for innbygging av kalibreringsfiler eller bilder, og et sluttføringsflagg markerer om et opptak ble lukket på riktig måte. Uavsluttede opptak starter med ASCII-strengen UnFinalizedMDF i stedet for den vanlige ID-blokken.
.mf4 brukes gjennomgående i HIL/SIL-testing, datainnsamling fra kjøretøy og AUTOSAR-kalibreringsarbeidsflyter. Filer kan nå titalls gigabyte for fulle testkjøringsøkter. Det åpne Python-biblioteket asammdf (pip install asammdf) gir rask lese- og skrivetilgang; MATLAB, CANape og CANalyzer er de dominerende kommersielle verktøyene. Forgjengeren .mdf-formatet (MDF 3.x, fra 1991) deler samme filidentifikator-prefiks, men bruker en annen blokkstruktur.
Sikkerhet og trygghet
RISIKO: LOWMF4 er en binær datafil; ikke kjørbar. Filer kan inneholde proprietære måledata fra kjøretøy (kjøretøysignaler, ECU-parametere) som er kommersielt sensitive. Deling av .mf4-filer eksternt kan eksponere konfidensielle kalibrerings- eller ytelsesdata.
Formatdetaljer
i et nøtteskallProgrammer som åpner MF4-filer
Tekniske detaljer
dyp spesifikasjon| Standardiseringsorgan | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| Filidentifikator | 8-byte ASCII 'MDF ' (MDF + 5 mellomrom) ved posisjon 0 i den 64-byte ID-blokken |
| Byterekkefølge | Little-endian (standard); big-endian tillatt av spesifikasjonen, men sjelden brukt |
| Blokkstruktur | Hierarkisk lenket liste: ID → HD → DG → CG/CN → DT/DZ-blokker via absolutte byte-posisjonspekere |
| Komprimering | Valgfri DEFLATE (zlib), LZ4 eller Transpose+DEFLATE per datablokk (MDF 4.1+) |
| Typisk filstørrelse | 1 MB - 10 GB (store ECU/CAN-loggøkter) |
| Signal-metadata | Signalnavn, fysisk enhet og formel for verdikonvertering lagret per kanal i filen |
| Versjonskoding | 4-tegns ASCII-streng ved ID-blokk posisjon 8 (f.eks. '4.10', '4.20') |
| Støtte for busslogging | Logging av CAN, LIN, FlexRay og Ethernet-rammer (lagt til i MDF 4.1+) |
| Integritetskontroll | Valgfritt MD5-sjekksumvedlegg; sluttføringsflagg i MDF 4.1+; uavsluttede filer starter med 'UnFinalizedMDF' |
| Python-tilgang | asammdf-bibliotek (pip install asammdf) - åpen kildekode for lesing/skriving |
| Samplingsfrekvens | Metadata per kanal; CAN-buss typisk 1-1 000 Hz, sensordata opp til MHz-området |
| Operativsystemer | Windows, Linux |
| Utgitt | 2009 (ASAM MDF 4.0 published as official standard) |
| Siste versjon | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.asam.net |
MF4-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereOfte stilte spørsmål
Hva er en .mf4-fil?
Hvordan åpner jeg en .mf4-fil gratis?
Kan MATLAB åpne .mf4-filer?
Hvordan konverterer jeg .mf4 til CSV?
from asammdf import MDF; MDF('fil.mf4').export('csv'). Eller åpne i CANape og bruk eksportfunksjonen der.