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

Documents pareils