Communication série : Différence entre versions

De Wiki d'activités IMA
(Partie informatique :)
(Avancement du projet)
Ligne 16 : Ligne 16 :
 
** Réalisation du circuit électronique sur altium  
 
** Réalisation du circuit électronique sur altium  
 
* Partie informatique :
 
* Partie informatique :
** L'interface web est terminée (l'envoi/réception de caractères sur la liaison série s’effectue correctement !)
+
** L'interface web est terminée (l'envoi/réception de caractères sur la liaison série s’effectue correctement)
  
 
'''Séance 3 (13/05/2011)'''
 
'''Séance 3 (13/05/2011)'''
 
* Partie électronique :  
 
* Partie électronique :  
** Tester le circuit électronique sur altium et sur la nanoboard
+
** Test du circuit électronique sur altium et sur la nanoboard
 
* Partie informatique :
 
* Partie informatique :
 
** L'interface web a été légèrement améliorée :  
 
** L'interface web a été légèrement améliorée :  

Version du 16 mai 2011 à 22:19

Présentation

Le but du projet est de réaliser le circuit de gestion du port série sur la carte FGPA de la NanoBoard (dans les deux sens) et de réaliser une interface de gestion du port série sur la FoxBoard.

Avancement du projet

Séance 1 (06/05/2011)

  • Partie électronique :
    • Prise en main de la nanoboard (réalisation du tutoriel)
  • Partie informatique
    • Récupération et compilation du démon qui écrit sur le port série des fichiers textes
    • Etude de la réalisation du site utilisant html/php/javascript

Séance 2 (11/05/2011)

  • Partie électronique :
    • Réalisation du circuit électronique sur altium
  • Partie informatique :
    • L'interface web est terminée (l'envoi/réception de caractères sur la liaison série s’effectue correctement)

Séance 3 (13/05/2011)

  • Partie électronique :
    • Test du circuit électronique sur altium et sur la nanoboard
  • Partie informatique :
    • L'interface web a été légèrement améliorée :
      • une scrutation du port série à désormais lieu toutes les secondes.
      • L'impression du caractère "\n" (aucune donnée transmise) ne se fait plus.
    • L'interface web et le programme c qui gère le port série ont étés implantés sur la foxboard. (voir partie foxboard)

Partie informatique :

  • Machine utilisée : TUTUR11
  • /home/pifou/Ima3/CHEMIN ZHANG ZHANG
  • Les commandes :
    • ls -al  : liste les fichiers avec les différents droits d’accès
    • chmod a+w  : donne les droits en écriture a tout le monde
    • su (+mdp glopglop) : super user
    • su www-data  : permet de prendre l’identité de www-data


Pour envoyer et recevoir des données via le port série, nous utilisons 2 choses :

  • Un programme C (le démon série)
  • Un site internet (2.0) :
    • Le site se compose d'une page html , d'un script php et d'un javascript.
    • La page html comporte de deux zones de texte et un bouton d'envoi.
      • une zone d'affichage, qui permet de visualiser les données reçues sur le port série.
      • une zone de saisie, qui permet d'envoyer les données sur le port série.
      • le bouton d'envoi permet d'envoyer les données saisies sur le port série.
  • Fonctionnement :

Lorsque qu'un texte est saisie dans la zone prévu à cet effet, chaque caractère est enregistré dans un fichier texte qui est ensuite placé dans le répertoire du démon série. Des signaux sont également envoyé au démon série pour le prévenir que des fichiers sont présents. Le démon série consomme ces fichiers texte pour les copier sur le port série. Le démon série lit ensuite les données présente sur le port série et les enregistres dans des fichiers textes. Ces fichiers textes sont lus, puis détruits par le script php et leurs contenu est enregistré dans l'autre zone de texte.

La FoxBoard

  • Adresse ip : 172.26.79.102
  • Password : netusg20
  • Les fichiers implantés :
    • root/serie.c
    • root/serie
    • var/www/index.html
    • var/www/gestion_serie.php
    • var/www/prototype.js
  • Les commandes pour executer le démon sur la foxboard :
    • ssh -l root 172.26.79.102
    • netusg20
    • su www-data
    • ./serie /tmp/serie/
    • la page : http://172.26.79.102/ fonctionne désormais !

Partie électronique

  • Introduction :

Notre circuit comporte deux partie : une partie pour la réception des données et un autre partie pour l'émission des données reçues.

  • La partie réception :

La réception des données consiste à mettre en parallèle les donnée reçues en série. Pour cela on utilise un compteur, deux comparateurs et un registre Série/parallèle (SR16CEB). Le premier comparateur permet de détecter le premier bit (bit de start). Le compteur et le deuxième comparateur vont ensuite contrôler le registre série/parallèle en activant la broche "Clock Enable" 10 fois de suite à intervalle régulier. Avec la fin de la trame de donnée (bit de stop) le compteur arrive à 10. La réception d'une trame est terminée : on réinitialise le compteur , la donnée se trouve sur les broches 01 à 08 du registre série/parallèle.

  • La partie émission :

L'émission des données consiste à mettre en série les données reçues parallèles. Pour cela on utilise un compteur, un comparateur et un multiplexeur 10 voix (MUX). Les voix 1 et 10 sont reliées à une masse et une tension +Vcc (équivalent à un bit de start et bit de stop). Les voix 2 à 9 sont reliées avec un bus de 8 bits. La broche de sortie du multiplexeur est reliée avec RS_TX (broche de donnée d'un câble série). Le compteur fait balayer le multiplexeur sur les 10 voix d'entrée et les recopie sur la sortie.

  • Fréquences

Notre montage utilise 2 horloges de fréquences différentes car l'intervalle de temps entre deux séries de données parallèles est 10 fois plus important qu'entre deux données séries. En effet une donnée parallèle comporte 10 données , il faut donc attendre la fin d'une trame de donnée série , soit 10 fois le temps entre deux données série.

Shema.jpg