Projet capteurs : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Groupes 2011)
Ligne 7 : Ligne 7 :
 
[[Catégorie:Informatique]]
 
[[Catégorie:Informatique]]
 
[[Catégorie:Projets de spécialité]]
 
[[Catégorie:Projets de spécialité]]
 
+
[[Catégorie:Projets de spécialité Information et Communications]]
 
== Enseignants ==
 
== Enseignants ==
  

Version du 8 juin 2016 à 07:42

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 53 Bytes.

On ajoute un octet de flags.

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

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
mrfiPacket_t.frame
11 (Length 1B) Source (4B) 0xFF (4B) Flags & 0x01 (1B) Network id (1B) Slot num (1B)

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.

Header Commun

#ifndef __COMMON_DEFINES_H__
#define __COMMON_DEFINES_H__
#include <mrfi.h>
// Definition des adresses
#define ET_1 0x1
#define ET_2 0x2
#define ET_3 0x3
#define ET_4 0x4
#define ET_5 0x5
#define ET_6 0x6
#define KH_1 0x7
#define KH_2 0x8
#define KH_3 0x9
#define KH_4 0xA
#define VB_1 0xB
#define VB_2 0xC
#define VB_3 0xD
#define VB_4 0xE

// Definition des flags
#define FDATA 0x0
#define FBEACON 0x1

// en ms
#define DUREE_CYCLE 500
// en ms
#define DUREE_SCAN 1000
// en ms
#define DUREE_ACTIVE 200
// en ms
#define DUREE_SLOT 2
// 32 slots ?
#define N_SLOT 32

typedef struct
{
	uint8_t length;
	uint8_t src[4];
	uint8_t dst[4];
	uint8_t flags;
	uint8_t data[MRFI_MAX_FRAME_SIZE-10];
} mPacket;

typedef struct
{
	uint8_t network_num;
	uint8_t slot_num;
	uint8_t slot_total;
} mBeacon;

#endif


Groupes 2011