Nenhum comentário

O Pilar Para Construir Aplicações ISOBUS – Introdução

Este post faz parte da série O Pilar Para Construir Aplicações ISOBUS. Leia também os outros posts da série:

A norma ISO 11783 (também referenciada como ISOBUS) é baseada na norma SAE J1939 e específica o padrão de comunicação para comunicação de máquinas agrícolas que trafega sobre redes CAN 2.0 B. Tendo como foco padronizar a interface entre trator e implemento produzidos por diferentes fabricantes.

O objetivo da ISO 11783 é fornecer um padrão de comunicação entre sistemas eletrônicos embarcado de máquinas agrícolas, garantindo a interoperabilidade entre diferentes fabricantes e equipamentos.

Caso o leitor necessite de maiores informações sobre a motivação e o que seja o ISOBUS, sugiro a leitura do artigo ISOBUS: Desenvolvimento de sistemas embarcados para área agrícola publicado pelo Wellington Lopes.

Neste artigo abordarei sobre o que eu considero o mínimo para colocar um sistema ISOBUS em funcionamento:

  • ISO 11783:1 – Padrão Geral Para Comunicação de Dados Móveis

Esta parte da norma determina algumas regras gerais, definições e convenções que servem de base para as demais partes do ISOBUS.

  • ISO 11783:2 – Physical Layer

Esta parte da norma determina como deve ser a camada física de um barramento ISOBUS.

  • ISO 11783:3 – Data Link Layer

Esta parte da norma é quem determina como os dados ISOBUS serão transportados pela rede CAN.

  • ISO 11783:5 – Network Management

Esta parte da norma é quem determina como o dispositivo deve se apresentar na rede para obtenção e manutenção do endereço na rede.

Termos e Acrônimos comuns ao ISOBUS

  • VT – Virtual Terminal
  • UT – Universal Terminal
  • TC – Task Controller
    • TC-BAS – Task Controller Basic
    • TC-GEO – Task Controller Geo-Based
    • TC-SC – Task Controller Section Control
  • FS – File Server
  • WS – Working Set (Master / Member(s))
  • ISB – Isobus Shortcut Button
  • Object Pool
  • CF – Control Function
  • ECU – Electronic Computer Unit
  • TECU – Tractor ECU
  • AUX - Auxiliary Control
    • AUX-O – Auxiliary Control Old
    • AUX-N – Auxiliary Control New
  • AEF – Agricultural industry Electronic Foundation
  • CCI – Competence Center ISOBUS
  • VDMA – Verband Deutscher Maschinen and Anlagenbau (Association of German Machine and System Builders)

ISO 11783:1 – DEFINIÇÕES GERAIS

A parte 1 da norma fornece uma visão geral sobre ISOBUS, como aqui se encontra definições de nomes, tabelas com endereços, mensagens, enfim, tudo que é convencionado ela acaba sendo referência para os demais capítulos da ISO 11783.

Abaixo listarei alguns pontos de maior relevância para se colocar um dispositivo nesta rede (caso necessário abordarei esta parte da norma em outras partes do artigo).

