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

Arduino et ic cdp68hc68p1



  1. #1
    philouxy

    Arduino et ic cdp68hc68p1

    Bonsoir à tous,

    Je vous expose mon problème sur un projet sur lequel je suis entrain de bosser un peu :

    J'ai plusieurs IC CDP68HC68P1 (http://www.intersil.com/content/dam/...dp68hc68p1.pdf) qui traînent chez moi et dont je voulais tester leurs fonctionnalités avant de pouvoir les utiliser pour des projets plus concret. Je me suis dit que j'allais créer un banc de test à IC, ce qui me permettrait de voir ou revoir la liaison SPI et d'autre chose aussi.

    J'ai utilisé une petite board arduino UNO, utiliser la librairie SPI sous arduino pour communiquer avec cet IC
    Les entrées / sorties de l'IC je les ai reconnectés sur le port PD de la carte ARDUINO (http://arduino.cc/en/uploads/Main/ar...-schematic.pdf).

    J'ai aussi réalisé le code (pour l'instant que la partie écriture sur l'IC => donc les I/O sont déclarée en sortie) - voir le code en annexe
    J'ai aussi créer un projet GITHUB pour ce que ca vous intéresse de le compléter : https://github.com/philouxy/arduino_IC68HC68P1

    Après toute cette doc, et explication très succincte, voici mon problème, apparemment quand je configure mon IC (com SPI) et que je veux écrire sur mes sorties (sur l'IC CDP68HC68) que ce soit à 1 ou à 0, rien ne se passe, aucun changement, j'ai testé sur plusieurs IC différents... toujours le même résultat.

    Donc je me dis que ca doit être mon code, mais la je suis un peu perdu, donc ci vous avez des idées, suggestions, je suis preneur de tout.

    En tout cas, merci de me lire

    Amicalement - Le cht'y Philou

    -----

    Fichiers attachés Fichiers attachés

  2. Publicité
  3. #2
    DAUDET78

    Re : Arduino et ic cdp68hc68p1

    ID0 et ID1 sont à quel potentiel ?
    Tu charge les sorties avec quoi ?
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  4. #3
    philouxy

    Re : Arduino et ic cdp68hc68p1

    Bonsoir à tous,

    Merci Daudet pour tes questions, je vais essayer d'y répondre :

    ID0 et ID1 sont à quel potentiel ?
    à 0V -> j'ai meme essayer de changer mes ID, même phénomène

    Tu charge les sorties avec quoi ?
    d'abord j'ai directement connecté mes sortie sur le ports D de l'arduino => a lecture du port sur l'arduino, je retrouve mes sorties à 0V. J'ai configurer la pull up interne sous le port D de l'arduino, ici le port D voyait un état 1. J'ai connecté aussi des pull up de 10k sur les sorties, ici aussi je trouve mes sortie à l'état 1.

  5. #4
    DAUDET78

    Re : Arduino et ic cdp68hc68p1

    Citation Envoyé par philouxy Voir le message
    d'abord j'ai directement connecté mes sortie sur le ports D de l'arduino => a lecture du port sur l'arduino, je retrouve mes sorties à 0V. J'ai configurer la pull up interne sous le port D de l'arduino, ici le port D voyait un état 1. J'ai connecté aussi des pull up de 10k sur les sorties, ici aussi je trouve mes sortie à l'état 1.
    Donc il y a de multiples causes de problème dans ta chaine de mesure !

    Je commencerai par supprimer la lecture par le µC. Il est tellement plus simple de mettre un voltmètre sur la broche de sortie et de lire 0V ou 5V !

    On peut aussi rajouter un diviseur de tension 10K et 10K entre la 5V et le 0V et relier le point milieu à la broche du circuit
    • On lit 0V : c'est une sortie à "0"
    • On lit 2,5V : c'est une sortie en TriState ou une entrée
    • On lit 5V : c'est une sortie à "1"


    PS : une lecture avec un oscilloscope est préférable car si on a une sortie avec un carré à 1Khz ..... on lit aussi 2,5V
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  6. #5
    DAUDET78

    Re : Arduino et ic cdp68hc68p1

    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  7. A voir en vidéo sur Futura
  8. #6
    philouxy

    Re : Arduino et ic cdp68hc68p1

    Merci j'ai juste regardé en vitesse, super intéressant tes conseils, je regarderai avec plus de concentration ce soir

    Amicalement - Philou

  9. Publicité
  10. #7
    philouxy

    Re : Arduino et ic cdp68hc68p1

    Bonsoir à tous,

    J'ai suivi les conseils de DAUDET, et je me suis aperçu que rien ne bougeait, pour moi ca voulait dire que ma connexion SPI était foireuse. Donc je me suis replongé plus en détails dans le datasheet du CDP68HC68P1 (voir sur le poste 1 et voir la page 5), plus exactement le mode de lecture du SPI par l'IC.

    A l'aide d'un oscillo, je me suis aperçu que mes datas (MOSI) étaient en avance par rapport à ma SCK (clock). J'ai à nouveau lu la doc de l'arduino et la liaison SPI (voir les deux liens ci-dessous).

    -> SPI - Config
    -> Explication SPI - WIKI

    Lors de la config que j'ai écrit dans la fonction : Init_Chip_SPI, j'ai mal configurer le SPI_MODE, a ma décharge j'ai confondu les deux tableaux mis en exemple dans le wiki -> c'était SPI_MODE1 ou lieu de SPI_MODE0

    nouvelle config :

    Code:
      //--- configuration of side (rising or ebbing) on SCK signal ---//
      SPI.setDataMode(SPI_MODE1);      //  rising edge - CPOL 
                                       // activation of start SCK - CPHA
    J'ai encore des bugs mais maintenant je vois mes sorties bougés, ca vit :smiley-mr-green:

    Voilà pour les dernières infos.

    Amicalement - Philou

  11. #8
    philouxy

    Re : Arduino et ic cdp68hc68p1

    Bonjour à tous,

    Toujours sur mon projet de Testeur d'IC, j'ai un nouveau problème, c'est fois sur la partie affichage - interface utilisateur - donc liaison série

    La valeur de "byte_conf" dont je veux afficher la valeur, sur l'interface utilisateur me donne toujours la même valeur : 0x FFFFFFFF alors que j'ai une variable de 8bit : et ça que je la mette en binaire, en hexa, ca ne change rien... Je ne comprends pas pourquoi

    voir code ci-dessous:
    Code:
    byte_conf_IO = 0b11111111;  // 0xFF //TB_CONFIG_PORTS[0];  
    ...
     
    Message_Console(0, byte_conf_IC_PORT, byte_conf_IO); 
    .... 
     
    void Message_Console(char select, char conf, char msg)
    {
      switch(select)
      {
        case 0:
           Serial.println("--- Configuration I/O for IC CDP68HC68P1 in OUTPUT ---");
           Serial.print("=> Configuration Byte for PORTS : 0x");  
           Serial.println(conf, HEX);
           Serial.print("=> Configuration port I/O : 0x"); 
           Serial.println(msg, HEX);
        break; 
    ....


    Comme d'hab si vous avez une idée, suggestion, ou autre je suis preneur

    Amicalement - Philou

  12. #9
    philouxy

    Re : Arduino et ic cdp68hc68p1

    Bonsoir à tous,

    Alors si jamais j'arrive à peu près à ce que je veux, à part quelque problème d'affichage, mais pour l'instant je fais avec :kez_11:
    J'ai mis à jour le projet sous Github pour ceux qui veulent participer ou s'inspirer : https://github.com/philouxy/arduino_IC68HC68P1

    Voilà pour les infos. Je reviendrai surement pour des infos ou de nouvelles demandes

    Amicalement - Philou
    Fichiers attachés Fichiers attachés

Sur le même thème :

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. Arduino
    Par guillaumedu81 dans le forum Électronique
    Réponses: 7
    Dernier message: 08/09/2014, 13h27
  3. arduino
    Par mahdhaouiridha dans le forum Électronique
    Réponses: 7
    Dernier message: 14/04/2014, 01h45
  4. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  5. Arduino
    Par Digitall dans le forum Électronique
    Réponses: 8
    Dernier message: 17/03/2010, 11h49