communicatio spi sur visualbasic ?
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

communicatio spi sur visualbasic ?



  1. #1
    inviteb0132557

    communicatio spi sur visualbasic ?


    ------

    salut

    je voudrais savoir est ce que c'est possible de réaliser une communication spi via le port serie a l'aide de visual basic.
    je sais qu'il existe des modules en vb qui gèrent la communication rs232 mais est ce qu'il en existe pour le spi.


    merci d'avance

    -----

  2. #2
    invitee05a3fcc

    Re : communicatio spi sur visualbasic ?

    A ma connaissance, il n'existe pas de liaison SPI en VB6 et de toutes les façons ce serait mieux d'utiliser le port parallèle :
    1/ gérer LPT avec InpOut32.DLL
    http://www.stielec.ac-aix-marseille....bati/inout.htm
    http://www.stielec.ac-aix-marseille..../centronic.htm
    2/ gérer LPT avec une DLL spéciale à trouver ou à écrire (j'en avais une pour le bus I²C)

  3. #3
    invitef1d1ec65

    Re : communicatio spi sur visualbasic ?

    On peut accéder au port série en VB sans problème, mais le port série et le SPI, c'est deux choses bien différentes.
    D'abord parce qu'il faut une horloge en SPI (en RS232C, il n'y a pas d'horloge : 2 fils suffisent, dont un pour la masse). En RS232C, c'est l'oscillation forcée induite par le bit start (front montant) permettent au récepteur de comprendre qu'il faut se réveiller et aussi de se synchroniser. En SPI, on n'a pas de fréquence de transmission connue à priori ... il faut donc transmettre l'horloge (puisqu'on est en bande de base ... il aurait été plus intelligent de moduler en PCM ... mais bon ... je ne suis qu'un utilisateur)

    En SPI, on est couramment ammené à transmettre des "mots" de 9, 10, 11, 12 bits : l'octet n'est pas du tout la norme, c'est un transfert orienté "bit". En communication RS232C par contre, on transfert essentiellement des octets de 7 ou 8 bits. En communication RS232C, à la fin de l'octet, on a la ligne TX qui passe forcément par des niveaux qu'on ne maitrise pas (bit stop, bit de parité ...). Ces infos vont "embèter" un interlocuteur SPI (rien de tel dans la norme SPI), surtout s'il veut transmettre plus de 8 bits (impossible en RS232)
    Bref, pour faire du SPI avec une liaison série, il faudrait complètement renoncer à utiliser le port série de façon standard. Il faudrait utiliser une des lignes de controle du traffic qu'on trouve à coté de la ligne TX de transmission et s'amuser à faire osciller 3 de ces lignes (pour avoir CLK, SDI et CS au minimum) en utisant des commandes lentes (une par changement d'état ...). Je ne vous explique pas la crise et la vitesse de transfert ... sans parler de l'occupation CPU du PC ... mais c'est théoriquement possible.
    Non vraiment, il est bien plus simple d'utiliser les niveaux d'un port parallèle en émettant des octets (sur 8 lignes) et en simulant les signaux SPI de cette façon. Le port parallèle étant également facile d'accès en VB.

    Si tu veux faire moderne ... utilise un port USB ! ... la solution pour toi est toute trouvée : un module UM232R. Sur une micro carte PDIP 40 broches, t'as un controleur USB esclave et tu peux sortir tes broches SPI de son bus D (bon, faut potasser sa datasheet quand même pour trouver les broches). Le truc coute 20 euros environ et est livré avec une dll (bon, là faut que tu saches taper une dll en VB ... voire réaliser une dll d'enrobage pour pouvoir attaquer une dll en convention d'appel C ... et pas win32)

    J'ai donné des éléments pour déterminer la succession d'octets à émettre sur un port parallèle quand on veut communiquer avec un composant SPI connecté à 3 des fils (configuration identique à un bus D de FT232R en mode Bit Bang).
    Je t'invite donc à consulter un fil (récent) que j'ai créé pour poser une question sur le FT232R (je sais que c'est pas évident de penser à ce flux pour trouver cette info là) : Le mode Bit Bang du FT232R

  4. #4
    invitef1d1ec65

    Re : communicatio spi sur visualbasic ?

    J'oubliais ... évidemment ... si t'es plus riche ... à la place du UM232R (20 euros), tu as l'excellent DLP-2232M-G (35 euros et toujours 40 broches) ... qui possède un mode spécifique pour causer SPI ... et tu n'envoies que ce qu'il faut sur l'USB. Mais on s'éloigne un peu de la question initiale.

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

    Re : communicatio spi sur visualbasic ?

    Correction, le UM232R est en 24 broches (c'est aussi pour cela que j'y suis attaché)

  7. #6
    invitef1d1ec65

    Re : communicatio spi sur visualbasic ?

    Je déconseille le 2232 pour du SPI simple ... c'est une vraie usine à gaz ce chip (surtout pour envoyer des trames SPI de 11 bits par exemple ... il faut passer par deux "commandes"). C'est bien plus simple avec un FT232R en Bit Bang synchrone. Et de plus, j'aime bien gérer moi même l'horloge (pouvoir l'arrêter après l'envoi de ma trame ... en niveau haut). Les circuits qui font du SPI en natif s'amusent souvent à émettre l'horloge en permanence (à vérifier tout de même).

Discussions similaires

  1. Lecture sur le port spi
    Par invite91a05f0b dans le forum Électronique
    Réponses: 6
    Dernier message: 08/04/2009, 23h33
  2. Connexion d'un CAN 12 Bits sur un bus SPI : MAX 202
    Par invite8916ae1c dans le forum Électronique
    Réponses: 0
    Dernier message: 22/04/2008, 12h35
  3. SPI sur PIC et lecteur mp3
    Par invite053d3d70 dans le forum Électronique
    Réponses: 5
    Dernier message: 02/04/2008, 05h41
  4. SPI sur PIC 16F876
    Par invite820b5138 dans le forum Électronique
    Réponses: 6
    Dernier message: 31/12/2007, 15h03
  5. Aide sur EEPROM SPI AT25640
    Par invite5bff5617 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/04/2007, 00h12
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...