Nomenclaturas

  1. Address – Campo de 8 bits usado para definir o endereço da fonte ou destinatário da mensagem.
  2. Control Function (CF) - É uma funcionalidade específica de um dispositivo na rede. Uma ECU pode ter mais que uma CF, porém para cada CF deve-se ter um endereço único.
  3. Device Address – campo destinado para indicar o endereço do receptor pretendido da mensagem CAN. (Fica dentro da PDU Specific quando esta não é usada como extensão de grupo)
  4. ECU (Electronic Control Unit) - Computador eletrônico com funções bem definidas. Por exemplo, uma ECU pode ser responsável por um conjunto de sensores e de tempos em tempos enviar essas informações para a rede ISOBUS.
  5. Implement – Dispositivo ou máquina que tem uma operação específica (por exemplo, colheitadeira, plantadeira, etc) que normalmente é conectada em um trator.
  6. Display - É a parte do Virtual Terminal que apresenta as informações para o usuário (ISO 11783:6).
  7. NAME – Contém o tipo de Control Function, Nome do fabricante, Número de série, etc. de uma ECU. Este item é melhor detalhado na ISO 11783:5.
  8. Industry Group (IG) - alocação de dispositivos e suas funções usadas por um setor específico.
  9. Object Pool - É uma coleção de objetos que define como deve ser montada a interface da ECU no display e/ou a descrição de um dispositivo.
  10. Packet - Um frame CAN que pertence a um grupo de pacotes de mensagens.
  11. Parameter Group - Identificador de dados de mensagem única ou de um grupo de mensagens.
  12. Paramenter Group Number (PGN) - Representação de 24 bits que especifica o tipo do Parameter Group.
  13. PDU FORMAT - campo de oito bits no identificador CAN de 29 bits que identifica o formato da unidade de dados do protocolo.
  14. PDU SPECIFIC (PS) - campo de oito bits no identificador CAN de 29 bits que é um endereço de destino ou a extensão de grupo.
  15. PDU1 FORMAT - formato de unidade de dados de protocolo usado para mensagens que devem ser enviadas para um endereço de destino.
  16. PDU2 FORMAT - formato de unidade de dados de protocolo usado para enviar informações pela técnica de extensão de grupo.
  17. Preferred Address - endereço de origem de uma função de controle contida na ECU e que não podem ser alteradas após a configuração do dispositivo (esta parte da norma descreve quais são estes endereços).
  18. Source Address (SA) - campo de oito bits no identificador CAN de 29 bits que fornece a identificação exclusiva da fonte de uma mensagem.
  19. Virtual Terminal (VT) - ECU que contém um display gráfico e controles de entrada que fornecem a capacidade de exibir informações e recuperar dados de um operador para um implemento ou conjunto de trabalho conectado. (Local onde hospedará o nosso Hello World!)
  20. Working Set - grupo de NAMEs em uma ou mais ECUs que fornecem coletivamente uma função de controle ou grupo de funções de controle.
  21. Working Set Master - coordenador das comunicações de um conjunto de trabalho.

Os Anexos da ISO 11783:1

  • Anexo A: Parameter Group - Neste anexo se encontra todos os PGNs utilizados pela norma ISO 11783.
  • Anexo B: ISO 11783 Industry Groups - Neste anexo se encontra todos os 7 possíveis grupos de indústria contemplados nesta norma.
  • Anexo C: ISO 11783 Industry group 0 preferred address - Neste anexo se encontram todos os endereços preferenciais dos dispositivos contidos no grupo de indústria 0.
  • Anexo D: ISO 11783 Industry group 2 preferred address - Neste anexo se encontram todos os endereços preferenciais dos dispositivos contidos no grupo de indústria 2 (Equipamento Agrícola e Florestal).
  • Anexo E: ISO 11783 NAMEs: Este anexo define os isonames.
  • Anexo F: ISO 11783 All Industry Names: Este anexo define o nome de todas as funcionalidades independente do grupo da indústria.

ISO 11783:2 – PHYSICAL LAYER (Camada Física)

Esta parte da norma específica e descreve como deve ser a camada física do barramento ISOBUS, assim como as características elétricas e mecânicas dos elementos que a compõe.

Como não faz parte do escopo desse artigo detalhar todas as minúcias das normas ISOBUS, irei direto ao que nos interessa, o barramento ISOBUS faz uso da comunicação CAN [email protected]

ISO 11783:3 – DATA LINK LAYER (CAMADA DE LIGAÇÃO DE DADOS)

Introdução

Esta parte da norma descreve o protocolo de comunicação para transferência de dados pela camada de ligação de dados e o uso de estrutura de dados estendidos CAN pela rede. É aqui onde se define como deve ser feito a transferência de dados pela rede CAN.

Formato da Estrutura de Mensagem Estendida (CAN 2.0B 29 bits)

O padrão ISOBUS usa o padrão estendido da estrutura de dados CAN, conforme mostrado na figura abaixo.

