Go Down

Topic: Lire et écrire sur une mémoire flash (NAND) USB ou SD ? (Read 6781 times) previous topic - next topic

skywodd

J'ai tilté juste après avoir posté ma réponse :smiley-sweat: j'ai trop l'habitude d'utiliser des micro SD ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Jean-François

Autrement j'ai trouvé un support sdcard dans une de mes épaves d'appareil photos... je sens que je vais tenter la solution pas pro  XD.

Juste en passant, dans l'appareil photos... c'est la version pas pro qu'ils emploient   ;)
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Jean-François

Impossible de communiquer avec cette carte SD... je ne suis pas sur de ne pas avoir endommagé  le support de carte en le démontant  :smiley-red:

Donc j'attends de faire ma commande....  XD
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa


skywodd

Il utilise la version pas pro :smiley-eek: ... les bourrins ... un CD4050 cms sa coute pourtant pas chère ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

olivbout

c'est clair la carte SD vas cramée...
A propos du CD4050, est que les broches de sortie de SD doivent aussi passer dans le 4050 ? est ce qu'il sert aussi "d'ampli"... ou es se que l'arduino va comprendre le 3V3... ???
J'ai aussi entendu que le simple ajout d'une résistance de 2k suffisait ??

skywodd

Le CD4050 est une simple porte 'oui', en l'alimentant en +3v3 ses sorties auront deux états: 0v ou 3v3, mais ses entrées sont tolérantes au +5v même si le CI est alimenté en 3v3.
Donc en gros :
Arduino 5v -> CI -> SD 3v3 (pour le SE, CLK, MOSI)
Arduino 5v <- SD 3v3 (pour le MISO)

Quand la carte SD envoi du 3v3 à l'arduino celui ci le vois comme un "1" logique car 3v3 est supérieur au seuil différenciant un "0" d'un "1".
Quand l'arduino envoi du 5v le CD4050 prend sur lui pour résisté et sort du 3v3 coté carte SD.

Le best quand on a un CD4050 c'est de mettre une des lignes 'oui' "à "l'envers" pour faire du 3v3->3v3, SD->arduino (MISO), comme ça en cas de probléme, la SD est protégé par le CD4050 et l'arduino aussi.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Snootlab

Bonjour,

Ouch, j'avoue que ne même pas passer par un pont de R n'est pas spécialement sage !
Il serait intéressant de comparer les MTBF entre une adaptation de niveau et un branchement direct :)

Bonne journée,

-----
Stéphane.
- Distributeur officiel Arduino - France

al1fch

#23
Oct 20, 2011, 12:06 pm Last Edit: Oct 20, 2011, 12:20 pm by al1fch Reason: 1
Bonjour
Je partage les avis conseillant fortement le passage par un circuit intégré d'adaptation de niveau !!
Pour moi les solutions sont , des plus recommandables aux moins recommandables :

n°1 : 74LCX125 ou 74LCX245 (famille logique actuelle 'conçue pour', permettant d'assurer la fonction dans les meilleure conditions de sécutrité et de vitesse)

n°2 :4050 en cas de difficulté d'approvisionnement des LCX ou  en cas de difficulté de soudage (existe en boitier DIP)

n°3 : pont diviseur.

zoroastre

#24
Oct 20, 2011, 06:08 pm Last Edit: Oct 22, 2011, 07:41 am by zoroastre Reason: 1
Yep!

Quote
c'est clair la carte SD vas cramée


Bon, elle n'a pas cramée OUF !!! Mais le cablage précité n'a pas fonctionné chez moi (je suis peu surpris en fait).

Je me suis donc rabattu sur la solution du pont diviseur, associé à la bibliothèque SDuFAT avec réussite.

Cela reste à éprouver avec le temps, mais je vais certainement utiliser cette methode pour mon projet.



Par contre, il me semble qu'il n'est pas possible de retirer la MicroSd de l'adaptateur sans provoquer le reboot de l'arduino. Il faut donc implémenter au shema une led et un switch NF. Je reverifierais cet aspect demain...
 
@+

Zoroastre.
Gné! ;)

