Pergunta

O barramento serial de comunicação você usaria em um sistema embarcado automotivo se os seus principais critérios de seleção foram:

  • eletricamente robusta
  • velocidade lenta (32 kb / s)
  • Fácil de programa
  • Fácil de interface com os microcontroladores

não será a transferência de quantidade de dados, mas terá de ser transferido periodicamente a velocidade elevada (100 - 500 Hz). Acho que RS-232 não é apenas o suficiente confiável, se você tem o ruído em sua linha de terra. CAN-bus parece interessante, mas eu não tenho nenhuma experiência com ele.

No momento, estamos interessados ??em uma combinação de microcontroladores AVR AT90CAN128.

Foi útil?

Solução

Você já escolheu o AT90CAN128, cuja característica de destaque em comparação com outros processadores AVR é ??o suporte para o bus CAN. Não há realmente uma escolha melhor do que a CAN para uma aplicação automotiva com os seus requisitos de taxa de dados e imunidade a ruídos. Se você marchar em para um cliente automotivo com outra coisa que não pode, você vai acabar gastando todo o seu tempo defendendo a decisão de não usá-lo.

Com isso dito, para a imunidade de ruído em um ambiente hostil como um carro que você vai precisar de um ônibus usando sinalização diferencial. Isso exclui i2c ou SPI, o que é lamentável, porque eles atender suas outras necessidades. RS-485 seria viável como @ Andrew Edgecombe ressalta.

Se você não está construindo um produto comercial, mas sim construir algo para seu próprio uso para colocar no compartimento do motor, você provavelmente pode conviver com USB. USB irá tornar mais fácil para fazer a interface com um laptop no habitáculo, e embora ele não foi projetado para ambientes de alto ruído é diferencialmente sinalizou em um razoavelmente alta tensão.

Outras dicas

Para tudo confiabilidade fora você não pode ir CANbus passado (mas, em seguida, que era uma espécie de implícitos por sua escolha de processador?)

Dependendo do que você quer fazer a interface com, isso pode ser muito simples - o protocolo de nível básico é bastante simples. Mas se você quiser falar com quaisquer outros dispositivos não-proprietários terá de implementar os protocolos mais elevadas (por exemplo. CANopen).

Mas se CANbus não é apropriado, então eu recomendo RS485 ou RS422 (dependendo da topologia). Se tudo que você está tentando alcançar é o ponto às comunicações de ponto é idêntico ao RS232. (Você vai ter que colocar o seu próprio protocolo camada em cima, se você está tentando apoiar comms multiponto embora.)

Dois outros excelentes diferentes escolhas PODE são LIN e FlexRay. LIN é uma interface mais simples, mais lento, enquanto FlexRay é mais robusto e projetado para sistemas críticos de segurança, como controles em tempo real dos freios.

Para um gráfico visão agradável de como as várias opções de ônibus inter-relacionam ver este href="http://www.lin-subbus.de/img/diagram_technical_overview.gif" rel="nofollow noreferrer"> slides .

Eu sempre sugerem que CAN é o melhor em comunicação automóvel.

  • Tem linha diferencial que pode suportar até mesmo se há uma falha eléctrica na transferência de dados em camada física
  • pode fornecer velocidade confiável, que serve velocidade taxa 500KBaud na maioria dos aplicativos de software automotivo.
  • interface também é fácil se você sabe caixa controlador CAN e registrar estrutura.

Como os outros disse, CAN é padrão, robusto, mais robusta, com velocidade lenta etc.

E há ainda suporte na kernel do Linux para ele a partir da versão 2.6.15, se você precisar do sistema maior.

scroll top