Você está na página 1de 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/347522974

Desenvolvimento e Proposição de Conceito para Comunicação entre Rede CAN


Automotiva e Plataforma Microcontrolada

Conference Paper · August 2018

CITATIONS READS

0 176

5 authors, including:

Pedro Ivo de Oliveira Tironi Gustavo Lobato Campos


Centro Federal de Educação Tecnológica de Minas Gerais Instituto Federal Minas Gerais (IFMG)
9 PUBLICATIONS   2 CITATIONS    41 PUBLICATIONS   11 CITATIONS   

SEE PROFILE SEE PROFILE

Andrey Gustavo de Souza Saulo Marcos Torres de Carvalho


Universidade Federal de Lavras (UFLA) Instituto Federal Minas Gerais (IFMG)
9 PUBLICATIONS   5 CITATIONS    4 PUBLICATIONS   65 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Desenvolvimento de Vehicle Functions View project

Estudos de alternativas à rede CAN automotiva View project

All content following this page was uploaded by Pedro Ivo de Oliveira Tironi on 21 December 2020.

The user has requested enhancement of the downloaded file.


INFORMAÇÕES GERAIS DO TRABALHO

Título do Trabalho: Desenvolvimento e Proposição de Conceito para Comunicação entre Rede


CANAutomotiva e Plataforma Microcontrolada
Autor (es): Pedro Ivo de Oliveira Tironi, Felipe Machado Romeros, Gustavo Lobato Campos, Andrey
Gustavo de Souza, Saulo Marques Torres de Carvalho.
Palavras-chave: Redes automotivas; Rede CAN; Sistemas Embarcados; Plataformas microcontroladas.
Campus: Formiga - MG
Área do Conhecimento (CNPq): 3.04.00.00-7 Engenharia Elétrica.

RESUMO:

O protocolo de comunicação CAN (Controller Area Network) foi desenvolvido pela multinacional alemã
Bosch, na década de 80, e pode ser considerado um dos principais marcos na evolução automotiva. Seu
desenvolvimento foi motivado pelo crescente número de módulos eletrônicos, inseridos nos automóveis,
dando origem a uma quantidade excessiva de cabos e conexões. Dessa forma, provocava frequentes erros
e causava elevado tempo de manutenção. Com a implementação do protocolo CAN foi possível reduzir
drasticamente a quantidade de cabos necessários interligando as centrais eletrônicas veiculares por um
único barramento de dados. Além disso, sua utilização proporciona maior segurança, robustez e alta taxa
de transmissão, possibilitando maior conforto aos passageiros. Neste contexto, a presente pesquisa teve
como objetivo estudar, desenvolver e propor um conceito para comunicação entre a rede CAN automotiva e
uma plataforma microcontrolada no intuito de obter informações úteis para aplicações em projetos futuros.
Inicialmente foi realizado levantamento bibliográfico com a finalidade de conhecer as características e
aplicações do protocolo. Com o conhecimento prévio deste, foi possível realizar levantamento de potenciais
plataformas microcontroladas e dispositivos capazes de realizar a leitura do barramento, no qual
embasado em já resultados obtidos na literatura, foi selecionado o Arduino juntamente com shilds do
módulo CAN e o scanner OBDII. De forma complementar foram realizadas leituras de dados por meio
de osciloscópio a fim de compreender os frames utilizados nas mensagens. Ao utilizar o scanner
OBDII verificou-se que as centrais eletrônicas inseridas neste não ofereceriam resultados ideais,
porém utilizando o scanner diretamente em um veículo pode-se analisar diversos status do mesmo em
tempo real. Utilizando um Arduino a comunicação não foi estabelecida de modo satisfatório, no qual foram
elaboradas justificativas para propor a ausência na leitura do sinal. Deste modo, pode-se observar que a
rede CAN automotiva tem inúmeras vantagens, e justifica-se por ser a principal forma de comunicação entre
centrais veiculares, no qual pode-se obter a leitura e comunicação entre a rede CAN e dispositivos como o
osciloscópio e o scanner OBDII, no qual produzem uma gama de aplicações e desenvolvimentos acerca.

INTRODUÇÃO:

Em virtude ao crescente número de unidades eletrônicas dentro de um veículo aumentou-se


