O que é o formato de ficheiro MF4?
.mf4 é a extensão de arquivo para ASAM MDF 4 (Measurement Data Format versão 4), o padrão aberto da indústria automotiva para armazenar dados de medição de séries temporais de ECUs, barramentos CAN/LIN/Ethernet e sensores. O padrão é mantido pela ASAM e.V. e foi co-desenvolvido pela Vector Informatik e Robert Bosch GmbH.
Cada arquivo .mf4 abre com um bloco de ID de 64 bytes contendo o identificador ASCII MDF (8 bytes com espaços à direita), seguido por uma lista encadeada hierárquica de blocos tipados: Header (HD), Data Groups (DG), Channel Groups (CG), Channel definitions (CN) e Data blocks (DT/DZ). Cada canal carrega seu nome de sinal, unidade física e fórmula de conversão de valor no mesmo arquivo, tornando o .mf4 autodescritivo.
A compressão de dados - DEFLATE, LZ4 ou Transpose+DEFLATE - pode ser aplicada por bloco de dados desde o MDF 4.1. O formato suporta blocos de anexo para incorporar arquivos de calibração ou imagens, e uma flag de finalização marca se uma gravação foi fechada corretamente. Gravações não finalizadas começam com a string ASCII UnFinalizedMDF em vez do bloco de ID padrão.
.mf4 é usado em testes HIL/SIL, aquisição de dados de veículos e fluxos de trabalho de calibração AUTOSAR. Os arquivos podem atingir dezenas de gigabytes para sessões completas de teste de direção. A biblioteca Python de código aberto asammdf (pip install asammdf) fornece acesso rápido de leitura/gravação; MATLAB, CANape e CANalyzer são as ferramentas comerciais dominantes. O formato predecessor .mdf (MDF 3.x, de 1991) compartilha o mesmo prefixo identificador de arquivo, mas usa uma estrutura de blocos diferente.
Segurança e proteção
RISCO: LOWMF4 é um arquivo de dados binários; não executável. Os arquivos podem conter dados de medição automotivos proprietários (sinais de veículos, parâmetros de ECU) que são comercialmente sensíveis. Compartilhar arquivos .mf4 externamente pode expor dados confidenciais de calibração ou desempenho.
Detalhes do formato
em resumoProgramas que abrem arquivos MF4
Detalhes técnicos
especificação profunda| Órgão de padronização | ASAM e.V. (Association for Standardization of Automation and Measuring Systems) |
| Identificador de arquivo | ASCII de 8 bytes 'MDF ' (MDF + 5 espaços) no deslocamento 0 do bloco de ID de 64 bytes |
| Ordem dos bytes | Little-endian (padrão); big-endian permitido pela especificação, mas raramente usado |
| Estrutura de blocos | Lista encadeada hierárquica: blocos ID → HD → DG → CG/CN → DT/DZ via ponteiros de posição absoluta de bytes |
| Compressão | Opcional DEFLATE (zlib), LZ4 ou Transpose+DEFLATE por bloco de dados (MDF 4.1+) |
| Tamanho de arquivo típico | 1 MB - 10 GB (grandes sessões de log de ECU/CAN) |
| Metadados de sinal | Nome do sinal, unidade física e fórmula de conversão de valor armazenados por canal dentro do arquivo |
| Codificação da versão | String ASCII de 4 caracteres no deslocamento 8 do bloco ID (ex: '4.10', '4.20') |
| Suporte a log de barramento | Registro de frames CAN, LIN, FlexRay e Ethernet (adicionado no MDF 4.1+) |
| Verificação de integridade | Anexo opcional de checksum MD5; flag de finalização no MDF 4.1+; arquivos não finalizados começam com 'UnFinalizedMDF' |
| Acesso via Python | Biblioteca asammdf (pip install asammdf) - leitura/gravação de código aberto |
| Taxa de amostragem | Metadados por canal; barramento CAN tipicamente 1-1 000 Hz, dados de sensores até a faixa de MHz |
| Sistemas operacionais | Windows, Linux |
| Lançado | 2009 (ASAM MDF 4.0 published as official standard) |
| Versão mais recente | ASAM MDF 4.2.0 (2019); 4.3.0 planned |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.asam.net |
Conversões de MF4
Perguntas e Respostas da Comunidade
perguntado por usuáriosPerguntas frequentes
O que é um arquivo .mf4?
Como abro um arquivo .mf4 gratuitamente?
O MATLAB pode abrir arquivos .mf4?
Como converto .mf4 para CSV?
from asammdf import MDF; MDF('file.mf4').export('csv'). Ou abra no CANape e use sua função de exportação.Qual é a diferença entre .mdf e .mf4?
.mdf é o formato MDF 3.x mais antigo; .mf4 é explicitamente MDF 4.x. Ambos usam os mesmos magic bytes, mas diferem na string de versão. As ferramentas asammdf e Vector leem ambos.