problème de SPI avec MC9S08DZ128 [Forums - HC908 et S08]
problème de SPI avec MC9S08DZ128 [Forums - HC908 et S08]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



(1) 2 3 4 »


problème de SPI avec MC9S08DZ128
Régulier
Inscrit:
21/05/2010 10:14
Messages: 68
Hors Ligne
Bonjour,
pour la première fois, je dois utiliser le SPI. J'ai essayé de faire dialoguer un MC9S08DZ128 (master) avec un MC9S12XEP100 (slave).
J'ai les bons signaux sur SCK, MOSI et SS. Mais le 16bits ne reçoit jamais rien. J'ai utilisé le code généré par Processor Expert.
J'ai oublié quelquechose ??

Merci d'avance de vos réponses.

Posté le : 22/10/2010 12:00
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
salut,

mets un scope et vérifie que les trames sont bien émises.

Jacques

Posté le : 22/10/2010 12:56
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Régulier
Inscrit:
21/05/2010 10:14
Messages: 68
Hors Ligne
bonjour et merci.
j'ai effectivement vérifié au scope et ca me permet d'affirmer que les trames sont bien formées et émises. j'ai essayé avec différentes périodes aussi.
je ne sais pas vraiment où chercher les erreurs.
j'ai ajouté du code dans le 16 bits : lors d'une interruption sur le SPI, il exécute SS1_OnRxChar(). j'ai donc mis de lire le caractère reçu et si c'est bien celui que j'envoie alors j'allume une led. Mais il n'y a jamais d'interruption.
de plus, j'observe le registre où se mettent les données reçues, j'ai arrêté le debug à plusieurs moments et je n'ai jamais rien dans le registre.
en fait, mon but est de faire dialoguer le HCS08 avec un écran. j'avais bien mes trames au scope aussi. mais mes commandes n'étaient prises en compte que chaque 8 reset et envois de mon micro. pensant que ca venait de mon programme, j'ai donc essayé de faire communiquer 2 micros. mais ca ne fonctionne pas du tout.
je ne comprends pas vraiment d'où cela peut venir.

Posté le : 22/10/2010 14:26
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Salut.
Porte attention au configuration de la clock spi.
CPOL ET CPHA doivent être les même entres master et slave
idem pour le baudrate...
apres, met de variable de debug pour "voir" le contenue des data échangé...
MSB first ou LSB first? ;)

Posté le : 23/10/2010 00:56
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Régulier
Inscrit:
21/05/2010 10:14
Messages: 68
Hors Ligne
Bonjour,
je suis revenu à la communication entre le 8bits et l'écran.
j'ai mis MSB first, comme ce que j'ai mis dans l'écran et CPOL = 0 et CPHA = 0. j'ai mis une période de 8µs puis j'ai essayé 20 mais sans meilleurs résultats. la doc dis de mettre plus de 4µs.
j'ai essayé plusieurs valeurs de CPHA et CPOL pour voir si c'est mieux : avec CPOL = 1, ca ne fonctionne jamais. par contre ca fonctionne pareil avec CPHA = 0 ou 1.
en fait, pour que la commande que j'envoie soit exécutée, je dois lancer mon programme, puis une fois que je sais que la commande a été envoyée, je reset et je relance. et je fais ca 8 fois. la 8ème fois, ma commande est exécutée. et si je veux envoyer une autre commande, c'est pareil, je lance et je reset 8 fois.
comment peut-on expliquer ca ?

merci encore

Posté le : 25/10/2010 09:53
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Régulier
Inscrit:
21/05/2010 10:14
Messages: 68
Hors Ligne
alors j'ai du progrès...
j'ai réussi à ne pas avoir besoin de faire un reset et de relancer le programme entre chaque envoi de trame... les étapes sont maintenant :
- envoi d'une trame de commande
- attente que le buffer d'émission soit vide
- tempo
- changement de l'état au repos de la clock -> état haut au repos
- changement de l'état au repos de la clock -> état bas au repos
- envoi de la même trame de commande
...
et toujours 8 fois.
sans faire ce changement pour l'état de la clock au repos, je dois toujours faire un reset.

