8 bits et au-delà : entretien avec Tam Hanna (extraits)
22 avril 2020
sur
sur
Si vous voulez construire des applications de l'internet des objets, il est bon de maîtriser les microcontrôleurs à 8 bits. Avec son nouveau livre Microcontroller Basics with PIC , l'auteur Tam Hanna offre une excellente source de connaissances aux électroniciens. Dans cet entretien, il nous fait part de ses réflexions sur les micrcontrôleurs (µC) et sur d'autres sujets qui lui tiennent à coeur.
Tam Hanna : Parce que les contrôleurs à 8 bits offrent une ouverture fascinante sur le monde de l'électronique programmée. Si vous comprenez ce qui se passe dans un µC à 8 bits, la description de l'architecture d’un RISC-V sera plus facile à saisir. Gamin, j'ai commencé ma carrière par le livre L'électronique - pas de panique (hélas épuisé en français). Je suis honoré de rendre la pareille.
À bien des égards, la situation à laquelle sont confrontés les jeunes électroniciens aujourd'hui est différente. Certes, la disponibilité de systèmes comme Python leur facilite les choses, mais je rencontre des gens qui se heurtent à un mur, car il leur manque les bases de l'électronique. Avec son format de 8 bits, un microcontrôleur rudimentaire peut être entièrement compris au niveau de l'assembleur. Cette connaissance intime peut ensuite être transférée à des architectures beaucoup plus complexes. Comme j'utilise encore beaucoup le PIC pour des études de produits que je vends, j'ai eu l'impression qu'il fallait un livre.
Elektor : Pour qui l’avez-vous écrit ? Pour profiter de la lecture de ce livre, faut-il savoir programmer en C ?
Hanna : Je ne m'inquiète pas des compétences en programmation C. Le C a une mauvaise réputation, car il est facile de se blesser avec. Comme un certain bombardier supersonique (TU-22) enclin à inverser les commandes lorsqu'il était piloté de manière agressive, mais je m’égare.
Je me préoccupe plus du niveau de connaissances en génie électrique. Si vous ne connaissez pas au moins les bases de l'électronique analogique sur lesquelles repose l’électronique numérique, si vous ne comprenez pas la loi d'Ohm, vous aurez des problèmes avec les µC et leur programmation.
Elektor : Qu'est-ce qui vous a le plus plu dans l'écriture Les bases du microcontrôleur avec le PIC ?
Hanna : Lorsque je me suis inscrit à SourceForge, le site m'a demandé de remplir un questionnaire d'auto-évaluation. C’est là que je me suis aperçu qu’il me fallait écrire un livre sur ce sujet. Écrire ce livre m'a permis de trier rigoureusement les connaissances recueillies au cours de ma carrière et m’a fourni l’occasion de recycler une part de cette expérience pour aider les autres.
Elektor : Quelle a été la partie la plus difficile de l'écriture du livre ?
Hanna : Savoir m'arrêter. Je croyais m’adresser à une version plus jeune de moi-même, assis dans son labo, essayant d'acquérir ce supplément de compétences qui lui permettrait d’obtenir ce poste dans lequel il s’épanouirait. J’avais tellement de choses utiles à lui dire, pas seulement sur les µC, aussi sur l'électrotechnique en général et sur l’équipement. Il a fallu m’imposer le silence, sinon je serais encore en train d’écrire, et aucun lecteur n’en profiterait jamais. Mon éditeur m’a habilement amadoué avec l'espoir d'une deuxième édition augmentée.
Hanna : Les µC à 32 bits sont de moins en moins chers, d’accord. Mais avons-nous toujours besoin de la performance des 32 bits ? Regardez ce qui s'est passé lorsque Java est passé en 64 bits. Dans de nombreux cas, les pointeurs plus longs ont entraîné une dégradation des performances du système. Surtout quand on recherche une faible consommation, le fait de devoir alimenter 32 cellules de mémoire au lieu de huit pour stocker un pointeur fait la différence.
Elektor : Puisque les 8 bits restent d'actualité, qu’aimez-vous dans la famille des PIC ?
Hanna : La simplicité. Ce n'est pas une coïncidence si Massimo Banzi a choisi l'AVR pour Arduino Uno, un 8 bits optimisé pour les besoins des compilateurs C. Le PIC a été conçu pour être programmé à la main. Son architecture interne est donc parfaitement adaptée à l'apprentissage et à l’enseignement.
En raison de sa très large diffusion, l'écosystème PIC est très mature. Les appareils de programmation sont très bon marché. La plupart des PIC sont disponibles en boîtier DIP. Les PC sont de plus en plus rapides et les compilateurs de plus en plus avancés, et Microchip Technology a fait beaucoup d'efforts pour rendre l'expérience de la programmation en C presque parfaite.
Elektor : Certains diront qu'un µC à 8 bits est difficile à programmer en C. Et vous ?
Hanna : Aucun outil ne peut satisfaire tout le monde. Si vous voulez exécuter un algorithme complexe, un microcontrôleur à 8 bits n'est probablement pas idéal. Vous n'aimerez pas ça non plus si vous êtes enclin à allouer généreusement la mémoire. Mais restons les pieds sur terre. Pour beaucoup si ce n’est pour la plupart des applications, la tâche à accomplir est assez simple. Dans ce cas, une petite routine C est forcément plus facile à gérer que l’assembleur, j’en conviens. Que celui qui craint de se sentir à l’étroit prenne donc un contrôleur plus puissant ou fasse appel aux ressources d'un ordinateur. Chacun son truc ! Mon point de vue est marqué par ma propre expérience. Regardez ce Palm VII. J’ai programmé avec ce truc qui avait moins de 2 Mo de mémoire, alors forcément...
Un nouveau livre sur les bases des µC
Elektor : Votre nouveau livre sur les bases des microcontrôleurs PIC aide le lecteur à comprendre et à programmer un microcontrôleur à 8 bits. Pourriez-vous éclaire votre choix de ce sujet ?Tam Hanna : Parce que les contrôleurs à 8 bits offrent une ouverture fascinante sur le monde de l'électronique programmée. Si vous comprenez ce qui se passe dans un µC à 8 bits, la description de l'architecture d’un RISC-V sera plus facile à saisir. Gamin, j'ai commencé ma carrière par le livre L'électronique - pas de panique (hélas épuisé en français). Je suis honoré de rendre la pareille.
À bien des égards, la situation à laquelle sont confrontés les jeunes électroniciens aujourd'hui est différente. Certes, la disponibilité de systèmes comme Python leur facilite les choses, mais je rencontre des gens qui se heurtent à un mur, car il leur manque les bases de l'électronique. Avec son format de 8 bits, un microcontrôleur rudimentaire peut être entièrement compris au niveau de l'assembleur. Cette connaissance intime peut ensuite être transférée à des architectures beaucoup plus complexes. Comme j'utilise encore beaucoup le PIC pour des études de produits que je vends, j'ai eu l'impression qu'il fallait un livre.
Elektor : Pour qui l’avez-vous écrit ? Pour profiter de la lecture de ce livre, faut-il savoir programmer en C ?
Hanna : Je ne m'inquiète pas des compétences en programmation C. Le C a une mauvaise réputation, car il est facile de se blesser avec. Comme un certain bombardier supersonique (TU-22) enclin à inverser les commandes lorsqu'il était piloté de manière agressive, mais je m’égare.
Je me préoccupe plus du niveau de connaissances en génie électrique. Si vous ne connaissez pas au moins les bases de l'électronique analogique sur lesquelles repose l’électronique numérique, si vous ne comprenez pas la loi d'Ohm, vous aurez des problèmes avec les µC et leur programmation.
Elektor : Qu'est-ce qui vous a le plus plu dans l'écriture Les bases du microcontrôleur avec le PIC ?
Hanna : Lorsque je me suis inscrit à SourceForge, le site m'a demandé de remplir un questionnaire d'auto-évaluation. C’est là que je me suis aperçu qu’il me fallait écrire un livre sur ce sujet. Écrire ce livre m'a permis de trier rigoureusement les connaissances recueillies au cours de ma carrière et m’a fourni l’occasion de recycler une part de cette expérience pour aider les autres.
Elektor : Quelle a été la partie la plus difficile de l'écriture du livre ?
Hanna : Savoir m'arrêter. Je croyais m’adresser à une version plus jeune de moi-même, assis dans son labo, essayant d'acquérir ce supplément de compétences qui lui permettrait d’obtenir ce poste dans lequel il s’épanouirait. J’avais tellement de choses utiles à lui dire, pas seulement sur les µC, aussi sur l'électrotechnique en général et sur l’équipement. Il a fallu m’imposer le silence, sinon je serais encore en train d’écrire, et aucun lecteur n’en profiterait jamais. Mon éditeur m’a habilement amadoué avec l'espoir d'une deuxième édition augmentée.
Le microcontrôleur 8 bits
Elektor : Pourquoi le microcontrôleur à 8 bits reste-t-il d'actualité ?Hanna : Les µC à 32 bits sont de moins en moins chers, d’accord. Mais avons-nous toujours besoin de la performance des 32 bits ? Regardez ce qui s'est passé lorsque Java est passé en 64 bits. Dans de nombreux cas, les pointeurs plus longs ont entraîné une dégradation des performances du système. Surtout quand on recherche une faible consommation, le fait de devoir alimenter 32 cellules de mémoire au lieu de huit pour stocker un pointeur fait la différence.
Elektor : Puisque les 8 bits restent d'actualité, qu’aimez-vous dans la famille des PIC ?
Hanna : La simplicité. Ce n'est pas une coïncidence si Massimo Banzi a choisi l'AVR pour Arduino Uno, un 8 bits optimisé pour les besoins des compilateurs C. Le PIC a été conçu pour être programmé à la main. Son architecture interne est donc parfaitement adaptée à l'apprentissage et à l’enseignement.
En raison de sa très large diffusion, l'écosystème PIC est très mature. Les appareils de programmation sont très bon marché. La plupart des PIC sont disponibles en boîtier DIP. Les PC sont de plus en plus rapides et les compilateurs de plus en plus avancés, et Microchip Technology a fait beaucoup d'efforts pour rendre l'expérience de la programmation en C presque parfaite.
Elektor : Certains diront qu'un µC à 8 bits est difficile à programmer en C. Et vous ?
Hanna : Aucun outil ne peut satisfaire tout le monde. Si vous voulez exécuter un algorithme complexe, un microcontrôleur à 8 bits n'est probablement pas idéal. Vous n'aimerez pas ça non plus si vous êtes enclin à allouer généreusement la mémoire. Mais restons les pieds sur terre. Pour beaucoup si ce n’est pour la plupart des applications, la tâche à accomplir est assez simple. Dans ce cas, une petite routine C est forcément plus facile à gérer que l’assembleur, j’en conviens. Que celui qui craint de se sentir à l’étroit prenne donc un contrôleur plus puissant ou fasse appel aux ressources d'un ordinateur. Chacun son truc ! Mon point de vue est marqué par ma propre expérience. Regardez ce Palm VII. J’ai programmé avec ce truc qui avait moins de 2 Mo de mémoire, alors forcément...
Poursuivez votre lecture sur la page suivante : Électronique et cigares
Lire l'article complet
Hide full article
Discussion (0 commentaire(s))