Figura 1: Estrutura de Dados CAN 2.0B

  • O campo de decisão é encontrado nas literaturas em inglês como Arbitration Field, que é basicamente onde se tem arbitração da prioridade da mensagem no barramento.
  • O campo de dados é descrito como Bytes 1 a 8. O bit mais significativo do Byte1, Bit 8, é enviado primeiro (mais próximo do DLC) e o Bit 1 do Byte8 é enviado por último (mais próximo do CRC).

Analisando o Conteúdo do Campo de Decisão

O campo de decisão é composto pelos seguintes campos:

  • Prioridade da mensagem
  • EDP (Extend Data Page) - Página de dados estendida -> no ISOBUS deve ser usado sempre como 0 (zero).
  • DP (Data Page) - Página de dados - é usado como o bit MSB do PGN.
  • PF (PDU Format) - Formato do PDU
  • PS (PDU Specific) - Campo Específico do PDU
  • SA (Source Address) - Endereço do remetente da mensagem
Figura 2: Identificação do Campo de Decisão (Arbitration Field)

Importante deixar claro que alguns campos serão “excluídos” por serem controlados pela especificação CAN, sendo desnecessários para o artigo em questão.

Número do Grupo de Parâmetro (PGN – Parameter Group Number)

O PGN identifica um grupo de parâmetros no campo de dados da mensagem CAN, ele é expresso em 18 bits que são os campos EDP, DP, PF e PS, conforme figura abaixo. (Dica: ele também pode ser representado em 24 bits, considerando os 6 primeiros bits como zero 0). Se o campo PF for inferior a 240 (0xF0), então o PS é ajustado para zero (0).

Figura 3: Campos que Compõem o PGN

Os campos EDP e DP são utilizados em conjunto para determinar a estrutura do identificador CAN, veja tabela abaixo:

Tabela 1- Relação Entre os Campos EDP e DP com o PGN

EDPDPDescrição
00ISO 11783 página 0 PGN
01ISO 11783 página 1 PGN
10ISO 11783 reservado
11ISO 15765-3 definido PGN

Veja abaixo um exemplo de representação do PGN.

Tabela 2 - Exemplo de Representação do PGN





PGN
EDPDPPFPSDecHexDescription
000xEA0x00599040x00EA00Request (RQST)
000xF00x05614450x00F005Electronicc Transmission Controller 2 (ETC2)

Na tabela acima temos a representação de dois formatos de Protocol Data Unit (PDU), sendo eles:

PDU1 (PS = DA) - O campo PS passa a ser o endereço de destino (Destination Address - DA) permitindo assim o envio da mensagem para o endereço de um Controle de Função (Control Function) ou Global (255). Usando o campo DP, mensagens do tipo PDU1 pode conter até 480 variações (2 x 240 = 480 PGNs).

PDU2 (PS=GE) - O campo PS é utilizado como Extensão do Grupo (Group Extension - GE) não permitindo assim o envio da mensagem para uma CF em específico. O formato PDU2 pode conter até 8192 PGNs (2 x 16 x 256 = 8192).

Para um melhor entendimento do uso do campo PS veja a tabela abaixo:

Tabela 3 - PDU – Relação do Campo PF com PS

Formato PDUPFPS
PDU10-239Endereço de Destino (DA)
PDU2240-255Extensão de Grupo (GE)

Campo de dados

Dados de 0 a 8 bytes

PGNs que expressão grupos de parâmetros com tamanho menor ou igual a 8 Bytes deve ser enviado em um único Data Frame CAN. O campo DLC deve ser ajustado para o tamanho do Grupo de Parâmetro.

Dados maiores que 8 bytes

PGNs que expressam grupos de parâmetros com tamanhos superiores a 8 bytes deve fazer uso do Protocolo de Transporte (multipacote), neste caso todos os Data Frame CAN devem ter o seu DLC ajustado para 8.

Mensagens Multipacote

Gerenciamento da Conexão

Compreende-se como Gerenciamento da Conexão a abertura, uso e encerramento de conexões virtuais entre CFs de destino específico. Nos casos onde a comunicação é feita de um para muitos (Broadcast), não há controle de fluxo ou encerramento.

Protocolo de transporte – Mensagem de Gerenciamento de Conexão

