REVUE DE CONCEPTION DÉVELOPPEMENT...

2
REVUE DE CONCEPTION 20 eTech - NUMÉRO 5 Le chemin de la production : Phase 1 La plupart des nouveaux produits électroniques commencent avec une idée suivie d'une rapide connexion provisoire sur le banc pour tester la faisabilité. À ce stade, une carte de prototypage de type enfichable est souvent utilisée pour éviter d'avoir à souder ou fabriquer des circuits imprimés. Quand un tel système s'articule autour d'un microcontrôleur, les types plus complexes tels que les composants ARM posent le problème d'être uniquement disponibles dans des formats de montage en surface. Les modules DIP qui peuvent être connectés à une maquette sont disponibles depuis un certain temps pour les PIC et le Propeller, et ceux-ci sont maintenant complétés par l'ARM mbed présenté dans le numéro 4 d'eTech. Voici la base de cette rapide connexion provisoire : aucune interface robuste mais suffisamment de matériel pour évaluer l'aptitude du processeur à la tâche. Généralement, cela signifie : est-il assez rapide pour mon application de traitement en temps réel ? Le mbed est idéal pour cette étape de développement. Le chemin de la production : Phase 2 Après avoir établi la viabilité de l'idée de départ, nous passons au matériel de support tel que les filtres anticrénelage pour les canaux ADC, la mise en tampon et la protection pour les canaux E/S tels que Ethernet, USB et CAN. La maquette semble maintenant plutôt encombrée et désordonnée et il peut y avoir des problèmes de bruit sur les longs fils pendants. C'est là qu'intervient l'EDP , en fournissant tous ces filtres, tampons et connecteurs sous la forme d'un unique système compact et modulaire. Il suffit de brancher le module mbed à un adaptateur ou un support EDP pour le rendre compatible avec la carte de base. Pour les besoins du projet, il peut être nécessaire de réaliser quelques connexions par cavalier avec des modifications mineures à votre programme mbed. Et c'est tout ! Le développement logiciel supplémentaire peut se faire comme avant, « in the clouds ». J'avais besoin d'accéder à un bus I2C pour le télémètre ultrasons et ceci n'a pas posé de problèmes grâce aux embases de « dérivation » E/S sur la carte de base EDP . Un module de commande de moteur MC1 fournit une interface vers le moteur c.c. à balais et l'alimentation EDP recommandée supporte le courant du moteur, bien qu'une alimentation supérieure puisse être directement branchée au MC1 si nécessaire. De Dr William Marshall, RS Components La plateforme RS de développement intégré (EDP) offre une voie alternative pour l'étape du prototype d'ingénierie d'un projet, qui permet des changements rapides et aisés de processeur pendant la phase de conception initiale ou lors de mises à niveau ultérieures. DÉVELOPPEMENT INTÉGRÉ AVEC L'EDP

Transcript of REVUE DE CONCEPTION DÉVELOPPEMENT...

Page 1: REVUE DE CONCEPTION DÉVELOPPEMENT INTÉgRÉimg-europe.electrocomponents.com/uk/img/site/campaigns/eTech/EDP... · REVUE DE CONCEPTION eTech - NUMÉRO 5 21 Le chemin de la production

REVUE DECONCEPTION

20 eTech - NUMÉRO 5

Le chemin de la production : Phase 1La plupart des nouveaux produits électroniques commencent avec une idée suivie d'une rapide connexion provisoire sur le banc pour tester la faisabilité. À ce stade, une carte de prototypage de type enfichable est souvent utilisée pour éviter d'avoir à souder ou fabriquer des circuits imprimés. Quand un tel système s'articule autour d'un microcontrôleur, les types plus complexes tels que les composants ARM posent le problème d'être uniquement disponibles dans des formats de montage en surface. Les modules DIP qui peuvent être connectés à une maquette sont disponibles depuis un certain temps pour les PIC et le Propeller, et ceux-ci sont maintenant complétés par l'ARM mbed présenté dans le numéro 4 d'eTech. Voici la base de cette rapide connexion provisoire : aucune interface robuste mais suffisamment de matériel pour évaluer l'aptitude du processeur à la tâche. Généralement, cela signifie : est-il assez rapide pour mon application de traitement en temps réel ? Le mbed est idéal pour cette étape de développement.

