Pourquoi y a-t-il plusieurs bus CAN dans les véhicules?

17

Il y a un certain nombre de questions sur le bus CAN mais aucune (pour autant que je sache) n'explique pourquoi il y a plusieurs bus CAN dans un véhicule. D'après ce que je comprends, de nombreux nœuds différents peuvent être connectés à un seul bus CAN, donc je ne sais pas pourquoi vous en auriez besoin de plus d'un. Mes seules pensées sont les suivantes:

A. Il y a une limite assez petite au nombre de nœuds pouvant être connectés à un seul bus CAN. Mais si tel est le cas, j'imagine qu'il doit y avoir une connexion inter-CAN afin que l'arbitrage et la vérification des erreurs puissent se produire (CAN SPEC 2.0).

-- ou --

B. Les nœuds sont classés par ordre de priorité en tant que systèmes primaires, secondaires et tertiaires et chaque niveau a son propre bus CAN et ces niveaux contiennent uniquement des périphériques indépendants les uns des autres en termes de fonctionnalité. Les freins IE, la commande du moteur, les feux extérieurs, les serrures sont sur le bus principal. Radio, AC, commande de siège, sont sur le bus secondaire, etc., etc.

Si quelqu'un pouvait expliquer / clarifier, je l'apprécierais vraiment. Merci d'avance.

Moeman69
la source
1
Certes, je ne sais pas grand-chose à ce sujet, mais je pensais qu'il n'y avait qu'un seul bus car il n'y a qu'une seule connexion - le port OBDII. Comment sont adressés les bus séparés? Qu'est-ce qui les sépare?
JPhi1618
@ JPhi1618 Honnêtement, je ne sais pas grand-chose moi-même, c'est pourquoi je demande autour. Je discutais avec un camarade de sécurité des véhicules via le bus CAN après son retour d'un événement Hackathon où il a été évoqué et nous avons trouvé un certain nombre de personnes mentionnant que la plupart des véhicules avaient plusieurs bus CAN. Je reconnais que la seule connexion que je connaisse est le port OBDII. Il y a plusieurs postes ici où les gens ont mentionné qu'il y en a plusieurs. ( mechanics.stackexchange.com/questions/8559/obd2-and-can-bus - am6sigma le mentionne dans la réponse).
Moeman69
Trouvé cette discussion qui dit: Pour demander des données, vous devez établir une liaison avec la passerelle CAN, négocier les paramètres de connexion, demander un ensemble de données à partir d'un périphérique CAN particulier et lire les données qui sont retournées. Avec les demandes de droite , vous pouvez accéder aux données de l' un des 3 bus de une connexion - de sorte que votre CBT peut demander RPM du contrôleur de moteur, compteur kilométrique du groupe d' instruments, la fenêtre Position du contrôleur de porte avant droit , etc. Il ressemble une "passerelle" est la clé.
JPhi1618
@ JPhi1618 Ahh merci. Je n'ai jamais vu cette page. Il semble également que ma pensée B était en quelque sorte correcte dans la mesure où les instruments sont connectés en grappes à différents bus. Cependant, la passerelle CAN semble être unique aux véhicules VW et pas nécessairement une norme. Je ne peux qu'imaginer que d'autres véhicules ont un appareil et une configuration similaires, mais c'est purement de la spéculation. Je souhaiterais pouvoir PM des gens car il y a des gens comme je l'ai mentionné qui semblent avoir une connaissance directe de plusieurs bus.
Moeman69

Réponses:

17

Les bus CAN sont principalement séparés

  • gérer la congestion
  • réduire les préoccupations réglementaires concernant les systèmes critiques pour la sécurité
  • exercer plus de contrôle sur qui peut accéder aux différents bus

Les véhicules simples auront deux bus CAN, un pour le moteur et les systèmes de sécurité, et un pour les commandes de la carrosserie (éclairage, expérience utilisateur, etc.).

Les véhicules complexes auront un bus séparé pour les systèmes affectant le mouvement du véhicule, par exemple le régulateur de vitesse assisté par radar, les systèmes de stationnement, le guidage sur voie, etc., ainsi que des systèmes supplémentaires pour les fonctionnalités utilisateur au-delà des simples commandes de la carrosserie, comme dans les systèmes de divertissement des véhicules.

Bien que les bus puissent être partagés, il y a plusieurs raisons de ne pas le faire:

Congestion

Même les bus CAN à grande vitesse n'ont pas de bande passante illimitée et, en fait, par rapport aux systèmes de communication modernes, ils sont très lents. Cependant, il y a encore beaucoup de données à transporter, et la plupart d'entre elles sont cruciales en termes de temps, donc le maintien d'une faible utilisation permet de livrer les messages plus rapidement (moins de collisions), ce qui signifie que les messages en temps réel arrivent à l'heure plutôt que tard. .

