Vous êtes sur la page 1sur 84

COURS SYSTEMES

EMBARQUES 2
3eme Anne Cycle
dIngnieur GSTR
2016-2017

Samir EL ADIB
Volume
Horaire
Module
(64H)
Systmes
Embarqus 2 et
JAVA Mobile

Module Module
(32H) (32H)
Systmes JAVA
Embarqus 2 Mobile

2
Partie 1
Partie 2
NI CompactRIO : systme
de contrle et d'acquisition
de donnes

Systme embarqu compact et durci pour le contrle et


l'acquisition de donnes Programmation graphique NI
LabVIEW, pour un dveloppement rapide Processeur temps rel
embarqu, pour des oprations autonomes ou distribues
fiables
Intgre un circuit FPGA qui offre la flexibilit, les performances
et la fiabilit du matriel personnalis
Inclut des modules industriels d'E/S changeables
chaud avec un conditionnement du signal intgr, pour une
connexion directe un large ventail de capteurs et d'actionneurs
NI CompactRIO : systme
de contrle et d'acquisition
de donnes

Offre des certifications et des classements industriels


extrmes : Temprature de fonctionnement de -
40 70 C (- 40 158 F) Isolation (soutenue)
jusqu' 2300 Veff
Classement de rsistance aux chocs de 50 g
Certifications de scurit internationales, EMC et
environnementales Classement pour les emplacements
dangereux de Classe I, Division 2 Alimentations doubles de 9
35 Vcc, faible consommation (typique de 7 10
W)
NI CompactRIO : systme
de contrle et d'acquisition
de donnes

Taille et
poids
La taille, le poids et la densit des E/S sont des exigences de
conception critiques dans de nombreuses applications
embarques. Un systme embarqu reconfigurable quatre
emplacements mesure 179,6 mm X 88,1 mm X 88,1 mm (7,07
pouces X 3,47 pouces X 3,47 pouces) et pse seulement 1,58 kg
(3,47 livres).
Exemples d'applications
Acquisition de donnes, enregistrement de donnes et
contrle bord de vhicules
Surveillance et protection de fonctionnement
des machines Prototypage de systmes
embarqus
Surveillance distance et
distribue Enregistrement
embarqu de donnes Contrle
personnalis de moteurs multi-axes
Surveillance de la puissance lectrique et contrle de
l'lectronique de puissance
Commandes servo-hydrauliques et de
machines lourdes Contrle discret et par
lots
Analyses de bruit, vibrations et rudesse (BVR)
mobiles/portables
Le systme embarqu CompactRIO offre un
processeur industriel MPC5200 400 MHz de
Freescale, qui excute de manire dterministe
les applications LabVIEW Real-Time sous le systme
Il est
d'exploitation temps rel fiable VxWorks de Wind
galement
River.
code possible d'intgrer du code existant
LabVIEW C/C++ au Real-Time pour
dveloppeme conomiser du temps de
nt.
Un large ventail de types d'E/S est disponible, y
compris des entres de tension,
d'intensit, de thermocouple,
d'acclromtre et de jauge de contrainte ;
des E/S chantillonnage simultan jusqu'
60 V ; des E/S numriques industrielles
12, 24 et 48 V ; des E/S numriques TTL/5 V ;
des compteurs/timers ; une gnration
d'impulsions et des relais haute tension/intensit.
Programmer un compactRIO =
Explorateur de projet
Le CompactRIO est considr dans LabVIEW comme un
systme dport : cest--dire une cible autonome sur
laquelle le code compil va sexcuter. Il doit donc tre
ajout au projet comme une cible distante et non pas dans
lordinateur.
Le projet sera compos
notamment : Programmes
LabVIEW (fichiers .vi),
Rpertoires virtuels (pour faciliter le rangement des
programmes du projet),
Librairies de programmes ou de variables
partages (fichiers .llb), Modules entres-sorties
(variables I/O), etc.
Programmer un compactRIO =
Explorateur de projet
Si le compactRIO est aliment et connect au rseau lors
de lajout de la cible au projet, LabVIEW reconnaitra alors
le contrleur, le chssis et lensemble des C-modules
disponibles. Autrement, il est possible dajouter le
CompactRIO manuellement en prcisant sa rfrence puis
en modifiant son adresse internet (IP).
Programmer un compactRIO =
Explorateur de projet
De la mme faon, manuellement ou de manire
automatique, on peut ajouter un chssis :
Programmer un compactRIO =
Explorateur de projet
Les modules enfichs dans le chssis (carte dentre
analogique, par exemple) peuvent alors tre utiliss
suivant deux modes de programmation :
Le mode Scan Interface , qui permet d'utiliser les
modules de la Srie C directement partir de
LabVIEW Real-Time. Ce mode ncessite NI-RIO IO
install dans le contrleur.
Le mode LabVIEW FPGA Interface , qui permet
d'utiliser les modules de la srie C partir du
module LabVIEW FPGA.
Programmer un compactRIO =
Explorateur de projet