de plus, j'ai remarqué que le LCD renvoi des données sur MISO : c'est un bit qui n'est jamais au même endroit (parfois j'ai donc 0x01, ou 0x04, ou 0x20...) alors que normalement le LCD ne répond que si je lui envoi une commande pour lire ce qu'il a à dire (un ACK fait 0x06)

j'ai essayé de recevoir l'ACK, il faut d'abord envoyer une commande pour savoir combien d'octets il a à envoyer : elle est du style 0xAA 0x02 0x00 0x00 et le LCD doit répondre (sur le dernier octet) le nombre d'octets qu'il a. mais le LCD répond n'importe où et n'importe quoi...

je n'arrive pas à savoir si ces bugs proviennent de mon programme ou du LCD ou d'un problème de compatibilité...

Posté le : 25/10/2010 17:04
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Oulaaaa....
bon premier point, regarde la datasheet de ton écran LCD...concernant les chronogramme de la clock SPI...
Lors du "milieu" d'une data MOSI (ou DI), la clock SPI est sur un front montant ou descendant ?
Si il n'y a pas de data, la clock est à quel niveau logique?

Ensuite, dans cette même data sheet, il doit y a voir d'inscrit le Baudrate (1/2/4/8MHz)...quel en est sa valeur?

Une fois que tu as ces éléments, tu peux configurer CPOL/CPHA/baudrate/prediviseur de busclock... ha oui, et le data size (8 ou 16bits ^^)

Ensuite, pour la comm:
1) tu switch le CS (ou SS) qui peut-être CS* (c'est à dire actif à zéro).
2) tu send le message
3) tu re-switch le CS (pour désactiver la comm avec le périph)


NOTE: pour la config du CPOL/CPHA:
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
ya un jolie chronogramme ^^

NOTE 2 : si tu pouvais nous faire un lien vers la datasheet de ton LCD...

Posté le : 25/10/2010 21:05
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Régulier
Inscrit:
21/05/2010 10:14
Messages: 68
Hors Ligne
oui justement voila : http://www.demmel.com/download/ilcd/spi_appnote.pdf concernant la comm SPI avec le LCD. et voici : http://www.demmel.com/download/ilcd/dpp-ctp3224-specification.pdf concernant le LCD.
dans la config du LCD j'ai mis CPOL = 0 et CPHA = 0 et c'est écrit Clock active High, data sampled on rising edge. et MSB first.
je ne sais par contre par où configurer ou bien trouver le baudrate (sauf si c'est celui que j'ai dans le petit programme soit 115200) ni le data size (d'ailleurs je le configure où pour mon micro ?)
merci beaucoup de votre aide

PS : j'ai remarqué dans processor expert que lorsque je sélectionne rising edge, il me met CPHA = 1...

Posté le : 26/10/2010 11:18
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
le baudrate, c'est pour configurer la rs232, pas la spi.

A+

Posté le : 26/10/2010 12:28
Transférer la contribution vers d'autres applications Transférer


Re: problème de SPI avec MC9S08DZ128
Modérateur
Inscrit:
24/09/2005 13:30
De 04110 - VACHERES- FRANCE
Messages: 1495
Hors Ligne
Si Jacques, c'est aussi pour la SPI...
Le baud rate est exprimé en bits / seconde. C'est donc aussi applicable à la SPI.
D'ailleurs, on peut le voir dans le nom du registre de configuration de la clk SPI : "SPBR".
Yvan

Posté le : 26/10/2010 13:13
Le houblon, c'est bon pour la récupération.
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
(1) 2 3 4 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

problème de SPI avec MC9S08DZ128 [Forums - HC908 et S08]