mbed - Tout ce qu'il faut savoir

La gamme ARM Cortex-A Processeurs une gamme ahurissante de périphériques de Ordinateurs à carte unique, comme le Raspberry Pi 2, aux serveurs massives comme Moonshot les serveurs de HP. Vous les trouverez également dans les téléphones, les tablettes, les lecteurs multimédias, et Chromebooks - ils sont partout. Mais ARM fait également une gamme de microcontrôleurs, qui sont tout aussi populaire, peut-être même plus. En 2014 seulement, les partenaires de l'ARM expédiées quelques 4,4 milliards de Cortex-M microcontrôleurs.

Un microcontrôleur est comme un microprocesseur (ie le Cortex-Une gamme) dans le sens où il est un processeur, mais avec quelques morceaux manquants. Vous ne trouverez pas un microcontrôleur utilisant un GPU, ni une unité de gestion de mémoire complexe (MMU), pour adressage virtuel. Ils fonctionner normalement à des vitesses de l'ordre de 100MHz (ou moins) et ils ont seulement quelques kilo-octets de mémoire.

Showdown: Raspberry Pi 2 vs ...
  • Quel est l'Internet mince ...
  • Raspberry Pi 2 - Passez en revue!
  • Alors, quels sont-ils? Fondamentalement, pour tous les emplois qui sont en dessous d'un microprocesseur complet soufflé. Par exemple, l'affichage sur un four ou les circuits de commande de votre machine à laver utilisent un microcontrôleur, plutôt que d'un microprocesseur. Certains dispositifs portables, comme le FitBit, utilisation des microcontrôleurs, comme le font les divers dispositifs médicaux écran tactile. Vous les trouverez dans les voitures, dans les jouets, dans les ventilateurs de plafond, dans les écluses à puce, d'instruments de musique, et dans les systèmes de divertissement. En fait, la liste va juste encore et encore.

    Pour les amateurs et les développeurs, sans doute la zone la plus intéressante pour les microcontrôleurs à l'heure actuelle est l'internet des objets (IdO). La possibilité de connecter des appareils de tous les jours à l'Internet, et utiliser les données qu'ils envoient à prendre des décisions intelligentes.

    Toute personne ayant de l'expérience de programmation de haut niveau de l'école peut commencer à programmer un conseil mbed.

    Maintenant, vous pourriez penser que les microcontrôleurs sonnent assez complexe et inaccessible. Mais en réalité, ils ne sont pas. Grâce à Plate-forme mbed d'ARM vous pouvez mettre la main sur une petite planche avec un microcontrôleur sur elle pour environ 10 $ ou 12 $. Il ya même ensemble Kits de démarrage IdO qui fournissent des cartes microcontrôleur de réseau est activé, et le logiciel dont vous avez besoin pour commencer à envoyer les données des capteurs en place dans le nuage.

    Cortex-M

    Avant de poursuivre, il convient de mentionner les différents microcontrôleurs Cortex-M de la gamme ARM. Il ya 6 Cortex-M actuels microcontrôleurs Cortex-M0, M0 +, M1, M3, M4 et M7. Le M0 est le plus petit et le silicium pour la puce peut tenir sur la section transversale d'un cheveu!

    Comme vous allez jusqu'à la gamme des microcontrôleurs augmentent en complexité et la rapidité. Microarchitecture Le M3 comprend la spéculation et de la branche 32 bits matériel fossé, tandis que la M4 ajoute extensions DSP et la possibilité d'ajouter une unité à virgule flottante (FPU). Le M7 est le dernier microcontrôleur ARM et offre de meilleures performances et plus de fonctionnalités. Par exemple, il dispose de 2 fois la performance de DSP que le M4.

    comparer Cortex-M-diagramLG

    L'environnement de développement

    L'essentiel de la plate-forme mbed est que tout ce que vous avez besoin est un navigateur Web et une connexion USB pour commencer la programmation. L'environnement de développement est tout basé sur le Web. À partir de votre navigateur Web, vous pouvez écrire du code et le compiler pour vous donner un binaire. Lorsque vous branchez la carte dans votre ordinateur, via USB, il apparaîtra comme un lecteur flash. Pour copier votre programme à la carte tout ce que vous devez faire est de glisser-déposer le fichier binaire de vos téléchargements dossiers animent. Appuyez sur le bouton de réinitialisation sur votre conseil et votre programme commencera à fonctionner.

    La langue de la plate-forme mbed est C et C ++. Cela signifie que toute personne ayant l'expérience de programmation de haut niveau de l'école peut commencer à programmer un conseil mbed. Et vous ne devez pas vous inquiéter à propos de réinventer la roue, la plate-forme mbed fournit toute une gamme de bibliothèques afin que votre carte peut communiquer avec d'autres périphériques et avec le monde extérieur. Par exemple, il ya des bibliothèques pour réseautage, USB, écrans LCD affiche, audio, moteurs, actionneurs, capteurs, NFC, codes barres, DSP et ainsi de suite.

    mbed_compiler_import_blinky

    Si vous ne l'aimez les sons de développement via le web pour un projet à long terme, alors pas de problème. Tout le code et les bibliothèques peuvent également être exportés pour une utilisation par d'autres chaînes d'outils, y compris le compilateur GCC.

    Plus tard cette année ARM publiera la prochaine itération de sa plate-forme mbed qui comprendra mbed OS et le client mbed. mbed OS est un nouveau système d'exploitation conçu pour les appareils de l'IdO, qui leur permet de se connecter en toute sécurité au reste du monde. Il sera open source et est conçu spécifiquement pour Cortex-M de la gamme de microcontrôleurs ARM. Le Client mbed est un ensemble de bibliothèques de base qui permettront programmes OS mbed à être portés à des ordinateurs et des conseils Cortex-A basé sous Linux. En d'autres termes, vous pouvez développer une IdO ou un autre programme courant de réseau en utilisant OS mbed sur un Cortex-M microcontrôleur, et puis tout simplement (avec juste une recompilation rapide) le port à planches comme le Raspberry Pi ou l'ODROID C1.

    Les Conseils



    Au moment de l'écriture, il ya plus de 50 différents conseils mbed disponibles. Tout de simples planches Cortex-M0 base avec aucun des périphériques intégrés, aux conseils avec des écrans intégrés, des accéléromètres, réseau, connexion Wi-Fi. Il ya des panneaux avec la connectivité cellulaire, planches à Bluetooth et même un robot.

    Pour aider à vous donner une idée de ce qui est possible avec la plate-forme mbed je vais examiner quatre planches et de voir ce que chacun est capable de faire. Le premier conseil est le FRDM-KL25Z de Freescale.

    FRDM-KL25Z

    FRDM-KL25Z-795x447

    Le KL25Z utilise un Cortex-M0 + core cadencé une 48MHz, et comprend 16 Ko de RAM plus de 128 Ko de flash. Il est livré avec un haut-3 LED de couleur, un accéléromètre 3 axes et un capteur tactile capacitif. Cela en fait un grande planche de départ. Vous pouvez en prendre un pour seulement 13 $.

    Dans le monde de microcontrôleurs le programme plus simple que vous pouvez écrire en est une qui se met à clignoter une LED sur et en dehors. Il est équivalent au programme «Bonjour tout le monde" qui est si souvent utilisé pendant les cours pratiques des langages de programmation.

    Pour écrire le programme "Blinky" pour la la KL25Z, en fait de l'écrire pour presque tout conseil mbed, vous allez developer.mbed.org et connectez-vous. Cliquez sur le bouton "Compiler" en haut à droite de la page et d'attendre la fenêtre du compilateur pour l'ouvrir.

    En haut à droite de l'IDE, ci-dessus "Workspace détails", vous verrez votre appareil mbed actuellement sélectionné. Si ceci est la première fois que vous utilisez mbed alors il dira simplement "Aucun dispositif choisi." Cliquez dessus, puis cliquez sur "Ajouter plate-forme." Ce sera ensuite ouvrir la page des plates-formes sur le site Web de mbed.org. Cliquez sur le FRDM-KL25Z, puis sur «Ajouter à votre compilateur mbed." Retour au compilateur, cliquez sur le périphérique sélectionné à nouveau (ou "Aucun périphérique sélectionné") et cliquez sur FRDM-KL25Z. Dernière étape, cliquez sur "Select Platform."

    mbed_compiler_select-kl25z

    Pour obtenir le code source de l'exemple blinky, cliquez sur l'icône Importer de la barre d'outils. Recherchez et sélectionnez mbed_blinky, puis cliquez sur "Importer"! Une fois l'importation terminée, vous verrez le programme C suivant:

    #include "mbed.h" DigitalOut myled (LED1) -int main () {while (1) {myled = 1-attente (0,2) -myled = 0-attente (0,2) -}}

    La ligne DigitalOut myled (LED1) - définit une variable appelée myled qui est lié directement à un broches sur la carte. La goupille dans ce cas est LED1, qui, comme vous l'avez déjà deviné est la LED. Parce mbed sait au sujet du conseil, cela est suffisant à ce moment, vous ne devez pas savoir exactement qui il est broches. Lorsque vous achetez la carte que vous aurez une petite carte avec toutes les broches figurant.

    Le reste du code est simple. Le programme entre dans une boucle infinie et à plusieurs reprises ensembles myled à 1, puis une pause, puis la met à 0, puis une pause et ainsi de suite. Ceci, bien sûr, rend le flash LED.

    Pour compiler le programme, cliquez sur "Compiler" dans la barre d'outils, puis faites glisser et déposez le fichier résultant .bin à la carte. Appuyez sur le bouton de réinitialisation et le programme va commencer à courir.

    Nordic nRF51822

    Nordic nRF51822



    Le nRF51822 utilise le microcontrôleur Cortex-M0 cadencé à 16MHz seulement et comprend 16K de RAM, plus de 128K flash. En termes de performance, qui pourrait sembler comme un pas en arrière par rapport à la KL25Z, mais le nRF51822 est particulière en ce qu'elle a intégré Bluetooth 4.1 et inclut un logement de la batterie de sorte que le conseil d'administration peut être alimenté de façon indépendante par une seule 2 032 pièces de monnaie -cell batterie. Le Cortex-M0 est conçu pour l'utilisation de l'énergie plus bas possible et est donc idéal pour les applications Bluetooth autonomes.

    Et cela est où Android est important, comme un FitBit ou d'autres dispositifs portables, ce conseil est le bloc de construction parfait pour un appareil qui communique avec un téléphone Android via Bluetooth Low Energy (BLE).

    Un des exemples de programmes donnés sur le site mbed est une Bluetooth Low Energy cardiofréquencemètre. Le programme configure la carte d'envoyer des (faux) battre le cœur des informations en utilisant le profil Bluetooth standard. Il est en fait assez simple d'ajouter un moniteur de rythme cardiaque réel. Pour le tester, vous pouvez utiliser un programme comme BLE Scanner de pixels Perception. Le scanner recherche des périphériques BLE à portée de votre téléphone, puis de vous permettre d'accéder à l'information que le conseil transmet, dans ce cas, un (faux) battement de coeur.

    Comment vous lever et courir avec l'exemple BLE est très similaire à la façon dont vous obtenez blinky course. Vous devez vous assurer que vous avez les nRF51822 sélectionnés comme votre plate-forme, et vous avez besoin d'importer le programme de BLE_HeartRate. Une fois que le programme a été compilé et chargé sur votre conseil, commencer l'application du scanner BLE sur votre téléphone Android et de regarder pour le périphérique. Il sera appelé "HRM1."

    mbed LPC1768 + carte d'application

    LPC1768 + demande conseil-720p

    La LPC1768 ne ressemble pas beaucoup à l'extérieur, mais à l'intérieur il est tout à fait différente. Ainsi que arborant un processeur Cortex-M3, il a 32 Ko de mémoire et 512K de flash, mais plus important encore, il a un support intégré pour Ethernet et USB (comme un hôte ou un dispositif). La puissance de la LPC1768 peut être vu lorsque vous vous connectez à son carte d'application. Le conseil est livré avec un ensemble impressionnant de périphériques et de capteurs inclus un écran LCD 128x32 graphique, un connecteur Ethernet RJ45, un joystick à 5 directions, 2 x potentiomètres, un haut-parleur, d'un accéléromètre 3 axes, 2 x servo-têtes de moteur, un capteur de température, et une prise pour un Zigbee.

    Bien que vous ne seriez pas construire un produit fini autour de la carte d'application dans cette forme de prototype, il est certainement un bon tremplin pour la construction de quelque chose comme un dispositif IdO. Par exemple, vous pouvez utiliser le capteur de température sur le bord, avec la connexion Ethernet pour télécharger périodiquement la température actuelle de la pièce à un service de cloud comme ThingSpeak.

    Il serait également possible d'intégrer le conseil d'administration avec votre appareil Android, à nouveau en utilisant un service comme ThingSpeak. Vous pourriez écrire une application pour envoyer des commandes à votre LPC1768 pour effectuer des tâches d'automatisation de la maison, lui demander des données spécifiques à la sonde, ou même lui faire exécuter une tâche pour vous comme Tweet quelque chose ou envoyer un email. En fait, la seule limite est votre imagination.

    mbot

    mbot_Outrageous_Circuits-720p

    Si vous voulez quelque chose qui est un peu plus de plaisir que les dispositifs IdO, je vous recommande l'mbot des circuits Outrageous. Il est un robot activé mbed avec des capteurs réfléchissants, des LED et un buzzer. Lors de la première mise sous tension, mbot est chargé avec un logiciel qui fait danser sur une table sans tomber. Elle le fait par la lecture des deux capteurs réfléchissantes sur le devant. Si elle détecte pas de réflexion, il sait qu'il est le bord d'une table et il sera de sauvegarde et de tour.

    Il en coûte seulement 30 $ et offre une excellente introduction à la programmation de microcontrôleurs. Circuits Outrageous fournissent tout le code source pour le programme par défaut et il fournit également une documentation complète, y compris des schémas, brochage et guides de pirates.

    Conclure

    Comme je l'ai mentionné plus tôt, il ya plus de 50 cartes disponibles que le soutien mbed. Ces quatre sont vraiment juste un bref aperçu de quelques-unes des choses que vous pouvez faire avec un Cortex-M microcontrôleur et la plate-forme mbed. Une fois que vous ajoutez dans la communication avec votre smartphone Android, ou la connectivité avec le nuage, puis les possibilités sont infinies.

    Avez-vous essayé mbed? Avez-vous une idée IdO soignée? S'il vous plaît laissez-nous savoir dans les commentaires ci-dessous.




    » » » mbed - Tout ce qu'il faut savoir