Le chemin de la production : Phase 2Après avoir établi la viabilité de l'idée de départ, nous passons au matériel de support tel que les filtres anticrénelage pour les canaux ADC, la mise en tampon et la protection pour les canaux E/S tels que Ethernet, USB et CAN. La maquette semble maintenant plutôt encombrée et désordonnée et il peut y avoir des problèmes de bruit sur les longs fils pendants. C'est là qu'intervient l'EDP, en fournissant tous ces filtres, tampons et connecteurs sous la forme d'un unique système compact et modulaire. Il suffit de brancher le module mbed à un adaptateur ou un support EDP pour le rendre compatible avec la carte de base. Pour les besoins du projet, il peut être nécessaire de réaliser quelques connexions par cavalier avec des modifications mineures à votre programme mbed. Et c'est tout ! Le développement logiciel supplémentaire peut se faire comme avant, « in the clouds ». J'avais besoin d'accéder à un bus I2C pour le télémètre ultrasons et ceci n'a pas posé de problèmes grâce aux embases de « dérivation » E/S sur la carte de base EDP. Un module de commande de moteur MC1 fournit une interface vers le moteur c.c. à balais et l'alimentation EDP recommandée supporte le courant du moteur, bien qu'une alimentation supérieure puisse être directement branchée au MC1 si nécessaire.

De Dr William Marshall, RS Components

La plateforme RS de développement intégré (EDP) offre une voie alternative pour l'étape du prototype d'ingénierie d'un projet, qui permet des changements rapides et aisés de processeur pendant la phase de conception initiale ou lors de mises à niveau ultérieures.

DÉVELOPPEMENT INTÉgRÉAVEC L'EDP

Page 2: REVUE DE CONCEPTION DÉVELOPPEMENT INTÉgRÉimg-europe.electrocomponents.com/uk/img/site/campaigns/eTech/EDP... · REVUE DE CONCEPTION eTech - NUMÉRO 5 21 Le chemin de la production

REVUE DE CONCEPTION

eTech - NUMÉRO 5 21

Le chemin de la production : Phase 3À un certain point, les limitations du système de développement deviendront évidentes. La limitation la plus claire est le manque d'outils de débogage, et vous réaliserez peut-être alors que révéler tout votre code à vos concurrents via le web risque de pénaliser votre société ! La prochaine étape consiste à remplacer le mbed et son support par le module EDP LPC1768. La nouvelle unité possède un certain nombre d'options de cavalier à réaliser en fonction des cartes d'application périphériques présentes. Une fiche pour carte mémoire micro-SD est fournie avec une embase de programmation pour l'IDE de Keil μVision. Si vous possédez déjà le système Keil avec son « dongle de débogage » μLink, vous pouvez commencer immédiatement. Sinon, il vous faudra acheter un dongle auprès de RS séparément. L'avantage c'est qu'il peut être utilisé avec toutes les cartes ARM EDP. Une version gratuite de μVision avec un code limité peut être téléchargée à partir du site Keil.

Le listing 1 est la version EDP de notre programme d'évitement des objets. Comparez-le avec le listing du programme mbed présenté dans eTech 4. La différence principale, à part les noms différents pour les routines de driver de périphérique, est la structure orientée objet C++ du programme mbed par rapport au simple code C de l'EDP. Le programme mbed était plus court car tous les fichiers de driver étaient appelés par une seule instruction « Include » : mbed.h. Les étapes d'initialisation étaient aussi cachées à l'utilisateur. Vous pouvez voir que cette translation de mbed à EDP ne va pas être particulièrement difficile quand vous aurez maîtrisé le nouvel environnement sophistiqué IDE avec toutes ses fonctions de gestion de projet et de débogage. Notez cependant que les fonctions de port COM telles que « printf » fonctionnent maintenant avec le canal RS-232 via un module de communication de base EDP. Ce dernier fournit également une mise en tampon, une protection et des connexions USB, CAN, RS-485 et RS-232. L'Ethernet est disponible sur un connecteur de la carte de base.

ProductionEnfin, si la maquette est destinée à une application à faible volume spécialisée qui ne justifie pas une carte sur mesure, pourquoi ne pas

simplement fournir au client une solution basée sur EDP ? Les cartes sont robustes et des trous de fixation sont prévus pour monter les modules sur la carte de base.

Potentiel évolutifVoilà bien une expression bateau. Dans le cas d'EDP, elle signifie que les composants supprimés ou obsolètes (généralement les puces du processeur) peuvent être retirés et remplacés par des types plus récents, sans changer le reste de votre prototype développé. Et vous apprécierez le temps gagné en réutilisant votre précieux logiciel, qui fonctionnera encore quand il sera recompilé pour le nouveau processeur en utilisant les drivers de bas niveau fournis.