drasticamente a quantidade de fios e conexões necessárias para realizar a comunicação entre estes
elementos, provocando frequentes erros, uma difícil manutenção, além do aumento de peso do veículo. Em
decorrência disto, a empresa alemã Bosch no início dos anos 80, desenvolveu uma tecnologia com objetivo
de oferecer uma maior eficiência na comunicação entre as ECUs (do inglês, electronic central unit).
Levando o nome de rede CAN, este protocolo de comunicação multicast que interliga as centrais
oferecendo maior eficiência a fim de corrigir os problemas citados. Essa estrutura foi adotada pela sua
flexibilidade e segurança, assegurando um maior conforto para os usuários e uma gestão mais eficaz do
cabeamento responsável pelas funcionalidades dos dispositivos integrados nos automóveis. (CARVALHO,
2017). Destaca-se que o protocolo CAN buscou a redução do cabeamento existente sem, contudo,
comprometer a confiabilidade e a segurança do veículo (CARVALHO, 2017).
A fim de expandir seu uso o protocolo segue os modelos de regulamentação como de qualquer
rede. O modelo OSI (do inglês, Open Systems Interconnection) define os protocolos de comunicação entre
os sistemas de uma rede, e este é dividido em 7 camadas. Porém, o protocolo CAN é definido nas duas
camadas mais baixas deste modelo, a camada física e a de enlace de dados, sendo regulamentado pelas
normas da ISO 11898 (CARVALHO, 2017).
A aceitação da rede CAN se tornou mundial, sendo que “quase todo carro fabricado nas regiões dos
tratados comerciais, e EMEA (Europem, MiddleEast, andAfrica), NAFTA (North American Free Trade
Agreement), LATAM (LatinAmerica) e APAC (Asia-Pacific) empregam o barramento CAN” (CARVALHO,
2017).
Destaca-se então, a importância em ter uma plataforma microcontrolada para realizar a leitura do
barramento promovendo uma interatividade entre veículo e usuário, podendo também relevar a importância
do entendimento desse protocolo para projetos futuros podendo acentuar questões de segurança e
vulnerabilidade do mesmo, fato muito discutido atualmente pela indústria automobilística.
Deste modo, este documento visa apresentar, dados, metodologias e resultados para o
desenvolvimento de uma plataforma que estabeleça a comunicação entre o barramento CAN. Que são
provenientes de estudos acerca e discussões entre pesquisadores e acadêmicos do setor. No qual pode-se
a leitura destes dados de duas formas distintas, obtendo resultados na linha de pesquisa do OBDII que
trazem perspectivas para trabalhos futuros e também cita-se os desenvolvimentos acima da plataforma
microcontrolada Arduino.

METODOLOGIA:

Se tratando de um estudo que buscou produzir novas informações, entendendo como as coisas
acontecem, de acordo com Gerhardt e Silveira (2009), o estudo pode ser caracterizado como qualitativo, em
que seu desenvolvimento inicial baseou-se em uma pesquisa bibliográfica. Esta constitui-se de livros,
artigos, periódicos, e matérias disponíveis em bibliotecas e internet, a fim de gerar conhecimento prévio aos
pesquisadores (KAUARK; MANHÃES e MEDEIROS, 2010). Isto buscando conhecer o conceito básico do
protocolo CAN e suas aplicações, que neste caso teve como foco a aplicação no setor automotivo e
também um levantamento de trabalhos que obtiveram êxito na leitura do barramento CAN. Posteriormente,
embasado nos materiais estudados, procedeu-se uma análise de equipamentos e plataformas
microcontroladas que poderiam obter resultados satisfatórios.
Utilizando o Laboratório de Sistemas Automotivos do IFMG – campus Formiga, foram feitos os
primeiros testes em bancada (conforme demonstra a Figura 2 – a) sendo inicialmente utilizado para simular
o barramento CANBUS. Com o auxílio dos osciloscópios Tecktronix MSO
2014B Mixed Signal Oscilloscope e o chip DPO 2AUTO Automotive (conforme demonstrada na Figura 2 – b)
inserido no hardware dos osciloscópios, foram introduzidos as pontas de provas no conector OBDII da
bancada (Figura 2 – c) e colhidos os sinais provenientes de pequenas simulações como seta, acionamento
da injeção eletrônica e outras funcionalidades que a bancada oferece.