Jean-François

#25
Oct 21, 2011, 09:23 pm Last Edit: Oct 26, 2011, 04:06 pm by Jean-François Reason: 1
Je viens de faire quelques essais avec SDuFAt, mon montage SD ne fonctionne vraiment pas  XD, mais je m'attendais à ça.

Ce qui me semble plus étrange, c'est qu'avec une Méga (sans la SD branchée) si j'appelle "H", le help s'affiche, avec une Duemilanove (atmega168) la page reste blanche.

D'où ma question, cette librairies fonctionne t'elle avec toutes les cartes ?
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

skywodd

Moi j'utilise sdfatlib:
http://code.google.com/p/sdfatlib/
elle marche sur les cartes arduino "classique" avec un ATmega 328 ou 168, après j'ai jamais testé avec une mega ...

Mais c'est bizarre tu devrait avoir le résultat inverse, à savoir le menu help sur la Duemilanove et rien sur la mega en toute logique ... ou alors c'est un librairie spécial mega ? (ou un manque de ram -> fort possible avec un ATmega168).
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

zoroastre

Yep!

Pour l'instant, j'effectue mes tests sur une 368 et changé de bibliothèque pour la sdfatlib également.

J'avais avec SDuFAt quelques soucis lorsque j'ai tout simplement voulu utiliser mon propre fichier avec un nom tout autre que 'hola.txt'. Cette bibliothèque manque cruellement de souplesse car le fichier doit être formaté pour recevoir des données...(en outre 'hola.txt' est aussi rappelé ligne 453 SDuFat.cpp dans la fonction append ???)

Sur mon At368, l'une ou l'autre des bibliothèques me mange au moins 50% de l'espace prog, ces bibliothèques sont lourdes c'est un fait !!!

J'ai donc repris le montage précedent puis déplacé le pin 10 au pin 4 de l'arduino, et déclaré dans mon code :

Code: [Select]
const int chipSelect = 4;

La librairie SdFatlib est beaucoup plus interessante et je m'en vais la tester sur ma mega...

@+

Zoroastre.
Gné! ;)

Jean-François

#28
Oct 23, 2011, 08:12 pm Last Edit: Jan 29, 2012, 07:55 pm by Jean-François Reason: 1
J'ai trouvé un schéma avec un TC74LCX125 et un Arduino mais pour autre chose qu'une carte SD, je l'ai modifié pour celle-ci, est il correct ?



Est ce que dans cette liste il y a un équivalent au TC74LCX125 ?

Liste
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

al1fch

#29
Oct 23, 2011, 09:22 pm Last Edit: Oct 23, 2011, 10:07 pm by al1fch Reason: 1
Bonsoir

Le schéma me parait bon.
Il peut être intéressant comme içi de faire passer le retour (MISO SD->micro) par un buffer validé uniquement quand c'est utile. (les XX125 le permettent, pas les HC4050)
Par contre je ne rappelle plus si le pull-up sur la sortie MISO de la carte est nécessaire içi

Comme remplaçant le plus proche  (rapide et tolérant 5V en entrée) il y a le 74AHC125 (utilisé par Adafruit sur certains shields)....pas sur la liste Distrilec....

Les LVC125 me paraissent  OK sur la liste :
-fonctionnent sous 3,3V avec un maxi à 3,6V
-tolèrent 'officiellement' 5,5V sur une entrée
-sortie CMOS garantissant 3V à l'état haut, OK pour entrée Arduino sous 5V
-rapide ! (tp=3,3ns)

le reste est plutôt déconseillé 125, LS125, HC125 , HCT125 et ABT125 .

(Pour les '4050' le  HC4050 reste une bonne solution mais peut être pas tout à fait assez rapide pour des cartes SDHC que l'on chercherait à pousser en vitesse...)

Go Up