Galileo-Guide

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Préambule

Ce guide de démarrage s'intéresse aux aspects du point de vue Arduino.

La plateforme Galileo ne s'arrête pourtant pas là.

Ainsi donc, après avoir pris connaissance de ce lonnnnnggg et intéressant chapitre, vous pourrez poursuivre votre acquisition de connaissance en poursuivant la lecture du Stater Guide Galileo réalisé par Intel (Intel, anglais). Cet autre document contient d'autres informations croustillante :-)

Environnement de développement

Avant d'aborder l'aspect matériel de la plateforme, nous faire un petit détour par l'environnement de développement (librement disponible).

Votre Galileo se programme comme un Arduino avec l'environnement développemment Arduino IDE déjà bien connu des Arduinistes..

Cependant, il s'agit d'une version Arduino IDE ADAPTEE pour Galileo

Prise en main

Pour démarrer, connectez simplement l'alimentation 5V AC-vers-DC (5V continu, centre positif) puis branchez la carte sur l'ordinateur à l'aide d'un câble micro-USB. Par défaut les mesures se font de la masse à 5 volts.

Galileo-Guide-items-00.jpg

Galileo-Guide-01.jpg

Brochage

I2C bus, TWI

Les broches SDA (I2C data) et SCL (I2C clock) sont visibles sur le connecteur Arduino près de la broche AREF (voyez sous les ports micro USB).

Le Bus TWI (I2C) est disponible sur les boches A4 (SDA) et A5 (SCL) du connecteur Arduino (comme sur les Arduino UNO standard).

Le support de la communication TWI/I2C est assuré par la bibliothèque Wire.

Bus SPI

