Introduction au langage JAVA
Ce cours s'adresse aux étudiants en M2 du parcours Systèmes embarqués, à travers duquel on vise essentiellement l'apprentissage du langage de programmation et une brève introduction aux écosystèmes complexes JAVA. AInsi se module se compose des cinq parties suivantes
La première partie concerne une initiation à la compilation et l'interprétation JAVA
La seconde partie aborde les fondamentaux du langage ainsi que les structures de données les plus usuels
La troisième partie est consacrée exclusivement aux techniques programmatiques objets
La quatrième partie est consacrée à la gestion des exceptions et des fichiers sous java
En dernier , la cinquième et dernière partie est une initiation aux Packages et les applications WEB avec JAVA
Automates programmables industriels
Ce cours permet à l’étudiant de comprendre l’organisation matérielle et
logicielle des API, de choisir un API et les composants associés selon
l’application souhaitée et d’utiliser un langage de programmation adapté pour
l’API.
Le cours s'articule sur 4 chapitres visant essentiellement:
- - l'architecture interne et externe de l'API et ses caractéristiques.
- - Matérialisation de processus industriels par API.
- - Programmation de l'API.
- - Et enfin une introduction à la télégestion ainsi que les réseaux Industriels et systèmes SCADA.
Vision artificielle
L'objectif
principal de la vision artificielle consiste à reproduire le plus fidèlement
possible la perception visuelle humaine d'une scène au moyen d'une ou plusieurs
caméras associées à un système automatique de traitement de données. L’objectif
de cette matière est d’amener l’étudiant à comprendre les concepts d’un système d’imagerie numérique et
de vision
syst embarques
Objectifs de l’enseignement :
Donner à l’étudiant les fondements des architectures et les caractéristiques des systèmes embarqués ainsi que les méthodes et les outils de conception et de développement d'architectures de systèmes embarqués.
Connaissances préalables recommandées :
Microprocesseur, Microcontrôleur, FPGA, DSP, Programmation, Chaine d'instrumentation.
Contenu de la matière :
Chapitre 1 : Historique des systèmes embarqués (1 semaine)
Rappels sur les microprocesseurs, microcontrôleurs, FPGA, DSP, ….
Rappels sur les architectures CISC, RISC, SSI, MSI, LSI, VLSI, ULSI, …
Chapitre 2 : Définition d'un système embarqué (2 semaines)
Définition, Spécifications, caractéristiques, utilisations, réalisations des systèmes embarqués. Pourquoi un système embarqué?
Chapitre 3 : Méthodologie de conception d'un système embarqué (7 semaines)
Architecture logicielle et matérielle d'un système embarqué : (Processeur embarqué, mémoires, système multibus, pipeline d'exécution, …).
Différentes étapes de conception d'un système embarqué : du composant matériel jusqu’à l'application logicielle.
Exemples de systèmes embarqués utilisés dans différents domaines.
Optimisation des architectures (software et hardware) : temps d'exécution, capacité, coût, …
Co-design : jumelage entre le matériel et le logiciel, entre DSP et FPGA, … (Méthodologie de conception qui supporte le développement coopératif et concurrent des parties logicielles et matérielles : co-spécification, co-développement et co-vérification …)
Commande des systèmes embarqués.
Chapitre 4 : Problématiques d'un système embarqué (2 semaines)
Notions des systèmes embarqués critiques, systèmes embarqués temps réel. Sources de contraintes de temps dans un système embarqué. Conséquences de dégradation du fonctionnement, Notion de chien de garde, Sureté, …..
Chapitre 5 : Applications (3 semaines)
Le contenu de ce chapitre est entièrement laissé à l'appréciation de l'enseignant. Il est dévolu à la conception d’un système embarqué. Présenter les deux aspects hardware et software en utilisant soit la solution Microprocesseur/Assembleur ou bien FPGA/VHDL ou bien Microcontrôleur/C++, … Choix de l'exécution séquentielle ou parallèle, …
1. Réflexion sur le matériel nécessaire et le contenu du programme soft
Conception d'un système de condamnation centrale d'une voiture : PIC/Assembleur, Arduino/C+,
2. Utilisation des fonctions de conversions Analogique/Numérique ADC-DAC et les interfaces I2S, I2C (conversion Série-Parallèle)
Conception d'un PID pour asservir un moteur à courant continu (FGPA/VHDL)
3. Générateur de fréquences
Diviseur de fréquence (division entière ou non entière). Conception de la commande PWM pour commander un moteur à courant continu (augmenter/diminuer la vitesse, sens de rotation, …)
4. Optimisation de l'architecture
Conception d'un filtre numérique FII, FIR, …
5. Divers : Conception d'une montre
Utilisation d’un clavier, d’un afficheur LCD, … Communication sérielle (RS232) entre FPGA et Arduino, …
6. Exemple de Co-design
Utilisation de microprocesseurs softs sur un FPGA pour réaliser un système embarqué, utilisation simultanée de l'assembleur et du VHDL ou C.
Conception d'un système sous FPGA/VHDL, en utilisant les microprocesseurs soft microblaze, picoblaze , IP Cores, …
Mode d’évaluation:
Contrôle continu: 40% ; Examen: 60%.
Références bibliographiques:
1- Jean-André Biancolin, Temps réel: spécification et conception des systèmes temps réel, Hermès Science Publications, 1995.
2- Q. Li and C. Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003.
3- D. E. Simon, an Embedded Software Primer, Addison-Wesley Professional, 1999.
4- A. S. Berger Embedded Systems Design: An Introduction to Processes, Tools and Techniques, CMP Books, 2001.
5- M. Schlett, Trends in Embedded-Microprocessor Design, Computer Journal, IEEE Computer Society, Août 1998.
6- http://www.embedded.com/education-training/courses