Le filtrage CAN est un mécanisme dans les réseaux CAN (Controller Area Networks) qui contrôle les messages qu'un nœud peut recevoir. Dans un réseau CAN, étant donné que tous les nœuds du bus reçoivent tous les messages transmis, le filtrage est utilisé pour améliorer l'efficacité et réduire la charge de traitement en garantissant que les nœuds ne traitent que les messages pertinents. Le filtrage CAN peut être divisé en filtrage logiciel et filtrage matériel.
Le filtrage logiciel fait référence au processus de filtrage et de traitement des messages CAN au niveau logiciel. Dans le cas de nos produits de modules de bus CAN, le filtrage logiciel est mis en œuvre en filtrant les ID CAN. Par exemple, dans nos appareils CAN vers Ethernet ECAN-E01 et ECAN-E01S, nous prenons en charge le filtrage personnalisé pour 3 canaux CAN ID.
Configuration du filtrage logiciel
Le filtrage logiciel est configuré via le logiciel de niveau supérieur (par exemple, un ordinateur hôte). Voici comment les paramètres de configuration sont définis :
Activer l'option : cette option, lorsqu'elle est cochée, active le filtre. Si cette case n'est pas cochée, le filtre est inactif.
ID limite supérieure (Hex) : ce paramètre définit l'ID CAN maximum pouvant être reçu, au format hexadécimal.
ID limite inférieure (Hex) : ce paramètre définit l'ID CAN minimum pouvant être reçu, également au format hexadécimal.
Remarque : La plage des ID CAN recevables s'étend de l'ID de limite inférieure à l'ID de limite supérieure. Par exemple, si la limite supérieure est 3 et la limite inférieure est 1, l'appareil acceptera les ID CAN 1, 2 et 3 (en hexadécimal).
Le filtrage matériel fait référence au filtrage des messages CAN au niveau matériel du contrôleur CAN. Dans le cas de nos appareils CAN vers Ethernet ECAN-E01 et ECAN-E01S, nous prenons en charge jusqu'à 14 filtres matériels qui peuvent être définis.
Configuration du filtrage matériel
Le filtrage matériel est configuré via le logiciel de niveau supérieur, de la même manière que le filtrage logiciel, mais il implique un contrôle plus précis du processus de filtrage au niveau matériel. Les principaux paramètres de configuration sont :
Activer l'option : cette option, lorsqu'elle est cochée, active le filtre. Si cette case n'est pas cochée, le filtre est inactif.
Sélection du mode de filtre : Il existe deux types de modes de filtre :
Filtrage des bits de masque : dans ce mode, le filtre matériel utilise un bit de masque et un identifiant pour définir les messages qui peuvent passer. Le bit de masque détermine quels bits doivent correspondre et lesquels peuvent être ignorés. Si l'identifiant dans le message reçu correspond au bit de masque pour 1, le message peut passer. Si le bit de masque est à 0, le bit correspondant dans l'identifiant peut être ignoré.
Filtrage de la liste d'identifiants : dans ce mode, le filtre matériel utilise une liste d'identifiants autorisés à passer. Seuls les messages dont l'identifiant correspond exactement à une entrée de la liste seront acceptés.
Sélection de la largeur de bits : Il existe deux options : 16 bits ou 32 bits.
IDHigh & IDLow : IDHigh fait référence aux 16 bits de poids fort de l'identifiant du message CAN, et IDLow fait référence aux 16 bits de poids faible.
MaskHigh & MaskLow : MaskHigh fait référence aux 16 bits élevés du masque utilisé dans la configuration du filtre matériel, et MaskLow fait référence aux 16 bits faibles.
RTR (Remote Transmission Request) : le bit RTR fait la distinction entre les trames de données et les trames distantes. Dans une trame de données, le bit RTR doit être « dominant » (0 logique), indiquant que la trame contient des données réelles. Dans une trame distante, le bit RTR doit être « récessif » (logique 1), indiquant une demande d'identifiant spécifique sans aucune charge utile de données. L'option RTR est définie sur 1 logique si elle est activée, sinon elle est sur 0 logique.
IDE (Identifier Extension) : Le bit IDE fait la distinction entre les formats de trame standard et étendu. Dans les trames standards, le bit IDE est « dominant » (0 logique), utilisant un identifiant de 11 bits. Dans les trames étendues, le bit IDE est « récessif » (logique 1), utilisant un identifiant de 29 bits. L'option IDE est définie sur 1 logique si elle est activée, sinon elle est sur 0 logique.
En configurant ces filtres, les mécanismes de filtrage logiciels et matériels permettent une meilleure gestion des données et des performances système dans les réseaux CAN, en particulier dans les scénarios avec un trafic de messages élevé.