Open Silicium N°
Numéro
15

Initiez-vous au réseau temps réel avec Xenomai et RTNET

Temporalité
Juillet/Août/Septembre 2015
Image v3
Initiez-vous au réseau temps réel avec Xenomai et RTNET
Article mis en avant

Résumé

Cet article a pour but de montrer la mise en œuvre de Xenomai, solution de Temps Réel Dur sous Linux sur une carte cible ARM9 AT91. La mise en œuvre est décrite de façon détaillée montrant quels outils utiliser pour mesurer des temps de latence afin de savoir de façon précise si la carte cible peut remplir les conditions Temps Réel Dur imposées par un éventuel système à piloter par cette carte. La démarche mise en œuvre peut s’appliquer à toute autre carte cible ARM et de façon plus globale à toute carte cible exécutant Xenomai.

Dans ce numéro...


Merci pour le poisson ! Ceci ne vous a sans doute pas échappé, ce numéro d'Open Silicium arrive avec un peu de retard dans votre boite à lettres ou chez votre marchand de journaux. Ce délai plus important, ayant été nécessaire pour sa composition, découle d'un nombre important de facteurs et je tiens avant tout à m'en excuser.
Les plates-formes d'exécution industrielles sont souvent très chères et opaques, tant pour le matériel que pour le système d'exploitation. De ce fait, une vraie alternative s'ouvre au chercheur motivé : celle de créer une plate-forme d'expérimentation et d'enseignement complètement ouverte et abordable. Le prix à payer est un certain investissement en temps et des sensations fortes.
Le développement d'applications embarquées devient de plus en plus populaire et accessible. La conjonction de deux facteurs principaux semble expliquer cela : l'arrivée de plateformes de développement à bas coût comme l'Arduino ou autre BeagleBone et Raspberry Pi et l'utilisation massive de logiciels libres sur ces matériels. Nous vous proposons la (re-)découverte d'un logiciel libre destiné aux cibles enfouies qui vous permettra d'accélérer vos développements : Lepton.
Nous avons déjà évoqué les extensions temps-réel du noyau Linux dans les colonnes d'Open Silicium et en particulier Xenomai [1]. Dans cet article, nous allons découvrir comment mettre en place le composant RTnet [2] qui permet de disposer d'une API réseau déterministe. Dans un deuxième temps, nous verrons une application de RTnet avec l'implémentation de la pile réseau déterministe openPOWERLINK [3]. Les tests seront réalisés sur la carte BeagleBone Black [4] ainsi que sur une Armadeus APF6 [12].
Le positionnement par traitement de signaux émis par satellites - GNSS ou Global Navigation Satellite Service - est devenu tellement courant que nous ne pensons plus aux contraintes techniques de cette fascinante technologie. Basés sur une constellation de satellites embarquant chacun plusieurs horloges atomiques, les signaux datés précisément permettent par triangulation de positionner le récepteur. Une connaissance précise du protocole de communication permet d’envisager des applications bien plus intéressantes que le simple positionnement : nous allons ici nous efforcer, après avoir acquis les signaux radiofréquences au moyen d’un récepteur initialement conçu pour recevoir la télévision numérique terrestre (DVB-T), de remonter à l’information brute transmise par les satellites. Nous verrons que plusieurs boucles d’asservissement sont nécessaires pour retrouver la fréquence de la porteuse et les messages de navigation, et nous aborderons les subtilités de l’extraction du signal d’un satellite en particulier alors que tous les membres de la constellation émettent sur la même fréquence de porteuse (1575,42 MHz). L’obtention des bits du message de navigation démontre la validité de notre approche.
En utilisant Linux, FreeBSD ou les outils Gnu, nous évoluons dans un écosystème peuplé d'une myriade de logiciels libres. Leur cohabitation n'est pourtant pas toujours évidente et l'intégration de code propriétaire, par exemple pour des projets industriels, est possible, mais demande certaines précautions d'usage.
Les périphériques USB sont de plus en plus présents dans le monde industriel où ils ont supplanté les interfaces RS-232 et autres GPIB (IEEE-488). On peut expliquer cela par le côté universel du protocole et donc le faible coût du contrôleur. Dans cet article, nous allons décrire les méthodes de pilotage d'un périphérique USB sous Linux en nous focalisant sur la catégorie (ou classe) HID (Human Interface Device) très largement répandue en particulier dans les instruments de mesure.
Dans le cadre d'un projet modulable, je réalise certains plugins. Certains de ces plugins utilisent des périphériques série et il n'est pas toujours pratique de travailler directement avec le périphérique : l'incapacité de rejouer systématiquement certains jeux de données, la non-possession du matériel, etc. Afin de répondre à cette problématique, j'ai créé une librairie python qui permet de simuler un périphérique série.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Brève introduction pratique à ZFS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Body