Figura 2: (a) Bancada automotiva IFMG – campus Formiga. Fonte: (polodeinovacao.ifmg.edu, 2018)
(b) Chip DPO 2AUTO Automotive. Fonte: Próprio autor.
(c) Conector OBDII da Bancada Automotiva (IFMG) – Campus Formiga. Fonte: Próprio autor.
Para dar sequência ao estudo, foi realizada análise de quais materiais seriam necessários para a
procedência do projeto. Deste modo, foram adquiridos o scanner Automotivo Diag.elm327 Obd2 V1.5
Bluetooth, o Arduino Due R3 Arm e dois módulos shields CAN, sendo o Transceptor Sn65hvd230 Cjmcu-
230 e o Módulo High Speed Can Bus Protocolo – Mcp2551.
O scanner Automotivo foi apontado por apresentar resultados satisfatórios nos trabalhos
de Almeida e Freitas (2013), Silva (2017) e Pagani (2017) assim, foram realizados testes com o mesmo no
Laboratório Automotivo. Para visualização dos dados foi utilizada uma plataforma, sendo ela o aplicativo
Torque Pro versão 1.5.58, instalado no Smartphone com comunicação Bluetooth. Em que este aplicativo
(Torque Pro) interpreta os dados coletados da rede CAN automotiva.
Após o scanner conectar-se ao veículo, os Bluetooth’s do equipamento e do aparelho celular são
pareados para haver troca de informações. Para maior segurança a inserção de uma senha se faz
necessária com propósito de evitar conexões não autorizadas. Depois da configuração do software o
usuário tem acesso a uma área de trabalho inicial, esta demonstra se o carro está conectado com o
dispositivo, além de opções de leitura, configuração, GPS entre outras opções.
Finalizando os testes em laboratório foram realizados testes em campo, utilizando um veículo FIAT
Siena, para que informações mais próximas da realidade fossem alcançadas. Assim, conectando ao veículo
o equipamento scanner no conector OBDII, localizado em baixo do volante e percorrendo o estacionamento
do IFMG - campus Formiga, foram obtidos dados pertinentes ao experimento.

O Arduino Due R3 e a Shield Sn65hvd230 Cjmcu-230 foram as opções escolhidas baseadas no


trabalho de Curvello (2017). O autor foi contatado, via e-mail pessoal, para auxiliar na escolha do mesmo e
informações úteis para o desenvolvimento, como por exemplo esclarecimento de dúvidas sobre o código
e shields CAN. Deste modo, utilizando o software Arduino instalado em um notebook, iniciou-se a
configuração da plataforma microcontrolada e também o upload dos códigos obtidos no site GitHub.
Realizadas as configurações necessárias no código obtido, foi esquematizado inicialmente o circuito no
aplicativo Fritzing (versão.0.9.3b.64) como mostra a Figura 3, e posteriormente foi montado o hardware.
Figura 3: Hardware para leitura do barramento CAN com a inserção do chip MCP 2551 e HVD 230.
Fonte: Dos autores.
Por fim, foram feitos os testes, sendo realizados em bancada, utilizando o Laboratório de Sistemas
Automotivos, e também testes em campo, utilizando o mesmo veículo usado nos testes com o scanner
OBDII, em que nos testes realizados foram instalados no Arduino Due os dois Shields, sendo aplicado a
eles o mesmo código.

RESULTADOS E DISCUSSÕES:

Realizada uma revisão bibliográfica foi elaborado um artigo (em fase de submissão) acerca dos
conhecimentos adquiridos sobre o protocolo CAN. Cita-se que neste é feito uma revisão sobre o tema, e
colocadas perspectivas atuais como o ataque de hackers a redes veiculares.
Com o osciloscópio foi possível ouvir o barramento, no qual com ajuda do chip (Figura 2 – b) e com
as configurações adequadas ao equipamento foi possível identificar as mensagens e as formas de onda,
conforme representa a Figura 4. No qual, pode-se observar o início e fim de cada mensagem, além das
cores (Figura 4 – a) representarem o frame de dados, o início e fim do frame, e campo identificadores. No
formato de quadro pode-se obter os mesmos dados, porém de modo hexadecimal, e dividido por campos.

