Les SoC FPGA s`adaptent aux technologies Ethernet

publicité
Réseaux embarqués
A P P L I C A T I O N
Les SoC FPGA s’adaptent
aux technologies Ethernet
spécifiques au smart grid
Cet article présente l’implémentation des protocoles HSR et IEEE 1588 PTP sur une puce
SoC basée sur un FPGA Cyclone V d'Altera fonctionnant sous Linux. Cette puce
intègre une matrice FPGA associée à un cœur de processeur ARM. Une solution qui
convient aussi bien pour l’élaboration de nouvelles conceptions que pour la modernisation
de composants existants utilisés dans le cadre de solutions de gestion intelligente
des réseaux de distribution d’électricité.
AUTEUR
Jouni Kujala,
responsable
R&D chez
Flexibilis
(Finlande).
U
n smart grid est la version
moderne d'un réseau électrique classique, mais
dotée d’une « intelligence »
via l’utilisation de technologies spécifiques pour collecter de l'information, la communiquer et in fine
contrôler le réseau. Les smart grids se
distinguent des approches traditionnelles par une amélioration notable
au niveau de l’efficacité et de la fiabilité. Ils permettent la production
décentralisée d'énergie, facilitant
ainsi la connexion au réseau de
sources d'énergies renouvelables
d'origines diverses comme l'énergie
solaire ou l'énergie éolienne. Parmi
les nouvelles technologies déployées
dans les smart grids, on trouve
notamment le mécanisme de redondance HSR (High-availability
Seamless Redundancy, voir encadré I) et le protocole de synchronisation IEEE 1588 PTP (Precision Time
Protocol, voir encadré II) qui sont
utilisés dans les sous-stations pour les
communications internes et la syn-
chronisation temporelle des mesures
électriques.
Pour implanter de manière concrète
ces protocoles, il est aujourd’hui
possible de faire appel à un FPGA.
Le montage proposé ici est constitué
de deux cartes, dont la plus grande
est une carte de développement pour
le Cyclone V SX d'Altera alors que le
plus petite est un module SFP-HSMC
de Terasic, qui se branche sur le
connecteur HSMC de la carte SoC
(voir photo ci-dessous). Ce module
dispose aussi d’emplacements SFP
(Small Form-factor Pluggable, émetteur-récepteur compact, insérable à
chaud utilisé dans les réseaux) pour
la connectivité Ethernet, soit à de la
fibre optique, soit à de la technologie
classique sur cuivre, selon le type de
module SFP choisi. Les deux cartes
sont disponibles à la commercialisation.
Le cœur de cette réalisation (voir
figure page 43) est le commutateur
HSR qui effectue l'envoi des trames
HSR/Ethernet d'un port vers un autre.
Cette mise en œuvre possède quatre
ports, dont l’un est connecté au processeur matériel ARM pour lui permettre d'envoyer et de recevoir les
trames Ethernet. Les autres ports
consistent en des ports HSR/Ethernet
connectés aux modules SFP et aux
autres composants via des blocs
adaptateurs (GMII-to-1000BASE-X ou
(G)MII-to-SGMII). Trois ports externes
suffisent en fait pour implémenter des
RedBox, autrement dit des « boîtiers
de redondance » (redundancy boxes)
dédiés. Toutefois, il est utile de disposer d'un port supplémentaire dans les
nœuds terminaux, par exemple un
port de maintenance pour réaliser
une fonctionnalité de RedBox-in-EndNode, éliminant ainsi la nécessité
des RedBox dédiées (voir figure de
l'encardé I).
Les blocs adaptateurs traduisent l'interface native MII/GMII du commutateur HSR aussi bien vers du
1000Base-X que du SGMII. La technologie 1000BASE-X est utilisée
quand un module gigabit de fibre
L’ensemble
constitué
d’une carte de
développement
pour SoC FPGA
d’Altera et d’une
carte SFP de
Terasic permet
l’implémentation
des protocoles
HSR et
IEEE 1558.
●
L’EMBARQUÉ / N°6 / 2014 /
41
A P P L I C A T I O N
Réseaux embarqués
I.- QU’EST-CE QUE L’HSR…
n HSR est un protocole destiné à fournir
de l'Ethernet redondant. Comme pour le protocole
de communication RSTP (Real Time Streaming
Protocol, ou protocole de streaming temps réel),
la redondance provient de liens supplémentaires
dans le réseau. Cependant, contrairement
à RSTP, HSR fonctionne sans neutraliser
ces liens supplémentaires. En fait, un réseau HSR
utilise tous les liens, tout le temps, et les nœuds
font des copies des trames pour utiliser simultanément tous les chemins du réseau. Alors que RSTP
désactive certains liens pour obtenir un réseau
sans boucle, HSR sait gérer les boucles.
n Dans HSR, un en-tête spécifique est ajouté
aux trames Ethernet (voir figure ci-contre).
Cet en-tête HSR comprend un numéro de séquence qui, en combinaison avec l'adresse MAC
source, est capable de reconnaître des copies
de la même trame. Les nœuds du réseau HSR
détectent et mémorisent les trames qu'ils ont
reçues et transférées précédemment, pour être
capable d'enlever les copies redondantes
des trames sur le réseau. Ce procédé est impératif
pour éviter que les trames bouclent indéfiniment
et consomment ainsi toute la capacité réseau
disponible.
n Comme les liens du réseau ne sont pas
désactivés par le protocole de redondance, ils ne
nécessitent aucun délai de récupération dans le
cas d'une faute. Résultat : HSR est un choix privilégié pour des applications qui n’acceptent aucune
coupure pendant la communication ; cela inclut la
distribution d’électricité, l'avionique ou certaines
applications militaires.
TOPOLOGIE D’UN RÉSEAU HSR
n La topologie typique d'un réseau HSR est un
anneau ou plusieurs anneaux interconnectés,
mais HSR ne se limite pas à ces topologies. Au
contraire, HSR est capable de supporter n'importe
quelle topologie. Cependant, de très gros réseaux
HSR (à plusieurs milliers de nœuds) ne sont pas
très intéressants en pratique car tout le trafic doit
transiter par chaque nœud du réseau ; à moins
d'en réduire la taille via, par exemple, des LAN
virtuels. Un réseau HSR typique est présenté sur la
figure. Les RedBox (boîtiers de redondance
– redundancy boxes) connectent au réseau HSR
les nœuds et segments ne comprenant pas l'HSR.
Des QuadBox (équipement à quatre ports) interconnectent les anneaux HSR. Les nœuds terminaux (appelés également DANH) sont les nœuds
de communication appartenant à celui pour lequel
le réseau a été construit. HSR supporte nativement
la connexion à des réseaux PRP en utilisant ce
qu'on appelle des RedBox HSR-PRP.
SFP sur cuivre sont conçus pour être
une solution directe de remplacement pour des entités à fibre optique,
ils doivent être pilotés séparément
pour opérer en mode SGMII. La commande pour basculer vers le mode
SGMII est envoyée à la puce PHY,
optique est connecté à un emplacement SFP. 1000BASE-X convient
aussi pour des modules SFP conventionnels sur cuivre mais à des vitesses
plus faibles (10 Mbit/s et 100 Mbit/s)
qui sont uniquement supportées en
mode SGMII. Comme les modules
située au sein du module, en utilisant
un bus I2C contrôlé via le bloc d’entrées/sortie d’usage général GPIO
(General Purpose Input/Output).
Le bloc Horloge Temps Réel est le
gardien du temps et connaît la valeur
courante de l’horloge. Ce temps
II.- QUEL CONTEXTE D’UTILISATION POUR L’IEEE 1588 ?
n Le protocole Precision Time Protocol (PTP)
défini par la norme IEEE 1558 permet la synchronisation des horloges au travers du réseau Ethernet.
Les applications où le protocole permet d’éviter
l’appel à un réseau de synchronisation distinct sont
alors beaucoup plus économiques.
n Les mises en œuvre de l’IEEE 1588 PTP
sont très différentes selon la précision désirée.
La technologie de réseau sous-jacente a en
effet une énorme incidence sur la précision. Les
technologies DSL par exemple affichent une
précision très médiocre comparées à celle du Fast
Ethernet, et le Gigabit Ethernet est beaucoup plus
performant que le Fast Ethernet – plus de capacité
signifiant généralement une meilleure précision. De
plus, la fibre optique est plus efficace en synchronisation que le cuivre. Les implémentations d’IEEE
1588 PTP peuvent être également réalisées par
logiciel seul, mais pour tirer tout le potentiel des
moyens disponibles, il est nécessaire d'utiliser des
circuits conçus spécifiquement pour supporter
l'IEEE 1588 PTP. Ce qui signifie qu'il faut enregistrer les temps exacts de réception et d’émission de
42 / L’EMBARQUÉ / N°6 / 2014
certaines des trames dans le silicium, et, dans certain cas (one-step clock), être capable de modifier
les trames à la volée. Avec du matériel dédié, une
précision de l'ordre de la nanoseconde peut être
effectivement atteinte avec le protocole en faisant
fonctionner du Gigabit Ethernet sur un câble de
fibre optique.
n La norme IEEE 1588 comprend un algorithme
de sélection de type Best Master Clock qui établit
l'horloge qui agira comme maître sur le réseau, les
autres horloges étant des esclaves. En d’autres
termes, ceci signifie qu’on choisit quelle horloge
sera principale et donc quelles autres horloges
suivront. Ainsi, toutes les horloges du réseau
fonctionneront avec la même référence temporelle,
le système étant tolérant aussi bien pour les fautes
d'horloges que pour les défauts du réseau. Les
horloges dites transparentes améliorent encore
la précision de la synchronisation entre l’horloge
maître et celles qui sont esclaves en compensant
l'erreur causée par les nœuds du réseau. Au
sein d'Ethernet, des horloges transparentes sont
intégrées aux commutateurs Ethernet qui corrigent
les erreurs dues aux éventuels retards induits par
les piles du commutateur, en modifiant à la volée
les messages PTP.
n HSR est généralement utilisé dans les mêmes
applications que celles qui font appel à IEEE 1588
PTP. C’est pourquoi, la spécification HSR définit
comment IEEE 1588 PTP devrait être utilisé
conjointement avec HSR. Cependant, un traitement spécial des trames IEEE 1588 est nécessaire, parce que le réseau HSR dispose de un,
deux, ou plusieurs chemins fonctionnels entre les
horloges, alors que les réseaux Ethernet n'en ont
qu'un. Ce qui signifie par exemple qu'on ne peut
utiliser des messages de suivi IEEE 1588 PTP
dans un réseau HSR, parce qu'il serait impossible
à un récepteur de savoir si le message de suivi
et le message de synchronisation correspondant
ont parcouru le même chemin au travers du
réseau. Un problème qui implique d’utiliser des
horloges appelées One-Step Clock (un message
de synchronisation sans message de suivi) au lieu
de deux étapes (message de synchronisation et
message de suivi).
A P P L I C A T I O N
Réseaux embarqués
Comment implémenter l'HSR
La topologie typique d'un HSR est un
anneau, ce qui induit beaucoup plus
de nœuds entre la source et la destination que dans les topologies traditionnelles d'Ethernet. De ce fait, le
temps de transfert exigée au niveau
des composants est si faible qu'il est
impossible de mettre en œuvre un
nœud HSR avec un moteur de transfert basé sur du logiciel. L'HSR étant
une technologie nouvelle en
constante évolution, toutes les implémentations sont à base de blocs d’IP
FPGA. Par ailleurs, en tant que technologie, HSR est fondamentalement
très proche d’Ethernet. C’est pourquoi les réseaux HSR utilisent beaucoup de technologies qui sont familières dans les réseaux Ethernet
traditionnels, comme les LAN virtuels et la priorisation. Il en résulte
que la réalisation interne d'un com-
SCHÉMA FONCTIONNEL DU SoC FPGA CYCLONE V
On voit ici un exemple concret d’implémentation des technologies de réseau HSR
et IEEE 1558 PTP sur un FPGA
LED
Carte de développement Altéra
Altera
SoC
FPGA
Ethernet
Commutateur
HSR
AXI-vers
-Avalon
Avalon
Horloge
Avalon
temps-réel
GMII vers
1000BASE-X &
(G)MII vers SGMII
3* Ethernet
Avalon
Avalon
d'horloge est requis pour implémenter la fonctionnalité IEEE 1588 PTP.
Le bloc d'horloge temps réel est distinct du commutateur HSR, car sa
réalisation dépend fortement de l'environnement. En effet, diverses sortes
de cartes disposent de différents
styles d'oscillateurs qui peuvent par
exemple être ajustables ou fixes, et
leur précision comme leur fréquence
sont très variables. Dans tous les cas,
le temps d'horloge est requis par le
bloc du commutateur HSR. Suivant
la réalisation, ce temps d'horloge
peut être fourni aux puces PHY avec
des fonctionnalités IEEE 1588, Ethernet MAC(s), ou à d'autres blocs qui
nécessitent une connaissance précise
du temps, par exemple, pour horodater des échantillons de mesures.
Une matrice de commutation en
technologie Avalon connecte les
blocs au processeur ARM via un pont
AXI-to-Avalon. Avalon est un bon
choix pour réaliser l’accès au registre
interne du FPGA car il est largement
utilisé et qu’il s’agit d’un standard
ouvert. Le processeur surveille et
contrôle la fonctionnalité des blocs
connectés par Avalon par l'intermédiaire de l'accès au registre. Par
exemple, il observe continuellement
la vitesse de l'interface des modules
cuivre SFP en interrogeant la puce
PHY interne au module. Quand son
mode change, le processeur configure en conséquence la vitesse de
l'adaptateur (G)MII-to-SGMII et du
port du commutateur HSR.
Processeur ARM
fonctionnant
sous Linux
Entrées/
sorties
Avalon d’usage
général
Mémoire
du programme
Oscillateur
Carte HSMC Terasic
Modules SFP
mutateur HSR, avec son apprentissage d'adresse, ses piles à sorties
multiples, etc. s’apparente à celle des
commutateurs Ethernet traditionnels.
Cependant, la réalisation d'un HSR
ne peut pas relever d’une implémentation purement matérielle. Du fait
de la redondance, des fautes isolées
sur le réseau ne peuvent pas être
détectées sans un protocole spécial,
baptisé protocole de supervision
HSR. Ce protocole de supervision
HSR garde la trace des nœuds HSR,
des numéros de séquence de leurs
trames de supervision et du numéro
de port redondant sur lequel leurs
trames sont reçues. L’ensemble de
ces informations est stocké dans une
table spéciale appelée table de
nœuds. Elles peuvent ensuite être
utilisées pour localiser des liens
défectueux et autres problèmes du
réseau. Pour des raisons pratiques, ce
protocole complexe ne peut pas être
implémenté sur du matériel ; il faut
faire appel à du logiciel. Finalement,
l’implémentation HSR requiert à la
fois du logiciel et du matériel. Une
puce SoC est donc par nature le
choix idéal, permettant la réalisation
d’une solution HSR monopuce.
Comment implémenter
l'IEEE 1588 PTP
Comme dans le cas de l'HSR, l’implémentation de l'IEEE 1588 s’avère
être à la fois logicielle et matérielle.
I2C
Les parties n'ayant pas d'exigences
temps réel sont mises en œuvre par
du logiciel. Il s’agit typiquement de
l’algorithme de sélection de la meilleure horloge maître, de la pile de
protocole ou encore de la génération
des trames Ethernet. Les tâches critiques au niveau temporel incluent
le timing exact en réception et en
émission des transferts de trames,
ainsi que la modification des messages Correction Field of Sync,
Delay_Req, Pdelay_Req et Pdelay_
Resp. Ces tâches doivent être réalisées dans le silicium afin d'atteindre
une précision de synchronisation
inférieure à la microseconde sur le
réseau Ethernet ; les solutions uniquement logicielles sont à peine
capables d'une précision en dessous
de la milliseconde alors que les
implémentations matérielles peuvent
atteindre la nanoseconde. Bien
que des puces IEEE 1588 PHY soient
disponibles sur le marché, elles sont
inutiles dans ce cas-ci ; la fonctionnalité IEEE 1588 Transparent Clock
au sein du commutateur et les fonctionnalités d'horodatage de la
connexion Switch-to-HPS Ethernet
éliminent la nécessité d’un support
de l'IEEE 1588 dans les puces PHY.
De ce fait, l'utilisation d’IEEE 1588
PTP est par exemple envisageable
dans le cas des modules SFP sur
cuivre qui n'ont pas de support
IEEE 1588 PTP. n
L’EMBARQUÉ / N°6 / 2014 /
43
Logiciels & systèmes
Professionnels de l’embarqué
Découvrez le système d’information
le plus complet, 100% utile à votre métier !
Une newsletter quotidienne
Votre fil d’actualité gratuit
Une newsletter hebdo
Tous les jeudis,
des infos exclusives à forte
valeur ajoutée
Un magazine
100% numérique, trimestriel,
pour une information fouillée,
analysée et développée
Un site Internet
Plus de 1 500 articles par an
exclusivement dédiés à l’embarqué
Abonnez-vous
•Pub 148x210.indd 1
www.lembarque.com
20/03/13 12:52
Téléchargement