Para mensagens que variam entre 9 e 1785 bytes, deve-se utilizar a mensagem Protocolo de Transporte – Gerenciamento da Conexão (TP.CM) cujo PGN 0x00EC00 com prioridade-padrão 6. A definição das funções inerentes a este PGN são informadas no Byte de Controle que é o primeiro byte do campo de dados. As mensagens compreendidas neste tipo de protocolo são:

  • TP.CM_RTS (Modo de Conexão Solicitar para Envio) - Byte de controle = 16 (Request to Send). É usado para solicitar envio da mensagem para um destino específico. Veja abaixo o formato deste tipo de mensagem.
Figura 4: Formato da Mensagem TP.CM_RTS

  • TP.CM_CTS (Modo de Conexão Livre Para Envio) - Byte de controle = 17 (Clear to Send). É usado pelo destino de origem que receberá a mensagem para informar o número de pacotes que pode ser enviado pelo requisitante. Veja abaixo o formato desta mensagem:
Figura 5: Formato da Mensagem TP.CM_CTS

  • TP.CM_EndofMsgACK (Confirmação do Fim de Mensagem) - Byte de Controle = 19. É usado pela CF de recebimento mediante o recebimento da última mensagem para sinalizar que o pacote foi recebido com sucesso. Veja abaixo o formato desta mensagem.
Figura 6: Formato da Mensagem

  • TP.CM_Abort (Cancelar Conexão) – Byte de Controle = 255. É usado em qualquer momento pela CF de recebimento, caso ocorra alguma falha e a mesma tenha que solicitar o cancelamento da conexão.
Figura 7: Formato da Mensagem TP.CM_Abort

  • TP.CM_BAM (Mensagem de Anúncio de Transmissão) – Byte de controle = 32. Esta mensagem é usada pelo transmissor quando pretende enviar uma mensagem com endereço global.
Figura 8: Formato da Mensagem TP.CM_BAM

Protocolo de Transporte – Mensagem de Transferência de Dados (TP.DT)

A mensagem TP.DT, cujo PGN é 0x00EB00 com prioridade-padrão 7, é utilizada para transferência dos dados associados com os grupos de parâmetros que tenham mais de 8 bytes. Todo primeiro byte do data frame CAN é usado como número sequencial, portanto, cada frame tem 7 bytes de dados útil.

Por exemplo, um grupo de parâmetro que tenha uma mensagem de tamanho 16 bytes deverão ser enviados em 3 mensagens, sendo que os bytes extras da última mensagem devem ser preenchidos com 0xFF.

Figura 9: Formato da Mensagem TP.DT

Veja no diagrama de sequência abaixo uma mensagem que faz uso do protocolo de transporte, a mensagem tem a seguinte característica:

  1. Tamanho total da mensagem: 23 bytes
  2. Número máximo de pacotes: 4
  3. A ECU de origem sinaliza que não tem limites na quantidade de pacotes que pode ser enviado por CTS
  4. PGN: 65259 (0x00FEEB). Opa, parece existir uma inconsistência aqui, segundo a tabela 3, quando o PF >= 240 o campo PS é usado como Group Extension, logo não pode ser uma comunicação com destinatário específico, certo? Sim, está certo. Mas, há um porém neste caso, a mensagem 0x00FEEB está encapsulada dentro do protocolo de transporte, cujo PGN é 0x00EC00, logo está pode abrir uma conexão virtual com um destinatário específico.
Figura 10 - Diagrama de Sequência Para Envio de Mensagem Usando Protocolo de Transporte

Explicando os tempos envolvidos neste processo:

  • Tr – Tempo limite para envio de resposta.
  • Th – Tempo limite para segurar a conexão.
  • T1 – Tempo limite para todos os controladores de recebimento devem aguardar antes de cancelar a conexão.
  • T2 – Tempo limite que todos os controladores de recebimento devem aguardar após o envio de um CTS antes de cancelar a conexão.
  • T3 – Tempo limite que todos os controladores de origem devem aguardar para recebimento de resposta antes de cancelar ou tentar um novo envio.
  • T4 – Tempo limite que o controlador de origem deve aguardar após receber um CTS = 0.

