PSOC et GPS
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

PSOC et GPS



  1. #1
    psockeur

    Smile PSOC et GPS


    ------

    Salut a tous !!

    Pour un projet personnel, j'aurai besoin d'acquérir les coordonnées GPS sur ma carte électronique PSOC !
    J'ai donc un GPS ( GPS G-STAR IV ), une psoc et le logiciel Psoc creator !
    J'ai donc utilisé un oscilloscope pour voir mon signal, j'ai donc coupé le cable du GPS pour les branché sur un adapteur RS232.
    J'ai mis le TX sur le PIN 3, et le RX sur un port de la PSOC.

    Ma question étant, comment dois je connecter mon UART a mon écran LCD, par quel code pourrai-je arriver a afficher par exemple la latitude et longitude ?

    Merci beaucoup de vos réponses,
    Cordialement

    Antoine

    -----

  2. #2
    paulfjujo

    Re : PSOC et GPS

    bonjour,

    je ne suis pas un adepte de PSOC, mais j'ai déja testé plusieurs GPS

    J'ai mis le TX sur le PIN 3, et le RX sur un port de la PSOC.
    le TX de qui.. la PIN 3 ?
    un petit schema vaut mieux qu'un grand discours ...
    ( ne pas oublier aussi de relier les 0V Gnd)

    Ma question étant, comment dois je connecter mon UART a mon écran LCD,
    par quel code pourrai-je arriver a afficher par exemple la latitude et longitude ?
    il faut effectivement un programme dans le PSOC qui fasse
    la lecture des trames emises par ton GPS via l'UART ( et une mise à niveau eventulle des signaux ( TTL 5V, LTTL 3,3V ou RS232 +-12V )
    faire un stockage intermediare de cette trame ou la décortiquer au fil de l'eau
    suivant les infos que tu veux en extraire et afficher
    (la trame $GPGGA seule peut etre suffisante pour Longitude,Latitude et Altitude)


    exemple de reception de trames d'un GPS Ublox 7N
    11:37:01.035, $GPRMC,093655.00,A,4550.72280, N,00502.32594,E,0.011,,030916, ,,A*74
    11:37:01.155, $GPGGA,093655.00,4550.72280,N, 00502.32594,E,1,06,1.30,197.9, M,47.3,M,,*57
    11:37:05.036, $GPRMC,093659.00,A,4550.72274, N,00502.32600,E,0.038,,030916, ,,A*76
    11:37:05.145, $GPGGA,093659.00,4550.72274,N, 00502.32600,E,1,06,1.30,198.0, M,47.3,M,,*58
    ensuite il faut Convertir les donnees GPS brutes en Degres decimaux
    les mettre en forme (tel que tu veux les afficher)
    et les envoyer sur le LCD pour affichage.

    Attention à l'intervalle de temps d'envoi des trames par le GPS .
    et on boucle ..

    L'ideal est de pretester le tout avec simplement un terminal PC relié au GPS
    ( via un interface adequat MAX232 ou MAX3232 ou adaptateur USB/TTL)



    Des examples testés ICI, mais pas avec un PSOC
    Dernière modification par Antoane ; 01/04/2017 à 14h51. Motif: Suppression des balises code autour de l'url

  3. #3
    psockeur

    Re : PSOC et GPS

    Merci beaucoup pour ton message je vais étudier tout ca, mais j'y vois déjà un peu plus clair !

  4. #4
    psockeur

    Re : PSOC et GPS

    Salut ! J'arrive très bien a recevoir sur la Psoc les données du GPS. Mais je n'ai pas vraiment idée de comment filtrer seulement celle qui m'intéresse ( ici, $GPGGA ).. Si quelqu'un a une idée, pour arriver a filtrer et afficher seulement ces données, ce serait génial..
    Bonne journée a tous les programmeurs.

    Antoine

  5. A voir en vidéo sur Futura
  6. #5
    paulfjujo

    Re : PSOC et GPS

    bonjour,



    Separation des trames au niveau du traitement interruption ...
    sur mon GPS la trame GPCGA vient APRES la trame GPRMC ..
    plus de details ICI

    avec reception GPS sur UART2

    Changement de strategie (ou d'algoritme) avec 2 trames consecutives:
    Attendre de comptabiliser 2 interrupt , via le flage UART2_DataReady
    et rajouter un aiguilage de stokage direct dans Trame_RMC et dans TRAME_GGA e respectivement
    car c'est la trame RMC qui est transmise en premier
    De plus ,La Trame se terminant par CR LF, il faut Enlever le caractere LF du buffer RCREG, sinon on le retouve en debut dela trame suivante.
    Code:
    
    void Interrupts() iv 0x0008 ics ICS_AUTO
    {
    //UART1
      if((RC1IF_bit==1) && (RC1IE_bit==1))
      {
              if(OERR1_bit)
              {
                    CREN1_bit = 0;
                    CREN1_bit = 1;
                    OERR1_bit = 0;
              }
              if(FERR1_bit)   c1 = RCREG1;
         c1 = RCREG1;
    
         if ((c1==CR)||(i1>=MAXLEN1))     // CR + LF !!!
          {
          UART1_DataReady=1;
          if (i1 >=MAXLEN1) UART1_DataReady=2;
          PIE2.RC1IE=0 ; //interdit IT Reception UART
          buffer1[i1]=0;
          Index1=i1;
          i1=0;
           // il faut aussi manger le LF qui suit  le CR
          while(RC1IF_bit==0);
          c1=RCREG1;
          c1=0;
         }
         else
         {
           buffer1[i1]=c1;
            Index1=i1;
            i1++;
          }
       }
    //UART2
        if((RC2IF_bit==1) && (RC2IE_bit==1))
        {
          if(OERR2_bit)
          {
              CREN2_bit = 0;
              CREN2_bit = 1;
           }
          if(FERR2_bit)   c2 = RCREG2;
          c2 = RCREG2;
          // si debordement buffer ou caractere 10 comme fin d'envoi string
           if((i2>=MAXLEN2-1) || (c2==13))
            {
             Index2=i2;
             // il faut aussi manger le LF qui suit  le CR
             while(RC2IF_bit==0);
             c2=RCREG2;
             c2=0;
             if (UART2_DataReady==0)Trame_RMC[i2]=c2;
             if (UART2_DataReady==1)Trame_GGA[i2]=c2;
             i2=0;
             UART2_DataReady++;
             if (UART2_DataReady==2)
             {
              c2=RCREG2;
              c2=0;
              RC2IE_bit=0 ; //interdit IT Reception UART
             }
            }
            else
            {
            if (UART2_DataReady==0)Trame_RMC[i2]=c2;
            if (UART2_DataReady==1)Trame_GGA[i2]=c2;
            Index2=i2;
            i2++;
            }
        }

  7. #6
    psockeur

    Re : PSOC et GPS

    Merci beaucoup encore une fois !! Je vais regarder ca de suite !

Discussions similaires

  1. PSoC: Qui a testé?
    Par bogue69 dans le forum Électronique
    Réponses: 1
    Dernier message: 21/06/2012, 20h50
  2. Psoc Designer
    Par invite2286c2b6 dans le forum Lectures scientifiques
    Réponses: 0
    Dernier message: 19/05/2009, 12h03
  3. pwm sur psoc en c
    Par invite10382e5a dans le forum Électronique
    Réponses: 0
    Dernier message: 27/11/2008, 07h45
  4. important: Psoc
    Par inviteefa3eb0f dans le forum Électronique
    Réponses: 8
    Dernier message: 12/03/2007, 20h37
  5. Psoc Cypress
    Par inviteacb3e291 dans le forum Électronique
    Réponses: 2
    Dernier message: 20/10/2005, 09h57
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...