P13 Plateforme expérimentation IOT : Différence entre versions

De Wiki de Projets IMA
(Présentation du PDI)
(Présentation du PDI)
Ligne 12 : Ligne 12 :
 
Schéma du connecteur pour la programmation en pdi<br>
 
Schéma du connecteur pour la programmation en pdi<br>
 
<center>[[Fichier: PFE_p13_PDI_bornier.JPG|250px]]</center><br>
 
<center>[[Fichier: PFE_p13_PDI_bornier.JPG|250px]]</center><br>
 +
=====Horloge=====
 +
Relever de l'horloge (PDI CLK) <br>
 +
On observe des oscillations. Ces dernières ont un dépassement de 20%<br>
 +
La fréquence minimale de programmation est de 10 KHZ . Nous sommes à la fréquence de 2 Mhz
 +
<center>
 +
[[Fichier:pfe_p13_clk_pdi.jpg|500px]]
 +
[[Fichier:pfe_p13_clk_pdi2.jpg|500px]]
 +
</center>
 +
=====Données=====
 +
Relever de la trame de données (PDI DATA) <br>
 +
Fréquence de la trame : 2.7174 Hz <br>
 +
<center>[[Fichier:pfe_p13_pdi_data.jpg |500px]]</center><br>
  
 
===Programmation à l'aide du mkII===
 
===Programmation à l'aide du mkII===

Version du 24 novembre 2015 à 09:12

Présentation du projet

Contexte

Cahier des charges

Planification

A la découverte de la programmation pdi

Présentation du PDI

Le Programme et Débogue l'Interface (PDI) est une interface propriétaire Atmel pour la programmation externe et son débogage.Il est constitué de deux éléments:
-Clock
-Data

Schéma du connecteur pour la programmation en pdi

PFE p13 PDI bornier.JPG

Horloge
Relever de l'horloge (PDI CLK) 

On observe des oscillations. Ces dernières ont un dépassement de 20%
La fréquence minimale de programmation est de 10 KHZ . Nous sommes à la fréquence de 2 Mhz

Pfe p13 clk pdi.jpg Pfe p13 clk pdi2.jpg

Données

Relever de la trame de données (PDI DATA)
Fréquence de la trame : 2.7174 Hz

Pfe p13 pdi data.jpg

Programmation à l'aide du mkII

Matériel nécessaire

-Pc équipée de la suite AVR Studio
-Connecteur MKII
-Atxmega
-Platine d'expérimentation
-Led
-Résistance

Schéma d'installation :

Pfe p13 Schéma test pdi.JPG


AVR Studio

Le logiciel AVR Studio est disponible à l'adresse suivante :http://www.atmel.com/microsite/avr_studio_5/

Exemple

Clignotement d'une Led :
Code C :

  1. include <avr/io.h>

int main(void)
{
int i;
PORTB_DIR= 0XFF;
while(1)
{
PORTB_OUT= 0x00;
for(i=0;i<=10000;i++);
PORTB_OUT= 0xFF;
for(i=0;i<=10000;i++);
}
}

Relévé du résultat à l'aide d'un oscilloscope :

Pfe p13 resultat prog pdi.jpg

Programmation à l'aide de la Rasbpberry

Matériel nécessaire

Pour réaliser la programmation à l'aide de la Rasberry on aura bessoin :
-Pc sous linux
-Atxmega (note il faudra remplacer la variable mmcu par le nom de vôtre atxmega)
-Platine d'expérimentation
-Led
-Résistance

Bibliothéque

Afin de pouvoir programmer l'atxmega sur la raspberry , on a bessoin des bibliothéques suivantes sur Debian :
- gcc-avr
- binutils-avr
- https://github.com/DiUS/xmega-pdi-pi2
- build-essential
- g ++
-libcm2835

Installation de la libcm2835
wget http://67.192.60.197/mikem/bcm2835/bcm2835-1.4.6.tar.gz
tar xvfz bcm2835-1.4.6.tar.gz;
cd bcm2835-1.4.6;
./configure;
make;
sudo make install

Sa programmation

Afin de pouvoir programmer le fichier .hex donnée en exemple il faut éxécuter cette procédure :

-Compilation du fichier C
$ avr-gcc -g -Os -mmcu=atxmega64a1 -c demo.c

-Génération du fichier hex
$ avr-gcc -g -mmcu=atxmega64a1 -o demo.elf demo.o
$ avr-objcopy -j .text -j .data -O ihex demo.elf demo.hex

-Transfert du fichier .hex à la racine de la raspberry
scp nom_fichier.hex pi@adresse_raspberry:~/

-Transfert de la raspberry vers l'atxmega
sudo ./pdi -c (Numéro de la GBIO de la Clock) -d (Numéro de la GBIO de la Data) -a override base address (note: PDI address space) - F Nom du fichier.hex

Exemple

Clignotement d'une Led :
Code C :

  1. include <avr/io.h>

int main (void)
{
int i;
PORTB.DIR= 1;
while(1)
{
PORTB.OUT=0;
for(i=0;i<=10000;i++);
PORTB.OUT= 1;
for(i=0;i<=10000;i++);
}
}

Fichier hex généré pour l 'atxmega

Extrait du fichier hex :

1001F0000C94080111241FBECFEFDFE2DEBFCDBF9C
1002000018BE19BE1ABE1BBE0E940A010C94120130
100210000C9400008FEF80932006109224068093A8
080220002406FBCFF894FFCF88
00000001FF

Résultat :

PFE p13 PDI pi2.JPG

La composition d'un noeud

La carte mére

Sa fonction
Sa composition
Exemple

La carte fille

Sa fonction
Sa composition
Exemple

La carte petite fille

Sa fonction
Sa composition
Exemple de capteur

- Mesure de la température

Ce type de capteur utilise le convertisseur analogique numérique du microcontroleur. Les paramétres à configurés seront les suivantes :

* Quantum
* Plage de mesure
* Registre

Pfe p13-capteur-temp.jpg

Ce capteur à les caractéristiques suivantes :
Fournisseur : Conrard
Référence :Capteur de température numérique TSIC506 boîtier TO 92 B & B Thermotechnik TSIC506-TO92
Plage de mesure :-10 C - 60C
Tension d'alimentation :3-5.5V
Précision : +/- 0.1 C
Consommation : 30 - 60 µA


- Mesure du volume sonore

La mesure d'un volume sonore se réalise par la transformation d'un vibration en un signal éléctrique.Afin de pouvoir l'exploiter il faudra le connecté sur le convertisseur analogique numérique du microcontroleur.Les paramétres à configurés seront les suivantes :

* Quantum
* Registre

Pfe p13-capteur-son.jpg

Ce capteur à les caractéristiques suivantes :
Fournisseur : Zartronic.fr
Référence :Capteur Sonore Analogique
Tension d'alimentation :5V


- Mesure de la luminosité

La mesure de la luminosité s'effectue avec l'aide d'un photo-transistor. Le photo-tansistor fera varier une résistance. On peut mesurer sa tension a ses bornes. Cette tension étant trés faible il est nécessaire d'avoir un amplificateur en sortie. La tension sera exploitable par le convertisseur analogique numérique du microcontroleur.Les paramétres à configurés seront les suivantes :

* Quantum
* Registre

Pfe p13-capteur-luminosite.jpg

Ce capteur à les caractéristiques suivantes :
Fournisseur : Conrard
Référence :Photo-résistance FW200


Démonstrateur