Il est également possible d'essayer différents processeurs lors de la phase de développement. Pourquoi ne pas utiliser

un Cortex-M3, Cortex-M0, ARM 7, ARM 9 différent ou peut-être un XC167 optimisé pour le traitement rapide en temps réel ? Le module de support enfichable offre la possibilité d'évaluer des dsPIC ou des PIC32. EDP n'est pas bon marché, mais il est construit pour durer. Les connecteurs de module sont certifiés pour de nombreuses insertions/extractions par exemple. Et après l'investissement initial, les ajouts futurs reviendront beaucoup moins cher qu'un nouveau kit de développement complet. De plus, il ne faut pas oublier le temps gagné à ne pas réinventer la roue.

/* *************************************************************************//* Programme de test d'évitement des collisions robotique pour le module EDP LPC1768 WGM 10/2010 *//* Projet développé avec l'outil de développement et le compilateur Keil uVision 4 *//* ************************************************************************/

#include <lpc17xx.h>#include “misra_types.h” /* Définitions des types MISRA */#include “defines.h” /* Définitions EDP générales */#include “Slave_Address_Defines.h” /* Adresses des esclaves I2C EDP */#include “Portst.h” /* Structure des ports E/S */#include “i2C0.h” /* Driver de bas niveau I2C0 */#include “I2C0_MASTER.h” /* Fonctions maîtres I2C */#include “timer1.h” /* Driver, délai timer 1 */#include “UART0.h” /* Driver bas niveau UART0 */#include “Terminal.h” /* Fonctions terminales série */#include “delays.h” /* Délais logiciels */#include “MC1.h” /* Fonctions du module moteur */

uint8_t cmd[2] = {0u,0u}; /* Buffer de commande I2C */uint8_t echo[2] = {0u,0u}; /* Buffer des résultats du sonar I2C */uint16_t range = 0u;

sint32_t main (void) { SystemInit(); /* Initialisation du MCU de base */ setup_TIMER1(1u); /* Définit un incrément d'attente de 1ms */ setup_ports_default(); /* Définit les E/S pour la carte EDP */ setup_I2C0_Master_Mode(); /* Initialise le bus I2C */ MC1_Configure_Hardware(); /* Définit le module MC1 EDP */ UART0Init(115200u,8u,NO_PARITY,1u); /* Définit le canal COM */

// Configure la portée max. du SRF08 et la sensibilité du récepteur sur le bus I2C cmd[0] = 0x02u; /* Registre de portée */ cmd[1] = 0x1Cu; /* Règle la portée maximale à environ 100 cm */ I2C0_Master_Mode_Transmit(SRF08_addr, cmd, 2u); cmd[0] = 0x01u; /* Registre de portée du récepteur */ cmd[1] = 0x1Bu; /* Définit le gain du récepteur */ I2C0_Master_Mode_Transmit(SRF08_addr, cmd, 2u); while(1) { /* Boucle principale du programme */ // Détermine les données de portée à partir de SRF08// Envoie la commande à train d'onde Tx via le bus I2C cmd[0] = 0x00u; /* Registre de commande */ cmd[1] = 0x51u; /* Résultats de sélection de plage en cm */ I2C0_Master_Mode_Transmit(SRF08_addr, cmd, 2u); /* Envoie un train d'onde de sélection de plage */

delay_ms(70u); /* Attend l'écho */

// Répète la portée via le bus I2C cmd[0] = 0x02u; /* Adresse du premier écho */ I2C0_Master_Mode_Transmit(SRF08_addr, cmd, 1u);/* Envoie l'adresse */ I2C0_Master_Mode_Receive(SRF08_addr, echo, 2u);/* Lit l'écho résultant */

// Génère le rapport marque/espace PWM à partir des données de portée range = (echo[0]<<8u)+echo[1]; MC1_Set_Motor_Speed(100u-range); /* Met à jour le rapport (0->100) */ rs232_printf(“PWM = %d\r”,range,3u); /* Affiche le rapport PWM sur le PC */ delay_ms(100u); /* Attend 100ms */ }}

Listing 1

Toujours plus en ligne...Téléchargez le listing du programme et lisez l'article mbed précédent du numéro 4 d'eTech sur www.rsonline.be/etech

Liste des composants N° de stockCarte de base 4 canaux EDP 460-285

Module de commande LPC1768 EDP 703-9229

Module support mbed EDP 703-9235

Module LPC1768 ARM mbed 703-9238

Module de communication EDP 460-310

Module de commande de moteur MC1 EDP 460-304

Dongle de programmation/débogage 703-9241