Pdagogiquement, le mode Scan Interface est


conseill dans un premier temps car il permet de
ne pas prendre en compte les problmatiques lies
au FPGA : telles que la programmation en nombre
entier ou la compilation trs lente du FPGA (5 7
min au minimum), qui est classique chez tous les
fabricants de FPGA, donc aussi lent avec Altera,
Xilinx
Programmer un compactRIO =
Explorateur de projet
Le principe du mode Scan Interface est de proposer
une version prcompile pour le FPGA des modules
dentres-sorties. Ainsi, ltudiant ne se rend pas compte
que le module est interfac avec un FPGA et surtout le
temps de compilation est rduit moins de 2 minutes.
Nous constatons trs souvent quen travaux pratiques,
notamment dans ceux concernant le VHDL, le temps de
compilation joue fortement sur la motivation et
limplication des tudiants
Programmer un compactRIO =
Explorateur de projet
Le mode LabVIEW FPGA Interface permet toutefois de
raliser un code compil optimis pour le projet et
donc plus performant : par exemple, la
programmation par boucle cadence se base sur une
horloge de 1 kHz ou 1 MHz en mode Scan Interface et
sur une horloge de 40 MHz en mode LabVIEW FPGA
Interface.
Nanmoins, il est noter que certains modules
commercialiss ne sont pas compatibles avec le mode
Scan Interface. Ainsi, les modules de communication
CAN, doivent tre utiliss en mode LabVIEW FPGA
Interface.
Programmer en mode Scan
Interface
La figure suivante montre larchitecture dun projet
compactRIO utilisant le chssis et un module dacquisition
de voie analogique NI 9201. Ici, le module dentre est
compos de 8 voies. Chaque voie peut-tre renomme
pour faciliter la lecture du programme par la suite. Enfin,
le programme LabVIEW est ajout au niveau du
contrleur : ici, Mesure_Tension.vi
Programmer en mode Scan
Dans la
Interface
programmation de systmes embarqus, il
est prfrable dajouter des routines dinitialisation et
darrt du compactRIO. Par exemple : on peut imaginer
la gestion dun ascenseur ; Lorsque le programme se
met en route, la commande des freins doit sinitialiser
une certaine valeur pour maintenir les passagers en
scurit. Il en de mme pour larrt du programme.
Programmer en mode Scan
Pour Interface
faire une acquisition toutes les 1ms, il faut ensuite
ajouter une boucle cadence 1 kHz, avec un bouton
de contrle pour grer son arrt. Puis dans le
programme .vi, il suffit alors de glisser-dposer, partir
de la fentre de lexplorateur de projet vers le diagramme
du .vi, AI0_Tension_Batterie (AI0) . Laffichage du
rsultat de lacquisition peut se faire sur la face avant
laide dune jauge ou dun graphique droulant ou encore
dun afficheur numrique, etc.
Programmer en
mode FPGA
LabView FPGA est le module de programmation des
"rseaux logiques programmable". Ces circuits sont
implants sur divers types de matriels de chez NI, ils
proviennent du fondeur Xilinxs. Ils font partie de la
gamme Startan conomique ou Virtex haute
performance.
QUEST-CE UN
FPGA ?
Les FPGA sont des circuits logiques reprogrammables.
l'aide de blocs logiques prdfinis et de ressources
programmables de routage, vous interconnectez ces
portes pour mettre en oeuvre des fonctionnalits
matriel personnalises
Les FPGAs fournissent robustesse, vitesse et
fiabilit, ils sont vritablement parallles et les
traitements ne dpendent pas dun OS.
Programmer en
mode FPGA LABVIEW ET LES FPGA
Labview nest pas une suite logicielle de dveloppement
de matriel bas sur des FPGAs, vous ne pourrez pas
dvelopper (pour linstant) en LabView une application
pour une cible autre quun matriel NI. En revanche
l'environnement offre une interface directe vers ces
matriels et la programmation se fait sans autre outil
que labview (pas d'autre langage, ni environnement de
LABVIEW RT ET
dveloppement).
FPGA
Les modules RT et FPGA sont indpendant, mais souvent
intimement lis, car la communication entre lOS et le
monde extrieur, dans les matriels qui en sont quips
passe par le FPGA.
LES CIBLES SUPPORTEES
Les cibles supportes font partie de la gamme RIO (E/S
reconfigurables), il sagit des matriels DAQ NI PCI et PXI
de la Srie R (acquisition), les matriels NI CVS-145x
(Vision), CompactRIO.
Programmer en
mode FPGA
PREPARATION DE
LENVIRONNEMENT
Labview doit tre install ainsi que les modules FPGA et
RT. Labview fournit un fichier VHDL au compilateur Xilinxs
qui doit donc tre install. Un wizard permet de crer
une bauche de projet FPGA.

