IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

Envoi d'un signal de type sinus, triangle, etc sur liaison SPI


Sujet :

LabVIEW

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 45
    Points : 39
    Points
    39
    Par défaut Envoi d'un signal de type sinus, triangle, etc sur liaison SPI
    Bonjour à tous,

    Je suis débutant en Labview, et je rencontre un problème que je n'arrive pas à surmonter. Je me demandais si par hasard quelqu'un sur ce forum a la solution à mon problème.

    Contexte:
    J'envoie via une carte d'acquisition (PCIe-6320) des données via une liaison SPI pour tester un système composer de 4 esclaves. Aucun soucis de ce coté la, la liaison SPI fonctionne bien, j'envoie et je reçois bien les données de mes esclaves. Les données que j'envoie jusqu'à présent sont des mots de 16 bits entier.
    J'aimerai désormais pouvoir envoyer à mon système des signaux de types sinusoïdes ou triangles.

    Mon problème:
    Lorsque je génère mon sinus via la commande "simuler un signal" et que je l'envoie sur ma liaison SPI, celle-ci m'envoie toujours la même trame (qui au final est un carré).

    J'ai essayer de contourner le problème, en recréant moi même le signal à partir d'un tableau contenant déjà les valeurs que j'aimerai envoyer, mais je suis dans l'incapacité de convertir les données de mon tableau et un mot de 16 bits entier pour ma liaison SPI.

    Pour que vous compreniez mieux le problème, je vous envoie des illustrations de mon projet et du problème que je rencontre. Si cela ne suffit pas, je pourrais envoyer le projet.

    J'espère que quelqu'un pourra m'aider.
    Merci pour vos réponses.

    Nom : 1.jpg
Affichages : 1224
Taille : 206,5 KoNom : 2.jpg
Affichages : 516
Taille : 481,2 KoNom : 3.jpg
Affichages : 536
Taille : 480,4 Ko

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Bonjour,

    Un point de détail a attiré mon attention sur ton schéma. Tu utilises un VI express pour générer ton sinus. Or celui-ci en sortie affiche des valeurs de type dynamic data. Or au vu du câblage, il semblerait que tu aies un point de coercition au niveau de ton VI d'envoi sur SPI. Peut-être est-il préférable de passer par des fonctions de type waveform pour créer un signal sinusoïdale en 16 bits.

    Autre point de détail vis-à-vis de ta conversion : sauf erreur de ma part, quand tu passes d'un signal en double vers int 16, tu n'obtiendras que des 0 et des 1. Il faut absolument qu'avant cette conversion, tu multiplies ton vecteur double par 2^(15) afin que tu obtiens ton sinus de manière correcte.

    De manière générale, la conversion en cas d'entier n signé est : 2^(n-1).

    Voilà pour ma part.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 45
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Tout d'abord je voulais te remercier pour ta réponse rapide.
    Ensuite, effectivement tu as raison, mon code n'était pas bon, je me suis rendu compte hier juste après avoir posté ce message que c'était totalement idiot ce que j'avais fait. Forcément, la conversion n'est pas faite, et donc il est logique que je n'obtienne que des 0 et des 1 sur ma ligne.
    Je suis entrain de le modifier, je reviendrai vers toi pour te confirmer que cela fonctionne.

    Bonne journée, et encore merci!

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Pas de souci, hésites pas à poster si ça a résolu ou pas le problème.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2013
    Messages : 45
    Points : 39
    Points
    39
    Par défaut
    Re bonjour Cheetor,

    J'ai donc réalisé la conversion, et tout fonctionne parfaitement désormais!! J'envoie la photo quand même pour que cela profite à quelqu'un qui aurait un jour le même problème.
    (Je n'ai pas besoin des 16 bits pour mon application, seulement de 10, voila pourquoi ma conversion ne se fait que sur 9 bits + 1 bit de signe.).

    Je te remercie encore pour ton aide,
    Bonne continuation

    Nom : 1.jpg
Affichages : 488
Taille : 479,0 KoNom : 2.jpg
Affichages : 491
Taille : 479,6 KoNom : 3.jpg
Affichages : 531
Taille : 207,3 Ko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Enveloppe d'un signal de type sinusoïdal amorti
    Par mav4457 dans le forum Signal
    Réponses: 9
    Dernier message: 22/05/2008, 13h00
  2. Retrouver le type de bruit influant sur mon image
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 18/10/2006, 18h49
  3. Réponses: 2
    Dernier message: 29/08/2006, 10h40
  4. Type bool, le coder sur 1bit
    Par Zenol dans le forum C++
    Réponses: 20
    Dernier message: 19/12/2005, 21h54
  5. Passage du type integer vers varchar sur clé primaire
    Par GMI dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/01/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo