FR 2955680 A1 20110729 FR 1050512 A 20100126 -1- La présente invention concerne un automate de gestion de contrôle d'accès de sites. Dans les sites sécurisés, comme par exemple les sites militaires, les sites industriels, les sites tertiaires, il est connu de mettre en place des installations de sécurité comprenant des dispositifs de contrôle d'accès qui autorisent sélectivement l'entrée de personnes bien identifiées. A cet effet, des automates spécialisés sont utilisés pour gérer plusieurs accès, en étant reliés entre eux selon une architecture hiérarchique entre au moins un automate maître et ses automates esclaves, l'automate maître étant lui-même relié en réseau avec d'autres dispositifs de l'installation de sécurité, tels que des postes de commande, des postes de surveillance, des postes d'accueil visiteurs, etc. La gestion des accès proprement dite consiste à vérifier des identités de personnes grâce à des lecteurs (lecteur de badge et/ou de code et/ou biométrique), à commander des ouvertures d'ouvrants (portes, barrières, tripodes), à surveiller des états d'ouvrants (ouvertures ou fermeture de portes, effraction) ou de pièces (intrusions). On parle alors aussi de surveillance d'intrusion pour désigner cette dernière fonction. Les automates maîtres utilisés à ce jour sont capables de gérer directement des lecteurs ou des automates esclaves. A cet effet, les automates maîtres disposent de bus de deux types, chaque type étant réservé soit aux lecteurs, soit aux automates esclaves. Toutefois, ces dispositifs utilisant des moyens de communication différents les uns des autres, à la fois en hardware et en software, il est nécessaire de prévoir, sur chaque automate maître, plusieurs bus de caractéristiques différentes pour pouvoir y relier différents dispositifs. De ce fait, chaque automate maître est capable de recevoir un nombre limité de dispositifs de chaque type, et l'inoccupation d'un bus d'un premier type ne libère pas de place pour un bus d'un autre type. La présente invention vise à proposer un automate de gestion de contrôle d'accès qui remédie à cet inconvénient et offre donc une plus grande souplesse dans son utilisation avec des dispositifs de types différents. La présente invention a pour objet un automate de gestion de contrôle d'accès d'une installation de sécurité de site, comprenant au moins un bus capable de relier l'automate soit directement à des lecteurs, soit à des automates esclaves, caractérisé en ce qu'il comprend, pour chaque bus : a) des moyens de sélection logicielle entre une fonction lecteur, dans laquelle le bus est utilisé pour relier l'automate directement à un lecteur, et une fonction automate esclave, dans laquelle le bus est utilisé pour relier l'automate à - 2 une automate esclave, b) des moyens de sélection matérielle entre plusieurs circuits électriques correspondant chacun à un protocole de communication différent, c) une bibliothèque de pilotes de lecteurs, dans laquelle l'automate peut puiser le pilote approprié pour un lecteur donné. On désigne par pilote un programme informatique capable d'effectuer des échanges de données (au sens large, c'est-à-dire incluant des commandes et des indications d'états) entre un matériel donné, ici un lecteur, et le système d'exploitation d'une machine, ici l'automate maître. Dans la suite de la description, on désignera par « bus mixte » un bus capable de connecter l'automate à la fois à des lecteurs et à des automates esclaves. Grâce à l'invention, un même automate de gestion de contrôle d'accès peut accueillir, grâce à des bus mixtes, une majorité d'automates esclaves et une minorité de lecteurs directement reliés audit automate, ou, inversement, une majorité de lecteurs directement reliés à l'automate et une minorité d'automates esclaves, avec des différences matérielles (hardware) et logicielles (software) quant aux moyens de communication de ces différents éléments. On comprend immédiatement les avantages procurés par l'invention, parmi lesquels : - les automates peuvent être fabriqués de façon standard avec une plus grande capacité d'adaptation aux besoins des sites, - en cas de re-configuration d'une installation, les automates en place peuvent être réutilisés dans un contexte différent sans avoir à subir de modifications, - les dimensions de l'automate selon l'invention sont réduites car le nombre de bus requis est lui aussi réduit, si on utilise des bus mixtes. Dans un mode de réalisation particulièrement avantageux de l'invention, l'automate comprend un circuit logique programmable (field-programmable gate array ou FPGA en anglais) grâce auquel sont définis plusieurs circuits électriques aboutissant aux moyens de sélection matérielle. Dans une variante particulière de ce mode de réalisation, quatre circuits électriques de quatre types différents sont définis, à savoir RS422, RS485, Clock&Data et Wiegand, en étant branchés en parallèle à des bornes intermédiaires, et des contacteurs amovibles sont capables de relier sélectivement certaines des bornes intermédiaires aux bornes du bus pour constituer les moyens de sélection matérielle. Dans une autre variante particulière, le circuit logique programmable définit deux ensembles de quatre circuits tels que décrits ci-dessus. 2955680 -3- Dans un mode de réalisation particulier de l'invention, les contacteurs amovibles sont constitués par des cavaliers pouvant prendre différentes positions entre les bornes intermédiaires et les bornes du bus. L'invention sera mieux comprise à la lecture de la description qui va suivre, 5 donnée uniquement à titre d'exemple et faite en se référant aux dessins dans lesquels : - la figure 1 est une représentation schématique d'un automate maître d'une installation de sécurité, - la figure 2 est une représentation schématique d'une architecture 10 hiérarchique entre l'automate maître de la figure 1, des lecteurs de badge et des automates esclaves, - la figure 3 est un schéma des composants de l'automate et de ses bus, - la figure 4 est écran d'un logiciel de configuration d'une installation de sécurité comprenant l'automate maître et les automatiques esclaves de la figure 2, 15 - la figure 5 fournit des exemples de positionnements pour les connecteurs amovibles d'un circuit logique programmable. Dans la description, on désignera par automate maître ou ITL (ITL signifiant « Intelligence de Traitement Local »), un automate de contrôle d'accès conforme à l'invention. 20 L'automate maître ou ITL 1 représenté sur la figure 1 dispose de quatre bus 3, 5, 7, 9. Parmi ces bus : - deux (3 et 5) sont en RS485 uniquement, - deux (7 et 9) peuvent supporter les protocoles RS 422/485, Clock&Data et Wiegand. 25 Comme on le voit sur la figure 2, l'automate maître 1 est raccordé à un réseau Ethernet 11 sur lequel se trouvent différents dispositifs de l'installation de sécurité, dont un poste de supervision 13. Quatre lecteurs 15, 17, 19, 21 sont reliés à l'automate maître 1 par les bus 3, 5 et 7. 30 Un lecteur est un dispositif matériel d'identification des usagers. Il consiste généralement en un lecteur de badges (selon la technologie retenue pour le système), mais peut également être disponible sous forme de lecteur biométrique. Différents types de lecteurs peuvent être activés, c'est-à-dire rendus visibles 35 pour l'installation de sécurité. A cet effet, l'automate contient une bibliothèque de pilotes de lecteurs qui peut s'enrichir régulièrement. Un pilote est ici un programme permettant la communication d'un lecteur d'un type donné avec l'automate auquel il 2955680 -4- est relié. Par exemple, un automate peut contenir une bibliothèque de plus de soixante pilotes de lecteurs. Le lecteur peut être doté d'un clavier (non représenté) permettant la saisie d'un code d'authentification. 5 Leur paramétrage permet de les activer ou de les désactiver, D'autres paramétrages d'un lecteur permettent : - de le mettre en fonction pour le contrôle d'accès uniquement ou pour le contrôle d'accès et la mise en surveillance de zones intrusion, - d'activer un lecteur seul ou son clavier seul ou le lecteur et son clavier. 10 Fonctionnellement, un lecteur est rattaché à un accès, c'est-à-dire à un endroit du site surveillé dont on veut contrôler l'accès. Certains lecteurs son adressables, d'autres non. Dans le cas de lecteurs adressables, plusieurs lecteurs peuvent être connectés sur un même bus. Les deux lecteurs 15 et 17 ne sont pas adressables, ils ont chacun leur bus 3 et 5, 15 tandis que les deux lecteurs 19 et 21 sont adressables, c'est pourquoi ils sont reliés à l'automate par le même bus 7. Il existe deux façons de relier un lecteur à l'installation de sécurité : soit directement par un des bus de l'automate maître 1, comme sur la figure 2, soit via un automate esclave 22. 20 Un automate esclave ou UED (acronyme de « Unité d'Entrées Déportée ») est un automate relié à un automate maître et auquel ne peuvent être reliés que des lecteurs. Un automate esclave dispose aussi de quatre bus présentant les mêmes caractéristiques que ceux de l'automate maître 1 (y compris les bus mixtes 25 conformes à l'invention) et peut donc gérer quatre lecteurs, adressables ou non. A un automate maître, on peut relier au maximum seize automates esclaves, répartis indifféremment sur ses quatre bus possibles. Chaque automate esclave est identifié de façon unique sur l'automate maître par son adressage hardware variant de 0 à F (soit 16 positions possibles). 30 L'adresse d'un automate esclave 22 est fournie par le numéro du bus par lequel l'automate esclave est connecté à l'automate maître 1. Dans l'automate maître 1, les lecteurs 15, 17, 19, 21 et les automates esclaves 22 reliés aux bus sont déclarés par renseignement de tables qui sont téléchargées dans l'automate maître au moment de la configuration de l'installation. 35 Pour les automates esclaves, une table ESCLAVES contient les informations suivantes : . N° UED : entier compris entre 1 et 16, stocké sur roue codeuse, 2955680 - 5 - . N° bus ITL : entier compris entre 1 et 4, . Etat : valeur gelé ou normal, Ainsi, il est possible d'identifier, pour chaque automate esclave : . l'état de fonctionnement des programmes de l'automate esclave, qui est évalué 5 à partir d'une scrutation périodique des applications, . l'état de la communication entre l'automate maître et l'automate esclave, un défaut de communication étant déterminé par un nombre d'échecs successifs. Etant donné qu'un automate maître peut recevoir jusqu'à seize automates esclaves, cette table ESCLAVES peut contenir jusqu'à seize enregistrements, 10 numérotés de 0 à 15, chacun correspondant à un automate esclave UED (N° UED qui est aussi l'index de cette table). Pour les lecteurs, une table LECTEURS contient les informations suivantes : . l'identifiant de l'automate maître ITL, . l'identifiant de l'automate esclave UED (0 si le lecteur est relié directement à un 15 bus de l'automate maître), . Le n° de bus (1 ù 4) sur l'automate maître ITL ou esclave UED, . Le n° d'esclave lecteur sur le bus (dans le cas des lecteurs adressables), . Un identifiant unique, affecté lorsque le lecteur est déclaré pour la première fois et non modifiable. 20 Les quatre premières informations constituent l'adresse du lecteur. Sur un même automate maître, on peut définir un maximum de 32 lecteurs. La table LECTEURS peut donc contenir jusqu'à 32 enregistrements. Le tableau suivant fournit un exemple de remplissage de la table LECTEURS : 2955680 -6 Actions N° N° N° N° N° Observations bus escla bus Lecteu Lecteur ITL ve UED r / bus UED Création du lecteur L1 1 0 0 1 1 sur le ter bus (3) de l'ITL Création du lecteur L2 2 2 3 1 2 sur le 3ème bus de l'UED 2 du 2ème bus (5) de l'ITL Création du lecteur L3 2 2 4 1 3 sur le 4ème bus de l'UED 2 du 2ème bus (5) de l'ITL Déplacement du lecteur 2 3 2 1 3 Le n° de lecteur n'a L3 vers le 2ème bus de pas changé l'UED 3 du 2ème bus (5) de l'ITL Suppression du lecteur Lecteur L1 n'existe L1 plus Création du lecteur L4 4 0 0 1 1 Lecteur L1 est sur le 4ème bus (9) de recréé. On a l'ITL réutilisé le ter n° libre trouvé Ce tableau illustre comment l'automate maître peut facilement suivre des évolutions d'architecture, par déplacement, suppression ou ajout de lecteurs. L'utilisation finale désirée pour chaque bus est déterminée électriquement par sélection manuelle, grâce à des cavaliers (ou une cartelette qui supporte les 5 cavaliers) que l'on place à un endroit spécifique sur l'automate maître 1. Comme on le voit sur la figure 3, l'automate maître 1 possède un micro-contrôleur 23, une ou des mémoires 25 et un circuit logique programmable 27. La mémoire 25 permet le fonctionnement du micro-contrôleur 23 et les échanges de données entre les processus applicatifs qui se déroulent dans 10 l'automate maître ITL, selon la méthode connue d'échange de données IPC (Inter-Process Communication). Le circuit logique programmable 27 permet de définir les bus mixtes, c'est-à-dire à protocole modifiable entre RS 422/485, Clock&Data et Wiegand. A cet effet, ledit circuit logique programmable 27 comprend des circuits internes 15 aboutissant à différentes voies de communication agencées pour former quatre bus. Les voies 29, 31 constituent une porte de type RS485. Grâce à un transcepteur (en anglais « transceiver ») 33, cette porte devient un bus 3 de type RS485. Les voies 35 et 37, en association avec le transcepteur 39, constituent un autre - 7 bus 5 de type RS485. Les voies 41 et 43, associées au transcepteur RS485/RS422 45, constituent un bus de type RS485 ou RS422. Les voies 47 et 49 constituent un bus de type Clock&Data ou Wiegand. Ces voies aboutissent à des bornes intermédiaires 51, 53, 55 et 57, lesquelles sont matériellement connectées à des bornes de sortie 59 et 61 par des contacts amovibles sous forme de cavaliers 63 et 65. Le positionnement des cavaliers permet de choisir le type du bus mixte 7 créé aux bornes de bus 59 et 61, parmi les types RS422, RS385, Clock&Data et Wiegand. De façon identique, les voies 67, 69, 71 et 73, passant par les bornes intermédiaires 75, 77, 79 et 81, aboutissent aux bornes de bus 83 et 85 par l'intermédiaire de cavaliers 87 et 89, pour constituer un bus mixte 9 dont le type peut varier entre RS422, RS485, Clock&Data et Wiegand. Comme déjà expliqué, chaque bus mixte 7, 9 de l'automate peut être exploité de 2 façons différentes : - Soit le bus 9 est utilisé par un automate esclave 22 et, dans ce cas, le simple branchement électrique de l'automate esclave au bus de l'automate maître permet la reconnaissance de cet automate esclave, sous le protocole de bus RS485 uniquement. - Soit le bus 7 est utilisé par un lecteur 19, 21 et il faut déterminer : - le protocole électrique, qui est choisi parmi RS 422/485, Clock&Data ou Wiegand par positionnement des cavaliers 63 et 65, - le pilote du lecteur, qui est intégré sous forme d'une bibliothèque dans l'automate maître. Une étape préalable de paramétrage du rôle de chaque bus est indispensable, et est faite à partir du poste de supervision. Un exemple d'IHM du programme de paramétrage exécuté sur le poste de supervision est fourni à la figure 4, sur laquelle on voit que l'automate maître ITL a son bus : - N°4 relié à un lecteur - N°2 relié à un bus UED qui contient l'UED n°2. Le poste de supervision dialogue avec l'automate maître ITL par le réseau Ethernet, suite à la réalisation d'une procédure sécurisée de configuration de l'automate maître. A cet effet, l'automate maître 1 est équipé d'un interrupteur (non représenté) qui, pour une position donnée, active un serveur Web embarqué dans l'automate. Le changement d'état de l'interrupteur nécessite la présente locale d'un technicien. Si l'interrupteur n'est pas sur cette position, l'accès au serveur Web est impossible. 2955680 -8- Lorsqu'un technicien place l'interrupteur dans la bonne position, une information est envoyée au poste de supervision indiquant que l'interrupteur est dans la position permettant l'accès au serveur Web. L'accès au serveur Web peut alors avoir lieu, moyennant une identification de 5 l'utilisateur et la fourniture d'un mot de passe. L'accès aux fonctionnalités du serveur n'est autorisé que si les informations saisies sont correctes. Le mot de passe d'accès au serveur est modifiable depuis le poste de supervision pour chaque automate. 10 Si on choisit la fonction « lecteur » pour un bus, une bibliothèque est mise à disposition, afin que les automates maître et esclaves adaptent le protocole de communication en fonction du lecteur connecté. Ainsi, on peut avoir des lecteurs qui dialoguent par exemple tous les deux en RS485 sur le plan électrique, mais utilisent des pilotes différents. 15 De même, si la fonction « automate esclave » est choisie, le protocole de communication est adapté à cette fonction. On va maintenant décrire les fonctions appelables par une application LINUX et permettant de mettre en oeuvre les fonctionnalités spécifiques des automates maître et esclaves. 20 Ces fonctions vont être présentées en trois groupes : - celles permettant de gérer les ports séries via UARTs intégrés dans le circuit logique programmable, - celles permettant la gestion des entrées / sorties, - celles permettant la gestion de la liaison Clock&Data ou Wiegand. 25 Les ports 0 à 2 sont réservés pour les ports séries intégrés au micro-contrôleur 23. Les fonctions mises à dispositions de LINUX et des applications associées sont : . open() : Ouverture du port 30 . read() : Lecture du port . write() : Ecriture du port . close() : Fermeture du port . ioctl() : Configurations du port. Ces fonctions connaissent cependant des restrictions : 35 . La configuration de l'interface physique des deux ports de communication série (RS422, RS485, clock / data ou Wiegand) est réalisée exclusivement de façon matérielle. L'état est consultable dans un registre du circuit logique programmable 2955680 -9- (accessible au travers des fonctions de lecture du pilote). . Quand une fonction write() se termine, la transmission se poursuit jusqu'à ce que les files d'attentes (hard et soft) d'émission du pilote soient vides. Concernant la gestion des entrées / sorties, l'ouverture du port initialise la 5 gestion de l'émission et de la réception de ce port de communication sur la liaison série concernée. Elle est impérative avant les appels d'écritures et de lectures sur un port. Elle fournit le descripteur de fichier à utiliser avec les autres fonctions de manipulation du port. Pour la configuration du port UART, différents paramètres peuvent être réglés 10 suite à l'ouverture d'un port : - La vitesse de transmission /réception associée au port, - La parité, - Le nombre de bits par caractère et - Le nombre de bits de stop. 15 Ces fonctions respectent le standard LINUX concernant la gestion des ports série, sachant que ces paramètres sont distincts par port. Concernant la gestion des signaux Clock/Data ou Wiegand, la mise en oeuvre des fonctions de communication Clock/Data (protocole ISO2) ou Wiegand s'appuie sur la mise en oeuvre des accès à des registres du circuit logique programmable. 20 Les voies de communications 3 et 4 supportent différents modes (RS422, RS485, Clock/Data ou Wiegand). Dans les modes Clock/Data et Wiegand, le port de communication via I'UART (RS422 ou RS485) ne doit pas être utilisé. Les deux ports de communication 3 et 4 peuvent être configurés de façon 25 indépendante par cavaliers (l'automate étant hors tension). L'application est responsable de la mise en oeuvre du pilote lors de l'initialisation de la voie de communication et aussi lors de la lecture d'une trame reçue. On va maintenant fournir des indications techniques précises sur les ports configurables grâce aux cavaliers. 30 La carte dispose de deux ports configurables avec des interfaces électriques et logiques différentes. La configuration de ces ports est réalisée avec des cavaliers. Le circuit logique programmable doit être informé de la configuration en cours afin de désactiver les UARTs éventuellement non utilisés et router les signaux ClockData ou Wiegand sur les interruptions prévues. 35 La carte dispose de deux voies qui peuvent être configurées en liaison Clock&Data ou Wiegand. Quelle que soit la configuration, le circuit logique programmable est chargé de récupérer les bits émis en série sur les liaisons, de 2955680 -10- stocker ces bits jusqu'à l'obtention d'une trame complète et d'informer le processeur lorsqu'une trame est disponible. Le stockage des trames est réalisé dans des FIFO. - Liaisons RS485 5 Les UARTS pouvant être utilisés en RS485 sont les suivants : . UARTs 1 & 2 en permanence, . UARTs 3 & 4 en fonction de la configuration de l'automate. Il est possible d'utiliser l'interface électrique RS485 hall duplex (2 fils). - Liaisons RS422 10 Les UARTS pouvant être utilisés en RS422 sont les suivants : . UARTs 3 & 4 en fonction de la configuration de l'automate. Il est bien entendu que les modes de réalisation qui viennent d'être décrits ne présentent aucun caractère limitatif et qu'ils pourront recevoir toute modification sans sortir pour cela de la portée des revendications annexées. REVENDICATIONS1. Automate (1, 22) de gestion de contrôle d'accès d'une installation de sécurité de site, comprenant au moins un bus (7, 9) capable de relier l'automate soit directement à des lecteurs (15, 17, 19, 21), soit à des automates esclaves (22), caractérisé en ce qu'il comprend, pour chaque bus : a) des moyens (figure 4) de sélection logicielle entre une fonction lecteur, dans laquelle le bus (7) est utilisé pour relier l'automate directement à un lecteur (19), et une fonction automate esclave, dans laquelle le bus (9) est utilisé pour relier l'automate à une automate esclave (22), b) des moyens (63, 65, 87, 89) de sélection matérielle entre plusieurs circuits électriques correspondant chacun à un protocole de communication différent, c) une bibliothèque de pilotes de lecteurs, dans laquelle l'automate peut puiser le pilote approprié pour un lecteur donné. 2. Automate selon la revendication 1, comprenant un circuit logique programmable (27) grâce auquel sont définis plusieurs circuits électriques aboutissant aux moyens de sélection matérielle (63, 65, 87, 89). 3. Automate selon la revendication 2, dans lequel quatre circuits électriques de quatre types différents sont définis, à savoir RS422, RS485, Clock&Data et Wiegand, en étant branchés en parallèle à des bornes intermédiaires (51, 53, 55, 57, 75, 77, 79, 81), et des contacteurs amovibles (63, 65, 87, 89) sont capables de relier sélectivement certaines des bornes intermédiaires aux bornes (59, 61, 83, 85) du bus (7, 9) pour constituer les moyens de sélection matérielle. 4. Automate selon la revendication 3, dans lequel le circuit logique programmable (27) définit deux ensembles de quatre circuits. 5. Automate selon l'une des revendications 3 et 4, dans lequel les contacteurs amovibles sont constitués par des cavaliers (63, 65, 87, 89) pouvant prendre différentes positions entre les bornes intermédiaires et les bornes du bus.