émuler une liaison SPI
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

émuler une liaison SPI



  1. #1
    invite72c69f9a

    émuler une liaison SPI


    ------

    Bonjour à tous, je suis nouveau sur le forum, (enfin avant je fessait qu'observer .Donc une petit présentation s'impose .
    Je m'appelle Sylvain et suis étudiant en 2 ème année de DUT GEII (Génie électrique et informatique industrielle) à Cergy

    Dans le cadre d'un stage de fin d'année ,j'ai pour mission de l'étude et la réalisation d' un module IHM (Interface Homme Machine)

    Je doit programmé en C sous MPLAB ,compilateur PICcc pro Hi-Tech un PIC16F877 .
    Ce pic est relié à un MAX3161 pour une liaison RS232 avec un PC (Hyper-terminal ou realterm) Déjà fait!!
    Le Pic est également relier en liaison SPI à des expander MAX7301 pour multiplier les I/O (entrées /sortie) pour connecté des leds et switchs qui serons sur un pupitre .Le problème est ici, car les port SPI du Pic sont déjà utilisé pour d'autres fonctions(j'ai déjà réalisé le soft pour le SPI des port respectif et cela marche parfaitement). Je cherche un moyen d'émulé sur les port A0 a A4 les 4 connections SPI (CLK, CS,SDIN,SDOUT) et je ne sais pas comment m'y prendre (surtout pour CLK).

    Merci d'avance

    PS:je vous met en pièce jointe quelques documents
    Nom : BrochageEtSch.GIF
Affichages : 101
Taille : 86,2 Ko

    -----
    Dernière modification par Tropique ; 31/05/2012 à 12h30. Motif: Conversion pdf gif

  2. #2
    invite72c69f9a

    Re : émuler une liaison SPI

    Première boulette .J'ai oublié de joindre les documents, les voici , il y a le brochage du PIC16F877, un petit schéma fonctionnel et l'expander MAX7301
    Dernière modification par JPL ; 31/05/2012 à 12h59. Motif: Titre

  3. #3
    Tropique

    Re : émuler une liaison SPI

    Bonjour, et bienvenue sur Futura

    Merci à l'avenir de respecter les http://forums.futura-sciences.com/el...-sabonner.html et de représenter l'image en un format autre que le pdf, réservé aux documents complexes et multipages.
    Pour cette première fois, j'ai effectué l'opération moi-même.
    Dernière modification par JPL ; 31/05/2012 à 13h01. Motif: Titre
    Pas de complexes: je suis comme toi. Juste mieux.

  4. #4
    invite5b2689ab

    Re : émuler une liaison SPI

    Ton pic est-il maitre des 2 communications SPI ? Les 2 esclaves fonctionnent ils tous les 2 avec le CS ?

    Dans ce cas, tu peux t'en sortir avec un demux 1=>2 et 1 IO pour le commander.
    Ca sera beaucoup plus simple que de bricoler une horloge sur une IO lambda.

    Ou alors tu passes sur un PIC qu'a 2 SPI (16F1527 par exemple ^^)

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

    Re : émuler une liaison SPI

    Salut Pellek,

    Oui mon PIC est maitre .Les SPI ne fonctionne pas à la même fréquence d'horloge malheureusement et mon PIC est imposé par la société ><
    A moins que j'essaie de négocier avec mon tuteur .La solution du bricolage d'horloge me semble envisageable . Mais je ne sais pas comment

    Merci pour ta réponse

  7. #6
    invite5b2689ab

    Re : émuler une liaison SPI

    J'ai eu le soucis y a pas longtemps, et on m'a fortement déconseillé ce genre de bricolage, au point de changer carrément de micro ^^

    Pour faire une horloge, tu pourrais sinon utiliser une gpio, avec un timer qui interrompt ton programme toutes les demi périodes pour changer la polarité de ta clock bricolée.
    Sauf que d'un point de vue consommation c'est pas terrible, mais surtout ca pose des gros problèmes de sécurité de ton appli qui va etre interrompu tout le temps. Le pire c'est que t'as qu'un vecteur d'interruption sur ton pic16f, donc si tu l'utilises déjà, ca va encore se compliquer.

    Donc retour à mes 2 propositions :
    - soit tu changes de micro, et le pic16F1527 est pô cher (c'est encore un pic16f donc ca devrait pas trop bouleverser le reste de ton programme.)

    - soit tu t'arranges avec le CS. Pour la clock : t'as pas moyen de modifier pour avoir la meme clock de chaque coté ? si t'es maitre avec le PIC tu dois pouvoir avoir un peu de latitude. reste sinon à reconfigurer la clock du module SPI entre chaque communication SPI.

  8. #7
    ftorama

    Re : émuler une liaison SPI

    Emuler un bus SPI n'a rien de compliqué, ce n'est finalement qu'un registre à décalage.Rien n'oblige l'horloge à être stable tant que les fronts sont présents, et que les lectures-écritures se font au bon moment (selon la configuration de l'esclave).

    Deux préiphériques de vitesse différente peuvent très bien cohabiter étant donné qu'ils ignoreront les données et horloges si leur /CS n'est pas activé. Prudence avec le MISO car il n'est pas en collecteur ouvert et il faudra ajouter un peu de glue-logic....la datasheet du MAX7301 donne des infos là-dessus.
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  9. #8
    invite72c69f9a

    Re : émuler une liaison SPI

    Ah tu as connu cela aussi...Je vais tenté de négocié pour changé de PIC

    Oui tu as mis le point dessus ,l'inconvénient du PIC16F877 c'est qu'il y possède qu'une ligne vecteur d'interruption
    Au point de vue hardware je pense modifier l'ISIS pour récupéré les CS

    "Reconfigurer la clock du module SPI entre chaque communication SPI" serais une solution, mais va complexifier et alourdir mon programme

Discussions similaires

  1. Liaison spi
    Par invite59bcd9ab dans le forum Électronique
    Réponses: 2
    Dernier message: 01/02/2012, 17h33
  2. liaison SPI
    Par invited549592e dans le forum Électronique
    Réponses: 3
    Dernier message: 19/02/2010, 21h23
  3. Problème liaison SPI
    Par Pilou81 dans le forum Électronique
    Réponses: 15
    Dernier message: 21/01/2010, 19h25
  4. Utilisation de mémoire SPI sur une ligne SPI utilisé
    Par VIIV dans le forum Électronique
    Réponses: 1
    Dernier message: 30/12/2009, 13h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.