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

Stubby : protection de votre vie privée via le chiffrement des requêtes DNS

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

Depuis les révélations d’Edward Snowden sur l’espionnage de masse des communications sur Internet par la NSA, un effort massif a été fait pour protéger la vie en ligne des internautes. Cet effort s’est principalement concentré sur les outils de communication avec la généralisation de l’usage du chiffrement sur le web (désormais, plus de 90 % des échanges se font en HTTPS) et l’adoption en masse des messageries utilisant des protocoles de chiffrement de bout en bout. Cependant, toutes ces communications, bien que chiffrées, utilisent un protocole qui, lui, n’est pas chiffré par défaut, loin de là : le DNS. Voyons ensemble quels sont les risques que cela induit pour les internautes et comment nous pouvons améliorer la situation.

Surveillez la consommation énergétique de votre code

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

Être en mesure de surveiller la consommation énergétique de nos applications est une idée attrayante, qui n'est que trop souvent mise à la marge aujourd'hui. C'est d'ailleurs paradoxal, quand on pense que de plus en plus de voitures permettent de connaître la consommation instantanée et la consommation moyenne du véhicule, mais que nos chers ordinateurs, fleurons de la technologie, ne le permettent pas pour nos applications... Mais c'est aussi une tendance qui s'affirme petit à petit et à laquelle à terme, il devrait être difficile d'échapper. Car même si ce n'est qu'un effet de bord, elle nous amène à créer des programmes plus efficaces, qui sont également moins chers à exécuter.

Donnez une autre dimension à vos logs avec Vector

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

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Body