Essai

Les systèmes critiques pour la sécurité sont souvent séparés des autres systèmes, ce qui réduit les tests. Tous les dispositifs connectés au bus critique de sécurité doivent avoir un niveau de fonctionnement plus élevé et donc des tests afin d'être certain qu'ils ne causeront pas de problème sur un bus critique de sécurité. Avec un bus de carrosserie séparé, vous pouvez avoir des normes légèrement inférieures car une panne ne causera pas de problème de sécurité, donc les tests sont réduits.

Plutôt que de tout combiner sur un seul bus et de s'assurer que tout est conforme aux normes les plus élevées, des bus séparés permettent aux concepteurs de segmenter le bus et de réduire les coûts.

Les réglementations de l'industrie sont difficiles, en particulier en raison des problèmes d'accélérateur et d'autres problèmes de transmission par fil que l'industrie a connus par le passé. En séparant les systèmes critiques des systèmes non critiques, découvrir ce qui s'est mal passé après coup et le résoudre devient beaucoup plus facile et moins probable, car il y a moins d'appareils qui pourraient interférer avec le bon fonctionnement du système de sécurité.

Contrôle

Une fois que les moddeurs ont découvert qu'ils pouvaient modifier la gestion du moteur et d'autres ordinateurs via une seule interface, les constructeurs automobiles ont travaillé pour séparer le connecteur de diagnostic et son bus du reste des bus du véhicule et utiliser une passerelle pour transmettre uniquement les messages qu'ils autorisent. accès utilisateur et garage. Ils ont généralement des fonctionnalités supplémentaires permettant à leur propre accès technicien, et beaucoup ajoutent même un autre bus au connecteur de diagnostic, mais sans publier les détails du message, afin qu'ils puissent avoir un accès plus rapide tout en conservant une compatibilité ascendante avec les réglementations sur les émissions de diagnostic.

La séparation des bus, cependant, leur permet d'exercer un peu plus de contrôle sur qui a facilement accès aux ordinateurs de bord à l'aide du connecteur de diagnostic simple.

Complexité supplémentaire

La complexité introduite par des bus supplémentaires est gérée par un contrôleur de passerelle. Dans certains véhicules, il s'agit du contrôleur de carrosserie et a souvent d'autres connexions de bus, telles que LIN. Cela transmet des messages entre les bus afin que, lorsqu'un appareil de diagnostic est connecté, par exemple, l'appareil puisse accéder à toutes les informations de diagnostic pertinentes dans tout le véhicule.