Figura 4: (a) Leitura do barramento CAN BUS. (b) Captura de tela do quadro de mensagens do
barramento hexadecimal pelo osciloscópio. Fonte: (a) e (b) próprio do autor.
Os testes do OBDII (Figura 5 – a) iniciaram-se na bancada automotiva, pra isto foram feitas o
download do aplicativo (Figura 5 – b) para interpretar os dados coletados da rede CAN. Após o scanner ser
conectado na bancada os dispositivos foram pareados para haver a troca de informações. Foram
detectados 18 parâmetros capazes de serem medidos, porém como a bancada não possui todos os
sensores de um carro convencional algumas informações não foram bem representadas conforme
demonstra a Figura 5 – c.
(a) (b) (c) (d)
Figura 5: (a) Scanner OBDII (b) Captura de tela página inicial do aplicativo (c) Número de parâmetros
oferecidos na bancada automotiva (d) Captura de tela da leitura do barramento CAN pelo aplicativo.
No intuito de suprir os sensores não existentes no veículo foi conectado o OBDII no carro do pólode
inovação foram realizados testes para a coleta de dados e conclusões sobre a capacidade de aplicação dos
resultados encontrados. Dentre os resultados obtidos (Figura 5 – d) pode-se observar parâmetros como
velocidade, revoluções do motor por segundo, pressão do motor e aceleração. Além do aplicativo oferecer
demais guias para consulta de outros parâmetros.Alguns sensores necessitam de configuração extra para
um melhor desempenho, e estão presentes na página do site do fabricante explicando como é feita a
calibração deste sensor para uma melhor coleta dos dados (Torque wiki, 2018).
O desenvolvimento de testes no Arduino deu-se inicialmente pela configuração do softwarepara a
comunicação com o Arduino Due no qual, possibilitaram a comunicação entre os dispositivos (transceivers
CAN).Foram testados códigos disponibilizados em repositórios do GitHub, além de testes feitos com
códigos presentes nas bibliotecas que são voltados para o protocolo CAN. Dentre os códigos testados dois
apresentaram maiores funcionalidades em relação aos outros, sendo que compilaram e necessitaram de
menores alterações em seu formato original (Figura 6 - a).
Logo, após este passo foi elaborado os circuitos em Hardware capazes de efetuarem a
comunicação (Figura 6 – b) e realizados testes práticos, que são feitos em tempo real, ou seja, o código
apresenta os resultados em um intervalo de tempo pré definido logo após a leitura dos dados.
Primeiramente na bancada automotiva e posteriormente no carro pólo de inovação, visto que a bancada
não oferece os parâmetros ideias para o bom funcionamento do código como o sensor de velocidade (visto
que a bancada é estática), ou como sensores de rotação ou de aceleração.
Em ambos os casos não houve a comunicação entre a plataforma microcontrolada e o barramento,
mesmo com a alteração das shields responsáveis pela interação entre Arduino e veículo. Em virtude disto
foram testados outros códigos, além de alterar parâmetros de velocidades de transmissão e recepção (CAN
RX e CAN TX), porém a comunicação não foi feita em nenhuma das tentativas.
Figura 6: (a) Código compilado na IDE do Arduino. (b) Configuração de Hardware utilizada.

CONCLUSÕES:

Como resultado, foi feito uma análise dos parâmetros históricos e atuais da rede CAN, analisando
fatores como características da troca de mensagens, prioridades e segurança a fim de compreender melhor
o assunto e poder desenvolver o projeto. Além disto, foram realizadas atividades práticas como a leitura do
barramento por meio de osciloscópio para poder compreender detalhadamente os sinais provenientes das
ECUs.
Portanto, foi possível registrar dados do barramento CAN em duas situações distintas,
primeiramente em uma bancada automotiva e em segundo em um veículo modelo real com o uso do OBDII.
Podendo comparar parâmetros e analisar as diferenças entre os casos. Os dados obtidos oferecem uma
visão sobre diversos sensores do carro dentre estes, sensor de aceleração, temperatura do ar ambiente,
rotações do motor dentre outros. Tais, fatores que possibilitam uma análise estatística comportamental
sobre parâmetros de direção de um dado motorista podendo, a partir de uma base de dados verificar, por
exemplo, se o modo de direção atual está compatível estatisticamente a situações anteriores, podendo
levantar questões como motorista distinto, ou alterações no balanço de neurotransmissores causadas por
bebidas alcoólicas, estresse, cansaço ou outros fatores.
No caso dos testes com Arduino a comunicação não obteve sucesso, porém foram levantadas
justificativas que fundamentam os fatos que levaram aos erros da ausência de leitura. Sendo atribuídos
fatores como diferença no tempo de latência, taxa de transferência RX e TX entre os componentes e um
eventual defeito nos componentes, visto que não houve possibilidade para testes individuais nos módulos
CAN.
São relatados diversos trabalhos na bibliografia que fazem o uso das informações abstraídas do
barramento CAN para melhorar tanto o conforto dos usuários até mesmo a segurança. Como sugestão
futura de pesquisa e procedência desse projeto, propõe-se o estudo de aplicações diversas que usufruam
das informações obtidas pelo scanner OBDII, além da investigação das falhas de segurança do protocolo
CAN, no qual tem sido assunto abordado na conferência Black Hat de segurança, realizada nos Estados
Unidos em 2015, os pesquisadores Charlie Miller e Chris Valasek explicaram como tiveram acesso a um
Jeep Cherokee, demonstrando em detalhes que é possível invadir a rede CAN utilizando conexão Wi-Fi
(DROZHZHIN, 2015).
Por fim, o desenvolvimento do projeto, tanto conceitual quanto prático, teve importância para formação
intelectual, complementando aspectos profissionais, dando base extracurricular nas áreas de sistemas
embarcados, microcontroladores, sistemas automotivos. Significando um ponto positivo na inserção no
mercado de trabalho, visto que o projeto levantou dificuldades para procedência do mesmo em conceitos
que não são abordados no curso, sendo um excelente meio de aprendizado e crescimento. Além de
ressaltar o ganho pessoal possibilitando uma vivência acadêmica entre profissionais do meio, podendo
trocar experiências e conhecimentos.