Lutilitaire permet la dtection automatique de la cible


et de ses accessoires (si la cible nest pas prsente, il
est possible de configurer manuellement lensemble). Une
fois fini, le projet contient la description complte du
matriel de la cible (E/S, horloges)
Programmer en
mode FPGA
ORGANISATION DU
PROJET
Une application LabView FPGA/RT contient en gnral
trois parties : a) Les VIs implments sur le FPGA.
b) Les VIs implments sur le processeur
de lOS RT. c) Les VIs implments sur le
PC de supervision.
Ceci nest pas une rgle absolue, mais un cas trs
commun. Ces diffrents programmes doivent
communiquer entre eux via diffrents canaux (ils sont
sur des chips physiquement spars, au moins pour le
FPGA) la communication stablie dans lordre :
FPGART Supervision. La topologie de l'ensemble peut
prendre diffrentes formes (par exemple une carte PCI
srie R dans un PC quip d'un processeur multi-coeurs
excutant un OS RT et XP), mais l'organisation gnrale
reste la mme.
Programmer en
mode FPGA
COMMUNICATION ET
FPGA ET RT
La communication entre les variables du code FPGA et des
variables de la cible RT peuvent se faire :

a) par des noeuds de proprit Read/Write des


contrles de la face avant du VI principal FPGA, c'est
la mthode la plus simple, aucun code n'est
ncessaire.
b) Par des FIFOs, pour le transfert de volume donnes
plus important avec la possibilit d'implmenter des
mcanismes vitant la perte de donnes.
Programmer en
mode FPGA

COMMUNICATION ENTRE CIBLE RT ET


SUPERVISION
Cette communication utilise une liaison rseau
physique ou virtuelle:
a) Par des variables rseau, liaison directe sans code,
la mise jours de donnes est faite par le protocole
NI PSP.
b) Par des liens TCP ou des amlior la
sockets pour notamment en er performance,
encapsulant plusieurs paquet variable dans le
TCP . s mme
Programmer en
mode FPGA
Pour basculer en mode LabVIEW FPGA Interface , ils
existent plusieurs solutions : soit supprimer le chssis du
projet et en ajouter un nouveau chssis en slectionnant
le mode LabVIEW FPGA Interface comme dcrit dans
la figure 10. Soit conserver le chssis actuel et ajouter
une cible FPGA.
Ensuite, le C-module dsire doit tre ajout aux
projets. La figure suivante montre lajout dun module
CAN de rfrence NI 9853.
Programmer en
mode FPGA
La programmation dans LabVIEW est ensuite quasi-
identique celle utilise en mode Scan Interface,
excepte que les nombres flottants sont interdits. Il est
alors ncessaire de travailler avec des nombres rels en
virgules fixes.

Pour rsumer : la configuration du CompactRIO seffectue


par le logiciel NI MAX et sa programmation utilise LabVIEW
et lexplorateur de projet. Le mode Scan Interface
permet dutiliser la plupart des modules disponibles et
simplifie fortement la tche aux tudiants pour raliser des
acquisitions de signaux analogique. En effet en mode
LabVIEW FPGA Interface , la gestion des flottants
nest pas autorise. La synchronisation des donnes
entre le microprocesseur et le FPGA tant dun niveau
plus avanc, elle fera lobjet dun futur article pour
prciser les diffrentes techniques ralisables.

Vous aimerez peut-être aussi