Como simular uma rede de barramento CAN de veículo?
3
Eu gostaria de fazer um projeto sobre o teste de mensagens CAN bus, mas sem um veículo real. Existe alguma maneira de simular uma rede de barramento CAN virtual?
Ajudaria se você desse mais detalhes sobre o que está tentando fazer com seu projeto.
GdD
Respostas:
1
Existem realmente duas maneiras de conseguir isso.
Conecte todos os Nós necessários no banco, por exemplo, este pode ser o ECU do Motor, o conjunto de instrumentos, o BCM, a haste do indicador, o módulo de conveniência traseiro etc. etc.
Monitore os dados CAN no veículo em questão para que você saiba quais dados são necessários e transmita isso de seu próprio dispositivo, como um PC, placa de desenvolvimento de barramento CAN, etc. Eu prefiro usar um transceptor USB-CAN e um PC desse jeito Eu posso escrever scripts personalizados e software para monitorar o tráfego e transmitir em determinados momentos sob certas condições. O benefício com este método é que você pode ter medidores e gráficos na tela.
Isso realmente depende do que você quer alcançar e por quê.
O número um tem o benefício de ser um hardware do "mundo real", é exatamente como seria no veículo. O problema, no entanto, é que haveria centenas de erros, a menos que você tenha ligado todos os dispositivos elétricos, pois certas ECUs estariam procurando por sensores, atuadores, até mesmo lâmpadas, etc., que não estavam presentes.
O número dois tem a vantagem de economizar espaço e elimina o problema de falta de hardware. Você simplesmente transmite todos os IDs de CAN e dados que estariam presentes no veículo. O problema com isso é que pode haver problemas de tempo com sistemas de segurança e proteção. Com 95% dos dados transmitidos, realmente não importa quando exatamente os dados são transmitidos, basta vê-los dentro de um determinado período de tempo. Mas alguns dados funcionam como um sistema de chamada e resposta, por exemplo, o Nó 1 envia 'xxxxxxx', o Nó 2 só então envia 'xxxxxx1' e o Nó 1 continua a enviar o resto dos dados. Ou um nó específico terá que transmitir primeiro para acordar o resto. Embora depois de monitorar os dados ao vivo o suficiente, não é tão difícil trabalhar o tempo limite.
Eu costumo ter a ECU do motor conectada em uma bancada com todos os sensores e atuadores necessários, e conecto-a ao meu PC usando um dispositivo USB-CAN.
Lembre-se de que o barramento CAN automotivo não é tão complicado assim, cada nó simplesmente transmite vários IDs com até 8 bytes de dados. ECUs / Nós não 'falam' uns com os outros, eles são burros, eles simplesmente monitoram o barramento para os dados e fazem mudanças com base nesses dados. Simule exatamente esses dados e não haverá problemas.
Eu evitaria dispositivos DIY e de barramento CAN de código aberto, como o Arduino, já que eles normalmente não são rápidos o suficiente para transmitir e processar até 100 IDs. Eu investiria em um analisador de barramento CAN decente, como o Kvaser.
Eu pessoalmente fiz meu próprio analisador de barramento CAN com um processador de 72Mhz, o qual eu diria que é o mínimo necessário para simular uma rede completa. Tudo depende do seu conhecimento de eletrônica e software, construir seu próprio analisador e PCB personalizado não é tão difícil com conhecimento de eletrônica iniciante.
É um esforço digno, mas suspeito que qualquer solução que você pudesse comprar seria muito mais cara do que salvar os computadores importantes de um destruidor e criar seu próprio "veículo de teste" virtual.
Mesmo apenas uma ECU e um "módulo de carroceria" (em termos da GM, BCM / BCU) podem ser suficientes para simular um veículo inteiro para seus propósitos.
Ou talvez compre um veículo naufragado, sem necessidade de estética ou mesmo de um motor. Você só precisa da fiação e dos computadores intactos.
Respostas:
Existem realmente duas maneiras de conseguir isso.
Conecte todos os Nós necessários no banco, por exemplo, este pode ser o ECU do Motor, o conjunto de instrumentos, o BCM, a haste do indicador, o módulo de conveniência traseiro etc. etc.
Monitore os dados CAN no veículo em questão para que você saiba quais dados são necessários e transmita isso de seu próprio dispositivo, como um PC, placa de desenvolvimento de barramento CAN, etc. Eu prefiro usar um transceptor USB-CAN e um PC desse jeito Eu posso escrever scripts personalizados e software para monitorar o tráfego e transmitir em determinados momentos sob certas condições. O benefício com este método é que você pode ter medidores e gráficos na tela.
Isso realmente depende do que você quer alcançar e por quê.
O número um tem o benefício de ser um hardware do "mundo real", é exatamente como seria no veículo. O problema, no entanto, é que haveria centenas de erros, a menos que você tenha ligado todos os dispositivos elétricos, pois certas ECUs estariam procurando por sensores, atuadores, até mesmo lâmpadas, etc., que não estavam presentes.
O número dois tem a vantagem de economizar espaço e elimina o problema de falta de hardware. Você simplesmente transmite todos os IDs de CAN e dados que estariam presentes no veículo. O problema com isso é que pode haver problemas de tempo com sistemas de segurança e proteção. Com 95% dos dados transmitidos, realmente não importa quando exatamente os dados são transmitidos, basta vê-los dentro de um determinado período de tempo. Mas alguns dados funcionam como um sistema de chamada e resposta, por exemplo, o Nó 1 envia 'xxxxxxx', o Nó 2 só então envia 'xxxxxx1' e o Nó 1 continua a enviar o resto dos dados. Ou um nó específico terá que transmitir primeiro para acordar o resto. Embora depois de monitorar os dados ao vivo o suficiente, não é tão difícil trabalhar o tempo limite.
Eu costumo ter a ECU do motor conectada em uma bancada com todos os sensores e atuadores necessários, e conecto-a ao meu PC usando um dispositivo USB-CAN.
Lembre-se de que o barramento CAN automotivo não é tão complicado assim, cada nó simplesmente transmite vários IDs com até 8 bytes de dados. ECUs / Nós não 'falam' uns com os outros, eles são burros, eles simplesmente monitoram o barramento para os dados e fazem mudanças com base nesses dados. Simule exatamente esses dados e não haverá problemas.
Eu evitaria dispositivos DIY e de barramento CAN de código aberto, como o Arduino, já que eles normalmente não são rápidos o suficiente para transmitir e processar até 100 IDs. Eu investiria em um analisador de barramento CAN decente, como o Kvaser.
Eu pessoalmente fiz meu próprio analisador de barramento CAN com um processador de 72Mhz, o qual eu diria que é o mínimo necessário para simular uma rede completa. Tudo depende do seu conhecimento de eletrônica e software, construir seu próprio analisador e PCB personalizado não é tão difícil com conhecimento de eletrônica iniciante.
fonte
É um esforço digno, mas suspeito que qualquer solução que você pudesse comprar seria muito mais cara do que salvar os computadores importantes de um destruidor e criar seu próprio "veículo de teste" virtual.
Mesmo apenas uma ECU e um "módulo de carroceria" (em termos da GM, BCM / BCU) podem ser suficientes para simular um veículo inteiro para seus propósitos.
Ou talvez compre um veículo naufragado, sem necessidade de estética ou mesmo de um motor. Você só precisa da fiação e dos computadores intactos.
fonte