Forums - Tous les messages
Forums - Tous les messages
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 
   Tous les messages (Scorbo)

 Bas   Précédent   Suivant

(1) 2 3 4 »


MC9S08 et SD card FAT32
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Bonjour à tous,

Pour un projet professionnel, je recherche une librairie permettant d'écrire et de lire sur une SD card de 8Go avec une MC9S08 (ou autre si ça n'existe pas pour ceux-ci). Je sais que ça existe pour les #.IC# 8 bits donc pourquoi pas pour les MC9S08.
J'ai écarté les #.IC# car je dois avoir 5 entrées en capture détectant un front descendant et à priori ils ne le font pas alors que le MC9S08DZ60 (par exemple) le fait.

Merci d'avance.

Posté le : 04/03/2010 09:33
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Bonjour à tous (après un an... )

Après mettre exercer avec les #.IC#18F je reviens sur mon cher et tendre mc9s08 et son oscillateur.
Si on prend la datasheet la fréquence du bus devrait être à 8Mhz au lieu de 4MHz puisque par défaut c'est l'horloge interne qui est sélectionnée puis multiplié par 1024 par la FLL (soit 32MHz), et BDIV divise le tout par 2 (par défaut) donnant MCGOUT à 16MHz et FBus est toujours la moitié de MCGOUT soit 8MHz.

D'après les différents modes de fonctionnement de l'horloge proposé il n'est pas possible d'utiliser l'horloge interne avec la PLL, à aucun moment on trouve IREFS=1 et PLLS=1. D'accord on ne pourrait monter qu'à 32Khz*40 = 1.28MHz mais ça pourrait être suffisant dans certains cas. Est-ce impossible ?

ybourne tu as dis : "Il y a possibilité d'utiliser l'oscillateur interne suivi de la PLL interne pour atteindre ces fameux 20MHz.", mais je ne vois pas comment atteindre cette fréquence avec l'horloge interne ?

Merci

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


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Je conçois l'idée mais ça ne veut pas fonctionner.

Voilà ma fonction d'envoi :
void SPI_send(char v) {
while(SPIS_SPTEF == 0); // wait flag write
SPID = v; // data to transmit
while(SPIS_SPRF == 0); // wait flag read
}

Ce n'est pas exactement ce que préconisait Yvan mais l'idée est la même. Le problème est toujours le même : aucun changement de la tension de sortie sauf si je remet ma tempo :-/

Posté le : 01/06/2009 20:50
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
C'est exactement ce que j'ai fait (petite tempo entre les deux actions). Dans mon cas ça ira très bien.

La fréquence SPI est bien de 4MHz, il se base sur la fréquence du bus interne qui est de 8MHz par défaut, puis divisé par 2 par le module SPI (encore par défaut) on obtient 4MHz.

Merci à tous

Posté le : 31/05/2009 11:20
Transférer la contribution vers d'autres applications Transférer


[résolu] Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Le problème était tout simplement que le dernier mot envoyé par SPI n'était pas encore complètement envoyé que je remontais déjà la broche de validation.

Posté le : 31/05/2009 10:47

Edité par Scorbo sur 31/05/2009 11:16:15
Edité par Scorbo sur 31/05/2009 11:19:03
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
J'y ai également pensé, mais le breakpoint est placé juste après la remontée du CS.

Je n'ai pas mon prog sous la main mais de tête c'est :

for(i=0; i<0xFF; i+=0x10) {
PTBD_PTBD0 = 0;
SPI_send(0x00);
SPI_send(i);
SPI_send(0x00);
PTBD_PTBD0 = 1;
asm("nop");
}

void SPI_send(unsigned char val) {
while(SPIS_SPTEF == 0);
SPID = val;
}


J'ai mis le breakpoint sur l'instruction assembleur (nop) donc après la remontée.

Posté le : 27/05/2009 10:27
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
N'ayant pas d'oscillo à ma disposition je ne peux pas vérifier, j'ai bien pensé à acheter un petit boitier faisant office d'oscillo à connecter sur port USB à un ordi avec un logiciel mais payer 200€ pour un instrument ayant peu souvent l'utilité j'hésite...

Si c'est bien 4MHz alors je ne comprends pas pourquoi CodeWarrior marque FBus 32MHz dans la configuration du device ? Faudra que je me penche plus sérieusement sur la question...

Sinon j'ai une nouvelle question concernant la fréquence de fonctionnement (du moins à priori) :
J'ai un petit programme pour tester la communication SPI avec un DAC. Lorsque j'exécute les lignes du programme en pas à pas l'information SPI est bien reçu par le composant (un AD5060) et je constate bien que la tension de sortie change (j'ai quand même un voltmètre Mais lorsque je place un break point juste après l'envoie de la commande SPI et que je dis au programme de s'exécuter, il tourne puis s'arrête au breakpoint mais la tension de sortie ne change pas, comme s'il n'avait pas reçu l'ordre. Est-ce que ça pourrait venir de la vitesse d'exécution du programme ?

Merci

Posté le : 27/05/2009 09:48
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Ok, mais est-ce que mon raisonnement est exact : est-ce bien 16MHz la fréquence de bus dans mon cas ?

Posté le : 19/05/2009 20:29
Transférer la contribution vers d'autres applications Transférer


Re: Oscillateur interne/externe
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
Bonjour,

Maintenant que j'ai tout le matériel et que la carte semble fonctionnée (PORTA, B et E ont été vérifiés), je dépoussière un peu mon ancien post.

Après lecture de la documentation j'ai constaté plusieurs mode pour l'horloge (FEI, FEE, FBI, FBE...). Sachant que je n'ai pas mis de quartz externe, ça limite les modes. De plus si j'ai bien tout compris le mode par défaut est le FEI soit une fréquence interne d'environs 31.25Khz, la FLL la multipliant par 1024 ça donne une fréquence d'horloge de 32MHz et donc une fréquence de bus de 16MHz, est-ce que je me trompe ?

L'horloge de la SPI se base sur la fréquence d'horloge ou celle du bus (ou encore : le registre SPIBR agit sur les 32MHz ou les 16MHz) ?

Merci.


PS : Bien sûr je ne poserai pas toutes ces questions si j'avais un oscilloscope sous la main et même si parfois ça me manque j'ai toujours réussi à débugger mes cartes sans

Posté le : 19/05/2009 09:27
Transférer la contribution vers d'autres applications Transférer


Re: Communication failed openBDM
Intéressé
Inscrit:
20/02/2009 19:41
Messages: 32
Hors Ligne
C'est la même protection que pour les #.IC# ?
Bien que j'ai prévu la place pour mettre en quartz, je ne l'ai pas encore souder.

Posté le : 15/05/2009 09:14
Transférer la contribution vers d'autres applications Transférer



 Haut
(1) 2 3 4 »




Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Forums - Tous les messages