Liaison Bluetooth - La licence pro VEGA
Transcription
Liaison Bluetooth - La licence pro VEGA
Bluetooth VEGA Sujet du projet: Conception d'une liaison Bluetooth Professeur responsable : Chrétien Éric Etudiant licence professionnelle VEGA : Rocher Jérémy Boutserin Antoine 1/32 Bluetooth VEGA Sommaire I/ Introduction: ..................................................................................................................................... 3 Réseaux sans fils ........................................................................................................................ 3 Introduction BUS CAN: ............................................................................................................. 5 Module Bluetooth utilisé: FB755AS .......................................................................................... 6 II/ Objectif du projet ............................................................................................................................ 7 III/ Gantt ............................................................................................................................................... 8 IV/ Cahier des charges ......................................................................................................................... 9 V/ Conception de la carte ................................................................................................................... 10 VI/ Réalisation de la première carte prototype .................................................................................. 11 Schéma............................................................................................................................. 11 Typon: ..............................................................................................................................13 VII/ Problème rencontré..................................................................................................................... 14 VIII/ Conception du deuxième prototype .......................................................................................... 15 Carte émission .......................................................................................................................... 15 Schéma: ...........................................................................................................................15 Typon: ..............................................................................................................................18 Carte réception ......................................................................................................................... 19 Schéma: ...........................................................................................................................19 Typon: ..............................................................................................................................20 IX/ Problème rencontré à la réalisation du second prototype ............................................................ 20 X/Utilisation des modules Bluetooth ................................................................................................. 21 Option de configurations .......................................................................................................... 21 Authentification ...............................................................................................................21 Les modes de connexion..................................................................................................21 Paramètre UART .............................................................................................................22 Procédure pour établir une liaison Bluetooth avec un FB755 et un autre appareil Bluetooth . 23 Procédure pour connecter deux FB755 entre eux .................................................................... 24 Problème survenue pour la connexion des modules ................................................................ 26 XI/ Programmation des PICs ............................................................................................................. 27 Programme d'émission ............................................................................................................. 27 Le Main............................................................................................................................27 L'initialisation ..................................................................................................................27 L'envoi .............................................................................................................................27 Programme.......................................................................................................................28 Programme de réception ........................................................................................................... 29 Le Main............................................................................................................................29 L'initialisation ..................................................................................................................29 La réception .....................................................................................................................29 Le CAN............................................................................................................................29 Programme.......................................................................................................................29 Conclusion ......................................................................................................................................... 32 2/32 Bluetooth VEGA I/ Introduction: Réseaux sans fils WPAN: Le réseau personnel sans fil (appelé également réseau individuel sans fil ou réseau domestique sans fil et noté WPAN pour Wireless Personal Area Network) concerne les réseaux sans fil d'une faible portée : de l'ordre de quelques dizaines de mètres. Ce type de réseau sert généralement à relier des périphériques (imprimante, téléphone portable, appareils domestiques, ...) ou un assistant personnel (PDA) à un ordinateur sans liaison filaire ou bien à permettre la liaison sans fil entre deux machines très peu distantes. Il existe plusieurs technologies utilisées pour les WPAN. Bluetooth: Bluetooth est une spécification de l'industrie des télécommunications. Elle utilise une technique radio courte distance destinée à simplifier les connexions entre les appareils électroniques. Elle a été conçue dans le but de remplacer les câbles entre les ordinateurs et les imprimantes, les scanneurs, les claviers, les souris, les manettes de jeu vidéo. Le système Bluetooth opère dans les bandes de fréquences ISM. Cette bande de fréquences est comprise entre 2 400 et 2 483,5 MHz. Un mini-réseau qui se crée de manière instantanée et automatique quand plusieurs périphériques Bluetooth sont dans un même rayon. Ce réseau est organisé selon une topologie en étoile : il y a un « maître » et plusieurs « esclaves ». Un périphérique « maître » peut administrer jusqu'à : -7 esclaves « actifs » -255 esclaves en mode « parked » La communication est directe entre le « maître » et un « esclave ». Les « esclaves » ne peuvent pas communiquer entre eux. Tous les « esclaves » du réseau sont synchronisés sur l'horloge du « maître ». C'est le « maître » qui détermine la fréquence de saut pour tout le réseau. Les périphériques « esclaves » peuvent avoir plusieurs « maîtres » : les différents piconets peuvent donc être reliés entre eux. Le réseau ainsi formé est appelé un scatternet (littéralement réseau dispersé). 3/32 Bluetooth VEGA Wi-Fi, IEEE 802.11: Wi-Fi permet des transmissions à moyenne distance (quelques mètres) à un débit suffisant pour connecter un ordinateur individuel. Il existe maintenant deux niveaux de transmission : 802.11b : 11 Mbit/s, 802.11g : 54 Mbit/s, Dans la théorie, 54 Mbit/s c'est la moitié de la vitesse d'une liaison Ethernet filaire classique (100 Mbit/s), dans la pratique, la vitesse de transmission est dégradée par la distance à parcourir, la disposition des lieux et la présence éventuelle d'autres émetteurs. Le débit constaté, généralement 2 à 4 fois plus faible, reste toutefois très supérieur aux liaisons avec Internet (512 kBit/s à 2 Mbit/s) et est suffisant pour transmettre des données de volume moyen sans problème. L'utilisation du Wi-Fi se justifie partout où l'on ne souhaite pas installer de câbles : salles de réunion, lieux publics, locaux temporaires, domiciles... Zigbee: La spécification initiale de ZigBee propose un protocole lent dont le rayon d’action est relativement faible, mais dont la fiabilité est assez élevée, le prix de revient faible et la consommation considérablement réduite. On retrouve donc ce protocole dans des « environnements embarqués » où la consommation est un critère de sélection. Ainsi, la domotique et les nombreux capteurs et télécommandes qu’elle implémente apprécie particulièrement ce protocole en plein essor et dont la configuration du réseau maillée se fait automatiquement en fonction de l’ajout ou de la suppression de nœuds. On retrouve aussi ZigBee dans les contrôles industriels, les applications médicales, les détecteurs de fumée et d’intrusion et dans la télécommande de la freebox v6. Les nœuds sont conçus pour fonctionner plusieurs mois (jusqu’à dix ans pour les plus économes) en autonomie complète grâce à une simple pile alcaline de 1,5 V. WiMax (Worldwide Interoperability for Microwave Access), IEEE 802.16 WiMax est une des technologies de BLR (Boucle Locale Radio). C'est une norme de transmission à plus grande distance que Wi-Fi (10 km) et à bonne pénétration dans les locaux. Elle nécessite toutefois une infrastructure assez lourde. Elle n'est pas vraiment concurrente du Wi-Fi, dont les équipements sont beaucoup moins coûteux, ni des liaisons de type filaire ADSL (Asymetric Digital Subscriber Line), également beaucoup moins coûteuses lorsqu'il existe une ligne téléphonique de bonne qualité. L'utilisation du Wi-Max se justifie pour connecter des locaux situés dans des régions à faible densité de population. 4/32 Bluetooth VEGA Tableau comparatif: Protocole Zigbee Bluetooth Wi-Fi IEEE 802.15.4 802.15.1 802.11a/b/g/n/n Besoins mémoire 4-32 Kb 250 Kb + 1 Mb + Autonomie avec pile Années Mois Heures Nombre de nœuds 65 000+ 7 32 Vitesse de transfert 250 Kb/s 1 Mb/s 54 Mb/s Portée 100 m 50 m 300 m Introduction BUS CAN: Le bus CAN (Controller Area Network) est un bus système série, Il est surtout utilisé dans le secteur de l'automobile. Il fut présenté avec Intel en 1985. Le bus CAN est une application d'une approche connue sous le nom de multiplexage et qui consiste à raccorder à un même câble (un bus) un grand nombre de calculateurs qui communiqueront donc à tour de rôle. Cette technique élimine le besoin de câbler des lignes dédiées pour chaque information à faire transiter (connexion point-à-point). Dès qu'un système (voiture, avion, réseau téléphonique…) atteint un certain niveau de complexité, l'approche point-à-point devient impossible du fait de l'immense quantité de câblage à installer et de son coût (en masse, matériaux, main d'œuvre). L'introduction des bus multiplexés (principalement le CAN) dans l'automobile avait pour objectif de réduire la quantité de câbles dans les véhicules (il y a jusqu'à 2 km de câbles par voiture), mais elle a surtout permis l'explosion du nombre de calculateurs et capteurs distribués dans tout le véhicule, et des prestations correspondantes (baisse de consommation, dé-pollution, sécurité active/passive, confort, détection des pannes…), tout en n'augmentant pas trop les longueurs câblées. Pour le CAN High Speed, la norme ISO 11898-2 recommande les vitesses suivantes en fonction de la longueur de bus et des charges capacitives : 1 Mbit/s → 60 m 500 Kbit/s → 150 m 100 Kbit/s → 1000 m 20 Kbit/s → 1200 m 5/32 Bluetooth VEGA Module Bluetooth utilisé: FB755AS Capable de gérer des communications Bluetooth™ conformément aux spécifications v2, le Firmware de base chargé dans le "FB755AS" lui permet de supporter le protocole de communication SPP (Serial Port Profile). Avec ce protocole, toutes les données arrivant sur le port série du "FB755AS" seront automatiquement transférées de façon transparente au périphérique connecté sur la liaison Bluetooth™. La communication étant bien évidement bi-directionnelle. Différentes applications possible : Caractéristiques du module : 6/32 Bluetooth VEGA II/ Objectif du projet Notre projet consiste à concevoir une liaison bluetooth à partir d'un module fourni, le 755AS de firmtech, et à l'intégrer dans une application automobile. Les véhicules embarquent de plus en plus de fonctions électroniques ce qui multiplie le nombre de câbles dans tout le véhicule et augmente la taille des faisceaux électriques. L'objectif du bluetooth étant de remplacer les câbles électriques par un réseau sans fil, il semble intéressant de relier différentes fonctions du véhicule par l'intermédiaire d'une liaison bluetooth. Ceci permettrait donc de limiter l'encombrement dû au câble donc dans une certaine mesure réduire le poids et le coût d'une fonction électronique, cela permettrait également de pouvoir commander certaines fonctions du véhicule via un appareil bluetooth quelconque tel un téléphone mobile, PDA ou un ordinateur. 7/32 Bluetooth VEGA III/ Gantt Nous avons organisé un Gantt afin de préparer nos taches en fonction des cours et du travail à fournir. Nous avons commencé par rechercher les schémas et le fonctionnement souhaité des cartes en concevant un prototype afin de permettre de rectifier les erreurs avant la date de fin. Première Partie du projet : Deuxième Partie du projet : 8/32 Bluetooth VEGA IV/ Cahier des charges - Les cartes doivent être alimentées en 12V, tension de la batterie d'une voiture, une régulation de tension est donc nécessaire pour l'adapter en 5V pour les composants électroniques. - Le module Bluetooth doit être alimenté en 3,3V, une régulation de tension est donc nécessaire. - Une adaptation de tension est nécessaire entre le PIC (5V) et le module Bluetooth (3,3V), l'utilisation de portes logiques à collecteur ouvert est donc nécessaire. - Des LEDs et des boutons poussoirs sont ajoutés à la carte de façon à pouvoir assurer le développement logiciel ainsi que le débogage. - Programmation par Bootloader via une liaison RS232. - Un système de switch est utilisé pour interfacer la liaison RS232 et ainsi avoir le choix entre les liaisons : PC <=> PIC PC <=> Bluetooth PIC<=> Bluetooth - Pour la carte réception une interface CAN est nécessaire afin de dialoguer avec le véhicule. 9/32 Bluetooth VEGA V/ Conception de la carte Nous avons conçu une carte d'émission qui enverrait des informations à l'autre carte de réception en Bluetooth afin de pouvoir envoyer des commandes sur une voiture et envisager de remplacer la carte d'émission par un appareil Bluetooth comme un téléphone portable. Pour concevoir la carte d'émission on doit utiliser plusieurs composants spécifiques : Pic16F886 Utilisé pour commande exécuter des programmes à émettre d'une Max232 Transformer le signal PC en signal pour le Pic16F Port série 232 Crée une connexion entre la carte Bluetooth et un PC Bouton Utiliser des commandes et des programmes par l'utilisateur Led Tester des programmes ou ultérieurement les utiliser pour visualiser les états de connexion Pour concevoir la carte de réception on doit utiliser plusieurs composants spécifiques : Pic18F458 Utilisé pour exécuter des programmes a émettre d'une commande Max232 Transformer le signal PC en Signal pour le Pic18F458 Port série 232 Crée une connexion entre la carte Bluetooth et un PC et un deuxième pour connecter le CAN Bouton Utiliser des commandes et des programmes par l'utilisateur Led Tester des programmes ou ultérieurement les utiliser pour visualiser les états de connexion MCP2551 Transformer le signal du PIC en signal pour le réseau CAN 10/32 Bluetooth VEGA VI/ Réalisation de la première carte prototype Cette première carte était conçue pour que tous les composants actifs soient alimentés en 3,3V afin de ne pas avoir un étage pour adapter la tension entre les différents composants. Schéma Alimentation 3,3V avec un LF33: Mise en œuvre du micro contrôleur : PIC 16F886 et le bouton reset 11/32 Bluetooth VEGA Module Bluetooth: FB755AS Liaison RS232 : MAX3232 Connecteur DB9 Switch de communication PIC RS232 : <=> PC Bluetooth<=> PC Bluetooth<=> PIC Interface de débogage : 12/32 Bluetooth VEGA Typon: Coté top: Coté bottom: 13/32 Bluetooth VEGA VII/ Problème rencontré Nous avons passé beaucoup de temps à déboguer cette première carte prototype, en effet nous ne pouvions programmer le PIC car celui ci n'était pas détecté par l'ordinateur. Nous avons donc effectué plusieurs tests afin de trouver la cause de ce problème: -Vérification des alimentations -Vérification du câblage -Vérification des pistes de toute la liaison série -Vérification du MAX3232 (forme des signaux qu'il transmettait et recevait) Nous avons constaté que le Max ne recevait pas de signaux du PIC alors que celui ci était bien alimenté et bien câblé. Nous avons donc pensé que le PIC était mal bootloadé alors nous l'avons rebootloadé, notre carte nous permettait de bootloader le PIC directement depuis la carte. Notre problème étant toujours présent nous avons donc testé un autre PIC16f886, la seule différence que nous avions entre les 2 pics était que l'un était traversant, l'autre CMS. En testant le PIC traversant sur plaque de test nous avons constaté qu'il ne fonctionnait qu'à partir d'une tension d'alimentation de 5V. Il semblerait donc que certaine série de PIC16F886 ne fonctionnerait qu'en 5V malgré une documentation qui donne une plage de tension entre 2 et 5,5V. 14/32 Bluetooth VEGA VIII/ Conception du deuxième prototype Nous avons donc conçu un deuxième prototype de carte émission et une autre carte réception. La carte émission est donc basée sur le schéma du premier prototype mais en n'utilisant que des composants traversants et en 5V sauf pour le module bluetooth qui n'accepte que du 3,3V. Il y a donc un étage d'adaptation de tension 5V / 3,3V réalisé grâce à une porte logique à collecteur ouvert, le 7407. Carte émission Schéma: Alimentation: 3,3V LF33 et un 7805 avec un 5V avec Mise en œuvre du micro contrôleur : PIC 16F886 et le bouton reset 15/32 Bluetooth VEGA Module Bluetooth FB755AS Adaptation des signaux 5V et 3,3V Porte logique à collecteur ouvert 7407 Liaison RS232 : MAX3232 Connecteur DB9 16/32 Bluetooth VEGA Switch de communication RS232 : PIC <=> PC Bluetooth<=> PC Bluetooth<=> PIC Interface de débogage : 17/32 Bluetooth VEGA Typon: Coté TOP: Coté Bottom: 18/32 Bluetooth VEGA Carte réception La carte réception possède un PIC18F458 à la place du PIC16F886 pour avoir une interface CAN en plus des mêmes fonctions que la carte émission, pour réaliser l'interface PIC<=> CAN nous utilisons un module qui réalise cette fonction, un MCP2551. Cette carte sera donc connectée au véhicule par l'intermédiaire de la liaison CAN et recevrait des commandes envoyées par la carte émission. Schéma: Mise en œuvre du PIC18F458 Mise en œuvre de la liaison CAN 19/32 Bluetooth VEGA Typon: Coté TOP: Coté Bottom: IX/ Problème rencontré à la réalisation du second prototype Notre gros problème est de faire fonctionner les 2 modules Bluetooth. En effet nous arrivons à communiquer avec chaque module grâce au PC pour les configurer. Mais nous ne trouvions pas la bonne configuration pour se connecter au module. Nous n'avons pas rencontré spécialement de problème matériel avec nos seconds prototypes excepté l'oubli du quartz pour la carte de réception. 20/32 Bluetooth VEGA X/Utilisation des modules Bluetooth Option de configurations Authentification Le module Bluetooth nécessite un temps de préparation avant de s'appairer pour une connexion. L'authentification est la procédure qui certifie si la clé nécessaire pour l'appairage à été distribuée aux autres appareil Bluetooth. Les modes de connexion Connexion MODE1 - Fonction pour le maitre : Si « remote bd address » est “000000 000000” , il fera une requête aux périphériques Bluetooth pour une demande de connexion. La connexion sera effectuée lorsque le code PIN sera identique. Si « remote bd address », il fera une requête de connexion seulement au périphérique ayant cette adresse. - Fonction pour l'esclave : Si « remote bd address » est “000000 000000”, la connexion avec le périphérique Bluetooth est effectuée lorsqu'il a effectué le processus d'Inquiry Scan et le Page Scan. Si « remote bd address », permet une connexion avec le périphérique Bluetooth ayant la même adresse et seulement lors du processus de l'Inquiry Scan et le Page Scan. Connexion MODE2 - Fonction pour le maitre : Il effectue en permanence une requête au périphérique Bluetooth autour (recherche de connexion, Inquiry Scan), lorsqu'il en trouve un, il fait une requête de connexion (Page Scan). La connexion est effectuée lorsque le code PIN est identique. - Fonction pour l'esclave : Il effectue en permanence une recherche de connexion et une requête de connexion, il se connecte avec le maître lorsque le code PIN est le même. 21/32 Bluetooth VEGA Connexion MODE3 - Fonction pour le maitre : Il fonctionne comme pour le mode de connexion maitre MODE1. - Fonction pour l'esclave : Si « remote bd address » est “000000 000000”, Il fonctionne comme pour le mode de connexion esclave MODE1 Si « remote bd address », il effectue seulement une requête de connexion. Les maîtres autour ne peuvent pas les détecter et pourront seulement se connecter lorsqu'ils recevront la requête de connexion. Connexion MODE4 Le mode de connexion MODE4 attend simplement une commande AT, le module est en veille. Paramètre UART - Le nombre de bit de la donnée est fixé à 8 bits. Baudrate - Supporte un Baudrate de 1200bps à 230400bps. - La valeur par défaut est 9600bps. Bit de parité - Le bit de parité supporte NONE, ODD et EVEN. - La valeur par défaut est NONE. Bit de stop - Le bit de stop supporte 1bit et 2bit. - La valeur par défaut est 1bit 22/32 Bluetooth VEGA Procédure pour établir une liaison Bluetooth avec un FB755 et un autre appareil Bluetooth Une fois la carte alimenté et connecté au PC grâce à la liaison RS232, vérifier la position du « switch » de la carte afin qu'il soit positionné en mode PC<=>Bluetooth (position du milieu). Une fois tous ses pré-requis réunis: -Lancer BTconfig et lancer la lecture de la configuration « read ». -Configurer le module comme il convient (la configuration la plus simple est de mettre le module en MODE1 et prendre connaissance du code PIN ou le modifier). -Écrire la nouvelle configuration avec « write ». -Quitter BTconfig et lancer CWizard et aller dans le menu Search/Connect -Lancer la connexion entre le PC et le module. -Faire une recherche de périphérique, en sélectionner un et s'y connecter. -Avec l'autre appareil Bluetooth entrer le code PIN lorsqu'il le demande. Le module FB755 est enfin connecté avec le périphérique souhaité. 23/32 Bluetooth VEGA Procédure pour connecter deux FB755 entre eux -Lancer BTconfig et lancer la lecture de la configuration « read ». -Configurer les modules comme il convient (la configuration la plus simple est de mettre un module en maitre et l'autre en esclave, régler les modules en MODE1 et prendre connaissance du code PIN ou le modifier). -Écrire la nouvelle configuration avec « write ». -Quitter BTconfig et lancer CWizard et aller dans le menu Firmtech Slave -Vérifier la configuration, sélectionner le port com (1), le nombre de caractère de débug selon la configuration (2) et le nombre de périphérique à connecter (3) -Lancer la configuration « start setup » -Une fois les trois étapes complété « finish setup » 24/32 Bluetooth VEGA -Brancher la liaison RS232 à l'autre module et aller dans le menu Firmtech Master -Vérifier le port com (1) et le nombre de caractère de débug (2), puis « start setup » -Lorsque toutes les étapes sont complété « finish setup » Les modules sont prêt à être utilisé comme s'il s'agissait d'une liaison RS232 classique. 25/32 Bluetooth VEGA Problème survenue pour la connexion des modules Il y a deux logiciels permettant de communiquer et configurer les modules FB755AS Bluetooth à d’autre appareil Bluetooth. Le premier est «BTConfig1.3.23» il permet de configurer les modules en MODE «Esclave» ou «Maitre» et avoir des informations sur toutes les configurations possibles. Le deuxième logiciel «CWizard» permet de repérer les modules entre eux, on commence par ce connecter au module esclave, dans notre cas la connexion ne s'établit pas à chaque essaie pour une raison inconnue. Une fois la connexion établit, le logiciel récupère l’adresse de l’appareil esclave et nous avons accès au bouton «master» on débranche le câble et on le connecte au Master, on lance ensuite la recherche mais il est identifier au bout de plusieurs essaie alors que les deux peuvent être identifier en esclave par le logiciel. Nous avons réussi à faire fonctionner en partie nos modules. En effet nous pouvons connecter nos modules à un périphérique extérieur tel qu'un téléphone portable et également les deux modules entre eux. 26/32 Bluetooth VEGA XI/ Programmation des PICs Pour la programmation des PICs nous avons utilisé le logiciel CodeBlocks et le compilateur SDCC. Les programmes sont divisés en fonction et sont commentés afin d'avoir un code plus propre et compréhensible . Programme d'émission Le programme d'émission et divisé en trois fonctions: -L'initialisation -L'envoi -Le programme principal, main Le Main La fonction main est le programme principal, elle sert à appeler les 2 autres fonctions. L'initialisation La fonction initialisation définit les entrées sorties en configurant les registres TRIS. Activation des résistances de pull-up pour pouvoir utiliser les boutons. Configuration de la liaison série. L'envoi La fonction envoie stock dans le registre TXREG le caractère à envoyer, le caractère sera envoyé quand le buffer TRMT sera libéré. 27/32 Bluetooth VEGA Programme #include <pic/pic16f886.h> #include <stdio.h> #include <string.h> #define LED1 RB4 #define LED2 RB5 #define BP1 RB1 #define BP2 RB2 #define BP3 RB3 void init(); void envoi(char c); void envoi(char c) { if (TRMT == 0) { while(TRMT == 0); } TXREG = c; } void init() { TRISA = 0b11111001; TRISC = 0b11111111; TRISB = 0b11001111; RCSTA = 0b10010000; TXSTA = 0b00100110; BAUDCTL=0b00000000; SPBRG=51; ANSELH = 0b00000000; ANSEL = 0b00000000; NOT_RBPU = 0; WPUB = 0b00001110; ADCON0 = 0b00000001; ADCON1 = 0b10000000; GIE = 1; PEIE = 1; RCIE = 1; LED1 = 0; LED2 = 0; } //attente de la liberation du buffer //Port A // Port C en entrée //Deux leds en sorties (bit 4 et 5 en sorties : 0) et le reste en entrées // Configuration de la reception RS232 // Configuration de l'emission RS232 //Configuration de la vitesse de la trame // //Configure les sorties en mode digital //Configure les entrées en mode digital // Activation des résistances de pull-up ... //pour les entrées des boutons donc on active les bits 1, 2 et 3 //configuration lecture ADC : voir feuille CR //Configuration des tensions de reference et de l' ADFM //Activation des interruptions globale //Activation des interruptions peripherique //Activation des interruptions série //initialisation des sorties //- void main() { init(); while(1) { LED1 = BP1; LED2 = BP2; if (BP1 == 0) envoi('0'); else if (BP2 == 0) envoi('1'); } } 28/32 Bluetooth VEGA Programme de réception Le programme de réception est divisé en trois fonctions: -L'initialisation -La réception -Le programme principal, main Le Main La fonction main est le programme principal, elle sert à appeler les 2 autres fonctions. L'initialisation La fonction initialisation définit les entrées sorties en configurant les registres TRIS. Activation des résistances de pull-up pour pouvoir utiliser les boutons. Configuration de la liaison série. Configuration de la liaison CAN. La réception La fonction de réception fonctionne grâce aux interruptions. A chaque interruption nous recevons un caractère qui est ensuite stocké dans un tableau. La chaine de caractères ainsi formée est formatée pour ensuite être envoyée par la liaison CAN au véhicule. Le CAN La fonction CAN utilise la liaison CAN afin de transmettre les ordres au véhicule. Programme Nous n'avons pas eu le temps de finir le programme de réception, en effet au début du projet nous contions utiliser un PIC16F886 mais celui ci n'ayant pas d'interface CAN nous avons dut en utiliser un autre pic, le PIC18F458, mais avec le compilateur SDCC la syntaxe était différente entre le PIC16F886 et le PIC18F458 et nous n'avons pas eu le temps d'adapter le programme. Nous n'avons pas encore réalisé la fonction CAN qui permettrait de se connecter au véhicule. Le code ci dessous devrait fonctionner sur un PIC16F886, mais ne peut pas fonctionner sur notre carte qui utilise un autre pic. 29/32 Bluetooth VEGA #include <system.h> #include <stdio.h> #include <string.h> #define LED1 portb.4 #define LED2 portb.5 #define BP1 portb.1 #define BP2 portb.2 #define BP3 portb.3 void envoi(char c); char recu(void); void init(); void interrupt() { if( pir1.RCIF == 1) { if (recu() == '1') { LED1 = 1; } else if (recu() == '0') { LED1 = 0; } pir1.RCIF = 0; } } void init() { trisa = 0b11111001; trisc = 0b11111111; trisb = 0b11001111; rcsta = 0b10010000; txsta = 0b00100110; baudctl=0b00000000; spbrg=51; anselh = 0b00000000; ansel = 0b00000001; option_reg.NOT_RBPU = 0; wpub = 0b00001110; adcon0 = 0b00000001; adcon1 = 0b10000000; intcon.GIE = 1; intcon.PEIE = 1; pie1.RCIE = 1; LED1 = 0; LED2 = 0; //fonction d'interruption //Appuye de la touche entrée // comparaison // comparaison //Remise a 0 du flag d'interruption //Port A // Port C en entrée //Deux leds en sorties et le reste en entrées // Configuration de la reception RS232 // Configuration de l'emission RS232 //Configuration de la vitesse de la trame // //Configure les sorties en mode digital //Configure les entrées en mode digital // Activation des résistances de pull-up ... //...pour les entrées des boutons donc on active les bits 1, 2 et 3 //configuration lecture ADC : voir feuille CR //Configuration des tensions de reference et de l' ADFM //Activation des interruptions globale //Activation des interruptions peripherique //Activation des interruptions série //initialisation des sorties //-- } 30/32 Bluetooth void envoi(char c) { if (txsta.TRMT == 0) { while(txsta.TRMT == 0); } VEGA //attente de la liberation du buffer txreg = c; } char recu(void) { return rcreg; } void main() { init(); while(1) { } } Programme test de la liaison CAN #include <18f458.h> #fuses HS,NOPROTECT,NOLVP,NOWDT #use delay(clock=2000000) #include <can-18xxx8.c> void main() { int buffer[2]; can_init(); buffer[0]=0x55; buffer[1]=0x80; can_putd(0x100,0,0,1,TRUE,FALSE); while(1) { can_putd(0x100,buffer,2,1,TRUE,FALSE); delay_ms(1000); } } 31/32 Bluetooth VEGA Conclusion Ce projet technique nous a permis de mettre en pratique toute une série d’outils et de connaissance apprise en cours de cursus et lors des TP, notamment la conception de schéma, de typon proteus, faire des codes C structuré et dépanner une carte électronique. Le Bluetooth est une technologie encore assez récente mais en plein développement, il est donc intéressant de se renseigner sur cette technologie que l'on rencontrera très probablement dans le monde du travail. Durant la réalisation de se projet nous avons rencontré de nombreux problèmes plus ou moins difficile à résoudre, mais nous avons perdu trop de temps à résoudre certains problèmes se qui nous a conduit à des retards important sur notre planning. Actuellement nous avons réussi à connecter les modules Bluetooth entre eux et également à d'autres appareil Bluetooth. La liaison série utilisant le max232 fonctionne, nous pouvons l'utiliser dans toutes les configurations que nous voulions (PC<=>Bluetooth, PC<=>PIC). C'est à dire que nous pouvons programmer les PICs et configurer les modules Bluetooth. A cause des retards que nous avons eu, nous n'avons pas eu le temps de tester la liaison PIC<=>Bluetooth, celle ci ne passe pas par le max mais sont directement relié par l'intermédiaire du switch et d'un étage d'adaptation de tension 5v/3,3v. La liaison CAN n'a également pas eu le temps d'être testé, nous avons juste réalisé un programme simple permettant d'envoyer un caractère. Pour une éventuelle poursuite du projet il serait donc intéressant de tester la liaison can. Tester également l'envoie de caractères entre deux ordinateurs via la liaison Bluetooth utilisant les deux modules, tester la communication entre le pic et le module Bluetooth. Une fois que toutes ses étapes seront réalisé nous pourrons nous appliquer à commander des fonctions du véhicule telle que le lève vitre, l'allumage des feux... 32/32