Adam Davis
la source
1
Je suis d'accord avec vos points, mais j'insisterais davantage sur la «sécurité» que sur les «tests». Les contrôleurs critiques pour la sécurité sont isolés des autres par la passerelle qui filtre et restreint la communication entre les bus à un sous-ensemble défini. Le lecteur DVD ne doit pas être en mesure de contrôler les pauses ou les coussins gonflables (après l'avoir détourné avec une clé USB bien conçue) ou de compromettre accidentellement leur bus CAN, logiquement ou électriquement. La stratégie est la même que pour tout réseau local avec des serveurs critiques que vous n’exposeriez pas à Internet. Les tests ne vont que jusqu'à présent; l'isolement est à toute épreuve.
Peter - Rétablir Monica le
@ PeterA.Schneider Je ne suis pas en désaccord avec vous, mais j'ai travaillé sur le module de carrosserie pour les grands véhicules Ford de l'année modèle 2009, et bien que le résultat souhaité ait pu être augmenté ou que la sécurité soit vérifiable, les preuves étaient en cours de test, et dans le cas de ce module réduisant le temps de test. La réalité est que le test d'un seul module complexe à lui seul peut prendre des mois dans toutes ses permutations internes, et tester une seule année complète de bus de véhicule. Cela peut être mis en parallèle dans une certaine mesure avec un coût important, mais même quelques semaines est inacceptable. La séparation des bus permet des tests plus simples et plus rapides.
Adam Davis
@ PeterA.Schneider Cela permet aux modules et aux bus d'être testés plus complètement, ce qui augmente la sécurité, mais l'objectif principal était de réduire le temps de développement tout en maintenant un certain niveau de sécurité - pas d'augmenter la sécurité. La façon dont les modules sont conçus et le message qui passe est conçu, il y a peu de chances qu'un lecteur DVD re-flashé sur le bus moteur puisse causer un problème. Le matériel qui connecte le bus empêche les attaques DOS au niveau du silicium, et les microcontrôleurs qui se connectent à ce matériel ne sont pas programmables via le logiciel.
Adam Davis
@ PeterA.Schneider Peut-être que cela peut être de la sémantique ou une distinction sans différence, mais si le fabricant a exigé un seul bus, les systèmes peuvent être conçus avec le même niveau de sécurité que celui qui existe dans des bus séparés. Le temps de développement est la seule chose qui en souffrirait vraiment. Heureusement, le coût supplémentaire des bus séparés est faible, sinon nous concevrions un bus unique si le coût des bus séparés était trop élevé.
Adam Davis
8

Lorsque vous parlez spécifiquement de CAN, la réponse n'est rien de ce qui précède.

Dans un système CAN, les nœuds ne communiquent pas directement entre eux, mais le système est basé sur des messages. Chaque message a une priorité en fonction de son adresse et qui détermine qui peut parler. Celui qui a le message prioritaire le transmet à tous et qui en a besoin le lit.

Le nombre de nœuds peut être limité, mais cette limite est électrique et n'est pas fonction du bus réel.

La raison en est que le CAN haute vitesse est très compliqué électriquement en raison de sa vitesse. (Je peux parler des lignes de transmission, de l'intégrité du signal, des stubs et de la terminaison, mais c'est bien au-delà de ce dont cette réponse a besoin). Cela rend la conception compliquée et les modules qui l'utilisent plus chers. De plus, tout n'a pas besoin de la vitesse de rupture du CAN haute vitesse. Le système de bus CAN est généralement divisé en trois bus: basse vitesse, vitesse moyenne et haute vitesse.

  • Le CAN haute vitesse relie tous les systèmes importants. Moteur, ABS, airbag, transmission, carrosserie. L'ordinateur Body sert alors de passerelle entre les autres bus.
  • Le CAN à vitesse moyenne est généralement utilisé pour les fonctions de la voiture comme l'éclairage extérieur, les serrures électriques, les rétroviseurs électriques, etc.
  • Le CAN basse vitesse capte le reste des systèmes non critiques. Ceux-ci peuvent inclure l'éclairage intérieur, le divertissement, etc.

Comme mentionné précédemment, le bus CAN utilise des adresses de message au lieu des adresses de noeud. Par exemple, la vitesse du véhicule serait un message. Ce message est transmis par l'unité ABS et a une priorité assez élevée. Le moteur, l'airbag, la transmission et le corps sont tous intéressés par le message et le lisent. Après avoir reçu le message, le corps retransmet le message sur les autres bus. Les bus à basse vitesse n'ont généralement pas besoin de mises à jour aussi fréquentes que le bus à haute vitesse, donc le corps ne les met à jour qu'occasionnellement.

Si un module a besoin d'informations qui ne sont pas communément transmises, un module peut demander des informations. La conception du bus est telle que lorsque des données sont demandées, le module qui possède les informations sait seulement que les informations sont nécessaires et non pas qui a besoin des informations.

La passerelle ne doit pas nécessairement être le corps, il peut s'agir du groupe d'instruments ou d'un autre ordinateur.

vini_i
la source
Merci pour la réponse solide. Je connais assez bien les messages CAN et l'arbitrage des messages. Je suppose que la question que je recherche vraiment est la suivante: les messages sur un CAN (disons le CAN non critique à basse vitesse) sont-ils vus par les nœuds connectés sur un autre CAN (comme le CAN des systèmes critiques à haute vitesse)? J'imagine que le système pourrait fonctionner parfaitement bien si tous les appareils étaient connectés à un seul CAN car le système d'arbitrage gérerait intrinsèquement la priorité des messages. Ou même si les différents CAN étaient connectés ensemble. Est-ce uniquement une question de nécessité et de dépenses qu'ils soient séparés?
Moeman69
@ Moeman69 Oui. Il pourrait y avoir plus d'une centaine de nœuds différents dans une voiture. Les équiper tous de CAN haute vitesse serait un coût prohibitif. Cela encombrerait également le bus et donnerait beaucoup plus de points de défaillance dans le système critique.
vini_i
2

L'une des raisons est bien résumée dans ce dessin animé de 2003:

entrez la description de l'image ici

("Nouvel appareil trouvé: Airbus A310. Lancer la configuration automatique? [Démarrer] [Annuler]")

Des attaques similaires ont en effet été signalées récemment. Le fait d'avoir les composants essentiels à la sécurité sur un bus séparé qui n'est accessible que via une passerelle bien configurée réduit considérablement la probabilité de problèmes involontaires comme celui ci-dessus, et rend le piratage beaucoup plus difficile.

Peter - Réintègre Monica
la source