AGRADECIMENTOS:

A todos os integrantes do Grupo de Pesquisa CNPq, GSE (Grupo de Soluções em Engenharia),


pela interação e colaboração no desenvolvimento do presente trabalho, assim como ao IFMG - Campus
Formiga.

REFERÊNCIAS BIBLIOGRÁFICAS:

_________. Scanner Automotivo Obd2 Buletooth Android 1.5. Mercado Livre. 2018. Disponível em:
<https://produto.mercadolivre.com.br/MLB-751270830-scanner-automotivo-obd2-bluetooth-android-15-
_JM>. Acesso em: 01 Ago. 2018.
ALMEIDA, E.L.; FARIA, F.F. Scanner OBD-II em plataforma LabView. Monografia (Tecnologia em Eletrônica
Automotiva) FATEC. Santo André - São Paulo, 2013.
DROZHZHIN, A. Black Hat USA 2015: The full storyofhowthat Jeep washacked. Kaspersky. 2015.
Disponível em: https://www.kaspersky.com/blog/blackhat-jeep-cherokee-hack-explained/9493/. Acesso em:
18 Jan. 2018.
CARVALHO, S. M. T. de. Avaliação do método worst case response time para o cálculo do tempo de
resposta em mensagens CAN. 2017. 87 f. Trabalho de conclusão de curso — Instituto Federal de Minas
Gerais, 2017.
CURVELLO, A.M.L. Veja como hackear seu carro usando Rede CAN com Arduino Due. Arduino Day 2017.
Disponível em: < https://pt.slideshare.net/andrecurvello/veja-como-hackear-seu-carro-usando-rede-can-com-
arduino-due >. Acesso em: 30 Jul. 2018.
GERHARDT, T.E.; SILVEIRA, D.T. Métodos de pesquisa. 1 ed., Porto Alegre: Editora da UFRGS, 2009.
JOHANSSON, K.H.; TORNGREN, M.; NIELSEN, L. Vehicle Applications of Controller Area Network.
Disponível em: <https://people.kth.se/~kallej/papers/can_necs_handbook05>. Acesso em: 17 Jul.2018.
KAUARK, F.S.; MANHÃES, F.C.; MEDEIROS, C.H. Metodologia de pesquisa: um guia prático. 1 ed.,
Itabuna: Via Litterarum, 2010.
PAGANI, L. Plataforma web para visualização de dados automotivos a partir da sua central eletrônica.
Monografia (Bacharelado em Sistemas de Informação). USSC, Florianópolis, 2017.
Polodeinovacao.ifmg.edu.br. (2018). Professores/Pesquisadores do IFMG Campus Formiga apresentam
resultados do projeto de parceria com a FIAT Automóveis. [online] Availableat: https://goo.gl/j9FqTX.
Acesso em: 21 Feb. 2018.
SILVA, M.M.G. Aplicação para monitoramento veicular em tempo real. Monografia (Bacharelado em Ciência
da Computação). FURB, Blumenau., 2017.
WIKI, Torque. Boost. Disponível em: <https://torque-bhp.com/wiki/Boost>. Acesso em: 05 abr. 2018.

View publication stats

Você também pode gostar