Decodificador CAN Bus & J1939
Ferramenta de Análise de Rede Veicular - Suporte DBC
Decodificador de CAN ID
Analise o CAN ID para extrair parâmetros J1939 incluindo Prioridade, PGN, Endereço de Origem e Endereço de Destino.
Documentação
Esta ferramenta fornece suporte abrangente para análise de protocolos CAN (Controller Area Network) e SAE J1939. O CAN é o padrão de comunicação dominante em aplicações automotivas e industriais, enquanto o J1939 estende o CAN para veículos pesados e equipamentos fora de estrada.
Entendendo o Protocolo J1939
O SAE J1939 é um protocolo de camada superior construído sobre o CAN 2.0B com identificadores estendidos de 29 bits. O CAN ID de 29 bits codifica múltiplos parâmetros que definem o roteamento e prioridade das mensagens.
Estrutura do Identificador J1939
O identificador de 29 bits é particionado em campos distintos. Do mais significativo ao menos significativo, a estrutura contém Prioridade (3 bits), Reservado/EDP (1 bit), Página de Dados (1 bit), Formato PDU (8 bits), PDU Específico (8 bits) e Endereço de Origem (8 bits). Esta codificação permite priorização e endereçamento eficientes de mensagens dentro da rede veicular.
Números de Grupo de Parâmetros (PGN)
O PGN é o mecanismo fundamental de endereçamento no J1939. Ele identifica o tipo e conteúdo dos dados transmitidos. O PGN é derivado dos campos Formato PDU e PDU Específico, com a interpretação dependendo se a mensagem usa formato PDU1 ou PDU2.
Quando o Formato PDU é menor que 240 (0xF0), a mensagem está em formato PDU1 com endereçamento de destino específico. O campo PDU Específico contém o Endereço de Destino. Quando o Formato PDU é 240 ou maior, a mensagem está em formato PDU2 para mensagens de broadcast, e o PDU Específico torna-se parte do próprio PGN.
Métodos de Extração de Sinal
Os protocolos J1939 e CAN codificam múltiplos sinais dentro de frames de dados de 8 bytes. Cada sinal tem uma posição de bit inicial definida, comprimento de bits e ordem de bytes. Esta ferramenta suporta as convenções de ordem Intel (Little-Endian) e Motorola (Big-Endian).
Os valores físicos são calculados a partir dos valores brutos do sinal usando a fórmula padrão: Valor Físico = Valor Bruto × Fator + Deslocamento. Esta conversão transforma leituras binárias de sensores em unidades de engenharia significativas como temperatura, pressão ou velocidade.
PGNs J1939 Comuns
- PGN 65262 (0xFEEE) - Temperatura do Motor 1: Contém leituras de temperatura do líquido de arrefecimento, combustível e óleo do motor.
- PGN 61444 (0xF004) - Controlador Eletrônico do Motor 1: Reporta torque real do motor, torque solicitado pelo motorista e rotação do motor (RPM).
- PGN 65265 (0xFEF1) - Controle de Cruzeiro/Velocidade do Veículo: Fornece medições de velocidade baseadas nas rodas e no motor.
- PGN 65269 (0xFEF5) - Condições Ambientais: Contém pressão barométrica, temperatura ambiente e temperatura do ar de admissão do motor.
- PGN 65263 (0xFEEF) - Nível/Pressão de Fluidos do Motor: Reporta pressão de alimentação de combustível, pressão de óleo e pressão do líquido de arrefecimento.
Aplicações Práticas
- Desenvolvimento de ECU: Valide formatos de mensagem durante o desenvolvimento de controladores embarcados e testes de integração.
- Diagnóstico Veicular: Analise o tráfego CAN ao vivo para solucionar problemas de comunicação e verificar leituras de sensores.
- Telemática de Frotas: Analise dados J1939 para monitoramento de consumo de combustível, rastreamento de horas do motor e manutenção preditiva.
- Calibração do Trem de Força: Extraia parâmetros do motor para ajuste de desempenho e verificação de conformidade com emissões.
- Educação em Protocolos: Aprenda a estrutura do protocolo J1939 através da decodificação prática de exemplos de mensagens reais.
Convenções de Ordem de Bytes
Intel (Little-Endian) começa do bit e byte menos significativos, comumente usado em processadores x86 e muitas ECUs modernas. Motorola (Big-Endian) começa do bit e byte mais significativos, tradicional em CAN e aplicações automotivas. Selecionar a ordem de bytes correta é crítico para interpretação precisa dos sinais.
Visão Geral das Funcionalidades
Este decodificador CAN Bus abrangente oferece quatro módulos funcionais principais para atender diversas necessidades de análise de rede veicular:
- Decodificação de ID: Analisa IDs estendidos J1939 de 29 bits ou IDs padrão de 11 bits. Extrai prioridade, PGN, endereço de origem, endereço de destino e informações de formato PDU.
- Extração de Dados: Extrai valores de sinal de frames CAN de 8 bytes com bit inicial, comprimento de bit e ordem de bytes configuráveis. Suporta inteiros com/sem sinal e ponto flutuante IEEE 754.
- Visualizador de Logs: Analisa arquivos de log CAN de múltiplos formatos incluindo Linux candump, Vector ASC e PCAN TRC. Filtragem por CAN ID e exportação CSV.
- Decodificador DBC: Carregue arquivos DBC Vector CANdb++ para decodificar automaticamente todos os sinais. Navegue por mensagens, pesquise sinais, visualize nós e execute decodificação rápida de sinais.
Suporte a Arquivos DBC
Arquivos DBC (CAN Database) definem a estrutura completa das comunicações CAN, incluindo mensagens, sinais, nós e descrições de valores. Esta ferramenta suporta completamente arquivos DBC no formato Vector CANdb++.
Após carregar um arquivo DBC, você pode navegar por todas as mensagens definidas com seus tempos de ciclo e contagem de sinais, pesquisar entre milhares de sinais por nome ou unidade, visualizar nós ECU e suas mensagens transmitidas, e decodificar rapidamente dados CAN brutos usando definições de sinal predefinidas.
O parser DBC suporta: definições de mensagens (BO_), definições de sinais (SG_), declarações de nós (BU_), descrições de valores (VAL_), comentários (CM_), atributos (incluindo tempo de ciclo e valores iniciais), ordem de bytes Intel/Motorola, e tipos de valores com/sem sinal.
Formatos de Entrada Suportados
Suporta múltiplos formatos de entrada de dados para flexibilidade:
- Hexadecimal com espaços: Formato padrão com bytes separados por espaços. Exemplo:
FF 00 11 22 33 44 55 66 - Hexadecimal sem espaços: String hexadecimal contínua sem espaços. Exemplo:
FF00112233445566 - Base64: Dados binários codificados em Base64. Exemplo:
/wARIjNEVWY= - Array C/C++: Notação de array estilo C. Exemplo:
0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66
Formatos de Arquivos de Log
O visualizador de logs suporta detecção automática de formatos de log CAN comuns:
- Linux candump:
(1234567890.123456) can0 18FEF100#FF00112233445566 - Vector ASC:
0.000000 1 18FEF100x Rx d 8 FF 00 11 22 33 44 55 66 - PCAN Trace:
1) 1234.5 18FEF100 8 FF 00 11 22 33 44 55 66
Suporte a Protocolo de Transporte
O Protocolo de Transporte J1939 (TP) permite a transmissão de mensagens que excedem 8 bytes. Habilitar a remontagem TP permite analisar automaticamente mensagens multi-frame (BAM e CMDT) combinando-as em payloads completos.
Ferramentas Relacionadas
Analisador Modbus RTU/ASCII/TCP
Analise, codifique e depure quadros de protocolo Modbus RTU/ASCII/TCP com cálculo de CRC-16/LRC e depuração serial
Depurador de Porta Serial Online
Ferramenta de depuração serial baseada em navegador - sem necessidade de download, monitoramento em tempo real via Web Serial API
Decodificador LoRaWAN
Decodificar e codificar pacotes LoRaWAN PHYPayload com calculadora de tempo no ar, suporte OTAA/ABP e quadros de dados
Codec MQTT
Codifique e decodifique pacotes do protocolo MQTT com análise detalhada de campos, visualizador hex e construtor de pacotes