Communication entre un dspic est un capteur à l'aide de l'interface spi
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Communication entre un dspic est un capteur à l'aide de l'interface spi



  1. #1
    invite2f4dfe22

    Post Communication entre un dspic est un capteur à l'aide de l'interface spi


    ------

    Boujour,

    Je réalise actuellement la connection entre un dspic30f4013 et un capteur angulaire ADIS16201 qui utilise l'interface spi.
    On utilise un quartz de 12 MHz.

    Doc du capteur:
    http://www.analog.com/UploadedFiles/.../ADIS16201.pdf

    Mon problème c'est que je n'arrive pas à recevoir les bonnes données.

    Quand j'envoie l'adresse 0x0C00 (XINCL_OUT) la donnée renvoyée reste en permanence à 0x0000.

    J'ai configurer mon pic de la façon suivante:

    Code:
    #include <p30f4013.h>
    
    #include<spi.h>
    unsigned int datard ;
    
    _FOSC(CSW_FSCM_OFF & HS);
    _FWDT(WDT_OFF);
    _FBORPOR(MCLR_EN & PWRT_OFF);
    _FGS(CODE_PROT_OFF);
    
    
    #define Fcy		12000000/4
    
    
    int main (void){
    
    
    /* Holds the information about SPI configuartion */
    unsigned int SPICONValue;
    /* Holds the information about SPI Enable/Disable */
    unsigned int SPISTATValue;
    
    /* Turn off SPI modules */
    CloseSPI1();
    
    //SPICONValue = 0x4439;
    //SPI1STAT = 0x8002;
    
    /* Configure SPI1 interrupt */
    //ConfigIntSPI1(SPI_INT_DIS);
    /* Configure SPI1 module to transmit 16 bit timer1 value
    in master mode */
    SPICONValue = FRAME_ENABLE_ON & FRAME_SYNC_OUTPUT &
    ENABLE_SDO_PIN & SPI_MODE16_ON &
    SPI_SMP_ON & SPI_CKE_ON & 
    SLAVE_ENABLE_OFF &
    CLK_POL_ACTIVE_HIGH &
    MASTER_ENABLE_ON &
    SEC_PRESCAL_2_1 &
    PRI_PRESCAL_16_1;
    SPISTATValue = SPI_ENABLE & SPI_IDLE_CON & SPI_RX_OVFLOW_CLR;
    
    OpenSPI1(SPICONValue,SPISTATValue );
    
    while (1){
    
    WriteSPI1(0x0C00);
    
    //while(SPI1STATbits.SPITBF);
    //while(!DataRdySPI1());
    
    datard = ReadSPI1();
    
    }
    
    }
    doc capteur:



    Ce que j'envoi:



    D0: sclk
    D1: CS
    D2: Din (du capteur ou Dout du pic)
    D3: Dout ( du capteur ou Din du pic)

    J'ai aussi testé l'adresse 0x1C00 (XINCL_SCALE) j'obtient la valeur 0X0003 alors que d'après la doc du capteur la valeur defaut est 0X0800.

    Je n'arrive pas à savoir d'où viens mon problème.
    Merci de votre aide.

    -----

  2. #2
    invite2f4dfe22

    Re : Communication entre un dspic est un capteur à l'aide de l'interface spi

    Je n'arrive pas a arrêter la clock lorsque cs=1

  3. #3
    RISC

    Re : Communication entre un dspic est un capteur à l'aide de l'interface spi

    Bonjour Manu,

    Quelle version du compilateur C30 utilises-tu (il est important d'utiliser un version récente pour avoir des librairies correctes) ?
    As-tu vérifié que l'horloge SCK est bien controlée par la broche SSx à l'état inactif ?

    N'oublie pas de lire les différentes sections appropriées du Reference Manual de la famille dsPIC30 pour avoir les détails et notamment celle du fonctionnement de l'unité SPI (section 35).
    Tu les trouveras ici : http://www.microchip.com/stellent/id...cName=en010345

    Tu trouveras également des exemples ici :
    www.microchip.com/codeexamples
    www.microchip.com/appnotes

    N'oublie pas non plus de vérifier les silicon errata connues sur ton dsPIC30F4013 pour vérifier que ton PB n'est pas lié à cela (même lien que le lien ci-dessus)

    a+

  4. #4
    invite2f4dfe22

    Re : Communication entre un dspic est un capteur à l'aide de l'interface spi

    Merci de ton aide j'ai resolue mon probleme en desactivant le frame.
    Et j'utilise une autre entrée pour générer le SSx.

  5. A voir en vidéo sur Futura
  • Discussions similaires

    1. dsPIC et Bus SPI...
      Par invite8f8ffe44 dans le forum Électronique
      Réponses: 13
      Dernier message: 28/06/2013, 21h25
    2. SPI multi esclaves entre 16f88 avec PICC de ccs
      Par invite60243f9b dans le forum Électronique
      Réponses: 3
      Dernier message: 17/04/2012, 13h14
    3. cherche code pour communication SPI entre deux PICs...
      Par invite8f8ffe44 dans le forum Électronique
      Réponses: 1
      Dernier message: 24/04/2008, 20h12
    4. communication entre pic et pc
      Par invite3a1051d7 dans le forum Électronique
      Réponses: 9
      Dernier message: 16/02/2008, 13h38
    5. capteur temperature avec dsPIC en CCS
      Par invitefc1671e3 dans le forum Électronique
      Réponses: 1
      Dernier message: 12/02/2008, 00h36
    Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...