Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

PIC 32 MX 795. SPI entre deux pic32 + DMA, freeze mode ?



  1. #1
    Olfox

    PIC 32 MX 795. SPI entre deux pic32 + DMA, freeze mode ?

    Bonjour a tous,

    Je développe actuellement un système ou deux microcontrôlleur communique via SPI.

    J'ai donc un spi maître et un autre esclave. je n'utilise pas la SS pin.

    j'utilise la DMA pour gérer le transfert de donnée.

    La DMA du spi maître est configurée en mode Auto (l'horloge SPI est générée en permanence pour éviter de gérer un système de requête d'horloge si le SPI slave veut émettre spontanément).

    Côté spi maitre:

    -1channel DMA pour TX SPI : mode auto qui s'interrompt une fois 128octets émis (block transfert mode interrupt) :FONCTIONNE
    -1channel DMA pour RX SPI: mode auto qui ne s'interrompt jamais lorsque je le paramètre pour qu'il m'interrompt une fois 128 octets lu...

    Côté spi slave:
    -1channel DMA pour RX : mode auto qui s'interrompt bien lorsque le spi master a émis ses 128octets. Je dois quand même réglé un problème de synchro car si je démarre le spi maître avant le spi slave, ce dernier ne rentre jamais en interruption ce qui est assez bizarre d'ailleurs...

    -1channel DMA pour TX SPI: pas encore configurer car je sais pas trop comment le faire répondre car il a besoin de l'horloge du spi maître


    Donc pour résumé en fait quand je démarre le spi slave avant le spi maître j'arrive bien a recevoir mes info dans un sens.

    Et ce que je ne sais pas trop c'est comment répondre au spi maître et aussi comment fiabiliser la réception et la synchro car comme l'horloge tourne en permanence les données sont parfois décalée...

    Autrement dit pas mal de chose sont encore a voir et c'est pour cela que j'aurais aimé savoir s'il existé un moyen connu de gérer proprement un transfert spi via la DMA.

    Merci a tous !

    -----


  2. #2
    Olfox

    Re : PIC 32 MX 795. SPI entre deux pic32 + DMA, freeze mode ?

    De plus j'ai remarquer quelque chose de tres genant c'est l'effet "miroir" qui se produit lorsque le maitre envoi une donnée. en effet, les données sont réceptionnée dans SPI1BUF de l'autre coté et comme ce buffer n'est pas lu, je remerque a l'oscilloscope que chaque donnée précédement émise est répétée sur sur MISO ! Cela m’inquiète car comment faire a part toujours avoir un buffer TX spi slave qui contient soit la donnée a transmettre soir des 0 a la limite mais en tout cas surtout pas une donnée que je ne voudrait pas envoyée !

  3. #3
    Olfox

    Re : PIC 32 MX 795. SPI entre deux pic32 + DMA, freeze mode ?

    et derneire chose concenrant le debugage , mon pic 32 MX 795 F 512 L ne gere apparement pas le freeze mode, je vois dans la doc dma que le bit est la mais lorsque j'utilise la librairie peripherique, ce bit n'est pas implementer et la fonction SetFreeze n'existe pas, ainsi que lorsque je souhaite placé manuellement le bit FRZ a un, cela n'a aucun effet ... du coup pour le debug de la dma c'est moins simple car une fois lancer... elle tourne toute seulle !!!

  4. #4
    RISC

    Re : PIC 32 MX 795. SPI entre deux pic32 + DMA, freeze mode ?

    Salut,

    Quel compilateur utilises-tu ?
    Quelle version ?

    a+
    Ma marotte ? les microcontrôleurs ;=)

Sur le même thème :

Discussions similaires

  1. [PIC18] - Liaison SPI entre 2 PIC
    Par jorg1n dans le forum Électronique
    Réponses: 14
    Dernier message: 05/04/2011, 16h25
  2. PIC différence entre le mode iddle et le mode sleep
    Par Fiston dans le forum Électronique
    Réponses: 4
    Dernier message: 18/01/2010, 09h30
  3. Communication SPI entre PIC et autre circuit
    Par number8one dans le forum Électronique
    Réponses: 6
    Dernier message: 14/01/2010, 13h06
  4. cherche code pour communication SPI entre deux PICs...
    Par Crepuscule3 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/04/2008, 19h12
  5. laison entre deux PIC.
    Par sazz1984 dans le forum Électronique
    Réponses: 0
    Dernier message: 19/03/2008, 21h48