Veja no diagrama de sequência abaixo um exemplo de envio de uma mensagem do tipo TP.CM_BAM com as seguintes características:

  1. Tamanho total da mensagem: 17
  2. Número de máximo de pacotes: 3
  3. PGN: 65260 (0x00FEEC)
Figura 11: Diagrama de Sequência de Envio de Mensagem com TP.CM_BAM

Protocolo de Transporte Estendido (ETP)

O protocolo de transporte estendido (PGN -51200 (0x00C800)) é usado quando são requeridas mensagem maiores que 1785 bytes. Este protocolo permite envio de mensagens com tamanho entre 1786 até 117440505 bytes.

  • ETP.CM_RTS (Modo de Conexão Estendida Solicitar para Envio) – Byte de Controle = 20. É usado para solicitar envio da mensagem para um destino específico. Veja abaixo o formato deste tipo de mensagem.
Figura 12: Formato da Mensagem ETP.CM_RTS
  • ETP.CM_CTS (Modo de Conexão Estendida Livre Para Envio) - Byte de controle = 21. É usado pelo destino de origem que receberá a mensagem para informar o número de pacotes que pode ser enviado pelo requisitante. Veja abaixo o formato desta mensagem:
Aplicações ISOBUS
Figura 13: Formato da Mensagem


  • ETP.CM_CTS ETP.CM_DPO (Modo de Conexão Estendida Desvio de Pacotes) – Byte de controle = 22. Esta mensagem estabelece o desvio de que os pacotes transmitidos são numerados dentro de um grupo de dados CTS. O número sequencial da mensagem estendida real = (Número sequencial ETP.DT + Desvio do Pacote de Dados ETP.CM_DPO).
Aplicações ISOBUS
Figura 14: Formato da Mensagem ETP.CM_DPO
  • ETP.CM_EndofMsgACK (Confirmação do Fim de Mensagem Estendida) - Byte de Controle = 23. É usado pela CF de recebimento mediante o recebimento da última mensagem para sinalizar que o pacote foi recebido com sucesso. Veja abaixo o formato desta mensagem.
Aplicações ISOBUS
Figura 15: Formato da Mensagem ETP.CM_EndofMsgACK
  • ETP.CM_Abort (Cancelar Conexão Estendida) – Byte de Controle = 255. É usado em qualquer momento pela CF de recebimento, caso ocorra alguma falha e a mesma tenha que solicitar o cancelamento da conexão.
Aplicações ISOBUS
Figura 16: Formato da Mensagem ETP.CM_Abort

Protocolo de Transporte Estendido – Mensagem de Transferência de Dados (ETP.DT)

A mensagem ETP.DT, cujo PGN é 0x00C700 com prioridade-padrão 7, é utilizada para transferência dos dados associados com os grupos de parâmetros que tenham mais de 1078 bytes. Todo primeiro byte do data frame CAN é usado como número sequencial, portanto, cada frame tem 7 bytes de dados útil.

Por exemplo, um grupo de parâmetro que tenha uma mensagem de tamanho 1100 bytes deverão ser enviados em 158 mensagens, sendo que os bytes extras da última mensagem devem ser preenchidos com 0xFF.

Aplicações ISOBUS

Veja a seguir um diagrama de sequência demonstrando o envio de mensagem de transporte estendida.

Aplicações ISOBUS

Referências Bibliográficas

ISO 11783:1 – https://www.iso.org/standard/57556.html

ISO 11783:2 – https://www.iso.org/standard/71171.html

ISO 11783-:3 – https://www.iso.org/standard/71172.html

Outros artigos da série

ISO 11783-5 – Gerenciamento de Rede (Data Link Layer) >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comunicações » O Pilar Para Construir Aplicações ISOBUS - Introdução
Comentários:
Notificações
Notificar
guest
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Nenhum resultado encontrado.

Séries



Outros da Série

Menu

WEBINAR
 
Sensores e soluções para aplicações em indústria inteligente

Data: 13/08 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link