Projet capteurs : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Installation de MSPDebug)
Ligne 25 : Ligne 25 :
 
=== Utilisation du lien série ===
 
=== Utilisation du lien série ===
 
Normalement les cartes doivent apparaitre sous /dev/ttyACM0 une fois branchées, vous pouvez ensuite vous y connecter en utilisant [http://help.ubuntu.com/community/Minicom minicom].
 
Normalement les cartes doivent apparaitre sous /dev/ttyACM0 une fois branchées, vous pouvez ensuite vous y connecter en utilisant [http://help.ubuntu.com/community/Minicom minicom].
 +
 +
== Protocole ==
 +
[[Fichier:Protocol_eZ430-RF2500.png]]
 +
 +
Plus d'infos sur l'intranet : [http://intranet.ensimag.fr/KIOSK/Matieres/4MMRES/news/?page_id=565 KIOSK]
 +
 +
===Format de trames===
 +
Pistes de réflexion sur le format des trames.
 +
L'idée est de partir du format donné par MRFI :
 +
{| class="wikitable centre" width="80%"
 +
|+ mrfiPacket_t.frame
 +
|-
 +
| width="15%" | Length (1B)
 +
| width="20%" | Source (4B)
 +
| width="20%" | Destination (4B)
 +
| width="45%" | Payload (Length - 8B)
 +
|}
 +
Avec payload de taille maximale 20 Bytes.
 +
 +
Nous n'avons clairement pas besoin d'adresses sur 4 octets pour une douzaine de capteurs, on se propose à la place d'utiliser des adresses sur 1 octet ce qui devrai suffire largement. Les 6 octets économisés seront répartis de la manière suivante : 1 octet pour porter des flags et 5 octets suppplémentaires dans le payload :
 +
 +
{| class="wikitable centre" width="80%"
 +
|+ mrfiPacket_t.frame
 +
|-
 +
| width="10%" | Length 1B
 +
| width="10%" | Source 1B
 +
| width="10%" | Dest. 1B
 +
| width="10%" | Flags 1B
 +
| width="60%" | Payload (Length - 3B)
 +
|}
 +
 +
==== Flags ====
 +
*0x1 = BEACON BIT : Si à 1 il s'agit d'une trame beacon.
 +
*...
 +
 +
==== Beacon frame ====
 +
Les trames dont le BEACON BIT est positionné à 1 auront un format strict et spécial. La trame devra contenir :
 +
* 8 bits : Un numéro de réseau
 +
* 8 bits : Le numéro du slot actuel
 +
* (16 bits ?) : La durée en ''µs'' d'un slot beacon
 +
* (16 bits ?) : La durée en ''ms'' de la période active
 +
* (32 bits ?) : La durée en ''s'' de la période de sommeil
 +
 +
{| class="wikitable centre" width="80%"
 +
|+ mrfiPacket_t.frame
 +
|-
 +
|1B
 +
|1B
 +
|1B
 +
|1B
 +
|1B
 +
|1B
 +
|2B?
 +
|2B?
 +
|4B?
 +
|-
 +
|13?
 +
|Source
 +
|0xFF
 +
|Flags & 0x01
 +
|Network id
 +
|Slot num
 +
|Beacon slot
 +
|Active slot
 +
|Sleep slot
 +
|}
 +
 +
==== Remarques ====
 +
Il est important que la durée de scan soit importante (minimum 2 duty cycles) afin d'être sûr de ne manquer aucun beacon.

Version du 19 mai 2011 à 15:26

AttentionCette page est maintenue par les enseignants et utilisée par les élèves de la matière concernée. Vos contributions sont les bienvenues, mais merci d'en discuter avant de faire des modifications non triviales de la page, pour être sûr de ne pas perturber le déroulement du cours.
AttentionCette page est en cours de rédaction, la majeure partie des infos est actuellement sur le kiosk en zone intranet

Mycomputer.png  Deuxième Année  CDROM.png  Informatique 

Enseignants

Franck Rousseau, Olivier Alphand, Isabel Vergara

Environnement de développement GNU pour les MSP430

Installation de MSPGCC

Le lien suivant indique la marche à suivre pour compiler et installer la version de gcc nécessaire pour faire la cross-compilation vers les micro-contrôleurs MSP. Installing MSPGCC4 and MSPDEBUG on Kubuntu 10.04.

Installation de MSPDebug

Le plus simple est de cloner le dépôt git de MSPDebug puis le compiler.

Utilisation du lien série

Normalement les cartes doivent apparaitre sous /dev/ttyACM0 une fois branchées, vous pouvez ensuite vous y connecter en utilisant minicom.

Protocole

Protocol eZ430-RF2500.png

Plus d'infos sur l'intranet : KIOSK

Format de trames

Pistes de réflexion sur le format des trames. L'idée est de partir du format donné par MRFI :

mrfiPacket_t.frame
Length (1B) Source (4B) Destination (4B) Payload (Length - 8B)

Avec payload de taille maximale 20 Bytes.

Nous n'avons clairement pas besoin d'adresses sur 4 octets pour une douzaine de capteurs, on se propose à la place d'utiliser des adresses sur 1 octet ce qui devrai suffire largement. Les 6 octets économisés seront répartis de la manière suivante : 1 octet pour porter des flags et 5 octets suppplémentaires dans le payload :

mrfiPacket_t.frame
Length 1B Source 1B Dest. 1B Flags 1B Payload (Length - 3B)

Flags

  • 0x1 = BEACON BIT : Si à 1 il s'agit d'une trame beacon.
  • ...

Beacon frame

Les trames dont le BEACON BIT est positionné à 1 auront un format strict et spécial. La trame devra contenir :

  • 8 bits : Un numéro de réseau
  • 8 bits : Le numéro du slot actuel
  • (16 bits ?) : La durée en µs d'un slot beacon
  • (16 bits ?) : La durée en ms de la période active
  • (32 bits ?) : La durée en s de la période de sommeil
mrfiPacket_t.frame
1B 1B 1B 1B 1B 1B 2B? 2B? 4B?
13? Source 0xFF Flags & 0x01 Network id Slot num Beacon slot Active slot Sleep slot

Remarques

Il est important que la durée de scan soit importante (minimum 2 duty cycles) afin d'être sûr de ne manquer aucun beacon.