Le bus SPI fonctionne en 4MHz par défaut (pour supporter les shields Arduino UNO.

Compatibilité avec les broches Arduino Uno Rev3

Une fonctionalité de Galileo est de supporter les Shields Arduino UNO et il a été conçu pour supporter les shields 3.3V ou 5V.

En suivant les caractéristiques de l'Arduino Uno Revision 3, cela inclus:

  • 14 broches d'entrées/sorties digitales, dont 6 peuvent être utilisées en modulation de longueur d'impulsion (PWM: Pulse Width Modulation);
    • Chacune des 14 broches digitales du Galileo peuvent être utilisées comme entrée ou sortie, vous pouvez utiliser les fonctions pinMode(), digitalWrite() et digitalRead().
    • Elles fonctionne à 3.3 volts ou 5 volts. Chaque broches est capable de fournir un maximum de 10 mA ou de recevoir un maximum de 25 mA ET dispose d'une résistance pull-up interne (désactivée par défaut) de 5.6k à 10 kOhms.
  • A0 – A5: 6 entrées analogiques, via des convertisseurs analogiques/digitaux AD7298
    • Chaque broche des 6 entrées analogiques, marquée A0 à A5, dispose d'une résolution 12 bits (soit 4096 valeurs différentes). Par défault, elles mesures des valeurs entre la masse/GND et 5 volts.
  • Bus I2C, TWI: broches SDA et SCL sont près de la broche AREF.
    • TWI: broches A4 (ou SDA) et A5 (ou SCL). Le support TWI/I2C est pris en charge par la bibliothèque Wire.
  • SPI:
    • Cadencé à 4MHz (par défaut) pour supporter les shields Arduino Uno. Il est programmable à 25 MHz.
    • Note: Puisque Galileo dispose d'un contrôleur SPI natif, il agira comme un maître et non comme un esclave SPI. Par conséquent, Galileo ne peut pas devenir un esclave SPI pour un autre maître SPI. Cependant, il peut agir comme un périphérique esclave via le connecteur USB client.
  • UART (port série): port UART à vitesse programmable (broche digitale 0 (RX) et 1 (TX))
  • ICSP (SPI): un connecteur 6 broche ICSP (in-circuit serial programming), placé de façon approprié pour qu'il se branche sur les shields existant. Ces broches supporte la communication SPI en utilisant la bibliothèque SPI.
  • VIN: La tension d'entrée (input voltage) sur la carte Galileo lorsqu'il est branché sur une source d'alimentation 5 Volts externe (as opposed to 5 volts from the regulated power supply connected at the power jack cette information semble inappropriée). Vous pouvez fournir une alimentation par l'intermédiaire de cette broche, ou, y accéder via cette broche si l'alimentation est fournie sur la fiche jack.
    • Attention: la tension appliquée à cette broche doit être régulée à 5V sinon vous risquez d'endommager la carte Galileo ou provoquer un fonctionnement incohérent.
  • broche de sortie 5V: cette broches fournit une sortie 5v depuis la source d'alimentation externe ou depuis le connecteur USB. Le courant maximum pour le shield est de 800 mA
  • broche de sortie 3.3V: Cette broche fournit une tension A 3.3 volt fournie par le régulateur 3.3v de la carte. Consommation maximale pour les shields est de 800 mA
  • GND: broche de masse.
  • IOREF: La broche IOREF du Galileo permet de brancher un shield avec la configuration adéquate pour s'adapter à la tension de la carte. La tension de la broche IOREF est contrôlé par un cavalier sur la carte. Il y a un cavalier permettant de sélectionner la tension de fonction du shield entre 3.3V et 5V.
  • Bouton/broche RESET: Placer cette ligne au niveau BAS (LOW) pour faire un reset du sketch/croquis. Habituellement utilisée pour placer un bouton Reset sur un shield.
  • AREF: Non utilisée sur Galileo. Fournit une tension de référence pour les broches d'entrée analogique (broche non supportée sur Galileo).
    • Pour Galileo, il n'est pas possible de fixer la borne supérieure de la gamme de tension d'entrée en utilisant la broche AREF. Cela n'a donc aucune influence sur la fonction analogReference().

Voyez le projet Arduino Sampler/séquenceur Audio basé sur Galileo que Verkstad réalisé pour le Maker Faire de Rome.

Fonctionnalités supportées par l'architecture Intel

Le processeur Intel et les capacités d'entrées/sorties natives avoisinante du SoC Clanton propose une riche offre de fonctionnalités aux Makers et aux étudiants. Galileo sera également utile pour les développeurs professionnels qui recherche un environnement de développement simple et rentable pour les processeurs Intel® Atom et conceptions autour des processeurs Intel® Core.

  • 400MHz, Architecture Pentium Intel® 32-bit (ISA)-compatible - Cache L1 de 16 KBytes on-die
    • 512 KBytes de SRAM de type "on-die embedded"
    • Facile a programmer: Un seul thread (single thread), un seul coeur, vitesse constante
    • CPU compatible ACPI (état de mise en veille).
    • Une horloge temps réel intégrée (RTC - Real Time Clock), avec un connecteur pour pile bouton 3V (optionnel). Permet de maintenir l'heure entre les cycles différents cycles de mise-sous-tension.
  • Une prise Ethernet 10/100Mb
  • PCI Express (full) - PCIe = Peripheral Component Interconnect Express
    • Un slot pour mini-carte, conforme aux fonctionnalités PCIe 2.0
    • Fonctionne aussi avec les carte mini-PCIe demi-taille (à l'aide d'une carte de conversion optionnelle).
    • Propose un port USB 2.0 Hôte sur le connecteur mini-PCIe
  • Connecteur USB 2.0 Hôte (dit USB Host en anglais)
    • Supporte jusqu'à 128 point de montage USB (128 USB end point devices).
  • Connecteur microUSB de type périphérique USB (fait passer la carte pour un Periphérique auprès d'un hôte USB... comme votre Ordinateur).
    • Aussi utilisé pour la programmation
    • Totalement conforme avec la norme "USB 2.0 Device controller"
  • Connecteur de débogage 10-broches au standard JTAG
  • Un bouton "Reboot" pour rebooter le processeur
  • Un boutoon "Reset" pour faire un "Reset" (redémarrer) le sketch/croquis ainsi que les shields branché sur la plateforme.

Stockage et Memoire

  • Options de stockage:
    • Par défaut - 8 Mb de Flash en SPI ("Legacy", hérité de l'architecture Intel) dont la fonction principale est de stocker le FormWare (ou le bootloader) et le dernier Croquis/sketch Arduino. De 256KByte a 512KB sont dédiés au stockage du croquis/sketc. Le téléchargement (du sketch/croquis) se fait automatiquement depuis le PC de développement, il n'y a donc pas d'action particulière à entreprendre à moins d'ajouter une mise-à-jour au firmware.
    • 512 KByte de SRAM embarquée par défaut, activé par le firmware. Pas d'action à réaliser pour bénéficier de cette fonctionnalité).
    • 256 MByte DRAM, activé par le firmware (par défaut).
    • carte micro SD (optionel) offre jusqu'a 32GByte de stockage supplémentaire
    • Stockage USB qui fonctionne avec tous les lecteurs compatible USB 2.0
    • 11 KByte d'EEPROM qui peut être programmé à l'aide de la bibliothèque EEPROM (Arduino.cc, anglais).

Schéma, référence de conception et Pin Mapping

Alimentation

Galileo est alimenté par l'intermédiaire d'une alimentation 5V Continu. La connecteur Jack 2.1mm (centre positif) doit être connecté sur la carte. Il est recommandé d'utilise une alimentation capable de fournir jusqu'à 3 Ampères sous 5V.

Caractéritiques électriques

Caractéristique Valeur
Tension d'entrée (recommandée) 5V
Tension d'entrée (limite) 5V
Broches d'entrées/sorties digitales 14 (dont 6 fournissant une sortie PWM)
Broche d'entrée analogique 6
Courant total (continu) sur toutes les lignes d'entrée/sorties. 80 mA
Courant continu sur la broche 3.3V 800 mA
Courant continu sur la broche 5V 800 mA

Communication

Galileo dispose de nombreux aménagements pour communiquer avec un ordinateur, autres Arduino, ou autres microcontroleurs.

Galileo fourni les interfaces suivantes:

UART

communication série à l'aire d'un UART TTL (5V/3.3V). Ce dernier est disponible sur les broches digitales 0 (RX) et 1 (TX).

Vous disposez en plus d'un second UART fournissant un support RS-232 auquel vous pouvez vous connecter à l'aide d'une fiche jack 3.5mm (format stéréo standard).

Pour ce second UART, le corps est la masse, l'anneau centrale est TX et la pointe RX. Avec un cable Adéquat, vous pouvez accéder directement au système Linux à l'aide d'un terminal.

USB Client

Le port USB Device/client permet d'établir une communication série via USB (CDC). Cela permet d'obtenir une communication série avec le "Moniteur Série" d'Arduino IDE, soit avec une application en cours de fonctionnement sur votre ordinateur.

Ce port USB permet également au Galileo de se faire passer pour une souris ou clavier USB auprès de l'ordinateur sur lequel il est branché. Si vous voulez utiliser cette fonctionnalité, voyez les pages Arduino.cc dédiée aux bibliothèques Keyboard et Mouse.

USB Host/Hôte

Le port USB Host/hôte permet à Galileo d'agir comme un hôte et d'y connecter des périphériques tels de souris, clavier et smartphones. Pour utiliser ces fonctionnalités, voyez les pages relatives à USBHost sur Arduino.cc.

Cela permet de supporter un interface avec des périphériques USB comme clavier, stockage de masse, etc. Avec un Hub USB, jusqu'à 128 périphériques peuvent être connectés à ce port.

PCI Express

Galileo est la première carte Arduino a offrir un connecteur mini PCI Express (mPCIe). Ce connecteur accepte les modules mPCIe "taille normal" et "demi taille" (avec adaptateur) et fourni également un port USB Host (hôte) supplémentaire par l'intermédiaire du connecteur mPCIe.

Tous les modules standards mPCIe peuvent être connectés et utilisés pour fournir des applications tels que WiFi, Bluetooth ou connectivité GSM. Au départ, ce connecteur mPCIe Galileo est prévu pour supporter la bibliothèque WiFi. Veuillez vous référer au Intel® Galileo Getting Started Guide (Intel, anglais) pour plus d'informations.

Port Ethernet

Un connecteur Ethernet RJ45 permet à Galileo de se connecter sur les réseaux filaires. Vous devez fournir une adresse IP et adresse MAC lorsque vous vous connectez sur un réseau.

L'interface Ethernet est pleinement supporté par la carte et ne requière pas l'usage d'une interface SPI (comme c'est la cas pour les shield Ethernet pour Arduino).

Lecteur MicroSD

Le lecteur de carte microSD card de Galileo est accessible par l'intermédiaire de la bibliothèque SD. La communication entre Galileo et le support de la carte SD est prise en charge par un contrôleur spécialisé (et ne requière donc pas d'interface SPI pour communiquer avec la carte SD... comme c'est le cas pour les autres Arduino).

Galileo supporte les cartes jusqu'à 32GB. Vous aurez besoin d'utiliser ce connecteur SD si vous voulez booter votre Galileo en utilisant la “bigger” Linux image.

I2C/TWI/SPI

Les logiciels Arduino inclus une bibliothèque Wire pour simplifier l'utilisation du bus TWI/I2C; voyez la documentation pour plus de détails. For SPI communication use the SPI library (Arduino.cc, anglais).

Programmation

Galileo peut être programmé à l'aide du l’environnement de développement Arduino (liens de téléchargement, Arduino.cc).

Note de MCHobby.be:
A mon avis, la doc oublie de préciser que votre Galileo doit être sous tension (par l'intermédiaire de la prise Jack).

Lorsque vous êtes prêt à téléverser votre croquis/sketch sur votre carte, vous pouvez programmer votre Galileo en en sélectionnant "Intel Galileo" dans le menu Outils > Cartes de votre Arduino IDE.

Galileo-Select-USB.jpg

Connectez votre Ordinateur sur le port USB Client de votre Galileo (celui le plus proche de la prise Ethernet).

Galileo-Connect-USB.jpg

Sélectionnez le port USB dans le menu Outils > port

Galileo-Select-USB-2.jpg

Voila, vous être prêt à programmer votre carte depuis Arduino IDE... il ne reste plus qu'a presser le bouton de compilation et téléversement dans votre environnement Arduino IDE.

Arduino-Demarrer-Guide-04.jpg

Plutôt que de nécessiter la pression sur le bouton Reset avant le téléchargement du programme, Galileo est conçu pour faire un reset logiciel initié par le logiciel Arduino IDE au moment du téléversement.

Voyez le guide "Intel® Galileo Getting Started" pour plus de détails, référence et tutoriels.

Lorsque la carte Galileo démarre (boot)

Il y a deux scénarios possibles lorsque la carte Galileo boot:

  • Si un sketch/croquis est présent dans le stockage persistant, il est exécuté.
  • S'il n'y a pas de sketch/croquis présent, la carte patiente et attend une commande de téléversement en provenance d'Arduino IDE.

Si un sketch/croquis est en cours d'exécution, vous pouvez téléverser un nouveau programme depuis Arduino IDE sans devoir presser le bouton reset de la carte. Le sketch/croquis est stoppé au vol; Arduino IDE attends que la carte passe en état de téléversement puis démarre le chargement du nouveau Sketch/Croquis dans la mémoire du Galileo.

Presser le bouton "reset" sur la carte (ou le bouton Reset de n'importe quel shield) pour redémarrer le croquis/sketch en cours d'exécution.

Propriété des broches en sortie (Output)

Les broches configurées en OUTPUT (sortie) avec la fonction pinMode() sont dites en "état de basse impédance". Sur Galileo, lorsqu'une broche est configurée en OUTPUT (sortie), la fonctionnalité est prise en charge par le composant "Cypress I/O expander" (datasheet, fonctionnant en I2C). Les broches digitales de 0 à 13 et broches analogiques de A0 à A5 peuvent aussi être configurée en OUTPUT sur Galileo.

Les broches du I/O expander, lorsqu'elles sont configurées en OUTPUT, peuvent fournir un courant positif jusqu'à 10 mA (milliampères) et peut absorber (fournir un courant négatif) jusqu'à 25 mA de courant depuis l'autre circuit. Le courant pouvant être fournit par une broches individuelle est de 10mA mais il existe une limite globale de 80 mA pour toutes les broches combinées. La limite d'absorption par broche de 25mA est également soumise à une limite globale d'absorption 200 mA pour toutes les broches combinées. La table suivante offre une vue générale des capacités globale broches configurées en OUTPUT.

Caractéristique Fourniture de courant
(Current Source)
Absoption de curant
(Current Sink)
Capacité par broche 10 25
Broches digitales 3,5,9,10,12,13 combinées 40 100
Broche digitale 0,1,2,4,6,7,8,11 et broches analogiques A0,A1,A2,A3,A4,A5 combinées 40 100
Broches digitales 0 à 13 et analogiques A0 à A5 combinées 80 200

Cavalier de configuration Galileo

Il y a 3 cavalier sur Galileo qui permettent de modifier la configuration de la carte.

Galileo-Guide-00.jpg

Cavalier IOREF

Le cavalier IOREF permet à Galileo de supporter les shield 3.3V et 5V, la tension de fonctionnement des entrées/sorties est contrôlé par ce cavalier. Lorsque le cavalier est placé sur la position 5V, Galileo est configuré pour être compatible avec les shields 5V et IOREF est à 5V. Quand le cavalier est placé sur la position 3.3V, Galileo est configuré pour être compatible avec les shields 3.3V et IOREF est à 3.3V. La gamme de tension supportée par les entrées analogiques est également contrôlé par le cavalier IOREF et ne doit pas dépasser la tension sélectionnée avec la cavalier IOREF. Cependant, la résolution de la fonction AnalogRead() (Arduino.cc, anglais) reste de 5 V/1024 unités pour la résolution par défaut de 10-bits ou 0.0049V (4.9mV) par unité peu importe la configuration du cavalier IOREF.

Note de MCHobby:
Cette information est en contradiction avec une autre information fournie par Arduino.cc (voir plus haut sur cette page)
Il est en effet prétendu que la résolution est de 5v/4096 unités soit 0.0012V (1.2mV). A confirmer par l'expérience

Attention: Le cavalier IOREF devrait être utilisé pour correspondre à la tension de fonctionnement de la carte et du shield. Une configuration incorrecte pourrait endommager la carte ou le shield.

Cavalier I2C

Le cavalier de modification d'adresse I2C, situé juste à gauche de la prise Ethernet, est utiliser pour éviter l'incompatibilité entre l'adresse des IO Expander de la carte (esclaves I2C) et de l'EEPROM avec un périphérique I2C externe (esclave externe). Le cavalier J2 peut-être utilisé pour modifier l'adresse des composants I2C de la carte Galileo.

Avec le cavalier J2 connecté sur la broche 1 (marquée d'un petit triangle), l'adresse 7-bit du I/O Expander est fixé à 0100001 et l'adresse 7-bit de l'EEPROM est 1010001. Changer la position du cavalier change l'adresse du I/O Expander à 0100000 et l'adresse de l'EEPROM à 1010000.

Cavalier VIN

Le cavalier VIN du Galileo peut être utilisé pour fournir la tension 5V, en provenance de la fiche Jack, au shields et périphérique branchés sur le connecteur Arduino.

S'il est nécessaire d'utiliser une tension d'alimentation supérieure à 5 volts avec les shield ALORS le jumper VIN doit être retiré du Galileo pour rompre la connexion entre la tension 5 Volts de la carte et la tension supérieure présente sur le connecteur VIN du header/connecteur Arduino.

Reset Automatique (par logiciel)

Plutôt que de requérir la pression physique sur le bouton Reset avant le téléversement d'un nouveau sketch/croquis, Galileo est conçu de façon à autoriser le reset logiciel réaliser par un logiciel fonctionnant sur un ordinateur.

Le signal de contrôle CDC-ACM USB est utilisé pour faire passer Galileo depuis le mode runtime vers le mode bootloader. Le logiciel Arduino utilise utilise cette fonctionnalité pour autoriser le téléversement simplement en pressant un bouton dans Arduino IDE. Voyez la documentation Intel® Galileo Getting Started Guide (Intel, anglais), pour plus de détails.

Caractéristiques Physiques

Galileo is 4.2 inches long and 2.8 inches wide respectively, with the USB connectors, UART jack, Ethernet connector, and power jack extending beyond the former dimension. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mm, is not an even multiple of the 100 mil spacing of the other pins.

Encore plus

Vous avez trouvez cette section fort intéressante mais restez un peu sur votre faim?

Pas de problème, pouvez poursuivre votre exploration par:

Documents de conception

Préservé en anglais...

This Intel® Galileo design document is licensed by Intel under the terms of the Creative Commons Attribution Share-Alike License (ver. 3), subject to the following terms and conditions. The Intel® Galileo design document IS PROVIDED "AS IS" AND "WITH ALL FAULTS." Intel DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED REGARDING THE GALILEO DESIGN OR THIS GALILEO DESIGN DOCUMENT INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intel® may make changes to the specifications, schematics and product descriptions at any time, without notice. The Customer must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel® reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. ENJOY!


Source: Intel Galileo, crédit: Arduino.cc, licence Creative Common Attribution ShareAlike. Diverses documentations publiées par Intel(R), Crédit Intel(R)

Traduit et augmenté par Meurisse D pour MCHobby.be

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.