Concevoir avec flash discrète est 1/10ème du coûtutilise un beaucoup plus petit facteur de formeet nécessite significativement moins spécialisée matériel que d’utiliser des cartes SD.
Cet Instructable va vous montrer comment ajouter 1 Mo de mémoire flash externe discret à votre projet de microcontrôleur avec ce que je crois pour être le moins d’effort possible. C’est aussi une suite à mes autres Instructables enregistrement de données deux (un anémomètre et un accéléromètre 3 axes poignet) qui explique comment faire pour télécharger les données de la mémoire flash de logger en utilisant des applications de ligne de commande TTY séculaires dans Linux.
Motivation
Chaque fois que je construis un projet Arduino Atmel ATMega et j’ai besoin d’enregistrer des données, j’arrive presque toujours pour un seul SPI WinBond W25Q80BV puce de mémoire flash 1 Mo plutôt que d’une carte SD flash sous-système. Plusieurs raisons existent pour choisir un flash discrète puce sur un sous-système de la SD et vice versa, et vous devrez considérer ces compromis pour votre conception. La liste ci-dessous présente quelques compromis, sur que je pense à quand je dois décider si je veux utiliser une seule puce DIP 8 broches ou une solution de SD plein :
Complexité matérielle (choisir : discret)
One-way pour ajouter flash SD à un système d’Arduino est d’utiliser un bouclier, comme celui-ci par Seeed Studio (trois ' e) j’ai acheté à mon local Radio Shack pour 15 $. Boucliers offrent un confort pour le prototypage, l’Assemblée de la production finale n’ait pas le budget ou l’espace pour inclure le matériel SD. Un paquet DIP 8 broches d’une puce flash discrète est beaucoup plus facile de laisser tomber sur un protoboard qu’un bouclier de SD, en supposant que votre Conseil développement appuie même un bouclier.
Complexité du logiciel (choisir : discret)
Le sous-système de flash SD s’appuie généralement sur les bibliothèques de SDFat16/32. Alors que les périphériques sont une interface SPI, il est logique d’utiliser la graisse depuis n’importe quel PC/MAC peut ensuite lire cette carte. Ces bibliothèques sont grandes et peuvent occuper d’espace précieux d’EEPROM sur la plus petite des contrôleurs embarqués. Compatibilité et intégration dans votre environnement peuvent exiger de débogage considérable. Les logiciels nécessaires pour conduire une discrète puce de mémoire flash avec une interface SPI sont triviale et très petite, comme vous le verrez bientôt. Peut-être cela dit plus sur moi que les bibliothèques SDFat, mais je les trouve lourd pour travailler avec.
Capacité et portabilité (choisir: SD)
Victoires de flash SD grands ici, simplement pop dans une plus grande capacité de carte SD dans l’existant concevoir sans aucune modification. Discrètes SPI flash a limites de densité inférieures au format DIP 8 broches. La bibliothèque de SDFat signifie que n’importe quel PC/MAC peut lire les fichiers sur la carte.
Coût (choisir : discret)
Cartes SD, les prix varient considérablement et d’un bouclier flash SD, peuvent vous définir arrière 20 $- 30$. WinBond 1Mo puces coûtent environ 2 $ de Mouser ou Digikey.
Alimentation (choisir : discret)
Besoins en énergie de flash dépendent le fabricant, lot de production, dispositif densité et technologie transformatrice. Les cartes SD sont généralement cheftaine de fuite en raison de la densité plus élevée et la cheftaine dynamique en raison de l’accès supérieur vitesse. Les puces WinBond, que je me concentre sur dans ce Instructable nécessitent très peu courant, 6uW veille, 60mW page programme et 60mW puce effacer. Je n’ai pas pu trouver les données de puissance sur les cartes SD ultra rapides haut de gamme, mais la vitesse d’écriture est d’environ 100 fois celui de la WinBond. Puissance dynamique est proportionnelle à la fréquence, je ne peux pas imaginer pouvoir serait moins.
Vitesse (choisir: SD)
Je n’ai pas eu besoin de performances en écriture mémoire flash très rapide, mais SD flash se décline en plusieurs UGS de produit différent basés sur la vitesse, surtout en raison de (les exigences de la photographie numérique) et l’utilisation des formats d’image raw. Les puces WinBond SPI ne peut pas vraiment comparer : page programme vitesse est 0.7ms de 256 octets, qui se traduit par 0,360 MB/s, ce qui est 100 x plus lent que le plus rapide des cartes Micro SD équipe Corp. à ~ 40 Mo/s. Je soupçonne qu’ils ont plusieurs périphériques ou tableaux d’écriture en parallèle pour atteindre ces vitesses.
Alors que cette analyse très probablement représente mes propres préjugés paresseux, je trouve ma marque de paresse d’être assez prolifique. Cela étant dit, l’un de ces vecteurs peut-être être plus important pour votre projet, mais mon but ici est de crier les compromis et puis illustrer la simplicité de cette merveilleuse puce de mémoire flash. (Et je n’ai pas encore discuté à l’aide de puces flash parallèle de plus grandes capacité).