Lire et écrire sur une mémoire flash (NAND) USB ou SD ?

Bonjour,

Pour plus de détails, regarde les schémas de notre shield Mémoire : http://shop.snootlab.com/powerduino/86-memoire.html
Rubrique "Télécharger", et tu verras sur les schémas qu'il n'y a besoin que de 4 signaux, et 6 résistances, pour faire un adaptateur de niveaux en ponts diviseurs :slight_smile:

En espérant t'avoir aidé,

Bonne journée !


Stéphane.

Si tu veux utiliser une carte SD te casse pas la tête :
http://www.watterott.com/de/MicroSD-card-breakout-board-v1

ou si tu veux faire un truc "pro": un CD4050, un régulateur 3v3 et un support de carte SD.
Et si tu veux pas faire "pro": quelques résistances, un pont diviser 5v -> 3v3 bien calculé et un support de carte SD :slight_smile:

Merci skywodd, je dois faire prochainement une commande d'un capteur que je n'ai trouvé que chez roboshop, donc je commanderais celui ci en même temps :

http://www.robotshop.com/eu/productinfo.aspx?pc=RB-Ada-12&lang=fr-CA

Si tu veux une version "grosse" carte SD (pas micro SD) il en ont une chez robotshop justement :
http://www.robotshop.com/eu/blindage-carte-sd-dfrobot-8.html

Ah oui, effectivement c'est exactement ce dont j'ai besoin, j'ai des cartes SD "normales" ainsi qu'un lecteur USB pour ce type de cartes.

Avec les microSD ça l'aurait moins bien fait XD

J'ai tilté juste après avoir posté ma réponse :sweat_smile: j'ai trop l'habitude d'utiliser des micro SD ...

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 :wink:

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 :blush:

Donc j'attends de faire ma commande.... XD

Yep!

J'essairais demain au taff.

@+

Zoroastre.

Il utilise la version pas pro :astonished: ... les bourrins ... un CD4050 cms sa coute pourtant pas chère ...

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 ??

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.

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 :slight_smile:

Bonne journée,


Stéphane.

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.

74LCX245.jpg

Yep!

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.

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 ?

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).

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 :

const int chipSelect = 4;

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

@+

Zoroastre.

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

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...)